diff --git a/HeroCTF_icon_500.png b/HeroCTF_icon_500.png new file mode 100644 index 0000000..f091318 Binary files /dev/null and b/HeroCTF_icon_500.png differ diff --git a/misc/free_shell.py b/misc/free_shell.py new file mode 100644 index 0000000..4557934 --- /dev/null +++ b/misc/free_shell.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 +import os +import subprocess + + +print("Welcome to the free shell service!") +print("Your goal is to obtain a shell.") + +command = [ + "/bin/sh", + input("Choose param: "), + os.urandom(32).hex(), + os.urandom(32).hex(), + os.urandom(32).hex() +] +subprocess.run(command) \ No newline at end of file diff --git a/web/complainio/complainio.tar.xz b/web/complainio/complainio.tar.xz new file mode 100644 index 0000000..ea42c2a Binary files /dev/null and b/web/complainio/complainio.tar.xz differ diff --git a/web/pryzes/.idea/.gitignore b/web/pryzes/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/web/pryzes/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/web/pryzes/.idea/inspectionProfiles/profiles_settings.xml b/web/pryzes/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/web/pryzes/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/web/pryzes/.idea/misc.xml b/web/pryzes/.idea/misc.xml new file mode 100644 index 0000000..ef58c0c --- /dev/null +++ b/web/pryzes/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/web/pryzes/.idea/pryzes.iml b/web/pryzes/.idea/pryzes.iml new file mode 100644 index 0000000..55c34aa --- /dev/null +++ b/web/pryzes/.idea/pryzes.iml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/web/pryzes/PrYzes.zip b/web/pryzes/PrYzes.zip new file mode 100644 index 0000000..a21ee63 Binary files /dev/null and b/web/pryzes/PrYzes.zip differ diff --git a/web/pryzes/PrYzes/Dockerfile b/web/pryzes/PrYzes/Dockerfile new file mode 100644 index 0000000..754f8a2 --- /dev/null +++ b/web/pryzes/PrYzes/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.12-bookworm + +WORKDIR /app + +COPY src/ /app/ + +RUN python3 -m pip install Flask + +CMD ["python3", "/app/app.py"] \ No newline at end of file diff --git a/web/pryzes/PrYzes/src/app.py b/web/pryzes/PrYzes/src/app.py new file mode 100644 index 0000000..1d923cc --- /dev/null +++ b/web/pryzes/PrYzes/src/app.py @@ -0,0 +1,47 @@ +from flask import Flask, render_template, request, jsonify + +import hashlib +import json +from os import getenv +from datetime import datetime + + +app = Flask(__name__) +FLAG = getenv("FLAG", "Hero{FAKE_FLAG}") + +def compute_sha256(data): + sha256_hash = hashlib.sha256() + sha256_hash.update(data.encode("utf-8")) + return sha256_hash.hexdigest() + +@app.route("/", methods=["GET"]) +def index(): + return render_template("index.html") + +@app.route("/api/prizes", methods=["POST"]) +def claim_prizes(): + data = request.json + date_str = data.get("date") + received_signature = request.headers.get("X-Signature") + + json_data = json.dumps(data) + expected_signature = compute_sha256(json_data) + + if not received_signature == expected_signature: + return jsonify({"error": "Invalid signature"}), 400 + + if not date_str: + return jsonify({"error": "Date is missing"}), 400 + + try: + date_obj = datetime.strptime(date_str, "%d/%m/%Y") + if date_obj.year >= 2100: + return jsonify({"message": FLAG}), 200 + + return jsonify({"error": "Please come back later..."}), 400 + except ValueError: + return jsonify({"error": "Invalid date format"}), 400 + + +if __name__ == "__main__": + app.run(debug=False, host="0.0.0.0", port=5000) diff --git a/web/pryzes/PrYzes/src/static/css/tailwind.min.css b/web/pryzes/PrYzes/src/static/css/tailwind.min.css new file mode 100644 index 0000000..7dcf03d --- /dev/null +++ b/web/pryzes/PrYzes/src/static/css/tailwind.min.css @@ -0,0 +1 @@ +/*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com *//*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::after,::before{box-sizing:border-box}html{-moz-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:-moz-focusring{outline:auto}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::after,::before{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus-within\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus-within\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.inset-auto{top:auto;right:auto;bottom:auto;left:auto}.inset-px{top:1px;right:1px;bottom:1px;left:1px}.inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.-inset-0{top:0;right:0;bottom:0;left:0}.-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.-inset-2{top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.-inset-3{top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem}.-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.-inset-0\.5{top:-.125rem;right:-.125rem;bottom:-.125rem;left:-.125rem}.-inset-1\.5{top:-.375rem;right:-.375rem;bottom:-.375rem;left:-.375rem}.-inset-2\.5{top:-.625rem;right:-.625rem;bottom:-.625rem;left:-.625rem}.-inset-3\.5{top:-.875rem;right:-.875rem;bottom:-.875rem;left:-.875rem}.inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.inset-full{top:100%;right:100%;bottom:100%;left:100%}.-inset-1\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.-inset-1\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.-inset-2\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.-inset-1\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.-inset-2\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.-inset-3\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.inset-x-0{left:0;right:0}.inset-x-1{left:.25rem;right:.25rem}.inset-x-2{left:.5rem;right:.5rem}.inset-x-3{left:.75rem;right:.75rem}.inset-x-4{left:1rem;right:1rem}.inset-x-5{left:1.25rem;right:1.25rem}.inset-x-6{left:1.5rem;right:1.5rem}.inset-x-7{left:1.75rem;right:1.75rem}.inset-x-8{left:2rem;right:2rem}.inset-x-9{left:2.25rem;right:2.25rem}.inset-x-10{left:2.5rem;right:2.5rem}.inset-x-11{left:2.75rem;right:2.75rem}.inset-x-12{left:3rem;right:3rem}.inset-x-14{left:3.5rem;right:3.5rem}.inset-x-16{left:4rem;right:4rem}.inset-x-20{left:5rem;right:5rem}.inset-x-24{left:6rem;right:6rem}.inset-x-28{left:7rem;right:7rem}.inset-x-32{left:8rem;right:8rem}.inset-x-36{left:9rem;right:9rem}.inset-x-40{left:10rem;right:10rem}.inset-x-44{left:11rem;right:11rem}.inset-x-48{left:12rem;right:12rem}.inset-x-52{left:13rem;right:13rem}.inset-x-56{left:14rem;right:14rem}.inset-x-60{left:15rem;right:15rem}.inset-x-64{left:16rem;right:16rem}.inset-x-72{left:18rem;right:18rem}.inset-x-80{left:20rem;right:20rem}.inset-x-96{left:24rem;right:24rem}.inset-x-auto{left:auto;right:auto}.inset-x-px{left:1px;right:1px}.inset-x-0\.5{left:.125rem;right:.125rem}.inset-x-1\.5{left:.375rem;right:.375rem}.inset-x-2\.5{left:.625rem;right:.625rem}.inset-x-3\.5{left:.875rem;right:.875rem}.-inset-x-0{left:0;right:0}.-inset-x-1{left:-.25rem;right:-.25rem}.-inset-x-2{left:-.5rem;right:-.5rem}.-inset-x-3{left:-.75rem;right:-.75rem}.-inset-x-4{left:-1rem;right:-1rem}.-inset-x-5{left:-1.25rem;right:-1.25rem}.-inset-x-6{left:-1.5rem;right:-1.5rem}.-inset-x-7{left:-1.75rem;right:-1.75rem}.-inset-x-8{left:-2rem;right:-2rem}.-inset-x-9{left:-2.25rem;right:-2.25rem}.-inset-x-10{left:-2.5rem;right:-2.5rem}.-inset-x-11{left:-2.75rem;right:-2.75rem}.-inset-x-12{left:-3rem;right:-3rem}.-inset-x-14{left:-3.5rem;right:-3.5rem}.-inset-x-16{left:-4rem;right:-4rem}.-inset-x-20{left:-5rem;right:-5rem}.-inset-x-24{left:-6rem;right:-6rem}.-inset-x-28{left:-7rem;right:-7rem}.-inset-x-32{left:-8rem;right:-8rem}.-inset-x-36{left:-9rem;right:-9rem}.-inset-x-40{left:-10rem;right:-10rem}.-inset-x-44{left:-11rem;right:-11rem}.-inset-x-48{left:-12rem;right:-12rem}.-inset-x-52{left:-13rem;right:-13rem}.-inset-x-56{left:-14rem;right:-14rem}.-inset-x-60{left:-15rem;right:-15rem}.-inset-x-64{left:-16rem;right:-16rem}.-inset-x-72{left:-18rem;right:-18rem}.-inset-x-80{left:-20rem;right:-20rem}.-inset-x-96{left:-24rem;right:-24rem}.-inset-x-px{left:-1px;right:-1px}.-inset-x-0\.5{left:-.125rem;right:-.125rem}.-inset-x-1\.5{left:-.375rem;right:-.375rem}.-inset-x-2\.5{left:-.625rem;right:-.625rem}.-inset-x-3\.5{left:-.875rem;right:-.875rem}.inset-x-1\/2{left:50%;right:50%}.inset-x-1\/3{left:33.333333%;right:33.333333%}.inset-x-2\/3{left:66.666667%;right:66.666667%}.inset-x-1\/4{left:25%;right:25%}.inset-x-2\/4{left:50%;right:50%}.inset-x-3\/4{left:75%;right:75%}.inset-x-full{left:100%;right:100%}.-inset-x-1\/2{left:-50%;right:-50%}.-inset-x-1\/3{left:-33.333333%;right:-33.333333%}.-inset-x-2\/3{left:-66.666667%;right:-66.666667%}.-inset-x-1\/4{left:-25%;right:-25%}.-inset-x-2\/4{left:-50%;right:-50%}.-inset-x-3\/4{left:-75%;right:-75%}.-inset-x-full{left:-100%;right:-100%}.inset-y-0{top:0;bottom:0}.inset-y-1{top:.25rem;bottom:.25rem}.inset-y-2{top:.5rem;bottom:.5rem}.inset-y-3{top:.75rem;bottom:.75rem}.inset-y-4{top:1rem;bottom:1rem}.inset-y-5{top:1.25rem;bottom:1.25rem}.inset-y-6{top:1.5rem;bottom:1.5rem}.inset-y-7{top:1.75rem;bottom:1.75rem}.inset-y-8{top:2rem;bottom:2rem}.inset-y-9{top:2.25rem;bottom:2.25rem}.inset-y-10{top:2.5rem;bottom:2.5rem}.inset-y-11{top:2.75rem;bottom:2.75rem}.inset-y-12{top:3rem;bottom:3rem}.inset-y-14{top:3.5rem;bottom:3.5rem}.inset-y-16{top:4rem;bottom:4rem}.inset-y-20{top:5rem;bottom:5rem}.inset-y-24{top:6rem;bottom:6rem}.inset-y-28{top:7rem;bottom:7rem}.inset-y-32{top:8rem;bottom:8rem}.inset-y-36{top:9rem;bottom:9rem}.inset-y-40{top:10rem;bottom:10rem}.inset-y-44{top:11rem;bottom:11rem}.inset-y-48{top:12rem;bottom:12rem}.inset-y-52{top:13rem;bottom:13rem}.inset-y-56{top:14rem;bottom:14rem}.inset-y-60{top:15rem;bottom:15rem}.inset-y-64{top:16rem;bottom:16rem}.inset-y-72{top:18rem;bottom:18rem}.inset-y-80{top:20rem;bottom:20rem}.inset-y-96{top:24rem;bottom:24rem}.inset-y-auto{top:auto;bottom:auto}.inset-y-px{top:1px;bottom:1px}.inset-y-0\.5{top:.125rem;bottom:.125rem}.inset-y-1\.5{top:.375rem;bottom:.375rem}.inset-y-2\.5{top:.625rem;bottom:.625rem}.inset-y-3\.5{top:.875rem;bottom:.875rem}.-inset-y-0{top:0;bottom:0}.-inset-y-1{top:-.25rem;bottom:-.25rem}.-inset-y-2{top:-.5rem;bottom:-.5rem}.-inset-y-3{top:-.75rem;bottom:-.75rem}.-inset-y-4{top:-1rem;bottom:-1rem}.-inset-y-5{top:-1.25rem;bottom:-1.25rem}.-inset-y-6{top:-1.5rem;bottom:-1.5rem}.-inset-y-7{top:-1.75rem;bottom:-1.75rem}.-inset-y-8{top:-2rem;bottom:-2rem}.-inset-y-9{top:-2.25rem;bottom:-2.25rem}.-inset-y-10{top:-2.5rem;bottom:-2.5rem}.-inset-y-11{top:-2.75rem;bottom:-2.75rem}.-inset-y-12{top:-3rem;bottom:-3rem}.-inset-y-14{top:-3.5rem;bottom:-3.5rem}.-inset-y-16{top:-4rem;bottom:-4rem}.-inset-y-20{top:-5rem;bottom:-5rem}.-inset-y-24{top:-6rem;bottom:-6rem}.-inset-y-28{top:-7rem;bottom:-7rem}.-inset-y-32{top:-8rem;bottom:-8rem}.-inset-y-36{top:-9rem;bottom:-9rem}.-inset-y-40{top:-10rem;bottom:-10rem}.-inset-y-44{top:-11rem;bottom:-11rem}.-inset-y-48{top:-12rem;bottom:-12rem}.-inset-y-52{top:-13rem;bottom:-13rem}.-inset-y-56{top:-14rem;bottom:-14rem}.-inset-y-60{top:-15rem;bottom:-15rem}.-inset-y-64{top:-16rem;bottom:-16rem}.-inset-y-72{top:-18rem;bottom:-18rem}.-inset-y-80{top:-20rem;bottom:-20rem}.-inset-y-96{top:-24rem;bottom:-24rem}.-inset-y-px{top:-1px;bottom:-1px}.-inset-y-0\.5{top:-.125rem;bottom:-.125rem}.-inset-y-1\.5{top:-.375rem;bottom:-.375rem}.-inset-y-2\.5{top:-.625rem;bottom:-.625rem}.-inset-y-3\.5{top:-.875rem;bottom:-.875rem}.inset-y-1\/2{top:50%;bottom:50%}.inset-y-1\/3{top:33.333333%;bottom:33.333333%}.inset-y-2\/3{top:66.666667%;bottom:66.666667%}.inset-y-1\/4{top:25%;bottom:25%}.inset-y-2\/4{top:50%;bottom:50%}.inset-y-3\/4{top:75%;bottom:75%}.inset-y-full{top:100%;bottom:100%}.-inset-y-1\/2{top:-50%;bottom:-50%}.-inset-y-1\/3{top:-33.333333%;bottom:-33.333333%}.-inset-y-2\/3{top:-66.666667%;bottom:-66.666667%}.-inset-y-1\/4{top:-25%;bottom:-25%}.-inset-y-2\/4{top:-50%;bottom:-50%}.-inset-y-3\/4{top:-75%;bottom:-75%}.-inset-y-full{top:-100%;bottom:-100%}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-6{top:1.5rem}.top-7{top:1.75rem}.top-8{top:2rem}.top-9{top:2.25rem}.top-10{top:2.5rem}.top-11{top:2.75rem}.top-12{top:3rem}.top-14{top:3.5rem}.top-16{top:4rem}.top-20{top:5rem}.top-24{top:6rem}.top-28{top:7rem}.top-32{top:8rem}.top-36{top:9rem}.top-40{top:10rem}.top-44{top:11rem}.top-48{top:12rem}.top-52{top:13rem}.top-56{top:14rem}.top-60{top:15rem}.top-64{top:16rem}.top-72{top:18rem}.top-80{top:20rem}.top-96{top:24rem}.top-auto{top:auto}.top-px{top:1px}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-2\.5{top:.625rem}.top-3\.5{top:.875rem}.-top-0{top:0}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-5{top:-1.25rem}.-top-6{top:-1.5rem}.-top-7{top:-1.75rem}.-top-8{top:-2rem}.-top-9{top:-2.25rem}.-top-10{top:-2.5rem}.-top-11{top:-2.75rem}.-top-12{top:-3rem}.-top-14{top:-3.5rem}.-top-16{top:-4rem}.-top-20{top:-5rem}.-top-24{top:-6rem}.-top-28{top:-7rem}.-top-32{top:-8rem}.-top-36{top:-9rem}.-top-40{top:-10rem}.-top-44{top:-11rem}.-top-48{top:-12rem}.-top-52{top:-13rem}.-top-56{top:-14rem}.-top-60{top:-15rem}.-top-64{top:-16rem}.-top-72{top:-18rem}.-top-80{top:-20rem}.-top-96{top:-24rem}.-top-px{top:-1px}.-top-0\.5{top:-.125rem}.-top-1\.5{top:-.375rem}.-top-2\.5{top:-.625rem}.-top-3\.5{top:-.875rem}.top-1\/2{top:50%}.top-1\/3{top:33.333333%}.top-2\/3{top:66.666667%}.top-1\/4{top:25%}.top-2\/4{top:50%}.top-3\/4{top:75%}.top-full{top:100%}.-top-1\/2{top:-50%}.-top-1\/3{top:-33.333333%}.-top-2\/3{top:-66.666667%}.-top-1\/4{top:-25%}.-top-2\/4{top:-50%}.-top-3\/4{top:-75%}.-top-full{top:-100%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-7{right:1.75rem}.right-8{right:2rem}.right-9{right:2.25rem}.right-10{right:2.5rem}.right-11{right:2.75rem}.right-12{right:3rem}.right-14{right:3.5rem}.right-16{right:4rem}.right-20{right:5rem}.right-24{right:6rem}.right-28{right:7rem}.right-32{right:8rem}.right-36{right:9rem}.right-40{right:10rem}.right-44{right:11rem}.right-48{right:12rem}.right-52{right:13rem}.right-56{right:14rem}.right-60{right:15rem}.right-64{right:16rem}.right-72{right:18rem}.right-80{right:20rem}.right-96{right:24rem}.right-auto{right:auto}.right-px{right:1px}.right-0\.5{right:.125rem}.right-1\.5{right:.375rem}.right-2\.5{right:.625rem}.right-3\.5{right:.875rem}.-right-0{right:0}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-right-5{right:-1.25rem}.-right-6{right:-1.5rem}.-right-7{right:-1.75rem}.-right-8{right:-2rem}.-right-9{right:-2.25rem}.-right-10{right:-2.5rem}.-right-11{right:-2.75rem}.-right-12{right:-3rem}.-right-14{right:-3.5rem}.-right-16{right:-4rem}.-right-20{right:-5rem}.-right-24{right:-6rem}.-right-28{right:-7rem}.-right-32{right:-8rem}.-right-36{right:-9rem}.-right-40{right:-10rem}.-right-44{right:-11rem}.-right-48{right:-12rem}.-right-52{right:-13rem}.-right-56{right:-14rem}.-right-60{right:-15rem}.-right-64{right:-16rem}.-right-72{right:-18rem}.-right-80{right:-20rem}.-right-96{right:-24rem}.-right-px{right:-1px}.-right-0\.5{right:-.125rem}.-right-1\.5{right:-.375rem}.-right-2\.5{right:-.625rem}.-right-3\.5{right:-.875rem}.right-1\/2{right:50%}.right-1\/3{right:33.333333%}.right-2\/3{right:66.666667%}.right-1\/4{right:25%}.right-2\/4{right:50%}.right-3\/4{right:75%}.right-full{right:100%}.-right-1\/2{right:-50%}.-right-1\/3{right:-33.333333%}.-right-2\/3{right:-66.666667%}.-right-1\/4{right:-25%}.-right-2\/4{right:-50%}.-right-3\/4{right:-75%}.-right-full{right:-100%}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-7{bottom:1.75rem}.bottom-8{bottom:2rem}.bottom-9{bottom:2.25rem}.bottom-10{bottom:2.5rem}.bottom-11{bottom:2.75rem}.bottom-12{bottom:3rem}.bottom-14{bottom:3.5rem}.bottom-16{bottom:4rem}.bottom-20{bottom:5rem}.bottom-24{bottom:6rem}.bottom-28{bottom:7rem}.bottom-32{bottom:8rem}.bottom-36{bottom:9rem}.bottom-40{bottom:10rem}.bottom-44{bottom:11rem}.bottom-48{bottom:12rem}.bottom-52{bottom:13rem}.bottom-56{bottom:14rem}.bottom-60{bottom:15rem}.bottom-64{bottom:16rem}.bottom-72{bottom:18rem}.bottom-80{bottom:20rem}.bottom-96{bottom:24rem}.bottom-auto{bottom:auto}.bottom-px{bottom:1px}.bottom-0\.5{bottom:.125rem}.bottom-1\.5{bottom:.375rem}.bottom-2\.5{bottom:.625rem}.bottom-3\.5{bottom:.875rem}.-bottom-0{bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-2{bottom:-.5rem}.-bottom-3{bottom:-.75rem}.-bottom-4{bottom:-1rem}.-bottom-5{bottom:-1.25rem}.-bottom-6{bottom:-1.5rem}.-bottom-7{bottom:-1.75rem}.-bottom-8{bottom:-2rem}.-bottom-9{bottom:-2.25rem}.-bottom-10{bottom:-2.5rem}.-bottom-11{bottom:-2.75rem}.-bottom-12{bottom:-3rem}.-bottom-14{bottom:-3.5rem}.-bottom-16{bottom:-4rem}.-bottom-20{bottom:-5rem}.-bottom-24{bottom:-6rem}.-bottom-28{bottom:-7rem}.-bottom-32{bottom:-8rem}.-bottom-36{bottom:-9rem}.-bottom-40{bottom:-10rem}.-bottom-44{bottom:-11rem}.-bottom-48{bottom:-12rem}.-bottom-52{bottom:-13rem}.-bottom-56{bottom:-14rem}.-bottom-60{bottom:-15rem}.-bottom-64{bottom:-16rem}.-bottom-72{bottom:-18rem}.-bottom-80{bottom:-20rem}.-bottom-96{bottom:-24rem}.-bottom-px{bottom:-1px}.-bottom-0\.5{bottom:-.125rem}.-bottom-1\.5{bottom:-.375rem}.-bottom-2\.5{bottom:-.625rem}.-bottom-3\.5{bottom:-.875rem}.bottom-1\/2{bottom:50%}.bottom-1\/3{bottom:33.333333%}.bottom-2\/3{bottom:66.666667%}.bottom-1\/4{bottom:25%}.bottom-2\/4{bottom:50%}.bottom-3\/4{bottom:75%}.bottom-full{bottom:100%}.-bottom-1\/2{bottom:-50%}.-bottom-1\/3{bottom:-33.333333%}.-bottom-2\/3{bottom:-66.666667%}.-bottom-1\/4{bottom:-25%}.-bottom-2\/4{bottom:-50%}.-bottom-3\/4{bottom:-75%}.-bottom-full{bottom:-100%}.left-0{left:0}.left-1{left:.25rem}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-5{left:1.25rem}.left-6{left:1.5rem}.left-7{left:1.75rem}.left-8{left:2rem}.left-9{left:2.25rem}.left-10{left:2.5rem}.left-11{left:2.75rem}.left-12{left:3rem}.left-14{left:3.5rem}.left-16{left:4rem}.left-20{left:5rem}.left-24{left:6rem}.left-28{left:7rem}.left-32{left:8rem}.left-36{left:9rem}.left-40{left:10rem}.left-44{left:11rem}.left-48{left:12rem}.left-52{left:13rem}.left-56{left:14rem}.left-60{left:15rem}.left-64{left:16rem}.left-72{left:18rem}.left-80{left:20rem}.left-96{left:24rem}.left-auto{left:auto}.left-px{left:1px}.left-0\.5{left:.125rem}.left-1\.5{left:.375rem}.left-2\.5{left:.625rem}.left-3\.5{left:.875rem}.-left-0{left:0}.-left-1{left:-.25rem}.-left-2{left:-.5rem}.-left-3{left:-.75rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-left-6{left:-1.5rem}.-left-7{left:-1.75rem}.-left-8{left:-2rem}.-left-9{left:-2.25rem}.-left-10{left:-2.5rem}.-left-11{left:-2.75rem}.-left-12{left:-3rem}.-left-14{left:-3.5rem}.-left-16{left:-4rem}.-left-20{left:-5rem}.-left-24{left:-6rem}.-left-28{left:-7rem}.-left-32{left:-8rem}.-left-36{left:-9rem}.-left-40{left:-10rem}.-left-44{left:-11rem}.-left-48{left:-12rem}.-left-52{left:-13rem}.-left-56{left:-14rem}.-left-60{left:-15rem}.-left-64{left:-16rem}.-left-72{left:-18rem}.-left-80{left:-20rem}.-left-96{left:-24rem}.-left-px{left:-1px}.-left-0\.5{left:-.125rem}.-left-1\.5{left:-.375rem}.-left-2\.5{left:-.625rem}.-left-3\.5{left:-.875rem}.left-1\/2{left:50%}.left-1\/3{left:33.333333%}.left-2\/3{left:66.666667%}.left-1\/4{left:25%}.left-2\/4{left:50%}.left-3\/4{left:75%}.left-full{left:100%}.-left-1\/2{left:-50%}.-left-1\/3{left:-33.333333%}.-left-2\/3{left:-66.666667%}.-left-1\/4{left:-25%}.-left-2\/4{left:-50%}.-left-3\/4{left:-75%}.-left-full{left:-100%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.focus-within\:z-0:focus-within{z-index:0}.focus-within\:z-10:focus-within{z-index:10}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:z-30:focus-within{z-index:30}.focus-within\:z-40:focus-within{z-index:40}.focus-within\:z-50:focus-within{z-index:50}.focus-within\:z-auto:focus-within{z-index:auto}.focus\:z-0:focus{z-index:0}.focus\:z-10:focus{z-index:10}.focus\:z-20:focus{z-index:20}.focus\:z-30:focus{z-index:30}.focus\:z-40:focus{z-index:40}.focus\:z-50:focus{z-index:50}.focus\:z-auto:focus{z-index:auto}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.row-auto{grid-row:auto}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-span-full{grid-row:1/-1}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.row-start-4{grid-row-start:4}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-auto{grid-row-start:auto}.row-end-1{grid-row-end:1}.row-end-2{grid-row-end:2}.row-end-3{grid-row-end:3}.row-end-4{grid-row-end:4}.row-end-5{grid-row-end:5}.row-end-6{grid-row-end:6}.row-end-7{grid-row-end:7}.row-end-auto{grid-row-end:auto}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.clear-none{clear:none}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-7{margin:1.75rem}.m-8{margin:2rem}.m-9{margin:2.25rem}.m-10{margin:2.5rem}.m-11{margin:2.75rem}.m-12{margin:3rem}.m-14{margin:3.5rem}.m-16{margin:4rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-28{margin:7rem}.m-32{margin:8rem}.m-36{margin:9rem}.m-40{margin:10rem}.m-44{margin:11rem}.m-48{margin:12rem}.m-52{margin:13rem}.m-56{margin:14rem}.m-60{margin:15rem}.m-64{margin:16rem}.m-72{margin:18rem}.m-80{margin:20rem}.m-96{margin:24rem}.m-auto{margin:auto}.m-px{margin:1px}.m-0\.5{margin:.125rem}.m-1\.5{margin:.375rem}.m-2\.5{margin:.625rem}.m-3\.5{margin:.875rem}.-m-0{margin:0}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-3{margin:-.75rem}.-m-4{margin:-1rem}.-m-5{margin:-1.25rem}.-m-6{margin:-1.5rem}.-m-7{margin:-1.75rem}.-m-8{margin:-2rem}.-m-9{margin:-2.25rem}.-m-10{margin:-2.5rem}.-m-11{margin:-2.75rem}.-m-12{margin:-3rem}.-m-14{margin:-3.5rem}.-m-16{margin:-4rem}.-m-20{margin:-5rem}.-m-24{margin:-6rem}.-m-28{margin:-7rem}.-m-32{margin:-8rem}.-m-36{margin:-9rem}.-m-40{margin:-10rem}.-m-44{margin:-11rem}.-m-48{margin:-12rem}.-m-52{margin:-13rem}.-m-56{margin:-14rem}.-m-60{margin:-15rem}.-m-64{margin:-16rem}.-m-72{margin:-18rem}.-m-80{margin:-20rem}.-m-96{margin:-24rem}.-m-px{margin:-1px}.-m-0\.5{margin:-.125rem}.-m-1\.5{margin:-.375rem}.-m-2\.5{margin:-.625rem}.-m-3\.5{margin:-.875rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-7{margin-left:1.75rem;margin-right:1.75rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-9{margin-left:2.25rem;margin-right:2.25rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-11{margin-left:2.75rem;margin-right:2.75rem}.mx-12{margin-left:3rem;margin-right:3rem}.mx-14{margin-left:3.5rem;margin-right:3.5rem}.mx-16{margin-left:4rem;margin-right:4rem}.mx-20{margin-left:5rem;margin-right:5rem}.mx-24{margin-left:6rem;margin-right:6rem}.mx-28{margin-left:7rem;margin-right:7rem}.mx-32{margin-left:8rem;margin-right:8rem}.mx-36{margin-left:9rem;margin-right:9rem}.mx-40{margin-left:10rem;margin-right:10rem}.mx-44{margin-left:11rem;margin-right:11rem}.mx-48{margin-left:12rem;margin-right:12rem}.mx-52{margin-left:13rem;margin-right:13rem}.mx-56{margin-left:14rem;margin-right:14rem}.mx-60{margin-left:15rem;margin-right:15rem}.mx-64{margin-left:16rem;margin-right:16rem}.mx-72{margin-left:18rem;margin-right:18rem}.mx-80{margin-left:20rem;margin-right:20rem}.mx-96{margin-left:24rem;margin-right:24rem}.mx-auto{margin-left:auto;margin-right:auto}.mx-px{margin-left:1px;margin-right:1px}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2\.5{margin-left:.625rem;margin-right:.625rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.-mx-0{margin-left:0;margin-right:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.-mx-12{margin-left:-3rem;margin-right:-3rem}.-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.-mx-16{margin-left:-4rem;margin-right:-4rem}.-mx-20{margin-left:-5rem;margin-right:-5rem}.-mx-24{margin-left:-6rem;margin-right:-6rem}.-mx-28{margin-left:-7rem;margin-right:-7rem}.-mx-32{margin-left:-8rem;margin-right:-8rem}.-mx-36{margin-left:-9rem;margin-right:-9rem}.-mx-40{margin-left:-10rem;margin-right:-10rem}.-mx-44{margin-left:-11rem;margin-right:-11rem}.-mx-48{margin-left:-12rem;margin-right:-12rem}.-mx-52{margin-left:-13rem;margin-right:-13rem}.-mx-56{margin-left:-14rem;margin-right:-14rem}.-mx-60{margin-left:-15rem;margin-right:-15rem}.-mx-64{margin-left:-16rem;margin-right:-16rem}.-mx-72{margin-left:-18rem;margin-right:-18rem}.-mx-80{margin-left:-20rem;margin-right:-20rem}.-mx-96{margin-left:-24rem;margin-right:-24rem}.-mx-px{margin-left:-1px;margin-right:-1px}.-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-7{margin-top:1.75rem;margin-bottom:1.75rem}.my-8{margin-top:2rem;margin-bottom:2rem}.my-9{margin-top:2.25rem;margin-bottom:2.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-11{margin-top:2.75rem;margin-bottom:2.75rem}.my-12{margin-top:3rem;margin-bottom:3rem}.my-14{margin-top:3.5rem;margin-bottom:3.5rem}.my-16{margin-top:4rem;margin-bottom:4rem}.my-20{margin-top:5rem;margin-bottom:5rem}.my-24{margin-top:6rem;margin-bottom:6rem}.my-28{margin-top:7rem;margin-bottom:7rem}.my-32{margin-top:8rem;margin-bottom:8rem}.my-36{margin-top:9rem;margin-bottom:9rem}.my-40{margin-top:10rem;margin-bottom:10rem}.my-44{margin-top:11rem;margin-bottom:11rem}.my-48{margin-top:12rem;margin-bottom:12rem}.my-52{margin-top:13rem;margin-bottom:13rem}.my-56{margin-top:14rem;margin-bottom:14rem}.my-60{margin-top:15rem;margin-bottom:15rem}.my-64{margin-top:16rem;margin-bottom:16rem}.my-72{margin-top:18rem;margin-bottom:18rem}.my-80{margin-top:20rem;margin-bottom:20rem}.my-96{margin-top:24rem;margin-bottom:24rem}.my-auto{margin-top:auto;margin-bottom:auto}.my-px{margin-top:1px;margin-bottom:1px}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.-my-0{margin-top:0;margin-bottom:0}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.-my-12{margin-top:-3rem;margin-bottom:-3rem}.-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.-my-16{margin-top:-4rem;margin-bottom:-4rem}.-my-20{margin-top:-5rem;margin-bottom:-5rem}.-my-24{margin-top:-6rem;margin-bottom:-6rem}.-my-28{margin-top:-7rem;margin-bottom:-7rem}.-my-32{margin-top:-8rem;margin-bottom:-8rem}.-my-36{margin-top:-9rem;margin-bottom:-9rem}.-my-40{margin-top:-10rem;margin-bottom:-10rem}.-my-44{margin-top:-11rem;margin-bottom:-11rem}.-my-48{margin-top:-12rem;margin-bottom:-12rem}.-my-52{margin-top:-13rem;margin-bottom:-13rem}.-my-56{margin-top:-14rem;margin-bottom:-14rem}.-my-60{margin-top:-15rem;margin-bottom:-15rem}.-my-64{margin-top:-16rem;margin-bottom:-16rem}.-my-72{margin-top:-18rem;margin-bottom:-18rem}.-my-80{margin-top:-20rem;margin-bottom:-20rem}.-my-96{margin-top:-24rem;margin-bottom:-24rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-28{margin-top:7rem}.mt-32{margin-top:8rem}.mt-36{margin-top:9rem}.mt-40{margin-top:10rem}.mt-44{margin-top:11rem}.mt-48{margin-top:12rem}.mt-52{margin-top:13rem}.mt-56{margin-top:14rem}.mt-60{margin-top:15rem}.mt-64{margin-top:16rem}.mt-72{margin-top:18rem}.mt-80{margin-top:20rem}.mt-96{margin-top:24rem}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mt-0\.5{margin-top:.125rem}.mt-1\.5{margin-top:.375rem}.mt-2\.5{margin-top:.625rem}.mt-3\.5{margin-top:.875rem}.-mt-0{margin-top:0}.-mt-1{margin-top:-.25rem}.-mt-2{margin-top:-.5rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.-mt-5{margin-top:-1.25rem}.-mt-6{margin-top:-1.5rem}.-mt-7{margin-top:-1.75rem}.-mt-8{margin-top:-2rem}.-mt-9{margin-top:-2.25rem}.-mt-10{margin-top:-2.5rem}.-mt-11{margin-top:-2.75rem}.-mt-12{margin-top:-3rem}.-mt-14{margin-top:-3.5rem}.-mt-16{margin-top:-4rem}.-mt-20{margin-top:-5rem}.-mt-24{margin-top:-6rem}.-mt-28{margin-top:-7rem}.-mt-32{margin-top:-8rem}.-mt-36{margin-top:-9rem}.-mt-40{margin-top:-10rem}.-mt-44{margin-top:-11rem}.-mt-48{margin-top:-12rem}.-mt-52{margin-top:-13rem}.-mt-56{margin-top:-14rem}.-mt-60{margin-top:-15rem}.-mt-64{margin-top:-16rem}.-mt-72{margin-top:-18rem}.-mt-80{margin-top:-20rem}.-mt-96{margin-top:-24rem}.-mt-px{margin-top:-1px}.-mt-0\.5{margin-top:-.125rem}.-mt-1\.5{margin-top:-.375rem}.-mt-2\.5{margin-top:-.625rem}.-mt-3\.5{margin-top:-.875rem}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mr-6{margin-right:1.5rem}.mr-7{margin-right:1.75rem}.mr-8{margin-right:2rem}.mr-9{margin-right:2.25rem}.mr-10{margin-right:2.5rem}.mr-11{margin-right:2.75rem}.mr-12{margin-right:3rem}.mr-14{margin-right:3.5rem}.mr-16{margin-right:4rem}.mr-20{margin-right:5rem}.mr-24{margin-right:6rem}.mr-28{margin-right:7rem}.mr-32{margin-right:8rem}.mr-36{margin-right:9rem}.mr-40{margin-right:10rem}.mr-44{margin-right:11rem}.mr-48{margin-right:12rem}.mr-52{margin-right:13rem}.mr-56{margin-right:14rem}.mr-60{margin-right:15rem}.mr-64{margin-right:16rem}.mr-72{margin-right:18rem}.mr-80{margin-right:20rem}.mr-96{margin-right:24rem}.mr-auto{margin-right:auto}.mr-px{margin-right:1px}.mr-0\.5{margin-right:.125rem}.mr-1\.5{margin-right:.375rem}.mr-2\.5{margin-right:.625rem}.mr-3\.5{margin-right:.875rem}.-mr-0{margin-right:0}.-mr-1{margin-right:-.25rem}.-mr-2{margin-right:-.5rem}.-mr-3{margin-right:-.75rem}.-mr-4{margin-right:-1rem}.-mr-5{margin-right:-1.25rem}.-mr-6{margin-right:-1.5rem}.-mr-7{margin-right:-1.75rem}.-mr-8{margin-right:-2rem}.-mr-9{margin-right:-2.25rem}.-mr-10{margin-right:-2.5rem}.-mr-11{margin-right:-2.75rem}.-mr-12{margin-right:-3rem}.-mr-14{margin-right:-3.5rem}.-mr-16{margin-right:-4rem}.-mr-20{margin-right:-5rem}.-mr-24{margin-right:-6rem}.-mr-28{margin-right:-7rem}.-mr-32{margin-right:-8rem}.-mr-36{margin-right:-9rem}.-mr-40{margin-right:-10rem}.-mr-44{margin-right:-11rem}.-mr-48{margin-right:-12rem}.-mr-52{margin-right:-13rem}.-mr-56{margin-right:-14rem}.-mr-60{margin-right:-15rem}.-mr-64{margin-right:-16rem}.-mr-72{margin-right:-18rem}.-mr-80{margin-right:-20rem}.-mr-96{margin-right:-24rem}.-mr-px{margin-right:-1px}.-mr-0\.5{margin-right:-.125rem}.-mr-1\.5{margin-right:-.375rem}.-mr-2\.5{margin-right:-.625rem}.-mr-3\.5{margin-right:-.875rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.mb-10{margin-bottom:2.5rem}.mb-11{margin-bottom:2.75rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mb-28{margin-bottom:7rem}.mb-32{margin-bottom:8rem}.mb-36{margin-bottom:9rem}.mb-40{margin-bottom:10rem}.mb-44{margin-bottom:11rem}.mb-48{margin-bottom:12rem}.mb-52{margin-bottom:13rem}.mb-56{margin-bottom:14rem}.mb-60{margin-bottom:15rem}.mb-64{margin-bottom:16rem}.mb-72{margin-bottom:18rem}.mb-80{margin-bottom:20rem}.mb-96{margin-bottom:24rem}.mb-auto{margin-bottom:auto}.mb-px{margin-bottom:1px}.mb-0\.5{margin-bottom:.125rem}.mb-1\.5{margin-bottom:.375rem}.mb-2\.5{margin-bottom:.625rem}.mb-3\.5{margin-bottom:.875rem}.-mb-0{margin-bottom:0}.-mb-1{margin-bottom:-.25rem}.-mb-2{margin-bottom:-.5rem}.-mb-3{margin-bottom:-.75rem}.-mb-4{margin-bottom:-1rem}.-mb-5{margin-bottom:-1.25rem}.-mb-6{margin-bottom:-1.5rem}.-mb-7{margin-bottom:-1.75rem}.-mb-8{margin-bottom:-2rem}.-mb-9{margin-bottom:-2.25rem}.-mb-10{margin-bottom:-2.5rem}.-mb-11{margin-bottom:-2.75rem}.-mb-12{margin-bottom:-3rem}.-mb-14{margin-bottom:-3.5rem}.-mb-16{margin-bottom:-4rem}.-mb-20{margin-bottom:-5rem}.-mb-24{margin-bottom:-6rem}.-mb-28{margin-bottom:-7rem}.-mb-32{margin-bottom:-8rem}.-mb-36{margin-bottom:-9rem}.-mb-40{margin-bottom:-10rem}.-mb-44{margin-bottom:-11rem}.-mb-48{margin-bottom:-12rem}.-mb-52{margin-bottom:-13rem}.-mb-56{margin-bottom:-14rem}.-mb-60{margin-bottom:-15rem}.-mb-64{margin-bottom:-16rem}.-mb-72{margin-bottom:-18rem}.-mb-80{margin-bottom:-20rem}.-mb-96{margin-bottom:-24rem}.-mb-px{margin-bottom:-1px}.-mb-0\.5{margin-bottom:-.125rem}.-mb-1\.5{margin-bottom:-.375rem}.-mb-2\.5{margin-bottom:-.625rem}.-mb-3\.5{margin-bottom:-.875rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-9{margin-left:2.25rem}.ml-10{margin-left:2.5rem}.ml-11{margin-left:2.75rem}.ml-12{margin-left:3rem}.ml-14{margin-left:3.5rem}.ml-16{margin-left:4rem}.ml-20{margin-left:5rem}.ml-24{margin-left:6rem}.ml-28{margin-left:7rem}.ml-32{margin-left:8rem}.ml-36{margin-left:9rem}.ml-40{margin-left:10rem}.ml-44{margin-left:11rem}.ml-48{margin-left:12rem}.ml-52{margin-left:13rem}.ml-56{margin-left:14rem}.ml-60{margin-left:15rem}.ml-64{margin-left:16rem}.ml-72{margin-left:18rem}.ml-80{margin-left:20rem}.ml-96{margin-left:24rem}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.ml-0\.5{margin-left:.125rem}.ml-1\.5{margin-left:.375rem}.ml-2\.5{margin-left:.625rem}.ml-3\.5{margin-left:.875rem}.-ml-0{margin-left:0}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-ml-3{margin-left:-.75rem}.-ml-4{margin-left:-1rem}.-ml-5{margin-left:-1.25rem}.-ml-6{margin-left:-1.5rem}.-ml-7{margin-left:-1.75rem}.-ml-8{margin-left:-2rem}.-ml-9{margin-left:-2.25rem}.-ml-10{margin-left:-2.5rem}.-ml-11{margin-left:-2.75rem}.-ml-12{margin-left:-3rem}.-ml-14{margin-left:-3.5rem}.-ml-16{margin-left:-4rem}.-ml-20{margin-left:-5rem}.-ml-24{margin-left:-6rem}.-ml-28{margin-left:-7rem}.-ml-32{margin-left:-8rem}.-ml-36{margin-left:-9rem}.-ml-40{margin-left:-10rem}.-ml-44{margin-left:-11rem}.-ml-48{margin-left:-12rem}.-ml-52{margin-left:-13rem}.-ml-56{margin-left:-14rem}.-ml-60{margin-left:-15rem}.-ml-64{margin-left:-16rem}.-ml-72{margin-left:-18rem}.-ml-80{margin-left:-20rem}.-ml-96{margin-left:-24rem}.-ml-px{margin-left:-1px}.-ml-0\.5{margin-left:-.125rem}.-ml-1\.5{margin-left:-.375rem}.-ml-2\.5{margin-left:-.625rem}.-ml-3\.5{margin-left:-.875rem}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-52{height:13rem}.h-56{height:14rem}.h-60{height:15rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}.h-auto{height:auto}.h-px{height:1px}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-1\/2{height:50%}.h-1\/3{height:33.333333%}.h-2\/3{height:66.666667%}.h-1\/4{height:25%}.h-2\/4{height:50%}.h-3\/4{height:75%}.h-1\/5{height:20%}.h-2\/5{height:40%}.h-3\/5{height:60%}.h-4\/5{height:80%}.h-1\/6{height:16.666667%}.h-2\/6{height:33.333333%}.h-3\/6{height:50%}.h-4\/6{height:66.666667%}.h-5\/6{height:83.333333%}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-1{max-height:.25rem}.max-h-2{max-height:.5rem}.max-h-3{max-height:.75rem}.max-h-4{max-height:1rem}.max-h-5{max-height:1.25rem}.max-h-6{max-height:1.5rem}.max-h-7{max-height:1.75rem}.max-h-8{max-height:2rem}.max-h-9{max-height:2.25rem}.max-h-10{max-height:2.5rem}.max-h-11{max-height:2.75rem}.max-h-12{max-height:3rem}.max-h-14{max-height:3.5rem}.max-h-16{max-height:4rem}.max-h-20{max-height:5rem}.max-h-24{max-height:6rem}.max-h-28{max-height:7rem}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-44{max-height:11rem}.max-h-48{max-height:12rem}.max-h-52{max-height:13rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-px{max-height:1px}.max-h-0\.5{max-height:.125rem}.max-h-1\.5{max-height:.375rem}.max-h-2\.5{max-height:.625rem}.max-h-3\.5{max-height:.875rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-52{width:13rem}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}.w-auto{width:auto}.w-px{width:1px}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.666667%}.w-2\/6{width:33.333333%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-5\/6{width:83.333333%}.w-1\/12{width:8.333333%}.w-2\/12{width:16.666667%}.w-3\/12{width:25%}.w-4\/12{width:33.333333%}.w-5\/12{width:41.666667%}.w-6\/12{width:50%}.w-7\/12{width:58.333333%}.w-8\/12{width:66.666667%}.w-9\/12{width:75%}.w-10\/12{width:83.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.w-screen{width:100vw}.w-min{width:min-content}.w-max{width:max-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.min-w-min{min-width:min-content}.min-w-max{min-width:max-content}.max-w-0{max-width:0}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-min{max-width:min-content}.max-w-max{max-width:max-content}.max-w-prose{max-width:65ch}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.max-w-screen-2xl{max-width:1536px}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.origin-top-right{transform-origin:top right}.origin-right{transform-origin:right}.origin-bottom-right{transform-origin:bottom right}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:bottom left}.origin-left{transform-origin:left}.origin-top-left{transform-origin:top left}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}.translate-x-0{--tw-translate-x:0px}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-2{--tw-translate-x:0.5rem}.translate-x-3{--tw-translate-x:0.75rem}.translate-x-4{--tw-translate-x:1rem}.translate-x-5{--tw-translate-x:1.25rem}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-7{--tw-translate-x:1.75rem}.translate-x-8{--tw-translate-x:2rem}.translate-x-9{--tw-translate-x:2.25rem}.translate-x-10{--tw-translate-x:2.5rem}.translate-x-11{--tw-translate-x:2.75rem}.translate-x-12{--tw-translate-x:3rem}.translate-x-14{--tw-translate-x:3.5rem}.translate-x-16{--tw-translate-x:4rem}.translate-x-20{--tw-translate-x:5rem}.translate-x-24{--tw-translate-x:6rem}.translate-x-28{--tw-translate-x:7rem}.translate-x-32{--tw-translate-x:8rem}.translate-x-36{--tw-translate-x:9rem}.translate-x-40{--tw-translate-x:10rem}.translate-x-44{--tw-translate-x:11rem}.translate-x-48{--tw-translate-x:12rem}.translate-x-52{--tw-translate-x:13rem}.translate-x-56{--tw-translate-x:14rem}.translate-x-60{--tw-translate-x:15rem}.translate-x-64{--tw-translate-x:16rem}.translate-x-72{--tw-translate-x:18rem}.translate-x-80{--tw-translate-x:20rem}.translate-x-96{--tw-translate-x:24rem}.translate-x-px{--tw-translate-x:1px}.translate-x-0\.5{--tw-translate-x:0.125rem}.translate-x-1\.5{--tw-translate-x:0.375rem}.translate-x-2\.5{--tw-translate-x:0.625rem}.translate-x-3\.5{--tw-translate-x:0.875rem}.-translate-x-0{--tw-translate-x:0px}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-2{--tw-translate-x:-0.5rem}.-translate-x-3{--tw-translate-x:-0.75rem}.-translate-x-4{--tw-translate-x:-1rem}.-translate-x-5{--tw-translate-x:-1.25rem}.-translate-x-6{--tw-translate-x:-1.5rem}.-translate-x-7{--tw-translate-x:-1.75rem}.-translate-x-8{--tw-translate-x:-2rem}.-translate-x-9{--tw-translate-x:-2.25rem}.-translate-x-10{--tw-translate-x:-2.5rem}.-translate-x-11{--tw-translate-x:-2.75rem}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-14{--tw-translate-x:-3.5rem}.-translate-x-16{--tw-translate-x:-4rem}.-translate-x-20{--tw-translate-x:-5rem}.-translate-x-24{--tw-translate-x:-6rem}.-translate-x-28{--tw-translate-x:-7rem}.-translate-x-32{--tw-translate-x:-8rem}.-translate-x-36{--tw-translate-x:-9rem}.-translate-x-40{--tw-translate-x:-10rem}.-translate-x-44{--tw-translate-x:-11rem}.-translate-x-48{--tw-translate-x:-12rem}.-translate-x-52{--tw-translate-x:-13rem}.-translate-x-56{--tw-translate-x:-14rem}.-translate-x-60{--tw-translate-x:-15rem}.-translate-x-64{--tw-translate-x:-16rem}.-translate-x-72{--tw-translate-x:-18rem}.-translate-x-80{--tw-translate-x:-20rem}.-translate-x-96{--tw-translate-x:-24rem}.-translate-x-px{--tw-translate-x:-1px}.-translate-x-0\.5{--tw-translate-x:-0.125rem}.-translate-x-1\.5{--tw-translate-x:-0.375rem}.-translate-x-2\.5{--tw-translate-x:-0.625rem}.-translate-x-3\.5{--tw-translate-x:-0.875rem}.translate-x-1\/2{--tw-translate-x:50%}.translate-x-1\/3{--tw-translate-x:33.333333%}.translate-x-2\/3{--tw-translate-x:66.666667%}.translate-x-1\/4{--tw-translate-x:25%}.translate-x-2\/4{--tw-translate-x:50%}.translate-x-3\/4{--tw-translate-x:75%}.translate-x-full{--tw-translate-x:100%}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/3{--tw-translate-x:-33.333333%}.-translate-x-2\/3{--tw-translate-x:-66.666667%}.-translate-x-1\/4{--tw-translate-x:-25%}.-translate-x-2\/4{--tw-translate-x:-50%}.-translate-x-3\/4{--tw-translate-x:-75%}.-translate-x-full{--tw-translate-x:-100%}.translate-y-0{--tw-translate-y:0px}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-2{--tw-translate-y:0.5rem}.translate-y-3{--tw-translate-y:0.75rem}.translate-y-4{--tw-translate-y:1rem}.translate-y-5{--tw-translate-y:1.25rem}.translate-y-6{--tw-translate-y:1.5rem}.translate-y-7{--tw-translate-y:1.75rem}.translate-y-8{--tw-translate-y:2rem}.translate-y-9{--tw-translate-y:2.25rem}.translate-y-10{--tw-translate-y:2.5rem}.translate-y-11{--tw-translate-y:2.75rem}.translate-y-12{--tw-translate-y:3rem}.translate-y-14{--tw-translate-y:3.5rem}.translate-y-16{--tw-translate-y:4rem}.translate-y-20{--tw-translate-y:5rem}.translate-y-24{--tw-translate-y:6rem}.translate-y-28{--tw-translate-y:7rem}.translate-y-32{--tw-translate-y:8rem}.translate-y-36{--tw-translate-y:9rem}.translate-y-40{--tw-translate-y:10rem}.translate-y-44{--tw-translate-y:11rem}.translate-y-48{--tw-translate-y:12rem}.translate-y-52{--tw-translate-y:13rem}.translate-y-56{--tw-translate-y:14rem}.translate-y-60{--tw-translate-y:15rem}.translate-y-64{--tw-translate-y:16rem}.translate-y-72{--tw-translate-y:18rem}.translate-y-80{--tw-translate-y:20rem}.translate-y-96{--tw-translate-y:24rem}.translate-y-px{--tw-translate-y:1px}.translate-y-0\.5{--tw-translate-y:0.125rem}.translate-y-1\.5{--tw-translate-y:0.375rem}.translate-y-2\.5{--tw-translate-y:0.625rem}.translate-y-3\.5{--tw-translate-y:0.875rem}.-translate-y-0{--tw-translate-y:0px}.-translate-y-1{--tw-translate-y:-0.25rem}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-3{--tw-translate-y:-0.75rem}.-translate-y-4{--tw-translate-y:-1rem}.-translate-y-5{--tw-translate-y:-1.25rem}.-translate-y-6{--tw-translate-y:-1.5rem}.-translate-y-7{--tw-translate-y:-1.75rem}.-translate-y-8{--tw-translate-y:-2rem}.-translate-y-9{--tw-translate-y:-2.25rem}.-translate-y-10{--tw-translate-y:-2.5rem}.-translate-y-11{--tw-translate-y:-2.75rem}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-14{--tw-translate-y:-3.5rem}.-translate-y-16{--tw-translate-y:-4rem}.-translate-y-20{--tw-translate-y:-5rem}.-translate-y-24{--tw-translate-y:-6rem}.-translate-y-28{--tw-translate-y:-7rem}.-translate-y-32{--tw-translate-y:-8rem}.-translate-y-36{--tw-translate-y:-9rem}.-translate-y-40{--tw-translate-y:-10rem}.-translate-y-44{--tw-translate-y:-11rem}.-translate-y-48{--tw-translate-y:-12rem}.-translate-y-52{--tw-translate-y:-13rem}.-translate-y-56{--tw-translate-y:-14rem}.-translate-y-60{--tw-translate-y:-15rem}.-translate-y-64{--tw-translate-y:-16rem}.-translate-y-72{--tw-translate-y:-18rem}.-translate-y-80{--tw-translate-y:-20rem}.-translate-y-96{--tw-translate-y:-24rem}.-translate-y-px{--tw-translate-y:-1px}.-translate-y-0\.5{--tw-translate-y:-0.125rem}.-translate-y-1\.5{--tw-translate-y:-0.375rem}.-translate-y-2\.5{--tw-translate-y:-0.625rem}.-translate-y-3\.5{--tw-translate-y:-0.875rem}.translate-y-1\/2{--tw-translate-y:50%}.translate-y-1\/3{--tw-translate-y:33.333333%}.translate-y-2\/3{--tw-translate-y:66.666667%}.translate-y-1\/4{--tw-translate-y:25%}.translate-y-2\/4{--tw-translate-y:50%}.translate-y-3\/4{--tw-translate-y:75%}.translate-y-full{--tw-translate-y:100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/3{--tw-translate-y:-33.333333%}.-translate-y-2\/3{--tw-translate-y:-66.666667%}.-translate-y-1\/4{--tw-translate-y:-25%}.-translate-y-2\/4{--tw-translate-y:-50%}.-translate-y-3\/4{--tw-translate-y:-75%}.-translate-y-full{--tw-translate-y:-100%}.hover\:translate-x-0:hover{--tw-translate-x:0px}.hover\:translate-x-1:hover{--tw-translate-x:0.25rem}.hover\:translate-x-2:hover{--tw-translate-x:0.5rem}.hover\:translate-x-3:hover{--tw-translate-x:0.75rem}.hover\:translate-x-4:hover{--tw-translate-x:1rem}.hover\:translate-x-5:hover{--tw-translate-x:1.25rem}.hover\:translate-x-6:hover{--tw-translate-x:1.5rem}.hover\:translate-x-7:hover{--tw-translate-x:1.75rem}.hover\:translate-x-8:hover{--tw-translate-x:2rem}.hover\:translate-x-9:hover{--tw-translate-x:2.25rem}.hover\:translate-x-10:hover{--tw-translate-x:2.5rem}.hover\:translate-x-11:hover{--tw-translate-x:2.75rem}.hover\:translate-x-12:hover{--tw-translate-x:3rem}.hover\:translate-x-14:hover{--tw-translate-x:3.5rem}.hover\:translate-x-16:hover{--tw-translate-x:4rem}.hover\:translate-x-20:hover{--tw-translate-x:5rem}.hover\:translate-x-24:hover{--tw-translate-x:6rem}.hover\:translate-x-28:hover{--tw-translate-x:7rem}.hover\:translate-x-32:hover{--tw-translate-x:8rem}.hover\:translate-x-36:hover{--tw-translate-x:9rem}.hover\:translate-x-40:hover{--tw-translate-x:10rem}.hover\:translate-x-44:hover{--tw-translate-x:11rem}.hover\:translate-x-48:hover{--tw-translate-x:12rem}.hover\:translate-x-52:hover{--tw-translate-x:13rem}.hover\:translate-x-56:hover{--tw-translate-x:14rem}.hover\:translate-x-60:hover{--tw-translate-x:15rem}.hover\:translate-x-64:hover{--tw-translate-x:16rem}.hover\:translate-x-72:hover{--tw-translate-x:18rem}.hover\:translate-x-80:hover{--tw-translate-x:20rem}.hover\:translate-x-96:hover{--tw-translate-x:24rem}.hover\:translate-x-px:hover{--tw-translate-x:1px}.hover\:translate-x-0\.5:hover{--tw-translate-x:0.125rem}.hover\:translate-x-1\.5:hover{--tw-translate-x:0.375rem}.hover\:translate-x-2\.5:hover{--tw-translate-x:0.625rem}.hover\:translate-x-3\.5:hover{--tw-translate-x:0.875rem}.hover\:-translate-x-0:hover{--tw-translate-x:0px}.hover\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.hover\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.hover\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.hover\:-translate-x-4:hover{--tw-translate-x:-1rem}.hover\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.hover\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.hover\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.hover\:-translate-x-8:hover{--tw-translate-x:-2rem}.hover\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.hover\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.hover\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.hover\:-translate-x-12:hover{--tw-translate-x:-3rem}.hover\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.hover\:-translate-x-16:hover{--tw-translate-x:-4rem}.hover\:-translate-x-20:hover{--tw-translate-x:-5rem}.hover\:-translate-x-24:hover{--tw-translate-x:-6rem}.hover\:-translate-x-28:hover{--tw-translate-x:-7rem}.hover\:-translate-x-32:hover{--tw-translate-x:-8rem}.hover\:-translate-x-36:hover{--tw-translate-x:-9rem}.hover\:-translate-x-40:hover{--tw-translate-x:-10rem}.hover\:-translate-x-44:hover{--tw-translate-x:-11rem}.hover\:-translate-x-48:hover{--tw-translate-x:-12rem}.hover\:-translate-x-52:hover{--tw-translate-x:-13rem}.hover\:-translate-x-56:hover{--tw-translate-x:-14rem}.hover\:-translate-x-60:hover{--tw-translate-x:-15rem}.hover\:-translate-x-64:hover{--tw-translate-x:-16rem}.hover\:-translate-x-72:hover{--tw-translate-x:-18rem}.hover\:-translate-x-80:hover{--tw-translate-x:-20rem}.hover\:-translate-x-96:hover{--tw-translate-x:-24rem}.hover\:-translate-x-px:hover{--tw-translate-x:-1px}.hover\:-translate-x-0\.5:hover{--tw-translate-x:-0.125rem}.hover\:-translate-x-1\.5:hover{--tw-translate-x:-0.375rem}.hover\:-translate-x-2\.5:hover{--tw-translate-x:-0.625rem}.hover\:-translate-x-3\.5:hover{--tw-translate-x:-0.875rem}.hover\:translate-x-1\/2:hover{--tw-translate-x:50%}.hover\:translate-x-1\/3:hover{--tw-translate-x:33.333333%}.hover\:translate-x-2\/3:hover{--tw-translate-x:66.666667%}.hover\:translate-x-1\/4:hover{--tw-translate-x:25%}.hover\:translate-x-2\/4:hover{--tw-translate-x:50%}.hover\:translate-x-3\/4:hover{--tw-translate-x:75%}.hover\:translate-x-full:hover{--tw-translate-x:100%}.hover\:-translate-x-1\/2:hover{--tw-translate-x:-50%}.hover\:-translate-x-1\/3:hover{--tw-translate-x:-33.333333%}.hover\:-translate-x-2\/3:hover{--tw-translate-x:-66.666667%}.hover\:-translate-x-1\/4:hover{--tw-translate-x:-25%}.hover\:-translate-x-2\/4:hover{--tw-translate-x:-50%}.hover\:-translate-x-3\/4:hover{--tw-translate-x:-75%}.hover\:-translate-x-full:hover{--tw-translate-x:-100%}.hover\:translate-y-0:hover{--tw-translate-y:0px}.hover\:translate-y-1:hover{--tw-translate-y:0.25rem}.hover\:translate-y-2:hover{--tw-translate-y:0.5rem}.hover\:translate-y-3:hover{--tw-translate-y:0.75rem}.hover\:translate-y-4:hover{--tw-translate-y:1rem}.hover\:translate-y-5:hover{--tw-translate-y:1.25rem}.hover\:translate-y-6:hover{--tw-translate-y:1.5rem}.hover\:translate-y-7:hover{--tw-translate-y:1.75rem}.hover\:translate-y-8:hover{--tw-translate-y:2rem}.hover\:translate-y-9:hover{--tw-translate-y:2.25rem}.hover\:translate-y-10:hover{--tw-translate-y:2.5rem}.hover\:translate-y-11:hover{--tw-translate-y:2.75rem}.hover\:translate-y-12:hover{--tw-translate-y:3rem}.hover\:translate-y-14:hover{--tw-translate-y:3.5rem}.hover\:translate-y-16:hover{--tw-translate-y:4rem}.hover\:translate-y-20:hover{--tw-translate-y:5rem}.hover\:translate-y-24:hover{--tw-translate-y:6rem}.hover\:translate-y-28:hover{--tw-translate-y:7rem}.hover\:translate-y-32:hover{--tw-translate-y:8rem}.hover\:translate-y-36:hover{--tw-translate-y:9rem}.hover\:translate-y-40:hover{--tw-translate-y:10rem}.hover\:translate-y-44:hover{--tw-translate-y:11rem}.hover\:translate-y-48:hover{--tw-translate-y:12rem}.hover\:translate-y-52:hover{--tw-translate-y:13rem}.hover\:translate-y-56:hover{--tw-translate-y:14rem}.hover\:translate-y-60:hover{--tw-translate-y:15rem}.hover\:translate-y-64:hover{--tw-translate-y:16rem}.hover\:translate-y-72:hover{--tw-translate-y:18rem}.hover\:translate-y-80:hover{--tw-translate-y:20rem}.hover\:translate-y-96:hover{--tw-translate-y:24rem}.hover\:translate-y-px:hover{--tw-translate-y:1px}.hover\:translate-y-0\.5:hover{--tw-translate-y:0.125rem}.hover\:translate-y-1\.5:hover{--tw-translate-y:0.375rem}.hover\:translate-y-2\.5:hover{--tw-translate-y:0.625rem}.hover\:translate-y-3\.5:hover{--tw-translate-y:0.875rem}.hover\:-translate-y-0:hover{--tw-translate-y:0px}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.hover\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.hover\:-translate-y-4:hover{--tw-translate-y:-1rem}.hover\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.hover\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.hover\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.hover\:-translate-y-8:hover{--tw-translate-y:-2rem}.hover\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.hover\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.hover\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.hover\:-translate-y-12:hover{--tw-translate-y:-3rem}.hover\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.hover\:-translate-y-16:hover{--tw-translate-y:-4rem}.hover\:-translate-y-20:hover{--tw-translate-y:-5rem}.hover\:-translate-y-24:hover{--tw-translate-y:-6rem}.hover\:-translate-y-28:hover{--tw-translate-y:-7rem}.hover\:-translate-y-32:hover{--tw-translate-y:-8rem}.hover\:-translate-y-36:hover{--tw-translate-y:-9rem}.hover\:-translate-y-40:hover{--tw-translate-y:-10rem}.hover\:-translate-y-44:hover{--tw-translate-y:-11rem}.hover\:-translate-y-48:hover{--tw-translate-y:-12rem}.hover\:-translate-y-52:hover{--tw-translate-y:-13rem}.hover\:-translate-y-56:hover{--tw-translate-y:-14rem}.hover\:-translate-y-60:hover{--tw-translate-y:-15rem}.hover\:-translate-y-64:hover{--tw-translate-y:-16rem}.hover\:-translate-y-72:hover{--tw-translate-y:-18rem}.hover\:-translate-y-80:hover{--tw-translate-y:-20rem}.hover\:-translate-y-96:hover{--tw-translate-y:-24rem}.hover\:-translate-y-px:hover{--tw-translate-y:-1px}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-1\.5:hover{--tw-translate-y:-0.375rem}.hover\:-translate-y-2\.5:hover{--tw-translate-y:-0.625rem}.hover\:-translate-y-3\.5:hover{--tw-translate-y:-0.875rem}.hover\:translate-y-1\/2:hover{--tw-translate-y:50%}.hover\:translate-y-1\/3:hover{--tw-translate-y:33.333333%}.hover\:translate-y-2\/3:hover{--tw-translate-y:66.666667%}.hover\:translate-y-1\/4:hover{--tw-translate-y:25%}.hover\:translate-y-2\/4:hover{--tw-translate-y:50%}.hover\:translate-y-3\/4:hover{--tw-translate-y:75%}.hover\:translate-y-full:hover{--tw-translate-y:100%}.hover\:-translate-y-1\/2:hover{--tw-translate-y:-50%}.hover\:-translate-y-1\/3:hover{--tw-translate-y:-33.333333%}.hover\:-translate-y-2\/3:hover{--tw-translate-y:-66.666667%}.hover\:-translate-y-1\/4:hover{--tw-translate-y:-25%}.hover\:-translate-y-2\/4:hover{--tw-translate-y:-50%}.hover\:-translate-y-3\/4:hover{--tw-translate-y:-75%}.hover\:-translate-y-full:hover{--tw-translate-y:-100%}.focus\:translate-x-0:focus{--tw-translate-x:0px}.focus\:translate-x-1:focus{--tw-translate-x:0.25rem}.focus\:translate-x-2:focus{--tw-translate-x:0.5rem}.focus\:translate-x-3:focus{--tw-translate-x:0.75rem}.focus\:translate-x-4:focus{--tw-translate-x:1rem}.focus\:translate-x-5:focus{--tw-translate-x:1.25rem}.focus\:translate-x-6:focus{--tw-translate-x:1.5rem}.focus\:translate-x-7:focus{--tw-translate-x:1.75rem}.focus\:translate-x-8:focus{--tw-translate-x:2rem}.focus\:translate-x-9:focus{--tw-translate-x:2.25rem}.focus\:translate-x-10:focus{--tw-translate-x:2.5rem}.focus\:translate-x-11:focus{--tw-translate-x:2.75rem}.focus\:translate-x-12:focus{--tw-translate-x:3rem}.focus\:translate-x-14:focus{--tw-translate-x:3.5rem}.focus\:translate-x-16:focus{--tw-translate-x:4rem}.focus\:translate-x-20:focus{--tw-translate-x:5rem}.focus\:translate-x-24:focus{--tw-translate-x:6rem}.focus\:translate-x-28:focus{--tw-translate-x:7rem}.focus\:translate-x-32:focus{--tw-translate-x:8rem}.focus\:translate-x-36:focus{--tw-translate-x:9rem}.focus\:translate-x-40:focus{--tw-translate-x:10rem}.focus\:translate-x-44:focus{--tw-translate-x:11rem}.focus\:translate-x-48:focus{--tw-translate-x:12rem}.focus\:translate-x-52:focus{--tw-translate-x:13rem}.focus\:translate-x-56:focus{--tw-translate-x:14rem}.focus\:translate-x-60:focus{--tw-translate-x:15rem}.focus\:translate-x-64:focus{--tw-translate-x:16rem}.focus\:translate-x-72:focus{--tw-translate-x:18rem}.focus\:translate-x-80:focus{--tw-translate-x:20rem}.focus\:translate-x-96:focus{--tw-translate-x:24rem}.focus\:translate-x-px:focus{--tw-translate-x:1px}.focus\:translate-x-0\.5:focus{--tw-translate-x:0.125rem}.focus\:translate-x-1\.5:focus{--tw-translate-x:0.375rem}.focus\:translate-x-2\.5:focus{--tw-translate-x:0.625rem}.focus\:translate-x-3\.5:focus{--tw-translate-x:0.875rem}.focus\:-translate-x-0:focus{--tw-translate-x:0px}.focus\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.focus\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.focus\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.focus\:-translate-x-4:focus{--tw-translate-x:-1rem}.focus\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.focus\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.focus\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.focus\:-translate-x-8:focus{--tw-translate-x:-2rem}.focus\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.focus\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.focus\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.focus\:-translate-x-12:focus{--tw-translate-x:-3rem}.focus\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.focus\:-translate-x-16:focus{--tw-translate-x:-4rem}.focus\:-translate-x-20:focus{--tw-translate-x:-5rem}.focus\:-translate-x-24:focus{--tw-translate-x:-6rem}.focus\:-translate-x-28:focus{--tw-translate-x:-7rem}.focus\:-translate-x-32:focus{--tw-translate-x:-8rem}.focus\:-translate-x-36:focus{--tw-translate-x:-9rem}.focus\:-translate-x-40:focus{--tw-translate-x:-10rem}.focus\:-translate-x-44:focus{--tw-translate-x:-11rem}.focus\:-translate-x-48:focus{--tw-translate-x:-12rem}.focus\:-translate-x-52:focus{--tw-translate-x:-13rem}.focus\:-translate-x-56:focus{--tw-translate-x:-14rem}.focus\:-translate-x-60:focus{--tw-translate-x:-15rem}.focus\:-translate-x-64:focus{--tw-translate-x:-16rem}.focus\:-translate-x-72:focus{--tw-translate-x:-18rem}.focus\:-translate-x-80:focus{--tw-translate-x:-20rem}.focus\:-translate-x-96:focus{--tw-translate-x:-24rem}.focus\:-translate-x-px:focus{--tw-translate-x:-1px}.focus\:-translate-x-0\.5:focus{--tw-translate-x:-0.125rem}.focus\:-translate-x-1\.5:focus{--tw-translate-x:-0.375rem}.focus\:-translate-x-2\.5:focus{--tw-translate-x:-0.625rem}.focus\:-translate-x-3\.5:focus{--tw-translate-x:-0.875rem}.focus\:translate-x-1\/2:focus{--tw-translate-x:50%}.focus\:translate-x-1\/3:focus{--tw-translate-x:33.333333%}.focus\:translate-x-2\/3:focus{--tw-translate-x:66.666667%}.focus\:translate-x-1\/4:focus{--tw-translate-x:25%}.focus\:translate-x-2\/4:focus{--tw-translate-x:50%}.focus\:translate-x-3\/4:focus{--tw-translate-x:75%}.focus\:translate-x-full:focus{--tw-translate-x:100%}.focus\:-translate-x-1\/2:focus{--tw-translate-x:-50%}.focus\:-translate-x-1\/3:focus{--tw-translate-x:-33.333333%}.focus\:-translate-x-2\/3:focus{--tw-translate-x:-66.666667%}.focus\:-translate-x-1\/4:focus{--tw-translate-x:-25%}.focus\:-translate-x-2\/4:focus{--tw-translate-x:-50%}.focus\:-translate-x-3\/4:focus{--tw-translate-x:-75%}.focus\:-translate-x-full:focus{--tw-translate-x:-100%}.focus\:translate-y-0:focus{--tw-translate-y:0px}.focus\:translate-y-1:focus{--tw-translate-y:0.25rem}.focus\:translate-y-2:focus{--tw-translate-y:0.5rem}.focus\:translate-y-3:focus{--tw-translate-y:0.75rem}.focus\:translate-y-4:focus{--tw-translate-y:1rem}.focus\:translate-y-5:focus{--tw-translate-y:1.25rem}.focus\:translate-y-6:focus{--tw-translate-y:1.5rem}.focus\:translate-y-7:focus{--tw-translate-y:1.75rem}.focus\:translate-y-8:focus{--tw-translate-y:2rem}.focus\:translate-y-9:focus{--tw-translate-y:2.25rem}.focus\:translate-y-10:focus{--tw-translate-y:2.5rem}.focus\:translate-y-11:focus{--tw-translate-y:2.75rem}.focus\:translate-y-12:focus{--tw-translate-y:3rem}.focus\:translate-y-14:focus{--tw-translate-y:3.5rem}.focus\:translate-y-16:focus{--tw-translate-y:4rem}.focus\:translate-y-20:focus{--tw-translate-y:5rem}.focus\:translate-y-24:focus{--tw-translate-y:6rem}.focus\:translate-y-28:focus{--tw-translate-y:7rem}.focus\:translate-y-32:focus{--tw-translate-y:8rem}.focus\:translate-y-36:focus{--tw-translate-y:9rem}.focus\:translate-y-40:focus{--tw-translate-y:10rem}.focus\:translate-y-44:focus{--tw-translate-y:11rem}.focus\:translate-y-48:focus{--tw-translate-y:12rem}.focus\:translate-y-52:focus{--tw-translate-y:13rem}.focus\:translate-y-56:focus{--tw-translate-y:14rem}.focus\:translate-y-60:focus{--tw-translate-y:15rem}.focus\:translate-y-64:focus{--tw-translate-y:16rem}.focus\:translate-y-72:focus{--tw-translate-y:18rem}.focus\:translate-y-80:focus{--tw-translate-y:20rem}.focus\:translate-y-96:focus{--tw-translate-y:24rem}.focus\:translate-y-px:focus{--tw-translate-y:1px}.focus\:translate-y-0\.5:focus{--tw-translate-y:0.125rem}.focus\:translate-y-1\.5:focus{--tw-translate-y:0.375rem}.focus\:translate-y-2\.5:focus{--tw-translate-y:0.625rem}.focus\:translate-y-3\.5:focus{--tw-translate-y:0.875rem}.focus\:-translate-y-0:focus{--tw-translate-y:0px}.focus\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.focus\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.focus\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.focus\:-translate-y-4:focus{--tw-translate-y:-1rem}.focus\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.focus\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.focus\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.focus\:-translate-y-8:focus{--tw-translate-y:-2rem}.focus\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.focus\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.focus\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.focus\:-translate-y-12:focus{--tw-translate-y:-3rem}.focus\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.focus\:-translate-y-16:focus{--tw-translate-y:-4rem}.focus\:-translate-y-20:focus{--tw-translate-y:-5rem}.focus\:-translate-y-24:focus{--tw-translate-y:-6rem}.focus\:-translate-y-28:focus{--tw-translate-y:-7rem}.focus\:-translate-y-32:focus{--tw-translate-y:-8rem}.focus\:-translate-y-36:focus{--tw-translate-y:-9rem}.focus\:-translate-y-40:focus{--tw-translate-y:-10rem}.focus\:-translate-y-44:focus{--tw-translate-y:-11rem}.focus\:-translate-y-48:focus{--tw-translate-y:-12rem}.focus\:-translate-y-52:focus{--tw-translate-y:-13rem}.focus\:-translate-y-56:focus{--tw-translate-y:-14rem}.focus\:-translate-y-60:focus{--tw-translate-y:-15rem}.focus\:-translate-y-64:focus{--tw-translate-y:-16rem}.focus\:-translate-y-72:focus{--tw-translate-y:-18rem}.focus\:-translate-y-80:focus{--tw-translate-y:-20rem}.focus\:-translate-y-96:focus{--tw-translate-y:-24rem}.focus\:-translate-y-px:focus{--tw-translate-y:-1px}.focus\:-translate-y-0\.5:focus{--tw-translate-y:-0.125rem}.focus\:-translate-y-1\.5:focus{--tw-translate-y:-0.375rem}.focus\:-translate-y-2\.5:focus{--tw-translate-y:-0.625rem}.focus\:-translate-y-3\.5:focus{--tw-translate-y:-0.875rem}.focus\:translate-y-1\/2:focus{--tw-translate-y:50%}.focus\:translate-y-1\/3:focus{--tw-translate-y:33.333333%}.focus\:translate-y-2\/3:focus{--tw-translate-y:66.666667%}.focus\:translate-y-1\/4:focus{--tw-translate-y:25%}.focus\:translate-y-2\/4:focus{--tw-translate-y:50%}.focus\:translate-y-3\/4:focus{--tw-translate-y:75%}.focus\:translate-y-full:focus{--tw-translate-y:100%}.focus\:-translate-y-1\/2:focus{--tw-translate-y:-50%}.focus\:-translate-y-1\/3:focus{--tw-translate-y:-33.333333%}.focus\:-translate-y-2\/3:focus{--tw-translate-y:-66.666667%}.focus\:-translate-y-1\/4:focus{--tw-translate-y:-25%}.focus\:-translate-y-2\/4:focus{--tw-translate-y:-50%}.focus\:-translate-y-3\/4:focus{--tw-translate-y:-75%}.focus\:-translate-y-full:focus{--tw-translate-y:-100%}.rotate-0{--tw-rotate:0deg}.rotate-1{--tw-rotate:1deg}.rotate-2{--tw-rotate:2deg}.rotate-3{--tw-rotate:3deg}.rotate-6{--tw-rotate:6deg}.rotate-12{--tw-rotate:12deg}.rotate-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-180{--tw-rotate:180deg}.-rotate-180{--tw-rotate:-180deg}.-rotate-90{--tw-rotate:-90deg}.-rotate-45{--tw-rotate:-45deg}.-rotate-12{--tw-rotate:-12deg}.-rotate-6{--tw-rotate:-6deg}.-rotate-3{--tw-rotate:-3deg}.-rotate-2{--tw-rotate:-2deg}.-rotate-1{--tw-rotate:-1deg}.hover\:rotate-0:hover{--tw-rotate:0deg}.hover\:rotate-1:hover{--tw-rotate:1deg}.hover\:rotate-2:hover{--tw-rotate:2deg}.hover\:rotate-3:hover{--tw-rotate:3deg}.hover\:rotate-6:hover{--tw-rotate:6deg}.hover\:rotate-12:hover{--tw-rotate:12deg}.hover\:rotate-45:hover{--tw-rotate:45deg}.hover\:rotate-90:hover{--tw-rotate:90deg}.hover\:rotate-180:hover{--tw-rotate:180deg}.hover\:-rotate-180:hover{--tw-rotate:-180deg}.hover\:-rotate-90:hover{--tw-rotate:-90deg}.hover\:-rotate-45:hover{--tw-rotate:-45deg}.hover\:-rotate-12:hover{--tw-rotate:-12deg}.hover\:-rotate-6:hover{--tw-rotate:-6deg}.hover\:-rotate-3:hover{--tw-rotate:-3deg}.hover\:-rotate-2:hover{--tw-rotate:-2deg}.hover\:-rotate-1:hover{--tw-rotate:-1deg}.focus\:rotate-0:focus{--tw-rotate:0deg}.focus\:rotate-1:focus{--tw-rotate:1deg}.focus\:rotate-2:focus{--tw-rotate:2deg}.focus\:rotate-3:focus{--tw-rotate:3deg}.focus\:rotate-6:focus{--tw-rotate:6deg}.focus\:rotate-12:focus{--tw-rotate:12deg}.focus\:rotate-45:focus{--tw-rotate:45deg}.focus\:rotate-90:focus{--tw-rotate:90deg}.focus\:rotate-180:focus{--tw-rotate:180deg}.focus\:-rotate-180:focus{--tw-rotate:-180deg}.focus\:-rotate-90:focus{--tw-rotate:-90deg}.focus\:-rotate-45:focus{--tw-rotate:-45deg}.focus\:-rotate-12:focus{--tw-rotate:-12deg}.focus\:-rotate-6:focus{--tw-rotate:-6deg}.focus\:-rotate-3:focus{--tw-rotate:-3deg}.focus\:-rotate-2:focus{--tw-rotate:-2deg}.focus\:-rotate-1:focus{--tw-rotate:-1deg}.skew-x-0{--tw-skew-x:0deg}.skew-x-1{--tw-skew-x:1deg}.skew-x-2{--tw-skew-x:2deg}.skew-x-3{--tw-skew-x:3deg}.skew-x-6{--tw-skew-x:6deg}.skew-x-12{--tw-skew-x:12deg}.-skew-x-12{--tw-skew-x:-12deg}.-skew-x-6{--tw-skew-x:-6deg}.-skew-x-3{--tw-skew-x:-3deg}.-skew-x-2{--tw-skew-x:-2deg}.-skew-x-1{--tw-skew-x:-1deg}.skew-y-0{--tw-skew-y:0deg}.skew-y-1{--tw-skew-y:1deg}.skew-y-2{--tw-skew-y:2deg}.skew-y-3{--tw-skew-y:3deg}.skew-y-6{--tw-skew-y:6deg}.skew-y-12{--tw-skew-y:12deg}.-skew-y-12{--tw-skew-y:-12deg}.-skew-y-6{--tw-skew-y:-6deg}.-skew-y-3{--tw-skew-y:-3deg}.-skew-y-2{--tw-skew-y:-2deg}.-skew-y-1{--tw-skew-y:-1deg}.hover\:skew-x-0:hover{--tw-skew-x:0deg}.hover\:skew-x-1:hover{--tw-skew-x:1deg}.hover\:skew-x-2:hover{--tw-skew-x:2deg}.hover\:skew-x-3:hover{--tw-skew-x:3deg}.hover\:skew-x-6:hover{--tw-skew-x:6deg}.hover\:skew-x-12:hover{--tw-skew-x:12deg}.hover\:-skew-x-12:hover{--tw-skew-x:-12deg}.hover\:-skew-x-6:hover{--tw-skew-x:-6deg}.hover\:-skew-x-3:hover{--tw-skew-x:-3deg}.hover\:-skew-x-2:hover{--tw-skew-x:-2deg}.hover\:-skew-x-1:hover{--tw-skew-x:-1deg}.hover\:skew-y-0:hover{--tw-skew-y:0deg}.hover\:skew-y-1:hover{--tw-skew-y:1deg}.hover\:skew-y-2:hover{--tw-skew-y:2deg}.hover\:skew-y-3:hover{--tw-skew-y:3deg}.hover\:skew-y-6:hover{--tw-skew-y:6deg}.hover\:skew-y-12:hover{--tw-skew-y:12deg}.hover\:-skew-y-12:hover{--tw-skew-y:-12deg}.hover\:-skew-y-6:hover{--tw-skew-y:-6deg}.hover\:-skew-y-3:hover{--tw-skew-y:-3deg}.hover\:-skew-y-2:hover{--tw-skew-y:-2deg}.hover\:-skew-y-1:hover{--tw-skew-y:-1deg}.focus\:skew-x-0:focus{--tw-skew-x:0deg}.focus\:skew-x-1:focus{--tw-skew-x:1deg}.focus\:skew-x-2:focus{--tw-skew-x:2deg}.focus\:skew-x-3:focus{--tw-skew-x:3deg}.focus\:skew-x-6:focus{--tw-skew-x:6deg}.focus\:skew-x-12:focus{--tw-skew-x:12deg}.focus\:-skew-x-12:focus{--tw-skew-x:-12deg}.focus\:-skew-x-6:focus{--tw-skew-x:-6deg}.focus\:-skew-x-3:focus{--tw-skew-x:-3deg}.focus\:-skew-x-2:focus{--tw-skew-x:-2deg}.focus\:-skew-x-1:focus{--tw-skew-x:-1deg}.focus\:skew-y-0:focus{--tw-skew-y:0deg}.focus\:skew-y-1:focus{--tw-skew-y:1deg}.focus\:skew-y-2:focus{--tw-skew-y:2deg}.focus\:skew-y-3:focus{--tw-skew-y:3deg}.focus\:skew-y-6:focus{--tw-skew-y:6deg}.focus\:skew-y-12:focus{--tw-skew-y:12deg}.focus\:-skew-y-12:focus{--tw-skew-y:-12deg}.focus\:-skew-y-6:focus{--tw-skew-y:-6deg}.focus\:-skew-y-3:focus{--tw-skew-y:-3deg}.focus\:-skew-y-2:focus{--tw-skew-y:-2deg}.focus\:-skew-y-1:focus{--tw-skew-y:-1deg}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.hover\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.hover\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.hover\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.hover\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.hover\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.hover\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.focus\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.focus\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.focus\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.focus\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.focus\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.focus\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.focus\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.focus\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.focus\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.focus\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.scale-x-0{--tw-scale-x:0}.scale-x-50{--tw-scale-x:.5}.scale-x-75{--tw-scale-x:.75}.scale-x-90{--tw-scale-x:.9}.scale-x-95{--tw-scale-x:.95}.scale-x-100{--tw-scale-x:1}.scale-x-105{--tw-scale-x:1.05}.scale-x-110{--tw-scale-x:1.1}.scale-x-125{--tw-scale-x:1.25}.scale-x-150{--tw-scale-x:1.5}.scale-y-0{--tw-scale-y:0}.scale-y-50{--tw-scale-y:.5}.scale-y-75{--tw-scale-y:.75}.scale-y-90{--tw-scale-y:.9}.scale-y-95{--tw-scale-y:.95}.scale-y-100{--tw-scale-y:1}.scale-y-105{--tw-scale-y:1.05}.scale-y-110{--tw-scale-y:1.1}.scale-y-125{--tw-scale-y:1.25}.scale-y-150{--tw-scale-y:1.5}.hover\:scale-x-0:hover{--tw-scale-x:0}.hover\:scale-x-50:hover{--tw-scale-x:.5}.hover\:scale-x-75:hover{--tw-scale-x:.75}.hover\:scale-x-90:hover{--tw-scale-x:.9}.hover\:scale-x-95:hover{--tw-scale-x:.95}.hover\:scale-x-100:hover{--tw-scale-x:1}.hover\:scale-x-105:hover{--tw-scale-x:1.05}.hover\:scale-x-110:hover{--tw-scale-x:1.1}.hover\:scale-x-125:hover{--tw-scale-x:1.25}.hover\:scale-x-150:hover{--tw-scale-x:1.5}.hover\:scale-y-0:hover{--tw-scale-y:0}.hover\:scale-y-50:hover{--tw-scale-y:.5}.hover\:scale-y-75:hover{--tw-scale-y:.75}.hover\:scale-y-90:hover{--tw-scale-y:.9}.hover\:scale-y-95:hover{--tw-scale-y:.95}.hover\:scale-y-100:hover{--tw-scale-y:1}.hover\:scale-y-105:hover{--tw-scale-y:1.05}.hover\:scale-y-110:hover{--tw-scale-y:1.1}.hover\:scale-y-125:hover{--tw-scale-y:1.25}.hover\:scale-y-150:hover{--tw-scale-y:1.5}.focus\:scale-x-0:focus{--tw-scale-x:0}.focus\:scale-x-50:focus{--tw-scale-x:.5}.focus\:scale-x-75:focus{--tw-scale-x:.75}.focus\:scale-x-90:focus{--tw-scale-x:.9}.focus\:scale-x-95:focus{--tw-scale-x:.95}.focus\:scale-x-100:focus{--tw-scale-x:1}.focus\:scale-x-105:focus{--tw-scale-x:1.05}.focus\:scale-x-110:focus{--tw-scale-x:1.1}.focus\:scale-x-125:focus{--tw-scale-x:1.25}.focus\:scale-x-150:focus{--tw-scale-x:1.5}.focus\:scale-y-0:focus{--tw-scale-y:0}.focus\:scale-y-50:focus{--tw-scale-y:.5}.focus\:scale-y-75:focus{--tw-scale-y:.75}.focus\:scale-y-90:focus{--tw-scale-y:.9}.focus\:scale-y-95:focus{--tw-scale-y:.95}.focus\:scale-y-100:focus{--tw-scale-y:1}.focus\:scale-y-105:focus{--tw-scale-y:1.05}.focus\:scale-y-110:focus{--tw-scale-y:1.1}.focus\:scale-y-125:focus{--tw-scale-y:1.25}.focus\:scale-y-150:focus{--tw-scale-y:1.5}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{100%,75%{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-none{animation:none}.animate-spin{animation:spin 1s linear infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;user-select:auto}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.appearance-none{-webkit-appearance:none;appearance:none}.auto-cols-auto{grid-auto-columns:auto}.auto-cols-min{grid-auto-columns:min-content}.auto-cols-max{grid-auto-columns:max-content}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.auto-rows-auto{grid-auto-rows:auto}.auto-rows-min{grid-auto-rows:min-content}.auto-rows-max{grid-auto-rows:max-content}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-none{grid-template-columns:none}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-rows-none{grid-template-rows:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.place-content-center{place-content:center}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.gap-10{gap:2.5rem}.gap-11{gap:2.75rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-20{gap:5rem}.gap-24{gap:6rem}.gap-28{gap:7rem}.gap-32{gap:8rem}.gap-36{gap:9rem}.gap-40{gap:10rem}.gap-44{gap:11rem}.gap-48{gap:12rem}.gap-52{gap:13rem}.gap-56{gap:14rem}.gap-60{gap:15rem}.gap-64{gap:16rem}.gap-72{gap:18rem}.gap-80{gap:20rem}.gap-96{gap:24rem}.gap-px{gap:1px}.gap-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2\.5{gap:.625rem}.gap-3\.5{gap:.875rem}.gap-x-0{column-gap:0}.gap-x-1{column-gap:.25rem}.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-x-5{column-gap:1.25rem}.gap-x-6{column-gap:1.5rem}.gap-x-7{column-gap:1.75rem}.gap-x-8{column-gap:2rem}.gap-x-9{column-gap:2.25rem}.gap-x-10{column-gap:2.5rem}.gap-x-11{column-gap:2.75rem}.gap-x-12{column-gap:3rem}.gap-x-14{column-gap:3.5rem}.gap-x-16{column-gap:4rem}.gap-x-20{column-gap:5rem}.gap-x-24{column-gap:6rem}.gap-x-28{column-gap:7rem}.gap-x-32{column-gap:8rem}.gap-x-36{column-gap:9rem}.gap-x-40{column-gap:10rem}.gap-x-44{column-gap:11rem}.gap-x-48{column-gap:12rem}.gap-x-52{column-gap:13rem}.gap-x-56{column-gap:14rem}.gap-x-60{column-gap:15rem}.gap-x-64{column-gap:16rem}.gap-x-72{column-gap:18rem}.gap-x-80{column-gap:20rem}.gap-x-96{column-gap:24rem}.gap-x-px{column-gap:1px}.gap-x-0\.5{column-gap:.125rem}.gap-x-1\.5{column-gap:.375rem}.gap-x-2\.5{column-gap:.625rem}.gap-x-3\.5{column-gap:.875rem}.gap-y-0{row-gap:0}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-5{row-gap:1.25rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-9{row-gap:2.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-11{row-gap:2.75rem}.gap-y-12{row-gap:3rem}.gap-y-14{row-gap:3.5rem}.gap-y-16{row-gap:4rem}.gap-y-20{row-gap:5rem}.gap-y-24{row-gap:6rem}.gap-y-28{row-gap:7rem}.gap-y-32{row-gap:8rem}.gap-y-36{row-gap:9rem}.gap-y-40{row-gap:10rem}.gap-y-44{row-gap:11rem}.gap-y-48{row-gap:12rem}.gap-y-52{row-gap:13rem}.gap-y-56{row-gap:14rem}.gap-y-60{row-gap:15rem}.gap-y-64{row-gap:16rem}.gap-y-72{row-gap:18rem}.gap-y-80{row-gap:20rem}.gap-y-96{row-gap:24rem}.gap-y-px{row-gap:1px}.gap-y-0\.5{row-gap:.125rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2\.5{row-gap:.625rem}.gap-y-3\.5{row-gap:.875rem}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.875rem * var(--tw-space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.-space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.125rem * var(--tw-space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.625rem * var(--tw-space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.875rem * var(--tw-space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.25rem * var(--tw-space-y-reverse))}.-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.5rem * var(--tw-space-y-reverse))}.-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.75rem * var(--tw-space-y-reverse))}.-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.-space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.125rem * var(--tw-space-y-reverse))}.-space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.375rem * var(--tw-space-y-reverse))}.-space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.625rem * var(--tw-space-y-reverse))}.-space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.875rem * var(--tw-space-y-reverse))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.divide-double>:not([hidden])~:not([hidden]){border-style:double}.divide-none>:not([hidden])~:not([hidden]){border-style:none}.divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0,0,0,var(--tw-divide-opacity))}.divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,255,255,var(--tw-divide-opacity))}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,250,251,var(--tw-divide-opacity))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(243,244,246,var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(229,231,235,var(--tw-divide-opacity))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,213,219,var(--tw-divide-opacity))}.divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(156,163,175,var(--tw-divide-opacity))}.divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(107,114,128,var(--tw-divide-opacity))}.divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(75,85,99,var(--tw-divide-opacity))}.divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,65,81,var(--tw-divide-opacity))}.divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(31,41,55,var(--tw-divide-opacity))}.divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(17,24,39,var(--tw-divide-opacity))}.divide-red-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,242,242,var(--tw-divide-opacity))}.divide-red-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,226,226,var(--tw-divide-opacity))}.divide-red-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,202,202,var(--tw-divide-opacity))}.divide-red-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,165,165,var(--tw-divide-opacity))}.divide-red-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(248,113,113,var(--tw-divide-opacity))}.divide-red-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,68,68,var(--tw-divide-opacity))}.divide-red-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(220,38,38,var(--tw-divide-opacity))}.divide-red-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(185,28,28,var(--tw-divide-opacity))}.divide-red-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(153,27,27,var(--tw-divide-opacity))}.divide-red-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127,29,29,var(--tw-divide-opacity))}.divide-yellow-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,251,235,var(--tw-divide-opacity))}.divide-yellow-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,243,199,var(--tw-divide-opacity))}.divide-yellow-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,230,138,var(--tw-divide-opacity))}.divide-yellow-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,211,77,var(--tw-divide-opacity))}.divide-yellow-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,191,36,var(--tw-divide-opacity))}.divide-yellow-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,158,11,var(--tw-divide-opacity))}.divide-yellow-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(217,119,6,var(--tw-divide-opacity))}.divide-yellow-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(180,83,9,var(--tw-divide-opacity))}.divide-yellow-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(146,64,14,var(--tw-divide-opacity))}.divide-yellow-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(120,53,15,var(--tw-divide-opacity))}.divide-green-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,253,245,var(--tw-divide-opacity))}.divide-green-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,250,229,var(--tw-divide-opacity))}.divide-green-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,243,208,var(--tw-divide-opacity))}.divide-green-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(110,231,183,var(--tw-divide-opacity))}.divide-green-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(52,211,153,var(--tw-divide-opacity))}.divide-green-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(16,185,129,var(--tw-divide-opacity))}.divide-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(5,150,105,var(--tw-divide-opacity))}.divide-green-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(4,120,87,var(--tw-divide-opacity))}.divide-green-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,95,70,var(--tw-divide-opacity))}.divide-green-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,78,59,var(--tw-divide-opacity))}.divide-blue-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,246,255,var(--tw-divide-opacity))}.divide-blue-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,234,254,var(--tw-divide-opacity))}.divide-blue-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(191,219,254,var(--tw-divide-opacity))}.divide-blue-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(147,197,253,var(--tw-divide-opacity))}.divide-blue-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(96,165,250,var(--tw-divide-opacity))}.divide-blue-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(59,130,246,var(--tw-divide-opacity))}.divide-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(37,99,235,var(--tw-divide-opacity))}.divide-blue-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(29,78,216,var(--tw-divide-opacity))}.divide-blue-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,64,175,var(--tw-divide-opacity))}.divide-blue-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,58,138,var(--tw-divide-opacity))}.divide-indigo-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(238,242,255,var(--tw-divide-opacity))}.divide-indigo-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(224,231,255,var(--tw-divide-opacity))}.divide-indigo-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(199,210,254,var(--tw-divide-opacity))}.divide-indigo-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(165,180,252,var(--tw-divide-opacity))}.divide-indigo-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(129,140,248,var(--tw-divide-opacity))}.divide-indigo-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(99,102,241,var(--tw-divide-opacity))}.divide-indigo-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(79,70,229,var(--tw-divide-opacity))}.divide-indigo-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(67,56,202,var(--tw-divide-opacity))}.divide-indigo-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,48,163,var(--tw-divide-opacity))}.divide-indigo-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(49,46,129,var(--tw-divide-opacity))}.divide-purple-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,243,255,var(--tw-divide-opacity))}.divide-purple-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(237,233,254,var(--tw-divide-opacity))}.divide-purple-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(221,214,254,var(--tw-divide-opacity))}.divide-purple-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(196,181,253,var(--tw-divide-opacity))}.divide-purple-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,139,250,var(--tw-divide-opacity))}.divide-purple-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(139,92,246,var(--tw-divide-opacity))}.divide-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(124,58,237,var(--tw-divide-opacity))}.divide-purple-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(109,40,217,var(--tw-divide-opacity))}.divide-purple-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(91,33,182,var(--tw-divide-opacity))}.divide-purple-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(76,29,149,var(--tw-divide-opacity))}.divide-pink-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,242,248,var(--tw-divide-opacity))}.divide-pink-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,231,243,var(--tw-divide-opacity))}.divide-pink-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,207,232,var(--tw-divide-opacity))}.divide-pink-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,168,212,var(--tw-divide-opacity))}.divide-pink-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(244,114,182,var(--tw-divide-opacity))}.divide-pink-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,72,153,var(--tw-divide-opacity))}.divide-pink-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,39,119,var(--tw-divide-opacity))}.divide-pink-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(190,24,93,var(--tw-divide-opacity))}.divide-pink-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(157,23,77,var(--tw-divide-opacity))}.divide-pink-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(131,24,67,var(--tw-divide-opacity))}.divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}.place-self-auto{place-self:auto}.place-self-start{place-self:start}.place-self-end{place-self:end}.place-self-center{place-self:center}.place-self-stretch{place-self:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overscroll-auto{overscroll-behavior:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.overscroll-y-auto{overscroll-behavior-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}.overscroll-x-auto{overscroll-behavior-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-x-none{overscroll-behavior-x:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-ellipsis{text-overflow:ellipsis}.overflow-clip{text-overflow:clip}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tl-xl{border-top-left-radius:.75rem}.rounded-tl-2xl{border-top-left-radius:1rem}.rounded-tl-3xl{border-top-left-radius:1.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-none{border-top-right-radius:0}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-tr-md{border-top-right-radius:.375rem}.rounded-tr-lg{border-top-right-radius:.5rem}.rounded-tr-xl{border-top-right-radius:.75rem}.rounded-tr-2xl{border-top-right-radius:1rem}.rounded-tr-3xl{border-top-right-radius:1.5rem}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-none{border-bottom-right-radius:0}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-br-xl{border-bottom-right-radius:.75rem}.rounded-br-2xl{border-bottom-right-radius:1rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-none{border-bottom-left-radius:0}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-bl-xl{border-bottom-left-radius:.75rem}.rounded-bl-2xl{border-bottom-left-radius:1rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-bl-full{border-bottom-left-radius:9999px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-t-8{border-top-width:8px}.border-t{border-top-width:1px}.border-r-0{border-right-width:0}.border-r-2{border-right-width:2px}.border-r-4{border-right-width:4px}.border-r-8{border-right-width:8px}.border-r{border-right-width:1px}.border-b-0{border-bottom-width:0}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-b-8{border-bottom-width:8px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-l-8{border-left-width:8px}.border-l{border-left-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-none{border-style:none}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.group:hover .group-hover\:border-transparent{border-color:transparent}.group:hover .group-hover\:border-current{border-color:currentColor}.group:hover .group-hover\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.group:hover .group-hover\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.group:hover .group-hover\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.group:hover .group-hover\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.group:hover .group-hover\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.group:hover .group-hover\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.group:hover .group-hover\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.group:hover .group-hover\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.group:hover .group-hover\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.group:hover .group-hover\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.focus-within\:border-transparent:focus-within{border-color:transparent}.focus-within\:border-current:focus-within{border-color:currentColor}.focus-within\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.focus-within\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.focus-within\:border-gray-50:focus-within{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.focus-within\:border-gray-100:focus-within{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.focus-within\:border-gray-200:focus-within{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.focus-within\:border-gray-300:focus-within{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.focus-within\:border-gray-400:focus-within{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.focus-within\:border-gray-500:focus-within{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.focus-within\:border-gray-600:focus-within{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.focus-within\:border-gray-700:focus-within{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.focus-within\:border-gray-800:focus-within{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.focus-within\:border-gray-900:focus-within{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.focus-within\:border-red-50:focus-within{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.focus-within\:border-red-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.focus-within\:border-red-200:focus-within{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.focus-within\:border-red-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.focus-within\:border-red-400:focus-within{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.focus-within\:border-red-500:focus-within{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.focus-within\:border-red-600:focus-within{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.focus-within\:border-red-700:focus-within{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.focus-within\:border-red-800:focus-within{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.focus-within\:border-red-900:focus-within{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.focus-within\:border-yellow-50:focus-within{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.focus-within\:border-yellow-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.focus-within\:border-yellow-200:focus-within{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.focus-within\:border-yellow-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.focus-within\:border-yellow-400:focus-within{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.focus-within\:border-yellow-500:focus-within{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.focus-within\:border-yellow-600:focus-within{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.focus-within\:border-yellow-700:focus-within{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.focus-within\:border-yellow-800:focus-within{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.focus-within\:border-yellow-900:focus-within{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.focus-within\:border-green-50:focus-within{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.focus-within\:border-green-100:focus-within{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.focus-within\:border-green-200:focus-within{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.focus-within\:border-green-300:focus-within{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.focus-within\:border-green-400:focus-within{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.focus-within\:border-green-500:focus-within{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.focus-within\:border-green-600:focus-within{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.focus-within\:border-green-700:focus-within{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.focus-within\:border-green-800:focus-within{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.focus-within\:border-green-900:focus-within{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.focus-within\:border-blue-50:focus-within{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.focus-within\:border-blue-100:focus-within{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.focus-within\:border-blue-200:focus-within{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.focus-within\:border-blue-300:focus-within{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.focus-within\:border-blue-400:focus-within{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.focus-within\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.focus-within\:border-blue-600:focus-within{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.focus-within\:border-blue-700:focus-within{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.focus-within\:border-blue-800:focus-within{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.focus-within\:border-blue-900:focus-within{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.focus-within\:border-indigo-50:focus-within{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.focus-within\:border-indigo-100:focus-within{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.focus-within\:border-indigo-200:focus-within{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.focus-within\:border-indigo-300:focus-within{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.focus-within\:border-indigo-400:focus-within{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.focus-within\:border-indigo-500:focus-within{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.focus-within\:border-indigo-600:focus-within{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.focus-within\:border-indigo-700:focus-within{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.focus-within\:border-indigo-800:focus-within{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.focus-within\:border-indigo-900:focus-within{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.focus-within\:border-purple-50:focus-within{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.focus-within\:border-purple-100:focus-within{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.focus-within\:border-purple-200:focus-within{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.focus-within\:border-purple-300:focus-within{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.focus-within\:border-purple-400:focus-within{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.focus-within\:border-purple-500:focus-within{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.focus-within\:border-purple-600:focus-within{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.focus-within\:border-purple-700:focus-within{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.focus-within\:border-purple-800:focus-within{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.focus-within\:border-purple-900:focus-within{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.focus-within\:border-pink-50:focus-within{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.focus-within\:border-pink-100:focus-within{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.focus-within\:border-pink-200:focus-within{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.focus-within\:border-pink-300:focus-within{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.focus-within\:border-pink-400:focus-within{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.focus-within\:border-pink-500:focus-within{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.focus-within\:border-pink-600:focus-within{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.focus-within\:border-pink-700:focus-within{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.focus-within\:border-pink-800:focus-within{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.focus-within\:border-pink-900:focus-within{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.hover\:border-transparent:hover{border-color:transparent}.hover\:border-current:hover{border-color:currentColor}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-current:focus{border-color:currentColor}.focus\:border-black:focus{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.focus\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.focus\:border-gray-50:focus{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.focus\:border-gray-100:focus{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.focus\:border-gray-200:focus{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.focus\:border-gray-400:focus{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.focus\:border-gray-600:focus{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.focus\:border-gray-700:focus{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.focus\:border-gray-800:focus{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.focus\:border-gray-900:focus{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.focus\:border-red-50:focus{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.focus\:border-red-100:focus{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.focus\:border-red-200:focus{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.focus\:border-red-300:focus{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.focus\:border-red-600:focus{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.focus\:border-red-700:focus{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.focus\:border-red-800:focus{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.focus\:border-red-900:focus{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.focus\:border-yellow-50:focus{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.focus\:border-yellow-100:focus{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.focus\:border-yellow-200:focus{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.focus\:border-yellow-300:focus{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.focus\:border-yellow-400:focus{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.focus\:border-yellow-500:focus{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.focus\:border-yellow-600:focus{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.focus\:border-yellow-700:focus{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.focus\:border-yellow-800:focus{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.focus\:border-yellow-900:focus{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.focus\:border-green-50:focus{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.focus\:border-green-100:focus{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.focus\:border-green-200:focus{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.focus\:border-green-300:focus{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.focus\:border-green-400:focus{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.focus\:border-green-600:focus{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.focus\:border-green-700:focus{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.focus\:border-green-800:focus{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.focus\:border-green-900:focus{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.focus\:border-blue-50:focus{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.focus\:border-blue-100:focus{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.focus\:border-blue-200:focus{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.focus\:border-blue-700:focus{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.focus\:border-blue-800:focus{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.focus\:border-blue-900:focus{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.focus\:border-indigo-50:focus{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.focus\:border-indigo-100:focus{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.focus\:border-indigo-200:focus{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.focus\:border-indigo-600:focus{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.focus\:border-indigo-800:focus{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.focus\:border-indigo-900:focus{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.focus\:border-purple-50:focus{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.focus\:border-purple-100:focus{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.focus\:border-purple-200:focus{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.focus\:border-purple-300:focus{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.focus\:border-purple-400:focus{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.focus\:border-purple-600:focus{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.focus\:border-purple-700:focus{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.focus\:border-purple-800:focus{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.focus\:border-purple-900:focus{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.focus\:border-pink-50:focus{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.focus\:border-pink-100:focus{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.focus\:border-pink-200:focus{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.focus\:border-pink-300:focus{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.focus\:border-pink-400:focus{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.focus\:border-pink-500:focus{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.focus\:border-pink-600:focus{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.focus\:border-pink-700:focus{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.focus\:border-pink-800:focus{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.focus\:border-pink-900:focus{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.border-opacity-0{--tw-border-opacity:0}.border-opacity-5{--tw-border-opacity:0.05}.border-opacity-10{--tw-border-opacity:0.1}.border-opacity-20{--tw-border-opacity:0.2}.border-opacity-25{--tw-border-opacity:0.25}.border-opacity-30{--tw-border-opacity:0.3}.border-opacity-40{--tw-border-opacity:0.4}.border-opacity-50{--tw-border-opacity:0.5}.border-opacity-60{--tw-border-opacity:0.6}.border-opacity-70{--tw-border-opacity:0.7}.border-opacity-75{--tw-border-opacity:0.75}.border-opacity-80{--tw-border-opacity:0.8}.border-opacity-90{--tw-border-opacity:0.9}.border-opacity-95{--tw-border-opacity:0.95}.border-opacity-100{--tw-border-opacity:1}.group:hover .group-hover\:border-opacity-0{--tw-border-opacity:0}.group:hover .group-hover\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .group-hover\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .group-hover\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .group-hover\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .group-hover\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .group-hover\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .group-hover\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .group-hover\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .group-hover\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .group-hover\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .group-hover\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .group-hover\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .group-hover\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .group-hover\:border-opacity-100{--tw-border-opacity:1}.focus-within\:border-opacity-0:focus-within{--tw-border-opacity:0}.focus-within\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.focus-within\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.focus-within\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.focus-within\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.focus-within\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.focus-within\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.focus-within\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.focus-within\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.focus-within\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.focus-within\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.focus-within\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.focus-within\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.focus-within\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.focus-within\:border-opacity-100:focus-within{--tw-border-opacity:1}.hover\:border-opacity-0:hover{--tw-border-opacity:0}.hover\:border-opacity-5:hover{--tw-border-opacity:0.05}.hover\:border-opacity-10:hover{--tw-border-opacity:0.1}.hover\:border-opacity-20:hover{--tw-border-opacity:0.2}.hover\:border-opacity-25:hover{--tw-border-opacity:0.25}.hover\:border-opacity-30:hover{--tw-border-opacity:0.3}.hover\:border-opacity-40:hover{--tw-border-opacity:0.4}.hover\:border-opacity-50:hover{--tw-border-opacity:0.5}.hover\:border-opacity-60:hover{--tw-border-opacity:0.6}.hover\:border-opacity-70:hover{--tw-border-opacity:0.7}.hover\:border-opacity-75:hover{--tw-border-opacity:0.75}.hover\:border-opacity-80:hover{--tw-border-opacity:0.8}.hover\:border-opacity-90:hover{--tw-border-opacity:0.9}.hover\:border-opacity-95:hover{--tw-border-opacity:0.95}.hover\:border-opacity-100:hover{--tw-border-opacity:1}.focus\:border-opacity-0:focus{--tw-border-opacity:0}.focus\:border-opacity-5:focus{--tw-border-opacity:0.05}.focus\:border-opacity-10:focus{--tw-border-opacity:0.1}.focus\:border-opacity-20:focus{--tw-border-opacity:0.2}.focus\:border-opacity-25:focus{--tw-border-opacity:0.25}.focus\:border-opacity-30:focus{--tw-border-opacity:0.3}.focus\:border-opacity-40:focus{--tw-border-opacity:0.4}.focus\:border-opacity-50:focus{--tw-border-opacity:0.5}.focus\:border-opacity-60:focus{--tw-border-opacity:0.6}.focus\:border-opacity-70:focus{--tw-border-opacity:0.7}.focus\:border-opacity-75:focus{--tw-border-opacity:0.75}.focus\:border-opacity-80:focus{--tw-border-opacity:0.8}.focus\:border-opacity-90:focus{--tw-border-opacity:0.9}.focus\:border-opacity-95:focus{--tw-border-opacity:0.95}.focus\:border-opacity-100:focus{--tw-border-opacity:1}.bg-transparent{background-color:transparent}.bg-current{background-color:currentColor}.bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-transparent{background-color:transparent}.group:hover .group-hover\:bg-current{background-color:currentColor}.group:hover .group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.group:hover .group-hover\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.focus-within\:bg-transparent:focus-within{background-color:transparent}.focus-within\:bg-current:focus-within{background-color:currentColor}.focus-within\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.focus-within\:bg-gray-100:focus-within{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.focus-within\:bg-gray-200:focus-within{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.focus-within\:bg-gray-300:focus-within{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.focus-within\:bg-gray-400:focus-within{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.focus-within\:bg-gray-500:focus-within{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.focus-within\:bg-gray-600:focus-within{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.focus-within\:bg-gray-700:focus-within{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.focus-within\:bg-gray-800:focus-within{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.focus-within\:bg-gray-900:focus-within{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.focus-within\:bg-red-50:focus-within{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.focus-within\:bg-red-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.focus-within\:bg-red-200:focus-within{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.focus-within\:bg-red-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.focus-within\:bg-red-400:focus-within{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.focus-within\:bg-red-500:focus-within{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.focus-within\:bg-red-600:focus-within{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.focus-within\:bg-red-700:focus-within{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.focus-within\:bg-red-800:focus-within{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.focus-within\:bg-red-900:focus-within{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.focus-within\:bg-yellow-50:focus-within{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.focus-within\:bg-yellow-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.focus-within\:bg-yellow-200:focus-within{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.focus-within\:bg-yellow-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.focus-within\:bg-yellow-400:focus-within{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.focus-within\:bg-yellow-500:focus-within{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.focus-within\:bg-yellow-600:focus-within{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.focus-within\:bg-yellow-700:focus-within{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.focus-within\:bg-yellow-800:focus-within{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.focus-within\:bg-yellow-900:focus-within{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.focus-within\:bg-green-50:focus-within{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.focus-within\:bg-green-100:focus-within{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.focus-within\:bg-green-200:focus-within{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.focus-within\:bg-green-300:focus-within{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.focus-within\:bg-green-400:focus-within{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.focus-within\:bg-green-500:focus-within{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.focus-within\:bg-green-600:focus-within{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.focus-within\:bg-green-700:focus-within{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.focus-within\:bg-green-800:focus-within{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.focus-within\:bg-green-900:focus-within{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.focus-within\:bg-blue-50:focus-within{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.focus-within\:bg-blue-100:focus-within{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.focus-within\:bg-blue-200:focus-within{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.focus-within\:bg-blue-300:focus-within{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.focus-within\:bg-blue-400:focus-within{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.focus-within\:bg-blue-500:focus-within{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.focus-within\:bg-blue-600:focus-within{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.focus-within\:bg-blue-700:focus-within{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.focus-within\:bg-blue-800:focus-within{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.focus-within\:bg-blue-900:focus-within{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.focus-within\:bg-indigo-50:focus-within{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.focus-within\:bg-indigo-100:focus-within{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.focus-within\:bg-indigo-200:focus-within{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.focus-within\:bg-indigo-300:focus-within{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.focus-within\:bg-indigo-400:focus-within{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.focus-within\:bg-indigo-500:focus-within{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.focus-within\:bg-indigo-600:focus-within{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.focus-within\:bg-indigo-700:focus-within{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.focus-within\:bg-indigo-800:focus-within{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.focus-within\:bg-indigo-900:focus-within{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.focus-within\:bg-purple-50:focus-within{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.focus-within\:bg-purple-100:focus-within{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.focus-within\:bg-purple-200:focus-within{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.focus-within\:bg-purple-300:focus-within{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.focus-within\:bg-purple-400:focus-within{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.focus-within\:bg-purple-500:focus-within{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.focus-within\:bg-purple-600:focus-within{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.focus-within\:bg-purple-700:focus-within{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.focus-within\:bg-purple-800:focus-within{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.focus-within\:bg-purple-900:focus-within{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.focus-within\:bg-pink-50:focus-within{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.focus-within\:bg-pink-100:focus-within{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.focus-within\:bg-pink-200:focus-within{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.focus-within\:bg-pink-300:focus-within{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.focus-within\:bg-pink-400:focus-within{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.focus-within\:bg-pink-500:focus-within{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.focus-within\:bg-pink-600:focus-within{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.focus-within\:bg-pink-700:focus-within{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.focus-within\:bg-pink-800:focus-within{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.focus-within\:bg-pink-900:focus-within{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-current:hover{background-color:currentColor}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.focus\:bg-transparent:focus{background-color:transparent}.focus\:bg-current:focus{background-color:currentColor}.focus\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.focus\:bg-gray-300:focus{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.focus\:bg-gray-400:focus{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.focus\:bg-gray-500:focus{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.focus\:bg-gray-600:focus{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.focus\:bg-gray-900:focus{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.focus\:bg-red-50:focus{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.focus\:bg-red-100:focus{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.focus\:bg-red-200:focus{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.focus\:bg-red-300:focus{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.focus\:bg-red-400:focus{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.focus\:bg-red-500:focus{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.focus\:bg-red-600:focus{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.focus\:bg-red-800:focus{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.focus\:bg-red-900:focus{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.focus\:bg-yellow-50:focus{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.focus\:bg-yellow-100:focus{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.focus\:bg-yellow-200:focus{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.focus\:bg-yellow-300:focus{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.focus\:bg-yellow-400:focus{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.focus\:bg-yellow-500:focus{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.focus\:bg-yellow-600:focus{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.focus\:bg-yellow-700:focus{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.focus\:bg-yellow-800:focus{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.focus\:bg-yellow-900:focus{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.focus\:bg-green-50:focus{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.focus\:bg-green-100:focus{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.focus\:bg-green-200:focus{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.focus\:bg-green-300:focus{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.focus\:bg-green-400:focus{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.focus\:bg-green-500:focus{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.focus\:bg-green-600:focus{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.focus\:bg-green-700:focus{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.focus\:bg-green-800:focus{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.focus\:bg-green-900:focus{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.focus\:bg-blue-50:focus{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.focus\:bg-blue-100:focus{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.focus\:bg-blue-200:focus{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.focus\:bg-blue-300:focus{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.focus\:bg-blue-400:focus{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.focus\:bg-blue-500:focus{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.focus\:bg-blue-600:focus{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.focus\:bg-blue-700:focus{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.focus\:bg-blue-800:focus{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.focus\:bg-blue-900:focus{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.focus\:bg-indigo-50:focus{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.focus\:bg-indigo-200:focus{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.focus\:bg-indigo-300:focus{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.focus\:bg-indigo-400:focus{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.focus\:bg-indigo-500:focus{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.focus\:bg-indigo-600:focus{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.focus\:bg-indigo-800:focus{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.focus\:bg-indigo-900:focus{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.focus\:bg-purple-50:focus{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.focus\:bg-purple-100:focus{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.focus\:bg-purple-200:focus{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.focus\:bg-purple-300:focus{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.focus\:bg-purple-400:focus{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.focus\:bg-purple-500:focus{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.focus\:bg-purple-600:focus{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.focus\:bg-purple-700:focus{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.focus\:bg-purple-800:focus{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.focus\:bg-purple-900:focus{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.focus\:bg-pink-50:focus{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.focus\:bg-pink-100:focus{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.focus\:bg-pink-200:focus{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.focus\:bg-pink-300:focus{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.focus\:bg-pink-400:focus{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.focus\:bg-pink-500:focus{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.focus\:bg-pink-600:focus{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.focus\:bg-pink-700:focus{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.focus\:bg-pink-800:focus{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.focus\:bg-pink-900:focus{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.bg-opacity-0{--tw-bg-opacity:0}.bg-opacity-5{--tw-bg-opacity:0.05}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-25{--tw-bg-opacity:0.25}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-opacity-40{--tw-bg-opacity:0.4}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-opacity-70{--tw-bg-opacity:0.7}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-80{--tw-bg-opacity:0.8}.bg-opacity-90{--tw-bg-opacity:0.9}.bg-opacity-95{--tw-bg-opacity:0.95}.bg-opacity-100{--tw-bg-opacity:1}.group:hover .group-hover\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .group-hover\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .group-hover\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .group-hover\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .group-hover\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .group-hover\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .group-hover\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .group-hover\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .group-hover\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .group-hover\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .group-hover\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .group-hover\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .group-hover\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .group-hover\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .group-hover\:bg-opacity-100{--tw-bg-opacity:1}.focus-within\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.focus-within\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.focus-within\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.focus-within\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.focus-within\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.focus-within\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.focus-within\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.focus-within\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.focus-within\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.focus-within\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.focus-within\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.focus-within\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.focus-within\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.focus-within\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.focus-within\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.hover\:bg-opacity-0:hover{--tw-bg-opacity:0}.hover\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.hover\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.hover\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.hover\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.hover\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.hover\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.hover\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.hover\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.hover\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.hover\:bg-opacity-100:hover{--tw-bg-opacity:1}.focus\:bg-opacity-0:focus{--tw-bg-opacity:0}.focus\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.focus\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.focus\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.focus\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.focus\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.focus\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.focus\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.focus\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.focus\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.focus\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.focus\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.focus\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.focus\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.focus\:bg-opacity-100:focus{--tw-bg-opacity:1}.bg-none{background-image:none}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-black{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.from-gray-100{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.from-gray-200{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.from-gray-300{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.from-gray-500{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.from-gray-600{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.from-gray-700{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.from-gray-800{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.from-red-100{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.from-red-200{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.from-red-300{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.from-red-400{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.from-red-600{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.from-red-700{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.from-red-800{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.from-red-900{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.from-yellow-50{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.from-yellow-100{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.from-yellow-200{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.from-yellow-300{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.from-yellow-400{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.from-yellow-500{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.from-yellow-600{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.from-yellow-700{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.from-yellow-800{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.from-yellow-900{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.from-green-50{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.from-green-100{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.from-green-200{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.from-green-300{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.from-green-400{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.from-green-500{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.from-green-600{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.from-green-700{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.from-green-800{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.from-green-900{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.from-blue-100{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.from-blue-200{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.from-blue-300{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.from-blue-400{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.from-blue-800{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.from-blue-900{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.from-indigo-50{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.from-indigo-100{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.from-indigo-200{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.from-indigo-300{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.from-indigo-400{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.from-indigo-700{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.from-indigo-800{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.from-indigo-900{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.from-purple-50{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.from-purple-100{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.from-purple-200{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.from-purple-300{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.from-purple-400{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.from-purple-500{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.from-purple-600{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.from-purple-700{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.from-purple-800{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.from-purple-900{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.from-pink-50{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.from-pink-100{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.from-pink-200{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.from-pink-300{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.from-pink-400{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.from-pink-500{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.from-pink-700{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.from-pink-800{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.from-pink-900{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.hover\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.hover\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\:from-black:hover{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.hover\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\:from-gray-50:hover{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.hover\:from-gray-100:hover{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.hover\:from-gray-200:hover{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.hover\:from-gray-300:hover{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.hover\:from-gray-400:hover{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.hover\:from-gray-500:hover{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.hover\:from-gray-600:hover{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.hover\:from-gray-700:hover{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.hover\:from-gray-800:hover{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.hover\:from-gray-900:hover{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.hover\:from-red-50:hover{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.hover\:from-red-100:hover{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.hover\:from-red-200:hover{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.hover\:from-red-300:hover{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.hover\:from-red-400:hover{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.hover\:from-red-500:hover{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.hover\:from-red-600:hover{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.hover\:from-red-700:hover{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.hover\:from-red-800:hover{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.hover\:from-red-900:hover{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.hover\:from-yellow-50:hover{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.hover\:from-yellow-100:hover{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.hover\:from-yellow-200:hover{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.hover\:from-yellow-300:hover{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.hover\:from-yellow-400:hover{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.hover\:from-yellow-500:hover{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.hover\:from-yellow-600:hover{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.hover\:from-yellow-700:hover{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.hover\:from-yellow-800:hover{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.hover\:from-yellow-900:hover{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.hover\:from-green-50:hover{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.hover\:from-green-100:hover{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.hover\:from-green-200:hover{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.hover\:from-green-300:hover{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.hover\:from-green-400:hover{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.hover\:from-green-500:hover{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.hover\:from-green-600:hover{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.hover\:from-green-700:hover{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.hover\:from-green-800:hover{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.hover\:from-green-900:hover{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.hover\:from-blue-50:hover{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.hover\:from-blue-100:hover{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.hover\:from-blue-200:hover{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.hover\:from-blue-300:hover{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.hover\:from-blue-400:hover{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.hover\:from-blue-800:hover{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.hover\:from-blue-900:hover{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.hover\:from-indigo-50:hover{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.hover\:from-indigo-100:hover{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.hover\:from-indigo-200:hover{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.hover\:from-indigo-300:hover{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.hover\:from-indigo-400:hover{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.hover\:from-indigo-500:hover{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.hover\:from-indigo-600:hover{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.hover\:from-indigo-700:hover{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.hover\:from-indigo-800:hover{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.hover\:from-indigo-900:hover{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.hover\:from-purple-50:hover{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.hover\:from-purple-100:hover{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.hover\:from-purple-200:hover{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.hover\:from-purple-300:hover{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.hover\:from-purple-400:hover{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.hover\:from-purple-500:hover{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.hover\:from-purple-600:hover{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.hover\:from-purple-700:hover{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.hover\:from-purple-800:hover{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.hover\:from-purple-900:hover{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.hover\:from-pink-50:hover{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.hover\:from-pink-100:hover{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.hover\:from-pink-200:hover{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.hover\:from-pink-300:hover{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.hover\:from-pink-400:hover{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.hover\:from-pink-500:hover{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.hover\:from-pink-600:hover{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.hover\:from-pink-700:hover{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.hover\:from-pink-800:hover{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.hover\:from-pink-900:hover{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.focus\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.focus\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\:from-black:focus{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.focus\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\:from-gray-50:focus{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.focus\:from-gray-100:focus{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.focus\:from-gray-200:focus{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.focus\:from-gray-300:focus{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.focus\:from-gray-400:focus{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.focus\:from-gray-500:focus{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.focus\:from-gray-600:focus{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.focus\:from-gray-700:focus{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.focus\:from-gray-800:focus{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.focus\:from-gray-900:focus{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.focus\:from-red-50:focus{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.focus\:from-red-100:focus{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.focus\:from-red-200:focus{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.focus\:from-red-300:focus{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.focus\:from-red-400:focus{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.focus\:from-red-500:focus{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.focus\:from-red-600:focus{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.focus\:from-red-700:focus{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.focus\:from-red-800:focus{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.focus\:from-red-900:focus{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.focus\:from-yellow-50:focus{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.focus\:from-yellow-100:focus{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.focus\:from-yellow-200:focus{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.focus\:from-yellow-300:focus{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.focus\:from-yellow-400:focus{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.focus\:from-yellow-500:focus{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.focus\:from-yellow-600:focus{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.focus\:from-yellow-700:focus{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.focus\:from-yellow-800:focus{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.focus\:from-yellow-900:focus{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.focus\:from-green-50:focus{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.focus\:from-green-100:focus{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.focus\:from-green-200:focus{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.focus\:from-green-300:focus{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.focus\:from-green-400:focus{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.focus\:from-green-500:focus{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.focus\:from-green-600:focus{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.focus\:from-green-700:focus{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.focus\:from-green-800:focus{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.focus\:from-green-900:focus{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.focus\:from-blue-50:focus{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.focus\:from-blue-100:focus{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.focus\:from-blue-200:focus{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.focus\:from-blue-300:focus{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.focus\:from-blue-400:focus{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.focus\:from-blue-500:focus{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.focus\:from-blue-600:focus{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.focus\:from-blue-700:focus{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.focus\:from-blue-800:focus{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.focus\:from-blue-900:focus{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.focus\:from-indigo-50:focus{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.focus\:from-indigo-100:focus{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.focus\:from-indigo-200:focus{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.focus\:from-indigo-300:focus{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.focus\:from-indigo-400:focus{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.focus\:from-indigo-500:focus{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.focus\:from-indigo-600:focus{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.focus\:from-indigo-700:focus{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.focus\:from-indigo-800:focus{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.focus\:from-indigo-900:focus{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.focus\:from-purple-50:focus{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.focus\:from-purple-100:focus{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.focus\:from-purple-200:focus{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.focus\:from-purple-300:focus{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.focus\:from-purple-400:focus{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.focus\:from-purple-500:focus{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.focus\:from-purple-600:focus{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.focus\:from-purple-700:focus{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.focus\:from-purple-800:focus{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.focus\:from-purple-900:focus{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.focus\:from-pink-50:focus{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.focus\:from-pink-100:focus{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.focus\:from-pink-200:focus{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.focus\:from-pink-300:focus{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.focus\:from-pink-400:focus{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.focus\:from-pink-500:focus{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.focus\:from-pink-600:focus{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.focus\:from-pink-700:focus{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.focus\:from-pink-800:focus{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.focus\:from-pink-900:focus{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.via-current{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-black{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.via-gray-50{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.via-gray-100{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.via-gray-200{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.via-gray-300{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.via-gray-400{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.via-gray-500{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.via-gray-600{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.via-gray-700{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.via-gray-800{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.via-gray-900{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.via-red-50{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.via-red-100{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.via-red-200{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.via-red-300{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.via-red-400{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.via-red-500{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.via-red-600{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.via-red-700{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.via-red-800{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.via-red-900{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.via-yellow-50{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.via-yellow-100{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.via-yellow-200{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.via-yellow-300{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.via-yellow-400{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.via-yellow-500{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.via-yellow-600{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.via-yellow-700{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.via-yellow-800{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.via-yellow-900{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.via-green-50{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.via-green-100{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.via-green-200{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.via-green-300{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.via-green-400{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.via-green-500{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.via-green-600{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.via-green-700{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.via-green-800{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.via-green-900{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.via-blue-50{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.via-blue-100{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.via-blue-200{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.via-blue-300{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.via-blue-400{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.via-blue-500{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.via-blue-600{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.via-blue-700{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.via-blue-800{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.via-blue-900{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.via-indigo-50{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.via-indigo-100{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.via-indigo-200{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.via-indigo-300{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.via-indigo-400{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.via-indigo-500{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.via-indigo-600{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.via-indigo-700{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.via-indigo-800{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.via-indigo-900{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.via-purple-50{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.via-purple-100{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.via-purple-200{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.via-purple-300{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.via-purple-400{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.via-purple-500{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.via-purple-600{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.via-purple-700{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.via-purple-800{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.via-purple-900{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.via-pink-50{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.via-pink-100{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.via-pink-200{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.via-pink-300{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.via-pink-400{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.via-pink-500{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.via-pink-600{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.via-pink-700{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.via-pink-800{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.via-pink-900{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.hover\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.hover\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.hover\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.hover\:via-gray-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.hover\:via-gray-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.hover\:via-gray-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.hover\:via-gray-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.hover\:via-gray-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.hover\:via-gray-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.hover\:via-gray-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.hover\:via-gray-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.hover\:via-gray-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.hover\:via-gray-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.hover\:via-red-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.hover\:via-red-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.hover\:via-red-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.hover\:via-red-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.hover\:via-red-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.hover\:via-red-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.hover\:via-red-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.hover\:via-red-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.hover\:via-red-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.hover\:via-red-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.hover\:via-yellow-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.hover\:via-yellow-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.hover\:via-yellow-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.hover\:via-yellow-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.hover\:via-yellow-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.hover\:via-yellow-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.hover\:via-yellow-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.hover\:via-yellow-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.hover\:via-yellow-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.hover\:via-yellow-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.hover\:via-green-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.hover\:via-green-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.hover\:via-green-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.hover\:via-green-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.hover\:via-green-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.hover\:via-green-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.hover\:via-green-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.hover\:via-green-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.hover\:via-green-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.hover\:via-green-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.hover\:via-blue-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.hover\:via-blue-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.hover\:via-blue-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.hover\:via-blue-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.hover\:via-blue-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.hover\:via-blue-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.hover\:via-blue-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.hover\:via-blue-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.hover\:via-blue-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.hover\:via-blue-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.hover\:via-indigo-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.hover\:via-indigo-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.hover\:via-indigo-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.hover\:via-indigo-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.hover\:via-indigo-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.hover\:via-indigo-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.hover\:via-indigo-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.hover\:via-indigo-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.hover\:via-indigo-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.hover\:via-indigo-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.hover\:via-purple-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.hover\:via-purple-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.hover\:via-purple-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.hover\:via-purple-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.hover\:via-purple-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.hover\:via-purple-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.hover\:via-purple-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.hover\:via-purple-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.hover\:via-purple-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.hover\:via-purple-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.hover\:via-pink-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.hover\:via-pink-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.hover\:via-pink-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.hover\:via-pink-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.hover\:via-pink-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.hover\:via-pink-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.hover\:via-pink-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.hover\:via-pink-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.hover\:via-pink-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.hover\:via-pink-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.focus\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.focus\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.focus\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.focus\:via-gray-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.focus\:via-gray-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.focus\:via-gray-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.focus\:via-gray-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.focus\:via-gray-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.focus\:via-gray-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.focus\:via-gray-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.focus\:via-gray-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.focus\:via-gray-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.focus\:via-gray-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.focus\:via-red-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.focus\:via-red-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.focus\:via-red-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.focus\:via-red-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.focus\:via-red-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.focus\:via-red-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.focus\:via-red-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.focus\:via-red-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.focus\:via-red-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.focus\:via-red-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.focus\:via-yellow-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.focus\:via-yellow-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.focus\:via-yellow-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.focus\:via-yellow-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.focus\:via-yellow-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.focus\:via-yellow-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.focus\:via-yellow-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.focus\:via-yellow-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.focus\:via-yellow-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.focus\:via-yellow-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.focus\:via-green-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.focus\:via-green-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.focus\:via-green-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.focus\:via-green-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.focus\:via-green-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.focus\:via-green-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.focus\:via-green-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.focus\:via-green-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.focus\:via-green-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.focus\:via-green-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.focus\:via-blue-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.focus\:via-blue-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.focus\:via-blue-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.focus\:via-blue-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.focus\:via-blue-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.focus\:via-blue-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.focus\:via-blue-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.focus\:via-blue-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.focus\:via-blue-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.focus\:via-blue-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.focus\:via-indigo-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.focus\:via-indigo-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.focus\:via-indigo-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.focus\:via-indigo-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.focus\:via-indigo-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.focus\:via-indigo-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.focus\:via-indigo-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.focus\:via-indigo-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.focus\:via-indigo-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.focus\:via-indigo-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.focus\:via-purple-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.focus\:via-purple-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.focus\:via-purple-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.focus\:via-purple-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.focus\:via-purple-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.focus\:via-purple-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.focus\:via-purple-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.focus\:via-purple-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.focus\:via-purple-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.focus\:via-purple-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.focus\:via-pink-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.focus\:via-pink-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.focus\:via-pink-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.focus\:via-pink-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.focus\:via-pink-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.focus\:via-pink-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.focus\:via-pink-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.focus\:via-pink-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.focus\:via-pink-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.focus\:via-pink-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.to-transparent{--tw-gradient-to:transparent}.to-current{--tw-gradient-to:currentColor}.to-black{--tw-gradient-to:#000}.to-white{--tw-gradient-to:#fff}.to-gray-50{--tw-gradient-to:#f9fafb}.to-gray-100{--tw-gradient-to:#f3f4f6}.to-gray-200{--tw-gradient-to:#e5e7eb}.to-gray-300{--tw-gradient-to:#d1d5db}.to-gray-400{--tw-gradient-to:#9ca3af}.to-gray-500{--tw-gradient-to:#6b7280}.to-gray-600{--tw-gradient-to:#4b5563}.to-gray-700{--tw-gradient-to:#374151}.to-gray-800{--tw-gradient-to:#1f2937}.to-gray-900{--tw-gradient-to:#111827}.to-red-50{--tw-gradient-to:#fef2f2}.to-red-100{--tw-gradient-to:#fee2e2}.to-red-200{--tw-gradient-to:#fecaca}.to-red-300{--tw-gradient-to:#fca5a5}.to-red-400{--tw-gradient-to:#f87171}.to-red-500{--tw-gradient-to:#ef4444}.to-red-600{--tw-gradient-to:#dc2626}.to-red-700{--tw-gradient-to:#b91c1c}.to-red-800{--tw-gradient-to:#991b1b}.to-red-900{--tw-gradient-to:#7f1d1d}.to-yellow-50{--tw-gradient-to:#fffbeb}.to-yellow-100{--tw-gradient-to:#fef3c7}.to-yellow-200{--tw-gradient-to:#fde68a}.to-yellow-300{--tw-gradient-to:#fcd34d}.to-yellow-400{--tw-gradient-to:#fbbf24}.to-yellow-500{--tw-gradient-to:#f59e0b}.to-yellow-600{--tw-gradient-to:#d97706}.to-yellow-700{--tw-gradient-to:#b45309}.to-yellow-800{--tw-gradient-to:#92400e}.to-yellow-900{--tw-gradient-to:#78350f}.to-green-50{--tw-gradient-to:#ecfdf5}.to-green-100{--tw-gradient-to:#d1fae5}.to-green-200{--tw-gradient-to:#a7f3d0}.to-green-300{--tw-gradient-to:#6ee7b7}.to-green-400{--tw-gradient-to:#34d399}.to-green-500{--tw-gradient-to:#10b981}.to-green-600{--tw-gradient-to:#059669}.to-green-700{--tw-gradient-to:#047857}.to-green-800{--tw-gradient-to:#065f46}.to-green-900{--tw-gradient-to:#064e3b}.to-blue-50{--tw-gradient-to:#eff6ff}.to-blue-100{--tw-gradient-to:#dbeafe}.to-blue-200{--tw-gradient-to:#bfdbfe}.to-blue-300{--tw-gradient-to:#93c5fd}.to-blue-400{--tw-gradient-to:#60a5fa}.to-blue-500{--tw-gradient-to:#3b82f6}.to-blue-600{--tw-gradient-to:#2563eb}.to-blue-700{--tw-gradient-to:#1d4ed8}.to-blue-800{--tw-gradient-to:#1e40af}.to-blue-900{--tw-gradient-to:#1e3a8a}.to-indigo-50{--tw-gradient-to:#eef2ff}.to-indigo-100{--tw-gradient-to:#e0e7ff}.to-indigo-200{--tw-gradient-to:#c7d2fe}.to-indigo-300{--tw-gradient-to:#a5b4fc}.to-indigo-400{--tw-gradient-to:#818cf8}.to-indigo-500{--tw-gradient-to:#6366f1}.to-indigo-600{--tw-gradient-to:#4f46e5}.to-indigo-700{--tw-gradient-to:#4338ca}.to-indigo-800{--tw-gradient-to:#3730a3}.to-indigo-900{--tw-gradient-to:#312e81}.to-purple-50{--tw-gradient-to:#f5f3ff}.to-purple-100{--tw-gradient-to:#ede9fe}.to-purple-200{--tw-gradient-to:#ddd6fe}.to-purple-300{--tw-gradient-to:#c4b5fd}.to-purple-400{--tw-gradient-to:#a78bfa}.to-purple-500{--tw-gradient-to:#8b5cf6}.to-purple-600{--tw-gradient-to:#7c3aed}.to-purple-700{--tw-gradient-to:#6d28d9}.to-purple-800{--tw-gradient-to:#5b21b6}.to-purple-900{--tw-gradient-to:#4c1d95}.to-pink-50{--tw-gradient-to:#fdf2f8}.to-pink-100{--tw-gradient-to:#fce7f3}.to-pink-200{--tw-gradient-to:#fbcfe8}.to-pink-300{--tw-gradient-to:#f9a8d4}.to-pink-400{--tw-gradient-to:#f472b6}.to-pink-500{--tw-gradient-to:#ec4899}.to-pink-600{--tw-gradient-to:#db2777}.to-pink-700{--tw-gradient-to:#be185d}.to-pink-800{--tw-gradient-to:#9d174d}.to-pink-900{--tw-gradient-to:#831843}.hover\:to-transparent:hover{--tw-gradient-to:transparent}.hover\:to-current:hover{--tw-gradient-to:currentColor}.hover\:to-black:hover{--tw-gradient-to:#000}.hover\:to-white:hover{--tw-gradient-to:#fff}.hover\:to-gray-50:hover{--tw-gradient-to:#f9fafb}.hover\:to-gray-100:hover{--tw-gradient-to:#f3f4f6}.hover\:to-gray-200:hover{--tw-gradient-to:#e5e7eb}.hover\:to-gray-300:hover{--tw-gradient-to:#d1d5db}.hover\:to-gray-400:hover{--tw-gradient-to:#9ca3af}.hover\:to-gray-500:hover{--tw-gradient-to:#6b7280}.hover\:to-gray-600:hover{--tw-gradient-to:#4b5563}.hover\:to-gray-700:hover{--tw-gradient-to:#374151}.hover\:to-gray-800:hover{--tw-gradient-to:#1f2937}.hover\:to-gray-900:hover{--tw-gradient-to:#111827}.hover\:to-red-50:hover{--tw-gradient-to:#fef2f2}.hover\:to-red-100:hover{--tw-gradient-to:#fee2e2}.hover\:to-red-200:hover{--tw-gradient-to:#fecaca}.hover\:to-red-300:hover{--tw-gradient-to:#fca5a5}.hover\:to-red-400:hover{--tw-gradient-to:#f87171}.hover\:to-red-500:hover{--tw-gradient-to:#ef4444}.hover\:to-red-600:hover{--tw-gradient-to:#dc2626}.hover\:to-red-700:hover{--tw-gradient-to:#b91c1c}.hover\:to-red-800:hover{--tw-gradient-to:#991b1b}.hover\:to-red-900:hover{--tw-gradient-to:#7f1d1d}.hover\:to-yellow-50:hover{--tw-gradient-to:#fffbeb}.hover\:to-yellow-100:hover{--tw-gradient-to:#fef3c7}.hover\:to-yellow-200:hover{--tw-gradient-to:#fde68a}.hover\:to-yellow-300:hover{--tw-gradient-to:#fcd34d}.hover\:to-yellow-400:hover{--tw-gradient-to:#fbbf24}.hover\:to-yellow-500:hover{--tw-gradient-to:#f59e0b}.hover\:to-yellow-600:hover{--tw-gradient-to:#d97706}.hover\:to-yellow-700:hover{--tw-gradient-to:#b45309}.hover\:to-yellow-800:hover{--tw-gradient-to:#92400e}.hover\:to-yellow-900:hover{--tw-gradient-to:#78350f}.hover\:to-green-50:hover{--tw-gradient-to:#ecfdf5}.hover\:to-green-100:hover{--tw-gradient-to:#d1fae5}.hover\:to-green-200:hover{--tw-gradient-to:#a7f3d0}.hover\:to-green-300:hover{--tw-gradient-to:#6ee7b7}.hover\:to-green-400:hover{--tw-gradient-to:#34d399}.hover\:to-green-500:hover{--tw-gradient-to:#10b981}.hover\:to-green-600:hover{--tw-gradient-to:#059669}.hover\:to-green-700:hover{--tw-gradient-to:#047857}.hover\:to-green-800:hover{--tw-gradient-to:#065f46}.hover\:to-green-900:hover{--tw-gradient-to:#064e3b}.hover\:to-blue-50:hover{--tw-gradient-to:#eff6ff}.hover\:to-blue-100:hover{--tw-gradient-to:#dbeafe}.hover\:to-blue-200:hover{--tw-gradient-to:#bfdbfe}.hover\:to-blue-300:hover{--tw-gradient-to:#93c5fd}.hover\:to-blue-400:hover{--tw-gradient-to:#60a5fa}.hover\:to-blue-500:hover{--tw-gradient-to:#3b82f6}.hover\:to-blue-600:hover{--tw-gradient-to:#2563eb}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8}.hover\:to-blue-800:hover{--tw-gradient-to:#1e40af}.hover\:to-blue-900:hover{--tw-gradient-to:#1e3a8a}.hover\:to-indigo-50:hover{--tw-gradient-to:#eef2ff}.hover\:to-indigo-100:hover{--tw-gradient-to:#e0e7ff}.hover\:to-indigo-200:hover{--tw-gradient-to:#c7d2fe}.hover\:to-indigo-300:hover{--tw-gradient-to:#a5b4fc}.hover\:to-indigo-400:hover{--tw-gradient-to:#818cf8}.hover\:to-indigo-500:hover{--tw-gradient-to:#6366f1}.hover\:to-indigo-600:hover{--tw-gradient-to:#4f46e5}.hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca}.hover\:to-indigo-800:hover{--tw-gradient-to:#3730a3}.hover\:to-indigo-900:hover{--tw-gradient-to:#312e81}.hover\:to-purple-50:hover{--tw-gradient-to:#f5f3ff}.hover\:to-purple-100:hover{--tw-gradient-to:#ede9fe}.hover\:to-purple-200:hover{--tw-gradient-to:#ddd6fe}.hover\:to-purple-300:hover{--tw-gradient-to:#c4b5fd}.hover\:to-purple-400:hover{--tw-gradient-to:#a78bfa}.hover\:to-purple-500:hover{--tw-gradient-to:#8b5cf6}.hover\:to-purple-600:hover{--tw-gradient-to:#7c3aed}.hover\:to-purple-700:hover{--tw-gradient-to:#6d28d9}.hover\:to-purple-800:hover{--tw-gradient-to:#5b21b6}.hover\:to-purple-900:hover{--tw-gradient-to:#4c1d95}.hover\:to-pink-50:hover{--tw-gradient-to:#fdf2f8}.hover\:to-pink-100:hover{--tw-gradient-to:#fce7f3}.hover\:to-pink-200:hover{--tw-gradient-to:#fbcfe8}.hover\:to-pink-300:hover{--tw-gradient-to:#f9a8d4}.hover\:to-pink-400:hover{--tw-gradient-to:#f472b6}.hover\:to-pink-500:hover{--tw-gradient-to:#ec4899}.hover\:to-pink-600:hover{--tw-gradient-to:#db2777}.hover\:to-pink-700:hover{--tw-gradient-to:#be185d}.hover\:to-pink-800:hover{--tw-gradient-to:#9d174d}.hover\:to-pink-900:hover{--tw-gradient-to:#831843}.focus\:to-transparent:focus{--tw-gradient-to:transparent}.focus\:to-current:focus{--tw-gradient-to:currentColor}.focus\:to-black:focus{--tw-gradient-to:#000}.focus\:to-white:focus{--tw-gradient-to:#fff}.focus\:to-gray-50:focus{--tw-gradient-to:#f9fafb}.focus\:to-gray-100:focus{--tw-gradient-to:#f3f4f6}.focus\:to-gray-200:focus{--tw-gradient-to:#e5e7eb}.focus\:to-gray-300:focus{--tw-gradient-to:#d1d5db}.focus\:to-gray-400:focus{--tw-gradient-to:#9ca3af}.focus\:to-gray-500:focus{--tw-gradient-to:#6b7280}.focus\:to-gray-600:focus{--tw-gradient-to:#4b5563}.focus\:to-gray-700:focus{--tw-gradient-to:#374151}.focus\:to-gray-800:focus{--tw-gradient-to:#1f2937}.focus\:to-gray-900:focus{--tw-gradient-to:#111827}.focus\:to-red-50:focus{--tw-gradient-to:#fef2f2}.focus\:to-red-100:focus{--tw-gradient-to:#fee2e2}.focus\:to-red-200:focus{--tw-gradient-to:#fecaca}.focus\:to-red-300:focus{--tw-gradient-to:#fca5a5}.focus\:to-red-400:focus{--tw-gradient-to:#f87171}.focus\:to-red-500:focus{--tw-gradient-to:#ef4444}.focus\:to-red-600:focus{--tw-gradient-to:#dc2626}.focus\:to-red-700:focus{--tw-gradient-to:#b91c1c}.focus\:to-red-800:focus{--tw-gradient-to:#991b1b}.focus\:to-red-900:focus{--tw-gradient-to:#7f1d1d}.focus\:to-yellow-50:focus{--tw-gradient-to:#fffbeb}.focus\:to-yellow-100:focus{--tw-gradient-to:#fef3c7}.focus\:to-yellow-200:focus{--tw-gradient-to:#fde68a}.focus\:to-yellow-300:focus{--tw-gradient-to:#fcd34d}.focus\:to-yellow-400:focus{--tw-gradient-to:#fbbf24}.focus\:to-yellow-500:focus{--tw-gradient-to:#f59e0b}.focus\:to-yellow-600:focus{--tw-gradient-to:#d97706}.focus\:to-yellow-700:focus{--tw-gradient-to:#b45309}.focus\:to-yellow-800:focus{--tw-gradient-to:#92400e}.focus\:to-yellow-900:focus{--tw-gradient-to:#78350f}.focus\:to-green-50:focus{--tw-gradient-to:#ecfdf5}.focus\:to-green-100:focus{--tw-gradient-to:#d1fae5}.focus\:to-green-200:focus{--tw-gradient-to:#a7f3d0}.focus\:to-green-300:focus{--tw-gradient-to:#6ee7b7}.focus\:to-green-400:focus{--tw-gradient-to:#34d399}.focus\:to-green-500:focus{--tw-gradient-to:#10b981}.focus\:to-green-600:focus{--tw-gradient-to:#059669}.focus\:to-green-700:focus{--tw-gradient-to:#047857}.focus\:to-green-800:focus{--tw-gradient-to:#065f46}.focus\:to-green-900:focus{--tw-gradient-to:#064e3b}.focus\:to-blue-50:focus{--tw-gradient-to:#eff6ff}.focus\:to-blue-100:focus{--tw-gradient-to:#dbeafe}.focus\:to-blue-200:focus{--tw-gradient-to:#bfdbfe}.focus\:to-blue-300:focus{--tw-gradient-to:#93c5fd}.focus\:to-blue-400:focus{--tw-gradient-to:#60a5fa}.focus\:to-blue-500:focus{--tw-gradient-to:#3b82f6}.focus\:to-blue-600:focus{--tw-gradient-to:#2563eb}.focus\:to-blue-700:focus{--tw-gradient-to:#1d4ed8}.focus\:to-blue-800:focus{--tw-gradient-to:#1e40af}.focus\:to-blue-900:focus{--tw-gradient-to:#1e3a8a}.focus\:to-indigo-50:focus{--tw-gradient-to:#eef2ff}.focus\:to-indigo-100:focus{--tw-gradient-to:#e0e7ff}.focus\:to-indigo-200:focus{--tw-gradient-to:#c7d2fe}.focus\:to-indigo-300:focus{--tw-gradient-to:#a5b4fc}.focus\:to-indigo-400:focus{--tw-gradient-to:#818cf8}.focus\:to-indigo-500:focus{--tw-gradient-to:#6366f1}.focus\:to-indigo-600:focus{--tw-gradient-to:#4f46e5}.focus\:to-indigo-700:focus{--tw-gradient-to:#4338ca}.focus\:to-indigo-800:focus{--tw-gradient-to:#3730a3}.focus\:to-indigo-900:focus{--tw-gradient-to:#312e81}.focus\:to-purple-50:focus{--tw-gradient-to:#f5f3ff}.focus\:to-purple-100:focus{--tw-gradient-to:#ede9fe}.focus\:to-purple-200:focus{--tw-gradient-to:#ddd6fe}.focus\:to-purple-300:focus{--tw-gradient-to:#c4b5fd}.focus\:to-purple-400:focus{--tw-gradient-to:#a78bfa}.focus\:to-purple-500:focus{--tw-gradient-to:#8b5cf6}.focus\:to-purple-600:focus{--tw-gradient-to:#7c3aed}.focus\:to-purple-700:focus{--tw-gradient-to:#6d28d9}.focus\:to-purple-800:focus{--tw-gradient-to:#5b21b6}.focus\:to-purple-900:focus{--tw-gradient-to:#4c1d95}.focus\:to-pink-50:focus{--tw-gradient-to:#fdf2f8}.focus\:to-pink-100:focus{--tw-gradient-to:#fce7f3}.focus\:to-pink-200:focus{--tw-gradient-to:#fbcfe8}.focus\:to-pink-300:focus{--tw-gradient-to:#f9a8d4}.focus\:to-pink-400:focus{--tw-gradient-to:#f472b6}.focus\:to-pink-500:focus{--tw-gradient-to:#ec4899}.focus\:to-pink-600:focus{--tw-gradient-to:#db2777}.focus\:to-pink-700:focus{--tw-gradient-to:#be185d}.focus\:to-pink-800:focus{--tw-gradient-to:#9d174d}.focus\:to-pink-900:focus{--tw-gradient-to:#831843}.decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.bg-auto{background-size:auto}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-content{background-clip:content-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-bottom{background-position:bottom}.bg-center{background-position:center}.bg-left{background-position:left}.bg-left-bottom{background-position:left bottom}.bg-left-top{background-position:left top}.bg-right{background-position:right}.bg-right-bottom{background-position:right bottom}.bg-right-top{background-position:right top}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-repeat-round{background-repeat:round}.bg-repeat-space{background-repeat:space}.bg-origin-border{background-origin:border-box}.bg-origin-padding{background-origin:padding-box}.bg-origin-content{background-origin:content-box}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-0{stroke-width:0}.stroke-1{stroke-width:1}.stroke-2{stroke-width:2}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-bottom{object-position:bottom}.object-center{object-position:center}.object-left{object-position:left}.object-left-bottom{object-position:left bottom}.object-left-top{object-position:left top}.object-right{object-position:right}.object-right-bottom{object-position:right bottom}.object-right-top{object-position:right top}.object-top{object-position:top}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.p-10{padding:2.5rem}.p-11{padding:2.75rem}.p-12{padding:3rem}.p-14{padding:3.5rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-28{padding:7rem}.p-32{padding:8rem}.p-36{padding:9rem}.p-40{padding:10rem}.p-44{padding:11rem}.p-48{padding:12rem}.p-52{padding:13rem}.p-56{padding:14rem}.p-60{padding:15rem}.p-64{padding:16rem}.p-72{padding:18rem}.p-80{padding:20rem}.p-96{padding:24rem}.p-px{padding:1px}.p-0\.5{padding:.125rem}.p-1\.5{padding:.375rem}.p-2\.5{padding:.625rem}.p-3\.5{padding:.875rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-11{padding-left:2.75rem;padding-right:2.75rem}.px-12{padding-left:3rem;padding-right:3rem}.px-14{padding-left:3.5rem;padding-right:3.5rem}.px-16{padding-left:4rem;padding-right:4rem}.px-20{padding-left:5rem;padding-right:5rem}.px-24{padding-left:6rem;padding-right:6rem}.px-28{padding-left:7rem;padding-right:7rem}.px-32{padding-left:8rem;padding-right:8rem}.px-36{padding-left:9rem;padding-right:9rem}.px-40{padding-left:10rem;padding-right:10rem}.px-44{padding-left:11rem;padding-right:11rem}.px-48{padding-left:12rem;padding-right:12rem}.px-52{padding-left:13rem;padding-right:13rem}.px-56{padding-left:14rem;padding-right:14rem}.px-60{padding-left:15rem;padding-right:15rem}.px-64{padding-left:16rem;padding-right:16rem}.px-72{padding-left:18rem;padding-right:18rem}.px-80{padding-left:20rem;padding-right:20rem}.px-96{padding-left:24rem;padding-right:24rem}.px-px{padding-left:1px;padding-right:1px}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-9{padding-top:2.25rem;padding-bottom:2.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-11{padding-top:2.75rem;padding-bottom:2.75rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-36{padding-top:9rem;padding-bottom:9rem}.py-40{padding-top:10rem;padding-bottom:10rem}.py-44{padding-top:11rem;padding-bottom:11rem}.py-48{padding-top:12rem;padding-bottom:12rem}.py-52{padding-top:13rem;padding-bottom:13rem}.py-56{padding-top:14rem;padding-bottom:14rem}.py-60{padding-top:15rem;padding-bottom:15rem}.py-64{padding-top:16rem;padding-bottom:16rem}.py-72{padding-top:18rem;padding-bottom:18rem}.py-80{padding-top:20rem;padding-bottom:20rem}.py-96{padding-top:24rem;padding-bottom:24rem}.py-px{padding-top:1px;padding-bottom:1px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.pt-9{padding-top:2.25rem}.pt-10{padding-top:2.5rem}.pt-11{padding-top:2.75rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-32{padding-top:8rem}.pt-36{padding-top:9rem}.pt-40{padding-top:10rem}.pt-44{padding-top:11rem}.pt-48{padding-top:12rem}.pt-52{padding-top:13rem}.pt-56{padding-top:14rem}.pt-60{padding-top:15rem}.pt-64{padding-top:16rem}.pt-72{padding-top:18rem}.pt-80{padding-top:20rem}.pt-96{padding-top:24rem}.pt-px{padding-top:1px}.pt-0\.5{padding-top:.125rem}.pt-1\.5{padding-top:.375rem}.pt-2\.5{padding-top:.625rem}.pt-3\.5{padding-top:.875rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pr-10{padding-right:2.5rem}.pr-11{padding-right:2.75rem}.pr-12{padding-right:3rem}.pr-14{padding-right:3.5rem}.pr-16{padding-right:4rem}.pr-20{padding-right:5rem}.pr-24{padding-right:6rem}.pr-28{padding-right:7rem}.pr-32{padding-right:8rem}.pr-36{padding-right:9rem}.pr-40{padding-right:10rem}.pr-44{padding-right:11rem}.pr-48{padding-right:12rem}.pr-52{padding-right:13rem}.pr-56{padding-right:14rem}.pr-60{padding-right:15rem}.pr-64{padding-right:16rem}.pr-72{padding-right:18rem}.pr-80{padding-right:20rem}.pr-96{padding-right:24rem}.pr-px{padding-right:1px}.pr-0\.5{padding-right:.125rem}.pr-1\.5{padding-right:.375rem}.pr-2\.5{padding-right:.625rem}.pr-3\.5{padding-right:.875rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-7{padding-bottom:1.75rem}.pb-8{padding-bottom:2rem}.pb-9{padding-bottom:2.25rem}.pb-10{padding-bottom:2.5rem}.pb-11{padding-bottom:2.75rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-28{padding-bottom:7rem}.pb-32{padding-bottom:8rem}.pb-36{padding-bottom:9rem}.pb-40{padding-bottom:10rem}.pb-44{padding-bottom:11rem}.pb-48{padding-bottom:12rem}.pb-52{padding-bottom:13rem}.pb-56{padding-bottom:14rem}.pb-60{padding-bottom:15rem}.pb-64{padding-bottom:16rem}.pb-72{padding-bottom:18rem}.pb-80{padding-bottom:20rem}.pb-96{padding-bottom:24rem}.pb-px{padding-bottom:1px}.pb-0\.5{padding-bottom:.125rem}.pb-1\.5{padding-bottom:.375rem}.pb-2\.5{padding-bottom:.625rem}.pb-3\.5{padding-bottom:.875rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-12{padding-left:3rem}.pl-14{padding-left:3.5rem}.pl-16{padding-left:4rem}.pl-20{padding-left:5rem}.pl-24{padding-left:6rem}.pl-28{padding-left:7rem}.pl-32{padding-left:8rem}.pl-36{padding-left:9rem}.pl-40{padding-left:10rem}.pl-44{padding-left:11rem}.pl-48{padding-left:12rem}.pl-52{padding-left:13rem}.pl-56{padding-left:14rem}.pl-60{padding-left:15rem}.pl-64{padding-left:16rem}.pl-72{padding-left:18rem}.pl-80{padding-left:20rem}.pl-96{padding-left:24rem}.pl-px{padding-left:1px}.pl-0\.5{padding-left:.125rem}.pl-1\.5{padding-left:.375rem}.pl-2\.5{padding-left:.625rem}.pl-3\.5{padding-left:.875rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.font-thin{font-weight:100}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions,.lining-nums,.oldstyle-nums,.ordinal,.proportional-nums,.slashed-zero,.stacked-fractions,.tabular-nums{--tw-ordinal:var(--tw-empty, );/*!*//*!*/--tw-slashed-zero:var(--tw-empty, );/*!*//*!*/--tw-numeric-figure:var(--tw-empty, );/*!*//*!*/--tw-numeric-spacing:var(--tw-empty, );/*!*//*!*/--tw-numeric-fraction:var(--tw-empty, );/*!*//*!*/font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.normal-nums{font-variant-numeric:normal}.ordinal{--tw-ordinal:ordinal}.slashed-zero{--tw-slashed-zero:slashed-zero}.lining-nums{--tw-numeric-figure:lining-nums}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.proportional-nums{--tw-numeric-spacing:proportional-nums}.tabular-nums{--tw-numeric-spacing:tabular-nums}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.stacked-fractions{--tw-numeric-fraction:stacked-fractions}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.tracking-tighter{letter-spacing:-.05em}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-transparent{color:transparent}.text-current{color:currentColor}.text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.group:hover .group-hover\:text-transparent{color:transparent}.group:hover .group-hover\:text-current{color:currentColor}.group:hover .group-hover\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.group:hover .group-hover\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.group:hover .group-hover\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.group:hover .group-hover\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.group:hover .group-hover\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.group:hover .group-hover\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.focus-within\:text-transparent:focus-within{color:transparent}.focus-within\:text-current:focus-within{color:currentColor}.focus-within\:text-black:focus-within{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.focus-within\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.focus-within\:text-gray-50:focus-within{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.focus-within\:text-gray-100:focus-within{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.focus-within\:text-gray-200:focus-within{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.focus-within\:text-gray-300:focus-within{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.focus-within\:text-gray-400:focus-within{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.focus-within\:text-gray-500:focus-within{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.focus-within\:text-gray-600:focus-within{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.focus-within\:text-gray-700:focus-within{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.focus-within\:text-gray-800:focus-within{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.focus-within\:text-gray-900:focus-within{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.focus-within\:text-red-50:focus-within{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.focus-within\:text-red-100:focus-within{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.focus-within\:text-red-200:focus-within{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.focus-within\:text-red-300:focus-within{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.focus-within\:text-red-400:focus-within{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.focus-within\:text-red-500:focus-within{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.focus-within\:text-red-600:focus-within{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.focus-within\:text-red-700:focus-within{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.focus-within\:text-red-800:focus-within{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.focus-within\:text-red-900:focus-within{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.focus-within\:text-yellow-50:focus-within{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.focus-within\:text-yellow-100:focus-within{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.focus-within\:text-yellow-200:focus-within{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.focus-within\:text-yellow-300:focus-within{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.focus-within\:text-yellow-400:focus-within{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.focus-within\:text-yellow-500:focus-within{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.focus-within\:text-yellow-600:focus-within{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.focus-within\:text-yellow-700:focus-within{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.focus-within\:text-yellow-800:focus-within{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.focus-within\:text-yellow-900:focus-within{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.focus-within\:text-green-50:focus-within{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.focus-within\:text-green-100:focus-within{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.focus-within\:text-green-200:focus-within{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.focus-within\:text-green-300:focus-within{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.focus-within\:text-green-400:focus-within{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.focus-within\:text-green-500:focus-within{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.focus-within\:text-green-600:focus-within{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.focus-within\:text-green-700:focus-within{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.focus-within\:text-green-800:focus-within{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.focus-within\:text-green-900:focus-within{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.focus-within\:text-blue-50:focus-within{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.focus-within\:text-blue-100:focus-within{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.focus-within\:text-blue-200:focus-within{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.focus-within\:text-blue-300:focus-within{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.focus-within\:text-blue-400:focus-within{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.focus-within\:text-blue-500:focus-within{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.focus-within\:text-blue-600:focus-within{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.focus-within\:text-blue-700:focus-within{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.focus-within\:text-blue-800:focus-within{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.focus-within\:text-blue-900:focus-within{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.focus-within\:text-indigo-50:focus-within{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.focus-within\:text-indigo-100:focus-within{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.focus-within\:text-indigo-200:focus-within{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.focus-within\:text-indigo-300:focus-within{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.focus-within\:text-indigo-400:focus-within{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.focus-within\:text-indigo-500:focus-within{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.focus-within\:text-indigo-600:focus-within{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.focus-within\:text-indigo-700:focus-within{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.focus-within\:text-indigo-800:focus-within{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.focus-within\:text-indigo-900:focus-within{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.focus-within\:text-purple-50:focus-within{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.focus-within\:text-purple-100:focus-within{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.focus-within\:text-purple-200:focus-within{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.focus-within\:text-purple-300:focus-within{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.focus-within\:text-purple-400:focus-within{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.focus-within\:text-purple-500:focus-within{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.focus-within\:text-purple-600:focus-within{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.focus-within\:text-purple-700:focus-within{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.focus-within\:text-purple-800:focus-within{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.focus-within\:text-purple-900:focus-within{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.focus-within\:text-pink-50:focus-within{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.focus-within\:text-pink-100:focus-within{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.focus-within\:text-pink-200:focus-within{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.focus-within\:text-pink-300:focus-within{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.focus-within\:text-pink-400:focus-within{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.focus-within\:text-pink-500:focus-within{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.focus-within\:text-pink-600:focus-within{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.focus-within\:text-pink-700:focus-within{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.focus-within\:text-pink-800:focus-within{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.focus-within\:text-pink-900:focus-within{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.hover\:text-transparent:hover{color:transparent}.hover\:text-current:hover{color:currentColor}.hover\:text-black:hover{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.hover\:text-red-50:hover{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.hover\:text-red-100:hover{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.hover\:text-red-200:hover{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.hover\:text-green-50:hover{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.hover\:text-green-100:hover{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.hover\:text-green-200:hover{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.hover\:text-green-300:hover{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.hover\:text-green-400:hover{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.focus\:text-transparent:focus{color:transparent}.focus\:text-current:focus{color:currentColor}.focus\:text-black:focus{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.focus\:text-white:focus{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.focus\:text-gray-50:focus{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.focus\:text-gray-100:focus{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.focus\:text-gray-200:focus{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.focus\:text-gray-300:focus{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.focus\:text-gray-600:focus{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.focus\:text-gray-900:focus{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.focus\:text-red-50:focus{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.focus\:text-red-100:focus{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.focus\:text-red-200:focus{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.focus\:text-red-300:focus{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.focus\:text-red-400:focus{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.focus\:text-red-500:focus{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.focus\:text-red-600:focus{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.focus\:text-red-700:focus{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.focus\:text-red-800:focus{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.focus\:text-red-900:focus{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.focus\:text-yellow-50:focus{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.focus\:text-yellow-100:focus{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.focus\:text-yellow-200:focus{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.focus\:text-yellow-300:focus{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.focus\:text-yellow-400:focus{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.focus\:text-yellow-500:focus{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.focus\:text-yellow-600:focus{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.focus\:text-yellow-700:focus{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.focus\:text-yellow-800:focus{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.focus\:text-yellow-900:focus{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.focus\:text-green-50:focus{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.focus\:text-green-100:focus{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.focus\:text-green-200:focus{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.focus\:text-green-300:focus{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.focus\:text-green-400:focus{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.focus\:text-green-500:focus{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.focus\:text-green-600:focus{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.focus\:text-green-700:focus{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.focus\:text-green-800:focus{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.focus\:text-green-900:focus{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.focus\:text-blue-50:focus{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.focus\:text-blue-100:focus{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.focus\:text-blue-200:focus{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.focus\:text-blue-300:focus{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.focus\:text-blue-400:focus{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.focus\:text-blue-500:focus{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.focus\:text-blue-600:focus{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.focus\:text-blue-700:focus{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.focus\:text-blue-800:focus{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.focus\:text-blue-900:focus{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.focus\:text-indigo-50:focus{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.focus\:text-indigo-100:focus{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.focus\:text-indigo-200:focus{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.focus\:text-indigo-300:focus{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.focus\:text-indigo-400:focus{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.focus\:text-indigo-500:focus{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.focus\:text-indigo-600:focus{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.focus\:text-indigo-700:focus{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.focus\:text-indigo-900:focus{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.focus\:text-purple-50:focus{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.focus\:text-purple-100:focus{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.focus\:text-purple-200:focus{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.focus\:text-purple-300:focus{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.focus\:text-purple-400:focus{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.focus\:text-purple-500:focus{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.focus\:text-purple-600:focus{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.focus\:text-purple-700:focus{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.focus\:text-purple-800:focus{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.focus\:text-purple-900:focus{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.focus\:text-pink-50:focus{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.focus\:text-pink-100:focus{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.focus\:text-pink-200:focus{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.focus\:text-pink-300:focus{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.focus\:text-pink-400:focus{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.focus\:text-pink-500:focus{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.focus\:text-pink-600:focus{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.focus\:text-pink-700:focus{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.focus\:text-pink-800:focus{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.focus\:text-pink-900:focus{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.text-opacity-0{--tw-text-opacity:0}.text-opacity-5{--tw-text-opacity:0.05}.text-opacity-10{--tw-text-opacity:0.1}.text-opacity-20{--tw-text-opacity:0.2}.text-opacity-25{--tw-text-opacity:0.25}.text-opacity-30{--tw-text-opacity:0.3}.text-opacity-40{--tw-text-opacity:0.4}.text-opacity-50{--tw-text-opacity:0.5}.text-opacity-60{--tw-text-opacity:0.6}.text-opacity-70{--tw-text-opacity:0.7}.text-opacity-75{--tw-text-opacity:0.75}.text-opacity-80{--tw-text-opacity:0.8}.text-opacity-90{--tw-text-opacity:0.9}.text-opacity-95{--tw-text-opacity:0.95}.text-opacity-100{--tw-text-opacity:1}.group:hover .group-hover\:text-opacity-0{--tw-text-opacity:0}.group:hover .group-hover\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .group-hover\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .group-hover\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .group-hover\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .group-hover\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .group-hover\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .group-hover\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .group-hover\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .group-hover\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .group-hover\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .group-hover\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .group-hover\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .group-hover\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .group-hover\:text-opacity-100{--tw-text-opacity:1}.focus-within\:text-opacity-0:focus-within{--tw-text-opacity:0}.focus-within\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.focus-within\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.focus-within\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.focus-within\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.focus-within\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.focus-within\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.focus-within\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.focus-within\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.focus-within\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.focus-within\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.focus-within\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.focus-within\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.focus-within\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.focus-within\:text-opacity-100:focus-within{--tw-text-opacity:1}.hover\:text-opacity-0:hover{--tw-text-opacity:0}.hover\:text-opacity-5:hover{--tw-text-opacity:0.05}.hover\:text-opacity-10:hover{--tw-text-opacity:0.1}.hover\:text-opacity-20:hover{--tw-text-opacity:0.2}.hover\:text-opacity-25:hover{--tw-text-opacity:0.25}.hover\:text-opacity-30:hover{--tw-text-opacity:0.3}.hover\:text-opacity-40:hover{--tw-text-opacity:0.4}.hover\:text-opacity-50:hover{--tw-text-opacity:0.5}.hover\:text-opacity-60:hover{--tw-text-opacity:0.6}.hover\:text-opacity-70:hover{--tw-text-opacity:0.7}.hover\:text-opacity-75:hover{--tw-text-opacity:0.75}.hover\:text-opacity-80:hover{--tw-text-opacity:0.8}.hover\:text-opacity-90:hover{--tw-text-opacity:0.9}.hover\:text-opacity-95:hover{--tw-text-opacity:0.95}.hover\:text-opacity-100:hover{--tw-text-opacity:1}.focus\:text-opacity-0:focus{--tw-text-opacity:0}.focus\:text-opacity-5:focus{--tw-text-opacity:0.05}.focus\:text-opacity-10:focus{--tw-text-opacity:0.1}.focus\:text-opacity-20:focus{--tw-text-opacity:0.2}.focus\:text-opacity-25:focus{--tw-text-opacity:0.25}.focus\:text-opacity-30:focus{--tw-text-opacity:0.3}.focus\:text-opacity-40:focus{--tw-text-opacity:0.4}.focus\:text-opacity-50:focus{--tw-text-opacity:0.5}.focus\:text-opacity-60:focus{--tw-text-opacity:0.6}.focus\:text-opacity-70:focus{--tw-text-opacity:0.7}.focus\:text-opacity-75:focus{--tw-text-opacity:0.75}.focus\:text-opacity-80:focus{--tw-text-opacity:0.8}.focus\:text-opacity-90:focus{--tw-text-opacity:0.9}.focus\:text-opacity-95:focus{--tw-text-opacity:0.95}.focus\:text-opacity-100:focus{--tw-text-opacity:1}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.group:hover .group-hover\:underline{text-decoration:underline}.group:hover .group-hover\:line-through{text-decoration:line-through}.group:hover .group-hover\:no-underline{text-decoration:none}.focus-within\:underline:focus-within{text-decoration:underline}.focus-within\:line-through:focus-within{text-decoration:line-through}.focus-within\:no-underline:focus-within{text-decoration:none}.hover\:underline:hover{text-decoration:underline}.hover\:line-through:hover{text-decoration:line-through}.hover\:no-underline:hover{text-decoration:none}.focus\:underline:focus{text-decoration:underline}.focus\:line-through:focus{text-decoration:line-through}.focus\:no-underline:focus{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.placeholder-transparent::placeholder{color:transparent}.placeholder-current::placeholder{color:currentColor}.placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.placeholder-gray-50::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.placeholder-gray-100::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.placeholder-gray-200::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.placeholder-gray-300::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.placeholder-gray-600::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.placeholder-gray-700::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.placeholder-gray-800::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.placeholder-gray-900::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.placeholder-red-50::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.placeholder-red-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.placeholder-red-200::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.placeholder-red-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.placeholder-red-400::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.placeholder-red-500::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.placeholder-red-600::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.placeholder-red-800::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.placeholder-red-900::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.placeholder-yellow-50::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.placeholder-yellow-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.placeholder-yellow-200::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.placeholder-yellow-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.placeholder-yellow-400::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.placeholder-yellow-500::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.placeholder-yellow-600::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.placeholder-yellow-700::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.placeholder-yellow-800::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.placeholder-yellow-900::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.placeholder-green-50::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.placeholder-green-100::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.placeholder-green-200::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.placeholder-green-300::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.placeholder-green-400::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.placeholder-green-500::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.placeholder-green-600::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.placeholder-green-700::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.placeholder-green-800::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.placeholder-green-900::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.placeholder-blue-50::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.placeholder-blue-100::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.placeholder-blue-200::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.placeholder-blue-300::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.placeholder-blue-400::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.placeholder-blue-500::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.placeholder-blue-600::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.placeholder-blue-700::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.placeholder-blue-800::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.placeholder-blue-900::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.placeholder-indigo-50::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.placeholder-indigo-100::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.placeholder-indigo-200::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.placeholder-indigo-300::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.placeholder-indigo-400::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.placeholder-indigo-500::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.placeholder-indigo-600::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.placeholder-indigo-700::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.placeholder-indigo-800::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.placeholder-indigo-900::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.placeholder-purple-50::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.placeholder-purple-100::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.placeholder-purple-200::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.placeholder-purple-300::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.placeholder-purple-400::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.placeholder-purple-500::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.placeholder-purple-600::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.placeholder-purple-700::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.placeholder-purple-800::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.placeholder-purple-900::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.placeholder-pink-50::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.placeholder-pink-100::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.placeholder-pink-200::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.placeholder-pink-300::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.placeholder-pink-400::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.placeholder-pink-500::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.placeholder-pink-600::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.placeholder-pink-700::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.placeholder-pink-800::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.placeholder-pink-900::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.focus\:placeholder-transparent:focus::placeholder{color:transparent}.focus\:placeholder-current:focus::placeholder{color:currentColor}.focus\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.focus\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.focus\:placeholder-gray-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.focus\:placeholder-red-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.focus\:placeholder-red-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.focus\:placeholder-red-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.focus\:placeholder-red-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.focus\:placeholder-red-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.focus\:placeholder-red-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.focus\:placeholder-red-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.focus\:placeholder-red-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.focus\:placeholder-red-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.focus\:placeholder-red-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.focus\:placeholder-yellow-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.focus\:placeholder-green-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.focus\:placeholder-green-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.focus\:placeholder-green-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.focus\:placeholder-green-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.focus\:placeholder-green-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.focus\:placeholder-green-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.focus\:placeholder-green-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.focus\:placeholder-green-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.focus\:placeholder-green-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.focus\:placeholder-green-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.focus\:placeholder-blue-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.focus\:placeholder-indigo-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.focus\:placeholder-purple-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.focus\:placeholder-pink-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.focus\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.focus\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.focus\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.focus\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.focus\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.focus\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.focus\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.focus\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.focus\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.focus\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.focus\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.focus\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.focus\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.focus\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.focus\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.opacity-100{opacity:1}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-5{opacity:.05}.group:hover .group-hover\:opacity-10{opacity:.1}.group:hover .group-hover\:opacity-20{opacity:.2}.group:hover .group-hover\:opacity-25{opacity:.25}.group:hover .group-hover\:opacity-30{opacity:.3}.group:hover .group-hover\:opacity-40{opacity:.4}.group:hover .group-hover\:opacity-50{opacity:.5}.group:hover .group-hover\:opacity-60{opacity:.6}.group:hover .group-hover\:opacity-70{opacity:.7}.group:hover .group-hover\:opacity-75{opacity:.75}.group:hover .group-hover\:opacity-80{opacity:.8}.group:hover .group-hover\:opacity-90{opacity:.9}.group:hover .group-hover\:opacity-95{opacity:.95}.group:hover .group-hover\:opacity-100{opacity:1}.focus-within\:opacity-0:focus-within{opacity:0}.focus-within\:opacity-5:focus-within{opacity:.05}.focus-within\:opacity-10:focus-within{opacity:.1}.focus-within\:opacity-20:focus-within{opacity:.2}.focus-within\:opacity-25:focus-within{opacity:.25}.focus-within\:opacity-30:focus-within{opacity:.3}.focus-within\:opacity-40:focus-within{opacity:.4}.focus-within\:opacity-50:focus-within{opacity:.5}.focus-within\:opacity-60:focus-within{opacity:.6}.focus-within\:opacity-70:focus-within{opacity:.7}.focus-within\:opacity-75:focus-within{opacity:.75}.focus-within\:opacity-80:focus-within{opacity:.8}.focus-within\:opacity-90:focus-within{opacity:.9}.focus-within\:opacity-95:focus-within{opacity:.95}.focus-within\:opacity-100:focus-within{opacity:1}.hover\:opacity-0:hover{opacity:0}.hover\:opacity-5:hover{opacity:.05}.hover\:opacity-10:hover{opacity:.1}.hover\:opacity-20:hover{opacity:.2}.hover\:opacity-25:hover{opacity:.25}.hover\:opacity-30:hover{opacity:.3}.hover\:opacity-40:hover{opacity:.4}.hover\:opacity-50:hover{opacity:.5}.hover\:opacity-60:hover{opacity:.6}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-95:hover{opacity:.95}.hover\:opacity-100:hover{opacity:1}.focus\:opacity-0:focus{opacity:0}.focus\:opacity-5:focus{opacity:.05}.focus\:opacity-10:focus{opacity:.1}.focus\:opacity-20:focus{opacity:.2}.focus\:opacity-25:focus{opacity:.25}.focus\:opacity-30:focus{opacity:.3}.focus\:opacity-40:focus{opacity:.4}.focus\:opacity-50:focus{opacity:.5}.focus\:opacity-60:focus{opacity:.6}.focus\:opacity-70:focus{opacity:.7}.focus\:opacity-75:focus{opacity:.75}.focus\:opacity-80:focus{opacity:.8}.focus\:opacity-90:focus{opacity:.9}.focus\:opacity-95:focus{opacity:.95}.focus\:opacity-100:focus{opacity:1}.bg-blend-normal{background-blend-mode:normal}.bg-blend-multiply{background-blend-mode:multiply}.bg-blend-screen{background-blend-mode:screen}.bg-blend-overlay{background-blend-mode:overlay}.bg-blend-darken{background-blend-mode:darken}.bg-blend-lighten{background-blend-mode:lighten}.bg-blend-color-dodge{background-blend-mode:color-dodge}.bg-blend-color-burn{background-blend-mode:color-burn}.bg-blend-hard-light{background-blend-mode:hard-light}.bg-blend-soft-light{background-blend-mode:soft-light}.bg-blend-difference{background-blend-mode:difference}.bg-blend-exclusion{background-blend-mode:exclusion}.bg-blend-hue{background-blend-mode:hue}.bg-blend-saturation{background-blend-mode:saturation}.bg-blend-color{background-blend-mode:color}.bg-blend-luminosity{background-blend-mode:luminosity}.mix-blend-normal{mix-blend-mode:normal}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-screen{mix-blend-mode:screen}.mix-blend-overlay{mix-blend-mode:overlay}.mix-blend-darken{mix-blend-mode:darken}.mix-blend-lighten{mix-blend-mode:lighten}.mix-blend-color-dodge{mix-blend-mode:color-dodge}.mix-blend-color-burn{mix-blend-mode:color-burn}.mix-blend-hard-light{mix-blend-mode:hard-light}.mix-blend-soft-light{mix-blend-mode:soft-light}.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.mix-blend-hue{mix-blend-mode:hue}.mix-blend-saturation{mix-blend-mode:saturation}.mix-blend-color{mix-blend-mode:color}.mix-blend-luminosity{mix-blend-mode:luminosity}*,::after,::before{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-white{outline:2px dotted white;outline-offset:2px}.outline-black{outline:2px dotted black;outline-offset:2px}.focus-within\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.focus-within\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.focus-within\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.focus\:outline-black:focus{outline:2px dotted black;outline-offset:2px}*,::after,::before{--tw-ring-inset:var(--tw-empty, );/*!*//*!*/--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}.focus\:ring-inset:focus{--tw-ring-inset:inset}.ring-transparent{--tw-ring-color:transparent}.ring-current{--tw-ring-color:currentColor}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.focus-within\:ring-transparent:focus-within{--tw-ring-color:transparent}.focus-within\:ring-current:focus-within{--tw-ring-color:currentColor}.focus-within\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.focus-within\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus-within\:ring-gray-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.focus-within\:ring-gray-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.focus-within\:ring-gray-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.focus-within\:ring-gray-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.focus-within\:ring-gray-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.focus-within\:ring-gray-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.focus-within\:ring-gray-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.focus-within\:ring-gray-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.focus-within\:ring-gray-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.focus-within\:ring-gray-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.focus-within\:ring-red-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.focus-within\:ring-red-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.focus-within\:ring-red-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.focus-within\:ring-red-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.focus-within\:ring-red-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.focus-within\:ring-red-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus-within\:ring-red-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.focus-within\:ring-red-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.focus-within\:ring-red-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.focus-within\:ring-red-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.focus-within\:ring-yellow-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.focus-within\:ring-yellow-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.focus-within\:ring-yellow-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.focus-within\:ring-yellow-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.focus-within\:ring-yellow-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.focus-within\:ring-yellow-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.focus-within\:ring-yellow-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.focus-within\:ring-yellow-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.focus-within\:ring-yellow-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.focus-within\:ring-yellow-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.focus-within\:ring-green-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.focus-within\:ring-green-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.focus-within\:ring-green-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.focus-within\:ring-green-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.focus-within\:ring-green-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.focus-within\:ring-green-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.focus-within\:ring-green-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.focus-within\:ring-green-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.focus-within\:ring-green-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.focus-within\:ring-green-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.focus-within\:ring-blue-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.focus-within\:ring-blue-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.focus-within\:ring-blue-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.focus-within\:ring-blue-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.focus-within\:ring-blue-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.focus-within\:ring-blue-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.focus-within\:ring-blue-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.focus-within\:ring-blue-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.focus-within\:ring-blue-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.focus-within\:ring-blue-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.focus-within\:ring-indigo-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.focus-within\:ring-indigo-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.focus-within\:ring-indigo-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.focus-within\:ring-indigo-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.focus-within\:ring-indigo-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus-within\:ring-indigo-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus-within\:ring-indigo-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.focus-within\:ring-indigo-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.focus-within\:ring-indigo-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.focus-within\:ring-indigo-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.focus-within\:ring-purple-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.focus-within\:ring-purple-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.focus-within\:ring-purple-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.focus-within\:ring-purple-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.focus-within\:ring-purple-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.focus-within\:ring-purple-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.focus-within\:ring-purple-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.focus-within\:ring-purple-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.focus-within\:ring-purple-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.focus-within\:ring-purple-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.focus-within\:ring-pink-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.focus-within\:ring-pink-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.focus-within\:ring-pink-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.focus-within\:ring-pink-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.focus-within\:ring-pink-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.focus-within\:ring-pink-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.focus-within\:ring-pink-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.focus-within\:ring-pink-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.focus-within\:ring-pink-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.focus-within\:ring-pink-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.focus\:ring-transparent:focus{--tw-ring-color:transparent}.focus\:ring-current:focus{--tw-ring-color:currentColor}.focus\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.focus\:ring-gray-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.focus\:ring-gray-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.focus\:ring-gray-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.focus\:ring-gray-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.focus\:ring-red-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.focus\:ring-red-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.focus\:ring-red-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.focus\:ring-yellow-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.focus\:ring-yellow-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.focus\:ring-yellow-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.focus\:ring-yellow-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.focus\:ring-yellow-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.focus\:ring-yellow-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.focus\:ring-yellow-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.focus\:ring-yellow-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.focus\:ring-green-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.focus\:ring-green-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.focus\:ring-green-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.focus\:ring-green-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.focus\:ring-blue-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.focus\:ring-blue-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.focus\:ring-indigo-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.focus\:ring-indigo-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.focus\:ring-indigo-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.focus\:ring-indigo-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.focus\:ring-purple-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.focus\:ring-purple-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.focus\:ring-purple-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.focus\:ring-purple-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.focus\:ring-purple-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.focus\:ring-purple-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.focus\:ring-purple-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.focus\:ring-purple-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.focus\:ring-pink-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.focus\:ring-pink-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.focus\:ring-pink-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.focus\:ring-pink-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.focus\:ring-pink-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.focus\:ring-pink-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.focus\:ring-pink-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.focus\:ring-pink-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.focus\:ring-pink-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.ring-opacity-0{--tw-ring-opacity:0}.ring-opacity-5{--tw-ring-opacity:0.05}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-opacity-20{--tw-ring-opacity:0.2}.ring-opacity-25{--tw-ring-opacity:0.25}.ring-opacity-30{--tw-ring-opacity:0.3}.ring-opacity-40{--tw-ring-opacity:0.4}.ring-opacity-50{--tw-ring-opacity:0.5}.ring-opacity-60{--tw-ring-opacity:0.6}.ring-opacity-70{--tw-ring-opacity:0.7}.ring-opacity-75{--tw-ring-opacity:0.75}.ring-opacity-80{--tw-ring-opacity:0.8}.ring-opacity-90{--tw-ring-opacity:0.9}.ring-opacity-95{--tw-ring-opacity:0.95}.ring-opacity-100{--tw-ring-opacity:1}.focus-within\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.focus-within\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.focus-within\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.focus-within\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.focus-within\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.focus-within\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.focus-within\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.focus-within\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.focus-within\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.focus-within\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.focus-within\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.focus-within\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.focus-within\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.focus-within\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.focus-within\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.focus\:ring-opacity-0:focus{--tw-ring-opacity:0}.focus\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.focus\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.focus\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.focus\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.focus\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.focus\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.focus\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.focus\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.focus\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.focus\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.focus\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.focus\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.focus\:ring-opacity-100:focus{--tw-ring-opacity:1}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-4{--tw-ring-offset-width:4px}.ring-offset-8{--tw-ring-offset-width:8px}.focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.focus-within\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.focus-within\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.focus-within\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-4:focus{--tw-ring-offset-width:4px}.focus\:ring-offset-8:focus{--tw-ring-offset-width:8px}.ring-offset-transparent{--tw-ring-offset-color:transparent}.ring-offset-current{--tw-ring-offset-color:currentColor}.ring-offset-black{--tw-ring-offset-color:#000}.ring-offset-white{--tw-ring-offset-color:#fff}.ring-offset-gray-50{--tw-ring-offset-color:#f9fafb}.ring-offset-gray-100{--tw-ring-offset-color:#f3f4f6}.ring-offset-gray-200{--tw-ring-offset-color:#e5e7eb}.ring-offset-gray-300{--tw-ring-offset-color:#d1d5db}.ring-offset-gray-400{--tw-ring-offset-color:#9ca3af}.ring-offset-gray-500{--tw-ring-offset-color:#6b7280}.ring-offset-gray-600{--tw-ring-offset-color:#4b5563}.ring-offset-gray-700{--tw-ring-offset-color:#374151}.ring-offset-gray-800{--tw-ring-offset-color:#1f2937}.ring-offset-gray-900{--tw-ring-offset-color:#111827}.ring-offset-red-50{--tw-ring-offset-color:#fef2f2}.ring-offset-red-100{--tw-ring-offset-color:#fee2e2}.ring-offset-red-200{--tw-ring-offset-color:#fecaca}.ring-offset-red-300{--tw-ring-offset-color:#fca5a5}.ring-offset-red-400{--tw-ring-offset-color:#f87171}.ring-offset-red-500{--tw-ring-offset-color:#ef4444}.ring-offset-red-600{--tw-ring-offset-color:#dc2626}.ring-offset-red-700{--tw-ring-offset-color:#b91c1c}.ring-offset-red-800{--tw-ring-offset-color:#991b1b}.ring-offset-red-900{--tw-ring-offset-color:#7f1d1d}.ring-offset-yellow-50{--tw-ring-offset-color:#fffbeb}.ring-offset-yellow-100{--tw-ring-offset-color:#fef3c7}.ring-offset-yellow-200{--tw-ring-offset-color:#fde68a}.ring-offset-yellow-300{--tw-ring-offset-color:#fcd34d}.ring-offset-yellow-400{--tw-ring-offset-color:#fbbf24}.ring-offset-yellow-500{--tw-ring-offset-color:#f59e0b}.ring-offset-yellow-600{--tw-ring-offset-color:#d97706}.ring-offset-yellow-700{--tw-ring-offset-color:#b45309}.ring-offset-yellow-800{--tw-ring-offset-color:#92400e}.ring-offset-yellow-900{--tw-ring-offset-color:#78350f}.ring-offset-green-50{--tw-ring-offset-color:#ecfdf5}.ring-offset-green-100{--tw-ring-offset-color:#d1fae5}.ring-offset-green-200{--tw-ring-offset-color:#a7f3d0}.ring-offset-green-300{--tw-ring-offset-color:#6ee7b7}.ring-offset-green-400{--tw-ring-offset-color:#34d399}.ring-offset-green-500{--tw-ring-offset-color:#10b981}.ring-offset-green-600{--tw-ring-offset-color:#059669}.ring-offset-green-700{--tw-ring-offset-color:#047857}.ring-offset-green-800{--tw-ring-offset-color:#065f46}.ring-offset-green-900{--tw-ring-offset-color:#064e3b}.ring-offset-blue-50{--tw-ring-offset-color:#eff6ff}.ring-offset-blue-100{--tw-ring-offset-color:#dbeafe}.ring-offset-blue-200{--tw-ring-offset-color:#bfdbfe}.ring-offset-blue-300{--tw-ring-offset-color:#93c5fd}.ring-offset-blue-400{--tw-ring-offset-color:#60a5fa}.ring-offset-blue-500{--tw-ring-offset-color:#3b82f6}.ring-offset-blue-600{--tw-ring-offset-color:#2563eb}.ring-offset-blue-700{--tw-ring-offset-color:#1d4ed8}.ring-offset-blue-800{--tw-ring-offset-color:#1e40af}.ring-offset-blue-900{--tw-ring-offset-color:#1e3a8a}.ring-offset-indigo-50{--tw-ring-offset-color:#eef2ff}.ring-offset-indigo-100{--tw-ring-offset-color:#e0e7ff}.ring-offset-indigo-200{--tw-ring-offset-color:#c7d2fe}.ring-offset-indigo-300{--tw-ring-offset-color:#a5b4fc}.ring-offset-indigo-400{--tw-ring-offset-color:#818cf8}.ring-offset-indigo-500{--tw-ring-offset-color:#6366f1}.ring-offset-indigo-600{--tw-ring-offset-color:#4f46e5}.ring-offset-indigo-700{--tw-ring-offset-color:#4338ca}.ring-offset-indigo-800{--tw-ring-offset-color:#3730a3}.ring-offset-indigo-900{--tw-ring-offset-color:#312e81}.ring-offset-purple-50{--tw-ring-offset-color:#f5f3ff}.ring-offset-purple-100{--tw-ring-offset-color:#ede9fe}.ring-offset-purple-200{--tw-ring-offset-color:#ddd6fe}.ring-offset-purple-300{--tw-ring-offset-color:#c4b5fd}.ring-offset-purple-400{--tw-ring-offset-color:#a78bfa}.ring-offset-purple-500{--tw-ring-offset-color:#8b5cf6}.ring-offset-purple-600{--tw-ring-offset-color:#7c3aed}.ring-offset-purple-700{--tw-ring-offset-color:#6d28d9}.ring-offset-purple-800{--tw-ring-offset-color:#5b21b6}.ring-offset-purple-900{--tw-ring-offset-color:#4c1d95}.ring-offset-pink-50{--tw-ring-offset-color:#fdf2f8}.ring-offset-pink-100{--tw-ring-offset-color:#fce7f3}.ring-offset-pink-200{--tw-ring-offset-color:#fbcfe8}.ring-offset-pink-300{--tw-ring-offset-color:#f9a8d4}.ring-offset-pink-400{--tw-ring-offset-color:#f472b6}.ring-offset-pink-500{--tw-ring-offset-color:#ec4899}.ring-offset-pink-600{--tw-ring-offset-color:#db2777}.ring-offset-pink-700{--tw-ring-offset-color:#be185d}.ring-offset-pink-800{--tw-ring-offset-color:#9d174d}.ring-offset-pink-900{--tw-ring-offset-color:#831843}.focus-within\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.focus-within\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.focus-within\:ring-offset-black:focus-within{--tw-ring-offset-color:#000}.focus-within\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.focus-within\:ring-offset-gray-50:focus-within{--tw-ring-offset-color:#f9fafb}.focus-within\:ring-offset-gray-100:focus-within{--tw-ring-offset-color:#f3f4f6}.focus-within\:ring-offset-gray-200:focus-within{--tw-ring-offset-color:#e5e7eb}.focus-within\:ring-offset-gray-300:focus-within{--tw-ring-offset-color:#d1d5db}.focus-within\:ring-offset-gray-400:focus-within{--tw-ring-offset-color:#9ca3af}.focus-within\:ring-offset-gray-500:focus-within{--tw-ring-offset-color:#6b7280}.focus-within\:ring-offset-gray-600:focus-within{--tw-ring-offset-color:#4b5563}.focus-within\:ring-offset-gray-700:focus-within{--tw-ring-offset-color:#374151}.focus-within\:ring-offset-gray-800:focus-within{--tw-ring-offset-color:#1f2937}.focus-within\:ring-offset-gray-900:focus-within{--tw-ring-offset-color:#111827}.focus-within\:ring-offset-red-50:focus-within{--tw-ring-offset-color:#fef2f2}.focus-within\:ring-offset-red-100:focus-within{--tw-ring-offset-color:#fee2e2}.focus-within\:ring-offset-red-200:focus-within{--tw-ring-offset-color:#fecaca}.focus-within\:ring-offset-red-300:focus-within{--tw-ring-offset-color:#fca5a5}.focus-within\:ring-offset-red-400:focus-within{--tw-ring-offset-color:#f87171}.focus-within\:ring-offset-red-500:focus-within{--tw-ring-offset-color:#ef4444}.focus-within\:ring-offset-red-600:focus-within{--tw-ring-offset-color:#dc2626}.focus-within\:ring-offset-red-700:focus-within{--tw-ring-offset-color:#b91c1c}.focus-within\:ring-offset-red-800:focus-within{--tw-ring-offset-color:#991b1b}.focus-within\:ring-offset-red-900:focus-within{--tw-ring-offset-color:#7f1d1d}.focus-within\:ring-offset-yellow-50:focus-within{--tw-ring-offset-color:#fffbeb}.focus-within\:ring-offset-yellow-100:focus-within{--tw-ring-offset-color:#fef3c7}.focus-within\:ring-offset-yellow-200:focus-within{--tw-ring-offset-color:#fde68a}.focus-within\:ring-offset-yellow-300:focus-within{--tw-ring-offset-color:#fcd34d}.focus-within\:ring-offset-yellow-400:focus-within{--tw-ring-offset-color:#fbbf24}.focus-within\:ring-offset-yellow-500:focus-within{--tw-ring-offset-color:#f59e0b}.focus-within\:ring-offset-yellow-600:focus-within{--tw-ring-offset-color:#d97706}.focus-within\:ring-offset-yellow-700:focus-within{--tw-ring-offset-color:#b45309}.focus-within\:ring-offset-yellow-800:focus-within{--tw-ring-offset-color:#92400e}.focus-within\:ring-offset-yellow-900:focus-within{--tw-ring-offset-color:#78350f}.focus-within\:ring-offset-green-50:focus-within{--tw-ring-offset-color:#ecfdf5}.focus-within\:ring-offset-green-100:focus-within{--tw-ring-offset-color:#d1fae5}.focus-within\:ring-offset-green-200:focus-within{--tw-ring-offset-color:#a7f3d0}.focus-within\:ring-offset-green-300:focus-within{--tw-ring-offset-color:#6ee7b7}.focus-within\:ring-offset-green-400:focus-within{--tw-ring-offset-color:#34d399}.focus-within\:ring-offset-green-500:focus-within{--tw-ring-offset-color:#10b981}.focus-within\:ring-offset-green-600:focus-within{--tw-ring-offset-color:#059669}.focus-within\:ring-offset-green-700:focus-within{--tw-ring-offset-color:#047857}.focus-within\:ring-offset-green-800:focus-within{--tw-ring-offset-color:#065f46}.focus-within\:ring-offset-green-900:focus-within{--tw-ring-offset-color:#064e3b}.focus-within\:ring-offset-blue-50:focus-within{--tw-ring-offset-color:#eff6ff}.focus-within\:ring-offset-blue-100:focus-within{--tw-ring-offset-color:#dbeafe}.focus-within\:ring-offset-blue-200:focus-within{--tw-ring-offset-color:#bfdbfe}.focus-within\:ring-offset-blue-300:focus-within{--tw-ring-offset-color:#93c5fd}.focus-within\:ring-offset-blue-400:focus-within{--tw-ring-offset-color:#60a5fa}.focus-within\:ring-offset-blue-500:focus-within{--tw-ring-offset-color:#3b82f6}.focus-within\:ring-offset-blue-600:focus-within{--tw-ring-offset-color:#2563eb}.focus-within\:ring-offset-blue-700:focus-within{--tw-ring-offset-color:#1d4ed8}.focus-within\:ring-offset-blue-800:focus-within{--tw-ring-offset-color:#1e40af}.focus-within\:ring-offset-blue-900:focus-within{--tw-ring-offset-color:#1e3a8a}.focus-within\:ring-offset-indigo-50:focus-within{--tw-ring-offset-color:#eef2ff}.focus-within\:ring-offset-indigo-100:focus-within{--tw-ring-offset-color:#e0e7ff}.focus-within\:ring-offset-indigo-200:focus-within{--tw-ring-offset-color:#c7d2fe}.focus-within\:ring-offset-indigo-300:focus-within{--tw-ring-offset-color:#a5b4fc}.focus-within\:ring-offset-indigo-400:focus-within{--tw-ring-offset-color:#818cf8}.focus-within\:ring-offset-indigo-500:focus-within{--tw-ring-offset-color:#6366f1}.focus-within\:ring-offset-indigo-600:focus-within{--tw-ring-offset-color:#4f46e5}.focus-within\:ring-offset-indigo-700:focus-within{--tw-ring-offset-color:#4338ca}.focus-within\:ring-offset-indigo-800:focus-within{--tw-ring-offset-color:#3730a3}.focus-within\:ring-offset-indigo-900:focus-within{--tw-ring-offset-color:#312e81}.focus-within\:ring-offset-purple-50:focus-within{--tw-ring-offset-color:#f5f3ff}.focus-within\:ring-offset-purple-100:focus-within{--tw-ring-offset-color:#ede9fe}.focus-within\:ring-offset-purple-200:focus-within{--tw-ring-offset-color:#ddd6fe}.focus-within\:ring-offset-purple-300:focus-within{--tw-ring-offset-color:#c4b5fd}.focus-within\:ring-offset-purple-400:focus-within{--tw-ring-offset-color:#a78bfa}.focus-within\:ring-offset-purple-500:focus-within{--tw-ring-offset-color:#8b5cf6}.focus-within\:ring-offset-purple-600:focus-within{--tw-ring-offset-color:#7c3aed}.focus-within\:ring-offset-purple-700:focus-within{--tw-ring-offset-color:#6d28d9}.focus-within\:ring-offset-purple-800:focus-within{--tw-ring-offset-color:#5b21b6}.focus-within\:ring-offset-purple-900:focus-within{--tw-ring-offset-color:#4c1d95}.focus-within\:ring-offset-pink-50:focus-within{--tw-ring-offset-color:#fdf2f8}.focus-within\:ring-offset-pink-100:focus-within{--tw-ring-offset-color:#fce7f3}.focus-within\:ring-offset-pink-200:focus-within{--tw-ring-offset-color:#fbcfe8}.focus-within\:ring-offset-pink-300:focus-within{--tw-ring-offset-color:#f9a8d4}.focus-within\:ring-offset-pink-400:focus-within{--tw-ring-offset-color:#f472b6}.focus-within\:ring-offset-pink-500:focus-within{--tw-ring-offset-color:#ec4899}.focus-within\:ring-offset-pink-600:focus-within{--tw-ring-offset-color:#db2777}.focus-within\:ring-offset-pink-700:focus-within{--tw-ring-offset-color:#be185d}.focus-within\:ring-offset-pink-800:focus-within{--tw-ring-offset-color:#9d174d}.focus-within\:ring-offset-pink-900:focus-within{--tw-ring-offset-color:#831843}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.focus\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.focus\:ring-offset-black:focus{--tw-ring-offset-color:#000}.focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.focus\:ring-offset-gray-50:focus{--tw-ring-offset-color:#f9fafb}.focus\:ring-offset-gray-100:focus{--tw-ring-offset-color:#f3f4f6}.focus\:ring-offset-gray-200:focus{--tw-ring-offset-color:#e5e7eb}.focus\:ring-offset-gray-300:focus{--tw-ring-offset-color:#d1d5db}.focus\:ring-offset-gray-400:focus{--tw-ring-offset-color:#9ca3af}.focus\:ring-offset-gray-500:focus{--tw-ring-offset-color:#6b7280}.focus\:ring-offset-gray-600:focus{--tw-ring-offset-color:#4b5563}.focus\:ring-offset-gray-700:focus{--tw-ring-offset-color:#374151}.focus\:ring-offset-gray-800:focus{--tw-ring-offset-color:#1f2937}.focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:#111827}.focus\:ring-offset-red-50:focus{--tw-ring-offset-color:#fef2f2}.focus\:ring-offset-red-100:focus{--tw-ring-offset-color:#fee2e2}.focus\:ring-offset-red-200:focus{--tw-ring-offset-color:#fecaca}.focus\:ring-offset-red-300:focus{--tw-ring-offset-color:#fca5a5}.focus\:ring-offset-red-400:focus{--tw-ring-offset-color:#f87171}.focus\:ring-offset-red-500:focus{--tw-ring-offset-color:#ef4444}.focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.focus\:ring-offset-red-700:focus{--tw-ring-offset-color:#b91c1c}.focus\:ring-offset-red-800:focus{--tw-ring-offset-color:#991b1b}.focus\:ring-offset-red-900:focus{--tw-ring-offset-color:#7f1d1d}.focus\:ring-offset-yellow-50:focus{--tw-ring-offset-color:#fffbeb}.focus\:ring-offset-yellow-100:focus{--tw-ring-offset-color:#fef3c7}.focus\:ring-offset-yellow-200:focus{--tw-ring-offset-color:#fde68a}.focus\:ring-offset-yellow-300:focus{--tw-ring-offset-color:#fcd34d}.focus\:ring-offset-yellow-400:focus{--tw-ring-offset-color:#fbbf24}.focus\:ring-offset-yellow-500:focus{--tw-ring-offset-color:#f59e0b}.focus\:ring-offset-yellow-600:focus{--tw-ring-offset-color:#d97706}.focus\:ring-offset-yellow-700:focus{--tw-ring-offset-color:#b45309}.focus\:ring-offset-yellow-800:focus{--tw-ring-offset-color:#92400e}.focus\:ring-offset-yellow-900:focus{--tw-ring-offset-color:#78350f}.focus\:ring-offset-green-50:focus{--tw-ring-offset-color:#ecfdf5}.focus\:ring-offset-green-100:focus{--tw-ring-offset-color:#d1fae5}.focus\:ring-offset-green-200:focus{--tw-ring-offset-color:#a7f3d0}.focus\:ring-offset-green-300:focus{--tw-ring-offset-color:#6ee7b7}.focus\:ring-offset-green-400:focus{--tw-ring-offset-color:#34d399}.focus\:ring-offset-green-500:focus{--tw-ring-offset-color:#10b981}.focus\:ring-offset-green-600:focus{--tw-ring-offset-color:#059669}.focus\:ring-offset-green-700:focus{--tw-ring-offset-color:#047857}.focus\:ring-offset-green-800:focus{--tw-ring-offset-color:#065f46}.focus\:ring-offset-green-900:focus{--tw-ring-offset-color:#064e3b}.focus\:ring-offset-blue-50:focus{--tw-ring-offset-color:#eff6ff}.focus\:ring-offset-blue-100:focus{--tw-ring-offset-color:#dbeafe}.focus\:ring-offset-blue-200:focus{--tw-ring-offset-color:#bfdbfe}.focus\:ring-offset-blue-300:focus{--tw-ring-offset-color:#93c5fd}.focus\:ring-offset-blue-400:focus{--tw-ring-offset-color:#60a5fa}.focus\:ring-offset-blue-500:focus{--tw-ring-offset-color:#3b82f6}.focus\:ring-offset-blue-600:focus{--tw-ring-offset-color:#2563eb}.focus\:ring-offset-blue-700:focus{--tw-ring-offset-color:#1d4ed8}.focus\:ring-offset-blue-800:focus{--tw-ring-offset-color:#1e40af}.focus\:ring-offset-blue-900:focus{--tw-ring-offset-color:#1e3a8a}.focus\:ring-offset-indigo-50:focus{--tw-ring-offset-color:#eef2ff}.focus\:ring-offset-indigo-100:focus{--tw-ring-offset-color:#e0e7ff}.focus\:ring-offset-indigo-200:focus{--tw-ring-offset-color:#c7d2fe}.focus\:ring-offset-indigo-300:focus{--tw-ring-offset-color:#a5b4fc}.focus\:ring-offset-indigo-400:focus{--tw-ring-offset-color:#818cf8}.focus\:ring-offset-indigo-500:focus{--tw-ring-offset-color:#6366f1}.focus\:ring-offset-indigo-600:focus{--tw-ring-offset-color:#4f46e5}.focus\:ring-offset-indigo-700:focus{--tw-ring-offset-color:#4338ca}.focus\:ring-offset-indigo-800:focus{--tw-ring-offset-color:#3730a3}.focus\:ring-offset-indigo-900:focus{--tw-ring-offset-color:#312e81}.focus\:ring-offset-purple-50:focus{--tw-ring-offset-color:#f5f3ff}.focus\:ring-offset-purple-100:focus{--tw-ring-offset-color:#ede9fe}.focus\:ring-offset-purple-200:focus{--tw-ring-offset-color:#ddd6fe}.focus\:ring-offset-purple-300:focus{--tw-ring-offset-color:#c4b5fd}.focus\:ring-offset-purple-400:focus{--tw-ring-offset-color:#a78bfa}.focus\:ring-offset-purple-500:focus{--tw-ring-offset-color:#8b5cf6}.focus\:ring-offset-purple-600:focus{--tw-ring-offset-color:#7c3aed}.focus\:ring-offset-purple-700:focus{--tw-ring-offset-color:#6d28d9}.focus\:ring-offset-purple-800:focus{--tw-ring-offset-color:#5b21b6}.focus\:ring-offset-purple-900:focus{--tw-ring-offset-color:#4c1d95}.focus\:ring-offset-pink-50:focus{--tw-ring-offset-color:#fdf2f8}.focus\:ring-offset-pink-100:focus{--tw-ring-offset-color:#fce7f3}.focus\:ring-offset-pink-200:focus{--tw-ring-offset-color:#fbcfe8}.focus\:ring-offset-pink-300:focus{--tw-ring-offset-color:#f9a8d4}.focus\:ring-offset-pink-400:focus{--tw-ring-offset-color:#f472b6}.focus\:ring-offset-pink-500:focus{--tw-ring-offset-color:#ec4899}.focus\:ring-offset-pink-600:focus{--tw-ring-offset-color:#db2777}.focus\:ring-offset-pink-700:focus{--tw-ring-offset-color:#be185d}.focus\:ring-offset-pink-800:focus{--tw-ring-offset-color:#9d174d}.focus\:ring-offset-pink-900:focus{--tw-ring-offset-color:#831843}.filter{--tw-blur:var(--tw-empty, );/*!*//*!*/--tw-brightness:var(--tw-empty, );/*!*//*!*/--tw-contrast:var(--tw-empty, );/*!*//*!*/--tw-grayscale:var(--tw-empty, );/*!*//*!*/--tw-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-invert:var(--tw-empty, );/*!*//*!*/--tw-saturate:var(--tw-empty, );/*!*//*!*/--tw-sepia:var(--tw-empty, );/*!*//*!*/--tw-drop-shadow:var(--tw-empty, );/*!*//*!*/filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter-none{filter:none}.blur-0{--tw-blur:blur(0)}.blur-none{--tw-blur:blur(0)}.blur-sm{--tw-blur:blur(4px)}.blur{--tw-blur:blur(8px)}.blur-md{--tw-blur:blur(12px)}.blur-lg{--tw-blur:blur(16px)}.blur-xl{--tw-blur:blur(24px)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.brightness-0{--tw-brightness:brightness(0)}.brightness-50{--tw-brightness:brightness(.5)}.brightness-75{--tw-brightness:brightness(.75)}.brightness-90{--tw-brightness:brightness(.9)}.brightness-95{--tw-brightness:brightness(.95)}.brightness-100{--tw-brightness:brightness(1)}.brightness-105{--tw-brightness:brightness(1.05)}.brightness-110{--tw-brightness:brightness(1.1)}.brightness-125{--tw-brightness:brightness(1.25)}.brightness-150{--tw-brightness:brightness(1.5)}.brightness-200{--tw-brightness:brightness(2)}.contrast-0{--tw-contrast:contrast(0)}.contrast-50{--tw-contrast:contrast(.5)}.contrast-75{--tw-contrast:contrast(.75)}.contrast-100{--tw-contrast:contrast(1)}.contrast-125{--tw-contrast:contrast(1.25)}.contrast-150{--tw-contrast:contrast(1.5)}.contrast-200{--tw-contrast:contrast(2)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.grayscale-0{--tw-grayscale:grayscale(0)}.grayscale{--tw-grayscale:grayscale(100%)}.hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.invert-0{--tw-invert:invert(0)}.invert{--tw-invert:invert(100%)}.saturate-0{--tw-saturate:saturate(0)}.saturate-50{--tw-saturate:saturate(.5)}.saturate-100{--tw-saturate:saturate(1)}.saturate-150{--tw-saturate:saturate(1.5)}.saturate-200{--tw-saturate:saturate(2)}.sepia-0{--tw-sepia:sepia(0)}.sepia{--tw-sepia:sepia(100%)}.backdrop-filter{--tw-backdrop-blur:var(--tw-empty, );/*!*//*!*/--tw-backdrop-brightness:var(--tw-empty, );/*!*//*!*/--tw-backdrop-contrast:var(--tw-empty, );/*!*//*!*/--tw-backdrop-grayscale:var(--tw-empty, );/*!*//*!*/--tw-backdrop-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-invert:var(--tw-empty, );/*!*//*!*/--tw-backdrop-opacity:var(--tw-empty, );/*!*//*!*/--tw-backdrop-saturate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-sepia:var(--tw-empty, );/*!*//*!*/-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.backdrop-blur-0{--tw-backdrop-blur:blur(0)}.backdrop-blur-none{--tw-backdrop-blur:blur(0)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.backdrop-invert-0{--tw-backdrop-invert:invert(0)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.transition-none{transition-property:none}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.delay-75{transition-delay:75ms}.delay-100{transition-delay:0.1s}.delay-150{transition-delay:150ms}.delay-200{transition-delay:0.2s}.delay-300{transition-delay:0.3s}.delay-500{transition-delay:0.5s}.delay-700{transition-delay:0.7s}.delay-1000{transition-delay:1s}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:150ms}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-1000{transition-duration:1s}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}@media (min-width:640px){.sm\:container{width:100%}@media (min-width:640px){.sm\:container{max-width:640px}}@media (min-width:768px){.sm\:container{max-width:768px}}@media (min-width:1024px){.sm\:container{max-width:1024px}}@media (min-width:1280px){.sm\:container{max-width:1280px}}@media (min-width:1536px){.sm\:container{max-width:1536px}}.sm\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:focus-within\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:focus-within\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:pointer-events-none{pointer-events:none}.sm\:pointer-events-auto{pointer-events:auto}.sm\:visible{visibility:visible}.sm\:invisible{visibility:hidden}.sm\:static{position:static}.sm\:fixed{position:fixed}.sm\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:sticky{position:sticky}.sm\:inset-0{top:0;right:0;bottom:0;left:0}.sm\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.sm\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.sm\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.sm\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.sm\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.sm\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.sm\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.sm\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.sm\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.sm\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.sm\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.sm\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.sm\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.sm\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.sm\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.sm\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.sm\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.sm\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.sm\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.sm\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.sm\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.sm\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.sm\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.sm\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.sm\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.sm\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.sm\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.sm\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.sm\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.sm\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.sm\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.sm\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.sm\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.sm\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.sm\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.sm\:-inset-0{top:0;right:0;bottom:0;left:0}.sm\:-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.sm\:-inset-2{top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.sm\:-inset-3{top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem}.sm\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.sm\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.sm\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.sm\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.sm\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.sm\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.sm\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.sm\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.sm\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.sm\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.sm\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.sm\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.sm\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.sm\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.sm\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.sm\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.sm\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.sm\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.sm\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.sm\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.sm\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.sm\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.sm\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.sm\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.sm\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.sm\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.sm\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.sm\:-inset-0\.5{top:-.125rem;right:-.125rem;bottom:-.125rem;left:-.125rem}.sm\:-inset-1\.5{top:-.375rem;right:-.375rem;bottom:-.375rem;left:-.375rem}.sm\:-inset-2\.5{top:-.625rem;right:-.625rem;bottom:-.625rem;left:-.625rem}.sm\:-inset-3\.5{top:-.875rem;right:-.875rem;bottom:-.875rem;left:-.875rem}.sm\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.sm\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.sm\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.sm\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.sm\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.sm\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.sm\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.sm\:-inset-1\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.sm\:-inset-1\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.sm\:-inset-2\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.sm\:-inset-1\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.sm\:-inset-2\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.sm\:-inset-3\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.sm\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.sm\:inset-x-0{left:0;right:0}.sm\:inset-x-1{left:.25rem;right:.25rem}.sm\:inset-x-2{left:.5rem;right:.5rem}.sm\:inset-x-3{left:.75rem;right:.75rem}.sm\:inset-x-4{left:1rem;right:1rem}.sm\:inset-x-5{left:1.25rem;right:1.25rem}.sm\:inset-x-6{left:1.5rem;right:1.5rem}.sm\:inset-x-7{left:1.75rem;right:1.75rem}.sm\:inset-x-8{left:2rem;right:2rem}.sm\:inset-x-9{left:2.25rem;right:2.25rem}.sm\:inset-x-10{left:2.5rem;right:2.5rem}.sm\:inset-x-11{left:2.75rem;right:2.75rem}.sm\:inset-x-12{left:3rem;right:3rem}.sm\:inset-x-14{left:3.5rem;right:3.5rem}.sm\:inset-x-16{left:4rem;right:4rem}.sm\:inset-x-20{left:5rem;right:5rem}.sm\:inset-x-24{left:6rem;right:6rem}.sm\:inset-x-28{left:7rem;right:7rem}.sm\:inset-x-32{left:8rem;right:8rem}.sm\:inset-x-36{left:9rem;right:9rem}.sm\:inset-x-40{left:10rem;right:10rem}.sm\:inset-x-44{left:11rem;right:11rem}.sm\:inset-x-48{left:12rem;right:12rem}.sm\:inset-x-52{left:13rem;right:13rem}.sm\:inset-x-56{left:14rem;right:14rem}.sm\:inset-x-60{left:15rem;right:15rem}.sm\:inset-x-64{left:16rem;right:16rem}.sm\:inset-x-72{left:18rem;right:18rem}.sm\:inset-x-80{left:20rem;right:20rem}.sm\:inset-x-96{left:24rem;right:24rem}.sm\:inset-x-auto{left:auto;right:auto}.sm\:inset-x-px{left:1px;right:1px}.sm\:inset-x-0\.5{left:.125rem;right:.125rem}.sm\:inset-x-1\.5{left:.375rem;right:.375rem}.sm\:inset-x-2\.5{left:.625rem;right:.625rem}.sm\:inset-x-3\.5{left:.875rem;right:.875rem}.sm\:-inset-x-0{left:0;right:0}.sm\:-inset-x-1{left:-.25rem;right:-.25rem}.sm\:-inset-x-2{left:-.5rem;right:-.5rem}.sm\:-inset-x-3{left:-.75rem;right:-.75rem}.sm\:-inset-x-4{left:-1rem;right:-1rem}.sm\:-inset-x-5{left:-1.25rem;right:-1.25rem}.sm\:-inset-x-6{left:-1.5rem;right:-1.5rem}.sm\:-inset-x-7{left:-1.75rem;right:-1.75rem}.sm\:-inset-x-8{left:-2rem;right:-2rem}.sm\:-inset-x-9{left:-2.25rem;right:-2.25rem}.sm\:-inset-x-10{left:-2.5rem;right:-2.5rem}.sm\:-inset-x-11{left:-2.75rem;right:-2.75rem}.sm\:-inset-x-12{left:-3rem;right:-3rem}.sm\:-inset-x-14{left:-3.5rem;right:-3.5rem}.sm\:-inset-x-16{left:-4rem;right:-4rem}.sm\:-inset-x-20{left:-5rem;right:-5rem}.sm\:-inset-x-24{left:-6rem;right:-6rem}.sm\:-inset-x-28{left:-7rem;right:-7rem}.sm\:-inset-x-32{left:-8rem;right:-8rem}.sm\:-inset-x-36{left:-9rem;right:-9rem}.sm\:-inset-x-40{left:-10rem;right:-10rem}.sm\:-inset-x-44{left:-11rem;right:-11rem}.sm\:-inset-x-48{left:-12rem;right:-12rem}.sm\:-inset-x-52{left:-13rem;right:-13rem}.sm\:-inset-x-56{left:-14rem;right:-14rem}.sm\:-inset-x-60{left:-15rem;right:-15rem}.sm\:-inset-x-64{left:-16rem;right:-16rem}.sm\:-inset-x-72{left:-18rem;right:-18rem}.sm\:-inset-x-80{left:-20rem;right:-20rem}.sm\:-inset-x-96{left:-24rem;right:-24rem}.sm\:-inset-x-px{left:-1px;right:-1px}.sm\:-inset-x-0\.5{left:-.125rem;right:-.125rem}.sm\:-inset-x-1\.5{left:-.375rem;right:-.375rem}.sm\:-inset-x-2\.5{left:-.625rem;right:-.625rem}.sm\:-inset-x-3\.5{left:-.875rem;right:-.875rem}.sm\:inset-x-1\/2{left:50%;right:50%}.sm\:inset-x-1\/3{left:33.333333%;right:33.333333%}.sm\:inset-x-2\/3{left:66.666667%;right:66.666667%}.sm\:inset-x-1\/4{left:25%;right:25%}.sm\:inset-x-2\/4{left:50%;right:50%}.sm\:inset-x-3\/4{left:75%;right:75%}.sm\:inset-x-full{left:100%;right:100%}.sm\:-inset-x-1\/2{left:-50%;right:-50%}.sm\:-inset-x-1\/3{left:-33.333333%;right:-33.333333%}.sm\:-inset-x-2\/3{left:-66.666667%;right:-66.666667%}.sm\:-inset-x-1\/4{left:-25%;right:-25%}.sm\:-inset-x-2\/4{left:-50%;right:-50%}.sm\:-inset-x-3\/4{left:-75%;right:-75%}.sm\:-inset-x-full{left:-100%;right:-100%}.sm\:inset-y-0{top:0;bottom:0}.sm\:inset-y-1{top:.25rem;bottom:.25rem}.sm\:inset-y-2{top:.5rem;bottom:.5rem}.sm\:inset-y-3{top:.75rem;bottom:.75rem}.sm\:inset-y-4{top:1rem;bottom:1rem}.sm\:inset-y-5{top:1.25rem;bottom:1.25rem}.sm\:inset-y-6{top:1.5rem;bottom:1.5rem}.sm\:inset-y-7{top:1.75rem;bottom:1.75rem}.sm\:inset-y-8{top:2rem;bottom:2rem}.sm\:inset-y-9{top:2.25rem;bottom:2.25rem}.sm\:inset-y-10{top:2.5rem;bottom:2.5rem}.sm\:inset-y-11{top:2.75rem;bottom:2.75rem}.sm\:inset-y-12{top:3rem;bottom:3rem}.sm\:inset-y-14{top:3.5rem;bottom:3.5rem}.sm\:inset-y-16{top:4rem;bottom:4rem}.sm\:inset-y-20{top:5rem;bottom:5rem}.sm\:inset-y-24{top:6rem;bottom:6rem}.sm\:inset-y-28{top:7rem;bottom:7rem}.sm\:inset-y-32{top:8rem;bottom:8rem}.sm\:inset-y-36{top:9rem;bottom:9rem}.sm\:inset-y-40{top:10rem;bottom:10rem}.sm\:inset-y-44{top:11rem;bottom:11rem}.sm\:inset-y-48{top:12rem;bottom:12rem}.sm\:inset-y-52{top:13rem;bottom:13rem}.sm\:inset-y-56{top:14rem;bottom:14rem}.sm\:inset-y-60{top:15rem;bottom:15rem}.sm\:inset-y-64{top:16rem;bottom:16rem}.sm\:inset-y-72{top:18rem;bottom:18rem}.sm\:inset-y-80{top:20rem;bottom:20rem}.sm\:inset-y-96{top:24rem;bottom:24rem}.sm\:inset-y-auto{top:auto;bottom:auto}.sm\:inset-y-px{top:1px;bottom:1px}.sm\:inset-y-0\.5{top:.125rem;bottom:.125rem}.sm\:inset-y-1\.5{top:.375rem;bottom:.375rem}.sm\:inset-y-2\.5{top:.625rem;bottom:.625rem}.sm\:inset-y-3\.5{top:.875rem;bottom:.875rem}.sm\:-inset-y-0{top:0;bottom:0}.sm\:-inset-y-1{top:-.25rem;bottom:-.25rem}.sm\:-inset-y-2{top:-.5rem;bottom:-.5rem}.sm\:-inset-y-3{top:-.75rem;bottom:-.75rem}.sm\:-inset-y-4{top:-1rem;bottom:-1rem}.sm\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.sm\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.sm\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.sm\:-inset-y-8{top:-2rem;bottom:-2rem}.sm\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.sm\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.sm\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.sm\:-inset-y-12{top:-3rem;bottom:-3rem}.sm\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.sm\:-inset-y-16{top:-4rem;bottom:-4rem}.sm\:-inset-y-20{top:-5rem;bottom:-5rem}.sm\:-inset-y-24{top:-6rem;bottom:-6rem}.sm\:-inset-y-28{top:-7rem;bottom:-7rem}.sm\:-inset-y-32{top:-8rem;bottom:-8rem}.sm\:-inset-y-36{top:-9rem;bottom:-9rem}.sm\:-inset-y-40{top:-10rem;bottom:-10rem}.sm\:-inset-y-44{top:-11rem;bottom:-11rem}.sm\:-inset-y-48{top:-12rem;bottom:-12rem}.sm\:-inset-y-52{top:-13rem;bottom:-13rem}.sm\:-inset-y-56{top:-14rem;bottom:-14rem}.sm\:-inset-y-60{top:-15rem;bottom:-15rem}.sm\:-inset-y-64{top:-16rem;bottom:-16rem}.sm\:-inset-y-72{top:-18rem;bottom:-18rem}.sm\:-inset-y-80{top:-20rem;bottom:-20rem}.sm\:-inset-y-96{top:-24rem;bottom:-24rem}.sm\:-inset-y-px{top:-1px;bottom:-1px}.sm\:-inset-y-0\.5{top:-.125rem;bottom:-.125rem}.sm\:-inset-y-1\.5{top:-.375rem;bottom:-.375rem}.sm\:-inset-y-2\.5{top:-.625rem;bottom:-.625rem}.sm\:-inset-y-3\.5{top:-.875rem;bottom:-.875rem}.sm\:inset-y-1\/2{top:50%;bottom:50%}.sm\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.sm\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.sm\:inset-y-1\/4{top:25%;bottom:25%}.sm\:inset-y-2\/4{top:50%;bottom:50%}.sm\:inset-y-3\/4{top:75%;bottom:75%}.sm\:inset-y-full{top:100%;bottom:100%}.sm\:-inset-y-1\/2{top:-50%;bottom:-50%}.sm\:-inset-y-1\/3{top:-33.333333%;bottom:-33.333333%}.sm\:-inset-y-2\/3{top:-66.666667%;bottom:-66.666667%}.sm\:-inset-y-1\/4{top:-25%;bottom:-25%}.sm\:-inset-y-2\/4{top:-50%;bottom:-50%}.sm\:-inset-y-3\/4{top:-75%;bottom:-75%}.sm\:-inset-y-full{top:-100%;bottom:-100%}.sm\:top-0{top:0}.sm\:top-1{top:.25rem}.sm\:top-2{top:.5rem}.sm\:top-3{top:.75rem}.sm\:top-4{top:1rem}.sm\:top-5{top:1.25rem}.sm\:top-6{top:1.5rem}.sm\:top-7{top:1.75rem}.sm\:top-8{top:2rem}.sm\:top-9{top:2.25rem}.sm\:top-10{top:2.5rem}.sm\:top-11{top:2.75rem}.sm\:top-12{top:3rem}.sm\:top-14{top:3.5rem}.sm\:top-16{top:4rem}.sm\:top-20{top:5rem}.sm\:top-24{top:6rem}.sm\:top-28{top:7rem}.sm\:top-32{top:8rem}.sm\:top-36{top:9rem}.sm\:top-40{top:10rem}.sm\:top-44{top:11rem}.sm\:top-48{top:12rem}.sm\:top-52{top:13rem}.sm\:top-56{top:14rem}.sm\:top-60{top:15rem}.sm\:top-64{top:16rem}.sm\:top-72{top:18rem}.sm\:top-80{top:20rem}.sm\:top-96{top:24rem}.sm\:top-auto{top:auto}.sm\:top-px{top:1px}.sm\:top-0\.5{top:.125rem}.sm\:top-1\.5{top:.375rem}.sm\:top-2\.5{top:.625rem}.sm\:top-3\.5{top:.875rem}.sm\:-top-0{top:0}.sm\:-top-1{top:-.25rem}.sm\:-top-2{top:-.5rem}.sm\:-top-3{top:-.75rem}.sm\:-top-4{top:-1rem}.sm\:-top-5{top:-1.25rem}.sm\:-top-6{top:-1.5rem}.sm\:-top-7{top:-1.75rem}.sm\:-top-8{top:-2rem}.sm\:-top-9{top:-2.25rem}.sm\:-top-10{top:-2.5rem}.sm\:-top-11{top:-2.75rem}.sm\:-top-12{top:-3rem}.sm\:-top-14{top:-3.5rem}.sm\:-top-16{top:-4rem}.sm\:-top-20{top:-5rem}.sm\:-top-24{top:-6rem}.sm\:-top-28{top:-7rem}.sm\:-top-32{top:-8rem}.sm\:-top-36{top:-9rem}.sm\:-top-40{top:-10rem}.sm\:-top-44{top:-11rem}.sm\:-top-48{top:-12rem}.sm\:-top-52{top:-13rem}.sm\:-top-56{top:-14rem}.sm\:-top-60{top:-15rem}.sm\:-top-64{top:-16rem}.sm\:-top-72{top:-18rem}.sm\:-top-80{top:-20rem}.sm\:-top-96{top:-24rem}.sm\:-top-px{top:-1px}.sm\:-top-0\.5{top:-.125rem}.sm\:-top-1\.5{top:-.375rem}.sm\:-top-2\.5{top:-.625rem}.sm\:-top-3\.5{top:-.875rem}.sm\:top-1\/2{top:50%}.sm\:top-1\/3{top:33.333333%}.sm\:top-2\/3{top:66.666667%}.sm\:top-1\/4{top:25%}.sm\:top-2\/4{top:50%}.sm\:top-3\/4{top:75%}.sm\:top-full{top:100%}.sm\:-top-1\/2{top:-50%}.sm\:-top-1\/3{top:-33.333333%}.sm\:-top-2\/3{top:-66.666667%}.sm\:-top-1\/4{top:-25%}.sm\:-top-2\/4{top:-50%}.sm\:-top-3\/4{top:-75%}.sm\:-top-full{top:-100%}.sm\:right-0{right:0}.sm\:right-1{right:.25rem}.sm\:right-2{right:.5rem}.sm\:right-3{right:.75rem}.sm\:right-4{right:1rem}.sm\:right-5{right:1.25rem}.sm\:right-6{right:1.5rem}.sm\:right-7{right:1.75rem}.sm\:right-8{right:2rem}.sm\:right-9{right:2.25rem}.sm\:right-10{right:2.5rem}.sm\:right-11{right:2.75rem}.sm\:right-12{right:3rem}.sm\:right-14{right:3.5rem}.sm\:right-16{right:4rem}.sm\:right-20{right:5rem}.sm\:right-24{right:6rem}.sm\:right-28{right:7rem}.sm\:right-32{right:8rem}.sm\:right-36{right:9rem}.sm\:right-40{right:10rem}.sm\:right-44{right:11rem}.sm\:right-48{right:12rem}.sm\:right-52{right:13rem}.sm\:right-56{right:14rem}.sm\:right-60{right:15rem}.sm\:right-64{right:16rem}.sm\:right-72{right:18rem}.sm\:right-80{right:20rem}.sm\:right-96{right:24rem}.sm\:right-auto{right:auto}.sm\:right-px{right:1px}.sm\:right-0\.5{right:.125rem}.sm\:right-1\.5{right:.375rem}.sm\:right-2\.5{right:.625rem}.sm\:right-3\.5{right:.875rem}.sm\:-right-0{right:0}.sm\:-right-1{right:-.25rem}.sm\:-right-2{right:-.5rem}.sm\:-right-3{right:-.75rem}.sm\:-right-4{right:-1rem}.sm\:-right-5{right:-1.25rem}.sm\:-right-6{right:-1.5rem}.sm\:-right-7{right:-1.75rem}.sm\:-right-8{right:-2rem}.sm\:-right-9{right:-2.25rem}.sm\:-right-10{right:-2.5rem}.sm\:-right-11{right:-2.75rem}.sm\:-right-12{right:-3rem}.sm\:-right-14{right:-3.5rem}.sm\:-right-16{right:-4rem}.sm\:-right-20{right:-5rem}.sm\:-right-24{right:-6rem}.sm\:-right-28{right:-7rem}.sm\:-right-32{right:-8rem}.sm\:-right-36{right:-9rem}.sm\:-right-40{right:-10rem}.sm\:-right-44{right:-11rem}.sm\:-right-48{right:-12rem}.sm\:-right-52{right:-13rem}.sm\:-right-56{right:-14rem}.sm\:-right-60{right:-15rem}.sm\:-right-64{right:-16rem}.sm\:-right-72{right:-18rem}.sm\:-right-80{right:-20rem}.sm\:-right-96{right:-24rem}.sm\:-right-px{right:-1px}.sm\:-right-0\.5{right:-.125rem}.sm\:-right-1\.5{right:-.375rem}.sm\:-right-2\.5{right:-.625rem}.sm\:-right-3\.5{right:-.875rem}.sm\:right-1\/2{right:50%}.sm\:right-1\/3{right:33.333333%}.sm\:right-2\/3{right:66.666667%}.sm\:right-1\/4{right:25%}.sm\:right-2\/4{right:50%}.sm\:right-3\/4{right:75%}.sm\:right-full{right:100%}.sm\:-right-1\/2{right:-50%}.sm\:-right-1\/3{right:-33.333333%}.sm\:-right-2\/3{right:-66.666667%}.sm\:-right-1\/4{right:-25%}.sm\:-right-2\/4{right:-50%}.sm\:-right-3\/4{right:-75%}.sm\:-right-full{right:-100%}.sm\:bottom-0{bottom:0}.sm\:bottom-1{bottom:.25rem}.sm\:bottom-2{bottom:.5rem}.sm\:bottom-3{bottom:.75rem}.sm\:bottom-4{bottom:1rem}.sm\:bottom-5{bottom:1.25rem}.sm\:bottom-6{bottom:1.5rem}.sm\:bottom-7{bottom:1.75rem}.sm\:bottom-8{bottom:2rem}.sm\:bottom-9{bottom:2.25rem}.sm\:bottom-10{bottom:2.5rem}.sm\:bottom-11{bottom:2.75rem}.sm\:bottom-12{bottom:3rem}.sm\:bottom-14{bottom:3.5rem}.sm\:bottom-16{bottom:4rem}.sm\:bottom-20{bottom:5rem}.sm\:bottom-24{bottom:6rem}.sm\:bottom-28{bottom:7rem}.sm\:bottom-32{bottom:8rem}.sm\:bottom-36{bottom:9rem}.sm\:bottom-40{bottom:10rem}.sm\:bottom-44{bottom:11rem}.sm\:bottom-48{bottom:12rem}.sm\:bottom-52{bottom:13rem}.sm\:bottom-56{bottom:14rem}.sm\:bottom-60{bottom:15rem}.sm\:bottom-64{bottom:16rem}.sm\:bottom-72{bottom:18rem}.sm\:bottom-80{bottom:20rem}.sm\:bottom-96{bottom:24rem}.sm\:bottom-auto{bottom:auto}.sm\:bottom-px{bottom:1px}.sm\:bottom-0\.5{bottom:.125rem}.sm\:bottom-1\.5{bottom:.375rem}.sm\:bottom-2\.5{bottom:.625rem}.sm\:bottom-3\.5{bottom:.875rem}.sm\:-bottom-0{bottom:0}.sm\:-bottom-1{bottom:-.25rem}.sm\:-bottom-2{bottom:-.5rem}.sm\:-bottom-3{bottom:-.75rem}.sm\:-bottom-4{bottom:-1rem}.sm\:-bottom-5{bottom:-1.25rem}.sm\:-bottom-6{bottom:-1.5rem}.sm\:-bottom-7{bottom:-1.75rem}.sm\:-bottom-8{bottom:-2rem}.sm\:-bottom-9{bottom:-2.25rem}.sm\:-bottom-10{bottom:-2.5rem}.sm\:-bottom-11{bottom:-2.75rem}.sm\:-bottom-12{bottom:-3rem}.sm\:-bottom-14{bottom:-3.5rem}.sm\:-bottom-16{bottom:-4rem}.sm\:-bottom-20{bottom:-5rem}.sm\:-bottom-24{bottom:-6rem}.sm\:-bottom-28{bottom:-7rem}.sm\:-bottom-32{bottom:-8rem}.sm\:-bottom-36{bottom:-9rem}.sm\:-bottom-40{bottom:-10rem}.sm\:-bottom-44{bottom:-11rem}.sm\:-bottom-48{bottom:-12rem}.sm\:-bottom-52{bottom:-13rem}.sm\:-bottom-56{bottom:-14rem}.sm\:-bottom-60{bottom:-15rem}.sm\:-bottom-64{bottom:-16rem}.sm\:-bottom-72{bottom:-18rem}.sm\:-bottom-80{bottom:-20rem}.sm\:-bottom-96{bottom:-24rem}.sm\:-bottom-px{bottom:-1px}.sm\:-bottom-0\.5{bottom:-.125rem}.sm\:-bottom-1\.5{bottom:-.375rem}.sm\:-bottom-2\.5{bottom:-.625rem}.sm\:-bottom-3\.5{bottom:-.875rem}.sm\:bottom-1\/2{bottom:50%}.sm\:bottom-1\/3{bottom:33.333333%}.sm\:bottom-2\/3{bottom:66.666667%}.sm\:bottom-1\/4{bottom:25%}.sm\:bottom-2\/4{bottom:50%}.sm\:bottom-3\/4{bottom:75%}.sm\:bottom-full{bottom:100%}.sm\:-bottom-1\/2{bottom:-50%}.sm\:-bottom-1\/3{bottom:-33.333333%}.sm\:-bottom-2\/3{bottom:-66.666667%}.sm\:-bottom-1\/4{bottom:-25%}.sm\:-bottom-2\/4{bottom:-50%}.sm\:-bottom-3\/4{bottom:-75%}.sm\:-bottom-full{bottom:-100%}.sm\:left-0{left:0}.sm\:left-1{left:.25rem}.sm\:left-2{left:.5rem}.sm\:left-3{left:.75rem}.sm\:left-4{left:1rem}.sm\:left-5{left:1.25rem}.sm\:left-6{left:1.5rem}.sm\:left-7{left:1.75rem}.sm\:left-8{left:2rem}.sm\:left-9{left:2.25rem}.sm\:left-10{left:2.5rem}.sm\:left-11{left:2.75rem}.sm\:left-12{left:3rem}.sm\:left-14{left:3.5rem}.sm\:left-16{left:4rem}.sm\:left-20{left:5rem}.sm\:left-24{left:6rem}.sm\:left-28{left:7rem}.sm\:left-32{left:8rem}.sm\:left-36{left:9rem}.sm\:left-40{left:10rem}.sm\:left-44{left:11rem}.sm\:left-48{left:12rem}.sm\:left-52{left:13rem}.sm\:left-56{left:14rem}.sm\:left-60{left:15rem}.sm\:left-64{left:16rem}.sm\:left-72{left:18rem}.sm\:left-80{left:20rem}.sm\:left-96{left:24rem}.sm\:left-auto{left:auto}.sm\:left-px{left:1px}.sm\:left-0\.5{left:.125rem}.sm\:left-1\.5{left:.375rem}.sm\:left-2\.5{left:.625rem}.sm\:left-3\.5{left:.875rem}.sm\:-left-0{left:0}.sm\:-left-1{left:-.25rem}.sm\:-left-2{left:-.5rem}.sm\:-left-3{left:-.75rem}.sm\:-left-4{left:-1rem}.sm\:-left-5{left:-1.25rem}.sm\:-left-6{left:-1.5rem}.sm\:-left-7{left:-1.75rem}.sm\:-left-8{left:-2rem}.sm\:-left-9{left:-2.25rem}.sm\:-left-10{left:-2.5rem}.sm\:-left-11{left:-2.75rem}.sm\:-left-12{left:-3rem}.sm\:-left-14{left:-3.5rem}.sm\:-left-16{left:-4rem}.sm\:-left-20{left:-5rem}.sm\:-left-24{left:-6rem}.sm\:-left-28{left:-7rem}.sm\:-left-32{left:-8rem}.sm\:-left-36{left:-9rem}.sm\:-left-40{left:-10rem}.sm\:-left-44{left:-11rem}.sm\:-left-48{left:-12rem}.sm\:-left-52{left:-13rem}.sm\:-left-56{left:-14rem}.sm\:-left-60{left:-15rem}.sm\:-left-64{left:-16rem}.sm\:-left-72{left:-18rem}.sm\:-left-80{left:-20rem}.sm\:-left-96{left:-24rem}.sm\:-left-px{left:-1px}.sm\:-left-0\.5{left:-.125rem}.sm\:-left-1\.5{left:-.375rem}.sm\:-left-2\.5{left:-.625rem}.sm\:-left-3\.5{left:-.875rem}.sm\:left-1\/2{left:50%}.sm\:left-1\/3{left:33.333333%}.sm\:left-2\/3{left:66.666667%}.sm\:left-1\/4{left:25%}.sm\:left-2\/4{left:50%}.sm\:left-3\/4{left:75%}.sm\:left-full{left:100%}.sm\:-left-1\/2{left:-50%}.sm\:-left-1\/3{left:-33.333333%}.sm\:-left-2\/3{left:-66.666667%}.sm\:-left-1\/4{left:-25%}.sm\:-left-2\/4{left:-50%}.sm\:-left-3\/4{left:-75%}.sm\:-left-full{left:-100%}.sm\:isolate{isolation:isolate}.sm\:isolation-auto{isolation:auto}.sm\:z-0{z-index:0}.sm\:z-10{z-index:10}.sm\:z-20{z-index:20}.sm\:z-30{z-index:30}.sm\:z-40{z-index:40}.sm\:z-50{z-index:50}.sm\:z-auto{z-index:auto}.sm\:focus-within\:z-0:focus-within{z-index:0}.sm\:focus-within\:z-10:focus-within{z-index:10}.sm\:focus-within\:z-20:focus-within{z-index:20}.sm\:focus-within\:z-30:focus-within{z-index:30}.sm\:focus-within\:z-40:focus-within{z-index:40}.sm\:focus-within\:z-50:focus-within{z-index:50}.sm\:focus-within\:z-auto:focus-within{z-index:auto}.sm\:focus\:z-0:focus{z-index:0}.sm\:focus\:z-10:focus{z-index:10}.sm\:focus\:z-20:focus{z-index:20}.sm\:focus\:z-30:focus{z-index:30}.sm\:focus\:z-40:focus{z-index:40}.sm\:focus\:z-50:focus{z-index:50}.sm\:focus\:z-auto:focus{z-index:auto}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:order-4{order:4}.sm\:order-5{order:5}.sm\:order-6{order:6}.sm\:order-7{order:7}.sm\:order-8{order:8}.sm\:order-9{order:9}.sm\:order-10{order:10}.sm\:order-11{order:11}.sm\:order-12{order:12}.sm\:order-first{order:-9999}.sm\:order-last{order:9999}.sm\:order-none{order:0}.sm\:col-auto{grid-column:auto}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-full{grid-column:1/-1}.sm\:col-start-1{grid-column-start:1}.sm\:col-start-2{grid-column-start:2}.sm\:col-start-3{grid-column-start:3}.sm\:col-start-4{grid-column-start:4}.sm\:col-start-5{grid-column-start:5}.sm\:col-start-6{grid-column-start:6}.sm\:col-start-7{grid-column-start:7}.sm\:col-start-8{grid-column-start:8}.sm\:col-start-9{grid-column-start:9}.sm\:col-start-10{grid-column-start:10}.sm\:col-start-11{grid-column-start:11}.sm\:col-start-12{grid-column-start:12}.sm\:col-start-13{grid-column-start:13}.sm\:col-start-auto{grid-column-start:auto}.sm\:col-end-1{grid-column-end:1}.sm\:col-end-2{grid-column-end:2}.sm\:col-end-3{grid-column-end:3}.sm\:col-end-4{grid-column-end:4}.sm\:col-end-5{grid-column-end:5}.sm\:col-end-6{grid-column-end:6}.sm\:col-end-7{grid-column-end:7}.sm\:col-end-8{grid-column-end:8}.sm\:col-end-9{grid-column-end:9}.sm\:col-end-10{grid-column-end:10}.sm\:col-end-11{grid-column-end:11}.sm\:col-end-12{grid-column-end:12}.sm\:col-end-13{grid-column-end:13}.sm\:col-end-auto{grid-column-end:auto}.sm\:row-auto{grid-row:auto}.sm\:row-span-1{grid-row:span 1/span 1}.sm\:row-span-2{grid-row:span 2/span 2}.sm\:row-span-3{grid-row:span 3/span 3}.sm\:row-span-4{grid-row:span 4/span 4}.sm\:row-span-5{grid-row:span 5/span 5}.sm\:row-span-6{grid-row:span 6/span 6}.sm\:row-span-full{grid-row:1/-1}.sm\:row-start-1{grid-row-start:1}.sm\:row-start-2{grid-row-start:2}.sm\:row-start-3{grid-row-start:3}.sm\:row-start-4{grid-row-start:4}.sm\:row-start-5{grid-row-start:5}.sm\:row-start-6{grid-row-start:6}.sm\:row-start-7{grid-row-start:7}.sm\:row-start-auto{grid-row-start:auto}.sm\:row-end-1{grid-row-end:1}.sm\:row-end-2{grid-row-end:2}.sm\:row-end-3{grid-row-end:3}.sm\:row-end-4{grid-row-end:4}.sm\:row-end-5{grid-row-end:5}.sm\:row-end-6{grid-row-end:6}.sm\:row-end-7{grid-row-end:7}.sm\:row-end-auto{grid-row-end:auto}.sm\:float-right{float:right}.sm\:float-left{float:left}.sm\:float-none{float:none}.sm\:clear-left{clear:left}.sm\:clear-right{clear:right}.sm\:clear-both{clear:both}.sm\:clear-none{clear:none}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-5{margin:1.25rem}.sm\:m-6{margin:1.5rem}.sm\:m-7{margin:1.75rem}.sm\:m-8{margin:2rem}.sm\:m-9{margin:2.25rem}.sm\:m-10{margin:2.5rem}.sm\:m-11{margin:2.75rem}.sm\:m-12{margin:3rem}.sm\:m-14{margin:3.5rem}.sm\:m-16{margin:4rem}.sm\:m-20{margin:5rem}.sm\:m-24{margin:6rem}.sm\:m-28{margin:7rem}.sm\:m-32{margin:8rem}.sm\:m-36{margin:9rem}.sm\:m-40{margin:10rem}.sm\:m-44{margin:11rem}.sm\:m-48{margin:12rem}.sm\:m-52{margin:13rem}.sm\:m-56{margin:14rem}.sm\:m-60{margin:15rem}.sm\:m-64{margin:16rem}.sm\:m-72{margin:18rem}.sm\:m-80{margin:20rem}.sm\:m-96{margin:24rem}.sm\:m-auto{margin:auto}.sm\:m-px{margin:1px}.sm\:m-0\.5{margin:.125rem}.sm\:m-1\.5{margin:.375rem}.sm\:m-2\.5{margin:.625rem}.sm\:m-3\.5{margin:.875rem}.sm\:-m-0{margin:0}.sm\:-m-1{margin:-.25rem}.sm\:-m-2{margin:-.5rem}.sm\:-m-3{margin:-.75rem}.sm\:-m-4{margin:-1rem}.sm\:-m-5{margin:-1.25rem}.sm\:-m-6{margin:-1.5rem}.sm\:-m-7{margin:-1.75rem}.sm\:-m-8{margin:-2rem}.sm\:-m-9{margin:-2.25rem}.sm\:-m-10{margin:-2.5rem}.sm\:-m-11{margin:-2.75rem}.sm\:-m-12{margin:-3rem}.sm\:-m-14{margin:-3.5rem}.sm\:-m-16{margin:-4rem}.sm\:-m-20{margin:-5rem}.sm\:-m-24{margin:-6rem}.sm\:-m-28{margin:-7rem}.sm\:-m-32{margin:-8rem}.sm\:-m-36{margin:-9rem}.sm\:-m-40{margin:-10rem}.sm\:-m-44{margin:-11rem}.sm\:-m-48{margin:-12rem}.sm\:-m-52{margin:-13rem}.sm\:-m-56{margin:-14rem}.sm\:-m-60{margin:-15rem}.sm\:-m-64{margin:-16rem}.sm\:-m-72{margin:-18rem}.sm\:-m-80{margin:-20rem}.sm\:-m-96{margin:-24rem}.sm\:-m-px{margin:-1px}.sm\:-m-0\.5{margin:-.125rem}.sm\:-m-1\.5{margin:-.375rem}.sm\:-m-2\.5{margin:-.625rem}.sm\:-m-3\.5{margin:-.875rem}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mx-1{margin-left:.25rem;margin-right:.25rem}.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:mx-3{margin-left:.75rem;margin-right:.75rem}.sm\:mx-4{margin-left:1rem;margin-right:1rem}.sm\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.sm\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.sm\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.sm\:mx-12{margin-left:3rem;margin-right:3rem}.sm\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.sm\:mx-16{margin-left:4rem;margin-right:4rem}.sm\:mx-20{margin-left:5rem;margin-right:5rem}.sm\:mx-24{margin-left:6rem;margin-right:6rem}.sm\:mx-28{margin-left:7rem;margin-right:7rem}.sm\:mx-32{margin-left:8rem;margin-right:8rem}.sm\:mx-36{margin-left:9rem;margin-right:9rem}.sm\:mx-40{margin-left:10rem;margin-right:10rem}.sm\:mx-44{margin-left:11rem;margin-right:11rem}.sm\:mx-48{margin-left:12rem;margin-right:12rem}.sm\:mx-52{margin-left:13rem;margin-right:13rem}.sm\:mx-56{margin-left:14rem;margin-right:14rem}.sm\:mx-60{margin-left:15rem;margin-right:15rem}.sm\:mx-64{margin-left:16rem;margin-right:16rem}.sm\:mx-72{margin-left:18rem;margin-right:18rem}.sm\:mx-80{margin-left:20rem;margin-right:20rem}.sm\:mx-96{margin-left:24rem;margin-right:24rem}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:mx-px{margin-left:1px;margin-right:1px}.sm\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.sm\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.sm\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.sm\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.sm\:-mx-0{margin-left:0;margin-right:0}.sm\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.sm\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.sm\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.sm\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.sm\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.sm\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.sm\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.sm\:-mx-12{margin-left:-3rem;margin-right:-3rem}.sm\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.sm\:-mx-16{margin-left:-4rem;margin-right:-4rem}.sm\:-mx-20{margin-left:-5rem;margin-right:-5rem}.sm\:-mx-24{margin-left:-6rem;margin-right:-6rem}.sm\:-mx-28{margin-left:-7rem;margin-right:-7rem}.sm\:-mx-32{margin-left:-8rem;margin-right:-8rem}.sm\:-mx-36{margin-left:-9rem;margin-right:-9rem}.sm\:-mx-40{margin-left:-10rem;margin-right:-10rem}.sm\:-mx-44{margin-left:-11rem;margin-right:-11rem}.sm\:-mx-48{margin-left:-12rem;margin-right:-12rem}.sm\:-mx-52{margin-left:-13rem;margin-right:-13rem}.sm\:-mx-56{margin-left:-14rem;margin-right:-14rem}.sm\:-mx-60{margin-left:-15rem;margin-right:-15rem}.sm\:-mx-64{margin-left:-16rem;margin-right:-16rem}.sm\:-mx-72{margin-left:-18rem;margin-right:-18rem}.sm\:-mx-80{margin-left:-20rem;margin-right:-20rem}.sm\:-mx-96{margin-left:-24rem;margin-right:-24rem}.sm\:-mx-px{margin-left:-1px;margin-right:-1px}.sm\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.sm\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.sm\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.sm\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.sm\:my-0{margin-top:0;margin-bottom:0}.sm\:my-1{margin-top:.25rem;margin-bottom:.25rem}.sm\:my-2{margin-top:.5rem;margin-bottom:.5rem}.sm\:my-3{margin-top:.75rem;margin-bottom:.75rem}.sm\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.sm\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.sm\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.sm\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.sm\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.sm\:my-12{margin-top:3rem;margin-bottom:3rem}.sm\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.sm\:my-16{margin-top:4rem;margin-bottom:4rem}.sm\:my-20{margin-top:5rem;margin-bottom:5rem}.sm\:my-24{margin-top:6rem;margin-bottom:6rem}.sm\:my-28{margin-top:7rem;margin-bottom:7rem}.sm\:my-32{margin-top:8rem;margin-bottom:8rem}.sm\:my-36{margin-top:9rem;margin-bottom:9rem}.sm\:my-40{margin-top:10rem;margin-bottom:10rem}.sm\:my-44{margin-top:11rem;margin-bottom:11rem}.sm\:my-48{margin-top:12rem;margin-bottom:12rem}.sm\:my-52{margin-top:13rem;margin-bottom:13rem}.sm\:my-56{margin-top:14rem;margin-bottom:14rem}.sm\:my-60{margin-top:15rem;margin-bottom:15rem}.sm\:my-64{margin-top:16rem;margin-bottom:16rem}.sm\:my-72{margin-top:18rem;margin-bottom:18rem}.sm\:my-80{margin-top:20rem;margin-bottom:20rem}.sm\:my-96{margin-top:24rem;margin-bottom:24rem}.sm\:my-auto{margin-top:auto;margin-bottom:auto}.sm\:my-px{margin-top:1px;margin-bottom:1px}.sm\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.sm\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.sm\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.sm\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.sm\:-my-0{margin-top:0;margin-bottom:0}.sm\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.sm\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.sm\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.sm\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.sm\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.sm\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.sm\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.sm\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.sm\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.sm\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.sm\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.sm\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.sm\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.sm\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.sm\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.sm\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.sm\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.sm\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.sm\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.sm\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.sm\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.sm\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.sm\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.sm\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.sm\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.sm\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.sm\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.sm\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.sm\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.sm\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.sm\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.sm\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.sm\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.sm\:mt-0{margin-top:0}.sm\:mt-1{margin-top:.25rem}.sm\:mt-2{margin-top:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:mt-5{margin-top:1.25rem}.sm\:mt-6{margin-top:1.5rem}.sm\:mt-7{margin-top:1.75rem}.sm\:mt-8{margin-top:2rem}.sm\:mt-9{margin-top:2.25rem}.sm\:mt-10{margin-top:2.5rem}.sm\:mt-11{margin-top:2.75rem}.sm\:mt-12{margin-top:3rem}.sm\:mt-14{margin-top:3.5rem}.sm\:mt-16{margin-top:4rem}.sm\:mt-20{margin-top:5rem}.sm\:mt-24{margin-top:6rem}.sm\:mt-28{margin-top:7rem}.sm\:mt-32{margin-top:8rem}.sm\:mt-36{margin-top:9rem}.sm\:mt-40{margin-top:10rem}.sm\:mt-44{margin-top:11rem}.sm\:mt-48{margin-top:12rem}.sm\:mt-52{margin-top:13rem}.sm\:mt-56{margin-top:14rem}.sm\:mt-60{margin-top:15rem}.sm\:mt-64{margin-top:16rem}.sm\:mt-72{margin-top:18rem}.sm\:mt-80{margin-top:20rem}.sm\:mt-96{margin-top:24rem}.sm\:mt-auto{margin-top:auto}.sm\:mt-px{margin-top:1px}.sm\:mt-0\.5{margin-top:.125rem}.sm\:mt-1\.5{margin-top:.375rem}.sm\:mt-2\.5{margin-top:.625rem}.sm\:mt-3\.5{margin-top:.875rem}.sm\:-mt-0{margin-top:0}.sm\:-mt-1{margin-top:-.25rem}.sm\:-mt-2{margin-top:-.5rem}.sm\:-mt-3{margin-top:-.75rem}.sm\:-mt-4{margin-top:-1rem}.sm\:-mt-5{margin-top:-1.25rem}.sm\:-mt-6{margin-top:-1.5rem}.sm\:-mt-7{margin-top:-1.75rem}.sm\:-mt-8{margin-top:-2rem}.sm\:-mt-9{margin-top:-2.25rem}.sm\:-mt-10{margin-top:-2.5rem}.sm\:-mt-11{margin-top:-2.75rem}.sm\:-mt-12{margin-top:-3rem}.sm\:-mt-14{margin-top:-3.5rem}.sm\:-mt-16{margin-top:-4rem}.sm\:-mt-20{margin-top:-5rem}.sm\:-mt-24{margin-top:-6rem}.sm\:-mt-28{margin-top:-7rem}.sm\:-mt-32{margin-top:-8rem}.sm\:-mt-36{margin-top:-9rem}.sm\:-mt-40{margin-top:-10rem}.sm\:-mt-44{margin-top:-11rem}.sm\:-mt-48{margin-top:-12rem}.sm\:-mt-52{margin-top:-13rem}.sm\:-mt-56{margin-top:-14rem}.sm\:-mt-60{margin-top:-15rem}.sm\:-mt-64{margin-top:-16rem}.sm\:-mt-72{margin-top:-18rem}.sm\:-mt-80{margin-top:-20rem}.sm\:-mt-96{margin-top:-24rem}.sm\:-mt-px{margin-top:-1px}.sm\:-mt-0\.5{margin-top:-.125rem}.sm\:-mt-1\.5{margin-top:-.375rem}.sm\:-mt-2\.5{margin-top:-.625rem}.sm\:-mt-3\.5{margin-top:-.875rem}.sm\:mr-0{margin-right:0}.sm\:mr-1{margin-right:.25rem}.sm\:mr-2{margin-right:.5rem}.sm\:mr-3{margin-right:.75rem}.sm\:mr-4{margin-right:1rem}.sm\:mr-5{margin-right:1.25rem}.sm\:mr-6{margin-right:1.5rem}.sm\:mr-7{margin-right:1.75rem}.sm\:mr-8{margin-right:2rem}.sm\:mr-9{margin-right:2.25rem}.sm\:mr-10{margin-right:2.5rem}.sm\:mr-11{margin-right:2.75rem}.sm\:mr-12{margin-right:3rem}.sm\:mr-14{margin-right:3.5rem}.sm\:mr-16{margin-right:4rem}.sm\:mr-20{margin-right:5rem}.sm\:mr-24{margin-right:6rem}.sm\:mr-28{margin-right:7rem}.sm\:mr-32{margin-right:8rem}.sm\:mr-36{margin-right:9rem}.sm\:mr-40{margin-right:10rem}.sm\:mr-44{margin-right:11rem}.sm\:mr-48{margin-right:12rem}.sm\:mr-52{margin-right:13rem}.sm\:mr-56{margin-right:14rem}.sm\:mr-60{margin-right:15rem}.sm\:mr-64{margin-right:16rem}.sm\:mr-72{margin-right:18rem}.sm\:mr-80{margin-right:20rem}.sm\:mr-96{margin-right:24rem}.sm\:mr-auto{margin-right:auto}.sm\:mr-px{margin-right:1px}.sm\:mr-0\.5{margin-right:.125rem}.sm\:mr-1\.5{margin-right:.375rem}.sm\:mr-2\.5{margin-right:.625rem}.sm\:mr-3\.5{margin-right:.875rem}.sm\:-mr-0{margin-right:0}.sm\:-mr-1{margin-right:-.25rem}.sm\:-mr-2{margin-right:-.5rem}.sm\:-mr-3{margin-right:-.75rem}.sm\:-mr-4{margin-right:-1rem}.sm\:-mr-5{margin-right:-1.25rem}.sm\:-mr-6{margin-right:-1.5rem}.sm\:-mr-7{margin-right:-1.75rem}.sm\:-mr-8{margin-right:-2rem}.sm\:-mr-9{margin-right:-2.25rem}.sm\:-mr-10{margin-right:-2.5rem}.sm\:-mr-11{margin-right:-2.75rem}.sm\:-mr-12{margin-right:-3rem}.sm\:-mr-14{margin-right:-3.5rem}.sm\:-mr-16{margin-right:-4rem}.sm\:-mr-20{margin-right:-5rem}.sm\:-mr-24{margin-right:-6rem}.sm\:-mr-28{margin-right:-7rem}.sm\:-mr-32{margin-right:-8rem}.sm\:-mr-36{margin-right:-9rem}.sm\:-mr-40{margin-right:-10rem}.sm\:-mr-44{margin-right:-11rem}.sm\:-mr-48{margin-right:-12rem}.sm\:-mr-52{margin-right:-13rem}.sm\:-mr-56{margin-right:-14rem}.sm\:-mr-60{margin-right:-15rem}.sm\:-mr-64{margin-right:-16rem}.sm\:-mr-72{margin-right:-18rem}.sm\:-mr-80{margin-right:-20rem}.sm\:-mr-96{margin-right:-24rem}.sm\:-mr-px{margin-right:-1px}.sm\:-mr-0\.5{margin-right:-.125rem}.sm\:-mr-1\.5{margin-right:-.375rem}.sm\:-mr-2\.5{margin-right:-.625rem}.sm\:-mr-3\.5{margin-right:-.875rem}.sm\:mb-0{margin-bottom:0}.sm\:mb-1{margin-bottom:.25rem}.sm\:mb-2{margin-bottom:.5rem}.sm\:mb-3{margin-bottom:.75rem}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-5{margin-bottom:1.25rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:mb-7{margin-bottom:1.75rem}.sm\:mb-8{margin-bottom:2rem}.sm\:mb-9{margin-bottom:2.25rem}.sm\:mb-10{margin-bottom:2.5rem}.sm\:mb-11{margin-bottom:2.75rem}.sm\:mb-12{margin-bottom:3rem}.sm\:mb-14{margin-bottom:3.5rem}.sm\:mb-16{margin-bottom:4rem}.sm\:mb-20{margin-bottom:5rem}.sm\:mb-24{margin-bottom:6rem}.sm\:mb-28{margin-bottom:7rem}.sm\:mb-32{margin-bottom:8rem}.sm\:mb-36{margin-bottom:9rem}.sm\:mb-40{margin-bottom:10rem}.sm\:mb-44{margin-bottom:11rem}.sm\:mb-48{margin-bottom:12rem}.sm\:mb-52{margin-bottom:13rem}.sm\:mb-56{margin-bottom:14rem}.sm\:mb-60{margin-bottom:15rem}.sm\:mb-64{margin-bottom:16rem}.sm\:mb-72{margin-bottom:18rem}.sm\:mb-80{margin-bottom:20rem}.sm\:mb-96{margin-bottom:24rem}.sm\:mb-auto{margin-bottom:auto}.sm\:mb-px{margin-bottom:1px}.sm\:mb-0\.5{margin-bottom:.125rem}.sm\:mb-1\.5{margin-bottom:.375rem}.sm\:mb-2\.5{margin-bottom:.625rem}.sm\:mb-3\.5{margin-bottom:.875rem}.sm\:-mb-0{margin-bottom:0}.sm\:-mb-1{margin-bottom:-.25rem}.sm\:-mb-2{margin-bottom:-.5rem}.sm\:-mb-3{margin-bottom:-.75rem}.sm\:-mb-4{margin-bottom:-1rem}.sm\:-mb-5{margin-bottom:-1.25rem}.sm\:-mb-6{margin-bottom:-1.5rem}.sm\:-mb-7{margin-bottom:-1.75rem}.sm\:-mb-8{margin-bottom:-2rem}.sm\:-mb-9{margin-bottom:-2.25rem}.sm\:-mb-10{margin-bottom:-2.5rem}.sm\:-mb-11{margin-bottom:-2.75rem}.sm\:-mb-12{margin-bottom:-3rem}.sm\:-mb-14{margin-bottom:-3.5rem}.sm\:-mb-16{margin-bottom:-4rem}.sm\:-mb-20{margin-bottom:-5rem}.sm\:-mb-24{margin-bottom:-6rem}.sm\:-mb-28{margin-bottom:-7rem}.sm\:-mb-32{margin-bottom:-8rem}.sm\:-mb-36{margin-bottom:-9rem}.sm\:-mb-40{margin-bottom:-10rem}.sm\:-mb-44{margin-bottom:-11rem}.sm\:-mb-48{margin-bottom:-12rem}.sm\:-mb-52{margin-bottom:-13rem}.sm\:-mb-56{margin-bottom:-14rem}.sm\:-mb-60{margin-bottom:-15rem}.sm\:-mb-64{margin-bottom:-16rem}.sm\:-mb-72{margin-bottom:-18rem}.sm\:-mb-80{margin-bottom:-20rem}.sm\:-mb-96{margin-bottom:-24rem}.sm\:-mb-px{margin-bottom:-1px}.sm\:-mb-0\.5{margin-bottom:-.125rem}.sm\:-mb-1\.5{margin-bottom:-.375rem}.sm\:-mb-2\.5{margin-bottom:-.625rem}.sm\:-mb-3\.5{margin-bottom:-.875rem}.sm\:ml-0{margin-left:0}.sm\:ml-1{margin-left:.25rem}.sm\:ml-2{margin-left:.5rem}.sm\:ml-3{margin-left:.75rem}.sm\:ml-4{margin-left:1rem}.sm\:ml-5{margin-left:1.25rem}.sm\:ml-6{margin-left:1.5rem}.sm\:ml-7{margin-left:1.75rem}.sm\:ml-8{margin-left:2rem}.sm\:ml-9{margin-left:2.25rem}.sm\:ml-10{margin-left:2.5rem}.sm\:ml-11{margin-left:2.75rem}.sm\:ml-12{margin-left:3rem}.sm\:ml-14{margin-left:3.5rem}.sm\:ml-16{margin-left:4rem}.sm\:ml-20{margin-left:5rem}.sm\:ml-24{margin-left:6rem}.sm\:ml-28{margin-left:7rem}.sm\:ml-32{margin-left:8rem}.sm\:ml-36{margin-left:9rem}.sm\:ml-40{margin-left:10rem}.sm\:ml-44{margin-left:11rem}.sm\:ml-48{margin-left:12rem}.sm\:ml-52{margin-left:13rem}.sm\:ml-56{margin-left:14rem}.sm\:ml-60{margin-left:15rem}.sm\:ml-64{margin-left:16rem}.sm\:ml-72{margin-left:18rem}.sm\:ml-80{margin-left:20rem}.sm\:ml-96{margin-left:24rem}.sm\:ml-auto{margin-left:auto}.sm\:ml-px{margin-left:1px}.sm\:ml-0\.5{margin-left:.125rem}.sm\:ml-1\.5{margin-left:.375rem}.sm\:ml-2\.5{margin-left:.625rem}.sm\:ml-3\.5{margin-left:.875rem}.sm\:-ml-0{margin-left:0}.sm\:-ml-1{margin-left:-.25rem}.sm\:-ml-2{margin-left:-.5rem}.sm\:-ml-3{margin-left:-.75rem}.sm\:-ml-4{margin-left:-1rem}.sm\:-ml-5{margin-left:-1.25rem}.sm\:-ml-6{margin-left:-1.5rem}.sm\:-ml-7{margin-left:-1.75rem}.sm\:-ml-8{margin-left:-2rem}.sm\:-ml-9{margin-left:-2.25rem}.sm\:-ml-10{margin-left:-2.5rem}.sm\:-ml-11{margin-left:-2.75rem}.sm\:-ml-12{margin-left:-3rem}.sm\:-ml-14{margin-left:-3.5rem}.sm\:-ml-16{margin-left:-4rem}.sm\:-ml-20{margin-left:-5rem}.sm\:-ml-24{margin-left:-6rem}.sm\:-ml-28{margin-left:-7rem}.sm\:-ml-32{margin-left:-8rem}.sm\:-ml-36{margin-left:-9rem}.sm\:-ml-40{margin-left:-10rem}.sm\:-ml-44{margin-left:-11rem}.sm\:-ml-48{margin-left:-12rem}.sm\:-ml-52{margin-left:-13rem}.sm\:-ml-56{margin-left:-14rem}.sm\:-ml-60{margin-left:-15rem}.sm\:-ml-64{margin-left:-16rem}.sm\:-ml-72{margin-left:-18rem}.sm\:-ml-80{margin-left:-20rem}.sm\:-ml-96{margin-left:-24rem}.sm\:-ml-px{margin-left:-1px}.sm\:-ml-0\.5{margin-left:-.125rem}.sm\:-ml-1\.5{margin-left:-.375rem}.sm\:-ml-2\.5{margin-left:-.625rem}.sm\:-ml-3\.5{margin-left:-.875rem}.sm\:box-border{box-sizing:border-box}.sm\:box-content{box-sizing:content-box}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:table{display:table}.sm\:inline-table{display:inline-table}.sm\:table-caption{display:table-caption}.sm\:table-cell{display:table-cell}.sm\:table-column{display:table-column}.sm\:table-column-group{display:table-column-group}.sm\:table-footer-group{display:table-footer-group}.sm\:table-header-group{display:table-header-group}.sm\:table-row-group{display:table-row-group}.sm\:table-row{display:table-row}.sm\:flow-root{display:flow-root}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:contents{display:contents}.sm\:list-item{display:list-item}.sm\:hidden{display:none}.sm\:h-0{height:0}.sm\:h-1{height:.25rem}.sm\:h-2{height:.5rem}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-5{height:1.25rem}.sm\:h-6{height:1.5rem}.sm\:h-7{height:1.75rem}.sm\:h-8{height:2rem}.sm\:h-9{height:2.25rem}.sm\:h-10{height:2.5rem}.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:h-14{height:3.5rem}.sm\:h-16{height:4rem}.sm\:h-20{height:5rem}.sm\:h-24{height:6rem}.sm\:h-28{height:7rem}.sm\:h-32{height:8rem}.sm\:h-36{height:9rem}.sm\:h-40{height:10rem}.sm\:h-44{height:11rem}.sm\:h-48{height:12rem}.sm\:h-52{height:13rem}.sm\:h-56{height:14rem}.sm\:h-60{height:15rem}.sm\:h-64{height:16rem}.sm\:h-72{height:18rem}.sm\:h-80{height:20rem}.sm\:h-96{height:24rem}.sm\:h-auto{height:auto}.sm\:h-px{height:1px}.sm\:h-0\.5{height:.125rem}.sm\:h-1\.5{height:.375rem}.sm\:h-2\.5{height:.625rem}.sm\:h-3\.5{height:.875rem}.sm\:h-1\/2{height:50%}.sm\:h-1\/3{height:33.333333%}.sm\:h-2\/3{height:66.666667%}.sm\:h-1\/4{height:25%}.sm\:h-2\/4{height:50%}.sm\:h-3\/4{height:75%}.sm\:h-1\/5{height:20%}.sm\:h-2\/5{height:40%}.sm\:h-3\/5{height:60%}.sm\:h-4\/5{height:80%}.sm\:h-1\/6{height:16.666667%}.sm\:h-2\/6{height:33.333333%}.sm\:h-3\/6{height:50%}.sm\:h-4\/6{height:66.666667%}.sm\:h-5\/6{height:83.333333%}.sm\:h-full{height:100%}.sm\:h-screen{height:100vh}.sm\:max-h-0{max-height:0}.sm\:max-h-1{max-height:.25rem}.sm\:max-h-2{max-height:.5rem}.sm\:max-h-3{max-height:.75rem}.sm\:max-h-4{max-height:1rem}.sm\:max-h-5{max-height:1.25rem}.sm\:max-h-6{max-height:1.5rem}.sm\:max-h-7{max-height:1.75rem}.sm\:max-h-8{max-height:2rem}.sm\:max-h-9{max-height:2.25rem}.sm\:max-h-10{max-height:2.5rem}.sm\:max-h-11{max-height:2.75rem}.sm\:max-h-12{max-height:3rem}.sm\:max-h-14{max-height:3.5rem}.sm\:max-h-16{max-height:4rem}.sm\:max-h-20{max-height:5rem}.sm\:max-h-24{max-height:6rem}.sm\:max-h-28{max-height:7rem}.sm\:max-h-32{max-height:8rem}.sm\:max-h-36{max-height:9rem}.sm\:max-h-40{max-height:10rem}.sm\:max-h-44{max-height:11rem}.sm\:max-h-48{max-height:12rem}.sm\:max-h-52{max-height:13rem}.sm\:max-h-56{max-height:14rem}.sm\:max-h-60{max-height:15rem}.sm\:max-h-64{max-height:16rem}.sm\:max-h-72{max-height:18rem}.sm\:max-h-80{max-height:20rem}.sm\:max-h-96{max-height:24rem}.sm\:max-h-px{max-height:1px}.sm\:max-h-0\.5{max-height:.125rem}.sm\:max-h-1\.5{max-height:.375rem}.sm\:max-h-2\.5{max-height:.625rem}.sm\:max-h-3\.5{max-height:.875rem}.sm\:max-h-full{max-height:100%}.sm\:max-h-screen{max-height:100vh}.sm\:min-h-0{min-height:0}.sm\:min-h-full{min-height:100%}.sm\:min-h-screen{min-height:100vh}.sm\:w-0{width:0}.sm\:w-1{width:.25rem}.sm\:w-2{width:.5rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-5{width:1.25rem}.sm\:w-6{width:1.5rem}.sm\:w-7{width:1.75rem}.sm\:w-8{width:2rem}.sm\:w-9{width:2.25rem}.sm\:w-10{width:2.5rem}.sm\:w-11{width:2.75rem}.sm\:w-12{width:3rem}.sm\:w-14{width:3.5rem}.sm\:w-16{width:4rem}.sm\:w-20{width:5rem}.sm\:w-24{width:6rem}.sm\:w-28{width:7rem}.sm\:w-32{width:8rem}.sm\:w-36{width:9rem}.sm\:w-40{width:10rem}.sm\:w-44{width:11rem}.sm\:w-48{width:12rem}.sm\:w-52{width:13rem}.sm\:w-56{width:14rem}.sm\:w-60{width:15rem}.sm\:w-64{width:16rem}.sm\:w-72{width:18rem}.sm\:w-80{width:20rem}.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-px{width:1px}.sm\:w-0\.5{width:.125rem}.sm\:w-1\.5{width:.375rem}.sm\:w-2\.5{width:.625rem}.sm\:w-3\.5{width:.875rem}.sm\:w-1\/2{width:50%}.sm\:w-1\/3{width:33.333333%}.sm\:w-2\/3{width:66.666667%}.sm\:w-1\/4{width:25%}.sm\:w-2\/4{width:50%}.sm\:w-3\/4{width:75%}.sm\:w-1\/5{width:20%}.sm\:w-2\/5{width:40%}.sm\:w-3\/5{width:60%}.sm\:w-4\/5{width:80%}.sm\:w-1\/6{width:16.666667%}.sm\:w-2\/6{width:33.333333%}.sm\:w-3\/6{width:50%}.sm\:w-4\/6{width:66.666667%}.sm\:w-5\/6{width:83.333333%}.sm\:w-1\/12{width:8.333333%}.sm\:w-2\/12{width:16.666667%}.sm\:w-3\/12{width:25%}.sm\:w-4\/12{width:33.333333%}.sm\:w-5\/12{width:41.666667%}.sm\:w-6\/12{width:50%}.sm\:w-7\/12{width:58.333333%}.sm\:w-8\/12{width:66.666667%}.sm\:w-9\/12{width:75%}.sm\:w-10\/12{width:83.333333%}.sm\:w-11\/12{width:91.666667%}.sm\:w-full{width:100%}.sm\:w-screen{width:100vw}.sm\:w-min{width:min-content}.sm\:w-max{width:max-content}.sm\:min-w-0{min-width:0}.sm\:min-w-full{min-width:100%}.sm\:min-w-min{min-width:min-content}.sm\:min-w-max{min-width:max-content}.sm\:max-w-0{max-width:0}.sm\:max-w-none{max-width:none}.sm\:max-w-xs{max-width:20rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-7xl{max-width:80rem}.sm\:max-w-full{max-width:100%}.sm\:max-w-min{max-width:min-content}.sm\:max-w-max{max-width:max-content}.sm\:max-w-prose{max-width:65ch}.sm\:max-w-screen-sm{max-width:640px}.sm\:max-w-screen-md{max-width:768px}.sm\:max-w-screen-lg{max-width:1024px}.sm\:max-w-screen-xl{max-width:1280px}.sm\:max-w-screen-2xl{max-width:1536px}.sm\:flex-1{flex:1 1 0%}.sm\:flex-auto{flex:1 1 auto}.sm\:flex-initial{flex:0 1 auto}.sm\:flex-none{flex:none}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink{flex-shrink:1}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow{flex-grow:1}.sm\:table-auto{table-layout:auto}.sm\:table-fixed{table-layout:fixed}.sm\:border-collapse{border-collapse:collapse}.sm\:border-separate{border-collapse:separate}.sm\:origin-center{transform-origin:center}.sm\:origin-top{transform-origin:top}.sm\:origin-top-right{transform-origin:top right}.sm\:origin-right{transform-origin:right}.sm\:origin-bottom-right{transform-origin:bottom right}.sm\:origin-bottom{transform-origin:bottom}.sm\:origin-bottom-left{transform-origin:bottom left}.sm\:origin-left{transform-origin:left}.sm\:origin-top-left{transform-origin:top left}.sm\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:transform-none{transform:none}.sm\:translate-x-0{--tw-translate-x:0px}.sm\:translate-x-1{--tw-translate-x:0.25rem}.sm\:translate-x-2{--tw-translate-x:0.5rem}.sm\:translate-x-3{--tw-translate-x:0.75rem}.sm\:translate-x-4{--tw-translate-x:1rem}.sm\:translate-x-5{--tw-translate-x:1.25rem}.sm\:translate-x-6{--tw-translate-x:1.5rem}.sm\:translate-x-7{--tw-translate-x:1.75rem}.sm\:translate-x-8{--tw-translate-x:2rem}.sm\:translate-x-9{--tw-translate-x:2.25rem}.sm\:translate-x-10{--tw-translate-x:2.5rem}.sm\:translate-x-11{--tw-translate-x:2.75rem}.sm\:translate-x-12{--tw-translate-x:3rem}.sm\:translate-x-14{--tw-translate-x:3.5rem}.sm\:translate-x-16{--tw-translate-x:4rem}.sm\:translate-x-20{--tw-translate-x:5rem}.sm\:translate-x-24{--tw-translate-x:6rem}.sm\:translate-x-28{--tw-translate-x:7rem}.sm\:translate-x-32{--tw-translate-x:8rem}.sm\:translate-x-36{--tw-translate-x:9rem}.sm\:translate-x-40{--tw-translate-x:10rem}.sm\:translate-x-44{--tw-translate-x:11rem}.sm\:translate-x-48{--tw-translate-x:12rem}.sm\:translate-x-52{--tw-translate-x:13rem}.sm\:translate-x-56{--tw-translate-x:14rem}.sm\:translate-x-60{--tw-translate-x:15rem}.sm\:translate-x-64{--tw-translate-x:16rem}.sm\:translate-x-72{--tw-translate-x:18rem}.sm\:translate-x-80{--tw-translate-x:20rem}.sm\:translate-x-96{--tw-translate-x:24rem}.sm\:translate-x-px{--tw-translate-x:1px}.sm\:translate-x-0\.5{--tw-translate-x:0.125rem}.sm\:translate-x-1\.5{--tw-translate-x:0.375rem}.sm\:translate-x-2\.5{--tw-translate-x:0.625rem}.sm\:translate-x-3\.5{--tw-translate-x:0.875rem}.sm\:-translate-x-0{--tw-translate-x:0px}.sm\:-translate-x-1{--tw-translate-x:-0.25rem}.sm\:-translate-x-2{--tw-translate-x:-0.5rem}.sm\:-translate-x-3{--tw-translate-x:-0.75rem}.sm\:-translate-x-4{--tw-translate-x:-1rem}.sm\:-translate-x-5{--tw-translate-x:-1.25rem}.sm\:-translate-x-6{--tw-translate-x:-1.5rem}.sm\:-translate-x-7{--tw-translate-x:-1.75rem}.sm\:-translate-x-8{--tw-translate-x:-2rem}.sm\:-translate-x-9{--tw-translate-x:-2.25rem}.sm\:-translate-x-10{--tw-translate-x:-2.5rem}.sm\:-translate-x-11{--tw-translate-x:-2.75rem}.sm\:-translate-x-12{--tw-translate-x:-3rem}.sm\:-translate-x-14{--tw-translate-x:-3.5rem}.sm\:-translate-x-16{--tw-translate-x:-4rem}.sm\:-translate-x-20{--tw-translate-x:-5rem}.sm\:-translate-x-24{--tw-translate-x:-6rem}.sm\:-translate-x-28{--tw-translate-x:-7rem}.sm\:-translate-x-32{--tw-translate-x:-8rem}.sm\:-translate-x-36{--tw-translate-x:-9rem}.sm\:-translate-x-40{--tw-translate-x:-10rem}.sm\:-translate-x-44{--tw-translate-x:-11rem}.sm\:-translate-x-48{--tw-translate-x:-12rem}.sm\:-translate-x-52{--tw-translate-x:-13rem}.sm\:-translate-x-56{--tw-translate-x:-14rem}.sm\:-translate-x-60{--tw-translate-x:-15rem}.sm\:-translate-x-64{--tw-translate-x:-16rem}.sm\:-translate-x-72{--tw-translate-x:-18rem}.sm\:-translate-x-80{--tw-translate-x:-20rem}.sm\:-translate-x-96{--tw-translate-x:-24rem}.sm\:-translate-x-px{--tw-translate-x:-1px}.sm\:-translate-x-0\.5{--tw-translate-x:-0.125rem}.sm\:-translate-x-1\.5{--tw-translate-x:-0.375rem}.sm\:-translate-x-2\.5{--tw-translate-x:-0.625rem}.sm\:-translate-x-3\.5{--tw-translate-x:-0.875rem}.sm\:translate-x-1\/2{--tw-translate-x:50%}.sm\:translate-x-1\/3{--tw-translate-x:33.333333%}.sm\:translate-x-2\/3{--tw-translate-x:66.666667%}.sm\:translate-x-1\/4{--tw-translate-x:25%}.sm\:translate-x-2\/4{--tw-translate-x:50%}.sm\:translate-x-3\/4{--tw-translate-x:75%}.sm\:translate-x-full{--tw-translate-x:100%}.sm\:-translate-x-1\/2{--tw-translate-x:-50%}.sm\:-translate-x-1\/3{--tw-translate-x:-33.333333%}.sm\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.sm\:-translate-x-1\/4{--tw-translate-x:-25%}.sm\:-translate-x-2\/4{--tw-translate-x:-50%}.sm\:-translate-x-3\/4{--tw-translate-x:-75%}.sm\:-translate-x-full{--tw-translate-x:-100%}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:translate-y-1{--tw-translate-y:0.25rem}.sm\:translate-y-2{--tw-translate-y:0.5rem}.sm\:translate-y-3{--tw-translate-y:0.75rem}.sm\:translate-y-4{--tw-translate-y:1rem}.sm\:translate-y-5{--tw-translate-y:1.25rem}.sm\:translate-y-6{--tw-translate-y:1.5rem}.sm\:translate-y-7{--tw-translate-y:1.75rem}.sm\:translate-y-8{--tw-translate-y:2rem}.sm\:translate-y-9{--tw-translate-y:2.25rem}.sm\:translate-y-10{--tw-translate-y:2.5rem}.sm\:translate-y-11{--tw-translate-y:2.75rem}.sm\:translate-y-12{--tw-translate-y:3rem}.sm\:translate-y-14{--tw-translate-y:3.5rem}.sm\:translate-y-16{--tw-translate-y:4rem}.sm\:translate-y-20{--tw-translate-y:5rem}.sm\:translate-y-24{--tw-translate-y:6rem}.sm\:translate-y-28{--tw-translate-y:7rem}.sm\:translate-y-32{--tw-translate-y:8rem}.sm\:translate-y-36{--tw-translate-y:9rem}.sm\:translate-y-40{--tw-translate-y:10rem}.sm\:translate-y-44{--tw-translate-y:11rem}.sm\:translate-y-48{--tw-translate-y:12rem}.sm\:translate-y-52{--tw-translate-y:13rem}.sm\:translate-y-56{--tw-translate-y:14rem}.sm\:translate-y-60{--tw-translate-y:15rem}.sm\:translate-y-64{--tw-translate-y:16rem}.sm\:translate-y-72{--tw-translate-y:18rem}.sm\:translate-y-80{--tw-translate-y:20rem}.sm\:translate-y-96{--tw-translate-y:24rem}.sm\:translate-y-px{--tw-translate-y:1px}.sm\:translate-y-0\.5{--tw-translate-y:0.125rem}.sm\:translate-y-1\.5{--tw-translate-y:0.375rem}.sm\:translate-y-2\.5{--tw-translate-y:0.625rem}.sm\:translate-y-3\.5{--tw-translate-y:0.875rem}.sm\:-translate-y-0{--tw-translate-y:0px}.sm\:-translate-y-1{--tw-translate-y:-0.25rem}.sm\:-translate-y-2{--tw-translate-y:-0.5rem}.sm\:-translate-y-3{--tw-translate-y:-0.75rem}.sm\:-translate-y-4{--tw-translate-y:-1rem}.sm\:-translate-y-5{--tw-translate-y:-1.25rem}.sm\:-translate-y-6{--tw-translate-y:-1.5rem}.sm\:-translate-y-7{--tw-translate-y:-1.75rem}.sm\:-translate-y-8{--tw-translate-y:-2rem}.sm\:-translate-y-9{--tw-translate-y:-2.25rem}.sm\:-translate-y-10{--tw-translate-y:-2.5rem}.sm\:-translate-y-11{--tw-translate-y:-2.75rem}.sm\:-translate-y-12{--tw-translate-y:-3rem}.sm\:-translate-y-14{--tw-translate-y:-3.5rem}.sm\:-translate-y-16{--tw-translate-y:-4rem}.sm\:-translate-y-20{--tw-translate-y:-5rem}.sm\:-translate-y-24{--tw-translate-y:-6rem}.sm\:-translate-y-28{--tw-translate-y:-7rem}.sm\:-translate-y-32{--tw-translate-y:-8rem}.sm\:-translate-y-36{--tw-translate-y:-9rem}.sm\:-translate-y-40{--tw-translate-y:-10rem}.sm\:-translate-y-44{--tw-translate-y:-11rem}.sm\:-translate-y-48{--tw-translate-y:-12rem}.sm\:-translate-y-52{--tw-translate-y:-13rem}.sm\:-translate-y-56{--tw-translate-y:-14rem}.sm\:-translate-y-60{--tw-translate-y:-15rem}.sm\:-translate-y-64{--tw-translate-y:-16rem}.sm\:-translate-y-72{--tw-translate-y:-18rem}.sm\:-translate-y-80{--tw-translate-y:-20rem}.sm\:-translate-y-96{--tw-translate-y:-24rem}.sm\:-translate-y-px{--tw-translate-y:-1px}.sm\:-translate-y-0\.5{--tw-translate-y:-0.125rem}.sm\:-translate-y-1\.5{--tw-translate-y:-0.375rem}.sm\:-translate-y-2\.5{--tw-translate-y:-0.625rem}.sm\:-translate-y-3\.5{--tw-translate-y:-0.875rem}.sm\:translate-y-1\/2{--tw-translate-y:50%}.sm\:translate-y-1\/3{--tw-translate-y:33.333333%}.sm\:translate-y-2\/3{--tw-translate-y:66.666667%}.sm\:translate-y-1\/4{--tw-translate-y:25%}.sm\:translate-y-2\/4{--tw-translate-y:50%}.sm\:translate-y-3\/4{--tw-translate-y:75%}.sm\:translate-y-full{--tw-translate-y:100%}.sm\:-translate-y-1\/2{--tw-translate-y:-50%}.sm\:-translate-y-1\/3{--tw-translate-y:-33.333333%}.sm\:-translate-y-2\/3{--tw-translate-y:-66.666667%}.sm\:-translate-y-1\/4{--tw-translate-y:-25%}.sm\:-translate-y-2\/4{--tw-translate-y:-50%}.sm\:-translate-y-3\/4{--tw-translate-y:-75%}.sm\:-translate-y-full{--tw-translate-y:-100%}.sm\:hover\:translate-x-0:hover{--tw-translate-x:0px}.sm\:hover\:translate-x-1:hover{--tw-translate-x:0.25rem}.sm\:hover\:translate-x-2:hover{--tw-translate-x:0.5rem}.sm\:hover\:translate-x-3:hover{--tw-translate-x:0.75rem}.sm\:hover\:translate-x-4:hover{--tw-translate-x:1rem}.sm\:hover\:translate-x-5:hover{--tw-translate-x:1.25rem}.sm\:hover\:translate-x-6:hover{--tw-translate-x:1.5rem}.sm\:hover\:translate-x-7:hover{--tw-translate-x:1.75rem}.sm\:hover\:translate-x-8:hover{--tw-translate-x:2rem}.sm\:hover\:translate-x-9:hover{--tw-translate-x:2.25rem}.sm\:hover\:translate-x-10:hover{--tw-translate-x:2.5rem}.sm\:hover\:translate-x-11:hover{--tw-translate-x:2.75rem}.sm\:hover\:translate-x-12:hover{--tw-translate-x:3rem}.sm\:hover\:translate-x-14:hover{--tw-translate-x:3.5rem}.sm\:hover\:translate-x-16:hover{--tw-translate-x:4rem}.sm\:hover\:translate-x-20:hover{--tw-translate-x:5rem}.sm\:hover\:translate-x-24:hover{--tw-translate-x:6rem}.sm\:hover\:translate-x-28:hover{--tw-translate-x:7rem}.sm\:hover\:translate-x-32:hover{--tw-translate-x:8rem}.sm\:hover\:translate-x-36:hover{--tw-translate-x:9rem}.sm\:hover\:translate-x-40:hover{--tw-translate-x:10rem}.sm\:hover\:translate-x-44:hover{--tw-translate-x:11rem}.sm\:hover\:translate-x-48:hover{--tw-translate-x:12rem}.sm\:hover\:translate-x-52:hover{--tw-translate-x:13rem}.sm\:hover\:translate-x-56:hover{--tw-translate-x:14rem}.sm\:hover\:translate-x-60:hover{--tw-translate-x:15rem}.sm\:hover\:translate-x-64:hover{--tw-translate-x:16rem}.sm\:hover\:translate-x-72:hover{--tw-translate-x:18rem}.sm\:hover\:translate-x-80:hover{--tw-translate-x:20rem}.sm\:hover\:translate-x-96:hover{--tw-translate-x:24rem}.sm\:hover\:translate-x-px:hover{--tw-translate-x:1px}.sm\:hover\:translate-x-0\.5:hover{--tw-translate-x:0.125rem}.sm\:hover\:translate-x-1\.5:hover{--tw-translate-x:0.375rem}.sm\:hover\:translate-x-2\.5:hover{--tw-translate-x:0.625rem}.sm\:hover\:translate-x-3\.5:hover{--tw-translate-x:0.875rem}.sm\:hover\:-translate-x-0:hover{--tw-translate-x:0px}.sm\:hover\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.sm\:hover\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.sm\:hover\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.sm\:hover\:-translate-x-4:hover{--tw-translate-x:-1rem}.sm\:hover\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.sm\:hover\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.sm\:hover\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.sm\:hover\:-translate-x-8:hover{--tw-translate-x:-2rem}.sm\:hover\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.sm\:hover\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.sm\:hover\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.sm\:hover\:-translate-x-12:hover{--tw-translate-x:-3rem}.sm\:hover\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.sm\:hover\:-translate-x-16:hover{--tw-translate-x:-4rem}.sm\:hover\:-translate-x-20:hover{--tw-translate-x:-5rem}.sm\:hover\:-translate-x-24:hover{--tw-translate-x:-6rem}.sm\:hover\:-translate-x-28:hover{--tw-translate-x:-7rem}.sm\:hover\:-translate-x-32:hover{--tw-translate-x:-8rem}.sm\:hover\:-translate-x-36:hover{--tw-translate-x:-9rem}.sm\:hover\:-translate-x-40:hover{--tw-translate-x:-10rem}.sm\:hover\:-translate-x-44:hover{--tw-translate-x:-11rem}.sm\:hover\:-translate-x-48:hover{--tw-translate-x:-12rem}.sm\:hover\:-translate-x-52:hover{--tw-translate-x:-13rem}.sm\:hover\:-translate-x-56:hover{--tw-translate-x:-14rem}.sm\:hover\:-translate-x-60:hover{--tw-translate-x:-15rem}.sm\:hover\:-translate-x-64:hover{--tw-translate-x:-16rem}.sm\:hover\:-translate-x-72:hover{--tw-translate-x:-18rem}.sm\:hover\:-translate-x-80:hover{--tw-translate-x:-20rem}.sm\:hover\:-translate-x-96:hover{--tw-translate-x:-24rem}.sm\:hover\:-translate-x-px:hover{--tw-translate-x:-1px}.sm\:hover\:-translate-x-0\.5:hover{--tw-translate-x:-0.125rem}.sm\:hover\:-translate-x-1\.5:hover{--tw-translate-x:-0.375rem}.sm\:hover\:-translate-x-2\.5:hover{--tw-translate-x:-0.625rem}.sm\:hover\:-translate-x-3\.5:hover{--tw-translate-x:-0.875rem}.sm\:hover\:translate-x-1\/2:hover{--tw-translate-x:50%}.sm\:hover\:translate-x-1\/3:hover{--tw-translate-x:33.333333%}.sm\:hover\:translate-x-2\/3:hover{--tw-translate-x:66.666667%}.sm\:hover\:translate-x-1\/4:hover{--tw-translate-x:25%}.sm\:hover\:translate-x-2\/4:hover{--tw-translate-x:50%}.sm\:hover\:translate-x-3\/4:hover{--tw-translate-x:75%}.sm\:hover\:translate-x-full:hover{--tw-translate-x:100%}.sm\:hover\:-translate-x-1\/2:hover{--tw-translate-x:-50%}.sm\:hover\:-translate-x-1\/3:hover{--tw-translate-x:-33.333333%}.sm\:hover\:-translate-x-2\/3:hover{--tw-translate-x:-66.666667%}.sm\:hover\:-translate-x-1\/4:hover{--tw-translate-x:-25%}.sm\:hover\:-translate-x-2\/4:hover{--tw-translate-x:-50%}.sm\:hover\:-translate-x-3\/4:hover{--tw-translate-x:-75%}.sm\:hover\:-translate-x-full:hover{--tw-translate-x:-100%}.sm\:hover\:translate-y-0:hover{--tw-translate-y:0px}.sm\:hover\:translate-y-1:hover{--tw-translate-y:0.25rem}.sm\:hover\:translate-y-2:hover{--tw-translate-y:0.5rem}.sm\:hover\:translate-y-3:hover{--tw-translate-y:0.75rem}.sm\:hover\:translate-y-4:hover{--tw-translate-y:1rem}.sm\:hover\:translate-y-5:hover{--tw-translate-y:1.25rem}.sm\:hover\:translate-y-6:hover{--tw-translate-y:1.5rem}.sm\:hover\:translate-y-7:hover{--tw-translate-y:1.75rem}.sm\:hover\:translate-y-8:hover{--tw-translate-y:2rem}.sm\:hover\:translate-y-9:hover{--tw-translate-y:2.25rem}.sm\:hover\:translate-y-10:hover{--tw-translate-y:2.5rem}.sm\:hover\:translate-y-11:hover{--tw-translate-y:2.75rem}.sm\:hover\:translate-y-12:hover{--tw-translate-y:3rem}.sm\:hover\:translate-y-14:hover{--tw-translate-y:3.5rem}.sm\:hover\:translate-y-16:hover{--tw-translate-y:4rem}.sm\:hover\:translate-y-20:hover{--tw-translate-y:5rem}.sm\:hover\:translate-y-24:hover{--tw-translate-y:6rem}.sm\:hover\:translate-y-28:hover{--tw-translate-y:7rem}.sm\:hover\:translate-y-32:hover{--tw-translate-y:8rem}.sm\:hover\:translate-y-36:hover{--tw-translate-y:9rem}.sm\:hover\:translate-y-40:hover{--tw-translate-y:10rem}.sm\:hover\:translate-y-44:hover{--tw-translate-y:11rem}.sm\:hover\:translate-y-48:hover{--tw-translate-y:12rem}.sm\:hover\:translate-y-52:hover{--tw-translate-y:13rem}.sm\:hover\:translate-y-56:hover{--tw-translate-y:14rem}.sm\:hover\:translate-y-60:hover{--tw-translate-y:15rem}.sm\:hover\:translate-y-64:hover{--tw-translate-y:16rem}.sm\:hover\:translate-y-72:hover{--tw-translate-y:18rem}.sm\:hover\:translate-y-80:hover{--tw-translate-y:20rem}.sm\:hover\:translate-y-96:hover{--tw-translate-y:24rem}.sm\:hover\:translate-y-px:hover{--tw-translate-y:1px}.sm\:hover\:translate-y-0\.5:hover{--tw-translate-y:0.125rem}.sm\:hover\:translate-y-1\.5:hover{--tw-translate-y:0.375rem}.sm\:hover\:translate-y-2\.5:hover{--tw-translate-y:0.625rem}.sm\:hover\:translate-y-3\.5:hover{--tw-translate-y:0.875rem}.sm\:hover\:-translate-y-0:hover{--tw-translate-y:0px}.sm\:hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.sm\:hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.sm\:hover\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.sm\:hover\:-translate-y-4:hover{--tw-translate-y:-1rem}.sm\:hover\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.sm\:hover\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.sm\:hover\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.sm\:hover\:-translate-y-8:hover{--tw-translate-y:-2rem}.sm\:hover\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.sm\:hover\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.sm\:hover\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.sm\:hover\:-translate-y-12:hover{--tw-translate-y:-3rem}.sm\:hover\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.sm\:hover\:-translate-y-16:hover{--tw-translate-y:-4rem}.sm\:hover\:-translate-y-20:hover{--tw-translate-y:-5rem}.sm\:hover\:-translate-y-24:hover{--tw-translate-y:-6rem}.sm\:hover\:-translate-y-28:hover{--tw-translate-y:-7rem}.sm\:hover\:-translate-y-32:hover{--tw-translate-y:-8rem}.sm\:hover\:-translate-y-36:hover{--tw-translate-y:-9rem}.sm\:hover\:-translate-y-40:hover{--tw-translate-y:-10rem}.sm\:hover\:-translate-y-44:hover{--tw-translate-y:-11rem}.sm\:hover\:-translate-y-48:hover{--tw-translate-y:-12rem}.sm\:hover\:-translate-y-52:hover{--tw-translate-y:-13rem}.sm\:hover\:-translate-y-56:hover{--tw-translate-y:-14rem}.sm\:hover\:-translate-y-60:hover{--tw-translate-y:-15rem}.sm\:hover\:-translate-y-64:hover{--tw-translate-y:-16rem}.sm\:hover\:-translate-y-72:hover{--tw-translate-y:-18rem}.sm\:hover\:-translate-y-80:hover{--tw-translate-y:-20rem}.sm\:hover\:-translate-y-96:hover{--tw-translate-y:-24rem}.sm\:hover\:-translate-y-px:hover{--tw-translate-y:-1px}.sm\:hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.sm\:hover\:-translate-y-1\.5:hover{--tw-translate-y:-0.375rem}.sm\:hover\:-translate-y-2\.5:hover{--tw-translate-y:-0.625rem}.sm\:hover\:-translate-y-3\.5:hover{--tw-translate-y:-0.875rem}.sm\:hover\:translate-y-1\/2:hover{--tw-translate-y:50%}.sm\:hover\:translate-y-1\/3:hover{--tw-translate-y:33.333333%}.sm\:hover\:translate-y-2\/3:hover{--tw-translate-y:66.666667%}.sm\:hover\:translate-y-1\/4:hover{--tw-translate-y:25%}.sm\:hover\:translate-y-2\/4:hover{--tw-translate-y:50%}.sm\:hover\:translate-y-3\/4:hover{--tw-translate-y:75%}.sm\:hover\:translate-y-full:hover{--tw-translate-y:100%}.sm\:hover\:-translate-y-1\/2:hover{--tw-translate-y:-50%}.sm\:hover\:-translate-y-1\/3:hover{--tw-translate-y:-33.333333%}.sm\:hover\:-translate-y-2\/3:hover{--tw-translate-y:-66.666667%}.sm\:hover\:-translate-y-1\/4:hover{--tw-translate-y:-25%}.sm\:hover\:-translate-y-2\/4:hover{--tw-translate-y:-50%}.sm\:hover\:-translate-y-3\/4:hover{--tw-translate-y:-75%}.sm\:hover\:-translate-y-full:hover{--tw-translate-y:-100%}.sm\:focus\:translate-x-0:focus{--tw-translate-x:0px}.sm\:focus\:translate-x-1:focus{--tw-translate-x:0.25rem}.sm\:focus\:translate-x-2:focus{--tw-translate-x:0.5rem}.sm\:focus\:translate-x-3:focus{--tw-translate-x:0.75rem}.sm\:focus\:translate-x-4:focus{--tw-translate-x:1rem}.sm\:focus\:translate-x-5:focus{--tw-translate-x:1.25rem}.sm\:focus\:translate-x-6:focus{--tw-translate-x:1.5rem}.sm\:focus\:translate-x-7:focus{--tw-translate-x:1.75rem}.sm\:focus\:translate-x-8:focus{--tw-translate-x:2rem}.sm\:focus\:translate-x-9:focus{--tw-translate-x:2.25rem}.sm\:focus\:translate-x-10:focus{--tw-translate-x:2.5rem}.sm\:focus\:translate-x-11:focus{--tw-translate-x:2.75rem}.sm\:focus\:translate-x-12:focus{--tw-translate-x:3rem}.sm\:focus\:translate-x-14:focus{--tw-translate-x:3.5rem}.sm\:focus\:translate-x-16:focus{--tw-translate-x:4rem}.sm\:focus\:translate-x-20:focus{--tw-translate-x:5rem}.sm\:focus\:translate-x-24:focus{--tw-translate-x:6rem}.sm\:focus\:translate-x-28:focus{--tw-translate-x:7rem}.sm\:focus\:translate-x-32:focus{--tw-translate-x:8rem}.sm\:focus\:translate-x-36:focus{--tw-translate-x:9rem}.sm\:focus\:translate-x-40:focus{--tw-translate-x:10rem}.sm\:focus\:translate-x-44:focus{--tw-translate-x:11rem}.sm\:focus\:translate-x-48:focus{--tw-translate-x:12rem}.sm\:focus\:translate-x-52:focus{--tw-translate-x:13rem}.sm\:focus\:translate-x-56:focus{--tw-translate-x:14rem}.sm\:focus\:translate-x-60:focus{--tw-translate-x:15rem}.sm\:focus\:translate-x-64:focus{--tw-translate-x:16rem}.sm\:focus\:translate-x-72:focus{--tw-translate-x:18rem}.sm\:focus\:translate-x-80:focus{--tw-translate-x:20rem}.sm\:focus\:translate-x-96:focus{--tw-translate-x:24rem}.sm\:focus\:translate-x-px:focus{--tw-translate-x:1px}.sm\:focus\:translate-x-0\.5:focus{--tw-translate-x:0.125rem}.sm\:focus\:translate-x-1\.5:focus{--tw-translate-x:0.375rem}.sm\:focus\:translate-x-2\.5:focus{--tw-translate-x:0.625rem}.sm\:focus\:translate-x-3\.5:focus{--tw-translate-x:0.875rem}.sm\:focus\:-translate-x-0:focus{--tw-translate-x:0px}.sm\:focus\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.sm\:focus\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.sm\:focus\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.sm\:focus\:-translate-x-4:focus{--tw-translate-x:-1rem}.sm\:focus\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.sm\:focus\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.sm\:focus\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.sm\:focus\:-translate-x-8:focus{--tw-translate-x:-2rem}.sm\:focus\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.sm\:focus\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.sm\:focus\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.sm\:focus\:-translate-x-12:focus{--tw-translate-x:-3rem}.sm\:focus\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.sm\:focus\:-translate-x-16:focus{--tw-translate-x:-4rem}.sm\:focus\:-translate-x-20:focus{--tw-translate-x:-5rem}.sm\:focus\:-translate-x-24:focus{--tw-translate-x:-6rem}.sm\:focus\:-translate-x-28:focus{--tw-translate-x:-7rem}.sm\:focus\:-translate-x-32:focus{--tw-translate-x:-8rem}.sm\:focus\:-translate-x-36:focus{--tw-translate-x:-9rem}.sm\:focus\:-translate-x-40:focus{--tw-translate-x:-10rem}.sm\:focus\:-translate-x-44:focus{--tw-translate-x:-11rem}.sm\:focus\:-translate-x-48:focus{--tw-translate-x:-12rem}.sm\:focus\:-translate-x-52:focus{--tw-translate-x:-13rem}.sm\:focus\:-translate-x-56:focus{--tw-translate-x:-14rem}.sm\:focus\:-translate-x-60:focus{--tw-translate-x:-15rem}.sm\:focus\:-translate-x-64:focus{--tw-translate-x:-16rem}.sm\:focus\:-translate-x-72:focus{--tw-translate-x:-18rem}.sm\:focus\:-translate-x-80:focus{--tw-translate-x:-20rem}.sm\:focus\:-translate-x-96:focus{--tw-translate-x:-24rem}.sm\:focus\:-translate-x-px:focus{--tw-translate-x:-1px}.sm\:focus\:-translate-x-0\.5:focus{--tw-translate-x:-0.125rem}.sm\:focus\:-translate-x-1\.5:focus{--tw-translate-x:-0.375rem}.sm\:focus\:-translate-x-2\.5:focus{--tw-translate-x:-0.625rem}.sm\:focus\:-translate-x-3\.5:focus{--tw-translate-x:-0.875rem}.sm\:focus\:translate-x-1\/2:focus{--tw-translate-x:50%}.sm\:focus\:translate-x-1\/3:focus{--tw-translate-x:33.333333%}.sm\:focus\:translate-x-2\/3:focus{--tw-translate-x:66.666667%}.sm\:focus\:translate-x-1\/4:focus{--tw-translate-x:25%}.sm\:focus\:translate-x-2\/4:focus{--tw-translate-x:50%}.sm\:focus\:translate-x-3\/4:focus{--tw-translate-x:75%}.sm\:focus\:translate-x-full:focus{--tw-translate-x:100%}.sm\:focus\:-translate-x-1\/2:focus{--tw-translate-x:-50%}.sm\:focus\:-translate-x-1\/3:focus{--tw-translate-x:-33.333333%}.sm\:focus\:-translate-x-2\/3:focus{--tw-translate-x:-66.666667%}.sm\:focus\:-translate-x-1\/4:focus{--tw-translate-x:-25%}.sm\:focus\:-translate-x-2\/4:focus{--tw-translate-x:-50%}.sm\:focus\:-translate-x-3\/4:focus{--tw-translate-x:-75%}.sm\:focus\:-translate-x-full:focus{--tw-translate-x:-100%}.sm\:focus\:translate-y-0:focus{--tw-translate-y:0px}.sm\:focus\:translate-y-1:focus{--tw-translate-y:0.25rem}.sm\:focus\:translate-y-2:focus{--tw-translate-y:0.5rem}.sm\:focus\:translate-y-3:focus{--tw-translate-y:0.75rem}.sm\:focus\:translate-y-4:focus{--tw-translate-y:1rem}.sm\:focus\:translate-y-5:focus{--tw-translate-y:1.25rem}.sm\:focus\:translate-y-6:focus{--tw-translate-y:1.5rem}.sm\:focus\:translate-y-7:focus{--tw-translate-y:1.75rem}.sm\:focus\:translate-y-8:focus{--tw-translate-y:2rem}.sm\:focus\:translate-y-9:focus{--tw-translate-y:2.25rem}.sm\:focus\:translate-y-10:focus{--tw-translate-y:2.5rem}.sm\:focus\:translate-y-11:focus{--tw-translate-y:2.75rem}.sm\:focus\:translate-y-12:focus{--tw-translate-y:3rem}.sm\:focus\:translate-y-14:focus{--tw-translate-y:3.5rem}.sm\:focus\:translate-y-16:focus{--tw-translate-y:4rem}.sm\:focus\:translate-y-20:focus{--tw-translate-y:5rem}.sm\:focus\:translate-y-24:focus{--tw-translate-y:6rem}.sm\:focus\:translate-y-28:focus{--tw-translate-y:7rem}.sm\:focus\:translate-y-32:focus{--tw-translate-y:8rem}.sm\:focus\:translate-y-36:focus{--tw-translate-y:9rem}.sm\:focus\:translate-y-40:focus{--tw-translate-y:10rem}.sm\:focus\:translate-y-44:focus{--tw-translate-y:11rem}.sm\:focus\:translate-y-48:focus{--tw-translate-y:12rem}.sm\:focus\:translate-y-52:focus{--tw-translate-y:13rem}.sm\:focus\:translate-y-56:focus{--tw-translate-y:14rem}.sm\:focus\:translate-y-60:focus{--tw-translate-y:15rem}.sm\:focus\:translate-y-64:focus{--tw-translate-y:16rem}.sm\:focus\:translate-y-72:focus{--tw-translate-y:18rem}.sm\:focus\:translate-y-80:focus{--tw-translate-y:20rem}.sm\:focus\:translate-y-96:focus{--tw-translate-y:24rem}.sm\:focus\:translate-y-px:focus{--tw-translate-y:1px}.sm\:focus\:translate-y-0\.5:focus{--tw-translate-y:0.125rem}.sm\:focus\:translate-y-1\.5:focus{--tw-translate-y:0.375rem}.sm\:focus\:translate-y-2\.5:focus{--tw-translate-y:0.625rem}.sm\:focus\:translate-y-3\.5:focus{--tw-translate-y:0.875rem}.sm\:focus\:-translate-y-0:focus{--tw-translate-y:0px}.sm\:focus\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.sm\:focus\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.sm\:focus\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.sm\:focus\:-translate-y-4:focus{--tw-translate-y:-1rem}.sm\:focus\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.sm\:focus\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.sm\:focus\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.sm\:focus\:-translate-y-8:focus{--tw-translate-y:-2rem}.sm\:focus\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.sm\:focus\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.sm\:focus\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.sm\:focus\:-translate-y-12:focus{--tw-translate-y:-3rem}.sm\:focus\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.sm\:focus\:-translate-y-16:focus{--tw-translate-y:-4rem}.sm\:focus\:-translate-y-20:focus{--tw-translate-y:-5rem}.sm\:focus\:-translate-y-24:focus{--tw-translate-y:-6rem}.sm\:focus\:-translate-y-28:focus{--tw-translate-y:-7rem}.sm\:focus\:-translate-y-32:focus{--tw-translate-y:-8rem}.sm\:focus\:-translate-y-36:focus{--tw-translate-y:-9rem}.sm\:focus\:-translate-y-40:focus{--tw-translate-y:-10rem}.sm\:focus\:-translate-y-44:focus{--tw-translate-y:-11rem}.sm\:focus\:-translate-y-48:focus{--tw-translate-y:-12rem}.sm\:focus\:-translate-y-52:focus{--tw-translate-y:-13rem}.sm\:focus\:-translate-y-56:focus{--tw-translate-y:-14rem}.sm\:focus\:-translate-y-60:focus{--tw-translate-y:-15rem}.sm\:focus\:-translate-y-64:focus{--tw-translate-y:-16rem}.sm\:focus\:-translate-y-72:focus{--tw-translate-y:-18rem}.sm\:focus\:-translate-y-80:focus{--tw-translate-y:-20rem}.sm\:focus\:-translate-y-96:focus{--tw-translate-y:-24rem}.sm\:focus\:-translate-y-px:focus{--tw-translate-y:-1px}.sm\:focus\:-translate-y-0\.5:focus{--tw-translate-y:-0.125rem}.sm\:focus\:-translate-y-1\.5:focus{--tw-translate-y:-0.375rem}.sm\:focus\:-translate-y-2\.5:focus{--tw-translate-y:-0.625rem}.sm\:focus\:-translate-y-3\.5:focus{--tw-translate-y:-0.875rem}.sm\:focus\:translate-y-1\/2:focus{--tw-translate-y:50%}.sm\:focus\:translate-y-1\/3:focus{--tw-translate-y:33.333333%}.sm\:focus\:translate-y-2\/3:focus{--tw-translate-y:66.666667%}.sm\:focus\:translate-y-1\/4:focus{--tw-translate-y:25%}.sm\:focus\:translate-y-2\/4:focus{--tw-translate-y:50%}.sm\:focus\:translate-y-3\/4:focus{--tw-translate-y:75%}.sm\:focus\:translate-y-full:focus{--tw-translate-y:100%}.sm\:focus\:-translate-y-1\/2:focus{--tw-translate-y:-50%}.sm\:focus\:-translate-y-1\/3:focus{--tw-translate-y:-33.333333%}.sm\:focus\:-translate-y-2\/3:focus{--tw-translate-y:-66.666667%}.sm\:focus\:-translate-y-1\/4:focus{--tw-translate-y:-25%}.sm\:focus\:-translate-y-2\/4:focus{--tw-translate-y:-50%}.sm\:focus\:-translate-y-3\/4:focus{--tw-translate-y:-75%}.sm\:focus\:-translate-y-full:focus{--tw-translate-y:-100%}.sm\:rotate-0{--tw-rotate:0deg}.sm\:rotate-1{--tw-rotate:1deg}.sm\:rotate-2{--tw-rotate:2deg}.sm\:rotate-3{--tw-rotate:3deg}.sm\:rotate-6{--tw-rotate:6deg}.sm\:rotate-12{--tw-rotate:12deg}.sm\:rotate-45{--tw-rotate:45deg}.sm\:rotate-90{--tw-rotate:90deg}.sm\:rotate-180{--tw-rotate:180deg}.sm\:-rotate-180{--tw-rotate:-180deg}.sm\:-rotate-90{--tw-rotate:-90deg}.sm\:-rotate-45{--tw-rotate:-45deg}.sm\:-rotate-12{--tw-rotate:-12deg}.sm\:-rotate-6{--tw-rotate:-6deg}.sm\:-rotate-3{--tw-rotate:-3deg}.sm\:-rotate-2{--tw-rotate:-2deg}.sm\:-rotate-1{--tw-rotate:-1deg}.sm\:hover\:rotate-0:hover{--tw-rotate:0deg}.sm\:hover\:rotate-1:hover{--tw-rotate:1deg}.sm\:hover\:rotate-2:hover{--tw-rotate:2deg}.sm\:hover\:rotate-3:hover{--tw-rotate:3deg}.sm\:hover\:rotate-6:hover{--tw-rotate:6deg}.sm\:hover\:rotate-12:hover{--tw-rotate:12deg}.sm\:hover\:rotate-45:hover{--tw-rotate:45deg}.sm\:hover\:rotate-90:hover{--tw-rotate:90deg}.sm\:hover\:rotate-180:hover{--tw-rotate:180deg}.sm\:hover\:-rotate-180:hover{--tw-rotate:-180deg}.sm\:hover\:-rotate-90:hover{--tw-rotate:-90deg}.sm\:hover\:-rotate-45:hover{--tw-rotate:-45deg}.sm\:hover\:-rotate-12:hover{--tw-rotate:-12deg}.sm\:hover\:-rotate-6:hover{--tw-rotate:-6deg}.sm\:hover\:-rotate-3:hover{--tw-rotate:-3deg}.sm\:hover\:-rotate-2:hover{--tw-rotate:-2deg}.sm\:hover\:-rotate-1:hover{--tw-rotate:-1deg}.sm\:focus\:rotate-0:focus{--tw-rotate:0deg}.sm\:focus\:rotate-1:focus{--tw-rotate:1deg}.sm\:focus\:rotate-2:focus{--tw-rotate:2deg}.sm\:focus\:rotate-3:focus{--tw-rotate:3deg}.sm\:focus\:rotate-6:focus{--tw-rotate:6deg}.sm\:focus\:rotate-12:focus{--tw-rotate:12deg}.sm\:focus\:rotate-45:focus{--tw-rotate:45deg}.sm\:focus\:rotate-90:focus{--tw-rotate:90deg}.sm\:focus\:rotate-180:focus{--tw-rotate:180deg}.sm\:focus\:-rotate-180:focus{--tw-rotate:-180deg}.sm\:focus\:-rotate-90:focus{--tw-rotate:-90deg}.sm\:focus\:-rotate-45:focus{--tw-rotate:-45deg}.sm\:focus\:-rotate-12:focus{--tw-rotate:-12deg}.sm\:focus\:-rotate-6:focus{--tw-rotate:-6deg}.sm\:focus\:-rotate-3:focus{--tw-rotate:-3deg}.sm\:focus\:-rotate-2:focus{--tw-rotate:-2deg}.sm\:focus\:-rotate-1:focus{--tw-rotate:-1deg}.sm\:skew-x-0{--tw-skew-x:0deg}.sm\:skew-x-1{--tw-skew-x:1deg}.sm\:skew-x-2{--tw-skew-x:2deg}.sm\:skew-x-3{--tw-skew-x:3deg}.sm\:skew-x-6{--tw-skew-x:6deg}.sm\:skew-x-12{--tw-skew-x:12deg}.sm\:-skew-x-12{--tw-skew-x:-12deg}.sm\:-skew-x-6{--tw-skew-x:-6deg}.sm\:-skew-x-3{--tw-skew-x:-3deg}.sm\:-skew-x-2{--tw-skew-x:-2deg}.sm\:-skew-x-1{--tw-skew-x:-1deg}.sm\:skew-y-0{--tw-skew-y:0deg}.sm\:skew-y-1{--tw-skew-y:1deg}.sm\:skew-y-2{--tw-skew-y:2deg}.sm\:skew-y-3{--tw-skew-y:3deg}.sm\:skew-y-6{--tw-skew-y:6deg}.sm\:skew-y-12{--tw-skew-y:12deg}.sm\:-skew-y-12{--tw-skew-y:-12deg}.sm\:-skew-y-6{--tw-skew-y:-6deg}.sm\:-skew-y-3{--tw-skew-y:-3deg}.sm\:-skew-y-2{--tw-skew-y:-2deg}.sm\:-skew-y-1{--tw-skew-y:-1deg}.sm\:hover\:skew-x-0:hover{--tw-skew-x:0deg}.sm\:hover\:skew-x-1:hover{--tw-skew-x:1deg}.sm\:hover\:skew-x-2:hover{--tw-skew-x:2deg}.sm\:hover\:skew-x-3:hover{--tw-skew-x:3deg}.sm\:hover\:skew-x-6:hover{--tw-skew-x:6deg}.sm\:hover\:skew-x-12:hover{--tw-skew-x:12deg}.sm\:hover\:-skew-x-12:hover{--tw-skew-x:-12deg}.sm\:hover\:-skew-x-6:hover{--tw-skew-x:-6deg}.sm\:hover\:-skew-x-3:hover{--tw-skew-x:-3deg}.sm\:hover\:-skew-x-2:hover{--tw-skew-x:-2deg}.sm\:hover\:-skew-x-1:hover{--tw-skew-x:-1deg}.sm\:hover\:skew-y-0:hover{--tw-skew-y:0deg}.sm\:hover\:skew-y-1:hover{--tw-skew-y:1deg}.sm\:hover\:skew-y-2:hover{--tw-skew-y:2deg}.sm\:hover\:skew-y-3:hover{--tw-skew-y:3deg}.sm\:hover\:skew-y-6:hover{--tw-skew-y:6deg}.sm\:hover\:skew-y-12:hover{--tw-skew-y:12deg}.sm\:hover\:-skew-y-12:hover{--tw-skew-y:-12deg}.sm\:hover\:-skew-y-6:hover{--tw-skew-y:-6deg}.sm\:hover\:-skew-y-3:hover{--tw-skew-y:-3deg}.sm\:hover\:-skew-y-2:hover{--tw-skew-y:-2deg}.sm\:hover\:-skew-y-1:hover{--tw-skew-y:-1deg}.sm\:focus\:skew-x-0:focus{--tw-skew-x:0deg}.sm\:focus\:skew-x-1:focus{--tw-skew-x:1deg}.sm\:focus\:skew-x-2:focus{--tw-skew-x:2deg}.sm\:focus\:skew-x-3:focus{--tw-skew-x:3deg}.sm\:focus\:skew-x-6:focus{--tw-skew-x:6deg}.sm\:focus\:skew-x-12:focus{--tw-skew-x:12deg}.sm\:focus\:-skew-x-12:focus{--tw-skew-x:-12deg}.sm\:focus\:-skew-x-6:focus{--tw-skew-x:-6deg}.sm\:focus\:-skew-x-3:focus{--tw-skew-x:-3deg}.sm\:focus\:-skew-x-2:focus{--tw-skew-x:-2deg}.sm\:focus\:-skew-x-1:focus{--tw-skew-x:-1deg}.sm\:focus\:skew-y-0:focus{--tw-skew-y:0deg}.sm\:focus\:skew-y-1:focus{--tw-skew-y:1deg}.sm\:focus\:skew-y-2:focus{--tw-skew-y:2deg}.sm\:focus\:skew-y-3:focus{--tw-skew-y:3deg}.sm\:focus\:skew-y-6:focus{--tw-skew-y:6deg}.sm\:focus\:skew-y-12:focus{--tw-skew-y:12deg}.sm\:focus\:-skew-y-12:focus{--tw-skew-y:-12deg}.sm\:focus\:-skew-y-6:focus{--tw-skew-y:-6deg}.sm\:focus\:-skew-y-3:focus{--tw-skew-y:-3deg}.sm\:focus\:-skew-y-2:focus{--tw-skew-y:-2deg}.sm\:focus\:-skew-y-1:focus{--tw-skew-y:-1deg}.sm\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.sm\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.sm\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.sm\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\:hover\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.sm\:hover\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.sm\:hover\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.sm\:hover\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.sm\:hover\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.sm\:hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.sm\:hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\:hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\:hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\:hover\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\:focus\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.sm\:focus\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.sm\:focus\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.sm\:focus\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.sm\:focus\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.sm\:focus\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.sm\:focus\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.sm\:focus\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.sm\:focus\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.sm\:focus\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.sm\:scale-x-0{--tw-scale-x:0}.sm\:scale-x-50{--tw-scale-x:.5}.sm\:scale-x-75{--tw-scale-x:.75}.sm\:scale-x-90{--tw-scale-x:.9}.sm\:scale-x-95{--tw-scale-x:.95}.sm\:scale-x-100{--tw-scale-x:1}.sm\:scale-x-105{--tw-scale-x:1.05}.sm\:scale-x-110{--tw-scale-x:1.1}.sm\:scale-x-125{--tw-scale-x:1.25}.sm\:scale-x-150{--tw-scale-x:1.5}.sm\:scale-y-0{--tw-scale-y:0}.sm\:scale-y-50{--tw-scale-y:.5}.sm\:scale-y-75{--tw-scale-y:.75}.sm\:scale-y-90{--tw-scale-y:.9}.sm\:scale-y-95{--tw-scale-y:.95}.sm\:scale-y-100{--tw-scale-y:1}.sm\:scale-y-105{--tw-scale-y:1.05}.sm\:scale-y-110{--tw-scale-y:1.1}.sm\:scale-y-125{--tw-scale-y:1.25}.sm\:scale-y-150{--tw-scale-y:1.5}.sm\:hover\:scale-x-0:hover{--tw-scale-x:0}.sm\:hover\:scale-x-50:hover{--tw-scale-x:.5}.sm\:hover\:scale-x-75:hover{--tw-scale-x:.75}.sm\:hover\:scale-x-90:hover{--tw-scale-x:.9}.sm\:hover\:scale-x-95:hover{--tw-scale-x:.95}.sm\:hover\:scale-x-100:hover{--tw-scale-x:1}.sm\:hover\:scale-x-105:hover{--tw-scale-x:1.05}.sm\:hover\:scale-x-110:hover{--tw-scale-x:1.1}.sm\:hover\:scale-x-125:hover{--tw-scale-x:1.25}.sm\:hover\:scale-x-150:hover{--tw-scale-x:1.5}.sm\:hover\:scale-y-0:hover{--tw-scale-y:0}.sm\:hover\:scale-y-50:hover{--tw-scale-y:.5}.sm\:hover\:scale-y-75:hover{--tw-scale-y:.75}.sm\:hover\:scale-y-90:hover{--tw-scale-y:.9}.sm\:hover\:scale-y-95:hover{--tw-scale-y:.95}.sm\:hover\:scale-y-100:hover{--tw-scale-y:1}.sm\:hover\:scale-y-105:hover{--tw-scale-y:1.05}.sm\:hover\:scale-y-110:hover{--tw-scale-y:1.1}.sm\:hover\:scale-y-125:hover{--tw-scale-y:1.25}.sm\:hover\:scale-y-150:hover{--tw-scale-y:1.5}.sm\:focus\:scale-x-0:focus{--tw-scale-x:0}.sm\:focus\:scale-x-50:focus{--tw-scale-x:.5}.sm\:focus\:scale-x-75:focus{--tw-scale-x:.75}.sm\:focus\:scale-x-90:focus{--tw-scale-x:.9}.sm\:focus\:scale-x-95:focus{--tw-scale-x:.95}.sm\:focus\:scale-x-100:focus{--tw-scale-x:1}.sm\:focus\:scale-x-105:focus{--tw-scale-x:1.05}.sm\:focus\:scale-x-110:focus{--tw-scale-x:1.1}.sm\:focus\:scale-x-125:focus{--tw-scale-x:1.25}.sm\:focus\:scale-x-150:focus{--tw-scale-x:1.5}.sm\:focus\:scale-y-0:focus{--tw-scale-y:0}.sm\:focus\:scale-y-50:focus{--tw-scale-y:.5}.sm\:focus\:scale-y-75:focus{--tw-scale-y:.75}.sm\:focus\:scale-y-90:focus{--tw-scale-y:.9}.sm\:focus\:scale-y-95:focus{--tw-scale-y:.95}.sm\:focus\:scale-y-100:focus{--tw-scale-y:1}.sm\:focus\:scale-y-105:focus{--tw-scale-y:1.05}.sm\:focus\:scale-y-110:focus{--tw-scale-y:1.1}.sm\:focus\:scale-y-125:focus{--tw-scale-y:1.25}.sm\:focus\:scale-y-150:focus{--tw-scale-y:1.5}.sm\:animate-none{animation:none}.sm\:animate-spin{animation:spin 1s linear infinite}.sm\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.sm\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.sm\:animate-bounce{animation:bounce 1s infinite}.sm\:cursor-auto{cursor:auto}.sm\:cursor-default{cursor:default}.sm\:cursor-pointer{cursor:pointer}.sm\:cursor-wait{cursor:wait}.sm\:cursor-text{cursor:text}.sm\:cursor-move{cursor:move}.sm\:cursor-help{cursor:help}.sm\:cursor-not-allowed{cursor:not-allowed}.sm\:select-none{-webkit-user-select:none;user-select:none}.sm\:select-text{-webkit-user-select:text;user-select:text}.sm\:select-all{-webkit-user-select:all;user-select:all}.sm\:select-auto{-webkit-user-select:auto;user-select:auto}.sm\:resize-none{resize:none}.sm\:resize-y{resize:vertical}.sm\:resize-x{resize:horizontal}.sm\:resize{resize:both}.sm\:list-inside{list-style-position:inside}.sm\:list-outside{list-style-position:outside}.sm\:list-none{list-style-type:none}.sm\:list-disc{list-style-type:disc}.sm\:list-decimal{list-style-type:decimal}.sm\:appearance-none{-webkit-appearance:none;appearance:none}.sm\:auto-cols-auto{grid-auto-columns:auto}.sm\:auto-cols-min{grid-auto-columns:min-content}.sm\:auto-cols-max{grid-auto-columns:max-content}.sm\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.sm\:grid-flow-row{grid-auto-flow:row}.sm\:grid-flow-col{grid-auto-flow:column}.sm\:grid-flow-row-dense{grid-auto-flow:row dense}.sm\:grid-flow-col-dense{grid-auto-flow:column dense}.sm\:auto-rows-auto{grid-auto-rows:auto}.sm\:auto-rows-min{grid-auto-rows:min-content}.sm\:auto-rows-max{grid-auto-rows:max-content}.sm\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-none{grid-template-columns:none}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.sm\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.sm\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.sm\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.sm\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.sm\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.sm\:grid-rows-none{grid-template-rows:none}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-col{flex-direction:column}.sm\:flex-col-reverse{flex-direction:column-reverse}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:place-content-center{place-content:center}.sm\:place-content-start{place-content:start}.sm\:place-content-end{place-content:end}.sm\:place-content-between{place-content:space-between}.sm\:place-content-around{place-content:space-around}.sm\:place-content-evenly{place-content:space-evenly}.sm\:place-content-stretch{place-content:stretch}.sm\:place-items-start{place-items:start}.sm\:place-items-end{place-items:end}.sm\:place-items-center{place-items:center}.sm\:place-items-stretch{place-items:stretch}.sm\:content-center{align-content:center}.sm\:content-start{align-content:flex-start}.sm\:content-end{align-content:flex-end}.sm\:content-between{align-content:space-between}.sm\:content-around{align-content:space-around}.sm\:content-evenly{align-content:space-evenly}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:items-stretch{align-items:stretch}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-around{justify-content:space-around}.sm\:justify-evenly{justify-content:space-evenly}.sm\:justify-items-start{justify-items:start}.sm\:justify-items-end{justify-items:end}.sm\:justify-items-center{justify-items:center}.sm\:justify-items-stretch{justify-items:stretch}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-7{gap:1.75rem}.sm\:gap-8{gap:2rem}.sm\:gap-9{gap:2.25rem}.sm\:gap-10{gap:2.5rem}.sm\:gap-11{gap:2.75rem}.sm\:gap-12{gap:3rem}.sm\:gap-14{gap:3.5rem}.sm\:gap-16{gap:4rem}.sm\:gap-20{gap:5rem}.sm\:gap-24{gap:6rem}.sm\:gap-28{gap:7rem}.sm\:gap-32{gap:8rem}.sm\:gap-36{gap:9rem}.sm\:gap-40{gap:10rem}.sm\:gap-44{gap:11rem}.sm\:gap-48{gap:12rem}.sm\:gap-52{gap:13rem}.sm\:gap-56{gap:14rem}.sm\:gap-60{gap:15rem}.sm\:gap-64{gap:16rem}.sm\:gap-72{gap:18rem}.sm\:gap-80{gap:20rem}.sm\:gap-96{gap:24rem}.sm\:gap-px{gap:1px}.sm\:gap-0\.5{gap:.125rem}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-2\.5{gap:.625rem}.sm\:gap-3\.5{gap:.875rem}.sm\:gap-x-0{column-gap:0}.sm\:gap-x-1{column-gap:.25rem}.sm\:gap-x-2{column-gap:.5rem}.sm\:gap-x-3{column-gap:.75rem}.sm\:gap-x-4{column-gap:1rem}.sm\:gap-x-5{column-gap:1.25rem}.sm\:gap-x-6{column-gap:1.5rem}.sm\:gap-x-7{column-gap:1.75rem}.sm\:gap-x-8{column-gap:2rem}.sm\:gap-x-9{column-gap:2.25rem}.sm\:gap-x-10{column-gap:2.5rem}.sm\:gap-x-11{column-gap:2.75rem}.sm\:gap-x-12{column-gap:3rem}.sm\:gap-x-14{column-gap:3.5rem}.sm\:gap-x-16{column-gap:4rem}.sm\:gap-x-20{column-gap:5rem}.sm\:gap-x-24{column-gap:6rem}.sm\:gap-x-28{column-gap:7rem}.sm\:gap-x-32{column-gap:8rem}.sm\:gap-x-36{column-gap:9rem}.sm\:gap-x-40{column-gap:10rem}.sm\:gap-x-44{column-gap:11rem}.sm\:gap-x-48{column-gap:12rem}.sm\:gap-x-52{column-gap:13rem}.sm\:gap-x-56{column-gap:14rem}.sm\:gap-x-60{column-gap:15rem}.sm\:gap-x-64{column-gap:16rem}.sm\:gap-x-72{column-gap:18rem}.sm\:gap-x-80{column-gap:20rem}.sm\:gap-x-96{column-gap:24rem}.sm\:gap-x-px{column-gap:1px}.sm\:gap-x-0\.5{column-gap:.125rem}.sm\:gap-x-1\.5{column-gap:.375rem}.sm\:gap-x-2\.5{column-gap:.625rem}.sm\:gap-x-3\.5{column-gap:.875rem}.sm\:gap-y-0{row-gap:0}.sm\:gap-y-1{row-gap:.25rem}.sm\:gap-y-2{row-gap:.5rem}.sm\:gap-y-3{row-gap:.75rem}.sm\:gap-y-4{row-gap:1rem}.sm\:gap-y-5{row-gap:1.25rem}.sm\:gap-y-6{row-gap:1.5rem}.sm\:gap-y-7{row-gap:1.75rem}.sm\:gap-y-8{row-gap:2rem}.sm\:gap-y-9{row-gap:2.25rem}.sm\:gap-y-10{row-gap:2.5rem}.sm\:gap-y-11{row-gap:2.75rem}.sm\:gap-y-12{row-gap:3rem}.sm\:gap-y-14{row-gap:3.5rem}.sm\:gap-y-16{row-gap:4rem}.sm\:gap-y-20{row-gap:5rem}.sm\:gap-y-24{row-gap:6rem}.sm\:gap-y-28{row-gap:7rem}.sm\:gap-y-32{row-gap:8rem}.sm\:gap-y-36{row-gap:9rem}.sm\:gap-y-40{row-gap:10rem}.sm\:gap-y-44{row-gap:11rem}.sm\:gap-y-48{row-gap:12rem}.sm\:gap-y-52{row-gap:13rem}.sm\:gap-y-56{row-gap:14rem}.sm\:gap-y-60{row-gap:15rem}.sm\:gap-y-64{row-gap:16rem}.sm\:gap-y-72{row-gap:18rem}.sm\:gap-y-80{row-gap:20rem}.sm\:gap-y-96{row-gap:24rem}.sm\:gap-y-px{row-gap:1px}.sm\:gap-y-0\.5{row-gap:.125rem}.sm\:gap-y-1\.5{row-gap:.375rem}.sm\:gap-y-2\.5{row-gap:.625rem}.sm\:gap-y-3\.5{row-gap:.875rem}.sm\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.875rem * var(--tw-space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.125rem * var(--tw-space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.625rem * var(--tw-space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:-space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.875rem * var(--tw-space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.sm\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.sm\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sm\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.sm\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.sm\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.sm\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.sm\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.sm\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.sm\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.sm\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.sm\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.sm\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.sm\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.sm\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.sm\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.sm\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.sm\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.sm\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.sm\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.sm\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.sm\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.sm\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.sm\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.sm\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.sm\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.sm\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.sm\:space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.sm\:space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.sm\:space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.sm\:space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.sm\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.25rem * var(--tw-space-y-reverse))}.sm\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.5rem * var(--tw-space-y-reverse))}.sm\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.75rem * var(--tw-space-y-reverse))}.sm\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.sm\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.sm\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.sm\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.sm\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.sm\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.sm\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.sm\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.sm\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.sm\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.sm\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.sm\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.sm\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.sm\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.sm\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.sm\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.sm\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.sm\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.sm\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.sm\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.sm\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.sm\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.sm\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.sm\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.sm\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.sm\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.sm\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.sm\:-space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.125rem * var(--tw-space-y-reverse))}.sm\:-space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.375rem * var(--tw-space-y-reverse))}.sm\:-space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.625rem * var(--tw-space-y-reverse))}.sm\:-space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.875rem * var(--tw-space-y-reverse))}.sm\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.sm\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.sm\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.sm\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.sm\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.sm\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.sm\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.sm\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.sm\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.sm\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.sm\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.sm\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.sm\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.sm\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.sm\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.sm\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.sm\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.sm\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.sm\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.sm\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.sm\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.sm\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0,0,0,var(--tw-divide-opacity))}.sm\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,255,255,var(--tw-divide-opacity))}.sm\:divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,250,251,var(--tw-divide-opacity))}.sm\:divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(243,244,246,var(--tw-divide-opacity))}.sm\:divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(229,231,235,var(--tw-divide-opacity))}.sm\:divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,213,219,var(--tw-divide-opacity))}.sm\:divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(156,163,175,var(--tw-divide-opacity))}.sm\:divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(107,114,128,var(--tw-divide-opacity))}.sm\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(75,85,99,var(--tw-divide-opacity))}.sm\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,65,81,var(--tw-divide-opacity))}.sm\:divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(31,41,55,var(--tw-divide-opacity))}.sm\:divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(17,24,39,var(--tw-divide-opacity))}.sm\:divide-red-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,242,242,var(--tw-divide-opacity))}.sm\:divide-red-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,226,226,var(--tw-divide-opacity))}.sm\:divide-red-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,202,202,var(--tw-divide-opacity))}.sm\:divide-red-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,165,165,var(--tw-divide-opacity))}.sm\:divide-red-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(248,113,113,var(--tw-divide-opacity))}.sm\:divide-red-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,68,68,var(--tw-divide-opacity))}.sm\:divide-red-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(220,38,38,var(--tw-divide-opacity))}.sm\:divide-red-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(185,28,28,var(--tw-divide-opacity))}.sm\:divide-red-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(153,27,27,var(--tw-divide-opacity))}.sm\:divide-red-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127,29,29,var(--tw-divide-opacity))}.sm\:divide-yellow-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,251,235,var(--tw-divide-opacity))}.sm\:divide-yellow-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,243,199,var(--tw-divide-opacity))}.sm\:divide-yellow-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,230,138,var(--tw-divide-opacity))}.sm\:divide-yellow-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,211,77,var(--tw-divide-opacity))}.sm\:divide-yellow-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,191,36,var(--tw-divide-opacity))}.sm\:divide-yellow-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,158,11,var(--tw-divide-opacity))}.sm\:divide-yellow-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(217,119,6,var(--tw-divide-opacity))}.sm\:divide-yellow-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(180,83,9,var(--tw-divide-opacity))}.sm\:divide-yellow-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(146,64,14,var(--tw-divide-opacity))}.sm\:divide-yellow-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(120,53,15,var(--tw-divide-opacity))}.sm\:divide-green-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,253,245,var(--tw-divide-opacity))}.sm\:divide-green-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,250,229,var(--tw-divide-opacity))}.sm\:divide-green-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,243,208,var(--tw-divide-opacity))}.sm\:divide-green-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(110,231,183,var(--tw-divide-opacity))}.sm\:divide-green-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(52,211,153,var(--tw-divide-opacity))}.sm\:divide-green-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(16,185,129,var(--tw-divide-opacity))}.sm\:divide-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(5,150,105,var(--tw-divide-opacity))}.sm\:divide-green-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(4,120,87,var(--tw-divide-opacity))}.sm\:divide-green-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,95,70,var(--tw-divide-opacity))}.sm\:divide-green-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,78,59,var(--tw-divide-opacity))}.sm\:divide-blue-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,246,255,var(--tw-divide-opacity))}.sm\:divide-blue-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,234,254,var(--tw-divide-opacity))}.sm\:divide-blue-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(191,219,254,var(--tw-divide-opacity))}.sm\:divide-blue-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(147,197,253,var(--tw-divide-opacity))}.sm\:divide-blue-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(96,165,250,var(--tw-divide-opacity))}.sm\:divide-blue-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(59,130,246,var(--tw-divide-opacity))}.sm\:divide-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(37,99,235,var(--tw-divide-opacity))}.sm\:divide-blue-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(29,78,216,var(--tw-divide-opacity))}.sm\:divide-blue-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,64,175,var(--tw-divide-opacity))}.sm\:divide-blue-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,58,138,var(--tw-divide-opacity))}.sm\:divide-indigo-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(238,242,255,var(--tw-divide-opacity))}.sm\:divide-indigo-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(224,231,255,var(--tw-divide-opacity))}.sm\:divide-indigo-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(199,210,254,var(--tw-divide-opacity))}.sm\:divide-indigo-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(165,180,252,var(--tw-divide-opacity))}.sm\:divide-indigo-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(129,140,248,var(--tw-divide-opacity))}.sm\:divide-indigo-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(99,102,241,var(--tw-divide-opacity))}.sm\:divide-indigo-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(79,70,229,var(--tw-divide-opacity))}.sm\:divide-indigo-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(67,56,202,var(--tw-divide-opacity))}.sm\:divide-indigo-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,48,163,var(--tw-divide-opacity))}.sm\:divide-indigo-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(49,46,129,var(--tw-divide-opacity))}.sm\:divide-purple-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,243,255,var(--tw-divide-opacity))}.sm\:divide-purple-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(237,233,254,var(--tw-divide-opacity))}.sm\:divide-purple-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(221,214,254,var(--tw-divide-opacity))}.sm\:divide-purple-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(196,181,253,var(--tw-divide-opacity))}.sm\:divide-purple-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,139,250,var(--tw-divide-opacity))}.sm\:divide-purple-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(139,92,246,var(--tw-divide-opacity))}.sm\:divide-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(124,58,237,var(--tw-divide-opacity))}.sm\:divide-purple-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(109,40,217,var(--tw-divide-opacity))}.sm\:divide-purple-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(91,33,182,var(--tw-divide-opacity))}.sm\:divide-purple-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(76,29,149,var(--tw-divide-opacity))}.sm\:divide-pink-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,242,248,var(--tw-divide-opacity))}.sm\:divide-pink-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,231,243,var(--tw-divide-opacity))}.sm\:divide-pink-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,207,232,var(--tw-divide-opacity))}.sm\:divide-pink-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,168,212,var(--tw-divide-opacity))}.sm\:divide-pink-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(244,114,182,var(--tw-divide-opacity))}.sm\:divide-pink-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,72,153,var(--tw-divide-opacity))}.sm\:divide-pink-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,39,119,var(--tw-divide-opacity))}.sm\:divide-pink-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(190,24,93,var(--tw-divide-opacity))}.sm\:divide-pink-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(157,23,77,var(--tw-divide-opacity))}.sm\:divide-pink-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(131,24,67,var(--tw-divide-opacity))}.sm\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.sm\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.sm\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.sm\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.sm\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.sm\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.sm\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.sm\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.sm\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.sm\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.sm\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.sm\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.sm\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.sm\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.sm\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}.sm\:place-self-auto{place-self:auto}.sm\:place-self-start{place-self:start}.sm\:place-self-end{place-self:end}.sm\:place-self-center{place-self:center}.sm\:place-self-stretch{place-self:stretch}.sm\:self-auto{align-self:auto}.sm\:self-start{align-self:flex-start}.sm\:self-end{align-self:flex-end}.sm\:self-center{align-self:center}.sm\:self-stretch{align-self:stretch}.sm\:self-baseline{align-self:baseline}.sm\:justify-self-auto{justify-self:auto}.sm\:justify-self-start{justify-self:start}.sm\:justify-self-end{justify-self:end}.sm\:justify-self-center{justify-self:center}.sm\:justify-self-stretch{justify-self:stretch}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:overflow-visible{overflow:visible}.sm\:overflow-scroll{overflow:scroll}.sm\:overflow-x-auto{overflow-x:auto}.sm\:overflow-y-auto{overflow-y:auto}.sm\:overflow-x-hidden{overflow-x:hidden}.sm\:overflow-y-hidden{overflow-y:hidden}.sm\:overflow-x-visible{overflow-x:visible}.sm\:overflow-y-visible{overflow-y:visible}.sm\:overflow-x-scroll{overflow-x:scroll}.sm\:overflow-y-scroll{overflow-y:scroll}.sm\:overscroll-auto{overscroll-behavior:auto}.sm\:overscroll-contain{overscroll-behavior:contain}.sm\:overscroll-none{overscroll-behavior:none}.sm\:overscroll-y-auto{overscroll-behavior-y:auto}.sm\:overscroll-y-contain{overscroll-behavior-y:contain}.sm\:overscroll-y-none{overscroll-behavior-y:none}.sm\:overscroll-x-auto{overscroll-behavior-x:auto}.sm\:overscroll-x-contain{overscroll-behavior-x:contain}.sm\:overscroll-x-none{overscroll-behavior-x:none}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:overflow-ellipsis{text-overflow:ellipsis}.sm\:overflow-clip{text-overflow:clip}.sm\:whitespace-normal{white-space:normal}.sm\:whitespace-nowrap{white-space:nowrap}.sm\:whitespace-pre{white-space:pre}.sm\:whitespace-pre-line{white-space:pre-line}.sm\:whitespace-pre-wrap{white-space:pre-wrap}.sm\:break-normal{overflow-wrap:normal;word-break:normal}.sm\:break-words{overflow-wrap:break-word}.sm\:break-all{word-break:break-all}.sm\:rounded-none{border-radius:0}.sm\:rounded-sm{border-radius:.125rem}.sm\:rounded{border-radius:.25rem}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:rounded-2xl{border-radius:1rem}.sm\:rounded-3xl{border-radius:1.5rem}.sm\:rounded-full{border-radius:9999px}.sm\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.sm\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.sm\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.sm\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.sm\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.sm\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.sm\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.sm\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.sm\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.sm\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.sm\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.sm\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.sm\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.sm\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.sm\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.sm\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.sm\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.sm\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.sm\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.sm\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.sm\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.sm\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.sm\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.sm\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.sm\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.sm\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.sm\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.sm\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.sm\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-tl-none{border-top-left-radius:0}.sm\:rounded-tl-sm{border-top-left-radius:.125rem}.sm\:rounded-tl{border-top-left-radius:.25rem}.sm\:rounded-tl-md{border-top-left-radius:.375rem}.sm\:rounded-tl-lg{border-top-left-radius:.5rem}.sm\:rounded-tl-xl{border-top-left-radius:.75rem}.sm\:rounded-tl-2xl{border-top-left-radius:1rem}.sm\:rounded-tl-3xl{border-top-left-radius:1.5rem}.sm\:rounded-tl-full{border-top-left-radius:9999px}.sm\:rounded-tr-none{border-top-right-radius:0}.sm\:rounded-tr-sm{border-top-right-radius:.125rem}.sm\:rounded-tr{border-top-right-radius:.25rem}.sm\:rounded-tr-md{border-top-right-radius:.375rem}.sm\:rounded-tr-lg{border-top-right-radius:.5rem}.sm\:rounded-tr-xl{border-top-right-radius:.75rem}.sm\:rounded-tr-2xl{border-top-right-radius:1rem}.sm\:rounded-tr-3xl{border-top-right-radius:1.5rem}.sm\:rounded-tr-full{border-top-right-radius:9999px}.sm\:rounded-br-none{border-bottom-right-radius:0}.sm\:rounded-br-sm{border-bottom-right-radius:.125rem}.sm\:rounded-br{border-bottom-right-radius:.25rem}.sm\:rounded-br-md{border-bottom-right-radius:.375rem}.sm\:rounded-br-lg{border-bottom-right-radius:.5rem}.sm\:rounded-br-xl{border-bottom-right-radius:.75rem}.sm\:rounded-br-2xl{border-bottom-right-radius:1rem}.sm\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.sm\:rounded-br-full{border-bottom-right-radius:9999px}.sm\:rounded-bl-none{border-bottom-left-radius:0}.sm\:rounded-bl-sm{border-bottom-left-radius:.125rem}.sm\:rounded-bl{border-bottom-left-radius:.25rem}.sm\:rounded-bl-md{border-bottom-left-radius:.375rem}.sm\:rounded-bl-lg{border-bottom-left-radius:.5rem}.sm\:rounded-bl-xl{border-bottom-left-radius:.75rem}.sm\:rounded-bl-2xl{border-bottom-left-radius:1rem}.sm\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.sm\:rounded-bl-full{border-bottom-left-radius:9999px}.sm\:border-0{border-width:0}.sm\:border-2{border-width:2px}.sm\:border-4{border-width:4px}.sm\:border-8{border-width:8px}.sm\:border{border-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:border-t-2{border-top-width:2px}.sm\:border-t-4{border-top-width:4px}.sm\:border-t-8{border-top-width:8px}.sm\:border-t{border-top-width:1px}.sm\:border-r-0{border-right-width:0}.sm\:border-r-2{border-right-width:2px}.sm\:border-r-4{border-right-width:4px}.sm\:border-r-8{border-right-width:8px}.sm\:border-r{border-right-width:1px}.sm\:border-b-0{border-bottom-width:0}.sm\:border-b-2{border-bottom-width:2px}.sm\:border-b-4{border-bottom-width:4px}.sm\:border-b-8{border-bottom-width:8px}.sm\:border-b{border-bottom-width:1px}.sm\:border-l-0{border-left-width:0}.sm\:border-l-2{border-left-width:2px}.sm\:border-l-4{border-left-width:4px}.sm\:border-l-8{border-left-width:8px}.sm\:border-l{border-left-width:1px}.sm\:border-solid{border-style:solid}.sm\:border-dashed{border-style:dashed}.sm\:border-dotted{border-style:dotted}.sm\:border-double{border-style:double}.sm\:border-none{border-style:none}.sm\:border-transparent{border-color:transparent}.sm\:border-current{border-color:currentColor}.sm\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.sm\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.sm\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.sm\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.sm\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.sm\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.sm\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.sm\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.sm\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.sm\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.sm\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.sm\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.sm\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.sm\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.sm\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.sm\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.sm\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.sm\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.sm\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.sm\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.sm\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.sm\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.sm\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.sm\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.sm\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.sm\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.sm\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.sm\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.sm\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.sm\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.sm\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.sm\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.sm\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.sm\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.sm\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.sm\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.sm\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.sm\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.sm\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.sm\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.sm\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.sm\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.sm\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.sm\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.sm\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.sm\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.sm\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.sm\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.sm\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.sm\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.sm\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.sm\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.sm\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.sm\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.sm\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.sm\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.sm\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.sm\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.sm\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.sm\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.sm\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.sm\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.sm\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.sm\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.sm\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.sm\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.sm\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.sm\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.sm\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.sm\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.sm\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.sm\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.sm\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.sm\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.sm\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.sm\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.sm\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.sm\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.sm\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.sm\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.sm\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.sm\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-transparent{border-color:transparent}.group:hover .sm\:group-hover\:border-current{border-color:currentColor}.group:hover .sm\:group-hover\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.group:hover .sm\:group-hover\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.sm\:focus-within\:border-transparent:focus-within{border-color:transparent}.sm\:focus-within\:border-current:focus-within{border-color:currentColor}.sm\:focus-within\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.sm\:focus-within\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-50:focus-within{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-100:focus-within{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-200:focus-within{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-300:focus-within{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-400:focus-within{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-500:focus-within{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-600:focus-within{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-700:focus-within{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-800:focus-within{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.sm\:focus-within\:border-gray-900:focus-within{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.sm\:focus-within\:border-red-50:focus-within{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.sm\:focus-within\:border-red-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.sm\:focus-within\:border-red-200:focus-within{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.sm\:focus-within\:border-red-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.sm\:focus-within\:border-red-400:focus-within{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.sm\:focus-within\:border-red-500:focus-within{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.sm\:focus-within\:border-red-600:focus-within{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.sm\:focus-within\:border-red-700:focus-within{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.sm\:focus-within\:border-red-800:focus-within{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.sm\:focus-within\:border-red-900:focus-within{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-50:focus-within{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-200:focus-within{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-400:focus-within{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-500:focus-within{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-600:focus-within{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-700:focus-within{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-800:focus-within{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.sm\:focus-within\:border-yellow-900:focus-within{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.sm\:focus-within\:border-green-50:focus-within{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.sm\:focus-within\:border-green-100:focus-within{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.sm\:focus-within\:border-green-200:focus-within{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.sm\:focus-within\:border-green-300:focus-within{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.sm\:focus-within\:border-green-400:focus-within{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.sm\:focus-within\:border-green-500:focus-within{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.sm\:focus-within\:border-green-600:focus-within{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.sm\:focus-within\:border-green-700:focus-within{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.sm\:focus-within\:border-green-800:focus-within{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.sm\:focus-within\:border-green-900:focus-within{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-50:focus-within{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-100:focus-within{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-200:focus-within{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-300:focus-within{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-400:focus-within{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-600:focus-within{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-700:focus-within{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-800:focus-within{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.sm\:focus-within\:border-blue-900:focus-within{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-50:focus-within{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-100:focus-within{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-200:focus-within{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-300:focus-within{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-400:focus-within{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-500:focus-within{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-600:focus-within{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-700:focus-within{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-800:focus-within{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.sm\:focus-within\:border-indigo-900:focus-within{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-50:focus-within{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-100:focus-within{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-200:focus-within{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-300:focus-within{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-400:focus-within{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-500:focus-within{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-600:focus-within{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-700:focus-within{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-800:focus-within{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.sm\:focus-within\:border-purple-900:focus-within{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-50:focus-within{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-100:focus-within{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-200:focus-within{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-300:focus-within{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-400:focus-within{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-500:focus-within{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-600:focus-within{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-700:focus-within{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-800:focus-within{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.sm\:focus-within\:border-pink-900:focus-within{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.sm\:hover\:border-transparent:hover{border-color:transparent}.sm\:hover\:border-current:hover{border-color:currentColor}.sm\:hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.sm\:hover\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.sm\:hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.sm\:hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.sm\:hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.sm\:hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.sm\:hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.sm\:hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.sm\:hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.sm\:hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.sm\:hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.sm\:hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.sm\:hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.sm\:hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.sm\:hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.sm\:hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.sm\:hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.sm\:hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.sm\:hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.sm\:hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.sm\:hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.sm\:hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.sm\:hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.sm\:hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.sm\:hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.sm\:hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.sm\:hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.sm\:hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.sm\:hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.sm\:hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.sm\:hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.sm\:hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.sm\:hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.sm\:hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.sm\:hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.sm\:hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.sm\:hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.sm\:hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.sm\:hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.sm\:hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.sm\:hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.sm\:hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.sm\:hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.sm\:hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.sm\:hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.sm\:hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.sm\:hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.sm\:hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.sm\:hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.sm\:hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.sm\:hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.sm\:hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.sm\:hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.sm\:hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.sm\:hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.sm\:hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.sm\:hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.sm\:hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.sm\:hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.sm\:hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.sm\:hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.sm\:hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.sm\:hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.sm\:hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.sm\:hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.sm\:hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.sm\:hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.sm\:hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.sm\:hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.sm\:hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.sm\:hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.sm\:hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.sm\:hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.sm\:hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.sm\:hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.sm\:hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.sm\:hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.sm\:hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.sm\:hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.sm\:hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.sm\:hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.sm\:hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.sm\:focus\:border-transparent:focus{border-color:transparent}.sm\:focus\:border-current:focus{border-color:currentColor}.sm\:focus\:border-black:focus{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.sm\:focus\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.sm\:focus\:border-gray-50:focus{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.sm\:focus\:border-gray-100:focus{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.sm\:focus\:border-gray-200:focus{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.sm\:focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.sm\:focus\:border-gray-400:focus{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.sm\:focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.sm\:focus\:border-gray-600:focus{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.sm\:focus\:border-gray-700:focus{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.sm\:focus\:border-gray-800:focus{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.sm\:focus\:border-gray-900:focus{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.sm\:focus\:border-red-50:focus{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.sm\:focus\:border-red-100:focus{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.sm\:focus\:border-red-200:focus{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.sm\:focus\:border-red-300:focus{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.sm\:focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.sm\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.sm\:focus\:border-red-600:focus{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.sm\:focus\:border-red-700:focus{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.sm\:focus\:border-red-800:focus{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.sm\:focus\:border-red-900:focus{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.sm\:focus\:border-yellow-50:focus{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.sm\:focus\:border-yellow-100:focus{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.sm\:focus\:border-yellow-200:focus{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.sm\:focus\:border-yellow-300:focus{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.sm\:focus\:border-yellow-400:focus{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.sm\:focus\:border-yellow-500:focus{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.sm\:focus\:border-yellow-600:focus{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.sm\:focus\:border-yellow-700:focus{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.sm\:focus\:border-yellow-800:focus{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.sm\:focus\:border-yellow-900:focus{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.sm\:focus\:border-green-50:focus{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.sm\:focus\:border-green-100:focus{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.sm\:focus\:border-green-200:focus{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.sm\:focus\:border-green-300:focus{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.sm\:focus\:border-green-400:focus{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.sm\:focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.sm\:focus\:border-green-600:focus{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.sm\:focus\:border-green-700:focus{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.sm\:focus\:border-green-800:focus{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.sm\:focus\:border-green-900:focus{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.sm\:focus\:border-blue-50:focus{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.sm\:focus\:border-blue-100:focus{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.sm\:focus\:border-blue-200:focus{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.sm\:focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.sm\:focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.sm\:focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.sm\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.sm\:focus\:border-blue-700:focus{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.sm\:focus\:border-blue-800:focus{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.sm\:focus\:border-blue-900:focus{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.sm\:focus\:border-indigo-50:focus{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.sm\:focus\:border-indigo-100:focus{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.sm\:focus\:border-indigo-200:focus{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.sm\:focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.sm\:focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.sm\:focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.sm\:focus\:border-indigo-600:focus{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.sm\:focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.sm\:focus\:border-indigo-800:focus{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.sm\:focus\:border-indigo-900:focus{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.sm\:focus\:border-purple-50:focus{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.sm\:focus\:border-purple-100:focus{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.sm\:focus\:border-purple-200:focus{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.sm\:focus\:border-purple-300:focus{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.sm\:focus\:border-purple-400:focus{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.sm\:focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.sm\:focus\:border-purple-600:focus{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.sm\:focus\:border-purple-700:focus{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.sm\:focus\:border-purple-800:focus{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.sm\:focus\:border-purple-900:focus{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.sm\:focus\:border-pink-50:focus{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.sm\:focus\:border-pink-100:focus{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.sm\:focus\:border-pink-200:focus{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.sm\:focus\:border-pink-300:focus{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.sm\:focus\:border-pink-400:focus{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.sm\:focus\:border-pink-500:focus{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.sm\:focus\:border-pink-600:focus{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.sm\:focus\:border-pink-700:focus{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.sm\:focus\:border-pink-800:focus{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.sm\:focus\:border-pink-900:focus{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.sm\:border-opacity-0{--tw-border-opacity:0}.sm\:border-opacity-5{--tw-border-opacity:0.05}.sm\:border-opacity-10{--tw-border-opacity:0.1}.sm\:border-opacity-20{--tw-border-opacity:0.2}.sm\:border-opacity-25{--tw-border-opacity:0.25}.sm\:border-opacity-30{--tw-border-opacity:0.3}.sm\:border-opacity-40{--tw-border-opacity:0.4}.sm\:border-opacity-50{--tw-border-opacity:0.5}.sm\:border-opacity-60{--tw-border-opacity:0.6}.sm\:border-opacity-70{--tw-border-opacity:0.7}.sm\:border-opacity-75{--tw-border-opacity:0.75}.sm\:border-opacity-80{--tw-border-opacity:0.8}.sm\:border-opacity-90{--tw-border-opacity:0.9}.sm\:border-opacity-95{--tw-border-opacity:0.95}.sm\:border-opacity-100{--tw-border-opacity:1}.group:hover .sm\:group-hover\:border-opacity-0{--tw-border-opacity:0}.group:hover .sm\:group-hover\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .sm\:group-hover\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .sm\:group-hover\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .sm\:group-hover\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .sm\:group-hover\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .sm\:group-hover\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .sm\:group-hover\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .sm\:group-hover\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .sm\:group-hover\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .sm\:group-hover\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .sm\:group-hover\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .sm\:group-hover\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .sm\:group-hover\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .sm\:group-hover\:border-opacity-100{--tw-border-opacity:1}.sm\:focus-within\:border-opacity-0:focus-within{--tw-border-opacity:0}.sm\:focus-within\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.sm\:focus-within\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.sm\:focus-within\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.sm\:focus-within\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.sm\:focus-within\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.sm\:focus-within\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.sm\:focus-within\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.sm\:focus-within\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.sm\:focus-within\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.sm\:focus-within\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.sm\:focus-within\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.sm\:focus-within\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.sm\:focus-within\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.sm\:focus-within\:border-opacity-100:focus-within{--tw-border-opacity:1}.sm\:hover\:border-opacity-0:hover{--tw-border-opacity:0}.sm\:hover\:border-opacity-5:hover{--tw-border-opacity:0.05}.sm\:hover\:border-opacity-10:hover{--tw-border-opacity:0.1}.sm\:hover\:border-opacity-20:hover{--tw-border-opacity:0.2}.sm\:hover\:border-opacity-25:hover{--tw-border-opacity:0.25}.sm\:hover\:border-opacity-30:hover{--tw-border-opacity:0.3}.sm\:hover\:border-opacity-40:hover{--tw-border-opacity:0.4}.sm\:hover\:border-opacity-50:hover{--tw-border-opacity:0.5}.sm\:hover\:border-opacity-60:hover{--tw-border-opacity:0.6}.sm\:hover\:border-opacity-70:hover{--tw-border-opacity:0.7}.sm\:hover\:border-opacity-75:hover{--tw-border-opacity:0.75}.sm\:hover\:border-opacity-80:hover{--tw-border-opacity:0.8}.sm\:hover\:border-opacity-90:hover{--tw-border-opacity:0.9}.sm\:hover\:border-opacity-95:hover{--tw-border-opacity:0.95}.sm\:hover\:border-opacity-100:hover{--tw-border-opacity:1}.sm\:focus\:border-opacity-0:focus{--tw-border-opacity:0}.sm\:focus\:border-opacity-5:focus{--tw-border-opacity:0.05}.sm\:focus\:border-opacity-10:focus{--tw-border-opacity:0.1}.sm\:focus\:border-opacity-20:focus{--tw-border-opacity:0.2}.sm\:focus\:border-opacity-25:focus{--tw-border-opacity:0.25}.sm\:focus\:border-opacity-30:focus{--tw-border-opacity:0.3}.sm\:focus\:border-opacity-40:focus{--tw-border-opacity:0.4}.sm\:focus\:border-opacity-50:focus{--tw-border-opacity:0.5}.sm\:focus\:border-opacity-60:focus{--tw-border-opacity:0.6}.sm\:focus\:border-opacity-70:focus{--tw-border-opacity:0.7}.sm\:focus\:border-opacity-75:focus{--tw-border-opacity:0.75}.sm\:focus\:border-opacity-80:focus{--tw-border-opacity:0.8}.sm\:focus\:border-opacity-90:focus{--tw-border-opacity:0.9}.sm\:focus\:border-opacity-95:focus{--tw-border-opacity:0.95}.sm\:focus\:border-opacity-100:focus{--tw-border-opacity:1}.sm\:bg-transparent{background-color:transparent}.sm\:bg-current{background-color:currentColor}.sm\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.sm\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.sm\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.sm\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.sm\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.sm\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.sm\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.sm\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.sm\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.sm\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.sm\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.sm\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.sm\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.sm\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.sm\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.sm\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.sm\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.sm\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.sm\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.sm\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.sm\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.sm\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.sm\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.sm\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.sm\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.sm\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.sm\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.sm\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.sm\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.sm\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.sm\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.sm\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.sm\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.sm\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.sm\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.sm\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.sm\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.sm\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.sm\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.sm\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.sm\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.sm\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.sm\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.sm\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.sm\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.sm\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.sm\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.sm\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.sm\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.sm\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.sm\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.sm\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.sm\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.sm\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.sm\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.sm\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.sm\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.sm\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.sm\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.sm\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.sm\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.sm\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.sm\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.sm\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.sm\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.sm\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.sm\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.sm\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.sm\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.sm\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.sm\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.sm\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.sm\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.sm\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.sm\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.sm\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.sm\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.sm\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.sm\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.sm\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.sm\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.sm\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-transparent{background-color:transparent}.group:hover .sm\:group-hover\:bg-current{background-color:currentColor}.group:hover .sm\:group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.group:hover .sm\:group-hover\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.sm\:focus-within\:bg-transparent:focus-within{background-color:transparent}.sm\:focus-within\:bg-current:focus-within{background-color:currentColor}.sm\:focus-within\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.sm\:focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-100:focus-within{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-200:focus-within{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-300:focus-within{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-400:focus-within{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-500:focus-within{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-600:focus-within{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-700:focus-within{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-800:focus-within{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.sm\:focus-within\:bg-gray-900:focus-within{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-50:focus-within{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-200:focus-within{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-400:focus-within{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-500:focus-within{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-600:focus-within{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-700:focus-within{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-800:focus-within{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.sm\:focus-within\:bg-red-900:focus-within{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-50:focus-within{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-200:focus-within{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-400:focus-within{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-500:focus-within{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-600:focus-within{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-700:focus-within{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-800:focus-within{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.sm\:focus-within\:bg-yellow-900:focus-within{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-50:focus-within{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-100:focus-within{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-200:focus-within{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-300:focus-within{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-400:focus-within{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-500:focus-within{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-600:focus-within{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-700:focus-within{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-800:focus-within{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.sm\:focus-within\:bg-green-900:focus-within{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-50:focus-within{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-100:focus-within{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-200:focus-within{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-300:focus-within{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-400:focus-within{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-500:focus-within{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-600:focus-within{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-700:focus-within{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-800:focus-within{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.sm\:focus-within\:bg-blue-900:focus-within{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-50:focus-within{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-100:focus-within{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-200:focus-within{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-300:focus-within{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-400:focus-within{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-500:focus-within{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-600:focus-within{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-700:focus-within{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-800:focus-within{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.sm\:focus-within\:bg-indigo-900:focus-within{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-50:focus-within{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-100:focus-within{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-200:focus-within{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-300:focus-within{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-400:focus-within{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-500:focus-within{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-600:focus-within{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-700:focus-within{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-800:focus-within{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.sm\:focus-within\:bg-purple-900:focus-within{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-50:focus-within{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-100:focus-within{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-200:focus-within{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-300:focus-within{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-400:focus-within{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-500:focus-within{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-600:focus-within{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-700:focus-within{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-800:focus-within{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.sm\:focus-within\:bg-pink-900:focus-within{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.sm\:hover\:bg-transparent:hover{background-color:transparent}.sm\:hover\:bg-current:hover{background-color:currentColor}.sm\:hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.sm\:hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.sm\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.sm\:hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.sm\:hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.sm\:hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.sm\:hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.sm\:hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.sm\:hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.sm\:hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.sm\:hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.sm\:hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.sm\:hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.sm\:hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.sm\:hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.sm\:hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.sm\:hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.sm\:hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.sm\:hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.sm\:hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.sm\:hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.sm\:hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.sm\:hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.sm\:hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.sm\:hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.sm\:hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.sm\:hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.sm\:hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.sm\:focus\:bg-transparent:focus{background-color:transparent}.sm\:focus\:bg-current:focus{background-color:currentColor}.sm\:focus\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.sm\:focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-300:focus{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-400:focus{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-500:focus{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-600:focus{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.sm\:focus\:bg-gray-900:focus{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.sm\:focus\:bg-red-50:focus{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.sm\:focus\:bg-red-100:focus{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.sm\:focus\:bg-red-200:focus{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.sm\:focus\:bg-red-300:focus{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.sm\:focus\:bg-red-400:focus{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.sm\:focus\:bg-red-500:focus{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.sm\:focus\:bg-red-600:focus{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.sm\:focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.sm\:focus\:bg-red-800:focus{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.sm\:focus\:bg-red-900:focus{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-50:focus{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-100:focus{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-200:focus{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-300:focus{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-400:focus{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-500:focus{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-600:focus{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-700:focus{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-800:focus{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.sm\:focus\:bg-yellow-900:focus{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.sm\:focus\:bg-green-50:focus{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.sm\:focus\:bg-green-100:focus{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.sm\:focus\:bg-green-200:focus{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.sm\:focus\:bg-green-300:focus{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.sm\:focus\:bg-green-400:focus{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.sm\:focus\:bg-green-500:focus{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.sm\:focus\:bg-green-600:focus{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.sm\:focus\:bg-green-700:focus{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.sm\:focus\:bg-green-800:focus{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.sm\:focus\:bg-green-900:focus{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-50:focus{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-100:focus{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-200:focus{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-300:focus{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-400:focus{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-500:focus{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-600:focus{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-700:focus{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-800:focus{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.sm\:focus\:bg-blue-900:focus{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-50:focus{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-200:focus{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-300:focus{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-400:focus{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-500:focus{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-600:focus{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-800:focus{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.sm\:focus\:bg-indigo-900:focus{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-50:focus{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-100:focus{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-200:focus{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-300:focus{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-400:focus{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-500:focus{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-600:focus{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-700:focus{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-800:focus{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.sm\:focus\:bg-purple-900:focus{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-50:focus{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-100:focus{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-200:focus{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-300:focus{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-400:focus{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-500:focus{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-600:focus{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-700:focus{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-800:focus{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.sm\:focus\:bg-pink-900:focus{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.sm\:bg-opacity-0{--tw-bg-opacity:0}.sm\:bg-opacity-5{--tw-bg-opacity:0.05}.sm\:bg-opacity-10{--tw-bg-opacity:0.1}.sm\:bg-opacity-20{--tw-bg-opacity:0.2}.sm\:bg-opacity-25{--tw-bg-opacity:0.25}.sm\:bg-opacity-30{--tw-bg-opacity:0.3}.sm\:bg-opacity-40{--tw-bg-opacity:0.4}.sm\:bg-opacity-50{--tw-bg-opacity:0.5}.sm\:bg-opacity-60{--tw-bg-opacity:0.6}.sm\:bg-opacity-70{--tw-bg-opacity:0.7}.sm\:bg-opacity-75{--tw-bg-opacity:0.75}.sm\:bg-opacity-80{--tw-bg-opacity:0.8}.sm\:bg-opacity-90{--tw-bg-opacity:0.9}.sm\:bg-opacity-95{--tw-bg-opacity:0.95}.sm\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .sm\:group-hover\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .sm\:group-hover\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .sm\:group-hover\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .sm\:group-hover\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .sm\:group-hover\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .sm\:group-hover\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .sm\:group-hover\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .sm\:group-hover\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .sm\:group-hover\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .sm\:group-hover\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .sm\:group-hover\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .sm\:group-hover\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .sm\:group-hover\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .sm\:group-hover\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .sm\:group-hover\:bg-opacity-100{--tw-bg-opacity:1}.sm\:focus-within\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.sm\:focus-within\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.sm\:focus-within\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.sm\:focus-within\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.sm\:focus-within\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.sm\:focus-within\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.sm\:focus-within\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.sm\:focus-within\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.sm\:focus-within\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.sm\:focus-within\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.sm\:focus-within\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.sm\:focus-within\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.sm\:focus-within\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.sm\:focus-within\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.sm\:focus-within\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.sm\:hover\:bg-opacity-0:hover{--tw-bg-opacity:0}.sm\:hover\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.sm\:hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.sm\:hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.sm\:hover\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.sm\:hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.sm\:hover\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.sm\:hover\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.sm\:hover\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.sm\:hover\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.sm\:hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.sm\:hover\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.sm\:hover\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.sm\:hover\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.sm\:hover\:bg-opacity-100:hover{--tw-bg-opacity:1}.sm\:focus\:bg-opacity-0:focus{--tw-bg-opacity:0}.sm\:focus\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.sm\:focus\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.sm\:focus\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.sm\:focus\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.sm\:focus\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.sm\:focus\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.sm\:focus\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.sm\:focus\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.sm\:focus\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.sm\:focus\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.sm\:focus\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.sm\:focus\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.sm\:focus\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.sm\:focus\:bg-opacity-100:focus{--tw-bg-opacity:1}.sm\:bg-none{background-image:none}.sm\:bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.sm\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.sm\:bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.sm\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.sm\:bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.sm\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.sm\:bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.sm\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.sm\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:from-black{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.sm\:from-gray-100{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.sm\:from-gray-200{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.sm\:from-gray-300{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.sm\:from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.sm\:from-gray-500{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.sm\:from-gray-600{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.sm\:from-gray-700{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.sm\:from-gray-800{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.sm\:from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.sm\:from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.sm\:from-red-100{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.sm\:from-red-200{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.sm\:from-red-300{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.sm\:from-red-400{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.sm\:from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.sm\:from-red-600{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.sm\:from-red-700{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.sm\:from-red-800{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.sm\:from-red-900{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.sm\:from-yellow-50{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.sm\:from-yellow-100{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.sm\:from-yellow-200{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.sm\:from-yellow-300{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.sm\:from-yellow-400{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.sm\:from-yellow-500{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.sm\:from-yellow-600{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.sm\:from-yellow-700{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.sm\:from-yellow-800{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.sm\:from-yellow-900{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.sm\:from-green-50{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.sm\:from-green-100{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.sm\:from-green-200{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.sm\:from-green-300{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.sm\:from-green-400{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.sm\:from-green-500{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.sm\:from-green-600{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.sm\:from-green-700{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.sm\:from-green-800{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.sm\:from-green-900{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.sm\:from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.sm\:from-blue-100{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.sm\:from-blue-200{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.sm\:from-blue-300{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.sm\:from-blue-400{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.sm\:from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.sm\:from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.sm\:from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.sm\:from-blue-800{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.sm\:from-blue-900{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.sm\:from-indigo-50{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.sm\:from-indigo-100{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.sm\:from-indigo-200{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.sm\:from-indigo-300{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.sm\:from-indigo-400{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.sm\:from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.sm\:from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.sm\:from-indigo-700{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.sm\:from-indigo-800{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.sm\:from-indigo-900{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.sm\:from-purple-50{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.sm\:from-purple-100{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.sm\:from-purple-200{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.sm\:from-purple-300{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.sm\:from-purple-400{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.sm\:from-purple-500{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.sm\:from-purple-600{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.sm\:from-purple-700{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.sm\:from-purple-800{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.sm\:from-purple-900{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.sm\:from-pink-50{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.sm\:from-pink-100{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.sm\:from-pink-200{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.sm\:from-pink-300{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.sm\:from-pink-400{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.sm\:from-pink-500{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.sm\:from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.sm\:from-pink-700{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.sm\:from-pink-800{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.sm\:from-pink-900{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.sm\:hover\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:hover\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:hover\:from-black:hover{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:hover\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:hover\:from-gray-50:hover{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.sm\:hover\:from-gray-100:hover{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.sm\:hover\:from-gray-200:hover{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.sm\:hover\:from-gray-300:hover{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.sm\:hover\:from-gray-400:hover{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.sm\:hover\:from-gray-500:hover{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.sm\:hover\:from-gray-600:hover{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.sm\:hover\:from-gray-700:hover{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.sm\:hover\:from-gray-800:hover{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.sm\:hover\:from-gray-900:hover{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.sm\:hover\:from-red-50:hover{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.sm\:hover\:from-red-100:hover{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.sm\:hover\:from-red-200:hover{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.sm\:hover\:from-red-300:hover{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.sm\:hover\:from-red-400:hover{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.sm\:hover\:from-red-500:hover{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.sm\:hover\:from-red-600:hover{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.sm\:hover\:from-red-700:hover{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.sm\:hover\:from-red-800:hover{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.sm\:hover\:from-red-900:hover{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.sm\:hover\:from-yellow-50:hover{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.sm\:hover\:from-yellow-100:hover{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.sm\:hover\:from-yellow-200:hover{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.sm\:hover\:from-yellow-300:hover{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.sm\:hover\:from-yellow-400:hover{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.sm\:hover\:from-yellow-500:hover{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.sm\:hover\:from-yellow-600:hover{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.sm\:hover\:from-yellow-700:hover{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.sm\:hover\:from-yellow-800:hover{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.sm\:hover\:from-yellow-900:hover{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.sm\:hover\:from-green-50:hover{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.sm\:hover\:from-green-100:hover{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.sm\:hover\:from-green-200:hover{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.sm\:hover\:from-green-300:hover{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.sm\:hover\:from-green-400:hover{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.sm\:hover\:from-green-500:hover{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.sm\:hover\:from-green-600:hover{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.sm\:hover\:from-green-700:hover{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.sm\:hover\:from-green-800:hover{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.sm\:hover\:from-green-900:hover{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.sm\:hover\:from-blue-50:hover{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.sm\:hover\:from-blue-100:hover{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.sm\:hover\:from-blue-200:hover{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.sm\:hover\:from-blue-300:hover{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.sm\:hover\:from-blue-400:hover{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.sm\:hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.sm\:hover\:from-blue-600:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.sm\:hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.sm\:hover\:from-blue-800:hover{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.sm\:hover\:from-blue-900:hover{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.sm\:hover\:from-indigo-50:hover{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.sm\:hover\:from-indigo-100:hover{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.sm\:hover\:from-indigo-200:hover{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.sm\:hover\:from-indigo-300:hover{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.sm\:hover\:from-indigo-400:hover{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.sm\:hover\:from-indigo-500:hover{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.sm\:hover\:from-indigo-600:hover{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.sm\:hover\:from-indigo-700:hover{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.sm\:hover\:from-indigo-800:hover{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.sm\:hover\:from-indigo-900:hover{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.sm\:hover\:from-purple-50:hover{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.sm\:hover\:from-purple-100:hover{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.sm\:hover\:from-purple-200:hover{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.sm\:hover\:from-purple-300:hover{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.sm\:hover\:from-purple-400:hover{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.sm\:hover\:from-purple-500:hover{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.sm\:hover\:from-purple-600:hover{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.sm\:hover\:from-purple-700:hover{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.sm\:hover\:from-purple-800:hover{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.sm\:hover\:from-purple-900:hover{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.sm\:hover\:from-pink-50:hover{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.sm\:hover\:from-pink-100:hover{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.sm\:hover\:from-pink-200:hover{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.sm\:hover\:from-pink-300:hover{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.sm\:hover\:from-pink-400:hover{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.sm\:hover\:from-pink-500:hover{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.sm\:hover\:from-pink-600:hover{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.sm\:hover\:from-pink-700:hover{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.sm\:hover\:from-pink-800:hover{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.sm\:hover\:from-pink-900:hover{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.sm\:focus\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:focus\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:focus\:from-black:focus{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:focus\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:focus\:from-gray-50:focus{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.sm\:focus\:from-gray-100:focus{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.sm\:focus\:from-gray-200:focus{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.sm\:focus\:from-gray-300:focus{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.sm\:focus\:from-gray-400:focus{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.sm\:focus\:from-gray-500:focus{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.sm\:focus\:from-gray-600:focus{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.sm\:focus\:from-gray-700:focus{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.sm\:focus\:from-gray-800:focus{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.sm\:focus\:from-gray-900:focus{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.sm\:focus\:from-red-50:focus{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.sm\:focus\:from-red-100:focus{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.sm\:focus\:from-red-200:focus{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.sm\:focus\:from-red-300:focus{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.sm\:focus\:from-red-400:focus{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.sm\:focus\:from-red-500:focus{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.sm\:focus\:from-red-600:focus{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.sm\:focus\:from-red-700:focus{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.sm\:focus\:from-red-800:focus{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.sm\:focus\:from-red-900:focus{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.sm\:focus\:from-yellow-50:focus{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.sm\:focus\:from-yellow-100:focus{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.sm\:focus\:from-yellow-200:focus{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.sm\:focus\:from-yellow-300:focus{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.sm\:focus\:from-yellow-400:focus{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.sm\:focus\:from-yellow-500:focus{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.sm\:focus\:from-yellow-600:focus{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.sm\:focus\:from-yellow-700:focus{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.sm\:focus\:from-yellow-800:focus{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.sm\:focus\:from-yellow-900:focus{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.sm\:focus\:from-green-50:focus{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.sm\:focus\:from-green-100:focus{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.sm\:focus\:from-green-200:focus{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.sm\:focus\:from-green-300:focus{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.sm\:focus\:from-green-400:focus{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.sm\:focus\:from-green-500:focus{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.sm\:focus\:from-green-600:focus{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.sm\:focus\:from-green-700:focus{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.sm\:focus\:from-green-800:focus{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.sm\:focus\:from-green-900:focus{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.sm\:focus\:from-blue-50:focus{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.sm\:focus\:from-blue-100:focus{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.sm\:focus\:from-blue-200:focus{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.sm\:focus\:from-blue-300:focus{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.sm\:focus\:from-blue-400:focus{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.sm\:focus\:from-blue-500:focus{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.sm\:focus\:from-blue-600:focus{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.sm\:focus\:from-blue-700:focus{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.sm\:focus\:from-blue-800:focus{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.sm\:focus\:from-blue-900:focus{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.sm\:focus\:from-indigo-50:focus{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.sm\:focus\:from-indigo-100:focus{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.sm\:focus\:from-indigo-200:focus{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.sm\:focus\:from-indigo-300:focus{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.sm\:focus\:from-indigo-400:focus{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.sm\:focus\:from-indigo-500:focus{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.sm\:focus\:from-indigo-600:focus{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.sm\:focus\:from-indigo-700:focus{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.sm\:focus\:from-indigo-800:focus{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.sm\:focus\:from-indigo-900:focus{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.sm\:focus\:from-purple-50:focus{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.sm\:focus\:from-purple-100:focus{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.sm\:focus\:from-purple-200:focus{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.sm\:focus\:from-purple-300:focus{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.sm\:focus\:from-purple-400:focus{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.sm\:focus\:from-purple-500:focus{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.sm\:focus\:from-purple-600:focus{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.sm\:focus\:from-purple-700:focus{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.sm\:focus\:from-purple-800:focus{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.sm\:focus\:from-purple-900:focus{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.sm\:focus\:from-pink-50:focus{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.sm\:focus\:from-pink-100:focus{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.sm\:focus\:from-pink-200:focus{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.sm\:focus\:from-pink-300:focus{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.sm\:focus\:from-pink-400:focus{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.sm\:focus\:from-pink-500:focus{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.sm\:focus\:from-pink-600:focus{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.sm\:focus\:from-pink-700:focus{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.sm\:focus\:from-pink-800:focus{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.sm\:focus\:from-pink-900:focus{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.sm\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:via-current{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:via-black{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:via-gray-50{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.sm\:via-gray-100{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.sm\:via-gray-200{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.sm\:via-gray-300{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.sm\:via-gray-400{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.sm\:via-gray-500{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.sm\:via-gray-600{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.sm\:via-gray-700{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.sm\:via-gray-800{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.sm\:via-gray-900{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.sm\:via-red-50{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.sm\:via-red-100{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.sm\:via-red-200{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.sm\:via-red-300{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.sm\:via-red-400{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.sm\:via-red-500{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.sm\:via-red-600{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.sm\:via-red-700{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.sm\:via-red-800{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.sm\:via-red-900{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.sm\:via-yellow-50{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.sm\:via-yellow-100{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.sm\:via-yellow-200{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.sm\:via-yellow-300{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.sm\:via-yellow-400{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.sm\:via-yellow-500{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.sm\:via-yellow-600{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.sm\:via-yellow-700{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.sm\:via-yellow-800{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.sm\:via-yellow-900{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.sm\:via-green-50{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.sm\:via-green-100{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.sm\:via-green-200{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.sm\:via-green-300{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.sm\:via-green-400{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.sm\:via-green-500{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.sm\:via-green-600{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.sm\:via-green-700{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.sm\:via-green-800{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.sm\:via-green-900{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.sm\:via-blue-50{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.sm\:via-blue-100{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.sm\:via-blue-200{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.sm\:via-blue-300{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.sm\:via-blue-400{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.sm\:via-blue-500{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.sm\:via-blue-600{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.sm\:via-blue-700{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.sm\:via-blue-800{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.sm\:via-blue-900{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.sm\:via-indigo-50{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.sm\:via-indigo-100{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.sm\:via-indigo-200{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.sm\:via-indigo-300{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.sm\:via-indigo-400{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.sm\:via-indigo-500{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.sm\:via-indigo-600{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.sm\:via-indigo-700{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.sm\:via-indigo-800{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.sm\:via-indigo-900{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.sm\:via-purple-50{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.sm\:via-purple-100{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.sm\:via-purple-200{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.sm\:via-purple-300{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.sm\:via-purple-400{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.sm\:via-purple-500{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.sm\:via-purple-600{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.sm\:via-purple-700{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.sm\:via-purple-800{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.sm\:via-purple-900{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.sm\:via-pink-50{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.sm\:via-pink-100{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.sm\:via-pink-200{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.sm\:via-pink-300{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.sm\:via-pink-400{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.sm\:via-pink-500{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.sm\:via-pink-600{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.sm\:via-pink-700{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.sm\:via-pink-800{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.sm\:via-pink-900{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.sm\:hover\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:hover\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:hover\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:hover\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:hover\:via-gray-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.sm\:hover\:via-gray-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.sm\:hover\:via-gray-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.sm\:hover\:via-gray-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.sm\:hover\:via-gray-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.sm\:hover\:via-gray-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.sm\:hover\:via-gray-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.sm\:hover\:via-gray-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.sm\:hover\:via-gray-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.sm\:hover\:via-gray-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.sm\:hover\:via-red-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.sm\:hover\:via-red-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.sm\:hover\:via-red-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.sm\:hover\:via-red-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.sm\:hover\:via-red-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.sm\:hover\:via-red-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.sm\:hover\:via-red-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.sm\:hover\:via-red-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.sm\:hover\:via-red-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.sm\:hover\:via-red-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.sm\:hover\:via-yellow-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.sm\:hover\:via-yellow-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.sm\:hover\:via-yellow-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.sm\:hover\:via-yellow-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.sm\:hover\:via-yellow-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.sm\:hover\:via-yellow-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.sm\:hover\:via-yellow-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.sm\:hover\:via-yellow-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.sm\:hover\:via-yellow-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.sm\:hover\:via-yellow-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.sm\:hover\:via-green-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.sm\:hover\:via-green-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.sm\:hover\:via-green-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.sm\:hover\:via-green-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.sm\:hover\:via-green-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.sm\:hover\:via-green-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.sm\:hover\:via-green-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.sm\:hover\:via-green-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.sm\:hover\:via-green-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.sm\:hover\:via-green-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.sm\:hover\:via-blue-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.sm\:hover\:via-blue-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.sm\:hover\:via-blue-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.sm\:hover\:via-blue-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.sm\:hover\:via-blue-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.sm\:hover\:via-blue-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.sm\:hover\:via-blue-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.sm\:hover\:via-blue-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.sm\:hover\:via-blue-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.sm\:hover\:via-blue-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.sm\:hover\:via-indigo-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.sm\:hover\:via-indigo-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.sm\:hover\:via-indigo-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.sm\:hover\:via-indigo-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.sm\:hover\:via-indigo-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.sm\:hover\:via-indigo-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.sm\:hover\:via-indigo-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.sm\:hover\:via-indigo-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.sm\:hover\:via-indigo-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.sm\:hover\:via-indigo-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.sm\:hover\:via-purple-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.sm\:hover\:via-purple-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.sm\:hover\:via-purple-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.sm\:hover\:via-purple-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.sm\:hover\:via-purple-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.sm\:hover\:via-purple-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.sm\:hover\:via-purple-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.sm\:hover\:via-purple-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.sm\:hover\:via-purple-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.sm\:hover\:via-purple-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.sm\:hover\:via-pink-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.sm\:hover\:via-pink-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.sm\:hover\:via-pink-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.sm\:hover\:via-pink-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.sm\:hover\:via-pink-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.sm\:hover\:via-pink-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.sm\:hover\:via-pink-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.sm\:hover\:via-pink-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.sm\:hover\:via-pink-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.sm\:hover\:via-pink-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.sm\:focus\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:focus\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:focus\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.sm\:focus\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.sm\:focus\:via-gray-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.sm\:focus\:via-gray-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.sm\:focus\:via-gray-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.sm\:focus\:via-gray-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.sm\:focus\:via-gray-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.sm\:focus\:via-gray-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.sm\:focus\:via-gray-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.sm\:focus\:via-gray-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.sm\:focus\:via-gray-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.sm\:focus\:via-gray-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.sm\:focus\:via-red-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.sm\:focus\:via-red-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.sm\:focus\:via-red-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.sm\:focus\:via-red-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.sm\:focus\:via-red-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.sm\:focus\:via-red-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.sm\:focus\:via-red-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.sm\:focus\:via-red-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.sm\:focus\:via-red-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.sm\:focus\:via-red-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.sm\:focus\:via-yellow-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.sm\:focus\:via-yellow-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.sm\:focus\:via-yellow-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.sm\:focus\:via-yellow-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.sm\:focus\:via-yellow-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.sm\:focus\:via-yellow-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.sm\:focus\:via-yellow-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.sm\:focus\:via-yellow-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.sm\:focus\:via-yellow-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.sm\:focus\:via-yellow-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.sm\:focus\:via-green-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.sm\:focus\:via-green-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.sm\:focus\:via-green-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.sm\:focus\:via-green-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.sm\:focus\:via-green-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.sm\:focus\:via-green-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.sm\:focus\:via-green-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.sm\:focus\:via-green-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.sm\:focus\:via-green-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.sm\:focus\:via-green-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.sm\:focus\:via-blue-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.sm\:focus\:via-blue-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.sm\:focus\:via-blue-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.sm\:focus\:via-blue-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.sm\:focus\:via-blue-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.sm\:focus\:via-blue-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.sm\:focus\:via-blue-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.sm\:focus\:via-blue-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.sm\:focus\:via-blue-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.sm\:focus\:via-blue-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.sm\:focus\:via-indigo-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.sm\:focus\:via-indigo-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.sm\:focus\:via-indigo-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.sm\:focus\:via-indigo-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.sm\:focus\:via-indigo-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.sm\:focus\:via-indigo-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.sm\:focus\:via-indigo-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.sm\:focus\:via-indigo-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.sm\:focus\:via-indigo-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.sm\:focus\:via-indigo-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.sm\:focus\:via-purple-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.sm\:focus\:via-purple-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.sm\:focus\:via-purple-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.sm\:focus\:via-purple-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.sm\:focus\:via-purple-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.sm\:focus\:via-purple-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.sm\:focus\:via-purple-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.sm\:focus\:via-purple-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.sm\:focus\:via-purple-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.sm\:focus\:via-purple-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.sm\:focus\:via-pink-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.sm\:focus\:via-pink-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.sm\:focus\:via-pink-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.sm\:focus\:via-pink-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.sm\:focus\:via-pink-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.sm\:focus\:via-pink-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.sm\:focus\:via-pink-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.sm\:focus\:via-pink-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.sm\:focus\:via-pink-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.sm\:focus\:via-pink-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.sm\:to-transparent{--tw-gradient-to:transparent}.sm\:to-current{--tw-gradient-to:currentColor}.sm\:to-black{--tw-gradient-to:#000}.sm\:to-white{--tw-gradient-to:#fff}.sm\:to-gray-50{--tw-gradient-to:#f9fafb}.sm\:to-gray-100{--tw-gradient-to:#f3f4f6}.sm\:to-gray-200{--tw-gradient-to:#e5e7eb}.sm\:to-gray-300{--tw-gradient-to:#d1d5db}.sm\:to-gray-400{--tw-gradient-to:#9ca3af}.sm\:to-gray-500{--tw-gradient-to:#6b7280}.sm\:to-gray-600{--tw-gradient-to:#4b5563}.sm\:to-gray-700{--tw-gradient-to:#374151}.sm\:to-gray-800{--tw-gradient-to:#1f2937}.sm\:to-gray-900{--tw-gradient-to:#111827}.sm\:to-red-50{--tw-gradient-to:#fef2f2}.sm\:to-red-100{--tw-gradient-to:#fee2e2}.sm\:to-red-200{--tw-gradient-to:#fecaca}.sm\:to-red-300{--tw-gradient-to:#fca5a5}.sm\:to-red-400{--tw-gradient-to:#f87171}.sm\:to-red-500{--tw-gradient-to:#ef4444}.sm\:to-red-600{--tw-gradient-to:#dc2626}.sm\:to-red-700{--tw-gradient-to:#b91c1c}.sm\:to-red-800{--tw-gradient-to:#991b1b}.sm\:to-red-900{--tw-gradient-to:#7f1d1d}.sm\:to-yellow-50{--tw-gradient-to:#fffbeb}.sm\:to-yellow-100{--tw-gradient-to:#fef3c7}.sm\:to-yellow-200{--tw-gradient-to:#fde68a}.sm\:to-yellow-300{--tw-gradient-to:#fcd34d}.sm\:to-yellow-400{--tw-gradient-to:#fbbf24}.sm\:to-yellow-500{--tw-gradient-to:#f59e0b}.sm\:to-yellow-600{--tw-gradient-to:#d97706}.sm\:to-yellow-700{--tw-gradient-to:#b45309}.sm\:to-yellow-800{--tw-gradient-to:#92400e}.sm\:to-yellow-900{--tw-gradient-to:#78350f}.sm\:to-green-50{--tw-gradient-to:#ecfdf5}.sm\:to-green-100{--tw-gradient-to:#d1fae5}.sm\:to-green-200{--tw-gradient-to:#a7f3d0}.sm\:to-green-300{--tw-gradient-to:#6ee7b7}.sm\:to-green-400{--tw-gradient-to:#34d399}.sm\:to-green-500{--tw-gradient-to:#10b981}.sm\:to-green-600{--tw-gradient-to:#059669}.sm\:to-green-700{--tw-gradient-to:#047857}.sm\:to-green-800{--tw-gradient-to:#065f46}.sm\:to-green-900{--tw-gradient-to:#064e3b}.sm\:to-blue-50{--tw-gradient-to:#eff6ff}.sm\:to-blue-100{--tw-gradient-to:#dbeafe}.sm\:to-blue-200{--tw-gradient-to:#bfdbfe}.sm\:to-blue-300{--tw-gradient-to:#93c5fd}.sm\:to-blue-400{--tw-gradient-to:#60a5fa}.sm\:to-blue-500{--tw-gradient-to:#3b82f6}.sm\:to-blue-600{--tw-gradient-to:#2563eb}.sm\:to-blue-700{--tw-gradient-to:#1d4ed8}.sm\:to-blue-800{--tw-gradient-to:#1e40af}.sm\:to-blue-900{--tw-gradient-to:#1e3a8a}.sm\:to-indigo-50{--tw-gradient-to:#eef2ff}.sm\:to-indigo-100{--tw-gradient-to:#e0e7ff}.sm\:to-indigo-200{--tw-gradient-to:#c7d2fe}.sm\:to-indigo-300{--tw-gradient-to:#a5b4fc}.sm\:to-indigo-400{--tw-gradient-to:#818cf8}.sm\:to-indigo-500{--tw-gradient-to:#6366f1}.sm\:to-indigo-600{--tw-gradient-to:#4f46e5}.sm\:to-indigo-700{--tw-gradient-to:#4338ca}.sm\:to-indigo-800{--tw-gradient-to:#3730a3}.sm\:to-indigo-900{--tw-gradient-to:#312e81}.sm\:to-purple-50{--tw-gradient-to:#f5f3ff}.sm\:to-purple-100{--tw-gradient-to:#ede9fe}.sm\:to-purple-200{--tw-gradient-to:#ddd6fe}.sm\:to-purple-300{--tw-gradient-to:#c4b5fd}.sm\:to-purple-400{--tw-gradient-to:#a78bfa}.sm\:to-purple-500{--tw-gradient-to:#8b5cf6}.sm\:to-purple-600{--tw-gradient-to:#7c3aed}.sm\:to-purple-700{--tw-gradient-to:#6d28d9}.sm\:to-purple-800{--tw-gradient-to:#5b21b6}.sm\:to-purple-900{--tw-gradient-to:#4c1d95}.sm\:to-pink-50{--tw-gradient-to:#fdf2f8}.sm\:to-pink-100{--tw-gradient-to:#fce7f3}.sm\:to-pink-200{--tw-gradient-to:#fbcfe8}.sm\:to-pink-300{--tw-gradient-to:#f9a8d4}.sm\:to-pink-400{--tw-gradient-to:#f472b6}.sm\:to-pink-500{--tw-gradient-to:#ec4899}.sm\:to-pink-600{--tw-gradient-to:#db2777}.sm\:to-pink-700{--tw-gradient-to:#be185d}.sm\:to-pink-800{--tw-gradient-to:#9d174d}.sm\:to-pink-900{--tw-gradient-to:#831843}.sm\:hover\:to-transparent:hover{--tw-gradient-to:transparent}.sm\:hover\:to-current:hover{--tw-gradient-to:currentColor}.sm\:hover\:to-black:hover{--tw-gradient-to:#000}.sm\:hover\:to-white:hover{--tw-gradient-to:#fff}.sm\:hover\:to-gray-50:hover{--tw-gradient-to:#f9fafb}.sm\:hover\:to-gray-100:hover{--tw-gradient-to:#f3f4f6}.sm\:hover\:to-gray-200:hover{--tw-gradient-to:#e5e7eb}.sm\:hover\:to-gray-300:hover{--tw-gradient-to:#d1d5db}.sm\:hover\:to-gray-400:hover{--tw-gradient-to:#9ca3af}.sm\:hover\:to-gray-500:hover{--tw-gradient-to:#6b7280}.sm\:hover\:to-gray-600:hover{--tw-gradient-to:#4b5563}.sm\:hover\:to-gray-700:hover{--tw-gradient-to:#374151}.sm\:hover\:to-gray-800:hover{--tw-gradient-to:#1f2937}.sm\:hover\:to-gray-900:hover{--tw-gradient-to:#111827}.sm\:hover\:to-red-50:hover{--tw-gradient-to:#fef2f2}.sm\:hover\:to-red-100:hover{--tw-gradient-to:#fee2e2}.sm\:hover\:to-red-200:hover{--tw-gradient-to:#fecaca}.sm\:hover\:to-red-300:hover{--tw-gradient-to:#fca5a5}.sm\:hover\:to-red-400:hover{--tw-gradient-to:#f87171}.sm\:hover\:to-red-500:hover{--tw-gradient-to:#ef4444}.sm\:hover\:to-red-600:hover{--tw-gradient-to:#dc2626}.sm\:hover\:to-red-700:hover{--tw-gradient-to:#b91c1c}.sm\:hover\:to-red-800:hover{--tw-gradient-to:#991b1b}.sm\:hover\:to-red-900:hover{--tw-gradient-to:#7f1d1d}.sm\:hover\:to-yellow-50:hover{--tw-gradient-to:#fffbeb}.sm\:hover\:to-yellow-100:hover{--tw-gradient-to:#fef3c7}.sm\:hover\:to-yellow-200:hover{--tw-gradient-to:#fde68a}.sm\:hover\:to-yellow-300:hover{--tw-gradient-to:#fcd34d}.sm\:hover\:to-yellow-400:hover{--tw-gradient-to:#fbbf24}.sm\:hover\:to-yellow-500:hover{--tw-gradient-to:#f59e0b}.sm\:hover\:to-yellow-600:hover{--tw-gradient-to:#d97706}.sm\:hover\:to-yellow-700:hover{--tw-gradient-to:#b45309}.sm\:hover\:to-yellow-800:hover{--tw-gradient-to:#92400e}.sm\:hover\:to-yellow-900:hover{--tw-gradient-to:#78350f}.sm\:hover\:to-green-50:hover{--tw-gradient-to:#ecfdf5}.sm\:hover\:to-green-100:hover{--tw-gradient-to:#d1fae5}.sm\:hover\:to-green-200:hover{--tw-gradient-to:#a7f3d0}.sm\:hover\:to-green-300:hover{--tw-gradient-to:#6ee7b7}.sm\:hover\:to-green-400:hover{--tw-gradient-to:#34d399}.sm\:hover\:to-green-500:hover{--tw-gradient-to:#10b981}.sm\:hover\:to-green-600:hover{--tw-gradient-to:#059669}.sm\:hover\:to-green-700:hover{--tw-gradient-to:#047857}.sm\:hover\:to-green-800:hover{--tw-gradient-to:#065f46}.sm\:hover\:to-green-900:hover{--tw-gradient-to:#064e3b}.sm\:hover\:to-blue-50:hover{--tw-gradient-to:#eff6ff}.sm\:hover\:to-blue-100:hover{--tw-gradient-to:#dbeafe}.sm\:hover\:to-blue-200:hover{--tw-gradient-to:#bfdbfe}.sm\:hover\:to-blue-300:hover{--tw-gradient-to:#93c5fd}.sm\:hover\:to-blue-400:hover{--tw-gradient-to:#60a5fa}.sm\:hover\:to-blue-500:hover{--tw-gradient-to:#3b82f6}.sm\:hover\:to-blue-600:hover{--tw-gradient-to:#2563eb}.sm\:hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8}.sm\:hover\:to-blue-800:hover{--tw-gradient-to:#1e40af}.sm\:hover\:to-blue-900:hover{--tw-gradient-to:#1e3a8a}.sm\:hover\:to-indigo-50:hover{--tw-gradient-to:#eef2ff}.sm\:hover\:to-indigo-100:hover{--tw-gradient-to:#e0e7ff}.sm\:hover\:to-indigo-200:hover{--tw-gradient-to:#c7d2fe}.sm\:hover\:to-indigo-300:hover{--tw-gradient-to:#a5b4fc}.sm\:hover\:to-indigo-400:hover{--tw-gradient-to:#818cf8}.sm\:hover\:to-indigo-500:hover{--tw-gradient-to:#6366f1}.sm\:hover\:to-indigo-600:hover{--tw-gradient-to:#4f46e5}.sm\:hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca}.sm\:hover\:to-indigo-800:hover{--tw-gradient-to:#3730a3}.sm\:hover\:to-indigo-900:hover{--tw-gradient-to:#312e81}.sm\:hover\:to-purple-50:hover{--tw-gradient-to:#f5f3ff}.sm\:hover\:to-purple-100:hover{--tw-gradient-to:#ede9fe}.sm\:hover\:to-purple-200:hover{--tw-gradient-to:#ddd6fe}.sm\:hover\:to-purple-300:hover{--tw-gradient-to:#c4b5fd}.sm\:hover\:to-purple-400:hover{--tw-gradient-to:#a78bfa}.sm\:hover\:to-purple-500:hover{--tw-gradient-to:#8b5cf6}.sm\:hover\:to-purple-600:hover{--tw-gradient-to:#7c3aed}.sm\:hover\:to-purple-700:hover{--tw-gradient-to:#6d28d9}.sm\:hover\:to-purple-800:hover{--tw-gradient-to:#5b21b6}.sm\:hover\:to-purple-900:hover{--tw-gradient-to:#4c1d95}.sm\:hover\:to-pink-50:hover{--tw-gradient-to:#fdf2f8}.sm\:hover\:to-pink-100:hover{--tw-gradient-to:#fce7f3}.sm\:hover\:to-pink-200:hover{--tw-gradient-to:#fbcfe8}.sm\:hover\:to-pink-300:hover{--tw-gradient-to:#f9a8d4}.sm\:hover\:to-pink-400:hover{--tw-gradient-to:#f472b6}.sm\:hover\:to-pink-500:hover{--tw-gradient-to:#ec4899}.sm\:hover\:to-pink-600:hover{--tw-gradient-to:#db2777}.sm\:hover\:to-pink-700:hover{--tw-gradient-to:#be185d}.sm\:hover\:to-pink-800:hover{--tw-gradient-to:#9d174d}.sm\:hover\:to-pink-900:hover{--tw-gradient-to:#831843}.sm\:focus\:to-transparent:focus{--tw-gradient-to:transparent}.sm\:focus\:to-current:focus{--tw-gradient-to:currentColor}.sm\:focus\:to-black:focus{--tw-gradient-to:#000}.sm\:focus\:to-white:focus{--tw-gradient-to:#fff}.sm\:focus\:to-gray-50:focus{--tw-gradient-to:#f9fafb}.sm\:focus\:to-gray-100:focus{--tw-gradient-to:#f3f4f6}.sm\:focus\:to-gray-200:focus{--tw-gradient-to:#e5e7eb}.sm\:focus\:to-gray-300:focus{--tw-gradient-to:#d1d5db}.sm\:focus\:to-gray-400:focus{--tw-gradient-to:#9ca3af}.sm\:focus\:to-gray-500:focus{--tw-gradient-to:#6b7280}.sm\:focus\:to-gray-600:focus{--tw-gradient-to:#4b5563}.sm\:focus\:to-gray-700:focus{--tw-gradient-to:#374151}.sm\:focus\:to-gray-800:focus{--tw-gradient-to:#1f2937}.sm\:focus\:to-gray-900:focus{--tw-gradient-to:#111827}.sm\:focus\:to-red-50:focus{--tw-gradient-to:#fef2f2}.sm\:focus\:to-red-100:focus{--tw-gradient-to:#fee2e2}.sm\:focus\:to-red-200:focus{--tw-gradient-to:#fecaca}.sm\:focus\:to-red-300:focus{--tw-gradient-to:#fca5a5}.sm\:focus\:to-red-400:focus{--tw-gradient-to:#f87171}.sm\:focus\:to-red-500:focus{--tw-gradient-to:#ef4444}.sm\:focus\:to-red-600:focus{--tw-gradient-to:#dc2626}.sm\:focus\:to-red-700:focus{--tw-gradient-to:#b91c1c}.sm\:focus\:to-red-800:focus{--tw-gradient-to:#991b1b}.sm\:focus\:to-red-900:focus{--tw-gradient-to:#7f1d1d}.sm\:focus\:to-yellow-50:focus{--tw-gradient-to:#fffbeb}.sm\:focus\:to-yellow-100:focus{--tw-gradient-to:#fef3c7}.sm\:focus\:to-yellow-200:focus{--tw-gradient-to:#fde68a}.sm\:focus\:to-yellow-300:focus{--tw-gradient-to:#fcd34d}.sm\:focus\:to-yellow-400:focus{--tw-gradient-to:#fbbf24}.sm\:focus\:to-yellow-500:focus{--tw-gradient-to:#f59e0b}.sm\:focus\:to-yellow-600:focus{--tw-gradient-to:#d97706}.sm\:focus\:to-yellow-700:focus{--tw-gradient-to:#b45309}.sm\:focus\:to-yellow-800:focus{--tw-gradient-to:#92400e}.sm\:focus\:to-yellow-900:focus{--tw-gradient-to:#78350f}.sm\:focus\:to-green-50:focus{--tw-gradient-to:#ecfdf5}.sm\:focus\:to-green-100:focus{--tw-gradient-to:#d1fae5}.sm\:focus\:to-green-200:focus{--tw-gradient-to:#a7f3d0}.sm\:focus\:to-green-300:focus{--tw-gradient-to:#6ee7b7}.sm\:focus\:to-green-400:focus{--tw-gradient-to:#34d399}.sm\:focus\:to-green-500:focus{--tw-gradient-to:#10b981}.sm\:focus\:to-green-600:focus{--tw-gradient-to:#059669}.sm\:focus\:to-green-700:focus{--tw-gradient-to:#047857}.sm\:focus\:to-green-800:focus{--tw-gradient-to:#065f46}.sm\:focus\:to-green-900:focus{--tw-gradient-to:#064e3b}.sm\:focus\:to-blue-50:focus{--tw-gradient-to:#eff6ff}.sm\:focus\:to-blue-100:focus{--tw-gradient-to:#dbeafe}.sm\:focus\:to-blue-200:focus{--tw-gradient-to:#bfdbfe}.sm\:focus\:to-blue-300:focus{--tw-gradient-to:#93c5fd}.sm\:focus\:to-blue-400:focus{--tw-gradient-to:#60a5fa}.sm\:focus\:to-blue-500:focus{--tw-gradient-to:#3b82f6}.sm\:focus\:to-blue-600:focus{--tw-gradient-to:#2563eb}.sm\:focus\:to-blue-700:focus{--tw-gradient-to:#1d4ed8}.sm\:focus\:to-blue-800:focus{--tw-gradient-to:#1e40af}.sm\:focus\:to-blue-900:focus{--tw-gradient-to:#1e3a8a}.sm\:focus\:to-indigo-50:focus{--tw-gradient-to:#eef2ff}.sm\:focus\:to-indigo-100:focus{--tw-gradient-to:#e0e7ff}.sm\:focus\:to-indigo-200:focus{--tw-gradient-to:#c7d2fe}.sm\:focus\:to-indigo-300:focus{--tw-gradient-to:#a5b4fc}.sm\:focus\:to-indigo-400:focus{--tw-gradient-to:#818cf8}.sm\:focus\:to-indigo-500:focus{--tw-gradient-to:#6366f1}.sm\:focus\:to-indigo-600:focus{--tw-gradient-to:#4f46e5}.sm\:focus\:to-indigo-700:focus{--tw-gradient-to:#4338ca}.sm\:focus\:to-indigo-800:focus{--tw-gradient-to:#3730a3}.sm\:focus\:to-indigo-900:focus{--tw-gradient-to:#312e81}.sm\:focus\:to-purple-50:focus{--tw-gradient-to:#f5f3ff}.sm\:focus\:to-purple-100:focus{--tw-gradient-to:#ede9fe}.sm\:focus\:to-purple-200:focus{--tw-gradient-to:#ddd6fe}.sm\:focus\:to-purple-300:focus{--tw-gradient-to:#c4b5fd}.sm\:focus\:to-purple-400:focus{--tw-gradient-to:#a78bfa}.sm\:focus\:to-purple-500:focus{--tw-gradient-to:#8b5cf6}.sm\:focus\:to-purple-600:focus{--tw-gradient-to:#7c3aed}.sm\:focus\:to-purple-700:focus{--tw-gradient-to:#6d28d9}.sm\:focus\:to-purple-800:focus{--tw-gradient-to:#5b21b6}.sm\:focus\:to-purple-900:focus{--tw-gradient-to:#4c1d95}.sm\:focus\:to-pink-50:focus{--tw-gradient-to:#fdf2f8}.sm\:focus\:to-pink-100:focus{--tw-gradient-to:#fce7f3}.sm\:focus\:to-pink-200:focus{--tw-gradient-to:#fbcfe8}.sm\:focus\:to-pink-300:focus{--tw-gradient-to:#f9a8d4}.sm\:focus\:to-pink-400:focus{--tw-gradient-to:#f472b6}.sm\:focus\:to-pink-500:focus{--tw-gradient-to:#ec4899}.sm\:focus\:to-pink-600:focus{--tw-gradient-to:#db2777}.sm\:focus\:to-pink-700:focus{--tw-gradient-to:#be185d}.sm\:focus\:to-pink-800:focus{--tw-gradient-to:#9d174d}.sm\:focus\:to-pink-900:focus{--tw-gradient-to:#831843}.sm\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.sm\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.sm\:bg-auto{background-size:auto}.sm\:bg-cover{background-size:cover}.sm\:bg-contain{background-size:contain}.sm\:bg-fixed{background-attachment:fixed}.sm\:bg-local{background-attachment:local}.sm\:bg-scroll{background-attachment:scroll}.sm\:bg-clip-border{background-clip:border-box}.sm\:bg-clip-padding{background-clip:padding-box}.sm\:bg-clip-content{background-clip:content-box}.sm\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.sm\:bg-bottom{background-position:bottom}.sm\:bg-center{background-position:center}.sm\:bg-left{background-position:left}.sm\:bg-left-bottom{background-position:left bottom}.sm\:bg-left-top{background-position:left top}.sm\:bg-right{background-position:right}.sm\:bg-right-bottom{background-position:right bottom}.sm\:bg-right-top{background-position:right top}.sm\:bg-top{background-position:top}.sm\:bg-repeat{background-repeat:repeat}.sm\:bg-no-repeat{background-repeat:no-repeat}.sm\:bg-repeat-x{background-repeat:repeat-x}.sm\:bg-repeat-y{background-repeat:repeat-y}.sm\:bg-repeat-round{background-repeat:round}.sm\:bg-repeat-space{background-repeat:space}.sm\:bg-origin-border{background-origin:border-box}.sm\:bg-origin-padding{background-origin:padding-box}.sm\:bg-origin-content{background-origin:content-box}.sm\:fill-current{fill:currentColor}.sm\:stroke-current{stroke:currentColor}.sm\:stroke-0{stroke-width:0}.sm\:stroke-1{stroke-width:1}.sm\:stroke-2{stroke-width:2}.sm\:object-contain{object-fit:contain}.sm\:object-cover{object-fit:cover}.sm\:object-fill{object-fit:fill}.sm\:object-none{object-fit:none}.sm\:object-scale-down{object-fit:scale-down}.sm\:object-bottom{object-position:bottom}.sm\:object-center{object-position:center}.sm\:object-left{object-position:left}.sm\:object-left-bottom{object-position:left bottom}.sm\:object-left-top{object-position:left top}.sm\:object-right{object-position:right}.sm\:object-right-bottom{object-position:right bottom}.sm\:object-right-top{object-position:right top}.sm\:object-top{object-position:top}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:p-9{padding:2.25rem}.sm\:p-10{padding:2.5rem}.sm\:p-11{padding:2.75rem}.sm\:p-12{padding:3rem}.sm\:p-14{padding:3.5rem}.sm\:p-16{padding:4rem}.sm\:p-20{padding:5rem}.sm\:p-24{padding:6rem}.sm\:p-28{padding:7rem}.sm\:p-32{padding:8rem}.sm\:p-36{padding:9rem}.sm\:p-40{padding:10rem}.sm\:p-44{padding:11rem}.sm\:p-48{padding:12rem}.sm\:p-52{padding:13rem}.sm\:p-56{padding:14rem}.sm\:p-60{padding:15rem}.sm\:p-64{padding:16rem}.sm\:p-72{padding:18rem}.sm\:p-80{padding:20rem}.sm\:p-96{padding:24rem}.sm\:p-px{padding:1px}.sm\:p-0\.5{padding:.125rem}.sm\:p-1\.5{padding:.375rem}.sm\:p-2\.5{padding:.625rem}.sm\:p-3\.5{padding:.875rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-1{padding-left:.25rem;padding-right:.25rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-7{padding-left:1.75rem;padding-right:1.75rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:px-9{padding-left:2.25rem;padding-right:2.25rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-11{padding-left:2.75rem;padding-right:2.75rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:px-20{padding-left:5rem;padding-right:5rem}.sm\:px-24{padding-left:6rem;padding-right:6rem}.sm\:px-28{padding-left:7rem;padding-right:7rem}.sm\:px-32{padding-left:8rem;padding-right:8rem}.sm\:px-36{padding-left:9rem;padding-right:9rem}.sm\:px-40{padding-left:10rem;padding-right:10rem}.sm\:px-44{padding-left:11rem;padding-right:11rem}.sm\:px-48{padding-left:12rem;padding-right:12rem}.sm\:px-52{padding-left:13rem;padding-right:13rem}.sm\:px-56{padding-left:14rem;padding-right:14rem}.sm\:px-60{padding-left:15rem;padding-right:15rem}.sm\:px-64{padding-left:16rem;padding-right:16rem}.sm\:px-72{padding-left:18rem;padding-right:18rem}.sm\:px-80{padding-left:20rem;padding-right:20rem}.sm\:px-96{padding-left:24rem;padding-right:24rem}.sm\:px-px{padding-left:1px;padding-right:1px}.sm\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.sm\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.sm\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.sm\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:py-28{padding-top:7rem;padding-bottom:7rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:py-36{padding-top:9rem;padding-bottom:9rem}.sm\:py-40{padding-top:10rem;padding-bottom:10rem}.sm\:py-44{padding-top:11rem;padding-bottom:11rem}.sm\:py-48{padding-top:12rem;padding-bottom:12rem}.sm\:py-52{padding-top:13rem;padding-bottom:13rem}.sm\:py-56{padding-top:14rem;padding-bottom:14rem}.sm\:py-60{padding-top:15rem;padding-bottom:15rem}.sm\:py-64{padding-top:16rem;padding-bottom:16rem}.sm\:py-72{padding-top:18rem;padding-bottom:18rem}.sm\:py-80{padding-top:20rem;padding-bottom:20rem}.sm\:py-96{padding-top:24rem;padding-bottom:24rem}.sm\:py-px{padding-top:1px;padding-bottom:1px}.sm\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.sm\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.sm\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.sm\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.sm\:pt-0{padding-top:0}.sm\:pt-1{padding-top:.25rem}.sm\:pt-2{padding-top:.5rem}.sm\:pt-3{padding-top:.75rem}.sm\:pt-4{padding-top:1rem}.sm\:pt-5{padding-top:1.25rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pt-7{padding-top:1.75rem}.sm\:pt-8{padding-top:2rem}.sm\:pt-9{padding-top:2.25rem}.sm\:pt-10{padding-top:2.5rem}.sm\:pt-11{padding-top:2.75rem}.sm\:pt-12{padding-top:3rem}.sm\:pt-14{padding-top:3.5rem}.sm\:pt-16{padding-top:4rem}.sm\:pt-20{padding-top:5rem}.sm\:pt-24{padding-top:6rem}.sm\:pt-28{padding-top:7rem}.sm\:pt-32{padding-top:8rem}.sm\:pt-36{padding-top:9rem}.sm\:pt-40{padding-top:10rem}.sm\:pt-44{padding-top:11rem}.sm\:pt-48{padding-top:12rem}.sm\:pt-52{padding-top:13rem}.sm\:pt-56{padding-top:14rem}.sm\:pt-60{padding-top:15rem}.sm\:pt-64{padding-top:16rem}.sm\:pt-72{padding-top:18rem}.sm\:pt-80{padding-top:20rem}.sm\:pt-96{padding-top:24rem}.sm\:pt-px{padding-top:1px}.sm\:pt-0\.5{padding-top:.125rem}.sm\:pt-1\.5{padding-top:.375rem}.sm\:pt-2\.5{padding-top:.625rem}.sm\:pt-3\.5{padding-top:.875rem}.sm\:pr-0{padding-right:0}.sm\:pr-1{padding-right:.25rem}.sm\:pr-2{padding-right:.5rem}.sm\:pr-3{padding-right:.75rem}.sm\:pr-4{padding-right:1rem}.sm\:pr-5{padding-right:1.25rem}.sm\:pr-6{padding-right:1.5rem}.sm\:pr-7{padding-right:1.75rem}.sm\:pr-8{padding-right:2rem}.sm\:pr-9{padding-right:2.25rem}.sm\:pr-10{padding-right:2.5rem}.sm\:pr-11{padding-right:2.75rem}.sm\:pr-12{padding-right:3rem}.sm\:pr-14{padding-right:3.5rem}.sm\:pr-16{padding-right:4rem}.sm\:pr-20{padding-right:5rem}.sm\:pr-24{padding-right:6rem}.sm\:pr-28{padding-right:7rem}.sm\:pr-32{padding-right:8rem}.sm\:pr-36{padding-right:9rem}.sm\:pr-40{padding-right:10rem}.sm\:pr-44{padding-right:11rem}.sm\:pr-48{padding-right:12rem}.sm\:pr-52{padding-right:13rem}.sm\:pr-56{padding-right:14rem}.sm\:pr-60{padding-right:15rem}.sm\:pr-64{padding-right:16rem}.sm\:pr-72{padding-right:18rem}.sm\:pr-80{padding-right:20rem}.sm\:pr-96{padding-right:24rem}.sm\:pr-px{padding-right:1px}.sm\:pr-0\.5{padding-right:.125rem}.sm\:pr-1\.5{padding-right:.375rem}.sm\:pr-2\.5{padding-right:.625rem}.sm\:pr-3\.5{padding-right:.875rem}.sm\:pb-0{padding-bottom:0}.sm\:pb-1{padding-bottom:.25rem}.sm\:pb-2{padding-bottom:.5rem}.sm\:pb-3{padding-bottom:.75rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pb-5{padding-bottom:1.25rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pb-7{padding-bottom:1.75rem}.sm\:pb-8{padding-bottom:2rem}.sm\:pb-9{padding-bottom:2.25rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:pb-11{padding-bottom:2.75rem}.sm\:pb-12{padding-bottom:3rem}.sm\:pb-14{padding-bottom:3.5rem}.sm\:pb-16{padding-bottom:4rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pb-24{padding-bottom:6rem}.sm\:pb-28{padding-bottom:7rem}.sm\:pb-32{padding-bottom:8rem}.sm\:pb-36{padding-bottom:9rem}.sm\:pb-40{padding-bottom:10rem}.sm\:pb-44{padding-bottom:11rem}.sm\:pb-48{padding-bottom:12rem}.sm\:pb-52{padding-bottom:13rem}.sm\:pb-56{padding-bottom:14rem}.sm\:pb-60{padding-bottom:15rem}.sm\:pb-64{padding-bottom:16rem}.sm\:pb-72{padding-bottom:18rem}.sm\:pb-80{padding-bottom:20rem}.sm\:pb-96{padding-bottom:24rem}.sm\:pb-px{padding-bottom:1px}.sm\:pb-0\.5{padding-bottom:.125rem}.sm\:pb-1\.5{padding-bottom:.375rem}.sm\:pb-2\.5{padding-bottom:.625rem}.sm\:pb-3\.5{padding-bottom:.875rem}.sm\:pl-0{padding-left:0}.sm\:pl-1{padding-left:.25rem}.sm\:pl-2{padding-left:.5rem}.sm\:pl-3{padding-left:.75rem}.sm\:pl-4{padding-left:1rem}.sm\:pl-5{padding-left:1.25rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pl-7{padding-left:1.75rem}.sm\:pl-8{padding-left:2rem}.sm\:pl-9{padding-left:2.25rem}.sm\:pl-10{padding-left:2.5rem}.sm\:pl-11{padding-left:2.75rem}.sm\:pl-12{padding-left:3rem}.sm\:pl-14{padding-left:3.5rem}.sm\:pl-16{padding-left:4rem}.sm\:pl-20{padding-left:5rem}.sm\:pl-24{padding-left:6rem}.sm\:pl-28{padding-left:7rem}.sm\:pl-32{padding-left:8rem}.sm\:pl-36{padding-left:9rem}.sm\:pl-40{padding-left:10rem}.sm\:pl-44{padding-left:11rem}.sm\:pl-48{padding-left:12rem}.sm\:pl-52{padding-left:13rem}.sm\:pl-56{padding-left:14rem}.sm\:pl-60{padding-left:15rem}.sm\:pl-64{padding-left:16rem}.sm\:pl-72{padding-left:18rem}.sm\:pl-80{padding-left:20rem}.sm\:pl-96{padding-left:24rem}.sm\:pl-px{padding-left:1px}.sm\:pl-0\.5{padding-left:.125rem}.sm\:pl-1\.5{padding-left:.375rem}.sm\:pl-2\.5{padding-left:.625rem}.sm\:pl-3\.5{padding-left:.875rem}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-right{text-align:right}.sm\:text-justify{text-align:justify}.sm\:align-baseline{vertical-align:baseline}.sm\:align-top{vertical-align:top}.sm\:align-middle{vertical-align:middle}.sm\:align-bottom{vertical-align:bottom}.sm\:align-text-top{vertical-align:text-top}.sm\:align-text-bottom{vertical-align:text-bottom}.sm\:font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.sm\:font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.sm\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-7xl{font-size:4.5rem;line-height:1}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:text-9xl{font-size:8rem;line-height:1}.sm\:font-thin{font-weight:100}.sm\:font-extralight{font-weight:200}.sm\:font-light{font-weight:300}.sm\:font-normal{font-weight:400}.sm\:font-medium{font-weight:500}.sm\:font-semibold{font-weight:600}.sm\:font-bold{font-weight:700}.sm\:font-extrabold{font-weight:800}.sm\:font-black{font-weight:900}.sm\:uppercase{text-transform:uppercase}.sm\:lowercase{text-transform:lowercase}.sm\:capitalize{text-transform:capitalize}.sm\:normal-case{text-transform:none}.sm\:italic{font-style:italic}.sm\:not-italic{font-style:normal}.sm\:diagonal-fractions,.sm\:lining-nums,.sm\:oldstyle-nums,.sm\:ordinal,.sm\:proportional-nums,.sm\:slashed-zero,.sm\:stacked-fractions,.sm\:tabular-nums{--tw-ordinal:var(--tw-empty, );/*!*//*!*/--tw-slashed-zero:var(--tw-empty, );/*!*//*!*/--tw-numeric-figure:var(--tw-empty, );/*!*//*!*/--tw-numeric-spacing:var(--tw-empty, );/*!*//*!*/--tw-numeric-fraction:var(--tw-empty, );/*!*//*!*/font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.sm\:normal-nums{font-variant-numeric:normal}.sm\:ordinal{--tw-ordinal:ordinal}.sm\:slashed-zero{--tw-slashed-zero:slashed-zero}.sm\:lining-nums{--tw-numeric-figure:lining-nums}.sm\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.sm\:proportional-nums{--tw-numeric-spacing:proportional-nums}.sm\:tabular-nums{--tw-numeric-spacing:tabular-nums}.sm\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.sm\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.sm\:leading-3{line-height:.75rem}.sm\:leading-4{line-height:1rem}.sm\:leading-5{line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:leading-7{line-height:1.75rem}.sm\:leading-8{line-height:2rem}.sm\:leading-9{line-height:2.25rem}.sm\:leading-10{line-height:2.5rem}.sm\:leading-none{line-height:1}.sm\:leading-tight{line-height:1.25}.sm\:leading-snug{line-height:1.375}.sm\:leading-normal{line-height:1.5}.sm\:leading-relaxed{line-height:1.625}.sm\:leading-loose{line-height:2}.sm\:tracking-tighter{letter-spacing:-.05em}.sm\:tracking-tight{letter-spacing:-.025em}.sm\:tracking-normal{letter-spacing:0}.sm\:tracking-wide{letter-spacing:.025em}.sm\:tracking-wider{letter-spacing:.05em}.sm\:tracking-widest{letter-spacing:.1em}.sm\:text-transparent{color:transparent}.sm\:text-current{color:currentColor}.sm\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.sm\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.sm\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.sm\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.sm\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.sm\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.sm\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.sm\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.sm\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.sm\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.sm\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.sm\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.sm\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.sm\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.sm\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.sm\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.sm\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.sm\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.sm\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.sm\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.sm\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.sm\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.sm\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.sm\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.sm\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.sm\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.sm\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.sm\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.sm\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.sm\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.sm\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.sm\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.sm\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.sm\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.sm\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.sm\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.sm\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.sm\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.sm\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.sm\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.sm\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.sm\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.sm\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.sm\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.sm\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.sm\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.sm\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.sm\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.sm\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.sm\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.sm\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.sm\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.sm\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.sm\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.sm\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.sm\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.sm\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.sm\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.sm\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.sm\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.sm\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.sm\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.sm\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.sm\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.sm\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.sm\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.sm\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.sm\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.sm\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.sm\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.sm\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.sm\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.sm\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.sm\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.sm\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.sm\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.sm\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.sm\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.sm\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.sm\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.sm\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.sm\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-transparent{color:transparent}.group:hover .sm\:group-hover\:text-current{color:currentColor}.group:hover .sm\:group-hover\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.group:hover .sm\:group-hover\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.sm\:focus-within\:text-transparent:focus-within{color:transparent}.sm\:focus-within\:text-current:focus-within{color:currentColor}.sm\:focus-within\:text-black:focus-within{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.sm\:focus-within\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-50:focus-within{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-100:focus-within{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-200:focus-within{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-300:focus-within{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-400:focus-within{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-500:focus-within{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-600:focus-within{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-700:focus-within{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-800:focus-within{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.sm\:focus-within\:text-gray-900:focus-within{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.sm\:focus-within\:text-red-50:focus-within{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.sm\:focus-within\:text-red-100:focus-within{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.sm\:focus-within\:text-red-200:focus-within{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.sm\:focus-within\:text-red-300:focus-within{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.sm\:focus-within\:text-red-400:focus-within{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.sm\:focus-within\:text-red-500:focus-within{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.sm\:focus-within\:text-red-600:focus-within{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.sm\:focus-within\:text-red-700:focus-within{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.sm\:focus-within\:text-red-800:focus-within{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.sm\:focus-within\:text-red-900:focus-within{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-50:focus-within{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-100:focus-within{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-200:focus-within{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-300:focus-within{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-400:focus-within{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-500:focus-within{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-600:focus-within{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-700:focus-within{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-800:focus-within{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.sm\:focus-within\:text-yellow-900:focus-within{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.sm\:focus-within\:text-green-50:focus-within{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.sm\:focus-within\:text-green-100:focus-within{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.sm\:focus-within\:text-green-200:focus-within{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.sm\:focus-within\:text-green-300:focus-within{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.sm\:focus-within\:text-green-400:focus-within{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.sm\:focus-within\:text-green-500:focus-within{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.sm\:focus-within\:text-green-600:focus-within{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.sm\:focus-within\:text-green-700:focus-within{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.sm\:focus-within\:text-green-800:focus-within{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.sm\:focus-within\:text-green-900:focus-within{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-50:focus-within{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-100:focus-within{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-200:focus-within{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-300:focus-within{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-400:focus-within{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-500:focus-within{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-600:focus-within{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-700:focus-within{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-800:focus-within{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.sm\:focus-within\:text-blue-900:focus-within{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-50:focus-within{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-100:focus-within{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-200:focus-within{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-300:focus-within{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-400:focus-within{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-500:focus-within{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-600:focus-within{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-700:focus-within{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-800:focus-within{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.sm\:focus-within\:text-indigo-900:focus-within{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-50:focus-within{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-100:focus-within{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-200:focus-within{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-300:focus-within{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-400:focus-within{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-500:focus-within{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-600:focus-within{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-700:focus-within{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-800:focus-within{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.sm\:focus-within\:text-purple-900:focus-within{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-50:focus-within{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-100:focus-within{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-200:focus-within{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-300:focus-within{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-400:focus-within{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-500:focus-within{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-600:focus-within{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-700:focus-within{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-800:focus-within{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.sm\:focus-within\:text-pink-900:focus-within{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.sm\:hover\:text-transparent:hover{color:transparent}.sm\:hover\:text-current:hover{color:currentColor}.sm\:hover\:text-black:hover{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.sm\:hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.sm\:hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.sm\:hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.sm\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.sm\:hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.sm\:hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.sm\:hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.sm\:hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.sm\:hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.sm\:hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.sm\:hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.sm\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.sm\:hover\:text-red-100:hover{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.sm\:hover\:text-red-200:hover{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.sm\:hover\:text-red-300:hover{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.sm\:hover\:text-red-400:hover{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.sm\:hover\:text-red-500:hover{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.sm\:hover\:text-red-600:hover{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.sm\:hover\:text-red-700:hover{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.sm\:hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.sm\:hover\:text-red-900:hover{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.sm\:hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.sm\:hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.sm\:hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.sm\:hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.sm\:hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.sm\:hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.sm\:hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.sm\:hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.sm\:hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.sm\:hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.sm\:hover\:text-green-50:hover{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.sm\:hover\:text-green-100:hover{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.sm\:hover\:text-green-200:hover{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.sm\:hover\:text-green-300:hover{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.sm\:hover\:text-green-400:hover{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.sm\:hover\:text-green-500:hover{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.sm\:hover\:text-green-600:hover{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.sm\:hover\:text-green-700:hover{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.sm\:hover\:text-green-800:hover{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.sm\:hover\:text-green-900:hover{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.sm\:hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.sm\:hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.sm\:hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.sm\:hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.sm\:hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.sm\:hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.sm\:hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.sm\:hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.sm\:hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.sm\:hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.sm\:hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.sm\:hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.sm\:hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.sm\:hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.sm\:hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.sm\:hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.sm\:hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.sm\:hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.sm\:hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.sm\:hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.sm\:hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.sm\:hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.sm\:hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.sm\:hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.sm\:hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.sm\:hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.sm\:hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.sm\:hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.sm\:hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.sm\:hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.sm\:hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.sm\:hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.sm\:hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.sm\:hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.sm\:hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.sm\:hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.sm\:hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.sm\:hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.sm\:hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.sm\:hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.sm\:focus\:text-transparent:focus{color:transparent}.sm\:focus\:text-current:focus{color:currentColor}.sm\:focus\:text-black:focus{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.sm\:focus\:text-white:focus{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.sm\:focus\:text-gray-50:focus{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.sm\:focus\:text-gray-100:focus{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.sm\:focus\:text-gray-200:focus{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.sm\:focus\:text-gray-300:focus{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.sm\:focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.sm\:focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.sm\:focus\:text-gray-600:focus{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.sm\:focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.sm\:focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.sm\:focus\:text-gray-900:focus{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.sm\:focus\:text-red-50:focus{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.sm\:focus\:text-red-100:focus{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.sm\:focus\:text-red-200:focus{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.sm\:focus\:text-red-300:focus{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.sm\:focus\:text-red-400:focus{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.sm\:focus\:text-red-500:focus{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.sm\:focus\:text-red-600:focus{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.sm\:focus\:text-red-700:focus{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.sm\:focus\:text-red-800:focus{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.sm\:focus\:text-red-900:focus{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.sm\:focus\:text-yellow-50:focus{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.sm\:focus\:text-yellow-100:focus{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.sm\:focus\:text-yellow-200:focus{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.sm\:focus\:text-yellow-300:focus{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.sm\:focus\:text-yellow-400:focus{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.sm\:focus\:text-yellow-500:focus{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.sm\:focus\:text-yellow-600:focus{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.sm\:focus\:text-yellow-700:focus{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.sm\:focus\:text-yellow-800:focus{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.sm\:focus\:text-yellow-900:focus{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.sm\:focus\:text-green-50:focus{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.sm\:focus\:text-green-100:focus{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.sm\:focus\:text-green-200:focus{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.sm\:focus\:text-green-300:focus{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.sm\:focus\:text-green-400:focus{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.sm\:focus\:text-green-500:focus{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.sm\:focus\:text-green-600:focus{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.sm\:focus\:text-green-700:focus{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.sm\:focus\:text-green-800:focus{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.sm\:focus\:text-green-900:focus{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.sm\:focus\:text-blue-50:focus{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.sm\:focus\:text-blue-100:focus{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.sm\:focus\:text-blue-200:focus{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.sm\:focus\:text-blue-300:focus{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.sm\:focus\:text-blue-400:focus{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.sm\:focus\:text-blue-500:focus{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.sm\:focus\:text-blue-600:focus{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.sm\:focus\:text-blue-700:focus{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.sm\:focus\:text-blue-800:focus{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.sm\:focus\:text-blue-900:focus{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.sm\:focus\:text-indigo-50:focus{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.sm\:focus\:text-indigo-100:focus{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.sm\:focus\:text-indigo-200:focus{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.sm\:focus\:text-indigo-300:focus{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.sm\:focus\:text-indigo-400:focus{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.sm\:focus\:text-indigo-500:focus{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.sm\:focus\:text-indigo-600:focus{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.sm\:focus\:text-indigo-700:focus{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.sm\:focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.sm\:focus\:text-indigo-900:focus{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.sm\:focus\:text-purple-50:focus{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.sm\:focus\:text-purple-100:focus{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.sm\:focus\:text-purple-200:focus{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.sm\:focus\:text-purple-300:focus{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.sm\:focus\:text-purple-400:focus{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.sm\:focus\:text-purple-500:focus{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.sm\:focus\:text-purple-600:focus{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.sm\:focus\:text-purple-700:focus{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.sm\:focus\:text-purple-800:focus{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.sm\:focus\:text-purple-900:focus{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.sm\:focus\:text-pink-50:focus{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.sm\:focus\:text-pink-100:focus{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.sm\:focus\:text-pink-200:focus{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.sm\:focus\:text-pink-300:focus{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.sm\:focus\:text-pink-400:focus{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.sm\:focus\:text-pink-500:focus{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.sm\:focus\:text-pink-600:focus{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.sm\:focus\:text-pink-700:focus{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.sm\:focus\:text-pink-800:focus{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.sm\:focus\:text-pink-900:focus{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.sm\:text-opacity-0{--tw-text-opacity:0}.sm\:text-opacity-5{--tw-text-opacity:0.05}.sm\:text-opacity-10{--tw-text-opacity:0.1}.sm\:text-opacity-20{--tw-text-opacity:0.2}.sm\:text-opacity-25{--tw-text-opacity:0.25}.sm\:text-opacity-30{--tw-text-opacity:0.3}.sm\:text-opacity-40{--tw-text-opacity:0.4}.sm\:text-opacity-50{--tw-text-opacity:0.5}.sm\:text-opacity-60{--tw-text-opacity:0.6}.sm\:text-opacity-70{--tw-text-opacity:0.7}.sm\:text-opacity-75{--tw-text-opacity:0.75}.sm\:text-opacity-80{--tw-text-opacity:0.8}.sm\:text-opacity-90{--tw-text-opacity:0.9}.sm\:text-opacity-95{--tw-text-opacity:0.95}.sm\:text-opacity-100{--tw-text-opacity:1}.group:hover .sm\:group-hover\:text-opacity-0{--tw-text-opacity:0}.group:hover .sm\:group-hover\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .sm\:group-hover\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .sm\:group-hover\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .sm\:group-hover\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .sm\:group-hover\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .sm\:group-hover\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .sm\:group-hover\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .sm\:group-hover\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .sm\:group-hover\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .sm\:group-hover\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .sm\:group-hover\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .sm\:group-hover\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .sm\:group-hover\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .sm\:group-hover\:text-opacity-100{--tw-text-opacity:1}.sm\:focus-within\:text-opacity-0:focus-within{--tw-text-opacity:0}.sm\:focus-within\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.sm\:focus-within\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.sm\:focus-within\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.sm\:focus-within\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.sm\:focus-within\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.sm\:focus-within\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.sm\:focus-within\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.sm\:focus-within\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.sm\:focus-within\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.sm\:focus-within\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.sm\:focus-within\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.sm\:focus-within\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.sm\:focus-within\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.sm\:focus-within\:text-opacity-100:focus-within{--tw-text-opacity:1}.sm\:hover\:text-opacity-0:hover{--tw-text-opacity:0}.sm\:hover\:text-opacity-5:hover{--tw-text-opacity:0.05}.sm\:hover\:text-opacity-10:hover{--tw-text-opacity:0.1}.sm\:hover\:text-opacity-20:hover{--tw-text-opacity:0.2}.sm\:hover\:text-opacity-25:hover{--tw-text-opacity:0.25}.sm\:hover\:text-opacity-30:hover{--tw-text-opacity:0.3}.sm\:hover\:text-opacity-40:hover{--tw-text-opacity:0.4}.sm\:hover\:text-opacity-50:hover{--tw-text-opacity:0.5}.sm\:hover\:text-opacity-60:hover{--tw-text-opacity:0.6}.sm\:hover\:text-opacity-70:hover{--tw-text-opacity:0.7}.sm\:hover\:text-opacity-75:hover{--tw-text-opacity:0.75}.sm\:hover\:text-opacity-80:hover{--tw-text-opacity:0.8}.sm\:hover\:text-opacity-90:hover{--tw-text-opacity:0.9}.sm\:hover\:text-opacity-95:hover{--tw-text-opacity:0.95}.sm\:hover\:text-opacity-100:hover{--tw-text-opacity:1}.sm\:focus\:text-opacity-0:focus{--tw-text-opacity:0}.sm\:focus\:text-opacity-5:focus{--tw-text-opacity:0.05}.sm\:focus\:text-opacity-10:focus{--tw-text-opacity:0.1}.sm\:focus\:text-opacity-20:focus{--tw-text-opacity:0.2}.sm\:focus\:text-opacity-25:focus{--tw-text-opacity:0.25}.sm\:focus\:text-opacity-30:focus{--tw-text-opacity:0.3}.sm\:focus\:text-opacity-40:focus{--tw-text-opacity:0.4}.sm\:focus\:text-opacity-50:focus{--tw-text-opacity:0.5}.sm\:focus\:text-opacity-60:focus{--tw-text-opacity:0.6}.sm\:focus\:text-opacity-70:focus{--tw-text-opacity:0.7}.sm\:focus\:text-opacity-75:focus{--tw-text-opacity:0.75}.sm\:focus\:text-opacity-80:focus{--tw-text-opacity:0.8}.sm\:focus\:text-opacity-90:focus{--tw-text-opacity:0.9}.sm\:focus\:text-opacity-95:focus{--tw-text-opacity:0.95}.sm\:focus\:text-opacity-100:focus{--tw-text-opacity:1}.sm\:underline{text-decoration:underline}.sm\:line-through{text-decoration:line-through}.sm\:no-underline{text-decoration:none}.group:hover .sm\:group-hover\:underline{text-decoration:underline}.group:hover .sm\:group-hover\:line-through{text-decoration:line-through}.group:hover .sm\:group-hover\:no-underline{text-decoration:none}.sm\:focus-within\:underline:focus-within{text-decoration:underline}.sm\:focus-within\:line-through:focus-within{text-decoration:line-through}.sm\:focus-within\:no-underline:focus-within{text-decoration:none}.sm\:hover\:underline:hover{text-decoration:underline}.sm\:hover\:line-through:hover{text-decoration:line-through}.sm\:hover\:no-underline:hover{text-decoration:none}.sm\:focus\:underline:focus{text-decoration:underline}.sm\:focus\:line-through:focus{text-decoration:line-through}.sm\:focus\:no-underline:focus{text-decoration:none}.sm\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:placeholder-transparent::placeholder{color:transparent}.sm\:placeholder-current::placeholder{color:currentColor}.sm\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.sm\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-50::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-100::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-200::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-300::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-600::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-700::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-800::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.sm\:placeholder-gray-900::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.sm\:placeholder-red-50::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.sm\:placeholder-red-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.sm\:placeholder-red-200::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.sm\:placeholder-red-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.sm\:placeholder-red-400::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.sm\:placeholder-red-500::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.sm\:placeholder-red-600::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.sm\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.sm\:placeholder-red-800::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.sm\:placeholder-red-900::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-50::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-200::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-400::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-500::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-600::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-700::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-800::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.sm\:placeholder-yellow-900::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.sm\:placeholder-green-50::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.sm\:placeholder-green-100::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.sm\:placeholder-green-200::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.sm\:placeholder-green-300::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.sm\:placeholder-green-400::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.sm\:placeholder-green-500::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.sm\:placeholder-green-600::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.sm\:placeholder-green-700::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.sm\:placeholder-green-800::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.sm\:placeholder-green-900::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-50::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-100::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-200::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-300::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-400::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-500::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-600::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-700::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-800::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.sm\:placeholder-blue-900::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-50::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-100::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-200::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-300::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-400::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-500::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-600::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-700::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-800::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.sm\:placeholder-indigo-900::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-50::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-100::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-200::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-300::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-400::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-500::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-600::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-700::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-800::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.sm\:placeholder-purple-900::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-50::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-100::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-200::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-300::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-400::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-500::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-600::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-700::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-800::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.sm\:placeholder-pink-900::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.sm\:focus\:placeholder-current:focus::placeholder{color:currentColor}.sm\:focus\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-gray-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-red-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-yellow-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-green-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-blue-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-indigo-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-purple-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.sm\:focus\:placeholder-pink-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.sm\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.sm\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.sm\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.sm\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.sm\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.sm\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.sm\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.sm\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.sm\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.sm\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.sm\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.sm\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.sm\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.sm\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.sm\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.sm\:focus\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.sm\:focus\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.sm\:focus\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.sm\:focus\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.sm\:focus\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.sm\:focus\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.sm\:focus\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.sm\:focus\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.sm\:focus\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.sm\:focus\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.sm\:focus\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.sm\:focus\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.sm\:focus\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.sm\:focus\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.sm\:focus\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}.sm\:opacity-0{opacity:0}.sm\:opacity-5{opacity:.05}.sm\:opacity-10{opacity:.1}.sm\:opacity-20{opacity:.2}.sm\:opacity-25{opacity:.25}.sm\:opacity-30{opacity:.3}.sm\:opacity-40{opacity:.4}.sm\:opacity-50{opacity:.5}.sm\:opacity-60{opacity:.6}.sm\:opacity-70{opacity:.7}.sm\:opacity-75{opacity:.75}.sm\:opacity-80{opacity:.8}.sm\:opacity-90{opacity:.9}.sm\:opacity-95{opacity:.95}.sm\:opacity-100{opacity:1}.group:hover .sm\:group-hover\:opacity-0{opacity:0}.group:hover .sm\:group-hover\:opacity-5{opacity:.05}.group:hover .sm\:group-hover\:opacity-10{opacity:.1}.group:hover .sm\:group-hover\:opacity-20{opacity:.2}.group:hover .sm\:group-hover\:opacity-25{opacity:.25}.group:hover .sm\:group-hover\:opacity-30{opacity:.3}.group:hover .sm\:group-hover\:opacity-40{opacity:.4}.group:hover .sm\:group-hover\:opacity-50{opacity:.5}.group:hover .sm\:group-hover\:opacity-60{opacity:.6}.group:hover .sm\:group-hover\:opacity-70{opacity:.7}.group:hover .sm\:group-hover\:opacity-75{opacity:.75}.group:hover .sm\:group-hover\:opacity-80{opacity:.8}.group:hover .sm\:group-hover\:opacity-90{opacity:.9}.group:hover .sm\:group-hover\:opacity-95{opacity:.95}.group:hover .sm\:group-hover\:opacity-100{opacity:1}.sm\:focus-within\:opacity-0:focus-within{opacity:0}.sm\:focus-within\:opacity-5:focus-within{opacity:.05}.sm\:focus-within\:opacity-10:focus-within{opacity:.1}.sm\:focus-within\:opacity-20:focus-within{opacity:.2}.sm\:focus-within\:opacity-25:focus-within{opacity:.25}.sm\:focus-within\:opacity-30:focus-within{opacity:.3}.sm\:focus-within\:opacity-40:focus-within{opacity:.4}.sm\:focus-within\:opacity-50:focus-within{opacity:.5}.sm\:focus-within\:opacity-60:focus-within{opacity:.6}.sm\:focus-within\:opacity-70:focus-within{opacity:.7}.sm\:focus-within\:opacity-75:focus-within{opacity:.75}.sm\:focus-within\:opacity-80:focus-within{opacity:.8}.sm\:focus-within\:opacity-90:focus-within{opacity:.9}.sm\:focus-within\:opacity-95:focus-within{opacity:.95}.sm\:focus-within\:opacity-100:focus-within{opacity:1}.sm\:hover\:opacity-0:hover{opacity:0}.sm\:hover\:opacity-5:hover{opacity:.05}.sm\:hover\:opacity-10:hover{opacity:.1}.sm\:hover\:opacity-20:hover{opacity:.2}.sm\:hover\:opacity-25:hover{opacity:.25}.sm\:hover\:opacity-30:hover{opacity:.3}.sm\:hover\:opacity-40:hover{opacity:.4}.sm\:hover\:opacity-50:hover{opacity:.5}.sm\:hover\:opacity-60:hover{opacity:.6}.sm\:hover\:opacity-70:hover{opacity:.7}.sm\:hover\:opacity-75:hover{opacity:.75}.sm\:hover\:opacity-80:hover{opacity:.8}.sm\:hover\:opacity-90:hover{opacity:.9}.sm\:hover\:opacity-95:hover{opacity:.95}.sm\:hover\:opacity-100:hover{opacity:1}.sm\:focus\:opacity-0:focus{opacity:0}.sm\:focus\:opacity-5:focus{opacity:.05}.sm\:focus\:opacity-10:focus{opacity:.1}.sm\:focus\:opacity-20:focus{opacity:.2}.sm\:focus\:opacity-25:focus{opacity:.25}.sm\:focus\:opacity-30:focus{opacity:.3}.sm\:focus\:opacity-40:focus{opacity:.4}.sm\:focus\:opacity-50:focus{opacity:.5}.sm\:focus\:opacity-60:focus{opacity:.6}.sm\:focus\:opacity-70:focus{opacity:.7}.sm\:focus\:opacity-75:focus{opacity:.75}.sm\:focus\:opacity-80:focus{opacity:.8}.sm\:focus\:opacity-90:focus{opacity:.9}.sm\:focus\:opacity-95:focus{opacity:.95}.sm\:focus\:opacity-100:focus{opacity:1}.sm\:bg-blend-normal{background-blend-mode:normal}.sm\:bg-blend-multiply{background-blend-mode:multiply}.sm\:bg-blend-screen{background-blend-mode:screen}.sm\:bg-blend-overlay{background-blend-mode:overlay}.sm\:bg-blend-darken{background-blend-mode:darken}.sm\:bg-blend-lighten{background-blend-mode:lighten}.sm\:bg-blend-color-dodge{background-blend-mode:color-dodge}.sm\:bg-blend-color-burn{background-blend-mode:color-burn}.sm\:bg-blend-hard-light{background-blend-mode:hard-light}.sm\:bg-blend-soft-light{background-blend-mode:soft-light}.sm\:bg-blend-difference{background-blend-mode:difference}.sm\:bg-blend-exclusion{background-blend-mode:exclusion}.sm\:bg-blend-hue{background-blend-mode:hue}.sm\:bg-blend-saturation{background-blend-mode:saturation}.sm\:bg-blend-color{background-blend-mode:color}.sm\:bg-blend-luminosity{background-blend-mode:luminosity}.sm\:mix-blend-normal{mix-blend-mode:normal}.sm\:mix-blend-multiply{mix-blend-mode:multiply}.sm\:mix-blend-screen{mix-blend-mode:screen}.sm\:mix-blend-overlay{mix-blend-mode:overlay}.sm\:mix-blend-darken{mix-blend-mode:darken}.sm\:mix-blend-lighten{mix-blend-mode:lighten}.sm\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.sm\:mix-blend-color-burn{mix-blend-mode:color-burn}.sm\:mix-blend-hard-light{mix-blend-mode:hard-light}.sm\:mix-blend-soft-light{mix-blend-mode:soft-light}.sm\:mix-blend-difference{mix-blend-mode:difference}.sm\:mix-blend-exclusion{mix-blend-mode:exclusion}.sm\:mix-blend-hue{mix-blend-mode:hue}.sm\:mix-blend-saturation{mix-blend-mode:saturation}.sm\:mix-blend-color{mix-blend-mode:color}.sm\:mix-blend-luminosity{mix-blend-mode:luminosity}.sm\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .sm\:group-hover\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .sm\:group-hover\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .sm\:group-hover\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .sm\:group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .sm\:group-hover\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .sm\:group-hover\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .sm\:group-hover\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .sm\:group-hover\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus-within\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus-within\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus-within\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus-within\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus-within\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus-within\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus-within\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus-within\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:hover\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:focus\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.sm\:outline-none{outline:2px solid transparent;outline-offset:2px}.sm\:outline-white{outline:2px dotted white;outline-offset:2px}.sm\:outline-black{outline:2px dotted black;outline-offset:2px}.sm\:focus-within\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.sm\:focus-within\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.sm\:focus-within\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.sm\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.sm\:focus\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.sm\:focus\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.sm\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus-within\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus-within\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus-within\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.sm\:ring-inset{--tw-ring-inset:inset}.sm\:focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}.sm\:focus\:ring-inset:focus{--tw-ring-inset:inset}.sm\:ring-transparent{--tw-ring-color:transparent}.sm\:ring-current{--tw-ring-color:currentColor}.sm\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.sm\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\:ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.sm\:ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.sm\:ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.sm\:ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.sm\:ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.sm\:ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.sm\:ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.sm\:ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.sm\:ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.sm\:ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.sm\:ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.sm\:ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.sm\:ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.sm\:ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.sm\:ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.sm\:ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.sm\:ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.sm\:ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.sm\:ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.sm\:ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.sm\:ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.sm\:ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.sm\:ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.sm\:ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.sm\:ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.sm\:ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.sm\:ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.sm\:ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.sm\:ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.sm\:ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.sm\:ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.sm\:ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.sm\:ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.sm\:ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.sm\:ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.sm\:ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.sm\:ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.sm\:ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.sm\:ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.sm\:ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.sm\:ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.sm\:ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.sm\:ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.sm\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.sm\:ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.sm\:ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.sm\:ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.sm\:ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.sm\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.sm\:ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.sm\:ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.sm\:ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.sm\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.sm\:ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.sm\:ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.sm\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.sm\:ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.sm\:ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.sm\:ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.sm\:ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.sm\:ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.sm\:ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.sm\:ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.sm\:ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.sm\:ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.sm\:ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.sm\:ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.sm\:ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.sm\:ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.sm\:ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.sm\:ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.sm\:ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.sm\:ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.sm\:ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.sm\:ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.sm\:ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.sm\:ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.sm\:ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.sm\:ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.sm\:ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.sm\:focus-within\:ring-transparent:focus-within{--tw-ring-color:transparent}.sm\:focus-within\:ring-current:focus-within{--tw-ring-color:currentColor}.sm\:focus-within\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.sm\:focus-within\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.sm\:focus-within\:ring-gray-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.sm\:focus-within\:ring-red-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.sm\:focus-within\:ring-yellow-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.sm\:focus-within\:ring-green-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.sm\:focus-within\:ring-blue-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.sm\:focus-within\:ring-indigo-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.sm\:focus-within\:ring-purple-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.sm\:focus-within\:ring-pink-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.sm\:focus\:ring-transparent:focus{--tw-ring-color:transparent}.sm\:focus\:ring-current:focus{--tw-ring-color:currentColor}.sm\:focus\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.sm\:focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.sm\:focus\:ring-gray-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.sm\:focus\:ring-red-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.sm\:focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.sm\:focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.sm\:focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.sm\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.sm\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.sm\:focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.sm\:focus\:ring-red-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.sm\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.sm\:focus\:ring-red-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.sm\:focus\:ring-yellow-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.sm\:focus\:ring-green-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.sm\:focus\:ring-green-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.sm\:focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.sm\:focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.sm\:focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.sm\:focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.sm\:focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.sm\:focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.sm\:focus\:ring-green-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.sm\:focus\:ring-green-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.sm\:focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.sm\:focus\:ring-indigo-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.sm\:focus\:ring-purple-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.sm\:focus\:ring-pink-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.sm\:ring-opacity-0{--tw-ring-opacity:0}.sm\:ring-opacity-5{--tw-ring-opacity:0.05}.sm\:ring-opacity-10{--tw-ring-opacity:0.1}.sm\:ring-opacity-20{--tw-ring-opacity:0.2}.sm\:ring-opacity-25{--tw-ring-opacity:0.25}.sm\:ring-opacity-30{--tw-ring-opacity:0.3}.sm\:ring-opacity-40{--tw-ring-opacity:0.4}.sm\:ring-opacity-50{--tw-ring-opacity:0.5}.sm\:ring-opacity-60{--tw-ring-opacity:0.6}.sm\:ring-opacity-70{--tw-ring-opacity:0.7}.sm\:ring-opacity-75{--tw-ring-opacity:0.75}.sm\:ring-opacity-80{--tw-ring-opacity:0.8}.sm\:ring-opacity-90{--tw-ring-opacity:0.9}.sm\:ring-opacity-95{--tw-ring-opacity:0.95}.sm\:ring-opacity-100{--tw-ring-opacity:1}.sm\:focus-within\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.sm\:focus-within\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.sm\:focus-within\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.sm\:focus-within\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.sm\:focus-within\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.sm\:focus-within\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.sm\:focus-within\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.sm\:focus-within\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.sm\:focus-within\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.sm\:focus-within\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.sm\:focus-within\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.sm\:focus-within\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.sm\:focus-within\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.sm\:focus-within\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.sm\:focus-within\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.sm\:focus\:ring-opacity-0:focus{--tw-ring-opacity:0}.sm\:focus\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.sm\:focus\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.sm\:focus\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.sm\:focus\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.sm\:focus\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.sm\:focus\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.sm\:focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.sm\:focus\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.sm\:focus\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.sm\:focus\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.sm\:focus\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.sm\:focus\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.sm\:focus\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.sm\:focus\:ring-opacity-100:focus{--tw-ring-opacity:1}.sm\:ring-offset-0{--tw-ring-offset-width:0px}.sm\:ring-offset-1{--tw-ring-offset-width:1px}.sm\:ring-offset-2{--tw-ring-offset-width:2px}.sm\:ring-offset-4{--tw-ring-offset-width:4px}.sm\:ring-offset-8{--tw-ring-offset-width:8px}.sm\:focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.sm\:focus-within\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.sm\:focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.sm\:focus-within\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.sm\:focus-within\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.sm\:focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.sm\:focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.sm\:focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.sm\:focus\:ring-offset-4:focus{--tw-ring-offset-width:4px}.sm\:focus\:ring-offset-8:focus{--tw-ring-offset-width:8px}.sm\:ring-offset-transparent{--tw-ring-offset-color:transparent}.sm\:ring-offset-current{--tw-ring-offset-color:currentColor}.sm\:ring-offset-black{--tw-ring-offset-color:#000}.sm\:ring-offset-white{--tw-ring-offset-color:#fff}.sm\:ring-offset-gray-50{--tw-ring-offset-color:#f9fafb}.sm\:ring-offset-gray-100{--tw-ring-offset-color:#f3f4f6}.sm\:ring-offset-gray-200{--tw-ring-offset-color:#e5e7eb}.sm\:ring-offset-gray-300{--tw-ring-offset-color:#d1d5db}.sm\:ring-offset-gray-400{--tw-ring-offset-color:#9ca3af}.sm\:ring-offset-gray-500{--tw-ring-offset-color:#6b7280}.sm\:ring-offset-gray-600{--tw-ring-offset-color:#4b5563}.sm\:ring-offset-gray-700{--tw-ring-offset-color:#374151}.sm\:ring-offset-gray-800{--tw-ring-offset-color:#1f2937}.sm\:ring-offset-gray-900{--tw-ring-offset-color:#111827}.sm\:ring-offset-red-50{--tw-ring-offset-color:#fef2f2}.sm\:ring-offset-red-100{--tw-ring-offset-color:#fee2e2}.sm\:ring-offset-red-200{--tw-ring-offset-color:#fecaca}.sm\:ring-offset-red-300{--tw-ring-offset-color:#fca5a5}.sm\:ring-offset-red-400{--tw-ring-offset-color:#f87171}.sm\:ring-offset-red-500{--tw-ring-offset-color:#ef4444}.sm\:ring-offset-red-600{--tw-ring-offset-color:#dc2626}.sm\:ring-offset-red-700{--tw-ring-offset-color:#b91c1c}.sm\:ring-offset-red-800{--tw-ring-offset-color:#991b1b}.sm\:ring-offset-red-900{--tw-ring-offset-color:#7f1d1d}.sm\:ring-offset-yellow-50{--tw-ring-offset-color:#fffbeb}.sm\:ring-offset-yellow-100{--tw-ring-offset-color:#fef3c7}.sm\:ring-offset-yellow-200{--tw-ring-offset-color:#fde68a}.sm\:ring-offset-yellow-300{--tw-ring-offset-color:#fcd34d}.sm\:ring-offset-yellow-400{--tw-ring-offset-color:#fbbf24}.sm\:ring-offset-yellow-500{--tw-ring-offset-color:#f59e0b}.sm\:ring-offset-yellow-600{--tw-ring-offset-color:#d97706}.sm\:ring-offset-yellow-700{--tw-ring-offset-color:#b45309}.sm\:ring-offset-yellow-800{--tw-ring-offset-color:#92400e}.sm\:ring-offset-yellow-900{--tw-ring-offset-color:#78350f}.sm\:ring-offset-green-50{--tw-ring-offset-color:#ecfdf5}.sm\:ring-offset-green-100{--tw-ring-offset-color:#d1fae5}.sm\:ring-offset-green-200{--tw-ring-offset-color:#a7f3d0}.sm\:ring-offset-green-300{--tw-ring-offset-color:#6ee7b7}.sm\:ring-offset-green-400{--tw-ring-offset-color:#34d399}.sm\:ring-offset-green-500{--tw-ring-offset-color:#10b981}.sm\:ring-offset-green-600{--tw-ring-offset-color:#059669}.sm\:ring-offset-green-700{--tw-ring-offset-color:#047857}.sm\:ring-offset-green-800{--tw-ring-offset-color:#065f46}.sm\:ring-offset-green-900{--tw-ring-offset-color:#064e3b}.sm\:ring-offset-blue-50{--tw-ring-offset-color:#eff6ff}.sm\:ring-offset-blue-100{--tw-ring-offset-color:#dbeafe}.sm\:ring-offset-blue-200{--tw-ring-offset-color:#bfdbfe}.sm\:ring-offset-blue-300{--tw-ring-offset-color:#93c5fd}.sm\:ring-offset-blue-400{--tw-ring-offset-color:#60a5fa}.sm\:ring-offset-blue-500{--tw-ring-offset-color:#3b82f6}.sm\:ring-offset-blue-600{--tw-ring-offset-color:#2563eb}.sm\:ring-offset-blue-700{--tw-ring-offset-color:#1d4ed8}.sm\:ring-offset-blue-800{--tw-ring-offset-color:#1e40af}.sm\:ring-offset-blue-900{--tw-ring-offset-color:#1e3a8a}.sm\:ring-offset-indigo-50{--tw-ring-offset-color:#eef2ff}.sm\:ring-offset-indigo-100{--tw-ring-offset-color:#e0e7ff}.sm\:ring-offset-indigo-200{--tw-ring-offset-color:#c7d2fe}.sm\:ring-offset-indigo-300{--tw-ring-offset-color:#a5b4fc}.sm\:ring-offset-indigo-400{--tw-ring-offset-color:#818cf8}.sm\:ring-offset-indigo-500{--tw-ring-offset-color:#6366f1}.sm\:ring-offset-indigo-600{--tw-ring-offset-color:#4f46e5}.sm\:ring-offset-indigo-700{--tw-ring-offset-color:#4338ca}.sm\:ring-offset-indigo-800{--tw-ring-offset-color:#3730a3}.sm\:ring-offset-indigo-900{--tw-ring-offset-color:#312e81}.sm\:ring-offset-purple-50{--tw-ring-offset-color:#f5f3ff}.sm\:ring-offset-purple-100{--tw-ring-offset-color:#ede9fe}.sm\:ring-offset-purple-200{--tw-ring-offset-color:#ddd6fe}.sm\:ring-offset-purple-300{--tw-ring-offset-color:#c4b5fd}.sm\:ring-offset-purple-400{--tw-ring-offset-color:#a78bfa}.sm\:ring-offset-purple-500{--tw-ring-offset-color:#8b5cf6}.sm\:ring-offset-purple-600{--tw-ring-offset-color:#7c3aed}.sm\:ring-offset-purple-700{--tw-ring-offset-color:#6d28d9}.sm\:ring-offset-purple-800{--tw-ring-offset-color:#5b21b6}.sm\:ring-offset-purple-900{--tw-ring-offset-color:#4c1d95}.sm\:ring-offset-pink-50{--tw-ring-offset-color:#fdf2f8}.sm\:ring-offset-pink-100{--tw-ring-offset-color:#fce7f3}.sm\:ring-offset-pink-200{--tw-ring-offset-color:#fbcfe8}.sm\:ring-offset-pink-300{--tw-ring-offset-color:#f9a8d4}.sm\:ring-offset-pink-400{--tw-ring-offset-color:#f472b6}.sm\:ring-offset-pink-500{--tw-ring-offset-color:#ec4899}.sm\:ring-offset-pink-600{--tw-ring-offset-color:#db2777}.sm\:ring-offset-pink-700{--tw-ring-offset-color:#be185d}.sm\:ring-offset-pink-800{--tw-ring-offset-color:#9d174d}.sm\:ring-offset-pink-900{--tw-ring-offset-color:#831843}.sm\:focus-within\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.sm\:focus-within\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.sm\:focus-within\:ring-offset-black:focus-within{--tw-ring-offset-color:#000}.sm\:focus-within\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.sm\:focus-within\:ring-offset-gray-50:focus-within{--tw-ring-offset-color:#f9fafb}.sm\:focus-within\:ring-offset-gray-100:focus-within{--tw-ring-offset-color:#f3f4f6}.sm\:focus-within\:ring-offset-gray-200:focus-within{--tw-ring-offset-color:#e5e7eb}.sm\:focus-within\:ring-offset-gray-300:focus-within{--tw-ring-offset-color:#d1d5db}.sm\:focus-within\:ring-offset-gray-400:focus-within{--tw-ring-offset-color:#9ca3af}.sm\:focus-within\:ring-offset-gray-500:focus-within{--tw-ring-offset-color:#6b7280}.sm\:focus-within\:ring-offset-gray-600:focus-within{--tw-ring-offset-color:#4b5563}.sm\:focus-within\:ring-offset-gray-700:focus-within{--tw-ring-offset-color:#374151}.sm\:focus-within\:ring-offset-gray-800:focus-within{--tw-ring-offset-color:#1f2937}.sm\:focus-within\:ring-offset-gray-900:focus-within{--tw-ring-offset-color:#111827}.sm\:focus-within\:ring-offset-red-50:focus-within{--tw-ring-offset-color:#fef2f2}.sm\:focus-within\:ring-offset-red-100:focus-within{--tw-ring-offset-color:#fee2e2}.sm\:focus-within\:ring-offset-red-200:focus-within{--tw-ring-offset-color:#fecaca}.sm\:focus-within\:ring-offset-red-300:focus-within{--tw-ring-offset-color:#fca5a5}.sm\:focus-within\:ring-offset-red-400:focus-within{--tw-ring-offset-color:#f87171}.sm\:focus-within\:ring-offset-red-500:focus-within{--tw-ring-offset-color:#ef4444}.sm\:focus-within\:ring-offset-red-600:focus-within{--tw-ring-offset-color:#dc2626}.sm\:focus-within\:ring-offset-red-700:focus-within{--tw-ring-offset-color:#b91c1c}.sm\:focus-within\:ring-offset-red-800:focus-within{--tw-ring-offset-color:#991b1b}.sm\:focus-within\:ring-offset-red-900:focus-within{--tw-ring-offset-color:#7f1d1d}.sm\:focus-within\:ring-offset-yellow-50:focus-within{--tw-ring-offset-color:#fffbeb}.sm\:focus-within\:ring-offset-yellow-100:focus-within{--tw-ring-offset-color:#fef3c7}.sm\:focus-within\:ring-offset-yellow-200:focus-within{--tw-ring-offset-color:#fde68a}.sm\:focus-within\:ring-offset-yellow-300:focus-within{--tw-ring-offset-color:#fcd34d}.sm\:focus-within\:ring-offset-yellow-400:focus-within{--tw-ring-offset-color:#fbbf24}.sm\:focus-within\:ring-offset-yellow-500:focus-within{--tw-ring-offset-color:#f59e0b}.sm\:focus-within\:ring-offset-yellow-600:focus-within{--tw-ring-offset-color:#d97706}.sm\:focus-within\:ring-offset-yellow-700:focus-within{--tw-ring-offset-color:#b45309}.sm\:focus-within\:ring-offset-yellow-800:focus-within{--tw-ring-offset-color:#92400e}.sm\:focus-within\:ring-offset-yellow-900:focus-within{--tw-ring-offset-color:#78350f}.sm\:focus-within\:ring-offset-green-50:focus-within{--tw-ring-offset-color:#ecfdf5}.sm\:focus-within\:ring-offset-green-100:focus-within{--tw-ring-offset-color:#d1fae5}.sm\:focus-within\:ring-offset-green-200:focus-within{--tw-ring-offset-color:#a7f3d0}.sm\:focus-within\:ring-offset-green-300:focus-within{--tw-ring-offset-color:#6ee7b7}.sm\:focus-within\:ring-offset-green-400:focus-within{--tw-ring-offset-color:#34d399}.sm\:focus-within\:ring-offset-green-500:focus-within{--tw-ring-offset-color:#10b981}.sm\:focus-within\:ring-offset-green-600:focus-within{--tw-ring-offset-color:#059669}.sm\:focus-within\:ring-offset-green-700:focus-within{--tw-ring-offset-color:#047857}.sm\:focus-within\:ring-offset-green-800:focus-within{--tw-ring-offset-color:#065f46}.sm\:focus-within\:ring-offset-green-900:focus-within{--tw-ring-offset-color:#064e3b}.sm\:focus-within\:ring-offset-blue-50:focus-within{--tw-ring-offset-color:#eff6ff}.sm\:focus-within\:ring-offset-blue-100:focus-within{--tw-ring-offset-color:#dbeafe}.sm\:focus-within\:ring-offset-blue-200:focus-within{--tw-ring-offset-color:#bfdbfe}.sm\:focus-within\:ring-offset-blue-300:focus-within{--tw-ring-offset-color:#93c5fd}.sm\:focus-within\:ring-offset-blue-400:focus-within{--tw-ring-offset-color:#60a5fa}.sm\:focus-within\:ring-offset-blue-500:focus-within{--tw-ring-offset-color:#3b82f6}.sm\:focus-within\:ring-offset-blue-600:focus-within{--tw-ring-offset-color:#2563eb}.sm\:focus-within\:ring-offset-blue-700:focus-within{--tw-ring-offset-color:#1d4ed8}.sm\:focus-within\:ring-offset-blue-800:focus-within{--tw-ring-offset-color:#1e40af}.sm\:focus-within\:ring-offset-blue-900:focus-within{--tw-ring-offset-color:#1e3a8a}.sm\:focus-within\:ring-offset-indigo-50:focus-within{--tw-ring-offset-color:#eef2ff}.sm\:focus-within\:ring-offset-indigo-100:focus-within{--tw-ring-offset-color:#e0e7ff}.sm\:focus-within\:ring-offset-indigo-200:focus-within{--tw-ring-offset-color:#c7d2fe}.sm\:focus-within\:ring-offset-indigo-300:focus-within{--tw-ring-offset-color:#a5b4fc}.sm\:focus-within\:ring-offset-indigo-400:focus-within{--tw-ring-offset-color:#818cf8}.sm\:focus-within\:ring-offset-indigo-500:focus-within{--tw-ring-offset-color:#6366f1}.sm\:focus-within\:ring-offset-indigo-600:focus-within{--tw-ring-offset-color:#4f46e5}.sm\:focus-within\:ring-offset-indigo-700:focus-within{--tw-ring-offset-color:#4338ca}.sm\:focus-within\:ring-offset-indigo-800:focus-within{--tw-ring-offset-color:#3730a3}.sm\:focus-within\:ring-offset-indigo-900:focus-within{--tw-ring-offset-color:#312e81}.sm\:focus-within\:ring-offset-purple-50:focus-within{--tw-ring-offset-color:#f5f3ff}.sm\:focus-within\:ring-offset-purple-100:focus-within{--tw-ring-offset-color:#ede9fe}.sm\:focus-within\:ring-offset-purple-200:focus-within{--tw-ring-offset-color:#ddd6fe}.sm\:focus-within\:ring-offset-purple-300:focus-within{--tw-ring-offset-color:#c4b5fd}.sm\:focus-within\:ring-offset-purple-400:focus-within{--tw-ring-offset-color:#a78bfa}.sm\:focus-within\:ring-offset-purple-500:focus-within{--tw-ring-offset-color:#8b5cf6}.sm\:focus-within\:ring-offset-purple-600:focus-within{--tw-ring-offset-color:#7c3aed}.sm\:focus-within\:ring-offset-purple-700:focus-within{--tw-ring-offset-color:#6d28d9}.sm\:focus-within\:ring-offset-purple-800:focus-within{--tw-ring-offset-color:#5b21b6}.sm\:focus-within\:ring-offset-purple-900:focus-within{--tw-ring-offset-color:#4c1d95}.sm\:focus-within\:ring-offset-pink-50:focus-within{--tw-ring-offset-color:#fdf2f8}.sm\:focus-within\:ring-offset-pink-100:focus-within{--tw-ring-offset-color:#fce7f3}.sm\:focus-within\:ring-offset-pink-200:focus-within{--tw-ring-offset-color:#fbcfe8}.sm\:focus-within\:ring-offset-pink-300:focus-within{--tw-ring-offset-color:#f9a8d4}.sm\:focus-within\:ring-offset-pink-400:focus-within{--tw-ring-offset-color:#f472b6}.sm\:focus-within\:ring-offset-pink-500:focus-within{--tw-ring-offset-color:#ec4899}.sm\:focus-within\:ring-offset-pink-600:focus-within{--tw-ring-offset-color:#db2777}.sm\:focus-within\:ring-offset-pink-700:focus-within{--tw-ring-offset-color:#be185d}.sm\:focus-within\:ring-offset-pink-800:focus-within{--tw-ring-offset-color:#9d174d}.sm\:focus-within\:ring-offset-pink-900:focus-within{--tw-ring-offset-color:#831843}.sm\:focus\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.sm\:focus\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.sm\:focus\:ring-offset-black:focus{--tw-ring-offset-color:#000}.sm\:focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.sm\:focus\:ring-offset-gray-50:focus{--tw-ring-offset-color:#f9fafb}.sm\:focus\:ring-offset-gray-100:focus{--tw-ring-offset-color:#f3f4f6}.sm\:focus\:ring-offset-gray-200:focus{--tw-ring-offset-color:#e5e7eb}.sm\:focus\:ring-offset-gray-300:focus{--tw-ring-offset-color:#d1d5db}.sm\:focus\:ring-offset-gray-400:focus{--tw-ring-offset-color:#9ca3af}.sm\:focus\:ring-offset-gray-500:focus{--tw-ring-offset-color:#6b7280}.sm\:focus\:ring-offset-gray-600:focus{--tw-ring-offset-color:#4b5563}.sm\:focus\:ring-offset-gray-700:focus{--tw-ring-offset-color:#374151}.sm\:focus\:ring-offset-gray-800:focus{--tw-ring-offset-color:#1f2937}.sm\:focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:#111827}.sm\:focus\:ring-offset-red-50:focus{--tw-ring-offset-color:#fef2f2}.sm\:focus\:ring-offset-red-100:focus{--tw-ring-offset-color:#fee2e2}.sm\:focus\:ring-offset-red-200:focus{--tw-ring-offset-color:#fecaca}.sm\:focus\:ring-offset-red-300:focus{--tw-ring-offset-color:#fca5a5}.sm\:focus\:ring-offset-red-400:focus{--tw-ring-offset-color:#f87171}.sm\:focus\:ring-offset-red-500:focus{--tw-ring-offset-color:#ef4444}.sm\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.sm\:focus\:ring-offset-red-700:focus{--tw-ring-offset-color:#b91c1c}.sm\:focus\:ring-offset-red-800:focus{--tw-ring-offset-color:#991b1b}.sm\:focus\:ring-offset-red-900:focus{--tw-ring-offset-color:#7f1d1d}.sm\:focus\:ring-offset-yellow-50:focus{--tw-ring-offset-color:#fffbeb}.sm\:focus\:ring-offset-yellow-100:focus{--tw-ring-offset-color:#fef3c7}.sm\:focus\:ring-offset-yellow-200:focus{--tw-ring-offset-color:#fde68a}.sm\:focus\:ring-offset-yellow-300:focus{--tw-ring-offset-color:#fcd34d}.sm\:focus\:ring-offset-yellow-400:focus{--tw-ring-offset-color:#fbbf24}.sm\:focus\:ring-offset-yellow-500:focus{--tw-ring-offset-color:#f59e0b}.sm\:focus\:ring-offset-yellow-600:focus{--tw-ring-offset-color:#d97706}.sm\:focus\:ring-offset-yellow-700:focus{--tw-ring-offset-color:#b45309}.sm\:focus\:ring-offset-yellow-800:focus{--tw-ring-offset-color:#92400e}.sm\:focus\:ring-offset-yellow-900:focus{--tw-ring-offset-color:#78350f}.sm\:focus\:ring-offset-green-50:focus{--tw-ring-offset-color:#ecfdf5}.sm\:focus\:ring-offset-green-100:focus{--tw-ring-offset-color:#d1fae5}.sm\:focus\:ring-offset-green-200:focus{--tw-ring-offset-color:#a7f3d0}.sm\:focus\:ring-offset-green-300:focus{--tw-ring-offset-color:#6ee7b7}.sm\:focus\:ring-offset-green-400:focus{--tw-ring-offset-color:#34d399}.sm\:focus\:ring-offset-green-500:focus{--tw-ring-offset-color:#10b981}.sm\:focus\:ring-offset-green-600:focus{--tw-ring-offset-color:#059669}.sm\:focus\:ring-offset-green-700:focus{--tw-ring-offset-color:#047857}.sm\:focus\:ring-offset-green-800:focus{--tw-ring-offset-color:#065f46}.sm\:focus\:ring-offset-green-900:focus{--tw-ring-offset-color:#064e3b}.sm\:focus\:ring-offset-blue-50:focus{--tw-ring-offset-color:#eff6ff}.sm\:focus\:ring-offset-blue-100:focus{--tw-ring-offset-color:#dbeafe}.sm\:focus\:ring-offset-blue-200:focus{--tw-ring-offset-color:#bfdbfe}.sm\:focus\:ring-offset-blue-300:focus{--tw-ring-offset-color:#93c5fd}.sm\:focus\:ring-offset-blue-400:focus{--tw-ring-offset-color:#60a5fa}.sm\:focus\:ring-offset-blue-500:focus{--tw-ring-offset-color:#3b82f6}.sm\:focus\:ring-offset-blue-600:focus{--tw-ring-offset-color:#2563eb}.sm\:focus\:ring-offset-blue-700:focus{--tw-ring-offset-color:#1d4ed8}.sm\:focus\:ring-offset-blue-800:focus{--tw-ring-offset-color:#1e40af}.sm\:focus\:ring-offset-blue-900:focus{--tw-ring-offset-color:#1e3a8a}.sm\:focus\:ring-offset-indigo-50:focus{--tw-ring-offset-color:#eef2ff}.sm\:focus\:ring-offset-indigo-100:focus{--tw-ring-offset-color:#e0e7ff}.sm\:focus\:ring-offset-indigo-200:focus{--tw-ring-offset-color:#c7d2fe}.sm\:focus\:ring-offset-indigo-300:focus{--tw-ring-offset-color:#a5b4fc}.sm\:focus\:ring-offset-indigo-400:focus{--tw-ring-offset-color:#818cf8}.sm\:focus\:ring-offset-indigo-500:focus{--tw-ring-offset-color:#6366f1}.sm\:focus\:ring-offset-indigo-600:focus{--tw-ring-offset-color:#4f46e5}.sm\:focus\:ring-offset-indigo-700:focus{--tw-ring-offset-color:#4338ca}.sm\:focus\:ring-offset-indigo-800:focus{--tw-ring-offset-color:#3730a3}.sm\:focus\:ring-offset-indigo-900:focus{--tw-ring-offset-color:#312e81}.sm\:focus\:ring-offset-purple-50:focus{--tw-ring-offset-color:#f5f3ff}.sm\:focus\:ring-offset-purple-100:focus{--tw-ring-offset-color:#ede9fe}.sm\:focus\:ring-offset-purple-200:focus{--tw-ring-offset-color:#ddd6fe}.sm\:focus\:ring-offset-purple-300:focus{--tw-ring-offset-color:#c4b5fd}.sm\:focus\:ring-offset-purple-400:focus{--tw-ring-offset-color:#a78bfa}.sm\:focus\:ring-offset-purple-500:focus{--tw-ring-offset-color:#8b5cf6}.sm\:focus\:ring-offset-purple-600:focus{--tw-ring-offset-color:#7c3aed}.sm\:focus\:ring-offset-purple-700:focus{--tw-ring-offset-color:#6d28d9}.sm\:focus\:ring-offset-purple-800:focus{--tw-ring-offset-color:#5b21b6}.sm\:focus\:ring-offset-purple-900:focus{--tw-ring-offset-color:#4c1d95}.sm\:focus\:ring-offset-pink-50:focus{--tw-ring-offset-color:#fdf2f8}.sm\:focus\:ring-offset-pink-100:focus{--tw-ring-offset-color:#fce7f3}.sm\:focus\:ring-offset-pink-200:focus{--tw-ring-offset-color:#fbcfe8}.sm\:focus\:ring-offset-pink-300:focus{--tw-ring-offset-color:#f9a8d4}.sm\:focus\:ring-offset-pink-400:focus{--tw-ring-offset-color:#f472b6}.sm\:focus\:ring-offset-pink-500:focus{--tw-ring-offset-color:#ec4899}.sm\:focus\:ring-offset-pink-600:focus{--tw-ring-offset-color:#db2777}.sm\:focus\:ring-offset-pink-700:focus{--tw-ring-offset-color:#be185d}.sm\:focus\:ring-offset-pink-800:focus{--tw-ring-offset-color:#9d174d}.sm\:focus\:ring-offset-pink-900:focus{--tw-ring-offset-color:#831843}.sm\:filter{--tw-blur:var(--tw-empty, );/*!*//*!*/--tw-brightness:var(--tw-empty, );/*!*//*!*/--tw-contrast:var(--tw-empty, );/*!*//*!*/--tw-grayscale:var(--tw-empty, );/*!*//*!*/--tw-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-invert:var(--tw-empty, );/*!*//*!*/--tw-saturate:var(--tw-empty, );/*!*//*!*/--tw-sepia:var(--tw-empty, );/*!*//*!*/--tw-drop-shadow:var(--tw-empty, );/*!*//*!*/filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sm\:filter-none{filter:none}.sm\:blur-0{--tw-blur:blur(0)}.sm\:blur-none{--tw-blur:blur(0)}.sm\:blur-sm{--tw-blur:blur(4px)}.sm\:blur{--tw-blur:blur(8px)}.sm\:blur-md{--tw-blur:blur(12px)}.sm\:blur-lg{--tw-blur:blur(16px)}.sm\:blur-xl{--tw-blur:blur(24px)}.sm\:blur-2xl{--tw-blur:blur(40px)}.sm\:blur-3xl{--tw-blur:blur(64px)}.sm\:brightness-0{--tw-brightness:brightness(0)}.sm\:brightness-50{--tw-brightness:brightness(.5)}.sm\:brightness-75{--tw-brightness:brightness(.75)}.sm\:brightness-90{--tw-brightness:brightness(.9)}.sm\:brightness-95{--tw-brightness:brightness(.95)}.sm\:brightness-100{--tw-brightness:brightness(1)}.sm\:brightness-105{--tw-brightness:brightness(1.05)}.sm\:brightness-110{--tw-brightness:brightness(1.1)}.sm\:brightness-125{--tw-brightness:brightness(1.25)}.sm\:brightness-150{--tw-brightness:brightness(1.5)}.sm\:brightness-200{--tw-brightness:brightness(2)}.sm\:contrast-0{--tw-contrast:contrast(0)}.sm\:contrast-50{--tw-contrast:contrast(.5)}.sm\:contrast-75{--tw-contrast:contrast(.75)}.sm\:contrast-100{--tw-contrast:contrast(1)}.sm\:contrast-125{--tw-contrast:contrast(1.25)}.sm\:contrast-150{--tw-contrast:contrast(1.5)}.sm\:contrast-200{--tw-contrast:contrast(2)}.sm\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.sm\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.sm\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.sm\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.sm\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.sm\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.sm\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.sm\:grayscale-0{--tw-grayscale:grayscale(0)}.sm\:grayscale{--tw-grayscale:grayscale(100%)}.sm\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.sm\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.sm\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.sm\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.sm\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.sm\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.sm\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.sm\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.sm\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.sm\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.sm\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.sm\:invert-0{--tw-invert:invert(0)}.sm\:invert{--tw-invert:invert(100%)}.sm\:saturate-0{--tw-saturate:saturate(0)}.sm\:saturate-50{--tw-saturate:saturate(.5)}.sm\:saturate-100{--tw-saturate:saturate(1)}.sm\:saturate-150{--tw-saturate:saturate(1.5)}.sm\:saturate-200{--tw-saturate:saturate(2)}.sm\:sepia-0{--tw-sepia:sepia(0)}.sm\:sepia{--tw-sepia:sepia(100%)}.sm\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty, );/*!*//*!*/--tw-backdrop-brightness:var(--tw-empty, );/*!*//*!*/--tw-backdrop-contrast:var(--tw-empty, );/*!*//*!*/--tw-backdrop-grayscale:var(--tw-empty, );/*!*//*!*/--tw-backdrop-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-invert:var(--tw-empty, );/*!*//*!*/--tw-backdrop-opacity:var(--tw-empty, );/*!*//*!*/--tw-backdrop-saturate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-sepia:var(--tw-empty, );/*!*//*!*/-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.sm\:backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.sm\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.sm\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.sm\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.sm\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.sm\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.sm\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.sm\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.sm\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.sm\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.sm\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.sm\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.sm\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.sm\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.sm\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.sm\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.sm\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.sm\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.sm\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.sm\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.sm\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.sm\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.sm\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.sm\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.sm\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.sm\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.sm\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.sm\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.sm\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.sm\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.sm\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.sm\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.sm\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.sm\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.sm\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.sm\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.sm\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.sm\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.sm\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.sm\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.sm\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.sm\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.sm\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.sm\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.sm\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.sm\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.sm\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.sm\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.sm\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.sm\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.sm\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.sm\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.sm\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.sm\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.sm\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.sm\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.sm\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.sm\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.sm\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.sm\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.sm\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.sm\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.sm\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.sm\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.sm\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.sm\:transition-none{transition-property:none}.sm\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.sm\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.sm\:transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.sm\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.sm\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.sm\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.sm\:delay-75{transition-delay:75ms}.sm\:delay-100{transition-delay:0.1s}.sm\:delay-150{transition-delay:150ms}.sm\:delay-200{transition-delay:0.2s}.sm\:delay-300{transition-delay:0.3s}.sm\:delay-500{transition-delay:0.5s}.sm\:delay-700{transition-delay:0.7s}.sm\:delay-1000{transition-delay:1s}.sm\:duration-75{transition-duration:75ms}.sm\:duration-100{transition-duration:.1s}.sm\:duration-150{transition-duration:150ms}.sm\:duration-200{transition-duration:.2s}.sm\:duration-300{transition-duration:.3s}.sm\:duration-500{transition-duration:.5s}.sm\:duration-700{transition-duration:.7s}.sm\:duration-1000{transition-duration:1s}.sm\:ease-linear{transition-timing-function:linear}.sm\:ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.sm\:ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.sm\:ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}}@media (min-width:768px){.md\:container{width:100%}@media (min-width:640px){.md\:container{max-width:640px}}@media (min-width:768px){.md\:container{max-width:768px}}@media (min-width:1024px){.md\:container{max-width:1024px}}@media (min-width:1280px){.md\:container{max-width:1280px}}@media (min-width:1536px){.md\:container{max-width:1536px}}.md\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:focus-within\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:focus-within\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:pointer-events-none{pointer-events:none}.md\:pointer-events-auto{pointer-events:auto}.md\:visible{visibility:visible}.md\:invisible{visibility:hidden}.md\:static{position:static}.md\:fixed{position:fixed}.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:sticky{position:sticky}.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.md\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.md\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.md\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.md\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.md\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.md\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.md\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.md\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.md\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.md\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.md\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.md\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.md\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.md\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.md\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.md\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.md\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.md\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.md\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.md\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.md\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.md\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.md\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.md\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.md\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.md\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.md\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.md\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.md\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.md\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.md\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.md\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.md\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.md\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.md\:-inset-0{top:0;right:0;bottom:0;left:0}.md\:-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.md\:-inset-2{top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.md\:-inset-3{top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem}.md\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.md\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.md\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.md\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.md\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.md\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.md\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.md\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.md\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.md\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.md\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.md\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.md\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.md\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.md\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.md\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.md\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.md\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.md\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.md\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.md\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.md\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.md\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.md\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.md\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.md\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.md\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.md\:-inset-0\.5{top:-.125rem;right:-.125rem;bottom:-.125rem;left:-.125rem}.md\:-inset-1\.5{top:-.375rem;right:-.375rem;bottom:-.375rem;left:-.375rem}.md\:-inset-2\.5{top:-.625rem;right:-.625rem;bottom:-.625rem;left:-.625rem}.md\:-inset-3\.5{top:-.875rem;right:-.875rem;bottom:-.875rem;left:-.875rem}.md\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.md\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.md\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.md\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.md\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.md\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.md\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.md\:-inset-1\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.md\:-inset-1\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.md\:-inset-2\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.md\:-inset-1\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.md\:-inset-2\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.md\:-inset-3\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.md\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.md\:inset-x-0{left:0;right:0}.md\:inset-x-1{left:.25rem;right:.25rem}.md\:inset-x-2{left:.5rem;right:.5rem}.md\:inset-x-3{left:.75rem;right:.75rem}.md\:inset-x-4{left:1rem;right:1rem}.md\:inset-x-5{left:1.25rem;right:1.25rem}.md\:inset-x-6{left:1.5rem;right:1.5rem}.md\:inset-x-7{left:1.75rem;right:1.75rem}.md\:inset-x-8{left:2rem;right:2rem}.md\:inset-x-9{left:2.25rem;right:2.25rem}.md\:inset-x-10{left:2.5rem;right:2.5rem}.md\:inset-x-11{left:2.75rem;right:2.75rem}.md\:inset-x-12{left:3rem;right:3rem}.md\:inset-x-14{left:3.5rem;right:3.5rem}.md\:inset-x-16{left:4rem;right:4rem}.md\:inset-x-20{left:5rem;right:5rem}.md\:inset-x-24{left:6rem;right:6rem}.md\:inset-x-28{left:7rem;right:7rem}.md\:inset-x-32{left:8rem;right:8rem}.md\:inset-x-36{left:9rem;right:9rem}.md\:inset-x-40{left:10rem;right:10rem}.md\:inset-x-44{left:11rem;right:11rem}.md\:inset-x-48{left:12rem;right:12rem}.md\:inset-x-52{left:13rem;right:13rem}.md\:inset-x-56{left:14rem;right:14rem}.md\:inset-x-60{left:15rem;right:15rem}.md\:inset-x-64{left:16rem;right:16rem}.md\:inset-x-72{left:18rem;right:18rem}.md\:inset-x-80{left:20rem;right:20rem}.md\:inset-x-96{left:24rem;right:24rem}.md\:inset-x-auto{left:auto;right:auto}.md\:inset-x-px{left:1px;right:1px}.md\:inset-x-0\.5{left:.125rem;right:.125rem}.md\:inset-x-1\.5{left:.375rem;right:.375rem}.md\:inset-x-2\.5{left:.625rem;right:.625rem}.md\:inset-x-3\.5{left:.875rem;right:.875rem}.md\:-inset-x-0{left:0;right:0}.md\:-inset-x-1{left:-.25rem;right:-.25rem}.md\:-inset-x-2{left:-.5rem;right:-.5rem}.md\:-inset-x-3{left:-.75rem;right:-.75rem}.md\:-inset-x-4{left:-1rem;right:-1rem}.md\:-inset-x-5{left:-1.25rem;right:-1.25rem}.md\:-inset-x-6{left:-1.5rem;right:-1.5rem}.md\:-inset-x-7{left:-1.75rem;right:-1.75rem}.md\:-inset-x-8{left:-2rem;right:-2rem}.md\:-inset-x-9{left:-2.25rem;right:-2.25rem}.md\:-inset-x-10{left:-2.5rem;right:-2.5rem}.md\:-inset-x-11{left:-2.75rem;right:-2.75rem}.md\:-inset-x-12{left:-3rem;right:-3rem}.md\:-inset-x-14{left:-3.5rem;right:-3.5rem}.md\:-inset-x-16{left:-4rem;right:-4rem}.md\:-inset-x-20{left:-5rem;right:-5rem}.md\:-inset-x-24{left:-6rem;right:-6rem}.md\:-inset-x-28{left:-7rem;right:-7rem}.md\:-inset-x-32{left:-8rem;right:-8rem}.md\:-inset-x-36{left:-9rem;right:-9rem}.md\:-inset-x-40{left:-10rem;right:-10rem}.md\:-inset-x-44{left:-11rem;right:-11rem}.md\:-inset-x-48{left:-12rem;right:-12rem}.md\:-inset-x-52{left:-13rem;right:-13rem}.md\:-inset-x-56{left:-14rem;right:-14rem}.md\:-inset-x-60{left:-15rem;right:-15rem}.md\:-inset-x-64{left:-16rem;right:-16rem}.md\:-inset-x-72{left:-18rem;right:-18rem}.md\:-inset-x-80{left:-20rem;right:-20rem}.md\:-inset-x-96{left:-24rem;right:-24rem}.md\:-inset-x-px{left:-1px;right:-1px}.md\:-inset-x-0\.5{left:-.125rem;right:-.125rem}.md\:-inset-x-1\.5{left:-.375rem;right:-.375rem}.md\:-inset-x-2\.5{left:-.625rem;right:-.625rem}.md\:-inset-x-3\.5{left:-.875rem;right:-.875rem}.md\:inset-x-1\/2{left:50%;right:50%}.md\:inset-x-1\/3{left:33.333333%;right:33.333333%}.md\:inset-x-2\/3{left:66.666667%;right:66.666667%}.md\:inset-x-1\/4{left:25%;right:25%}.md\:inset-x-2\/4{left:50%;right:50%}.md\:inset-x-3\/4{left:75%;right:75%}.md\:inset-x-full{left:100%;right:100%}.md\:-inset-x-1\/2{left:-50%;right:-50%}.md\:-inset-x-1\/3{left:-33.333333%;right:-33.333333%}.md\:-inset-x-2\/3{left:-66.666667%;right:-66.666667%}.md\:-inset-x-1\/4{left:-25%;right:-25%}.md\:-inset-x-2\/4{left:-50%;right:-50%}.md\:-inset-x-3\/4{left:-75%;right:-75%}.md\:-inset-x-full{left:-100%;right:-100%}.md\:inset-y-0{top:0;bottom:0}.md\:inset-y-1{top:.25rem;bottom:.25rem}.md\:inset-y-2{top:.5rem;bottom:.5rem}.md\:inset-y-3{top:.75rem;bottom:.75rem}.md\:inset-y-4{top:1rem;bottom:1rem}.md\:inset-y-5{top:1.25rem;bottom:1.25rem}.md\:inset-y-6{top:1.5rem;bottom:1.5rem}.md\:inset-y-7{top:1.75rem;bottom:1.75rem}.md\:inset-y-8{top:2rem;bottom:2rem}.md\:inset-y-9{top:2.25rem;bottom:2.25rem}.md\:inset-y-10{top:2.5rem;bottom:2.5rem}.md\:inset-y-11{top:2.75rem;bottom:2.75rem}.md\:inset-y-12{top:3rem;bottom:3rem}.md\:inset-y-14{top:3.5rem;bottom:3.5rem}.md\:inset-y-16{top:4rem;bottom:4rem}.md\:inset-y-20{top:5rem;bottom:5rem}.md\:inset-y-24{top:6rem;bottom:6rem}.md\:inset-y-28{top:7rem;bottom:7rem}.md\:inset-y-32{top:8rem;bottom:8rem}.md\:inset-y-36{top:9rem;bottom:9rem}.md\:inset-y-40{top:10rem;bottom:10rem}.md\:inset-y-44{top:11rem;bottom:11rem}.md\:inset-y-48{top:12rem;bottom:12rem}.md\:inset-y-52{top:13rem;bottom:13rem}.md\:inset-y-56{top:14rem;bottom:14rem}.md\:inset-y-60{top:15rem;bottom:15rem}.md\:inset-y-64{top:16rem;bottom:16rem}.md\:inset-y-72{top:18rem;bottom:18rem}.md\:inset-y-80{top:20rem;bottom:20rem}.md\:inset-y-96{top:24rem;bottom:24rem}.md\:inset-y-auto{top:auto;bottom:auto}.md\:inset-y-px{top:1px;bottom:1px}.md\:inset-y-0\.5{top:.125rem;bottom:.125rem}.md\:inset-y-1\.5{top:.375rem;bottom:.375rem}.md\:inset-y-2\.5{top:.625rem;bottom:.625rem}.md\:inset-y-3\.5{top:.875rem;bottom:.875rem}.md\:-inset-y-0{top:0;bottom:0}.md\:-inset-y-1{top:-.25rem;bottom:-.25rem}.md\:-inset-y-2{top:-.5rem;bottom:-.5rem}.md\:-inset-y-3{top:-.75rem;bottom:-.75rem}.md\:-inset-y-4{top:-1rem;bottom:-1rem}.md\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.md\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.md\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.md\:-inset-y-8{top:-2rem;bottom:-2rem}.md\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.md\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.md\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.md\:-inset-y-12{top:-3rem;bottom:-3rem}.md\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.md\:-inset-y-16{top:-4rem;bottom:-4rem}.md\:-inset-y-20{top:-5rem;bottom:-5rem}.md\:-inset-y-24{top:-6rem;bottom:-6rem}.md\:-inset-y-28{top:-7rem;bottom:-7rem}.md\:-inset-y-32{top:-8rem;bottom:-8rem}.md\:-inset-y-36{top:-9rem;bottom:-9rem}.md\:-inset-y-40{top:-10rem;bottom:-10rem}.md\:-inset-y-44{top:-11rem;bottom:-11rem}.md\:-inset-y-48{top:-12rem;bottom:-12rem}.md\:-inset-y-52{top:-13rem;bottom:-13rem}.md\:-inset-y-56{top:-14rem;bottom:-14rem}.md\:-inset-y-60{top:-15rem;bottom:-15rem}.md\:-inset-y-64{top:-16rem;bottom:-16rem}.md\:-inset-y-72{top:-18rem;bottom:-18rem}.md\:-inset-y-80{top:-20rem;bottom:-20rem}.md\:-inset-y-96{top:-24rem;bottom:-24rem}.md\:-inset-y-px{top:-1px;bottom:-1px}.md\:-inset-y-0\.5{top:-.125rem;bottom:-.125rem}.md\:-inset-y-1\.5{top:-.375rem;bottom:-.375rem}.md\:-inset-y-2\.5{top:-.625rem;bottom:-.625rem}.md\:-inset-y-3\.5{top:-.875rem;bottom:-.875rem}.md\:inset-y-1\/2{top:50%;bottom:50%}.md\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.md\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.md\:inset-y-1\/4{top:25%;bottom:25%}.md\:inset-y-2\/4{top:50%;bottom:50%}.md\:inset-y-3\/4{top:75%;bottom:75%}.md\:inset-y-full{top:100%;bottom:100%}.md\:-inset-y-1\/2{top:-50%;bottom:-50%}.md\:-inset-y-1\/3{top:-33.333333%;bottom:-33.333333%}.md\:-inset-y-2\/3{top:-66.666667%;bottom:-66.666667%}.md\:-inset-y-1\/4{top:-25%;bottom:-25%}.md\:-inset-y-2\/4{top:-50%;bottom:-50%}.md\:-inset-y-3\/4{top:-75%;bottom:-75%}.md\:-inset-y-full{top:-100%;bottom:-100%}.md\:top-0{top:0}.md\:top-1{top:.25rem}.md\:top-2{top:.5rem}.md\:top-3{top:.75rem}.md\:top-4{top:1rem}.md\:top-5{top:1.25rem}.md\:top-6{top:1.5rem}.md\:top-7{top:1.75rem}.md\:top-8{top:2rem}.md\:top-9{top:2.25rem}.md\:top-10{top:2.5rem}.md\:top-11{top:2.75rem}.md\:top-12{top:3rem}.md\:top-14{top:3.5rem}.md\:top-16{top:4rem}.md\:top-20{top:5rem}.md\:top-24{top:6rem}.md\:top-28{top:7rem}.md\:top-32{top:8rem}.md\:top-36{top:9rem}.md\:top-40{top:10rem}.md\:top-44{top:11rem}.md\:top-48{top:12rem}.md\:top-52{top:13rem}.md\:top-56{top:14rem}.md\:top-60{top:15rem}.md\:top-64{top:16rem}.md\:top-72{top:18rem}.md\:top-80{top:20rem}.md\:top-96{top:24rem}.md\:top-auto{top:auto}.md\:top-px{top:1px}.md\:top-0\.5{top:.125rem}.md\:top-1\.5{top:.375rem}.md\:top-2\.5{top:.625rem}.md\:top-3\.5{top:.875rem}.md\:-top-0{top:0}.md\:-top-1{top:-.25rem}.md\:-top-2{top:-.5rem}.md\:-top-3{top:-.75rem}.md\:-top-4{top:-1rem}.md\:-top-5{top:-1.25rem}.md\:-top-6{top:-1.5rem}.md\:-top-7{top:-1.75rem}.md\:-top-8{top:-2rem}.md\:-top-9{top:-2.25rem}.md\:-top-10{top:-2.5rem}.md\:-top-11{top:-2.75rem}.md\:-top-12{top:-3rem}.md\:-top-14{top:-3.5rem}.md\:-top-16{top:-4rem}.md\:-top-20{top:-5rem}.md\:-top-24{top:-6rem}.md\:-top-28{top:-7rem}.md\:-top-32{top:-8rem}.md\:-top-36{top:-9rem}.md\:-top-40{top:-10rem}.md\:-top-44{top:-11rem}.md\:-top-48{top:-12rem}.md\:-top-52{top:-13rem}.md\:-top-56{top:-14rem}.md\:-top-60{top:-15rem}.md\:-top-64{top:-16rem}.md\:-top-72{top:-18rem}.md\:-top-80{top:-20rem}.md\:-top-96{top:-24rem}.md\:-top-px{top:-1px}.md\:-top-0\.5{top:-.125rem}.md\:-top-1\.5{top:-.375rem}.md\:-top-2\.5{top:-.625rem}.md\:-top-3\.5{top:-.875rem}.md\:top-1\/2{top:50%}.md\:top-1\/3{top:33.333333%}.md\:top-2\/3{top:66.666667%}.md\:top-1\/4{top:25%}.md\:top-2\/4{top:50%}.md\:top-3\/4{top:75%}.md\:top-full{top:100%}.md\:-top-1\/2{top:-50%}.md\:-top-1\/3{top:-33.333333%}.md\:-top-2\/3{top:-66.666667%}.md\:-top-1\/4{top:-25%}.md\:-top-2\/4{top:-50%}.md\:-top-3\/4{top:-75%}.md\:-top-full{top:-100%}.md\:right-0{right:0}.md\:right-1{right:.25rem}.md\:right-2{right:.5rem}.md\:right-3{right:.75rem}.md\:right-4{right:1rem}.md\:right-5{right:1.25rem}.md\:right-6{right:1.5rem}.md\:right-7{right:1.75rem}.md\:right-8{right:2rem}.md\:right-9{right:2.25rem}.md\:right-10{right:2.5rem}.md\:right-11{right:2.75rem}.md\:right-12{right:3rem}.md\:right-14{right:3.5rem}.md\:right-16{right:4rem}.md\:right-20{right:5rem}.md\:right-24{right:6rem}.md\:right-28{right:7rem}.md\:right-32{right:8rem}.md\:right-36{right:9rem}.md\:right-40{right:10rem}.md\:right-44{right:11rem}.md\:right-48{right:12rem}.md\:right-52{right:13rem}.md\:right-56{right:14rem}.md\:right-60{right:15rem}.md\:right-64{right:16rem}.md\:right-72{right:18rem}.md\:right-80{right:20rem}.md\:right-96{right:24rem}.md\:right-auto{right:auto}.md\:right-px{right:1px}.md\:right-0\.5{right:.125rem}.md\:right-1\.5{right:.375rem}.md\:right-2\.5{right:.625rem}.md\:right-3\.5{right:.875rem}.md\:-right-0{right:0}.md\:-right-1{right:-.25rem}.md\:-right-2{right:-.5rem}.md\:-right-3{right:-.75rem}.md\:-right-4{right:-1rem}.md\:-right-5{right:-1.25rem}.md\:-right-6{right:-1.5rem}.md\:-right-7{right:-1.75rem}.md\:-right-8{right:-2rem}.md\:-right-9{right:-2.25rem}.md\:-right-10{right:-2.5rem}.md\:-right-11{right:-2.75rem}.md\:-right-12{right:-3rem}.md\:-right-14{right:-3.5rem}.md\:-right-16{right:-4rem}.md\:-right-20{right:-5rem}.md\:-right-24{right:-6rem}.md\:-right-28{right:-7rem}.md\:-right-32{right:-8rem}.md\:-right-36{right:-9rem}.md\:-right-40{right:-10rem}.md\:-right-44{right:-11rem}.md\:-right-48{right:-12rem}.md\:-right-52{right:-13rem}.md\:-right-56{right:-14rem}.md\:-right-60{right:-15rem}.md\:-right-64{right:-16rem}.md\:-right-72{right:-18rem}.md\:-right-80{right:-20rem}.md\:-right-96{right:-24rem}.md\:-right-px{right:-1px}.md\:-right-0\.5{right:-.125rem}.md\:-right-1\.5{right:-.375rem}.md\:-right-2\.5{right:-.625rem}.md\:-right-3\.5{right:-.875rem}.md\:right-1\/2{right:50%}.md\:right-1\/3{right:33.333333%}.md\:right-2\/3{right:66.666667%}.md\:right-1\/4{right:25%}.md\:right-2\/4{right:50%}.md\:right-3\/4{right:75%}.md\:right-full{right:100%}.md\:-right-1\/2{right:-50%}.md\:-right-1\/3{right:-33.333333%}.md\:-right-2\/3{right:-66.666667%}.md\:-right-1\/4{right:-25%}.md\:-right-2\/4{right:-50%}.md\:-right-3\/4{right:-75%}.md\:-right-full{right:-100%}.md\:bottom-0{bottom:0}.md\:bottom-1{bottom:.25rem}.md\:bottom-2{bottom:.5rem}.md\:bottom-3{bottom:.75rem}.md\:bottom-4{bottom:1rem}.md\:bottom-5{bottom:1.25rem}.md\:bottom-6{bottom:1.5rem}.md\:bottom-7{bottom:1.75rem}.md\:bottom-8{bottom:2rem}.md\:bottom-9{bottom:2.25rem}.md\:bottom-10{bottom:2.5rem}.md\:bottom-11{bottom:2.75rem}.md\:bottom-12{bottom:3rem}.md\:bottom-14{bottom:3.5rem}.md\:bottom-16{bottom:4rem}.md\:bottom-20{bottom:5rem}.md\:bottom-24{bottom:6rem}.md\:bottom-28{bottom:7rem}.md\:bottom-32{bottom:8rem}.md\:bottom-36{bottom:9rem}.md\:bottom-40{bottom:10rem}.md\:bottom-44{bottom:11rem}.md\:bottom-48{bottom:12rem}.md\:bottom-52{bottom:13rem}.md\:bottom-56{bottom:14rem}.md\:bottom-60{bottom:15rem}.md\:bottom-64{bottom:16rem}.md\:bottom-72{bottom:18rem}.md\:bottom-80{bottom:20rem}.md\:bottom-96{bottom:24rem}.md\:bottom-auto{bottom:auto}.md\:bottom-px{bottom:1px}.md\:bottom-0\.5{bottom:.125rem}.md\:bottom-1\.5{bottom:.375rem}.md\:bottom-2\.5{bottom:.625rem}.md\:bottom-3\.5{bottom:.875rem}.md\:-bottom-0{bottom:0}.md\:-bottom-1{bottom:-.25rem}.md\:-bottom-2{bottom:-.5rem}.md\:-bottom-3{bottom:-.75rem}.md\:-bottom-4{bottom:-1rem}.md\:-bottom-5{bottom:-1.25rem}.md\:-bottom-6{bottom:-1.5rem}.md\:-bottom-7{bottom:-1.75rem}.md\:-bottom-8{bottom:-2rem}.md\:-bottom-9{bottom:-2.25rem}.md\:-bottom-10{bottom:-2.5rem}.md\:-bottom-11{bottom:-2.75rem}.md\:-bottom-12{bottom:-3rem}.md\:-bottom-14{bottom:-3.5rem}.md\:-bottom-16{bottom:-4rem}.md\:-bottom-20{bottom:-5rem}.md\:-bottom-24{bottom:-6rem}.md\:-bottom-28{bottom:-7rem}.md\:-bottom-32{bottom:-8rem}.md\:-bottom-36{bottom:-9rem}.md\:-bottom-40{bottom:-10rem}.md\:-bottom-44{bottom:-11rem}.md\:-bottom-48{bottom:-12rem}.md\:-bottom-52{bottom:-13rem}.md\:-bottom-56{bottom:-14rem}.md\:-bottom-60{bottom:-15rem}.md\:-bottom-64{bottom:-16rem}.md\:-bottom-72{bottom:-18rem}.md\:-bottom-80{bottom:-20rem}.md\:-bottom-96{bottom:-24rem}.md\:-bottom-px{bottom:-1px}.md\:-bottom-0\.5{bottom:-.125rem}.md\:-bottom-1\.5{bottom:-.375rem}.md\:-bottom-2\.5{bottom:-.625rem}.md\:-bottom-3\.5{bottom:-.875rem}.md\:bottom-1\/2{bottom:50%}.md\:bottom-1\/3{bottom:33.333333%}.md\:bottom-2\/3{bottom:66.666667%}.md\:bottom-1\/4{bottom:25%}.md\:bottom-2\/4{bottom:50%}.md\:bottom-3\/4{bottom:75%}.md\:bottom-full{bottom:100%}.md\:-bottom-1\/2{bottom:-50%}.md\:-bottom-1\/3{bottom:-33.333333%}.md\:-bottom-2\/3{bottom:-66.666667%}.md\:-bottom-1\/4{bottom:-25%}.md\:-bottom-2\/4{bottom:-50%}.md\:-bottom-3\/4{bottom:-75%}.md\:-bottom-full{bottom:-100%}.md\:left-0{left:0}.md\:left-1{left:.25rem}.md\:left-2{left:.5rem}.md\:left-3{left:.75rem}.md\:left-4{left:1rem}.md\:left-5{left:1.25rem}.md\:left-6{left:1.5rem}.md\:left-7{left:1.75rem}.md\:left-8{left:2rem}.md\:left-9{left:2.25rem}.md\:left-10{left:2.5rem}.md\:left-11{left:2.75rem}.md\:left-12{left:3rem}.md\:left-14{left:3.5rem}.md\:left-16{left:4rem}.md\:left-20{left:5rem}.md\:left-24{left:6rem}.md\:left-28{left:7rem}.md\:left-32{left:8rem}.md\:left-36{left:9rem}.md\:left-40{left:10rem}.md\:left-44{left:11rem}.md\:left-48{left:12rem}.md\:left-52{left:13rem}.md\:left-56{left:14rem}.md\:left-60{left:15rem}.md\:left-64{left:16rem}.md\:left-72{left:18rem}.md\:left-80{left:20rem}.md\:left-96{left:24rem}.md\:left-auto{left:auto}.md\:left-px{left:1px}.md\:left-0\.5{left:.125rem}.md\:left-1\.5{left:.375rem}.md\:left-2\.5{left:.625rem}.md\:left-3\.5{left:.875rem}.md\:-left-0{left:0}.md\:-left-1{left:-.25rem}.md\:-left-2{left:-.5rem}.md\:-left-3{left:-.75rem}.md\:-left-4{left:-1rem}.md\:-left-5{left:-1.25rem}.md\:-left-6{left:-1.5rem}.md\:-left-7{left:-1.75rem}.md\:-left-8{left:-2rem}.md\:-left-9{left:-2.25rem}.md\:-left-10{left:-2.5rem}.md\:-left-11{left:-2.75rem}.md\:-left-12{left:-3rem}.md\:-left-14{left:-3.5rem}.md\:-left-16{left:-4rem}.md\:-left-20{left:-5rem}.md\:-left-24{left:-6rem}.md\:-left-28{left:-7rem}.md\:-left-32{left:-8rem}.md\:-left-36{left:-9rem}.md\:-left-40{left:-10rem}.md\:-left-44{left:-11rem}.md\:-left-48{left:-12rem}.md\:-left-52{left:-13rem}.md\:-left-56{left:-14rem}.md\:-left-60{left:-15rem}.md\:-left-64{left:-16rem}.md\:-left-72{left:-18rem}.md\:-left-80{left:-20rem}.md\:-left-96{left:-24rem}.md\:-left-px{left:-1px}.md\:-left-0\.5{left:-.125rem}.md\:-left-1\.5{left:-.375rem}.md\:-left-2\.5{left:-.625rem}.md\:-left-3\.5{left:-.875rem}.md\:left-1\/2{left:50%}.md\:left-1\/3{left:33.333333%}.md\:left-2\/3{left:66.666667%}.md\:left-1\/4{left:25%}.md\:left-2\/4{left:50%}.md\:left-3\/4{left:75%}.md\:left-full{left:100%}.md\:-left-1\/2{left:-50%}.md\:-left-1\/3{left:-33.333333%}.md\:-left-2\/3{left:-66.666667%}.md\:-left-1\/4{left:-25%}.md\:-left-2\/4{left:-50%}.md\:-left-3\/4{left:-75%}.md\:-left-full{left:-100%}.md\:isolate{isolation:isolate}.md\:isolation-auto{isolation:auto}.md\:z-0{z-index:0}.md\:z-10{z-index:10}.md\:z-20{z-index:20}.md\:z-30{z-index:30}.md\:z-40{z-index:40}.md\:z-50{z-index:50}.md\:z-auto{z-index:auto}.md\:focus-within\:z-0:focus-within{z-index:0}.md\:focus-within\:z-10:focus-within{z-index:10}.md\:focus-within\:z-20:focus-within{z-index:20}.md\:focus-within\:z-30:focus-within{z-index:30}.md\:focus-within\:z-40:focus-within{z-index:40}.md\:focus-within\:z-50:focus-within{z-index:50}.md\:focus-within\:z-auto:focus-within{z-index:auto}.md\:focus\:z-0:focus{z-index:0}.md\:focus\:z-10:focus{z-index:10}.md\:focus\:z-20:focus{z-index:20}.md\:focus\:z-30:focus{z-index:30}.md\:focus\:z-40:focus{z-index:40}.md\:focus\:z-50:focus{z-index:50}.md\:focus\:z-auto:focus{z-index:auto}.md\:order-1{order:1}.md\:order-2{order:2}.md\:order-3{order:3}.md\:order-4{order:4}.md\:order-5{order:5}.md\:order-6{order:6}.md\:order-7{order:7}.md\:order-8{order:8}.md\:order-9{order:9}.md\:order-10{order:10}.md\:order-11{order:11}.md\:order-12{order:12}.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:order-none{order:0}.md\:col-auto{grid-column:auto}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-full{grid-column:1/-1}.md\:col-start-1{grid-column-start:1}.md\:col-start-2{grid-column-start:2}.md\:col-start-3{grid-column-start:3}.md\:col-start-4{grid-column-start:4}.md\:col-start-5{grid-column-start:5}.md\:col-start-6{grid-column-start:6}.md\:col-start-7{grid-column-start:7}.md\:col-start-8{grid-column-start:8}.md\:col-start-9{grid-column-start:9}.md\:col-start-10{grid-column-start:10}.md\:col-start-11{grid-column-start:11}.md\:col-start-12{grid-column-start:12}.md\:col-start-13{grid-column-start:13}.md\:col-start-auto{grid-column-start:auto}.md\:col-end-1{grid-column-end:1}.md\:col-end-2{grid-column-end:2}.md\:col-end-3{grid-column-end:3}.md\:col-end-4{grid-column-end:4}.md\:col-end-5{grid-column-end:5}.md\:col-end-6{grid-column-end:6}.md\:col-end-7{grid-column-end:7}.md\:col-end-8{grid-column-end:8}.md\:col-end-9{grid-column-end:9}.md\:col-end-10{grid-column-end:10}.md\:col-end-11{grid-column-end:11}.md\:col-end-12{grid-column-end:12}.md\:col-end-13{grid-column-end:13}.md\:col-end-auto{grid-column-end:auto}.md\:row-auto{grid-row:auto}.md\:row-span-1{grid-row:span 1/span 1}.md\:row-span-2{grid-row:span 2/span 2}.md\:row-span-3{grid-row:span 3/span 3}.md\:row-span-4{grid-row:span 4/span 4}.md\:row-span-5{grid-row:span 5/span 5}.md\:row-span-6{grid-row:span 6/span 6}.md\:row-span-full{grid-row:1/-1}.md\:row-start-1{grid-row-start:1}.md\:row-start-2{grid-row-start:2}.md\:row-start-3{grid-row-start:3}.md\:row-start-4{grid-row-start:4}.md\:row-start-5{grid-row-start:5}.md\:row-start-6{grid-row-start:6}.md\:row-start-7{grid-row-start:7}.md\:row-start-auto{grid-row-start:auto}.md\:row-end-1{grid-row-end:1}.md\:row-end-2{grid-row-end:2}.md\:row-end-3{grid-row-end:3}.md\:row-end-4{grid-row-end:4}.md\:row-end-5{grid-row-end:5}.md\:row-end-6{grid-row-end:6}.md\:row-end-7{grid-row-end:7}.md\:row-end-auto{grid-row-end:auto}.md\:float-right{float:right}.md\:float-left{float:left}.md\:float-none{float:none}.md\:clear-left{clear:left}.md\:clear-right{clear:right}.md\:clear-both{clear:both}.md\:clear-none{clear:none}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-5{margin:1.25rem}.md\:m-6{margin:1.5rem}.md\:m-7{margin:1.75rem}.md\:m-8{margin:2rem}.md\:m-9{margin:2.25rem}.md\:m-10{margin:2.5rem}.md\:m-11{margin:2.75rem}.md\:m-12{margin:3rem}.md\:m-14{margin:3.5rem}.md\:m-16{margin:4rem}.md\:m-20{margin:5rem}.md\:m-24{margin:6rem}.md\:m-28{margin:7rem}.md\:m-32{margin:8rem}.md\:m-36{margin:9rem}.md\:m-40{margin:10rem}.md\:m-44{margin:11rem}.md\:m-48{margin:12rem}.md\:m-52{margin:13rem}.md\:m-56{margin:14rem}.md\:m-60{margin:15rem}.md\:m-64{margin:16rem}.md\:m-72{margin:18rem}.md\:m-80{margin:20rem}.md\:m-96{margin:24rem}.md\:m-auto{margin:auto}.md\:m-px{margin:1px}.md\:m-0\.5{margin:.125rem}.md\:m-1\.5{margin:.375rem}.md\:m-2\.5{margin:.625rem}.md\:m-3\.5{margin:.875rem}.md\:-m-0{margin:0}.md\:-m-1{margin:-.25rem}.md\:-m-2{margin:-.5rem}.md\:-m-3{margin:-.75rem}.md\:-m-4{margin:-1rem}.md\:-m-5{margin:-1.25rem}.md\:-m-6{margin:-1.5rem}.md\:-m-7{margin:-1.75rem}.md\:-m-8{margin:-2rem}.md\:-m-9{margin:-2.25rem}.md\:-m-10{margin:-2.5rem}.md\:-m-11{margin:-2.75rem}.md\:-m-12{margin:-3rem}.md\:-m-14{margin:-3.5rem}.md\:-m-16{margin:-4rem}.md\:-m-20{margin:-5rem}.md\:-m-24{margin:-6rem}.md\:-m-28{margin:-7rem}.md\:-m-32{margin:-8rem}.md\:-m-36{margin:-9rem}.md\:-m-40{margin:-10rem}.md\:-m-44{margin:-11rem}.md\:-m-48{margin:-12rem}.md\:-m-52{margin:-13rem}.md\:-m-56{margin:-14rem}.md\:-m-60{margin:-15rem}.md\:-m-64{margin:-16rem}.md\:-m-72{margin:-18rem}.md\:-m-80{margin:-20rem}.md\:-m-96{margin:-24rem}.md\:-m-px{margin:-1px}.md\:-m-0\.5{margin:-.125rem}.md\:-m-1\.5{margin:-.375rem}.md\:-m-2\.5{margin:-.625rem}.md\:-m-3\.5{margin:-.875rem}.md\:mx-0{margin-left:0;margin-right:0}.md\:mx-1{margin-left:.25rem;margin-right:.25rem}.md\:mx-2{margin-left:.5rem;margin-right:.5rem}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.md\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.md\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.md\:mx-12{margin-left:3rem;margin-right:3rem}.md\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:mx-20{margin-left:5rem;margin-right:5rem}.md\:mx-24{margin-left:6rem;margin-right:6rem}.md\:mx-28{margin-left:7rem;margin-right:7rem}.md\:mx-32{margin-left:8rem;margin-right:8rem}.md\:mx-36{margin-left:9rem;margin-right:9rem}.md\:mx-40{margin-left:10rem;margin-right:10rem}.md\:mx-44{margin-left:11rem;margin-right:11rem}.md\:mx-48{margin-left:12rem;margin-right:12rem}.md\:mx-52{margin-left:13rem;margin-right:13rem}.md\:mx-56{margin-left:14rem;margin-right:14rem}.md\:mx-60{margin-left:15rem;margin-right:15rem}.md\:mx-64{margin-left:16rem;margin-right:16rem}.md\:mx-72{margin-left:18rem;margin-right:18rem}.md\:mx-80{margin-left:20rem;margin-right:20rem}.md\:mx-96{margin-left:24rem;margin-right:24rem}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:mx-px{margin-left:1px;margin-right:1px}.md\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.md\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.md\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.md\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.md\:-mx-0{margin-left:0;margin-right:0}.md\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.md\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.md\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.md\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.md\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.md\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.md\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.md\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.md\:-mx-12{margin-left:-3rem;margin-right:-3rem}.md\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.md\:-mx-16{margin-left:-4rem;margin-right:-4rem}.md\:-mx-20{margin-left:-5rem;margin-right:-5rem}.md\:-mx-24{margin-left:-6rem;margin-right:-6rem}.md\:-mx-28{margin-left:-7rem;margin-right:-7rem}.md\:-mx-32{margin-left:-8rem;margin-right:-8rem}.md\:-mx-36{margin-left:-9rem;margin-right:-9rem}.md\:-mx-40{margin-left:-10rem;margin-right:-10rem}.md\:-mx-44{margin-left:-11rem;margin-right:-11rem}.md\:-mx-48{margin-left:-12rem;margin-right:-12rem}.md\:-mx-52{margin-left:-13rem;margin-right:-13rem}.md\:-mx-56{margin-left:-14rem;margin-right:-14rem}.md\:-mx-60{margin-left:-15rem;margin-right:-15rem}.md\:-mx-64{margin-left:-16rem;margin-right:-16rem}.md\:-mx-72{margin-left:-18rem;margin-right:-18rem}.md\:-mx-80{margin-left:-20rem;margin-right:-20rem}.md\:-mx-96{margin-left:-24rem;margin-right:-24rem}.md\:-mx-px{margin-left:-1px;margin-right:-1px}.md\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.md\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.md\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.md\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.md\:my-0{margin-top:0;margin-bottom:0}.md\:my-1{margin-top:.25rem;margin-bottom:.25rem}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:my-3{margin-top:.75rem;margin-bottom:.75rem}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.md\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.md\:my-12{margin-top:3rem;margin-bottom:3rem}.md\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.md\:my-16{margin-top:4rem;margin-bottom:4rem}.md\:my-20{margin-top:5rem;margin-bottom:5rem}.md\:my-24{margin-top:6rem;margin-bottom:6rem}.md\:my-28{margin-top:7rem;margin-bottom:7rem}.md\:my-32{margin-top:8rem;margin-bottom:8rem}.md\:my-36{margin-top:9rem;margin-bottom:9rem}.md\:my-40{margin-top:10rem;margin-bottom:10rem}.md\:my-44{margin-top:11rem;margin-bottom:11rem}.md\:my-48{margin-top:12rem;margin-bottom:12rem}.md\:my-52{margin-top:13rem;margin-bottom:13rem}.md\:my-56{margin-top:14rem;margin-bottom:14rem}.md\:my-60{margin-top:15rem;margin-bottom:15rem}.md\:my-64{margin-top:16rem;margin-bottom:16rem}.md\:my-72{margin-top:18rem;margin-bottom:18rem}.md\:my-80{margin-top:20rem;margin-bottom:20rem}.md\:my-96{margin-top:24rem;margin-bottom:24rem}.md\:my-auto{margin-top:auto;margin-bottom:auto}.md\:my-px{margin-top:1px;margin-bottom:1px}.md\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.md\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.md\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.md\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.md\:-my-0{margin-top:0;margin-bottom:0}.md\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.md\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.md\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.md\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.md\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.md\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.md\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.md\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.md\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.md\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.md\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.md\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.md\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.md\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.md\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.md\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.md\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.md\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.md\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.md\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.md\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.md\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.md\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.md\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.md\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.md\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.md\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.md\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.md\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.md\:-my-px{margin-top:-1px;margin-bottom:-1px}.md\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.md\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.md\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.md\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.md\:mt-0{margin-top:0}.md\:mt-1{margin-top:.25rem}.md\:mt-2{margin-top:.5rem}.md\:mt-3{margin-top:.75rem}.md\:mt-4{margin-top:1rem}.md\:mt-5{margin-top:1.25rem}.md\:mt-6{margin-top:1.5rem}.md\:mt-7{margin-top:1.75rem}.md\:mt-8{margin-top:2rem}.md\:mt-9{margin-top:2.25rem}.md\:mt-10{margin-top:2.5rem}.md\:mt-11{margin-top:2.75rem}.md\:mt-12{margin-top:3rem}.md\:mt-14{margin-top:3.5rem}.md\:mt-16{margin-top:4rem}.md\:mt-20{margin-top:5rem}.md\:mt-24{margin-top:6rem}.md\:mt-28{margin-top:7rem}.md\:mt-32{margin-top:8rem}.md\:mt-36{margin-top:9rem}.md\:mt-40{margin-top:10rem}.md\:mt-44{margin-top:11rem}.md\:mt-48{margin-top:12rem}.md\:mt-52{margin-top:13rem}.md\:mt-56{margin-top:14rem}.md\:mt-60{margin-top:15rem}.md\:mt-64{margin-top:16rem}.md\:mt-72{margin-top:18rem}.md\:mt-80{margin-top:20rem}.md\:mt-96{margin-top:24rem}.md\:mt-auto{margin-top:auto}.md\:mt-px{margin-top:1px}.md\:mt-0\.5{margin-top:.125rem}.md\:mt-1\.5{margin-top:.375rem}.md\:mt-2\.5{margin-top:.625rem}.md\:mt-3\.5{margin-top:.875rem}.md\:-mt-0{margin-top:0}.md\:-mt-1{margin-top:-.25rem}.md\:-mt-2{margin-top:-.5rem}.md\:-mt-3{margin-top:-.75rem}.md\:-mt-4{margin-top:-1rem}.md\:-mt-5{margin-top:-1.25rem}.md\:-mt-6{margin-top:-1.5rem}.md\:-mt-7{margin-top:-1.75rem}.md\:-mt-8{margin-top:-2rem}.md\:-mt-9{margin-top:-2.25rem}.md\:-mt-10{margin-top:-2.5rem}.md\:-mt-11{margin-top:-2.75rem}.md\:-mt-12{margin-top:-3rem}.md\:-mt-14{margin-top:-3.5rem}.md\:-mt-16{margin-top:-4rem}.md\:-mt-20{margin-top:-5rem}.md\:-mt-24{margin-top:-6rem}.md\:-mt-28{margin-top:-7rem}.md\:-mt-32{margin-top:-8rem}.md\:-mt-36{margin-top:-9rem}.md\:-mt-40{margin-top:-10rem}.md\:-mt-44{margin-top:-11rem}.md\:-mt-48{margin-top:-12rem}.md\:-mt-52{margin-top:-13rem}.md\:-mt-56{margin-top:-14rem}.md\:-mt-60{margin-top:-15rem}.md\:-mt-64{margin-top:-16rem}.md\:-mt-72{margin-top:-18rem}.md\:-mt-80{margin-top:-20rem}.md\:-mt-96{margin-top:-24rem}.md\:-mt-px{margin-top:-1px}.md\:-mt-0\.5{margin-top:-.125rem}.md\:-mt-1\.5{margin-top:-.375rem}.md\:-mt-2\.5{margin-top:-.625rem}.md\:-mt-3\.5{margin-top:-.875rem}.md\:mr-0{margin-right:0}.md\:mr-1{margin-right:.25rem}.md\:mr-2{margin-right:.5rem}.md\:mr-3{margin-right:.75rem}.md\:mr-4{margin-right:1rem}.md\:mr-5{margin-right:1.25rem}.md\:mr-6{margin-right:1.5rem}.md\:mr-7{margin-right:1.75rem}.md\:mr-8{margin-right:2rem}.md\:mr-9{margin-right:2.25rem}.md\:mr-10{margin-right:2.5rem}.md\:mr-11{margin-right:2.75rem}.md\:mr-12{margin-right:3rem}.md\:mr-14{margin-right:3.5rem}.md\:mr-16{margin-right:4rem}.md\:mr-20{margin-right:5rem}.md\:mr-24{margin-right:6rem}.md\:mr-28{margin-right:7rem}.md\:mr-32{margin-right:8rem}.md\:mr-36{margin-right:9rem}.md\:mr-40{margin-right:10rem}.md\:mr-44{margin-right:11rem}.md\:mr-48{margin-right:12rem}.md\:mr-52{margin-right:13rem}.md\:mr-56{margin-right:14rem}.md\:mr-60{margin-right:15rem}.md\:mr-64{margin-right:16rem}.md\:mr-72{margin-right:18rem}.md\:mr-80{margin-right:20rem}.md\:mr-96{margin-right:24rem}.md\:mr-auto{margin-right:auto}.md\:mr-px{margin-right:1px}.md\:mr-0\.5{margin-right:.125rem}.md\:mr-1\.5{margin-right:.375rem}.md\:mr-2\.5{margin-right:.625rem}.md\:mr-3\.5{margin-right:.875rem}.md\:-mr-0{margin-right:0}.md\:-mr-1{margin-right:-.25rem}.md\:-mr-2{margin-right:-.5rem}.md\:-mr-3{margin-right:-.75rem}.md\:-mr-4{margin-right:-1rem}.md\:-mr-5{margin-right:-1.25rem}.md\:-mr-6{margin-right:-1.5rem}.md\:-mr-7{margin-right:-1.75rem}.md\:-mr-8{margin-right:-2rem}.md\:-mr-9{margin-right:-2.25rem}.md\:-mr-10{margin-right:-2.5rem}.md\:-mr-11{margin-right:-2.75rem}.md\:-mr-12{margin-right:-3rem}.md\:-mr-14{margin-right:-3.5rem}.md\:-mr-16{margin-right:-4rem}.md\:-mr-20{margin-right:-5rem}.md\:-mr-24{margin-right:-6rem}.md\:-mr-28{margin-right:-7rem}.md\:-mr-32{margin-right:-8rem}.md\:-mr-36{margin-right:-9rem}.md\:-mr-40{margin-right:-10rem}.md\:-mr-44{margin-right:-11rem}.md\:-mr-48{margin-right:-12rem}.md\:-mr-52{margin-right:-13rem}.md\:-mr-56{margin-right:-14rem}.md\:-mr-60{margin-right:-15rem}.md\:-mr-64{margin-right:-16rem}.md\:-mr-72{margin-right:-18rem}.md\:-mr-80{margin-right:-20rem}.md\:-mr-96{margin-right:-24rem}.md\:-mr-px{margin-right:-1px}.md\:-mr-0\.5{margin-right:-.125rem}.md\:-mr-1\.5{margin-right:-.375rem}.md\:-mr-2\.5{margin-right:-.625rem}.md\:-mr-3\.5{margin-right:-.875rem}.md\:mb-0{margin-bottom:0}.md\:mb-1{margin-bottom:.25rem}.md\:mb-2{margin-bottom:.5rem}.md\:mb-3{margin-bottom:.75rem}.md\:mb-4{margin-bottom:1rem}.md\:mb-5{margin-bottom:1.25rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mb-7{margin-bottom:1.75rem}.md\:mb-8{margin-bottom:2rem}.md\:mb-9{margin-bottom:2.25rem}.md\:mb-10{margin-bottom:2.5rem}.md\:mb-11{margin-bottom:2.75rem}.md\:mb-12{margin-bottom:3rem}.md\:mb-14{margin-bottom:3.5rem}.md\:mb-16{margin-bottom:4rem}.md\:mb-20{margin-bottom:5rem}.md\:mb-24{margin-bottom:6rem}.md\:mb-28{margin-bottom:7rem}.md\:mb-32{margin-bottom:8rem}.md\:mb-36{margin-bottom:9rem}.md\:mb-40{margin-bottom:10rem}.md\:mb-44{margin-bottom:11rem}.md\:mb-48{margin-bottom:12rem}.md\:mb-52{margin-bottom:13rem}.md\:mb-56{margin-bottom:14rem}.md\:mb-60{margin-bottom:15rem}.md\:mb-64{margin-bottom:16rem}.md\:mb-72{margin-bottom:18rem}.md\:mb-80{margin-bottom:20rem}.md\:mb-96{margin-bottom:24rem}.md\:mb-auto{margin-bottom:auto}.md\:mb-px{margin-bottom:1px}.md\:mb-0\.5{margin-bottom:.125rem}.md\:mb-1\.5{margin-bottom:.375rem}.md\:mb-2\.5{margin-bottom:.625rem}.md\:mb-3\.5{margin-bottom:.875rem}.md\:-mb-0{margin-bottom:0}.md\:-mb-1{margin-bottom:-.25rem}.md\:-mb-2{margin-bottom:-.5rem}.md\:-mb-3{margin-bottom:-.75rem}.md\:-mb-4{margin-bottom:-1rem}.md\:-mb-5{margin-bottom:-1.25rem}.md\:-mb-6{margin-bottom:-1.5rem}.md\:-mb-7{margin-bottom:-1.75rem}.md\:-mb-8{margin-bottom:-2rem}.md\:-mb-9{margin-bottom:-2.25rem}.md\:-mb-10{margin-bottom:-2.5rem}.md\:-mb-11{margin-bottom:-2.75rem}.md\:-mb-12{margin-bottom:-3rem}.md\:-mb-14{margin-bottom:-3.5rem}.md\:-mb-16{margin-bottom:-4rem}.md\:-mb-20{margin-bottom:-5rem}.md\:-mb-24{margin-bottom:-6rem}.md\:-mb-28{margin-bottom:-7rem}.md\:-mb-32{margin-bottom:-8rem}.md\:-mb-36{margin-bottom:-9rem}.md\:-mb-40{margin-bottom:-10rem}.md\:-mb-44{margin-bottom:-11rem}.md\:-mb-48{margin-bottom:-12rem}.md\:-mb-52{margin-bottom:-13rem}.md\:-mb-56{margin-bottom:-14rem}.md\:-mb-60{margin-bottom:-15rem}.md\:-mb-64{margin-bottom:-16rem}.md\:-mb-72{margin-bottom:-18rem}.md\:-mb-80{margin-bottom:-20rem}.md\:-mb-96{margin-bottom:-24rem}.md\:-mb-px{margin-bottom:-1px}.md\:-mb-0\.5{margin-bottom:-.125rem}.md\:-mb-1\.5{margin-bottom:-.375rem}.md\:-mb-2\.5{margin-bottom:-.625rem}.md\:-mb-3\.5{margin-bottom:-.875rem}.md\:ml-0{margin-left:0}.md\:ml-1{margin-left:.25rem}.md\:ml-2{margin-left:.5rem}.md\:ml-3{margin-left:.75rem}.md\:ml-4{margin-left:1rem}.md\:ml-5{margin-left:1.25rem}.md\:ml-6{margin-left:1.5rem}.md\:ml-7{margin-left:1.75rem}.md\:ml-8{margin-left:2rem}.md\:ml-9{margin-left:2.25rem}.md\:ml-10{margin-left:2.5rem}.md\:ml-11{margin-left:2.75rem}.md\:ml-12{margin-left:3rem}.md\:ml-14{margin-left:3.5rem}.md\:ml-16{margin-left:4rem}.md\:ml-20{margin-left:5rem}.md\:ml-24{margin-left:6rem}.md\:ml-28{margin-left:7rem}.md\:ml-32{margin-left:8rem}.md\:ml-36{margin-left:9rem}.md\:ml-40{margin-left:10rem}.md\:ml-44{margin-left:11rem}.md\:ml-48{margin-left:12rem}.md\:ml-52{margin-left:13rem}.md\:ml-56{margin-left:14rem}.md\:ml-60{margin-left:15rem}.md\:ml-64{margin-left:16rem}.md\:ml-72{margin-left:18rem}.md\:ml-80{margin-left:20rem}.md\:ml-96{margin-left:24rem}.md\:ml-auto{margin-left:auto}.md\:ml-px{margin-left:1px}.md\:ml-0\.5{margin-left:.125rem}.md\:ml-1\.5{margin-left:.375rem}.md\:ml-2\.5{margin-left:.625rem}.md\:ml-3\.5{margin-left:.875rem}.md\:-ml-0{margin-left:0}.md\:-ml-1{margin-left:-.25rem}.md\:-ml-2{margin-left:-.5rem}.md\:-ml-3{margin-left:-.75rem}.md\:-ml-4{margin-left:-1rem}.md\:-ml-5{margin-left:-1.25rem}.md\:-ml-6{margin-left:-1.5rem}.md\:-ml-7{margin-left:-1.75rem}.md\:-ml-8{margin-left:-2rem}.md\:-ml-9{margin-left:-2.25rem}.md\:-ml-10{margin-left:-2.5rem}.md\:-ml-11{margin-left:-2.75rem}.md\:-ml-12{margin-left:-3rem}.md\:-ml-14{margin-left:-3.5rem}.md\:-ml-16{margin-left:-4rem}.md\:-ml-20{margin-left:-5rem}.md\:-ml-24{margin-left:-6rem}.md\:-ml-28{margin-left:-7rem}.md\:-ml-32{margin-left:-8rem}.md\:-ml-36{margin-left:-9rem}.md\:-ml-40{margin-left:-10rem}.md\:-ml-44{margin-left:-11rem}.md\:-ml-48{margin-left:-12rem}.md\:-ml-52{margin-left:-13rem}.md\:-ml-56{margin-left:-14rem}.md\:-ml-60{margin-left:-15rem}.md\:-ml-64{margin-left:-16rem}.md\:-ml-72{margin-left:-18rem}.md\:-ml-80{margin-left:-20rem}.md\:-ml-96{margin-left:-24rem}.md\:-ml-px{margin-left:-1px}.md\:-ml-0\.5{margin-left:-.125rem}.md\:-ml-1\.5{margin-left:-.375rem}.md\:-ml-2\.5{margin-left:-.625rem}.md\:-ml-3\.5{margin-left:-.875rem}.md\:box-border{box-sizing:border-box}.md\:box-content{box-sizing:content-box}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:table{display:table}.md\:inline-table{display:inline-table}.md\:table-caption{display:table-caption}.md\:table-cell{display:table-cell}.md\:table-column{display:table-column}.md\:table-column-group{display:table-column-group}.md\:table-footer-group{display:table-footer-group}.md\:table-header-group{display:table-header-group}.md\:table-row-group{display:table-row-group}.md\:table-row{display:table-row}.md\:flow-root{display:flow-root}.md\:grid{display:grid}.md\:inline-grid{display:inline-grid}.md\:contents{display:contents}.md\:list-item{display:list-item}.md\:hidden{display:none}.md\:h-0{height:0}.md\:h-1{height:.25rem}.md\:h-2{height:.5rem}.md\:h-3{height:.75rem}.md\:h-4{height:1rem}.md\:h-5{height:1.25rem}.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:h-9{height:2.25rem}.md\:h-10{height:2.5rem}.md\:h-11{height:2.75rem}.md\:h-12{height:3rem}.md\:h-14{height:3.5rem}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:h-24{height:6rem}.md\:h-28{height:7rem}.md\:h-32{height:8rem}.md\:h-36{height:9rem}.md\:h-40{height:10rem}.md\:h-44{height:11rem}.md\:h-48{height:12rem}.md\:h-52{height:13rem}.md\:h-56{height:14rem}.md\:h-60{height:15rem}.md\:h-64{height:16rem}.md\:h-72{height:18rem}.md\:h-80{height:20rem}.md\:h-96{height:24rem}.md\:h-auto{height:auto}.md\:h-px{height:1px}.md\:h-0\.5{height:.125rem}.md\:h-1\.5{height:.375rem}.md\:h-2\.5{height:.625rem}.md\:h-3\.5{height:.875rem}.md\:h-1\/2{height:50%}.md\:h-1\/3{height:33.333333%}.md\:h-2\/3{height:66.666667%}.md\:h-1\/4{height:25%}.md\:h-2\/4{height:50%}.md\:h-3\/4{height:75%}.md\:h-1\/5{height:20%}.md\:h-2\/5{height:40%}.md\:h-3\/5{height:60%}.md\:h-4\/5{height:80%}.md\:h-1\/6{height:16.666667%}.md\:h-2\/6{height:33.333333%}.md\:h-3\/6{height:50%}.md\:h-4\/6{height:66.666667%}.md\:h-5\/6{height:83.333333%}.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:max-h-0{max-height:0}.md\:max-h-1{max-height:.25rem}.md\:max-h-2{max-height:.5rem}.md\:max-h-3{max-height:.75rem}.md\:max-h-4{max-height:1rem}.md\:max-h-5{max-height:1.25rem}.md\:max-h-6{max-height:1.5rem}.md\:max-h-7{max-height:1.75rem}.md\:max-h-8{max-height:2rem}.md\:max-h-9{max-height:2.25rem}.md\:max-h-10{max-height:2.5rem}.md\:max-h-11{max-height:2.75rem}.md\:max-h-12{max-height:3rem}.md\:max-h-14{max-height:3.5rem}.md\:max-h-16{max-height:4rem}.md\:max-h-20{max-height:5rem}.md\:max-h-24{max-height:6rem}.md\:max-h-28{max-height:7rem}.md\:max-h-32{max-height:8rem}.md\:max-h-36{max-height:9rem}.md\:max-h-40{max-height:10rem}.md\:max-h-44{max-height:11rem}.md\:max-h-48{max-height:12rem}.md\:max-h-52{max-height:13rem}.md\:max-h-56{max-height:14rem}.md\:max-h-60{max-height:15rem}.md\:max-h-64{max-height:16rem}.md\:max-h-72{max-height:18rem}.md\:max-h-80{max-height:20rem}.md\:max-h-96{max-height:24rem}.md\:max-h-px{max-height:1px}.md\:max-h-0\.5{max-height:.125rem}.md\:max-h-1\.5{max-height:.375rem}.md\:max-h-2\.5{max-height:.625rem}.md\:max-h-3\.5{max-height:.875rem}.md\:max-h-full{max-height:100%}.md\:max-h-screen{max-height:100vh}.md\:min-h-0{min-height:0}.md\:min-h-full{min-height:100%}.md\:min-h-screen{min-height:100vh}.md\:w-0{width:0}.md\:w-1{width:.25rem}.md\:w-2{width:.5rem}.md\:w-3{width:.75rem}.md\:w-4{width:1rem}.md\:w-5{width:1.25rem}.md\:w-6{width:1.5rem}.md\:w-7{width:1.75rem}.md\:w-8{width:2rem}.md\:w-9{width:2.25rem}.md\:w-10{width:2.5rem}.md\:w-11{width:2.75rem}.md\:w-12{width:3rem}.md\:w-14{width:3.5rem}.md\:w-16{width:4rem}.md\:w-20{width:5rem}.md\:w-24{width:6rem}.md\:w-28{width:7rem}.md\:w-32{width:8rem}.md\:w-36{width:9rem}.md\:w-40{width:10rem}.md\:w-44{width:11rem}.md\:w-48{width:12rem}.md\:w-52{width:13rem}.md\:w-56{width:14rem}.md\:w-60{width:15rem}.md\:w-64{width:16rem}.md\:w-72{width:18rem}.md\:w-80{width:20rem}.md\:w-96{width:24rem}.md\:w-auto{width:auto}.md\:w-px{width:1px}.md\:w-0\.5{width:.125rem}.md\:w-1\.5{width:.375rem}.md\:w-2\.5{width:.625rem}.md\:w-3\.5{width:.875rem}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:w-1\/4{width:25%}.md\:w-2\/4{width:50%}.md\:w-3\/4{width:75%}.md\:w-1\/5{width:20%}.md\:w-2\/5{width:40%}.md\:w-3\/5{width:60%}.md\:w-4\/5{width:80%}.md\:w-1\/6{width:16.666667%}.md\:w-2\/6{width:33.333333%}.md\:w-3\/6{width:50%}.md\:w-4\/6{width:66.666667%}.md\:w-5\/6{width:83.333333%}.md\:w-1\/12{width:8.333333%}.md\:w-2\/12{width:16.666667%}.md\:w-3\/12{width:25%}.md\:w-4\/12{width:33.333333%}.md\:w-5\/12{width:41.666667%}.md\:w-6\/12{width:50%}.md\:w-7\/12{width:58.333333%}.md\:w-8\/12{width:66.666667%}.md\:w-9\/12{width:75%}.md\:w-10\/12{width:83.333333%}.md\:w-11\/12{width:91.666667%}.md\:w-full{width:100%}.md\:w-screen{width:100vw}.md\:w-min{width:min-content}.md\:w-max{width:max-content}.md\:min-w-0{min-width:0}.md\:min-w-full{min-width:100%}.md\:min-w-min{min-width:min-content}.md\:min-w-max{min-width:max-content}.md\:max-w-0{max-width:0}.md\:max-w-none{max-width:none}.md\:max-w-xs{max-width:20rem}.md\:max-w-sm{max-width:24rem}.md\:max-w-md{max-width:28rem}.md\:max-w-lg{max-width:32rem}.md\:max-w-xl{max-width:36rem}.md\:max-w-2xl{max-width:42rem}.md\:max-w-3xl{max-width:48rem}.md\:max-w-4xl{max-width:56rem}.md\:max-w-5xl{max-width:64rem}.md\:max-w-6xl{max-width:72rem}.md\:max-w-7xl{max-width:80rem}.md\:max-w-full{max-width:100%}.md\:max-w-min{max-width:min-content}.md\:max-w-max{max-width:max-content}.md\:max-w-prose{max-width:65ch}.md\:max-w-screen-sm{max-width:640px}.md\:max-w-screen-md{max-width:768px}.md\:max-w-screen-lg{max-width:1024px}.md\:max-w-screen-xl{max-width:1280px}.md\:max-w-screen-2xl{max-width:1536px}.md\:flex-1{flex:1 1 0%}.md\:flex-auto{flex:1 1 auto}.md\:flex-initial{flex:0 1 auto}.md\:flex-none{flex:none}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink{flex-shrink:1}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow{flex-grow:1}.md\:table-auto{table-layout:auto}.md\:table-fixed{table-layout:fixed}.md\:border-collapse{border-collapse:collapse}.md\:border-separate{border-collapse:separate}.md\:origin-center{transform-origin:center}.md\:origin-top{transform-origin:top}.md\:origin-top-right{transform-origin:top right}.md\:origin-right{transform-origin:right}.md\:origin-bottom-right{transform-origin:bottom right}.md\:origin-bottom{transform-origin:bottom}.md\:origin-bottom-left{transform-origin:bottom left}.md\:origin-left{transform-origin:left}.md\:origin-top-left{transform-origin:top left}.md\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:transform-none{transform:none}.md\:translate-x-0{--tw-translate-x:0px}.md\:translate-x-1{--tw-translate-x:0.25rem}.md\:translate-x-2{--tw-translate-x:0.5rem}.md\:translate-x-3{--tw-translate-x:0.75rem}.md\:translate-x-4{--tw-translate-x:1rem}.md\:translate-x-5{--tw-translate-x:1.25rem}.md\:translate-x-6{--tw-translate-x:1.5rem}.md\:translate-x-7{--tw-translate-x:1.75rem}.md\:translate-x-8{--tw-translate-x:2rem}.md\:translate-x-9{--tw-translate-x:2.25rem}.md\:translate-x-10{--tw-translate-x:2.5rem}.md\:translate-x-11{--tw-translate-x:2.75rem}.md\:translate-x-12{--tw-translate-x:3rem}.md\:translate-x-14{--tw-translate-x:3.5rem}.md\:translate-x-16{--tw-translate-x:4rem}.md\:translate-x-20{--tw-translate-x:5rem}.md\:translate-x-24{--tw-translate-x:6rem}.md\:translate-x-28{--tw-translate-x:7rem}.md\:translate-x-32{--tw-translate-x:8rem}.md\:translate-x-36{--tw-translate-x:9rem}.md\:translate-x-40{--tw-translate-x:10rem}.md\:translate-x-44{--tw-translate-x:11rem}.md\:translate-x-48{--tw-translate-x:12rem}.md\:translate-x-52{--tw-translate-x:13rem}.md\:translate-x-56{--tw-translate-x:14rem}.md\:translate-x-60{--tw-translate-x:15rem}.md\:translate-x-64{--tw-translate-x:16rem}.md\:translate-x-72{--tw-translate-x:18rem}.md\:translate-x-80{--tw-translate-x:20rem}.md\:translate-x-96{--tw-translate-x:24rem}.md\:translate-x-px{--tw-translate-x:1px}.md\:translate-x-0\.5{--tw-translate-x:0.125rem}.md\:translate-x-1\.5{--tw-translate-x:0.375rem}.md\:translate-x-2\.5{--tw-translate-x:0.625rem}.md\:translate-x-3\.5{--tw-translate-x:0.875rem}.md\:-translate-x-0{--tw-translate-x:0px}.md\:-translate-x-1{--tw-translate-x:-0.25rem}.md\:-translate-x-2{--tw-translate-x:-0.5rem}.md\:-translate-x-3{--tw-translate-x:-0.75rem}.md\:-translate-x-4{--tw-translate-x:-1rem}.md\:-translate-x-5{--tw-translate-x:-1.25rem}.md\:-translate-x-6{--tw-translate-x:-1.5rem}.md\:-translate-x-7{--tw-translate-x:-1.75rem}.md\:-translate-x-8{--tw-translate-x:-2rem}.md\:-translate-x-9{--tw-translate-x:-2.25rem}.md\:-translate-x-10{--tw-translate-x:-2.5rem}.md\:-translate-x-11{--tw-translate-x:-2.75rem}.md\:-translate-x-12{--tw-translate-x:-3rem}.md\:-translate-x-14{--tw-translate-x:-3.5rem}.md\:-translate-x-16{--tw-translate-x:-4rem}.md\:-translate-x-20{--tw-translate-x:-5rem}.md\:-translate-x-24{--tw-translate-x:-6rem}.md\:-translate-x-28{--tw-translate-x:-7rem}.md\:-translate-x-32{--tw-translate-x:-8rem}.md\:-translate-x-36{--tw-translate-x:-9rem}.md\:-translate-x-40{--tw-translate-x:-10rem}.md\:-translate-x-44{--tw-translate-x:-11rem}.md\:-translate-x-48{--tw-translate-x:-12rem}.md\:-translate-x-52{--tw-translate-x:-13rem}.md\:-translate-x-56{--tw-translate-x:-14rem}.md\:-translate-x-60{--tw-translate-x:-15rem}.md\:-translate-x-64{--tw-translate-x:-16rem}.md\:-translate-x-72{--tw-translate-x:-18rem}.md\:-translate-x-80{--tw-translate-x:-20rem}.md\:-translate-x-96{--tw-translate-x:-24rem}.md\:-translate-x-px{--tw-translate-x:-1px}.md\:-translate-x-0\.5{--tw-translate-x:-0.125rem}.md\:-translate-x-1\.5{--tw-translate-x:-0.375rem}.md\:-translate-x-2\.5{--tw-translate-x:-0.625rem}.md\:-translate-x-3\.5{--tw-translate-x:-0.875rem}.md\:translate-x-1\/2{--tw-translate-x:50%}.md\:translate-x-1\/3{--tw-translate-x:33.333333%}.md\:translate-x-2\/3{--tw-translate-x:66.666667%}.md\:translate-x-1\/4{--tw-translate-x:25%}.md\:translate-x-2\/4{--tw-translate-x:50%}.md\:translate-x-3\/4{--tw-translate-x:75%}.md\:translate-x-full{--tw-translate-x:100%}.md\:-translate-x-1\/2{--tw-translate-x:-50%}.md\:-translate-x-1\/3{--tw-translate-x:-33.333333%}.md\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.md\:-translate-x-1\/4{--tw-translate-x:-25%}.md\:-translate-x-2\/4{--tw-translate-x:-50%}.md\:-translate-x-3\/4{--tw-translate-x:-75%}.md\:-translate-x-full{--tw-translate-x:-100%}.md\:translate-y-0{--tw-translate-y:0px}.md\:translate-y-1{--tw-translate-y:0.25rem}.md\:translate-y-2{--tw-translate-y:0.5rem}.md\:translate-y-3{--tw-translate-y:0.75rem}.md\:translate-y-4{--tw-translate-y:1rem}.md\:translate-y-5{--tw-translate-y:1.25rem}.md\:translate-y-6{--tw-translate-y:1.5rem}.md\:translate-y-7{--tw-translate-y:1.75rem}.md\:translate-y-8{--tw-translate-y:2rem}.md\:translate-y-9{--tw-translate-y:2.25rem}.md\:translate-y-10{--tw-translate-y:2.5rem}.md\:translate-y-11{--tw-translate-y:2.75rem}.md\:translate-y-12{--tw-translate-y:3rem}.md\:translate-y-14{--tw-translate-y:3.5rem}.md\:translate-y-16{--tw-translate-y:4rem}.md\:translate-y-20{--tw-translate-y:5rem}.md\:translate-y-24{--tw-translate-y:6rem}.md\:translate-y-28{--tw-translate-y:7rem}.md\:translate-y-32{--tw-translate-y:8rem}.md\:translate-y-36{--tw-translate-y:9rem}.md\:translate-y-40{--tw-translate-y:10rem}.md\:translate-y-44{--tw-translate-y:11rem}.md\:translate-y-48{--tw-translate-y:12rem}.md\:translate-y-52{--tw-translate-y:13rem}.md\:translate-y-56{--tw-translate-y:14rem}.md\:translate-y-60{--tw-translate-y:15rem}.md\:translate-y-64{--tw-translate-y:16rem}.md\:translate-y-72{--tw-translate-y:18rem}.md\:translate-y-80{--tw-translate-y:20rem}.md\:translate-y-96{--tw-translate-y:24rem}.md\:translate-y-px{--tw-translate-y:1px}.md\:translate-y-0\.5{--tw-translate-y:0.125rem}.md\:translate-y-1\.5{--tw-translate-y:0.375rem}.md\:translate-y-2\.5{--tw-translate-y:0.625rem}.md\:translate-y-3\.5{--tw-translate-y:0.875rem}.md\:-translate-y-0{--tw-translate-y:0px}.md\:-translate-y-1{--tw-translate-y:-0.25rem}.md\:-translate-y-2{--tw-translate-y:-0.5rem}.md\:-translate-y-3{--tw-translate-y:-0.75rem}.md\:-translate-y-4{--tw-translate-y:-1rem}.md\:-translate-y-5{--tw-translate-y:-1.25rem}.md\:-translate-y-6{--tw-translate-y:-1.5rem}.md\:-translate-y-7{--tw-translate-y:-1.75rem}.md\:-translate-y-8{--tw-translate-y:-2rem}.md\:-translate-y-9{--tw-translate-y:-2.25rem}.md\:-translate-y-10{--tw-translate-y:-2.5rem}.md\:-translate-y-11{--tw-translate-y:-2.75rem}.md\:-translate-y-12{--tw-translate-y:-3rem}.md\:-translate-y-14{--tw-translate-y:-3.5rem}.md\:-translate-y-16{--tw-translate-y:-4rem}.md\:-translate-y-20{--tw-translate-y:-5rem}.md\:-translate-y-24{--tw-translate-y:-6rem}.md\:-translate-y-28{--tw-translate-y:-7rem}.md\:-translate-y-32{--tw-translate-y:-8rem}.md\:-translate-y-36{--tw-translate-y:-9rem}.md\:-translate-y-40{--tw-translate-y:-10rem}.md\:-translate-y-44{--tw-translate-y:-11rem}.md\:-translate-y-48{--tw-translate-y:-12rem}.md\:-translate-y-52{--tw-translate-y:-13rem}.md\:-translate-y-56{--tw-translate-y:-14rem}.md\:-translate-y-60{--tw-translate-y:-15rem}.md\:-translate-y-64{--tw-translate-y:-16rem}.md\:-translate-y-72{--tw-translate-y:-18rem}.md\:-translate-y-80{--tw-translate-y:-20rem}.md\:-translate-y-96{--tw-translate-y:-24rem}.md\:-translate-y-px{--tw-translate-y:-1px}.md\:-translate-y-0\.5{--tw-translate-y:-0.125rem}.md\:-translate-y-1\.5{--tw-translate-y:-0.375rem}.md\:-translate-y-2\.5{--tw-translate-y:-0.625rem}.md\:-translate-y-3\.5{--tw-translate-y:-0.875rem}.md\:translate-y-1\/2{--tw-translate-y:50%}.md\:translate-y-1\/3{--tw-translate-y:33.333333%}.md\:translate-y-2\/3{--tw-translate-y:66.666667%}.md\:translate-y-1\/4{--tw-translate-y:25%}.md\:translate-y-2\/4{--tw-translate-y:50%}.md\:translate-y-3\/4{--tw-translate-y:75%}.md\:translate-y-full{--tw-translate-y:100%}.md\:-translate-y-1\/2{--tw-translate-y:-50%}.md\:-translate-y-1\/3{--tw-translate-y:-33.333333%}.md\:-translate-y-2\/3{--tw-translate-y:-66.666667%}.md\:-translate-y-1\/4{--tw-translate-y:-25%}.md\:-translate-y-2\/4{--tw-translate-y:-50%}.md\:-translate-y-3\/4{--tw-translate-y:-75%}.md\:-translate-y-full{--tw-translate-y:-100%}.md\:hover\:translate-x-0:hover{--tw-translate-x:0px}.md\:hover\:translate-x-1:hover{--tw-translate-x:0.25rem}.md\:hover\:translate-x-2:hover{--tw-translate-x:0.5rem}.md\:hover\:translate-x-3:hover{--tw-translate-x:0.75rem}.md\:hover\:translate-x-4:hover{--tw-translate-x:1rem}.md\:hover\:translate-x-5:hover{--tw-translate-x:1.25rem}.md\:hover\:translate-x-6:hover{--tw-translate-x:1.5rem}.md\:hover\:translate-x-7:hover{--tw-translate-x:1.75rem}.md\:hover\:translate-x-8:hover{--tw-translate-x:2rem}.md\:hover\:translate-x-9:hover{--tw-translate-x:2.25rem}.md\:hover\:translate-x-10:hover{--tw-translate-x:2.5rem}.md\:hover\:translate-x-11:hover{--tw-translate-x:2.75rem}.md\:hover\:translate-x-12:hover{--tw-translate-x:3rem}.md\:hover\:translate-x-14:hover{--tw-translate-x:3.5rem}.md\:hover\:translate-x-16:hover{--tw-translate-x:4rem}.md\:hover\:translate-x-20:hover{--tw-translate-x:5rem}.md\:hover\:translate-x-24:hover{--tw-translate-x:6rem}.md\:hover\:translate-x-28:hover{--tw-translate-x:7rem}.md\:hover\:translate-x-32:hover{--tw-translate-x:8rem}.md\:hover\:translate-x-36:hover{--tw-translate-x:9rem}.md\:hover\:translate-x-40:hover{--tw-translate-x:10rem}.md\:hover\:translate-x-44:hover{--tw-translate-x:11rem}.md\:hover\:translate-x-48:hover{--tw-translate-x:12rem}.md\:hover\:translate-x-52:hover{--tw-translate-x:13rem}.md\:hover\:translate-x-56:hover{--tw-translate-x:14rem}.md\:hover\:translate-x-60:hover{--tw-translate-x:15rem}.md\:hover\:translate-x-64:hover{--tw-translate-x:16rem}.md\:hover\:translate-x-72:hover{--tw-translate-x:18rem}.md\:hover\:translate-x-80:hover{--tw-translate-x:20rem}.md\:hover\:translate-x-96:hover{--tw-translate-x:24rem}.md\:hover\:translate-x-px:hover{--tw-translate-x:1px}.md\:hover\:translate-x-0\.5:hover{--tw-translate-x:0.125rem}.md\:hover\:translate-x-1\.5:hover{--tw-translate-x:0.375rem}.md\:hover\:translate-x-2\.5:hover{--tw-translate-x:0.625rem}.md\:hover\:translate-x-3\.5:hover{--tw-translate-x:0.875rem}.md\:hover\:-translate-x-0:hover{--tw-translate-x:0px}.md\:hover\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.md\:hover\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.md\:hover\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.md\:hover\:-translate-x-4:hover{--tw-translate-x:-1rem}.md\:hover\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.md\:hover\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.md\:hover\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.md\:hover\:-translate-x-8:hover{--tw-translate-x:-2rem}.md\:hover\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.md\:hover\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.md\:hover\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.md\:hover\:-translate-x-12:hover{--tw-translate-x:-3rem}.md\:hover\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.md\:hover\:-translate-x-16:hover{--tw-translate-x:-4rem}.md\:hover\:-translate-x-20:hover{--tw-translate-x:-5rem}.md\:hover\:-translate-x-24:hover{--tw-translate-x:-6rem}.md\:hover\:-translate-x-28:hover{--tw-translate-x:-7rem}.md\:hover\:-translate-x-32:hover{--tw-translate-x:-8rem}.md\:hover\:-translate-x-36:hover{--tw-translate-x:-9rem}.md\:hover\:-translate-x-40:hover{--tw-translate-x:-10rem}.md\:hover\:-translate-x-44:hover{--tw-translate-x:-11rem}.md\:hover\:-translate-x-48:hover{--tw-translate-x:-12rem}.md\:hover\:-translate-x-52:hover{--tw-translate-x:-13rem}.md\:hover\:-translate-x-56:hover{--tw-translate-x:-14rem}.md\:hover\:-translate-x-60:hover{--tw-translate-x:-15rem}.md\:hover\:-translate-x-64:hover{--tw-translate-x:-16rem}.md\:hover\:-translate-x-72:hover{--tw-translate-x:-18rem}.md\:hover\:-translate-x-80:hover{--tw-translate-x:-20rem}.md\:hover\:-translate-x-96:hover{--tw-translate-x:-24rem}.md\:hover\:-translate-x-px:hover{--tw-translate-x:-1px}.md\:hover\:-translate-x-0\.5:hover{--tw-translate-x:-0.125rem}.md\:hover\:-translate-x-1\.5:hover{--tw-translate-x:-0.375rem}.md\:hover\:-translate-x-2\.5:hover{--tw-translate-x:-0.625rem}.md\:hover\:-translate-x-3\.5:hover{--tw-translate-x:-0.875rem}.md\:hover\:translate-x-1\/2:hover{--tw-translate-x:50%}.md\:hover\:translate-x-1\/3:hover{--tw-translate-x:33.333333%}.md\:hover\:translate-x-2\/3:hover{--tw-translate-x:66.666667%}.md\:hover\:translate-x-1\/4:hover{--tw-translate-x:25%}.md\:hover\:translate-x-2\/4:hover{--tw-translate-x:50%}.md\:hover\:translate-x-3\/4:hover{--tw-translate-x:75%}.md\:hover\:translate-x-full:hover{--tw-translate-x:100%}.md\:hover\:-translate-x-1\/2:hover{--tw-translate-x:-50%}.md\:hover\:-translate-x-1\/3:hover{--tw-translate-x:-33.333333%}.md\:hover\:-translate-x-2\/3:hover{--tw-translate-x:-66.666667%}.md\:hover\:-translate-x-1\/4:hover{--tw-translate-x:-25%}.md\:hover\:-translate-x-2\/4:hover{--tw-translate-x:-50%}.md\:hover\:-translate-x-3\/4:hover{--tw-translate-x:-75%}.md\:hover\:-translate-x-full:hover{--tw-translate-x:-100%}.md\:hover\:translate-y-0:hover{--tw-translate-y:0px}.md\:hover\:translate-y-1:hover{--tw-translate-y:0.25rem}.md\:hover\:translate-y-2:hover{--tw-translate-y:0.5rem}.md\:hover\:translate-y-3:hover{--tw-translate-y:0.75rem}.md\:hover\:translate-y-4:hover{--tw-translate-y:1rem}.md\:hover\:translate-y-5:hover{--tw-translate-y:1.25rem}.md\:hover\:translate-y-6:hover{--tw-translate-y:1.5rem}.md\:hover\:translate-y-7:hover{--tw-translate-y:1.75rem}.md\:hover\:translate-y-8:hover{--tw-translate-y:2rem}.md\:hover\:translate-y-9:hover{--tw-translate-y:2.25rem}.md\:hover\:translate-y-10:hover{--tw-translate-y:2.5rem}.md\:hover\:translate-y-11:hover{--tw-translate-y:2.75rem}.md\:hover\:translate-y-12:hover{--tw-translate-y:3rem}.md\:hover\:translate-y-14:hover{--tw-translate-y:3.5rem}.md\:hover\:translate-y-16:hover{--tw-translate-y:4rem}.md\:hover\:translate-y-20:hover{--tw-translate-y:5rem}.md\:hover\:translate-y-24:hover{--tw-translate-y:6rem}.md\:hover\:translate-y-28:hover{--tw-translate-y:7rem}.md\:hover\:translate-y-32:hover{--tw-translate-y:8rem}.md\:hover\:translate-y-36:hover{--tw-translate-y:9rem}.md\:hover\:translate-y-40:hover{--tw-translate-y:10rem}.md\:hover\:translate-y-44:hover{--tw-translate-y:11rem}.md\:hover\:translate-y-48:hover{--tw-translate-y:12rem}.md\:hover\:translate-y-52:hover{--tw-translate-y:13rem}.md\:hover\:translate-y-56:hover{--tw-translate-y:14rem}.md\:hover\:translate-y-60:hover{--tw-translate-y:15rem}.md\:hover\:translate-y-64:hover{--tw-translate-y:16rem}.md\:hover\:translate-y-72:hover{--tw-translate-y:18rem}.md\:hover\:translate-y-80:hover{--tw-translate-y:20rem}.md\:hover\:translate-y-96:hover{--tw-translate-y:24rem}.md\:hover\:translate-y-px:hover{--tw-translate-y:1px}.md\:hover\:translate-y-0\.5:hover{--tw-translate-y:0.125rem}.md\:hover\:translate-y-1\.5:hover{--tw-translate-y:0.375rem}.md\:hover\:translate-y-2\.5:hover{--tw-translate-y:0.625rem}.md\:hover\:translate-y-3\.5:hover{--tw-translate-y:0.875rem}.md\:hover\:-translate-y-0:hover{--tw-translate-y:0px}.md\:hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.md\:hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.md\:hover\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.md\:hover\:-translate-y-4:hover{--tw-translate-y:-1rem}.md\:hover\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.md\:hover\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.md\:hover\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.md\:hover\:-translate-y-8:hover{--tw-translate-y:-2rem}.md\:hover\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.md\:hover\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.md\:hover\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.md\:hover\:-translate-y-12:hover{--tw-translate-y:-3rem}.md\:hover\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.md\:hover\:-translate-y-16:hover{--tw-translate-y:-4rem}.md\:hover\:-translate-y-20:hover{--tw-translate-y:-5rem}.md\:hover\:-translate-y-24:hover{--tw-translate-y:-6rem}.md\:hover\:-translate-y-28:hover{--tw-translate-y:-7rem}.md\:hover\:-translate-y-32:hover{--tw-translate-y:-8rem}.md\:hover\:-translate-y-36:hover{--tw-translate-y:-9rem}.md\:hover\:-translate-y-40:hover{--tw-translate-y:-10rem}.md\:hover\:-translate-y-44:hover{--tw-translate-y:-11rem}.md\:hover\:-translate-y-48:hover{--tw-translate-y:-12rem}.md\:hover\:-translate-y-52:hover{--tw-translate-y:-13rem}.md\:hover\:-translate-y-56:hover{--tw-translate-y:-14rem}.md\:hover\:-translate-y-60:hover{--tw-translate-y:-15rem}.md\:hover\:-translate-y-64:hover{--tw-translate-y:-16rem}.md\:hover\:-translate-y-72:hover{--tw-translate-y:-18rem}.md\:hover\:-translate-y-80:hover{--tw-translate-y:-20rem}.md\:hover\:-translate-y-96:hover{--tw-translate-y:-24rem}.md\:hover\:-translate-y-px:hover{--tw-translate-y:-1px}.md\:hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.md\:hover\:-translate-y-1\.5:hover{--tw-translate-y:-0.375rem}.md\:hover\:-translate-y-2\.5:hover{--tw-translate-y:-0.625rem}.md\:hover\:-translate-y-3\.5:hover{--tw-translate-y:-0.875rem}.md\:hover\:translate-y-1\/2:hover{--tw-translate-y:50%}.md\:hover\:translate-y-1\/3:hover{--tw-translate-y:33.333333%}.md\:hover\:translate-y-2\/3:hover{--tw-translate-y:66.666667%}.md\:hover\:translate-y-1\/4:hover{--tw-translate-y:25%}.md\:hover\:translate-y-2\/4:hover{--tw-translate-y:50%}.md\:hover\:translate-y-3\/4:hover{--tw-translate-y:75%}.md\:hover\:translate-y-full:hover{--tw-translate-y:100%}.md\:hover\:-translate-y-1\/2:hover{--tw-translate-y:-50%}.md\:hover\:-translate-y-1\/3:hover{--tw-translate-y:-33.333333%}.md\:hover\:-translate-y-2\/3:hover{--tw-translate-y:-66.666667%}.md\:hover\:-translate-y-1\/4:hover{--tw-translate-y:-25%}.md\:hover\:-translate-y-2\/4:hover{--tw-translate-y:-50%}.md\:hover\:-translate-y-3\/4:hover{--tw-translate-y:-75%}.md\:hover\:-translate-y-full:hover{--tw-translate-y:-100%}.md\:focus\:translate-x-0:focus{--tw-translate-x:0px}.md\:focus\:translate-x-1:focus{--tw-translate-x:0.25rem}.md\:focus\:translate-x-2:focus{--tw-translate-x:0.5rem}.md\:focus\:translate-x-3:focus{--tw-translate-x:0.75rem}.md\:focus\:translate-x-4:focus{--tw-translate-x:1rem}.md\:focus\:translate-x-5:focus{--tw-translate-x:1.25rem}.md\:focus\:translate-x-6:focus{--tw-translate-x:1.5rem}.md\:focus\:translate-x-7:focus{--tw-translate-x:1.75rem}.md\:focus\:translate-x-8:focus{--tw-translate-x:2rem}.md\:focus\:translate-x-9:focus{--tw-translate-x:2.25rem}.md\:focus\:translate-x-10:focus{--tw-translate-x:2.5rem}.md\:focus\:translate-x-11:focus{--tw-translate-x:2.75rem}.md\:focus\:translate-x-12:focus{--tw-translate-x:3rem}.md\:focus\:translate-x-14:focus{--tw-translate-x:3.5rem}.md\:focus\:translate-x-16:focus{--tw-translate-x:4rem}.md\:focus\:translate-x-20:focus{--tw-translate-x:5rem}.md\:focus\:translate-x-24:focus{--tw-translate-x:6rem}.md\:focus\:translate-x-28:focus{--tw-translate-x:7rem}.md\:focus\:translate-x-32:focus{--tw-translate-x:8rem}.md\:focus\:translate-x-36:focus{--tw-translate-x:9rem}.md\:focus\:translate-x-40:focus{--tw-translate-x:10rem}.md\:focus\:translate-x-44:focus{--tw-translate-x:11rem}.md\:focus\:translate-x-48:focus{--tw-translate-x:12rem}.md\:focus\:translate-x-52:focus{--tw-translate-x:13rem}.md\:focus\:translate-x-56:focus{--tw-translate-x:14rem}.md\:focus\:translate-x-60:focus{--tw-translate-x:15rem}.md\:focus\:translate-x-64:focus{--tw-translate-x:16rem}.md\:focus\:translate-x-72:focus{--tw-translate-x:18rem}.md\:focus\:translate-x-80:focus{--tw-translate-x:20rem}.md\:focus\:translate-x-96:focus{--tw-translate-x:24rem}.md\:focus\:translate-x-px:focus{--tw-translate-x:1px}.md\:focus\:translate-x-0\.5:focus{--tw-translate-x:0.125rem}.md\:focus\:translate-x-1\.5:focus{--tw-translate-x:0.375rem}.md\:focus\:translate-x-2\.5:focus{--tw-translate-x:0.625rem}.md\:focus\:translate-x-3\.5:focus{--tw-translate-x:0.875rem}.md\:focus\:-translate-x-0:focus{--tw-translate-x:0px}.md\:focus\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.md\:focus\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.md\:focus\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.md\:focus\:-translate-x-4:focus{--tw-translate-x:-1rem}.md\:focus\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.md\:focus\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.md\:focus\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.md\:focus\:-translate-x-8:focus{--tw-translate-x:-2rem}.md\:focus\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.md\:focus\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.md\:focus\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.md\:focus\:-translate-x-12:focus{--tw-translate-x:-3rem}.md\:focus\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.md\:focus\:-translate-x-16:focus{--tw-translate-x:-4rem}.md\:focus\:-translate-x-20:focus{--tw-translate-x:-5rem}.md\:focus\:-translate-x-24:focus{--tw-translate-x:-6rem}.md\:focus\:-translate-x-28:focus{--tw-translate-x:-7rem}.md\:focus\:-translate-x-32:focus{--tw-translate-x:-8rem}.md\:focus\:-translate-x-36:focus{--tw-translate-x:-9rem}.md\:focus\:-translate-x-40:focus{--tw-translate-x:-10rem}.md\:focus\:-translate-x-44:focus{--tw-translate-x:-11rem}.md\:focus\:-translate-x-48:focus{--tw-translate-x:-12rem}.md\:focus\:-translate-x-52:focus{--tw-translate-x:-13rem}.md\:focus\:-translate-x-56:focus{--tw-translate-x:-14rem}.md\:focus\:-translate-x-60:focus{--tw-translate-x:-15rem}.md\:focus\:-translate-x-64:focus{--tw-translate-x:-16rem}.md\:focus\:-translate-x-72:focus{--tw-translate-x:-18rem}.md\:focus\:-translate-x-80:focus{--tw-translate-x:-20rem}.md\:focus\:-translate-x-96:focus{--tw-translate-x:-24rem}.md\:focus\:-translate-x-px:focus{--tw-translate-x:-1px}.md\:focus\:-translate-x-0\.5:focus{--tw-translate-x:-0.125rem}.md\:focus\:-translate-x-1\.5:focus{--tw-translate-x:-0.375rem}.md\:focus\:-translate-x-2\.5:focus{--tw-translate-x:-0.625rem}.md\:focus\:-translate-x-3\.5:focus{--tw-translate-x:-0.875rem}.md\:focus\:translate-x-1\/2:focus{--tw-translate-x:50%}.md\:focus\:translate-x-1\/3:focus{--tw-translate-x:33.333333%}.md\:focus\:translate-x-2\/3:focus{--tw-translate-x:66.666667%}.md\:focus\:translate-x-1\/4:focus{--tw-translate-x:25%}.md\:focus\:translate-x-2\/4:focus{--tw-translate-x:50%}.md\:focus\:translate-x-3\/4:focus{--tw-translate-x:75%}.md\:focus\:translate-x-full:focus{--tw-translate-x:100%}.md\:focus\:-translate-x-1\/2:focus{--tw-translate-x:-50%}.md\:focus\:-translate-x-1\/3:focus{--tw-translate-x:-33.333333%}.md\:focus\:-translate-x-2\/3:focus{--tw-translate-x:-66.666667%}.md\:focus\:-translate-x-1\/4:focus{--tw-translate-x:-25%}.md\:focus\:-translate-x-2\/4:focus{--tw-translate-x:-50%}.md\:focus\:-translate-x-3\/4:focus{--tw-translate-x:-75%}.md\:focus\:-translate-x-full:focus{--tw-translate-x:-100%}.md\:focus\:translate-y-0:focus{--tw-translate-y:0px}.md\:focus\:translate-y-1:focus{--tw-translate-y:0.25rem}.md\:focus\:translate-y-2:focus{--tw-translate-y:0.5rem}.md\:focus\:translate-y-3:focus{--tw-translate-y:0.75rem}.md\:focus\:translate-y-4:focus{--tw-translate-y:1rem}.md\:focus\:translate-y-5:focus{--tw-translate-y:1.25rem}.md\:focus\:translate-y-6:focus{--tw-translate-y:1.5rem}.md\:focus\:translate-y-7:focus{--tw-translate-y:1.75rem}.md\:focus\:translate-y-8:focus{--tw-translate-y:2rem}.md\:focus\:translate-y-9:focus{--tw-translate-y:2.25rem}.md\:focus\:translate-y-10:focus{--tw-translate-y:2.5rem}.md\:focus\:translate-y-11:focus{--tw-translate-y:2.75rem}.md\:focus\:translate-y-12:focus{--tw-translate-y:3rem}.md\:focus\:translate-y-14:focus{--tw-translate-y:3.5rem}.md\:focus\:translate-y-16:focus{--tw-translate-y:4rem}.md\:focus\:translate-y-20:focus{--tw-translate-y:5rem}.md\:focus\:translate-y-24:focus{--tw-translate-y:6rem}.md\:focus\:translate-y-28:focus{--tw-translate-y:7rem}.md\:focus\:translate-y-32:focus{--tw-translate-y:8rem}.md\:focus\:translate-y-36:focus{--tw-translate-y:9rem}.md\:focus\:translate-y-40:focus{--tw-translate-y:10rem}.md\:focus\:translate-y-44:focus{--tw-translate-y:11rem}.md\:focus\:translate-y-48:focus{--tw-translate-y:12rem}.md\:focus\:translate-y-52:focus{--tw-translate-y:13rem}.md\:focus\:translate-y-56:focus{--tw-translate-y:14rem}.md\:focus\:translate-y-60:focus{--tw-translate-y:15rem}.md\:focus\:translate-y-64:focus{--tw-translate-y:16rem}.md\:focus\:translate-y-72:focus{--tw-translate-y:18rem}.md\:focus\:translate-y-80:focus{--tw-translate-y:20rem}.md\:focus\:translate-y-96:focus{--tw-translate-y:24rem}.md\:focus\:translate-y-px:focus{--tw-translate-y:1px}.md\:focus\:translate-y-0\.5:focus{--tw-translate-y:0.125rem}.md\:focus\:translate-y-1\.5:focus{--tw-translate-y:0.375rem}.md\:focus\:translate-y-2\.5:focus{--tw-translate-y:0.625rem}.md\:focus\:translate-y-3\.5:focus{--tw-translate-y:0.875rem}.md\:focus\:-translate-y-0:focus{--tw-translate-y:0px}.md\:focus\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.md\:focus\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.md\:focus\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.md\:focus\:-translate-y-4:focus{--tw-translate-y:-1rem}.md\:focus\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.md\:focus\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.md\:focus\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.md\:focus\:-translate-y-8:focus{--tw-translate-y:-2rem}.md\:focus\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.md\:focus\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.md\:focus\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.md\:focus\:-translate-y-12:focus{--tw-translate-y:-3rem}.md\:focus\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.md\:focus\:-translate-y-16:focus{--tw-translate-y:-4rem}.md\:focus\:-translate-y-20:focus{--tw-translate-y:-5rem}.md\:focus\:-translate-y-24:focus{--tw-translate-y:-6rem}.md\:focus\:-translate-y-28:focus{--tw-translate-y:-7rem}.md\:focus\:-translate-y-32:focus{--tw-translate-y:-8rem}.md\:focus\:-translate-y-36:focus{--tw-translate-y:-9rem}.md\:focus\:-translate-y-40:focus{--tw-translate-y:-10rem}.md\:focus\:-translate-y-44:focus{--tw-translate-y:-11rem}.md\:focus\:-translate-y-48:focus{--tw-translate-y:-12rem}.md\:focus\:-translate-y-52:focus{--tw-translate-y:-13rem}.md\:focus\:-translate-y-56:focus{--tw-translate-y:-14rem}.md\:focus\:-translate-y-60:focus{--tw-translate-y:-15rem}.md\:focus\:-translate-y-64:focus{--tw-translate-y:-16rem}.md\:focus\:-translate-y-72:focus{--tw-translate-y:-18rem}.md\:focus\:-translate-y-80:focus{--tw-translate-y:-20rem}.md\:focus\:-translate-y-96:focus{--tw-translate-y:-24rem}.md\:focus\:-translate-y-px:focus{--tw-translate-y:-1px}.md\:focus\:-translate-y-0\.5:focus{--tw-translate-y:-0.125rem}.md\:focus\:-translate-y-1\.5:focus{--tw-translate-y:-0.375rem}.md\:focus\:-translate-y-2\.5:focus{--tw-translate-y:-0.625rem}.md\:focus\:-translate-y-3\.5:focus{--tw-translate-y:-0.875rem}.md\:focus\:translate-y-1\/2:focus{--tw-translate-y:50%}.md\:focus\:translate-y-1\/3:focus{--tw-translate-y:33.333333%}.md\:focus\:translate-y-2\/3:focus{--tw-translate-y:66.666667%}.md\:focus\:translate-y-1\/4:focus{--tw-translate-y:25%}.md\:focus\:translate-y-2\/4:focus{--tw-translate-y:50%}.md\:focus\:translate-y-3\/4:focus{--tw-translate-y:75%}.md\:focus\:translate-y-full:focus{--tw-translate-y:100%}.md\:focus\:-translate-y-1\/2:focus{--tw-translate-y:-50%}.md\:focus\:-translate-y-1\/3:focus{--tw-translate-y:-33.333333%}.md\:focus\:-translate-y-2\/3:focus{--tw-translate-y:-66.666667%}.md\:focus\:-translate-y-1\/4:focus{--tw-translate-y:-25%}.md\:focus\:-translate-y-2\/4:focus{--tw-translate-y:-50%}.md\:focus\:-translate-y-3\/4:focus{--tw-translate-y:-75%}.md\:focus\:-translate-y-full:focus{--tw-translate-y:-100%}.md\:rotate-0{--tw-rotate:0deg}.md\:rotate-1{--tw-rotate:1deg}.md\:rotate-2{--tw-rotate:2deg}.md\:rotate-3{--tw-rotate:3deg}.md\:rotate-6{--tw-rotate:6deg}.md\:rotate-12{--tw-rotate:12deg}.md\:rotate-45{--tw-rotate:45deg}.md\:rotate-90{--tw-rotate:90deg}.md\:rotate-180{--tw-rotate:180deg}.md\:-rotate-180{--tw-rotate:-180deg}.md\:-rotate-90{--tw-rotate:-90deg}.md\:-rotate-45{--tw-rotate:-45deg}.md\:-rotate-12{--tw-rotate:-12deg}.md\:-rotate-6{--tw-rotate:-6deg}.md\:-rotate-3{--tw-rotate:-3deg}.md\:-rotate-2{--tw-rotate:-2deg}.md\:-rotate-1{--tw-rotate:-1deg}.md\:hover\:rotate-0:hover{--tw-rotate:0deg}.md\:hover\:rotate-1:hover{--tw-rotate:1deg}.md\:hover\:rotate-2:hover{--tw-rotate:2deg}.md\:hover\:rotate-3:hover{--tw-rotate:3deg}.md\:hover\:rotate-6:hover{--tw-rotate:6deg}.md\:hover\:rotate-12:hover{--tw-rotate:12deg}.md\:hover\:rotate-45:hover{--tw-rotate:45deg}.md\:hover\:rotate-90:hover{--tw-rotate:90deg}.md\:hover\:rotate-180:hover{--tw-rotate:180deg}.md\:hover\:-rotate-180:hover{--tw-rotate:-180deg}.md\:hover\:-rotate-90:hover{--tw-rotate:-90deg}.md\:hover\:-rotate-45:hover{--tw-rotate:-45deg}.md\:hover\:-rotate-12:hover{--tw-rotate:-12deg}.md\:hover\:-rotate-6:hover{--tw-rotate:-6deg}.md\:hover\:-rotate-3:hover{--tw-rotate:-3deg}.md\:hover\:-rotate-2:hover{--tw-rotate:-2deg}.md\:hover\:-rotate-1:hover{--tw-rotate:-1deg}.md\:focus\:rotate-0:focus{--tw-rotate:0deg}.md\:focus\:rotate-1:focus{--tw-rotate:1deg}.md\:focus\:rotate-2:focus{--tw-rotate:2deg}.md\:focus\:rotate-3:focus{--tw-rotate:3deg}.md\:focus\:rotate-6:focus{--tw-rotate:6deg}.md\:focus\:rotate-12:focus{--tw-rotate:12deg}.md\:focus\:rotate-45:focus{--tw-rotate:45deg}.md\:focus\:rotate-90:focus{--tw-rotate:90deg}.md\:focus\:rotate-180:focus{--tw-rotate:180deg}.md\:focus\:-rotate-180:focus{--tw-rotate:-180deg}.md\:focus\:-rotate-90:focus{--tw-rotate:-90deg}.md\:focus\:-rotate-45:focus{--tw-rotate:-45deg}.md\:focus\:-rotate-12:focus{--tw-rotate:-12deg}.md\:focus\:-rotate-6:focus{--tw-rotate:-6deg}.md\:focus\:-rotate-3:focus{--tw-rotate:-3deg}.md\:focus\:-rotate-2:focus{--tw-rotate:-2deg}.md\:focus\:-rotate-1:focus{--tw-rotate:-1deg}.md\:skew-x-0{--tw-skew-x:0deg}.md\:skew-x-1{--tw-skew-x:1deg}.md\:skew-x-2{--tw-skew-x:2deg}.md\:skew-x-3{--tw-skew-x:3deg}.md\:skew-x-6{--tw-skew-x:6deg}.md\:skew-x-12{--tw-skew-x:12deg}.md\:-skew-x-12{--tw-skew-x:-12deg}.md\:-skew-x-6{--tw-skew-x:-6deg}.md\:-skew-x-3{--tw-skew-x:-3deg}.md\:-skew-x-2{--tw-skew-x:-2deg}.md\:-skew-x-1{--tw-skew-x:-1deg}.md\:skew-y-0{--tw-skew-y:0deg}.md\:skew-y-1{--tw-skew-y:1deg}.md\:skew-y-2{--tw-skew-y:2deg}.md\:skew-y-3{--tw-skew-y:3deg}.md\:skew-y-6{--tw-skew-y:6deg}.md\:skew-y-12{--tw-skew-y:12deg}.md\:-skew-y-12{--tw-skew-y:-12deg}.md\:-skew-y-6{--tw-skew-y:-6deg}.md\:-skew-y-3{--tw-skew-y:-3deg}.md\:-skew-y-2{--tw-skew-y:-2deg}.md\:-skew-y-1{--tw-skew-y:-1deg}.md\:hover\:skew-x-0:hover{--tw-skew-x:0deg}.md\:hover\:skew-x-1:hover{--tw-skew-x:1deg}.md\:hover\:skew-x-2:hover{--tw-skew-x:2deg}.md\:hover\:skew-x-3:hover{--tw-skew-x:3deg}.md\:hover\:skew-x-6:hover{--tw-skew-x:6deg}.md\:hover\:skew-x-12:hover{--tw-skew-x:12deg}.md\:hover\:-skew-x-12:hover{--tw-skew-x:-12deg}.md\:hover\:-skew-x-6:hover{--tw-skew-x:-6deg}.md\:hover\:-skew-x-3:hover{--tw-skew-x:-3deg}.md\:hover\:-skew-x-2:hover{--tw-skew-x:-2deg}.md\:hover\:-skew-x-1:hover{--tw-skew-x:-1deg}.md\:hover\:skew-y-0:hover{--tw-skew-y:0deg}.md\:hover\:skew-y-1:hover{--tw-skew-y:1deg}.md\:hover\:skew-y-2:hover{--tw-skew-y:2deg}.md\:hover\:skew-y-3:hover{--tw-skew-y:3deg}.md\:hover\:skew-y-6:hover{--tw-skew-y:6deg}.md\:hover\:skew-y-12:hover{--tw-skew-y:12deg}.md\:hover\:-skew-y-12:hover{--tw-skew-y:-12deg}.md\:hover\:-skew-y-6:hover{--tw-skew-y:-6deg}.md\:hover\:-skew-y-3:hover{--tw-skew-y:-3deg}.md\:hover\:-skew-y-2:hover{--tw-skew-y:-2deg}.md\:hover\:-skew-y-1:hover{--tw-skew-y:-1deg}.md\:focus\:skew-x-0:focus{--tw-skew-x:0deg}.md\:focus\:skew-x-1:focus{--tw-skew-x:1deg}.md\:focus\:skew-x-2:focus{--tw-skew-x:2deg}.md\:focus\:skew-x-3:focus{--tw-skew-x:3deg}.md\:focus\:skew-x-6:focus{--tw-skew-x:6deg}.md\:focus\:skew-x-12:focus{--tw-skew-x:12deg}.md\:focus\:-skew-x-12:focus{--tw-skew-x:-12deg}.md\:focus\:-skew-x-6:focus{--tw-skew-x:-6deg}.md\:focus\:-skew-x-3:focus{--tw-skew-x:-3deg}.md\:focus\:-skew-x-2:focus{--tw-skew-x:-2deg}.md\:focus\:-skew-x-1:focus{--tw-skew-x:-1deg}.md\:focus\:skew-y-0:focus{--tw-skew-y:0deg}.md\:focus\:skew-y-1:focus{--tw-skew-y:1deg}.md\:focus\:skew-y-2:focus{--tw-skew-y:2deg}.md\:focus\:skew-y-3:focus{--tw-skew-y:3deg}.md\:focus\:skew-y-6:focus{--tw-skew-y:6deg}.md\:focus\:skew-y-12:focus{--tw-skew-y:12deg}.md\:focus\:-skew-y-12:focus{--tw-skew-y:-12deg}.md\:focus\:-skew-y-6:focus{--tw-skew-y:-6deg}.md\:focus\:-skew-y-3:focus{--tw-skew-y:-3deg}.md\:focus\:-skew-y-2:focus{--tw-skew-y:-2deg}.md\:focus\:-skew-y-1:focus{--tw-skew-y:-1deg}.md\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.md\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.md\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.md\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.md\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.md\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.md\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\:hover\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.md\:hover\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.md\:hover\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.md\:hover\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.md\:hover\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.md\:hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.md\:hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\:hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\:hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\:hover\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\:focus\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.md\:focus\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.md\:focus\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.md\:focus\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.md\:focus\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.md\:focus\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.md\:focus\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\:focus\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.md\:focus\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.md\:focus\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.md\:scale-x-0{--tw-scale-x:0}.md\:scale-x-50{--tw-scale-x:.5}.md\:scale-x-75{--tw-scale-x:.75}.md\:scale-x-90{--tw-scale-x:.9}.md\:scale-x-95{--tw-scale-x:.95}.md\:scale-x-100{--tw-scale-x:1}.md\:scale-x-105{--tw-scale-x:1.05}.md\:scale-x-110{--tw-scale-x:1.1}.md\:scale-x-125{--tw-scale-x:1.25}.md\:scale-x-150{--tw-scale-x:1.5}.md\:scale-y-0{--tw-scale-y:0}.md\:scale-y-50{--tw-scale-y:.5}.md\:scale-y-75{--tw-scale-y:.75}.md\:scale-y-90{--tw-scale-y:.9}.md\:scale-y-95{--tw-scale-y:.95}.md\:scale-y-100{--tw-scale-y:1}.md\:scale-y-105{--tw-scale-y:1.05}.md\:scale-y-110{--tw-scale-y:1.1}.md\:scale-y-125{--tw-scale-y:1.25}.md\:scale-y-150{--tw-scale-y:1.5}.md\:hover\:scale-x-0:hover{--tw-scale-x:0}.md\:hover\:scale-x-50:hover{--tw-scale-x:.5}.md\:hover\:scale-x-75:hover{--tw-scale-x:.75}.md\:hover\:scale-x-90:hover{--tw-scale-x:.9}.md\:hover\:scale-x-95:hover{--tw-scale-x:.95}.md\:hover\:scale-x-100:hover{--tw-scale-x:1}.md\:hover\:scale-x-105:hover{--tw-scale-x:1.05}.md\:hover\:scale-x-110:hover{--tw-scale-x:1.1}.md\:hover\:scale-x-125:hover{--tw-scale-x:1.25}.md\:hover\:scale-x-150:hover{--tw-scale-x:1.5}.md\:hover\:scale-y-0:hover{--tw-scale-y:0}.md\:hover\:scale-y-50:hover{--tw-scale-y:.5}.md\:hover\:scale-y-75:hover{--tw-scale-y:.75}.md\:hover\:scale-y-90:hover{--tw-scale-y:.9}.md\:hover\:scale-y-95:hover{--tw-scale-y:.95}.md\:hover\:scale-y-100:hover{--tw-scale-y:1}.md\:hover\:scale-y-105:hover{--tw-scale-y:1.05}.md\:hover\:scale-y-110:hover{--tw-scale-y:1.1}.md\:hover\:scale-y-125:hover{--tw-scale-y:1.25}.md\:hover\:scale-y-150:hover{--tw-scale-y:1.5}.md\:focus\:scale-x-0:focus{--tw-scale-x:0}.md\:focus\:scale-x-50:focus{--tw-scale-x:.5}.md\:focus\:scale-x-75:focus{--tw-scale-x:.75}.md\:focus\:scale-x-90:focus{--tw-scale-x:.9}.md\:focus\:scale-x-95:focus{--tw-scale-x:.95}.md\:focus\:scale-x-100:focus{--tw-scale-x:1}.md\:focus\:scale-x-105:focus{--tw-scale-x:1.05}.md\:focus\:scale-x-110:focus{--tw-scale-x:1.1}.md\:focus\:scale-x-125:focus{--tw-scale-x:1.25}.md\:focus\:scale-x-150:focus{--tw-scale-x:1.5}.md\:focus\:scale-y-0:focus{--tw-scale-y:0}.md\:focus\:scale-y-50:focus{--tw-scale-y:.5}.md\:focus\:scale-y-75:focus{--tw-scale-y:.75}.md\:focus\:scale-y-90:focus{--tw-scale-y:.9}.md\:focus\:scale-y-95:focus{--tw-scale-y:.95}.md\:focus\:scale-y-100:focus{--tw-scale-y:1}.md\:focus\:scale-y-105:focus{--tw-scale-y:1.05}.md\:focus\:scale-y-110:focus{--tw-scale-y:1.1}.md\:focus\:scale-y-125:focus{--tw-scale-y:1.25}.md\:focus\:scale-y-150:focus{--tw-scale-y:1.5}.md\:animate-none{animation:none}.md\:animate-spin{animation:spin 1s linear infinite}.md\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.md\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.md\:animate-bounce{animation:bounce 1s infinite}.md\:cursor-auto{cursor:auto}.md\:cursor-default{cursor:default}.md\:cursor-pointer{cursor:pointer}.md\:cursor-wait{cursor:wait}.md\:cursor-text{cursor:text}.md\:cursor-move{cursor:move}.md\:cursor-help{cursor:help}.md\:cursor-not-allowed{cursor:not-allowed}.md\:select-none{-webkit-user-select:none;user-select:none}.md\:select-text{-webkit-user-select:text;user-select:text}.md\:select-all{-webkit-user-select:all;user-select:all}.md\:select-auto{-webkit-user-select:auto;user-select:auto}.md\:resize-none{resize:none}.md\:resize-y{resize:vertical}.md\:resize-x{resize:horizontal}.md\:resize{resize:both}.md\:list-inside{list-style-position:inside}.md\:list-outside{list-style-position:outside}.md\:list-none{list-style-type:none}.md\:list-disc{list-style-type:disc}.md\:list-decimal{list-style-type:decimal}.md\:appearance-none{-webkit-appearance:none;appearance:none}.md\:auto-cols-auto{grid-auto-columns:auto}.md\:auto-cols-min{grid-auto-columns:min-content}.md\:auto-cols-max{grid-auto-columns:max-content}.md\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.md\:grid-flow-row{grid-auto-flow:row}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-flow-row-dense{grid-auto-flow:row dense}.md\:grid-flow-col-dense{grid-auto-flow:column dense}.md\:auto-rows-auto{grid-auto-rows:auto}.md\:auto-rows-min{grid-auto-rows:min-content}.md\:auto-rows-max{grid-auto-rows:max-content}.md\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-none{grid-template-columns:none}.md\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.md\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.md\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.md\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.md\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.md\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.md\:grid-rows-none{grid-template-rows:none}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:flex-col-reverse{flex-direction:column-reverse}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:flex-nowrap{flex-wrap:nowrap}.md\:place-content-center{place-content:center}.md\:place-content-start{place-content:start}.md\:place-content-end{place-content:end}.md\:place-content-between{place-content:space-between}.md\:place-content-around{place-content:space-around}.md\:place-content-evenly{place-content:space-evenly}.md\:place-content-stretch{place-content:stretch}.md\:place-items-start{place-items:start}.md\:place-items-end{place-items:end}.md\:place-items-center{place-items:center}.md\:place-items-stretch{place-items:stretch}.md\:content-center{align-content:center}.md\:content-start{align-content:flex-start}.md\:content-end{align-content:flex-end}.md\:content-between{align-content:space-between}.md\:content-around{align-content:space-around}.md\:content-evenly{align-content:space-evenly}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:items-stretch{align-items:stretch}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:justify-evenly{justify-content:space-evenly}.md\:justify-items-start{justify-items:start}.md\:justify-items-end{justify-items:end}.md\:justify-items-center{justify-items:center}.md\:justify-items-stretch{justify-items:stretch}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:gap-5{gap:1.25rem}.md\:gap-6{gap:1.5rem}.md\:gap-7{gap:1.75rem}.md\:gap-8{gap:2rem}.md\:gap-9{gap:2.25rem}.md\:gap-10{gap:2.5rem}.md\:gap-11{gap:2.75rem}.md\:gap-12{gap:3rem}.md\:gap-14{gap:3.5rem}.md\:gap-16{gap:4rem}.md\:gap-20{gap:5rem}.md\:gap-24{gap:6rem}.md\:gap-28{gap:7rem}.md\:gap-32{gap:8rem}.md\:gap-36{gap:9rem}.md\:gap-40{gap:10rem}.md\:gap-44{gap:11rem}.md\:gap-48{gap:12rem}.md\:gap-52{gap:13rem}.md\:gap-56{gap:14rem}.md\:gap-60{gap:15rem}.md\:gap-64{gap:16rem}.md\:gap-72{gap:18rem}.md\:gap-80{gap:20rem}.md\:gap-96{gap:24rem}.md\:gap-px{gap:1px}.md\:gap-0\.5{gap:.125rem}.md\:gap-1\.5{gap:.375rem}.md\:gap-2\.5{gap:.625rem}.md\:gap-3\.5{gap:.875rem}.md\:gap-x-0{column-gap:0}.md\:gap-x-1{column-gap:.25rem}.md\:gap-x-2{column-gap:.5rem}.md\:gap-x-3{column-gap:.75rem}.md\:gap-x-4{column-gap:1rem}.md\:gap-x-5{column-gap:1.25rem}.md\:gap-x-6{column-gap:1.5rem}.md\:gap-x-7{column-gap:1.75rem}.md\:gap-x-8{column-gap:2rem}.md\:gap-x-9{column-gap:2.25rem}.md\:gap-x-10{column-gap:2.5rem}.md\:gap-x-11{column-gap:2.75rem}.md\:gap-x-12{column-gap:3rem}.md\:gap-x-14{column-gap:3.5rem}.md\:gap-x-16{column-gap:4rem}.md\:gap-x-20{column-gap:5rem}.md\:gap-x-24{column-gap:6rem}.md\:gap-x-28{column-gap:7rem}.md\:gap-x-32{column-gap:8rem}.md\:gap-x-36{column-gap:9rem}.md\:gap-x-40{column-gap:10rem}.md\:gap-x-44{column-gap:11rem}.md\:gap-x-48{column-gap:12rem}.md\:gap-x-52{column-gap:13rem}.md\:gap-x-56{column-gap:14rem}.md\:gap-x-60{column-gap:15rem}.md\:gap-x-64{column-gap:16rem}.md\:gap-x-72{column-gap:18rem}.md\:gap-x-80{column-gap:20rem}.md\:gap-x-96{column-gap:24rem}.md\:gap-x-px{column-gap:1px}.md\:gap-x-0\.5{column-gap:.125rem}.md\:gap-x-1\.5{column-gap:.375rem}.md\:gap-x-2\.5{column-gap:.625rem}.md\:gap-x-3\.5{column-gap:.875rem}.md\:gap-y-0{row-gap:0}.md\:gap-y-1{row-gap:.25rem}.md\:gap-y-2{row-gap:.5rem}.md\:gap-y-3{row-gap:.75rem}.md\:gap-y-4{row-gap:1rem}.md\:gap-y-5{row-gap:1.25rem}.md\:gap-y-6{row-gap:1.5rem}.md\:gap-y-7{row-gap:1.75rem}.md\:gap-y-8{row-gap:2rem}.md\:gap-y-9{row-gap:2.25rem}.md\:gap-y-10{row-gap:2.5rem}.md\:gap-y-11{row-gap:2.75rem}.md\:gap-y-12{row-gap:3rem}.md\:gap-y-14{row-gap:3.5rem}.md\:gap-y-16{row-gap:4rem}.md\:gap-y-20{row-gap:5rem}.md\:gap-y-24{row-gap:6rem}.md\:gap-y-28{row-gap:7rem}.md\:gap-y-32{row-gap:8rem}.md\:gap-y-36{row-gap:9rem}.md\:gap-y-40{row-gap:10rem}.md\:gap-y-44{row-gap:11rem}.md\:gap-y-48{row-gap:12rem}.md\:gap-y-52{row-gap:13rem}.md\:gap-y-56{row-gap:14rem}.md\:gap-y-60{row-gap:15rem}.md\:gap-y-64{row-gap:16rem}.md\:gap-y-72{row-gap:18rem}.md\:gap-y-80{row-gap:20rem}.md\:gap-y-96{row-gap:24rem}.md\:gap-y-px{row-gap:1px}.md\:gap-y-0\.5{row-gap:.125rem}.md\:gap-y-1\.5{row-gap:.375rem}.md\:gap-y-2\.5{row-gap:.625rem}.md\:gap-y-3\.5{row-gap:.875rem}.md\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.875rem * var(--tw-space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.125rem * var(--tw-space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.625rem * var(--tw-space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--tw-space-x-reverse)))}.md\:-space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.875rem * var(--tw-space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.md\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.md\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.md\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.md\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.md\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.md\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.md\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.md\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.md\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.md\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.md\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.md\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.md\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.md\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.md\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.md\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.md\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.md\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.md\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.md\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.md\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.md\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.md\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.md\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.md\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.md\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.md\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.md\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.md\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.md\:space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.md\:space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.md\:space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.md\:space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.md\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.25rem * var(--tw-space-y-reverse))}.md\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.5rem * var(--tw-space-y-reverse))}.md\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.75rem * var(--tw-space-y-reverse))}.md\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.md\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.md\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.md\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.md\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.md\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.md\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.md\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.md\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.md\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.md\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.md\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.md\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.md\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.md\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.md\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.md\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.md\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.md\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.md\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.md\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.md\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.md\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.md\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.md\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.md\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.md\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.md\:-space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.125rem * var(--tw-space-y-reverse))}.md\:-space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.375rem * var(--tw-space-y-reverse))}.md\:-space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.625rem * var(--tw-space-y-reverse))}.md\:-space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.875rem * var(--tw-space-y-reverse))}.md\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.md\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.md\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.md\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.md\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.md\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.md\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.md\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.md\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.md\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.md\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.md\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.md\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.md\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.md\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.md\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.md\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.md\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.md\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.md\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.md\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0,0,0,var(--tw-divide-opacity))}.md\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,255,255,var(--tw-divide-opacity))}.md\:divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,250,251,var(--tw-divide-opacity))}.md\:divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(243,244,246,var(--tw-divide-opacity))}.md\:divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(229,231,235,var(--tw-divide-opacity))}.md\:divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,213,219,var(--tw-divide-opacity))}.md\:divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(156,163,175,var(--tw-divide-opacity))}.md\:divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(107,114,128,var(--tw-divide-opacity))}.md\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(75,85,99,var(--tw-divide-opacity))}.md\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,65,81,var(--tw-divide-opacity))}.md\:divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(31,41,55,var(--tw-divide-opacity))}.md\:divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(17,24,39,var(--tw-divide-opacity))}.md\:divide-red-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,242,242,var(--tw-divide-opacity))}.md\:divide-red-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,226,226,var(--tw-divide-opacity))}.md\:divide-red-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,202,202,var(--tw-divide-opacity))}.md\:divide-red-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,165,165,var(--tw-divide-opacity))}.md\:divide-red-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(248,113,113,var(--tw-divide-opacity))}.md\:divide-red-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,68,68,var(--tw-divide-opacity))}.md\:divide-red-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(220,38,38,var(--tw-divide-opacity))}.md\:divide-red-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(185,28,28,var(--tw-divide-opacity))}.md\:divide-red-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(153,27,27,var(--tw-divide-opacity))}.md\:divide-red-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127,29,29,var(--tw-divide-opacity))}.md\:divide-yellow-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,251,235,var(--tw-divide-opacity))}.md\:divide-yellow-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,243,199,var(--tw-divide-opacity))}.md\:divide-yellow-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,230,138,var(--tw-divide-opacity))}.md\:divide-yellow-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,211,77,var(--tw-divide-opacity))}.md\:divide-yellow-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,191,36,var(--tw-divide-opacity))}.md\:divide-yellow-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,158,11,var(--tw-divide-opacity))}.md\:divide-yellow-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(217,119,6,var(--tw-divide-opacity))}.md\:divide-yellow-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(180,83,9,var(--tw-divide-opacity))}.md\:divide-yellow-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(146,64,14,var(--tw-divide-opacity))}.md\:divide-yellow-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(120,53,15,var(--tw-divide-opacity))}.md\:divide-green-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,253,245,var(--tw-divide-opacity))}.md\:divide-green-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,250,229,var(--tw-divide-opacity))}.md\:divide-green-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,243,208,var(--tw-divide-opacity))}.md\:divide-green-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(110,231,183,var(--tw-divide-opacity))}.md\:divide-green-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(52,211,153,var(--tw-divide-opacity))}.md\:divide-green-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(16,185,129,var(--tw-divide-opacity))}.md\:divide-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(5,150,105,var(--tw-divide-opacity))}.md\:divide-green-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(4,120,87,var(--tw-divide-opacity))}.md\:divide-green-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,95,70,var(--tw-divide-opacity))}.md\:divide-green-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,78,59,var(--tw-divide-opacity))}.md\:divide-blue-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,246,255,var(--tw-divide-opacity))}.md\:divide-blue-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,234,254,var(--tw-divide-opacity))}.md\:divide-blue-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(191,219,254,var(--tw-divide-opacity))}.md\:divide-blue-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(147,197,253,var(--tw-divide-opacity))}.md\:divide-blue-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(96,165,250,var(--tw-divide-opacity))}.md\:divide-blue-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(59,130,246,var(--tw-divide-opacity))}.md\:divide-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(37,99,235,var(--tw-divide-opacity))}.md\:divide-blue-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(29,78,216,var(--tw-divide-opacity))}.md\:divide-blue-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,64,175,var(--tw-divide-opacity))}.md\:divide-blue-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,58,138,var(--tw-divide-opacity))}.md\:divide-indigo-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(238,242,255,var(--tw-divide-opacity))}.md\:divide-indigo-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(224,231,255,var(--tw-divide-opacity))}.md\:divide-indigo-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(199,210,254,var(--tw-divide-opacity))}.md\:divide-indigo-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(165,180,252,var(--tw-divide-opacity))}.md\:divide-indigo-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(129,140,248,var(--tw-divide-opacity))}.md\:divide-indigo-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(99,102,241,var(--tw-divide-opacity))}.md\:divide-indigo-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(79,70,229,var(--tw-divide-opacity))}.md\:divide-indigo-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(67,56,202,var(--tw-divide-opacity))}.md\:divide-indigo-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,48,163,var(--tw-divide-opacity))}.md\:divide-indigo-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(49,46,129,var(--tw-divide-opacity))}.md\:divide-purple-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,243,255,var(--tw-divide-opacity))}.md\:divide-purple-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(237,233,254,var(--tw-divide-opacity))}.md\:divide-purple-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(221,214,254,var(--tw-divide-opacity))}.md\:divide-purple-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(196,181,253,var(--tw-divide-opacity))}.md\:divide-purple-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,139,250,var(--tw-divide-opacity))}.md\:divide-purple-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(139,92,246,var(--tw-divide-opacity))}.md\:divide-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(124,58,237,var(--tw-divide-opacity))}.md\:divide-purple-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(109,40,217,var(--tw-divide-opacity))}.md\:divide-purple-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(91,33,182,var(--tw-divide-opacity))}.md\:divide-purple-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(76,29,149,var(--tw-divide-opacity))}.md\:divide-pink-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,242,248,var(--tw-divide-opacity))}.md\:divide-pink-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,231,243,var(--tw-divide-opacity))}.md\:divide-pink-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,207,232,var(--tw-divide-opacity))}.md\:divide-pink-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,168,212,var(--tw-divide-opacity))}.md\:divide-pink-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(244,114,182,var(--tw-divide-opacity))}.md\:divide-pink-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,72,153,var(--tw-divide-opacity))}.md\:divide-pink-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,39,119,var(--tw-divide-opacity))}.md\:divide-pink-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(190,24,93,var(--tw-divide-opacity))}.md\:divide-pink-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(157,23,77,var(--tw-divide-opacity))}.md\:divide-pink-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(131,24,67,var(--tw-divide-opacity))}.md\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.md\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.md\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.md\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.md\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.md\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.md\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.md\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.md\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.md\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.md\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.md\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.md\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.md\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.md\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}.md\:place-self-auto{place-self:auto}.md\:place-self-start{place-self:start}.md\:place-self-end{place-self:end}.md\:place-self-center{place-self:center}.md\:place-self-stretch{place-self:stretch}.md\:self-auto{align-self:auto}.md\:self-start{align-self:flex-start}.md\:self-end{align-self:flex-end}.md\:self-center{align-self:center}.md\:self-stretch{align-self:stretch}.md\:self-baseline{align-self:baseline}.md\:justify-self-auto{justify-self:auto}.md\:justify-self-start{justify-self:start}.md\:justify-self-end{justify-self:end}.md\:justify-self-center{justify-self:center}.md\:justify-self-stretch{justify-self:stretch}.md\:overflow-auto{overflow:auto}.md\:overflow-hidden{overflow:hidden}.md\:overflow-visible{overflow:visible}.md\:overflow-scroll{overflow:scroll}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-auto{overflow-y:auto}.md\:overflow-x-hidden{overflow-x:hidden}.md\:overflow-y-hidden{overflow-y:hidden}.md\:overflow-x-visible{overflow-x:visible}.md\:overflow-y-visible{overflow-y:visible}.md\:overflow-x-scroll{overflow-x:scroll}.md\:overflow-y-scroll{overflow-y:scroll}.md\:overscroll-auto{overscroll-behavior:auto}.md\:overscroll-contain{overscroll-behavior:contain}.md\:overscroll-none{overscroll-behavior:none}.md\:overscroll-y-auto{overscroll-behavior-y:auto}.md\:overscroll-y-contain{overscroll-behavior-y:contain}.md\:overscroll-y-none{overscroll-behavior-y:none}.md\:overscroll-x-auto{overscroll-behavior-x:auto}.md\:overscroll-x-contain{overscroll-behavior-x:contain}.md\:overscroll-x-none{overscroll-behavior-x:none}.md\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\:overflow-ellipsis{text-overflow:ellipsis}.md\:overflow-clip{text-overflow:clip}.md\:whitespace-normal{white-space:normal}.md\:whitespace-nowrap{white-space:nowrap}.md\:whitespace-pre{white-space:pre}.md\:whitespace-pre-line{white-space:pre-line}.md\:whitespace-pre-wrap{white-space:pre-wrap}.md\:break-normal{overflow-wrap:normal;word-break:normal}.md\:break-words{overflow-wrap:break-word}.md\:break-all{word-break:break-all}.md\:rounded-none{border-radius:0}.md\:rounded-sm{border-radius:.125rem}.md\:rounded{border-radius:.25rem}.md\:rounded-md{border-radius:.375rem}.md\:rounded-lg{border-radius:.5rem}.md\:rounded-xl{border-radius:.75rem}.md\:rounded-2xl{border-radius:1rem}.md\:rounded-3xl{border-radius:1.5rem}.md\:rounded-full{border-radius:9999px}.md\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.md\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.md\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.md\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.md\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.md\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.md\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.md\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.md\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.md\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.md\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.md\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.md\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.md\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.md\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.md\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.md\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.md\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.md\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.md\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.md\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.md\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.md\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.md\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.md\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.md\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.md\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-tl-none{border-top-left-radius:0}.md\:rounded-tl-sm{border-top-left-radius:.125rem}.md\:rounded-tl{border-top-left-radius:.25rem}.md\:rounded-tl-md{border-top-left-radius:.375rem}.md\:rounded-tl-lg{border-top-left-radius:.5rem}.md\:rounded-tl-xl{border-top-left-radius:.75rem}.md\:rounded-tl-2xl{border-top-left-radius:1rem}.md\:rounded-tl-3xl{border-top-left-radius:1.5rem}.md\:rounded-tl-full{border-top-left-radius:9999px}.md\:rounded-tr-none{border-top-right-radius:0}.md\:rounded-tr-sm{border-top-right-radius:.125rem}.md\:rounded-tr{border-top-right-radius:.25rem}.md\:rounded-tr-md{border-top-right-radius:.375rem}.md\:rounded-tr-lg{border-top-right-radius:.5rem}.md\:rounded-tr-xl{border-top-right-radius:.75rem}.md\:rounded-tr-2xl{border-top-right-radius:1rem}.md\:rounded-tr-3xl{border-top-right-radius:1.5rem}.md\:rounded-tr-full{border-top-right-radius:9999px}.md\:rounded-br-none{border-bottom-right-radius:0}.md\:rounded-br-sm{border-bottom-right-radius:.125rem}.md\:rounded-br{border-bottom-right-radius:.25rem}.md\:rounded-br-md{border-bottom-right-radius:.375rem}.md\:rounded-br-lg{border-bottom-right-radius:.5rem}.md\:rounded-br-xl{border-bottom-right-radius:.75rem}.md\:rounded-br-2xl{border-bottom-right-radius:1rem}.md\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.md\:rounded-br-full{border-bottom-right-radius:9999px}.md\:rounded-bl-none{border-bottom-left-radius:0}.md\:rounded-bl-sm{border-bottom-left-radius:.125rem}.md\:rounded-bl{border-bottom-left-radius:.25rem}.md\:rounded-bl-md{border-bottom-left-radius:.375rem}.md\:rounded-bl-lg{border-bottom-left-radius:.5rem}.md\:rounded-bl-xl{border-bottom-left-radius:.75rem}.md\:rounded-bl-2xl{border-bottom-left-radius:1rem}.md\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.md\:rounded-bl-full{border-bottom-left-radius:9999px}.md\:border-0{border-width:0}.md\:border-2{border-width:2px}.md\:border-4{border-width:4px}.md\:border-8{border-width:8px}.md\:border{border-width:1px}.md\:border-t-0{border-top-width:0}.md\:border-t-2{border-top-width:2px}.md\:border-t-4{border-top-width:4px}.md\:border-t-8{border-top-width:8px}.md\:border-t{border-top-width:1px}.md\:border-r-0{border-right-width:0}.md\:border-r-2{border-right-width:2px}.md\:border-r-4{border-right-width:4px}.md\:border-r-8{border-right-width:8px}.md\:border-r{border-right-width:1px}.md\:border-b-0{border-bottom-width:0}.md\:border-b-2{border-bottom-width:2px}.md\:border-b-4{border-bottom-width:4px}.md\:border-b-8{border-bottom-width:8px}.md\:border-b{border-bottom-width:1px}.md\:border-l-0{border-left-width:0}.md\:border-l-2{border-left-width:2px}.md\:border-l-4{border-left-width:4px}.md\:border-l-8{border-left-width:8px}.md\:border-l{border-left-width:1px}.md\:border-solid{border-style:solid}.md\:border-dashed{border-style:dashed}.md\:border-dotted{border-style:dotted}.md\:border-double{border-style:double}.md\:border-none{border-style:none}.md\:border-transparent{border-color:transparent}.md\:border-current{border-color:currentColor}.md\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.md\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.md\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.md\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.md\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.md\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.md\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.md\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.md\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.md\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.md\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.md\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.md\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.md\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.md\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.md\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.md\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.md\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.md\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.md\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.md\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.md\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.md\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.md\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.md\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.md\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.md\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.md\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.md\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.md\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.md\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.md\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.md\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.md\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.md\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.md\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.md\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.md\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.md\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.md\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.md\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.md\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.md\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.md\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.md\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.md\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.md\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.md\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.md\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.md\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.md\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.md\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.md\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.md\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.md\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.md\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.md\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.md\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.md\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.md\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.md\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.md\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.md\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.md\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.md\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.md\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.md\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.md\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.md\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.md\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.md\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.md\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.md\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.md\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.md\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.md\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.md\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.md\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.md\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.md\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.md\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.md\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-transparent{border-color:transparent}.group:hover .md\:group-hover\:border-current{border-color:currentColor}.group:hover .md\:group-hover\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.group:hover .md\:group-hover\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.md\:focus-within\:border-transparent:focus-within{border-color:transparent}.md\:focus-within\:border-current:focus-within{border-color:currentColor}.md\:focus-within\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.md\:focus-within\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.md\:focus-within\:border-gray-50:focus-within{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.md\:focus-within\:border-gray-100:focus-within{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.md\:focus-within\:border-gray-200:focus-within{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.md\:focus-within\:border-gray-300:focus-within{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.md\:focus-within\:border-gray-400:focus-within{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.md\:focus-within\:border-gray-500:focus-within{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.md\:focus-within\:border-gray-600:focus-within{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.md\:focus-within\:border-gray-700:focus-within{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.md\:focus-within\:border-gray-800:focus-within{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.md\:focus-within\:border-gray-900:focus-within{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.md\:focus-within\:border-red-50:focus-within{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.md\:focus-within\:border-red-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.md\:focus-within\:border-red-200:focus-within{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.md\:focus-within\:border-red-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.md\:focus-within\:border-red-400:focus-within{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.md\:focus-within\:border-red-500:focus-within{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.md\:focus-within\:border-red-600:focus-within{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.md\:focus-within\:border-red-700:focus-within{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.md\:focus-within\:border-red-800:focus-within{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.md\:focus-within\:border-red-900:focus-within{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-50:focus-within{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-200:focus-within{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-400:focus-within{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-500:focus-within{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-600:focus-within{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-700:focus-within{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-800:focus-within{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.md\:focus-within\:border-yellow-900:focus-within{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.md\:focus-within\:border-green-50:focus-within{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.md\:focus-within\:border-green-100:focus-within{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.md\:focus-within\:border-green-200:focus-within{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.md\:focus-within\:border-green-300:focus-within{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.md\:focus-within\:border-green-400:focus-within{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.md\:focus-within\:border-green-500:focus-within{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.md\:focus-within\:border-green-600:focus-within{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.md\:focus-within\:border-green-700:focus-within{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.md\:focus-within\:border-green-800:focus-within{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.md\:focus-within\:border-green-900:focus-within{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.md\:focus-within\:border-blue-50:focus-within{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.md\:focus-within\:border-blue-100:focus-within{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.md\:focus-within\:border-blue-200:focus-within{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.md\:focus-within\:border-blue-300:focus-within{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.md\:focus-within\:border-blue-400:focus-within{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.md\:focus-within\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.md\:focus-within\:border-blue-600:focus-within{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.md\:focus-within\:border-blue-700:focus-within{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.md\:focus-within\:border-blue-800:focus-within{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.md\:focus-within\:border-blue-900:focus-within{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-50:focus-within{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-100:focus-within{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-200:focus-within{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-300:focus-within{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-400:focus-within{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-500:focus-within{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-600:focus-within{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-700:focus-within{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-800:focus-within{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.md\:focus-within\:border-indigo-900:focus-within{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.md\:focus-within\:border-purple-50:focus-within{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.md\:focus-within\:border-purple-100:focus-within{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.md\:focus-within\:border-purple-200:focus-within{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.md\:focus-within\:border-purple-300:focus-within{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.md\:focus-within\:border-purple-400:focus-within{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.md\:focus-within\:border-purple-500:focus-within{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.md\:focus-within\:border-purple-600:focus-within{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.md\:focus-within\:border-purple-700:focus-within{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.md\:focus-within\:border-purple-800:focus-within{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.md\:focus-within\:border-purple-900:focus-within{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.md\:focus-within\:border-pink-50:focus-within{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.md\:focus-within\:border-pink-100:focus-within{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.md\:focus-within\:border-pink-200:focus-within{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.md\:focus-within\:border-pink-300:focus-within{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.md\:focus-within\:border-pink-400:focus-within{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.md\:focus-within\:border-pink-500:focus-within{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.md\:focus-within\:border-pink-600:focus-within{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.md\:focus-within\:border-pink-700:focus-within{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.md\:focus-within\:border-pink-800:focus-within{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.md\:focus-within\:border-pink-900:focus-within{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.md\:hover\:border-transparent:hover{border-color:transparent}.md\:hover\:border-current:hover{border-color:currentColor}.md\:hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.md\:hover\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.md\:hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.md\:hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.md\:hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.md\:hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.md\:hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.md\:hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.md\:hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.md\:hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.md\:hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.md\:hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.md\:hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.md\:hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.md\:hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.md\:hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.md\:hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.md\:hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.md\:hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.md\:hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.md\:hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.md\:hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.md\:hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.md\:hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.md\:hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.md\:hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.md\:hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.md\:hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.md\:hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.md\:hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.md\:hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.md\:hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.md\:hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.md\:hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.md\:hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.md\:hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.md\:hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.md\:hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.md\:hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.md\:hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.md\:hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.md\:hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.md\:hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.md\:hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.md\:hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.md\:hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.md\:hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.md\:hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.md\:hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.md\:hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.md\:hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.md\:hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.md\:hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.md\:hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.md\:hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.md\:hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.md\:hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.md\:hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.md\:hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.md\:hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.md\:hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.md\:hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.md\:hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.md\:hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.md\:hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.md\:hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.md\:hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.md\:hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.md\:hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.md\:hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.md\:hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.md\:hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.md\:hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.md\:hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.md\:hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.md\:hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.md\:hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.md\:hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.md\:hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.md\:hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.md\:hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.md\:hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.md\:focus\:border-transparent:focus{border-color:transparent}.md\:focus\:border-current:focus{border-color:currentColor}.md\:focus\:border-black:focus{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.md\:focus\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.md\:focus\:border-gray-50:focus{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.md\:focus\:border-gray-100:focus{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.md\:focus\:border-gray-200:focus{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.md\:focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.md\:focus\:border-gray-400:focus{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.md\:focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.md\:focus\:border-gray-600:focus{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.md\:focus\:border-gray-700:focus{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.md\:focus\:border-gray-800:focus{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.md\:focus\:border-gray-900:focus{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.md\:focus\:border-red-50:focus{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.md\:focus\:border-red-100:focus{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.md\:focus\:border-red-200:focus{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.md\:focus\:border-red-300:focus{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.md\:focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.md\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.md\:focus\:border-red-600:focus{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.md\:focus\:border-red-700:focus{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.md\:focus\:border-red-800:focus{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.md\:focus\:border-red-900:focus{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.md\:focus\:border-yellow-50:focus{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.md\:focus\:border-yellow-100:focus{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.md\:focus\:border-yellow-200:focus{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.md\:focus\:border-yellow-300:focus{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.md\:focus\:border-yellow-400:focus{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.md\:focus\:border-yellow-500:focus{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.md\:focus\:border-yellow-600:focus{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.md\:focus\:border-yellow-700:focus{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.md\:focus\:border-yellow-800:focus{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.md\:focus\:border-yellow-900:focus{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.md\:focus\:border-green-50:focus{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.md\:focus\:border-green-100:focus{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.md\:focus\:border-green-200:focus{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.md\:focus\:border-green-300:focus{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.md\:focus\:border-green-400:focus{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.md\:focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.md\:focus\:border-green-600:focus{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.md\:focus\:border-green-700:focus{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.md\:focus\:border-green-800:focus{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.md\:focus\:border-green-900:focus{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.md\:focus\:border-blue-50:focus{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.md\:focus\:border-blue-100:focus{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.md\:focus\:border-blue-200:focus{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.md\:focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.md\:focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.md\:focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.md\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.md\:focus\:border-blue-700:focus{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.md\:focus\:border-blue-800:focus{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.md\:focus\:border-blue-900:focus{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.md\:focus\:border-indigo-50:focus{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.md\:focus\:border-indigo-100:focus{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.md\:focus\:border-indigo-200:focus{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.md\:focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.md\:focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.md\:focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.md\:focus\:border-indigo-600:focus{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.md\:focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.md\:focus\:border-indigo-800:focus{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.md\:focus\:border-indigo-900:focus{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.md\:focus\:border-purple-50:focus{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.md\:focus\:border-purple-100:focus{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.md\:focus\:border-purple-200:focus{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.md\:focus\:border-purple-300:focus{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.md\:focus\:border-purple-400:focus{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.md\:focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.md\:focus\:border-purple-600:focus{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.md\:focus\:border-purple-700:focus{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.md\:focus\:border-purple-800:focus{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.md\:focus\:border-purple-900:focus{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.md\:focus\:border-pink-50:focus{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.md\:focus\:border-pink-100:focus{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.md\:focus\:border-pink-200:focus{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.md\:focus\:border-pink-300:focus{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.md\:focus\:border-pink-400:focus{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.md\:focus\:border-pink-500:focus{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.md\:focus\:border-pink-600:focus{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.md\:focus\:border-pink-700:focus{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.md\:focus\:border-pink-800:focus{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.md\:focus\:border-pink-900:focus{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.md\:border-opacity-0{--tw-border-opacity:0}.md\:border-opacity-5{--tw-border-opacity:0.05}.md\:border-opacity-10{--tw-border-opacity:0.1}.md\:border-opacity-20{--tw-border-opacity:0.2}.md\:border-opacity-25{--tw-border-opacity:0.25}.md\:border-opacity-30{--tw-border-opacity:0.3}.md\:border-opacity-40{--tw-border-opacity:0.4}.md\:border-opacity-50{--tw-border-opacity:0.5}.md\:border-opacity-60{--tw-border-opacity:0.6}.md\:border-opacity-70{--tw-border-opacity:0.7}.md\:border-opacity-75{--tw-border-opacity:0.75}.md\:border-opacity-80{--tw-border-opacity:0.8}.md\:border-opacity-90{--tw-border-opacity:0.9}.md\:border-opacity-95{--tw-border-opacity:0.95}.md\:border-opacity-100{--tw-border-opacity:1}.group:hover .md\:group-hover\:border-opacity-0{--tw-border-opacity:0}.group:hover .md\:group-hover\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .md\:group-hover\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .md\:group-hover\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .md\:group-hover\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .md\:group-hover\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .md\:group-hover\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .md\:group-hover\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .md\:group-hover\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .md\:group-hover\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .md\:group-hover\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .md\:group-hover\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .md\:group-hover\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .md\:group-hover\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .md\:group-hover\:border-opacity-100{--tw-border-opacity:1}.md\:focus-within\:border-opacity-0:focus-within{--tw-border-opacity:0}.md\:focus-within\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.md\:focus-within\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.md\:focus-within\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.md\:focus-within\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.md\:focus-within\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.md\:focus-within\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.md\:focus-within\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.md\:focus-within\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.md\:focus-within\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.md\:focus-within\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.md\:focus-within\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.md\:focus-within\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.md\:focus-within\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.md\:focus-within\:border-opacity-100:focus-within{--tw-border-opacity:1}.md\:hover\:border-opacity-0:hover{--tw-border-opacity:0}.md\:hover\:border-opacity-5:hover{--tw-border-opacity:0.05}.md\:hover\:border-opacity-10:hover{--tw-border-opacity:0.1}.md\:hover\:border-opacity-20:hover{--tw-border-opacity:0.2}.md\:hover\:border-opacity-25:hover{--tw-border-opacity:0.25}.md\:hover\:border-opacity-30:hover{--tw-border-opacity:0.3}.md\:hover\:border-opacity-40:hover{--tw-border-opacity:0.4}.md\:hover\:border-opacity-50:hover{--tw-border-opacity:0.5}.md\:hover\:border-opacity-60:hover{--tw-border-opacity:0.6}.md\:hover\:border-opacity-70:hover{--tw-border-opacity:0.7}.md\:hover\:border-opacity-75:hover{--tw-border-opacity:0.75}.md\:hover\:border-opacity-80:hover{--tw-border-opacity:0.8}.md\:hover\:border-opacity-90:hover{--tw-border-opacity:0.9}.md\:hover\:border-opacity-95:hover{--tw-border-opacity:0.95}.md\:hover\:border-opacity-100:hover{--tw-border-opacity:1}.md\:focus\:border-opacity-0:focus{--tw-border-opacity:0}.md\:focus\:border-opacity-5:focus{--tw-border-opacity:0.05}.md\:focus\:border-opacity-10:focus{--tw-border-opacity:0.1}.md\:focus\:border-opacity-20:focus{--tw-border-opacity:0.2}.md\:focus\:border-opacity-25:focus{--tw-border-opacity:0.25}.md\:focus\:border-opacity-30:focus{--tw-border-opacity:0.3}.md\:focus\:border-opacity-40:focus{--tw-border-opacity:0.4}.md\:focus\:border-opacity-50:focus{--tw-border-opacity:0.5}.md\:focus\:border-opacity-60:focus{--tw-border-opacity:0.6}.md\:focus\:border-opacity-70:focus{--tw-border-opacity:0.7}.md\:focus\:border-opacity-75:focus{--tw-border-opacity:0.75}.md\:focus\:border-opacity-80:focus{--tw-border-opacity:0.8}.md\:focus\:border-opacity-90:focus{--tw-border-opacity:0.9}.md\:focus\:border-opacity-95:focus{--tw-border-opacity:0.95}.md\:focus\:border-opacity-100:focus{--tw-border-opacity:1}.md\:bg-transparent{background-color:transparent}.md\:bg-current{background-color:currentColor}.md\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.md\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.md\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.md\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.md\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.md\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.md\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.md\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.md\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.md\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.md\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.md\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.md\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.md\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.md\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.md\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.md\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.md\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.md\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.md\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.md\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.md\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.md\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.md\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.md\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.md\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.md\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.md\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.md\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.md\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.md\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.md\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.md\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.md\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.md\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.md\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.md\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.md\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.md\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.md\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.md\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.md\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.md\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.md\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.md\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.md\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.md\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.md\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.md\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.md\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.md\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.md\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.md\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.md\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.md\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.md\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.md\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.md\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.md\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.md\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.md\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.md\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.md\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.md\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.md\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.md\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.md\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.md\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.md\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.md\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.md\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.md\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.md\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.md\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.md\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.md\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.md\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.md\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.md\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.md\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.md\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.md\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-transparent{background-color:transparent}.group:hover .md\:group-hover\:bg-current{background-color:currentColor}.group:hover .md\:group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.group:hover .md\:group-hover\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.md\:focus-within\:bg-transparent:focus-within{background-color:transparent}.md\:focus-within\:bg-current:focus-within{background-color:currentColor}.md\:focus-within\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.md\:focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-100:focus-within{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-200:focus-within{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-300:focus-within{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-400:focus-within{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-500:focus-within{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-600:focus-within{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-700:focus-within{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-800:focus-within{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.md\:focus-within\:bg-gray-900:focus-within{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-50:focus-within{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-200:focus-within{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-400:focus-within{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-500:focus-within{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-600:focus-within{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-700:focus-within{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-800:focus-within{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.md\:focus-within\:bg-red-900:focus-within{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-50:focus-within{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-200:focus-within{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-400:focus-within{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-500:focus-within{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-600:focus-within{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-700:focus-within{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-800:focus-within{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.md\:focus-within\:bg-yellow-900:focus-within{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-50:focus-within{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-100:focus-within{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-200:focus-within{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-300:focus-within{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-400:focus-within{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-500:focus-within{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-600:focus-within{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-700:focus-within{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-800:focus-within{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.md\:focus-within\:bg-green-900:focus-within{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-50:focus-within{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-100:focus-within{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-200:focus-within{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-300:focus-within{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-400:focus-within{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-500:focus-within{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-600:focus-within{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-700:focus-within{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-800:focus-within{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.md\:focus-within\:bg-blue-900:focus-within{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-50:focus-within{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-100:focus-within{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-200:focus-within{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-300:focus-within{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-400:focus-within{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-500:focus-within{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-600:focus-within{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-700:focus-within{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-800:focus-within{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.md\:focus-within\:bg-indigo-900:focus-within{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-50:focus-within{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-100:focus-within{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-200:focus-within{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-300:focus-within{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-400:focus-within{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-500:focus-within{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-600:focus-within{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-700:focus-within{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-800:focus-within{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.md\:focus-within\:bg-purple-900:focus-within{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-50:focus-within{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-100:focus-within{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-200:focus-within{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-300:focus-within{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-400:focus-within{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-500:focus-within{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-600:focus-within{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-700:focus-within{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-800:focus-within{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.md\:focus-within\:bg-pink-900:focus-within{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:bg-current:hover{background-color:currentColor}.md\:hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.md\:hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.md\:hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.md\:hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.md\:hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.md\:hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.md\:hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.md\:hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.md\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.md\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.md\:hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.md\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.md\:hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.md\:hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.md\:hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.md\:hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.md\:hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.md\:hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.md\:hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.md\:hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.md\:hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.md\:hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.md\:hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.md\:hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.md\:hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.md\:hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.md\:hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.md\:hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.md\:hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.md\:hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.md\:hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.md\:hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.md\:hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.md\:hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.md\:hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.md\:hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.md\:hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.md\:hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.md\:hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.md\:hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.md\:hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.md\:hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.md\:hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.md\:hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.md\:hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.md\:hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.md\:hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.md\:hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.md\:hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.md\:hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.md\:hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.md\:hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.md\:hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.md\:hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.md\:hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.md\:hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.md\:hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.md\:hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.md\:hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.md\:hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.md\:hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.md\:hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.md\:hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.md\:hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.md\:focus\:bg-transparent:focus{background-color:transparent}.md\:focus\:bg-current:focus{background-color:currentColor}.md\:focus\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.md\:focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.md\:focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.md\:focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.md\:focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.md\:focus\:bg-gray-300:focus{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.md\:focus\:bg-gray-400:focus{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.md\:focus\:bg-gray-500:focus{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.md\:focus\:bg-gray-600:focus{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.md\:focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.md\:focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.md\:focus\:bg-gray-900:focus{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.md\:focus\:bg-red-50:focus{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.md\:focus\:bg-red-100:focus{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.md\:focus\:bg-red-200:focus{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.md\:focus\:bg-red-300:focus{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.md\:focus\:bg-red-400:focus{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.md\:focus\:bg-red-500:focus{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.md\:focus\:bg-red-600:focus{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.md\:focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.md\:focus\:bg-red-800:focus{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.md\:focus\:bg-red-900:focus{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-50:focus{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-100:focus{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-200:focus{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-300:focus{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-400:focus{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-500:focus{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-600:focus{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-700:focus{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-800:focus{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.md\:focus\:bg-yellow-900:focus{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.md\:focus\:bg-green-50:focus{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.md\:focus\:bg-green-100:focus{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.md\:focus\:bg-green-200:focus{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.md\:focus\:bg-green-300:focus{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.md\:focus\:bg-green-400:focus{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.md\:focus\:bg-green-500:focus{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.md\:focus\:bg-green-600:focus{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.md\:focus\:bg-green-700:focus{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.md\:focus\:bg-green-800:focus{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.md\:focus\:bg-green-900:focus{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.md\:focus\:bg-blue-50:focus{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.md\:focus\:bg-blue-100:focus{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.md\:focus\:bg-blue-200:focus{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.md\:focus\:bg-blue-300:focus{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.md\:focus\:bg-blue-400:focus{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.md\:focus\:bg-blue-500:focus{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.md\:focus\:bg-blue-600:focus{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.md\:focus\:bg-blue-700:focus{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.md\:focus\:bg-blue-800:focus{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.md\:focus\:bg-blue-900:focus{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-50:focus{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-200:focus{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-300:focus{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-400:focus{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-500:focus{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-600:focus{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-800:focus{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.md\:focus\:bg-indigo-900:focus{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.md\:focus\:bg-purple-50:focus{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.md\:focus\:bg-purple-100:focus{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.md\:focus\:bg-purple-200:focus{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.md\:focus\:bg-purple-300:focus{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.md\:focus\:bg-purple-400:focus{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.md\:focus\:bg-purple-500:focus{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.md\:focus\:bg-purple-600:focus{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.md\:focus\:bg-purple-700:focus{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.md\:focus\:bg-purple-800:focus{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.md\:focus\:bg-purple-900:focus{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.md\:focus\:bg-pink-50:focus{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.md\:focus\:bg-pink-100:focus{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.md\:focus\:bg-pink-200:focus{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.md\:focus\:bg-pink-300:focus{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.md\:focus\:bg-pink-400:focus{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.md\:focus\:bg-pink-500:focus{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.md\:focus\:bg-pink-600:focus{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.md\:focus\:bg-pink-700:focus{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.md\:focus\:bg-pink-800:focus{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.md\:focus\:bg-pink-900:focus{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.md\:bg-opacity-0{--tw-bg-opacity:0}.md\:bg-opacity-5{--tw-bg-opacity:0.05}.md\:bg-opacity-10{--tw-bg-opacity:0.1}.md\:bg-opacity-20{--tw-bg-opacity:0.2}.md\:bg-opacity-25{--tw-bg-opacity:0.25}.md\:bg-opacity-30{--tw-bg-opacity:0.3}.md\:bg-opacity-40{--tw-bg-opacity:0.4}.md\:bg-opacity-50{--tw-bg-opacity:0.5}.md\:bg-opacity-60{--tw-bg-opacity:0.6}.md\:bg-opacity-70{--tw-bg-opacity:0.7}.md\:bg-opacity-75{--tw-bg-opacity:0.75}.md\:bg-opacity-80{--tw-bg-opacity:0.8}.md\:bg-opacity-90{--tw-bg-opacity:0.9}.md\:bg-opacity-95{--tw-bg-opacity:0.95}.md\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .md\:group-hover\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .md\:group-hover\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .md\:group-hover\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .md\:group-hover\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .md\:group-hover\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .md\:group-hover\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .md\:group-hover\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .md\:group-hover\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .md\:group-hover\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .md\:group-hover\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .md\:group-hover\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .md\:group-hover\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .md\:group-hover\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .md\:group-hover\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .md\:group-hover\:bg-opacity-100{--tw-bg-opacity:1}.md\:focus-within\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.md\:focus-within\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.md\:focus-within\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.md\:focus-within\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.md\:focus-within\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.md\:focus-within\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.md\:focus-within\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.md\:focus-within\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.md\:focus-within\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.md\:focus-within\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.md\:focus-within\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.md\:focus-within\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.md\:focus-within\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.md\:focus-within\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.md\:focus-within\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.md\:hover\:bg-opacity-0:hover{--tw-bg-opacity:0}.md\:hover\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.md\:hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.md\:hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.md\:hover\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.md\:hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.md\:hover\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.md\:hover\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.md\:hover\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.md\:hover\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.md\:hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.md\:hover\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.md\:hover\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.md\:hover\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.md\:hover\:bg-opacity-100:hover{--tw-bg-opacity:1}.md\:focus\:bg-opacity-0:focus{--tw-bg-opacity:0}.md\:focus\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.md\:focus\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.md\:focus\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.md\:focus\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.md\:focus\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.md\:focus\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.md\:focus\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.md\:focus\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.md\:focus\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.md\:focus\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.md\:focus\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.md\:focus\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.md\:focus\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.md\:focus\:bg-opacity-100:focus{--tw-bg-opacity:1}.md\:bg-none{background-image:none}.md\:bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.md\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.md\:bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.md\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.md\:bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.md\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.md\:bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.md\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.md\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:from-black{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.md\:from-gray-100{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.md\:from-gray-200{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.md\:from-gray-300{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.md\:from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.md\:from-gray-500{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.md\:from-gray-600{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.md\:from-gray-700{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.md\:from-gray-800{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.md\:from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.md\:from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.md\:from-red-100{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.md\:from-red-200{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.md\:from-red-300{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.md\:from-red-400{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.md\:from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.md\:from-red-600{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.md\:from-red-700{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.md\:from-red-800{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.md\:from-red-900{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.md\:from-yellow-50{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.md\:from-yellow-100{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.md\:from-yellow-200{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.md\:from-yellow-300{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.md\:from-yellow-400{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.md\:from-yellow-500{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.md\:from-yellow-600{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.md\:from-yellow-700{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.md\:from-yellow-800{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.md\:from-yellow-900{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.md\:from-green-50{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.md\:from-green-100{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.md\:from-green-200{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.md\:from-green-300{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.md\:from-green-400{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.md\:from-green-500{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.md\:from-green-600{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.md\:from-green-700{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.md\:from-green-800{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.md\:from-green-900{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.md\:from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.md\:from-blue-100{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.md\:from-blue-200{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.md\:from-blue-300{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.md\:from-blue-400{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.md\:from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.md\:from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.md\:from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.md\:from-blue-800{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.md\:from-blue-900{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.md\:from-indigo-50{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.md\:from-indigo-100{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.md\:from-indigo-200{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.md\:from-indigo-300{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.md\:from-indigo-400{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.md\:from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.md\:from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.md\:from-indigo-700{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.md\:from-indigo-800{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.md\:from-indigo-900{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.md\:from-purple-50{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.md\:from-purple-100{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.md\:from-purple-200{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.md\:from-purple-300{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.md\:from-purple-400{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.md\:from-purple-500{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.md\:from-purple-600{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.md\:from-purple-700{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.md\:from-purple-800{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.md\:from-purple-900{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.md\:from-pink-50{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.md\:from-pink-100{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.md\:from-pink-200{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.md\:from-pink-300{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.md\:from-pink-400{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.md\:from-pink-500{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.md\:from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.md\:from-pink-700{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.md\:from-pink-800{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.md\:from-pink-900{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.md\:hover\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:hover\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:hover\:from-black:hover{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:hover\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:hover\:from-gray-50:hover{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.md\:hover\:from-gray-100:hover{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.md\:hover\:from-gray-200:hover{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.md\:hover\:from-gray-300:hover{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.md\:hover\:from-gray-400:hover{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.md\:hover\:from-gray-500:hover{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.md\:hover\:from-gray-600:hover{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.md\:hover\:from-gray-700:hover{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.md\:hover\:from-gray-800:hover{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.md\:hover\:from-gray-900:hover{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.md\:hover\:from-red-50:hover{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.md\:hover\:from-red-100:hover{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.md\:hover\:from-red-200:hover{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.md\:hover\:from-red-300:hover{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.md\:hover\:from-red-400:hover{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.md\:hover\:from-red-500:hover{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.md\:hover\:from-red-600:hover{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.md\:hover\:from-red-700:hover{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.md\:hover\:from-red-800:hover{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.md\:hover\:from-red-900:hover{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.md\:hover\:from-yellow-50:hover{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.md\:hover\:from-yellow-100:hover{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.md\:hover\:from-yellow-200:hover{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.md\:hover\:from-yellow-300:hover{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.md\:hover\:from-yellow-400:hover{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.md\:hover\:from-yellow-500:hover{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.md\:hover\:from-yellow-600:hover{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.md\:hover\:from-yellow-700:hover{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.md\:hover\:from-yellow-800:hover{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.md\:hover\:from-yellow-900:hover{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.md\:hover\:from-green-50:hover{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.md\:hover\:from-green-100:hover{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.md\:hover\:from-green-200:hover{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.md\:hover\:from-green-300:hover{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.md\:hover\:from-green-400:hover{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.md\:hover\:from-green-500:hover{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.md\:hover\:from-green-600:hover{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.md\:hover\:from-green-700:hover{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.md\:hover\:from-green-800:hover{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.md\:hover\:from-green-900:hover{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.md\:hover\:from-blue-50:hover{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.md\:hover\:from-blue-100:hover{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.md\:hover\:from-blue-200:hover{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.md\:hover\:from-blue-300:hover{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.md\:hover\:from-blue-400:hover{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.md\:hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.md\:hover\:from-blue-600:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.md\:hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.md\:hover\:from-blue-800:hover{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.md\:hover\:from-blue-900:hover{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.md\:hover\:from-indigo-50:hover{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.md\:hover\:from-indigo-100:hover{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.md\:hover\:from-indigo-200:hover{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.md\:hover\:from-indigo-300:hover{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.md\:hover\:from-indigo-400:hover{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.md\:hover\:from-indigo-500:hover{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.md\:hover\:from-indigo-600:hover{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.md\:hover\:from-indigo-700:hover{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.md\:hover\:from-indigo-800:hover{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.md\:hover\:from-indigo-900:hover{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.md\:hover\:from-purple-50:hover{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.md\:hover\:from-purple-100:hover{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.md\:hover\:from-purple-200:hover{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.md\:hover\:from-purple-300:hover{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.md\:hover\:from-purple-400:hover{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.md\:hover\:from-purple-500:hover{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.md\:hover\:from-purple-600:hover{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.md\:hover\:from-purple-700:hover{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.md\:hover\:from-purple-800:hover{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.md\:hover\:from-purple-900:hover{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.md\:hover\:from-pink-50:hover{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.md\:hover\:from-pink-100:hover{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.md\:hover\:from-pink-200:hover{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.md\:hover\:from-pink-300:hover{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.md\:hover\:from-pink-400:hover{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.md\:hover\:from-pink-500:hover{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.md\:hover\:from-pink-600:hover{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.md\:hover\:from-pink-700:hover{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.md\:hover\:from-pink-800:hover{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.md\:hover\:from-pink-900:hover{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.md\:focus\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:focus\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:focus\:from-black:focus{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:focus\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:focus\:from-gray-50:focus{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.md\:focus\:from-gray-100:focus{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.md\:focus\:from-gray-200:focus{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.md\:focus\:from-gray-300:focus{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.md\:focus\:from-gray-400:focus{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.md\:focus\:from-gray-500:focus{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.md\:focus\:from-gray-600:focus{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.md\:focus\:from-gray-700:focus{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.md\:focus\:from-gray-800:focus{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.md\:focus\:from-gray-900:focus{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.md\:focus\:from-red-50:focus{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.md\:focus\:from-red-100:focus{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.md\:focus\:from-red-200:focus{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.md\:focus\:from-red-300:focus{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.md\:focus\:from-red-400:focus{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.md\:focus\:from-red-500:focus{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.md\:focus\:from-red-600:focus{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.md\:focus\:from-red-700:focus{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.md\:focus\:from-red-800:focus{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.md\:focus\:from-red-900:focus{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.md\:focus\:from-yellow-50:focus{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.md\:focus\:from-yellow-100:focus{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.md\:focus\:from-yellow-200:focus{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.md\:focus\:from-yellow-300:focus{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.md\:focus\:from-yellow-400:focus{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.md\:focus\:from-yellow-500:focus{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.md\:focus\:from-yellow-600:focus{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.md\:focus\:from-yellow-700:focus{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.md\:focus\:from-yellow-800:focus{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.md\:focus\:from-yellow-900:focus{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.md\:focus\:from-green-50:focus{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.md\:focus\:from-green-100:focus{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.md\:focus\:from-green-200:focus{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.md\:focus\:from-green-300:focus{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.md\:focus\:from-green-400:focus{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.md\:focus\:from-green-500:focus{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.md\:focus\:from-green-600:focus{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.md\:focus\:from-green-700:focus{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.md\:focus\:from-green-800:focus{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.md\:focus\:from-green-900:focus{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.md\:focus\:from-blue-50:focus{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.md\:focus\:from-blue-100:focus{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.md\:focus\:from-blue-200:focus{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.md\:focus\:from-blue-300:focus{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.md\:focus\:from-blue-400:focus{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.md\:focus\:from-blue-500:focus{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.md\:focus\:from-blue-600:focus{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.md\:focus\:from-blue-700:focus{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.md\:focus\:from-blue-800:focus{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.md\:focus\:from-blue-900:focus{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.md\:focus\:from-indigo-50:focus{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.md\:focus\:from-indigo-100:focus{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.md\:focus\:from-indigo-200:focus{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.md\:focus\:from-indigo-300:focus{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.md\:focus\:from-indigo-400:focus{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.md\:focus\:from-indigo-500:focus{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.md\:focus\:from-indigo-600:focus{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.md\:focus\:from-indigo-700:focus{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.md\:focus\:from-indigo-800:focus{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.md\:focus\:from-indigo-900:focus{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.md\:focus\:from-purple-50:focus{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.md\:focus\:from-purple-100:focus{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.md\:focus\:from-purple-200:focus{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.md\:focus\:from-purple-300:focus{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.md\:focus\:from-purple-400:focus{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.md\:focus\:from-purple-500:focus{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.md\:focus\:from-purple-600:focus{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.md\:focus\:from-purple-700:focus{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.md\:focus\:from-purple-800:focus{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.md\:focus\:from-purple-900:focus{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.md\:focus\:from-pink-50:focus{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.md\:focus\:from-pink-100:focus{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.md\:focus\:from-pink-200:focus{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.md\:focus\:from-pink-300:focus{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.md\:focus\:from-pink-400:focus{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.md\:focus\:from-pink-500:focus{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.md\:focus\:from-pink-600:focus{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.md\:focus\:from-pink-700:focus{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.md\:focus\:from-pink-800:focus{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.md\:focus\:from-pink-900:focus{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.md\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:via-current{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:via-black{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:via-gray-50{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.md\:via-gray-100{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.md\:via-gray-200{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.md\:via-gray-300{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.md\:via-gray-400{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.md\:via-gray-500{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.md\:via-gray-600{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.md\:via-gray-700{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.md\:via-gray-800{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.md\:via-gray-900{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.md\:via-red-50{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.md\:via-red-100{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.md\:via-red-200{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.md\:via-red-300{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.md\:via-red-400{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.md\:via-red-500{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.md\:via-red-600{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.md\:via-red-700{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.md\:via-red-800{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.md\:via-red-900{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.md\:via-yellow-50{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.md\:via-yellow-100{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.md\:via-yellow-200{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.md\:via-yellow-300{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.md\:via-yellow-400{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.md\:via-yellow-500{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.md\:via-yellow-600{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.md\:via-yellow-700{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.md\:via-yellow-800{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.md\:via-yellow-900{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.md\:via-green-50{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.md\:via-green-100{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.md\:via-green-200{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.md\:via-green-300{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.md\:via-green-400{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.md\:via-green-500{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.md\:via-green-600{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.md\:via-green-700{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.md\:via-green-800{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.md\:via-green-900{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.md\:via-blue-50{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.md\:via-blue-100{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.md\:via-blue-200{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.md\:via-blue-300{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.md\:via-blue-400{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.md\:via-blue-500{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.md\:via-blue-600{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.md\:via-blue-700{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.md\:via-blue-800{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.md\:via-blue-900{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.md\:via-indigo-50{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.md\:via-indigo-100{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.md\:via-indigo-200{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.md\:via-indigo-300{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.md\:via-indigo-400{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.md\:via-indigo-500{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.md\:via-indigo-600{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.md\:via-indigo-700{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.md\:via-indigo-800{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.md\:via-indigo-900{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.md\:via-purple-50{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.md\:via-purple-100{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.md\:via-purple-200{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.md\:via-purple-300{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.md\:via-purple-400{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.md\:via-purple-500{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.md\:via-purple-600{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.md\:via-purple-700{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.md\:via-purple-800{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.md\:via-purple-900{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.md\:via-pink-50{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.md\:via-pink-100{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.md\:via-pink-200{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.md\:via-pink-300{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.md\:via-pink-400{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.md\:via-pink-500{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.md\:via-pink-600{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.md\:via-pink-700{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.md\:via-pink-800{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.md\:via-pink-900{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.md\:hover\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:hover\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:hover\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:hover\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:hover\:via-gray-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.md\:hover\:via-gray-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.md\:hover\:via-gray-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.md\:hover\:via-gray-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.md\:hover\:via-gray-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.md\:hover\:via-gray-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.md\:hover\:via-gray-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.md\:hover\:via-gray-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.md\:hover\:via-gray-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.md\:hover\:via-gray-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.md\:hover\:via-red-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.md\:hover\:via-red-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.md\:hover\:via-red-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.md\:hover\:via-red-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.md\:hover\:via-red-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.md\:hover\:via-red-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.md\:hover\:via-red-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.md\:hover\:via-red-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.md\:hover\:via-red-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.md\:hover\:via-red-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.md\:hover\:via-yellow-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.md\:hover\:via-yellow-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.md\:hover\:via-yellow-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.md\:hover\:via-yellow-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.md\:hover\:via-yellow-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.md\:hover\:via-yellow-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.md\:hover\:via-yellow-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.md\:hover\:via-yellow-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.md\:hover\:via-yellow-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.md\:hover\:via-yellow-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.md\:hover\:via-green-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.md\:hover\:via-green-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.md\:hover\:via-green-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.md\:hover\:via-green-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.md\:hover\:via-green-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.md\:hover\:via-green-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.md\:hover\:via-green-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.md\:hover\:via-green-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.md\:hover\:via-green-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.md\:hover\:via-green-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.md\:hover\:via-blue-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.md\:hover\:via-blue-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.md\:hover\:via-blue-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.md\:hover\:via-blue-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.md\:hover\:via-blue-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.md\:hover\:via-blue-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.md\:hover\:via-blue-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.md\:hover\:via-blue-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.md\:hover\:via-blue-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.md\:hover\:via-blue-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.md\:hover\:via-indigo-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.md\:hover\:via-indigo-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.md\:hover\:via-indigo-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.md\:hover\:via-indigo-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.md\:hover\:via-indigo-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.md\:hover\:via-indigo-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.md\:hover\:via-indigo-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.md\:hover\:via-indigo-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.md\:hover\:via-indigo-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.md\:hover\:via-indigo-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.md\:hover\:via-purple-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.md\:hover\:via-purple-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.md\:hover\:via-purple-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.md\:hover\:via-purple-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.md\:hover\:via-purple-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.md\:hover\:via-purple-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.md\:hover\:via-purple-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.md\:hover\:via-purple-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.md\:hover\:via-purple-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.md\:hover\:via-purple-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.md\:hover\:via-pink-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.md\:hover\:via-pink-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.md\:hover\:via-pink-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.md\:hover\:via-pink-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.md\:hover\:via-pink-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.md\:hover\:via-pink-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.md\:hover\:via-pink-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.md\:hover\:via-pink-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.md\:hover\:via-pink-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.md\:hover\:via-pink-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.md\:focus\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:focus\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:focus\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.md\:focus\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.md\:focus\:via-gray-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.md\:focus\:via-gray-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.md\:focus\:via-gray-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.md\:focus\:via-gray-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.md\:focus\:via-gray-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.md\:focus\:via-gray-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.md\:focus\:via-gray-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.md\:focus\:via-gray-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.md\:focus\:via-gray-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.md\:focus\:via-gray-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.md\:focus\:via-red-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.md\:focus\:via-red-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.md\:focus\:via-red-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.md\:focus\:via-red-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.md\:focus\:via-red-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.md\:focus\:via-red-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.md\:focus\:via-red-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.md\:focus\:via-red-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.md\:focus\:via-red-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.md\:focus\:via-red-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.md\:focus\:via-yellow-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.md\:focus\:via-yellow-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.md\:focus\:via-yellow-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.md\:focus\:via-yellow-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.md\:focus\:via-yellow-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.md\:focus\:via-yellow-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.md\:focus\:via-yellow-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.md\:focus\:via-yellow-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.md\:focus\:via-yellow-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.md\:focus\:via-yellow-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.md\:focus\:via-green-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.md\:focus\:via-green-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.md\:focus\:via-green-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.md\:focus\:via-green-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.md\:focus\:via-green-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.md\:focus\:via-green-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.md\:focus\:via-green-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.md\:focus\:via-green-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.md\:focus\:via-green-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.md\:focus\:via-green-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.md\:focus\:via-blue-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.md\:focus\:via-blue-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.md\:focus\:via-blue-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.md\:focus\:via-blue-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.md\:focus\:via-blue-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.md\:focus\:via-blue-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.md\:focus\:via-blue-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.md\:focus\:via-blue-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.md\:focus\:via-blue-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.md\:focus\:via-blue-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.md\:focus\:via-indigo-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.md\:focus\:via-indigo-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.md\:focus\:via-indigo-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.md\:focus\:via-indigo-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.md\:focus\:via-indigo-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.md\:focus\:via-indigo-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.md\:focus\:via-indigo-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.md\:focus\:via-indigo-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.md\:focus\:via-indigo-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.md\:focus\:via-indigo-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.md\:focus\:via-purple-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.md\:focus\:via-purple-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.md\:focus\:via-purple-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.md\:focus\:via-purple-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.md\:focus\:via-purple-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.md\:focus\:via-purple-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.md\:focus\:via-purple-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.md\:focus\:via-purple-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.md\:focus\:via-purple-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.md\:focus\:via-purple-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.md\:focus\:via-pink-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.md\:focus\:via-pink-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.md\:focus\:via-pink-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.md\:focus\:via-pink-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.md\:focus\:via-pink-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.md\:focus\:via-pink-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.md\:focus\:via-pink-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.md\:focus\:via-pink-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.md\:focus\:via-pink-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.md\:focus\:via-pink-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.md\:to-transparent{--tw-gradient-to:transparent}.md\:to-current{--tw-gradient-to:currentColor}.md\:to-black{--tw-gradient-to:#000}.md\:to-white{--tw-gradient-to:#fff}.md\:to-gray-50{--tw-gradient-to:#f9fafb}.md\:to-gray-100{--tw-gradient-to:#f3f4f6}.md\:to-gray-200{--tw-gradient-to:#e5e7eb}.md\:to-gray-300{--tw-gradient-to:#d1d5db}.md\:to-gray-400{--tw-gradient-to:#9ca3af}.md\:to-gray-500{--tw-gradient-to:#6b7280}.md\:to-gray-600{--tw-gradient-to:#4b5563}.md\:to-gray-700{--tw-gradient-to:#374151}.md\:to-gray-800{--tw-gradient-to:#1f2937}.md\:to-gray-900{--tw-gradient-to:#111827}.md\:to-red-50{--tw-gradient-to:#fef2f2}.md\:to-red-100{--tw-gradient-to:#fee2e2}.md\:to-red-200{--tw-gradient-to:#fecaca}.md\:to-red-300{--tw-gradient-to:#fca5a5}.md\:to-red-400{--tw-gradient-to:#f87171}.md\:to-red-500{--tw-gradient-to:#ef4444}.md\:to-red-600{--tw-gradient-to:#dc2626}.md\:to-red-700{--tw-gradient-to:#b91c1c}.md\:to-red-800{--tw-gradient-to:#991b1b}.md\:to-red-900{--tw-gradient-to:#7f1d1d}.md\:to-yellow-50{--tw-gradient-to:#fffbeb}.md\:to-yellow-100{--tw-gradient-to:#fef3c7}.md\:to-yellow-200{--tw-gradient-to:#fde68a}.md\:to-yellow-300{--tw-gradient-to:#fcd34d}.md\:to-yellow-400{--tw-gradient-to:#fbbf24}.md\:to-yellow-500{--tw-gradient-to:#f59e0b}.md\:to-yellow-600{--tw-gradient-to:#d97706}.md\:to-yellow-700{--tw-gradient-to:#b45309}.md\:to-yellow-800{--tw-gradient-to:#92400e}.md\:to-yellow-900{--tw-gradient-to:#78350f}.md\:to-green-50{--tw-gradient-to:#ecfdf5}.md\:to-green-100{--tw-gradient-to:#d1fae5}.md\:to-green-200{--tw-gradient-to:#a7f3d0}.md\:to-green-300{--tw-gradient-to:#6ee7b7}.md\:to-green-400{--tw-gradient-to:#34d399}.md\:to-green-500{--tw-gradient-to:#10b981}.md\:to-green-600{--tw-gradient-to:#059669}.md\:to-green-700{--tw-gradient-to:#047857}.md\:to-green-800{--tw-gradient-to:#065f46}.md\:to-green-900{--tw-gradient-to:#064e3b}.md\:to-blue-50{--tw-gradient-to:#eff6ff}.md\:to-blue-100{--tw-gradient-to:#dbeafe}.md\:to-blue-200{--tw-gradient-to:#bfdbfe}.md\:to-blue-300{--tw-gradient-to:#93c5fd}.md\:to-blue-400{--tw-gradient-to:#60a5fa}.md\:to-blue-500{--tw-gradient-to:#3b82f6}.md\:to-blue-600{--tw-gradient-to:#2563eb}.md\:to-blue-700{--tw-gradient-to:#1d4ed8}.md\:to-blue-800{--tw-gradient-to:#1e40af}.md\:to-blue-900{--tw-gradient-to:#1e3a8a}.md\:to-indigo-50{--tw-gradient-to:#eef2ff}.md\:to-indigo-100{--tw-gradient-to:#e0e7ff}.md\:to-indigo-200{--tw-gradient-to:#c7d2fe}.md\:to-indigo-300{--tw-gradient-to:#a5b4fc}.md\:to-indigo-400{--tw-gradient-to:#818cf8}.md\:to-indigo-500{--tw-gradient-to:#6366f1}.md\:to-indigo-600{--tw-gradient-to:#4f46e5}.md\:to-indigo-700{--tw-gradient-to:#4338ca}.md\:to-indigo-800{--tw-gradient-to:#3730a3}.md\:to-indigo-900{--tw-gradient-to:#312e81}.md\:to-purple-50{--tw-gradient-to:#f5f3ff}.md\:to-purple-100{--tw-gradient-to:#ede9fe}.md\:to-purple-200{--tw-gradient-to:#ddd6fe}.md\:to-purple-300{--tw-gradient-to:#c4b5fd}.md\:to-purple-400{--tw-gradient-to:#a78bfa}.md\:to-purple-500{--tw-gradient-to:#8b5cf6}.md\:to-purple-600{--tw-gradient-to:#7c3aed}.md\:to-purple-700{--tw-gradient-to:#6d28d9}.md\:to-purple-800{--tw-gradient-to:#5b21b6}.md\:to-purple-900{--tw-gradient-to:#4c1d95}.md\:to-pink-50{--tw-gradient-to:#fdf2f8}.md\:to-pink-100{--tw-gradient-to:#fce7f3}.md\:to-pink-200{--tw-gradient-to:#fbcfe8}.md\:to-pink-300{--tw-gradient-to:#f9a8d4}.md\:to-pink-400{--tw-gradient-to:#f472b6}.md\:to-pink-500{--tw-gradient-to:#ec4899}.md\:to-pink-600{--tw-gradient-to:#db2777}.md\:to-pink-700{--tw-gradient-to:#be185d}.md\:to-pink-800{--tw-gradient-to:#9d174d}.md\:to-pink-900{--tw-gradient-to:#831843}.md\:hover\:to-transparent:hover{--tw-gradient-to:transparent}.md\:hover\:to-current:hover{--tw-gradient-to:currentColor}.md\:hover\:to-black:hover{--tw-gradient-to:#000}.md\:hover\:to-white:hover{--tw-gradient-to:#fff}.md\:hover\:to-gray-50:hover{--tw-gradient-to:#f9fafb}.md\:hover\:to-gray-100:hover{--tw-gradient-to:#f3f4f6}.md\:hover\:to-gray-200:hover{--tw-gradient-to:#e5e7eb}.md\:hover\:to-gray-300:hover{--tw-gradient-to:#d1d5db}.md\:hover\:to-gray-400:hover{--tw-gradient-to:#9ca3af}.md\:hover\:to-gray-500:hover{--tw-gradient-to:#6b7280}.md\:hover\:to-gray-600:hover{--tw-gradient-to:#4b5563}.md\:hover\:to-gray-700:hover{--tw-gradient-to:#374151}.md\:hover\:to-gray-800:hover{--tw-gradient-to:#1f2937}.md\:hover\:to-gray-900:hover{--tw-gradient-to:#111827}.md\:hover\:to-red-50:hover{--tw-gradient-to:#fef2f2}.md\:hover\:to-red-100:hover{--tw-gradient-to:#fee2e2}.md\:hover\:to-red-200:hover{--tw-gradient-to:#fecaca}.md\:hover\:to-red-300:hover{--tw-gradient-to:#fca5a5}.md\:hover\:to-red-400:hover{--tw-gradient-to:#f87171}.md\:hover\:to-red-500:hover{--tw-gradient-to:#ef4444}.md\:hover\:to-red-600:hover{--tw-gradient-to:#dc2626}.md\:hover\:to-red-700:hover{--tw-gradient-to:#b91c1c}.md\:hover\:to-red-800:hover{--tw-gradient-to:#991b1b}.md\:hover\:to-red-900:hover{--tw-gradient-to:#7f1d1d}.md\:hover\:to-yellow-50:hover{--tw-gradient-to:#fffbeb}.md\:hover\:to-yellow-100:hover{--tw-gradient-to:#fef3c7}.md\:hover\:to-yellow-200:hover{--tw-gradient-to:#fde68a}.md\:hover\:to-yellow-300:hover{--tw-gradient-to:#fcd34d}.md\:hover\:to-yellow-400:hover{--tw-gradient-to:#fbbf24}.md\:hover\:to-yellow-500:hover{--tw-gradient-to:#f59e0b}.md\:hover\:to-yellow-600:hover{--tw-gradient-to:#d97706}.md\:hover\:to-yellow-700:hover{--tw-gradient-to:#b45309}.md\:hover\:to-yellow-800:hover{--tw-gradient-to:#92400e}.md\:hover\:to-yellow-900:hover{--tw-gradient-to:#78350f}.md\:hover\:to-green-50:hover{--tw-gradient-to:#ecfdf5}.md\:hover\:to-green-100:hover{--tw-gradient-to:#d1fae5}.md\:hover\:to-green-200:hover{--tw-gradient-to:#a7f3d0}.md\:hover\:to-green-300:hover{--tw-gradient-to:#6ee7b7}.md\:hover\:to-green-400:hover{--tw-gradient-to:#34d399}.md\:hover\:to-green-500:hover{--tw-gradient-to:#10b981}.md\:hover\:to-green-600:hover{--tw-gradient-to:#059669}.md\:hover\:to-green-700:hover{--tw-gradient-to:#047857}.md\:hover\:to-green-800:hover{--tw-gradient-to:#065f46}.md\:hover\:to-green-900:hover{--tw-gradient-to:#064e3b}.md\:hover\:to-blue-50:hover{--tw-gradient-to:#eff6ff}.md\:hover\:to-blue-100:hover{--tw-gradient-to:#dbeafe}.md\:hover\:to-blue-200:hover{--tw-gradient-to:#bfdbfe}.md\:hover\:to-blue-300:hover{--tw-gradient-to:#93c5fd}.md\:hover\:to-blue-400:hover{--tw-gradient-to:#60a5fa}.md\:hover\:to-blue-500:hover{--tw-gradient-to:#3b82f6}.md\:hover\:to-blue-600:hover{--tw-gradient-to:#2563eb}.md\:hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8}.md\:hover\:to-blue-800:hover{--tw-gradient-to:#1e40af}.md\:hover\:to-blue-900:hover{--tw-gradient-to:#1e3a8a}.md\:hover\:to-indigo-50:hover{--tw-gradient-to:#eef2ff}.md\:hover\:to-indigo-100:hover{--tw-gradient-to:#e0e7ff}.md\:hover\:to-indigo-200:hover{--tw-gradient-to:#c7d2fe}.md\:hover\:to-indigo-300:hover{--tw-gradient-to:#a5b4fc}.md\:hover\:to-indigo-400:hover{--tw-gradient-to:#818cf8}.md\:hover\:to-indigo-500:hover{--tw-gradient-to:#6366f1}.md\:hover\:to-indigo-600:hover{--tw-gradient-to:#4f46e5}.md\:hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca}.md\:hover\:to-indigo-800:hover{--tw-gradient-to:#3730a3}.md\:hover\:to-indigo-900:hover{--tw-gradient-to:#312e81}.md\:hover\:to-purple-50:hover{--tw-gradient-to:#f5f3ff}.md\:hover\:to-purple-100:hover{--tw-gradient-to:#ede9fe}.md\:hover\:to-purple-200:hover{--tw-gradient-to:#ddd6fe}.md\:hover\:to-purple-300:hover{--tw-gradient-to:#c4b5fd}.md\:hover\:to-purple-400:hover{--tw-gradient-to:#a78bfa}.md\:hover\:to-purple-500:hover{--tw-gradient-to:#8b5cf6}.md\:hover\:to-purple-600:hover{--tw-gradient-to:#7c3aed}.md\:hover\:to-purple-700:hover{--tw-gradient-to:#6d28d9}.md\:hover\:to-purple-800:hover{--tw-gradient-to:#5b21b6}.md\:hover\:to-purple-900:hover{--tw-gradient-to:#4c1d95}.md\:hover\:to-pink-50:hover{--tw-gradient-to:#fdf2f8}.md\:hover\:to-pink-100:hover{--tw-gradient-to:#fce7f3}.md\:hover\:to-pink-200:hover{--tw-gradient-to:#fbcfe8}.md\:hover\:to-pink-300:hover{--tw-gradient-to:#f9a8d4}.md\:hover\:to-pink-400:hover{--tw-gradient-to:#f472b6}.md\:hover\:to-pink-500:hover{--tw-gradient-to:#ec4899}.md\:hover\:to-pink-600:hover{--tw-gradient-to:#db2777}.md\:hover\:to-pink-700:hover{--tw-gradient-to:#be185d}.md\:hover\:to-pink-800:hover{--tw-gradient-to:#9d174d}.md\:hover\:to-pink-900:hover{--tw-gradient-to:#831843}.md\:focus\:to-transparent:focus{--tw-gradient-to:transparent}.md\:focus\:to-current:focus{--tw-gradient-to:currentColor}.md\:focus\:to-black:focus{--tw-gradient-to:#000}.md\:focus\:to-white:focus{--tw-gradient-to:#fff}.md\:focus\:to-gray-50:focus{--tw-gradient-to:#f9fafb}.md\:focus\:to-gray-100:focus{--tw-gradient-to:#f3f4f6}.md\:focus\:to-gray-200:focus{--tw-gradient-to:#e5e7eb}.md\:focus\:to-gray-300:focus{--tw-gradient-to:#d1d5db}.md\:focus\:to-gray-400:focus{--tw-gradient-to:#9ca3af}.md\:focus\:to-gray-500:focus{--tw-gradient-to:#6b7280}.md\:focus\:to-gray-600:focus{--tw-gradient-to:#4b5563}.md\:focus\:to-gray-700:focus{--tw-gradient-to:#374151}.md\:focus\:to-gray-800:focus{--tw-gradient-to:#1f2937}.md\:focus\:to-gray-900:focus{--tw-gradient-to:#111827}.md\:focus\:to-red-50:focus{--tw-gradient-to:#fef2f2}.md\:focus\:to-red-100:focus{--tw-gradient-to:#fee2e2}.md\:focus\:to-red-200:focus{--tw-gradient-to:#fecaca}.md\:focus\:to-red-300:focus{--tw-gradient-to:#fca5a5}.md\:focus\:to-red-400:focus{--tw-gradient-to:#f87171}.md\:focus\:to-red-500:focus{--tw-gradient-to:#ef4444}.md\:focus\:to-red-600:focus{--tw-gradient-to:#dc2626}.md\:focus\:to-red-700:focus{--tw-gradient-to:#b91c1c}.md\:focus\:to-red-800:focus{--tw-gradient-to:#991b1b}.md\:focus\:to-red-900:focus{--tw-gradient-to:#7f1d1d}.md\:focus\:to-yellow-50:focus{--tw-gradient-to:#fffbeb}.md\:focus\:to-yellow-100:focus{--tw-gradient-to:#fef3c7}.md\:focus\:to-yellow-200:focus{--tw-gradient-to:#fde68a}.md\:focus\:to-yellow-300:focus{--tw-gradient-to:#fcd34d}.md\:focus\:to-yellow-400:focus{--tw-gradient-to:#fbbf24}.md\:focus\:to-yellow-500:focus{--tw-gradient-to:#f59e0b}.md\:focus\:to-yellow-600:focus{--tw-gradient-to:#d97706}.md\:focus\:to-yellow-700:focus{--tw-gradient-to:#b45309}.md\:focus\:to-yellow-800:focus{--tw-gradient-to:#92400e}.md\:focus\:to-yellow-900:focus{--tw-gradient-to:#78350f}.md\:focus\:to-green-50:focus{--tw-gradient-to:#ecfdf5}.md\:focus\:to-green-100:focus{--tw-gradient-to:#d1fae5}.md\:focus\:to-green-200:focus{--tw-gradient-to:#a7f3d0}.md\:focus\:to-green-300:focus{--tw-gradient-to:#6ee7b7}.md\:focus\:to-green-400:focus{--tw-gradient-to:#34d399}.md\:focus\:to-green-500:focus{--tw-gradient-to:#10b981}.md\:focus\:to-green-600:focus{--tw-gradient-to:#059669}.md\:focus\:to-green-700:focus{--tw-gradient-to:#047857}.md\:focus\:to-green-800:focus{--tw-gradient-to:#065f46}.md\:focus\:to-green-900:focus{--tw-gradient-to:#064e3b}.md\:focus\:to-blue-50:focus{--tw-gradient-to:#eff6ff}.md\:focus\:to-blue-100:focus{--tw-gradient-to:#dbeafe}.md\:focus\:to-blue-200:focus{--tw-gradient-to:#bfdbfe}.md\:focus\:to-blue-300:focus{--tw-gradient-to:#93c5fd}.md\:focus\:to-blue-400:focus{--tw-gradient-to:#60a5fa}.md\:focus\:to-blue-500:focus{--tw-gradient-to:#3b82f6}.md\:focus\:to-blue-600:focus{--tw-gradient-to:#2563eb}.md\:focus\:to-blue-700:focus{--tw-gradient-to:#1d4ed8}.md\:focus\:to-blue-800:focus{--tw-gradient-to:#1e40af}.md\:focus\:to-blue-900:focus{--tw-gradient-to:#1e3a8a}.md\:focus\:to-indigo-50:focus{--tw-gradient-to:#eef2ff}.md\:focus\:to-indigo-100:focus{--tw-gradient-to:#e0e7ff}.md\:focus\:to-indigo-200:focus{--tw-gradient-to:#c7d2fe}.md\:focus\:to-indigo-300:focus{--tw-gradient-to:#a5b4fc}.md\:focus\:to-indigo-400:focus{--tw-gradient-to:#818cf8}.md\:focus\:to-indigo-500:focus{--tw-gradient-to:#6366f1}.md\:focus\:to-indigo-600:focus{--tw-gradient-to:#4f46e5}.md\:focus\:to-indigo-700:focus{--tw-gradient-to:#4338ca}.md\:focus\:to-indigo-800:focus{--tw-gradient-to:#3730a3}.md\:focus\:to-indigo-900:focus{--tw-gradient-to:#312e81}.md\:focus\:to-purple-50:focus{--tw-gradient-to:#f5f3ff}.md\:focus\:to-purple-100:focus{--tw-gradient-to:#ede9fe}.md\:focus\:to-purple-200:focus{--tw-gradient-to:#ddd6fe}.md\:focus\:to-purple-300:focus{--tw-gradient-to:#c4b5fd}.md\:focus\:to-purple-400:focus{--tw-gradient-to:#a78bfa}.md\:focus\:to-purple-500:focus{--tw-gradient-to:#8b5cf6}.md\:focus\:to-purple-600:focus{--tw-gradient-to:#7c3aed}.md\:focus\:to-purple-700:focus{--tw-gradient-to:#6d28d9}.md\:focus\:to-purple-800:focus{--tw-gradient-to:#5b21b6}.md\:focus\:to-purple-900:focus{--tw-gradient-to:#4c1d95}.md\:focus\:to-pink-50:focus{--tw-gradient-to:#fdf2f8}.md\:focus\:to-pink-100:focus{--tw-gradient-to:#fce7f3}.md\:focus\:to-pink-200:focus{--tw-gradient-to:#fbcfe8}.md\:focus\:to-pink-300:focus{--tw-gradient-to:#f9a8d4}.md\:focus\:to-pink-400:focus{--tw-gradient-to:#f472b6}.md\:focus\:to-pink-500:focus{--tw-gradient-to:#ec4899}.md\:focus\:to-pink-600:focus{--tw-gradient-to:#db2777}.md\:focus\:to-pink-700:focus{--tw-gradient-to:#be185d}.md\:focus\:to-pink-800:focus{--tw-gradient-to:#9d174d}.md\:focus\:to-pink-900:focus{--tw-gradient-to:#831843}.md\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.md\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md\:bg-auto{background-size:auto}.md\:bg-cover{background-size:cover}.md\:bg-contain{background-size:contain}.md\:bg-fixed{background-attachment:fixed}.md\:bg-local{background-attachment:local}.md\:bg-scroll{background-attachment:scroll}.md\:bg-clip-border{background-clip:border-box}.md\:bg-clip-padding{background-clip:padding-box}.md\:bg-clip-content{background-clip:content-box}.md\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.md\:bg-bottom{background-position:bottom}.md\:bg-center{background-position:center}.md\:bg-left{background-position:left}.md\:bg-left-bottom{background-position:left bottom}.md\:bg-left-top{background-position:left top}.md\:bg-right{background-position:right}.md\:bg-right-bottom{background-position:right bottom}.md\:bg-right-top{background-position:right top}.md\:bg-top{background-position:top}.md\:bg-repeat{background-repeat:repeat}.md\:bg-no-repeat{background-repeat:no-repeat}.md\:bg-repeat-x{background-repeat:repeat-x}.md\:bg-repeat-y{background-repeat:repeat-y}.md\:bg-repeat-round{background-repeat:round}.md\:bg-repeat-space{background-repeat:space}.md\:bg-origin-border{background-origin:border-box}.md\:bg-origin-padding{background-origin:padding-box}.md\:bg-origin-content{background-origin:content-box}.md\:fill-current{fill:currentColor}.md\:stroke-current{stroke:currentColor}.md\:stroke-0{stroke-width:0}.md\:stroke-1{stroke-width:1}.md\:stroke-2{stroke-width:2}.md\:object-contain{object-fit:contain}.md\:object-cover{object-fit:cover}.md\:object-fill{object-fit:fill}.md\:object-none{object-fit:none}.md\:object-scale-down{object-fit:scale-down}.md\:object-bottom{object-position:bottom}.md\:object-center{object-position:center}.md\:object-left{object-position:left}.md\:object-left-bottom{object-position:left bottom}.md\:object-left-top{object-position:left top}.md\:object-right{object-position:right}.md\:object-right-bottom{object-position:right bottom}.md\:object-right-top{object-position:right top}.md\:object-top{object-position:top}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:p-9{padding:2.25rem}.md\:p-10{padding:2.5rem}.md\:p-11{padding:2.75rem}.md\:p-12{padding:3rem}.md\:p-14{padding:3.5rem}.md\:p-16{padding:4rem}.md\:p-20{padding:5rem}.md\:p-24{padding:6rem}.md\:p-28{padding:7rem}.md\:p-32{padding:8rem}.md\:p-36{padding:9rem}.md\:p-40{padding:10rem}.md\:p-44{padding:11rem}.md\:p-48{padding:12rem}.md\:p-52{padding:13rem}.md\:p-56{padding:14rem}.md\:p-60{padding:15rem}.md\:p-64{padding:16rem}.md\:p-72{padding:18rem}.md\:p-80{padding:20rem}.md\:p-96{padding:24rem}.md\:p-px{padding:1px}.md\:p-0\.5{padding:.125rem}.md\:p-1\.5{padding:.375rem}.md\:p-2\.5{padding:.625rem}.md\:p-3\.5{padding:.875rem}.md\:px-0{padding-left:0;padding-right:0}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:px-9{padding-left:2.25rem;padding-right:2.25rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-11{padding-left:2.75rem;padding-right:2.75rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-14{padding-left:3.5rem;padding-right:3.5rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-20{padding-left:5rem;padding-right:5rem}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:px-28{padding-left:7rem;padding-right:7rem}.md\:px-32{padding-left:8rem;padding-right:8rem}.md\:px-36{padding-left:9rem;padding-right:9rem}.md\:px-40{padding-left:10rem;padding-right:10rem}.md\:px-44{padding-left:11rem;padding-right:11rem}.md\:px-48{padding-left:12rem;padding-right:12rem}.md\:px-52{padding-left:13rem;padding-right:13rem}.md\:px-56{padding-left:14rem;padding-right:14rem}.md\:px-60{padding-left:15rem;padding-right:15rem}.md\:px-64{padding-left:16rem;padding-right:16rem}.md\:px-72{padding-left:18rem;padding-right:18rem}.md\:px-80{padding-left:20rem;padding-right:20rem}.md\:px-96{padding-left:24rem;padding-right:24rem}.md\:px-px{padding-left:1px;padding-right:1px}.md\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.md\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.md\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.md\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.md\:py-0{padding-top:0;padding-bottom:0}.md\:py-1{padding-top:.25rem;padding-bottom:.25rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-36{padding-top:9rem;padding-bottom:9rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:py-44{padding-top:11rem;padding-bottom:11rem}.md\:py-48{padding-top:12rem;padding-bottom:12rem}.md\:py-52{padding-top:13rem;padding-bottom:13rem}.md\:py-56{padding-top:14rem;padding-bottom:14rem}.md\:py-60{padding-top:15rem;padding-bottom:15rem}.md\:py-64{padding-top:16rem;padding-bottom:16rem}.md\:py-72{padding-top:18rem;padding-bottom:18rem}.md\:py-80{padding-top:20rem;padding-bottom:20rem}.md\:py-96{padding-top:24rem;padding-bottom:24rem}.md\:py-px{padding-top:1px;padding-bottom:1px}.md\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.md\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.md\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.md\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.md\:pt-0{padding-top:0}.md\:pt-1{padding-top:.25rem}.md\:pt-2{padding-top:.5rem}.md\:pt-3{padding-top:.75rem}.md\:pt-4{padding-top:1rem}.md\:pt-5{padding-top:1.25rem}.md\:pt-6{padding-top:1.5rem}.md\:pt-7{padding-top:1.75rem}.md\:pt-8{padding-top:2rem}.md\:pt-9{padding-top:2.25rem}.md\:pt-10{padding-top:2.5rem}.md\:pt-11{padding-top:2.75rem}.md\:pt-12{padding-top:3rem}.md\:pt-14{padding-top:3.5rem}.md\:pt-16{padding-top:4rem}.md\:pt-20{padding-top:5rem}.md\:pt-24{padding-top:6rem}.md\:pt-28{padding-top:7rem}.md\:pt-32{padding-top:8rem}.md\:pt-36{padding-top:9rem}.md\:pt-40{padding-top:10rem}.md\:pt-44{padding-top:11rem}.md\:pt-48{padding-top:12rem}.md\:pt-52{padding-top:13rem}.md\:pt-56{padding-top:14rem}.md\:pt-60{padding-top:15rem}.md\:pt-64{padding-top:16rem}.md\:pt-72{padding-top:18rem}.md\:pt-80{padding-top:20rem}.md\:pt-96{padding-top:24rem}.md\:pt-px{padding-top:1px}.md\:pt-0\.5{padding-top:.125rem}.md\:pt-1\.5{padding-top:.375rem}.md\:pt-2\.5{padding-top:.625rem}.md\:pt-3\.5{padding-top:.875rem}.md\:pr-0{padding-right:0}.md\:pr-1{padding-right:.25rem}.md\:pr-2{padding-right:.5rem}.md\:pr-3{padding-right:.75rem}.md\:pr-4{padding-right:1rem}.md\:pr-5{padding-right:1.25rem}.md\:pr-6{padding-right:1.5rem}.md\:pr-7{padding-right:1.75rem}.md\:pr-8{padding-right:2rem}.md\:pr-9{padding-right:2.25rem}.md\:pr-10{padding-right:2.5rem}.md\:pr-11{padding-right:2.75rem}.md\:pr-12{padding-right:3rem}.md\:pr-14{padding-right:3.5rem}.md\:pr-16{padding-right:4rem}.md\:pr-20{padding-right:5rem}.md\:pr-24{padding-right:6rem}.md\:pr-28{padding-right:7rem}.md\:pr-32{padding-right:8rem}.md\:pr-36{padding-right:9rem}.md\:pr-40{padding-right:10rem}.md\:pr-44{padding-right:11rem}.md\:pr-48{padding-right:12rem}.md\:pr-52{padding-right:13rem}.md\:pr-56{padding-right:14rem}.md\:pr-60{padding-right:15rem}.md\:pr-64{padding-right:16rem}.md\:pr-72{padding-right:18rem}.md\:pr-80{padding-right:20rem}.md\:pr-96{padding-right:24rem}.md\:pr-px{padding-right:1px}.md\:pr-0\.5{padding-right:.125rem}.md\:pr-1\.5{padding-right:.375rem}.md\:pr-2\.5{padding-right:.625rem}.md\:pr-3\.5{padding-right:.875rem}.md\:pb-0{padding-bottom:0}.md\:pb-1{padding-bottom:.25rem}.md\:pb-2{padding-bottom:.5rem}.md\:pb-3{padding-bottom:.75rem}.md\:pb-4{padding-bottom:1rem}.md\:pb-5{padding-bottom:1.25rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pb-7{padding-bottom:1.75rem}.md\:pb-8{padding-bottom:2rem}.md\:pb-9{padding-bottom:2.25rem}.md\:pb-10{padding-bottom:2.5rem}.md\:pb-11{padding-bottom:2.75rem}.md\:pb-12{padding-bottom:3rem}.md\:pb-14{padding-bottom:3.5rem}.md\:pb-16{padding-bottom:4rem}.md\:pb-20{padding-bottom:5rem}.md\:pb-24{padding-bottom:6rem}.md\:pb-28{padding-bottom:7rem}.md\:pb-32{padding-bottom:8rem}.md\:pb-36{padding-bottom:9rem}.md\:pb-40{padding-bottom:10rem}.md\:pb-44{padding-bottom:11rem}.md\:pb-48{padding-bottom:12rem}.md\:pb-52{padding-bottom:13rem}.md\:pb-56{padding-bottom:14rem}.md\:pb-60{padding-bottom:15rem}.md\:pb-64{padding-bottom:16rem}.md\:pb-72{padding-bottom:18rem}.md\:pb-80{padding-bottom:20rem}.md\:pb-96{padding-bottom:24rem}.md\:pb-px{padding-bottom:1px}.md\:pb-0\.5{padding-bottom:.125rem}.md\:pb-1\.5{padding-bottom:.375rem}.md\:pb-2\.5{padding-bottom:.625rem}.md\:pb-3\.5{padding-bottom:.875rem}.md\:pl-0{padding-left:0}.md\:pl-1{padding-left:.25rem}.md\:pl-2{padding-left:.5rem}.md\:pl-3{padding-left:.75rem}.md\:pl-4{padding-left:1rem}.md\:pl-5{padding-left:1.25rem}.md\:pl-6{padding-left:1.5rem}.md\:pl-7{padding-left:1.75rem}.md\:pl-8{padding-left:2rem}.md\:pl-9{padding-left:2.25rem}.md\:pl-10{padding-left:2.5rem}.md\:pl-11{padding-left:2.75rem}.md\:pl-12{padding-left:3rem}.md\:pl-14{padding-left:3.5rem}.md\:pl-16{padding-left:4rem}.md\:pl-20{padding-left:5rem}.md\:pl-24{padding-left:6rem}.md\:pl-28{padding-left:7rem}.md\:pl-32{padding-left:8rem}.md\:pl-36{padding-left:9rem}.md\:pl-40{padding-left:10rem}.md\:pl-44{padding-left:11rem}.md\:pl-48{padding-left:12rem}.md\:pl-52{padding-left:13rem}.md\:pl-56{padding-left:14rem}.md\:pl-60{padding-left:15rem}.md\:pl-64{padding-left:16rem}.md\:pl-72{padding-left:18rem}.md\:pl-80{padding-left:20rem}.md\:pl-96{padding-left:24rem}.md\:pl-px{padding-left:1px}.md\:pl-0\.5{padding-left:.125rem}.md\:pl-1\.5{padding-left:.375rem}.md\:pl-2\.5{padding-left:.625rem}.md\:pl-3\.5{padding-left:.875rem}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:text-justify{text-align:justify}.md\:align-baseline{vertical-align:baseline}.md\:align-top{vertical-align:top}.md\:align-middle{vertical-align:middle}.md\:align-bottom{vertical-align:bottom}.md\:align-text-top{vertical-align:text-top}.md\:align-text-bottom{vertical-align:text-bottom}.md\:font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.md\:font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.md\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-9xl{font-size:8rem;line-height:1}.md\:font-thin{font-weight:100}.md\:font-extralight{font-weight:200}.md\:font-light{font-weight:300}.md\:font-normal{font-weight:400}.md\:font-medium{font-weight:500}.md\:font-semibold{font-weight:600}.md\:font-bold{font-weight:700}.md\:font-extrabold{font-weight:800}.md\:font-black{font-weight:900}.md\:uppercase{text-transform:uppercase}.md\:lowercase{text-transform:lowercase}.md\:capitalize{text-transform:capitalize}.md\:normal-case{text-transform:none}.md\:italic{font-style:italic}.md\:not-italic{font-style:normal}.md\:diagonal-fractions,.md\:lining-nums,.md\:oldstyle-nums,.md\:ordinal,.md\:proportional-nums,.md\:slashed-zero,.md\:stacked-fractions,.md\:tabular-nums{--tw-ordinal:var(--tw-empty, );/*!*//*!*/--tw-slashed-zero:var(--tw-empty, );/*!*//*!*/--tw-numeric-figure:var(--tw-empty, );/*!*//*!*/--tw-numeric-spacing:var(--tw-empty, );/*!*//*!*/--tw-numeric-fraction:var(--tw-empty, );/*!*//*!*/font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.md\:normal-nums{font-variant-numeric:normal}.md\:ordinal{--tw-ordinal:ordinal}.md\:slashed-zero{--tw-slashed-zero:slashed-zero}.md\:lining-nums{--tw-numeric-figure:lining-nums}.md\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.md\:proportional-nums{--tw-numeric-spacing:proportional-nums}.md\:tabular-nums{--tw-numeric-spacing:tabular-nums}.md\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.md\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.md\:leading-3{line-height:.75rem}.md\:leading-4{line-height:1rem}.md\:leading-5{line-height:1.25rem}.md\:leading-6{line-height:1.5rem}.md\:leading-7{line-height:1.75rem}.md\:leading-8{line-height:2rem}.md\:leading-9{line-height:2.25rem}.md\:leading-10{line-height:2.5rem}.md\:leading-none{line-height:1}.md\:leading-tight{line-height:1.25}.md\:leading-snug{line-height:1.375}.md\:leading-normal{line-height:1.5}.md\:leading-relaxed{line-height:1.625}.md\:leading-loose{line-height:2}.md\:tracking-tighter{letter-spacing:-.05em}.md\:tracking-tight{letter-spacing:-.025em}.md\:tracking-normal{letter-spacing:0}.md\:tracking-wide{letter-spacing:.025em}.md\:tracking-wider{letter-spacing:.05em}.md\:tracking-widest{letter-spacing:.1em}.md\:text-transparent{color:transparent}.md\:text-current{color:currentColor}.md\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.md\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.md\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.md\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.md\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.md\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.md\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.md\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.md\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.md\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.md\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.md\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.md\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.md\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.md\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.md\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.md\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.md\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.md\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.md\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.md\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.md\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.md\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.md\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.md\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.md\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.md\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.md\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.md\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.md\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.md\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.md\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.md\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.md\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.md\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.md\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.md\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.md\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.md\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.md\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.md\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.md\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.md\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.md\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.md\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.md\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.md\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.md\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.md\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.md\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.md\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.md\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.md\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.md\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.md\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.md\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.md\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.md\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.md\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.md\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.md\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.md\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.md\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.md\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.md\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.md\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.md\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.md\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.md\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.md\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.md\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.md\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.md\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.md\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.md\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.md\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.md\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.md\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.md\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.md\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.md\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.md\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-transparent{color:transparent}.group:hover .md\:group-hover\:text-current{color:currentColor}.group:hover .md\:group-hover\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.group:hover .md\:group-hover\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.md\:focus-within\:text-transparent:focus-within{color:transparent}.md\:focus-within\:text-current:focus-within{color:currentColor}.md\:focus-within\:text-black:focus-within{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.md\:focus-within\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.md\:focus-within\:text-gray-50:focus-within{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.md\:focus-within\:text-gray-100:focus-within{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.md\:focus-within\:text-gray-200:focus-within{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.md\:focus-within\:text-gray-300:focus-within{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.md\:focus-within\:text-gray-400:focus-within{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.md\:focus-within\:text-gray-500:focus-within{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.md\:focus-within\:text-gray-600:focus-within{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.md\:focus-within\:text-gray-700:focus-within{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.md\:focus-within\:text-gray-800:focus-within{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.md\:focus-within\:text-gray-900:focus-within{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.md\:focus-within\:text-red-50:focus-within{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.md\:focus-within\:text-red-100:focus-within{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.md\:focus-within\:text-red-200:focus-within{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.md\:focus-within\:text-red-300:focus-within{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.md\:focus-within\:text-red-400:focus-within{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.md\:focus-within\:text-red-500:focus-within{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.md\:focus-within\:text-red-600:focus-within{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.md\:focus-within\:text-red-700:focus-within{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.md\:focus-within\:text-red-800:focus-within{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.md\:focus-within\:text-red-900:focus-within{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-50:focus-within{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-100:focus-within{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-200:focus-within{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-300:focus-within{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-400:focus-within{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-500:focus-within{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-600:focus-within{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-700:focus-within{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-800:focus-within{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.md\:focus-within\:text-yellow-900:focus-within{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.md\:focus-within\:text-green-50:focus-within{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.md\:focus-within\:text-green-100:focus-within{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.md\:focus-within\:text-green-200:focus-within{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.md\:focus-within\:text-green-300:focus-within{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.md\:focus-within\:text-green-400:focus-within{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.md\:focus-within\:text-green-500:focus-within{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.md\:focus-within\:text-green-600:focus-within{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.md\:focus-within\:text-green-700:focus-within{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.md\:focus-within\:text-green-800:focus-within{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.md\:focus-within\:text-green-900:focus-within{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.md\:focus-within\:text-blue-50:focus-within{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.md\:focus-within\:text-blue-100:focus-within{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.md\:focus-within\:text-blue-200:focus-within{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.md\:focus-within\:text-blue-300:focus-within{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.md\:focus-within\:text-blue-400:focus-within{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.md\:focus-within\:text-blue-500:focus-within{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.md\:focus-within\:text-blue-600:focus-within{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.md\:focus-within\:text-blue-700:focus-within{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.md\:focus-within\:text-blue-800:focus-within{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.md\:focus-within\:text-blue-900:focus-within{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-50:focus-within{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-100:focus-within{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-200:focus-within{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-300:focus-within{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-400:focus-within{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-500:focus-within{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-600:focus-within{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-700:focus-within{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-800:focus-within{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.md\:focus-within\:text-indigo-900:focus-within{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.md\:focus-within\:text-purple-50:focus-within{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.md\:focus-within\:text-purple-100:focus-within{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.md\:focus-within\:text-purple-200:focus-within{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.md\:focus-within\:text-purple-300:focus-within{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.md\:focus-within\:text-purple-400:focus-within{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.md\:focus-within\:text-purple-500:focus-within{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.md\:focus-within\:text-purple-600:focus-within{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.md\:focus-within\:text-purple-700:focus-within{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.md\:focus-within\:text-purple-800:focus-within{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.md\:focus-within\:text-purple-900:focus-within{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.md\:focus-within\:text-pink-50:focus-within{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.md\:focus-within\:text-pink-100:focus-within{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.md\:focus-within\:text-pink-200:focus-within{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.md\:focus-within\:text-pink-300:focus-within{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.md\:focus-within\:text-pink-400:focus-within{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.md\:focus-within\:text-pink-500:focus-within{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.md\:focus-within\:text-pink-600:focus-within{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.md\:focus-within\:text-pink-700:focus-within{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.md\:focus-within\:text-pink-800:focus-within{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.md\:focus-within\:text-pink-900:focus-within{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.md\:hover\:text-transparent:hover{color:transparent}.md\:hover\:text-current:hover{color:currentColor}.md\:hover\:text-black:hover{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.md\:hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.md\:hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.md\:hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.md\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.md\:hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.md\:hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.md\:hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.md\:hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.md\:hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.md\:hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.md\:hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.md\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.md\:hover\:text-red-100:hover{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.md\:hover\:text-red-200:hover{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.md\:hover\:text-red-300:hover{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.md\:hover\:text-red-400:hover{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.md\:hover\:text-red-500:hover{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.md\:hover\:text-red-600:hover{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.md\:hover\:text-red-700:hover{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.md\:hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.md\:hover\:text-red-900:hover{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.md\:hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.md\:hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.md\:hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.md\:hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.md\:hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.md\:hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.md\:hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.md\:hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.md\:hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.md\:hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.md\:hover\:text-green-50:hover{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.md\:hover\:text-green-100:hover{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.md\:hover\:text-green-200:hover{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.md\:hover\:text-green-300:hover{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.md\:hover\:text-green-400:hover{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.md\:hover\:text-green-500:hover{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.md\:hover\:text-green-600:hover{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.md\:hover\:text-green-700:hover{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.md\:hover\:text-green-800:hover{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.md\:hover\:text-green-900:hover{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.md\:hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.md\:hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.md\:hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.md\:hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.md\:hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.md\:hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.md\:hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.md\:hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.md\:hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.md\:hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.md\:hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.md\:hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.md\:hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.md\:hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.md\:hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.md\:hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.md\:hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.md\:hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.md\:hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.md\:hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.md\:hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.md\:hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.md\:hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.md\:hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.md\:hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.md\:hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.md\:hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.md\:hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.md\:hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.md\:hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.md\:hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.md\:hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.md\:hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.md\:hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.md\:hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.md\:hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.md\:hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.md\:hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.md\:hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.md\:hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.md\:focus\:text-transparent:focus{color:transparent}.md\:focus\:text-current:focus{color:currentColor}.md\:focus\:text-black:focus{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.md\:focus\:text-white:focus{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.md\:focus\:text-gray-50:focus{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.md\:focus\:text-gray-100:focus{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.md\:focus\:text-gray-200:focus{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.md\:focus\:text-gray-300:focus{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.md\:focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.md\:focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.md\:focus\:text-gray-600:focus{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.md\:focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.md\:focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.md\:focus\:text-gray-900:focus{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.md\:focus\:text-red-50:focus{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.md\:focus\:text-red-100:focus{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.md\:focus\:text-red-200:focus{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.md\:focus\:text-red-300:focus{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.md\:focus\:text-red-400:focus{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.md\:focus\:text-red-500:focus{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.md\:focus\:text-red-600:focus{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.md\:focus\:text-red-700:focus{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.md\:focus\:text-red-800:focus{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.md\:focus\:text-red-900:focus{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.md\:focus\:text-yellow-50:focus{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.md\:focus\:text-yellow-100:focus{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.md\:focus\:text-yellow-200:focus{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.md\:focus\:text-yellow-300:focus{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.md\:focus\:text-yellow-400:focus{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.md\:focus\:text-yellow-500:focus{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.md\:focus\:text-yellow-600:focus{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.md\:focus\:text-yellow-700:focus{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.md\:focus\:text-yellow-800:focus{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.md\:focus\:text-yellow-900:focus{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.md\:focus\:text-green-50:focus{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.md\:focus\:text-green-100:focus{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.md\:focus\:text-green-200:focus{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.md\:focus\:text-green-300:focus{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.md\:focus\:text-green-400:focus{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.md\:focus\:text-green-500:focus{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.md\:focus\:text-green-600:focus{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.md\:focus\:text-green-700:focus{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.md\:focus\:text-green-800:focus{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.md\:focus\:text-green-900:focus{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.md\:focus\:text-blue-50:focus{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.md\:focus\:text-blue-100:focus{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.md\:focus\:text-blue-200:focus{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.md\:focus\:text-blue-300:focus{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.md\:focus\:text-blue-400:focus{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.md\:focus\:text-blue-500:focus{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.md\:focus\:text-blue-600:focus{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.md\:focus\:text-blue-700:focus{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.md\:focus\:text-blue-800:focus{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.md\:focus\:text-blue-900:focus{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.md\:focus\:text-indigo-50:focus{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.md\:focus\:text-indigo-100:focus{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.md\:focus\:text-indigo-200:focus{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.md\:focus\:text-indigo-300:focus{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.md\:focus\:text-indigo-400:focus{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.md\:focus\:text-indigo-500:focus{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.md\:focus\:text-indigo-600:focus{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.md\:focus\:text-indigo-700:focus{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.md\:focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.md\:focus\:text-indigo-900:focus{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.md\:focus\:text-purple-50:focus{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.md\:focus\:text-purple-100:focus{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.md\:focus\:text-purple-200:focus{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.md\:focus\:text-purple-300:focus{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.md\:focus\:text-purple-400:focus{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.md\:focus\:text-purple-500:focus{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.md\:focus\:text-purple-600:focus{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.md\:focus\:text-purple-700:focus{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.md\:focus\:text-purple-800:focus{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.md\:focus\:text-purple-900:focus{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.md\:focus\:text-pink-50:focus{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.md\:focus\:text-pink-100:focus{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.md\:focus\:text-pink-200:focus{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.md\:focus\:text-pink-300:focus{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.md\:focus\:text-pink-400:focus{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.md\:focus\:text-pink-500:focus{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.md\:focus\:text-pink-600:focus{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.md\:focus\:text-pink-700:focus{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.md\:focus\:text-pink-800:focus{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.md\:focus\:text-pink-900:focus{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.md\:text-opacity-0{--tw-text-opacity:0}.md\:text-opacity-5{--tw-text-opacity:0.05}.md\:text-opacity-10{--tw-text-opacity:0.1}.md\:text-opacity-20{--tw-text-opacity:0.2}.md\:text-opacity-25{--tw-text-opacity:0.25}.md\:text-opacity-30{--tw-text-opacity:0.3}.md\:text-opacity-40{--tw-text-opacity:0.4}.md\:text-opacity-50{--tw-text-opacity:0.5}.md\:text-opacity-60{--tw-text-opacity:0.6}.md\:text-opacity-70{--tw-text-opacity:0.7}.md\:text-opacity-75{--tw-text-opacity:0.75}.md\:text-opacity-80{--tw-text-opacity:0.8}.md\:text-opacity-90{--tw-text-opacity:0.9}.md\:text-opacity-95{--tw-text-opacity:0.95}.md\:text-opacity-100{--tw-text-opacity:1}.group:hover .md\:group-hover\:text-opacity-0{--tw-text-opacity:0}.group:hover .md\:group-hover\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .md\:group-hover\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .md\:group-hover\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .md\:group-hover\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .md\:group-hover\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .md\:group-hover\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .md\:group-hover\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .md\:group-hover\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .md\:group-hover\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .md\:group-hover\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .md\:group-hover\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .md\:group-hover\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .md\:group-hover\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .md\:group-hover\:text-opacity-100{--tw-text-opacity:1}.md\:focus-within\:text-opacity-0:focus-within{--tw-text-opacity:0}.md\:focus-within\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.md\:focus-within\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.md\:focus-within\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.md\:focus-within\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.md\:focus-within\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.md\:focus-within\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.md\:focus-within\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.md\:focus-within\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.md\:focus-within\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.md\:focus-within\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.md\:focus-within\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.md\:focus-within\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.md\:focus-within\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.md\:focus-within\:text-opacity-100:focus-within{--tw-text-opacity:1}.md\:hover\:text-opacity-0:hover{--tw-text-opacity:0}.md\:hover\:text-opacity-5:hover{--tw-text-opacity:0.05}.md\:hover\:text-opacity-10:hover{--tw-text-opacity:0.1}.md\:hover\:text-opacity-20:hover{--tw-text-opacity:0.2}.md\:hover\:text-opacity-25:hover{--tw-text-opacity:0.25}.md\:hover\:text-opacity-30:hover{--tw-text-opacity:0.3}.md\:hover\:text-opacity-40:hover{--tw-text-opacity:0.4}.md\:hover\:text-opacity-50:hover{--tw-text-opacity:0.5}.md\:hover\:text-opacity-60:hover{--tw-text-opacity:0.6}.md\:hover\:text-opacity-70:hover{--tw-text-opacity:0.7}.md\:hover\:text-opacity-75:hover{--tw-text-opacity:0.75}.md\:hover\:text-opacity-80:hover{--tw-text-opacity:0.8}.md\:hover\:text-opacity-90:hover{--tw-text-opacity:0.9}.md\:hover\:text-opacity-95:hover{--tw-text-opacity:0.95}.md\:hover\:text-opacity-100:hover{--tw-text-opacity:1}.md\:focus\:text-opacity-0:focus{--tw-text-opacity:0}.md\:focus\:text-opacity-5:focus{--tw-text-opacity:0.05}.md\:focus\:text-opacity-10:focus{--tw-text-opacity:0.1}.md\:focus\:text-opacity-20:focus{--tw-text-opacity:0.2}.md\:focus\:text-opacity-25:focus{--tw-text-opacity:0.25}.md\:focus\:text-opacity-30:focus{--tw-text-opacity:0.3}.md\:focus\:text-opacity-40:focus{--tw-text-opacity:0.4}.md\:focus\:text-opacity-50:focus{--tw-text-opacity:0.5}.md\:focus\:text-opacity-60:focus{--tw-text-opacity:0.6}.md\:focus\:text-opacity-70:focus{--tw-text-opacity:0.7}.md\:focus\:text-opacity-75:focus{--tw-text-opacity:0.75}.md\:focus\:text-opacity-80:focus{--tw-text-opacity:0.8}.md\:focus\:text-opacity-90:focus{--tw-text-opacity:0.9}.md\:focus\:text-opacity-95:focus{--tw-text-opacity:0.95}.md\:focus\:text-opacity-100:focus{--tw-text-opacity:1}.md\:underline{text-decoration:underline}.md\:line-through{text-decoration:line-through}.md\:no-underline{text-decoration:none}.group:hover .md\:group-hover\:underline{text-decoration:underline}.group:hover .md\:group-hover\:line-through{text-decoration:line-through}.group:hover .md\:group-hover\:no-underline{text-decoration:none}.md\:focus-within\:underline:focus-within{text-decoration:underline}.md\:focus-within\:line-through:focus-within{text-decoration:line-through}.md\:focus-within\:no-underline:focus-within{text-decoration:none}.md\:hover\:underline:hover{text-decoration:underline}.md\:hover\:line-through:hover{text-decoration:line-through}.md\:hover\:no-underline:hover{text-decoration:none}.md\:focus\:underline:focus{text-decoration:underline}.md\:focus\:line-through:focus{text-decoration:line-through}.md\:focus\:no-underline:focus{text-decoration:none}.md\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:placeholder-transparent::placeholder{color:transparent}.md\:placeholder-current::placeholder{color:currentColor}.md\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.md\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.md\:placeholder-gray-50::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.md\:placeholder-gray-100::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.md\:placeholder-gray-200::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.md\:placeholder-gray-300::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.md\:placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.md\:placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.md\:placeholder-gray-600::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.md\:placeholder-gray-700::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.md\:placeholder-gray-800::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.md\:placeholder-gray-900::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.md\:placeholder-red-50::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.md\:placeholder-red-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.md\:placeholder-red-200::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.md\:placeholder-red-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.md\:placeholder-red-400::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.md\:placeholder-red-500::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.md\:placeholder-red-600::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.md\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.md\:placeholder-red-800::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.md\:placeholder-red-900::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-50::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-200::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-400::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-500::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-600::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-700::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-800::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.md\:placeholder-yellow-900::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.md\:placeholder-green-50::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.md\:placeholder-green-100::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.md\:placeholder-green-200::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.md\:placeholder-green-300::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.md\:placeholder-green-400::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.md\:placeholder-green-500::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.md\:placeholder-green-600::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.md\:placeholder-green-700::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.md\:placeholder-green-800::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.md\:placeholder-green-900::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.md\:placeholder-blue-50::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.md\:placeholder-blue-100::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.md\:placeholder-blue-200::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.md\:placeholder-blue-300::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.md\:placeholder-blue-400::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.md\:placeholder-blue-500::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.md\:placeholder-blue-600::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.md\:placeholder-blue-700::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.md\:placeholder-blue-800::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.md\:placeholder-blue-900::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-50::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-100::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-200::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-300::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-400::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-500::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-600::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-700::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-800::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.md\:placeholder-indigo-900::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.md\:placeholder-purple-50::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.md\:placeholder-purple-100::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.md\:placeholder-purple-200::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.md\:placeholder-purple-300::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.md\:placeholder-purple-400::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.md\:placeholder-purple-500::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.md\:placeholder-purple-600::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.md\:placeholder-purple-700::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.md\:placeholder-purple-800::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.md\:placeholder-purple-900::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.md\:placeholder-pink-50::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.md\:placeholder-pink-100::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.md\:placeholder-pink-200::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.md\:placeholder-pink-300::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.md\:placeholder-pink-400::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.md\:placeholder-pink-500::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.md\:placeholder-pink-600::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.md\:placeholder-pink-700::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.md\:placeholder-pink-800::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.md\:placeholder-pink-900::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.md\:focus\:placeholder-current:focus::placeholder{color:currentColor}.md\:focus\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-gray-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-red-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-yellow-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-green-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-blue-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-indigo-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-purple-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.md\:focus\:placeholder-pink-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.md\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.md\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.md\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.md\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.md\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.md\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.md\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.md\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.md\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.md\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.md\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.md\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.md\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.md\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.md\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.md\:focus\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.md\:focus\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.md\:focus\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.md\:focus\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.md\:focus\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.md\:focus\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.md\:focus\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.md\:focus\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.md\:focus\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.md\:focus\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.md\:focus\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.md\:focus\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.md\:focus\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.md\:focus\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.md\:focus\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}.md\:opacity-0{opacity:0}.md\:opacity-5{opacity:.05}.md\:opacity-10{opacity:.1}.md\:opacity-20{opacity:.2}.md\:opacity-25{opacity:.25}.md\:opacity-30{opacity:.3}.md\:opacity-40{opacity:.4}.md\:opacity-50{opacity:.5}.md\:opacity-60{opacity:.6}.md\:opacity-70{opacity:.7}.md\:opacity-75{opacity:.75}.md\:opacity-80{opacity:.8}.md\:opacity-90{opacity:.9}.md\:opacity-95{opacity:.95}.md\:opacity-100{opacity:1}.group:hover .md\:group-hover\:opacity-0{opacity:0}.group:hover .md\:group-hover\:opacity-5{opacity:.05}.group:hover .md\:group-hover\:opacity-10{opacity:.1}.group:hover .md\:group-hover\:opacity-20{opacity:.2}.group:hover .md\:group-hover\:opacity-25{opacity:.25}.group:hover .md\:group-hover\:opacity-30{opacity:.3}.group:hover .md\:group-hover\:opacity-40{opacity:.4}.group:hover .md\:group-hover\:opacity-50{opacity:.5}.group:hover .md\:group-hover\:opacity-60{opacity:.6}.group:hover .md\:group-hover\:opacity-70{opacity:.7}.group:hover .md\:group-hover\:opacity-75{opacity:.75}.group:hover .md\:group-hover\:opacity-80{opacity:.8}.group:hover .md\:group-hover\:opacity-90{opacity:.9}.group:hover .md\:group-hover\:opacity-95{opacity:.95}.group:hover .md\:group-hover\:opacity-100{opacity:1}.md\:focus-within\:opacity-0:focus-within{opacity:0}.md\:focus-within\:opacity-5:focus-within{opacity:.05}.md\:focus-within\:opacity-10:focus-within{opacity:.1}.md\:focus-within\:opacity-20:focus-within{opacity:.2}.md\:focus-within\:opacity-25:focus-within{opacity:.25}.md\:focus-within\:opacity-30:focus-within{opacity:.3}.md\:focus-within\:opacity-40:focus-within{opacity:.4}.md\:focus-within\:opacity-50:focus-within{opacity:.5}.md\:focus-within\:opacity-60:focus-within{opacity:.6}.md\:focus-within\:opacity-70:focus-within{opacity:.7}.md\:focus-within\:opacity-75:focus-within{opacity:.75}.md\:focus-within\:opacity-80:focus-within{opacity:.8}.md\:focus-within\:opacity-90:focus-within{opacity:.9}.md\:focus-within\:opacity-95:focus-within{opacity:.95}.md\:focus-within\:opacity-100:focus-within{opacity:1}.md\:hover\:opacity-0:hover{opacity:0}.md\:hover\:opacity-5:hover{opacity:.05}.md\:hover\:opacity-10:hover{opacity:.1}.md\:hover\:opacity-20:hover{opacity:.2}.md\:hover\:opacity-25:hover{opacity:.25}.md\:hover\:opacity-30:hover{opacity:.3}.md\:hover\:opacity-40:hover{opacity:.4}.md\:hover\:opacity-50:hover{opacity:.5}.md\:hover\:opacity-60:hover{opacity:.6}.md\:hover\:opacity-70:hover{opacity:.7}.md\:hover\:opacity-75:hover{opacity:.75}.md\:hover\:opacity-80:hover{opacity:.8}.md\:hover\:opacity-90:hover{opacity:.9}.md\:hover\:opacity-95:hover{opacity:.95}.md\:hover\:opacity-100:hover{opacity:1}.md\:focus\:opacity-0:focus{opacity:0}.md\:focus\:opacity-5:focus{opacity:.05}.md\:focus\:opacity-10:focus{opacity:.1}.md\:focus\:opacity-20:focus{opacity:.2}.md\:focus\:opacity-25:focus{opacity:.25}.md\:focus\:opacity-30:focus{opacity:.3}.md\:focus\:opacity-40:focus{opacity:.4}.md\:focus\:opacity-50:focus{opacity:.5}.md\:focus\:opacity-60:focus{opacity:.6}.md\:focus\:opacity-70:focus{opacity:.7}.md\:focus\:opacity-75:focus{opacity:.75}.md\:focus\:opacity-80:focus{opacity:.8}.md\:focus\:opacity-90:focus{opacity:.9}.md\:focus\:opacity-95:focus{opacity:.95}.md\:focus\:opacity-100:focus{opacity:1}.md\:bg-blend-normal{background-blend-mode:normal}.md\:bg-blend-multiply{background-blend-mode:multiply}.md\:bg-blend-screen{background-blend-mode:screen}.md\:bg-blend-overlay{background-blend-mode:overlay}.md\:bg-blend-darken{background-blend-mode:darken}.md\:bg-blend-lighten{background-blend-mode:lighten}.md\:bg-blend-color-dodge{background-blend-mode:color-dodge}.md\:bg-blend-color-burn{background-blend-mode:color-burn}.md\:bg-blend-hard-light{background-blend-mode:hard-light}.md\:bg-blend-soft-light{background-blend-mode:soft-light}.md\:bg-blend-difference{background-blend-mode:difference}.md\:bg-blend-exclusion{background-blend-mode:exclusion}.md\:bg-blend-hue{background-blend-mode:hue}.md\:bg-blend-saturation{background-blend-mode:saturation}.md\:bg-blend-color{background-blend-mode:color}.md\:bg-blend-luminosity{background-blend-mode:luminosity}.md\:mix-blend-normal{mix-blend-mode:normal}.md\:mix-blend-multiply{mix-blend-mode:multiply}.md\:mix-blend-screen{mix-blend-mode:screen}.md\:mix-blend-overlay{mix-blend-mode:overlay}.md\:mix-blend-darken{mix-blend-mode:darken}.md\:mix-blend-lighten{mix-blend-mode:lighten}.md\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.md\:mix-blend-color-burn{mix-blend-mode:color-burn}.md\:mix-blend-hard-light{mix-blend-mode:hard-light}.md\:mix-blend-soft-light{mix-blend-mode:soft-light}.md\:mix-blend-difference{mix-blend-mode:difference}.md\:mix-blend-exclusion{mix-blend-mode:exclusion}.md\:mix-blend-hue{mix-blend-mode:hue}.md\:mix-blend-saturation{mix-blend-mode:saturation}.md\:mix-blend-color{mix-blend-mode:color}.md\:mix-blend-luminosity{mix-blend-mode:luminosity}.md\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .md\:group-hover\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .md\:group-hover\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .md\:group-hover\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .md\:group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .md\:group-hover\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .md\:group-hover\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .md\:group-hover\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .md\:group-hover\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus-within\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus-within\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus-within\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus-within\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus-within\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus-within\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus-within\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus-within\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:hover\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:focus\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md\:outline-none{outline:2px solid transparent;outline-offset:2px}.md\:outline-white{outline:2px dotted white;outline-offset:2px}.md\:outline-black{outline:2px dotted black;outline-offset:2px}.md\:focus-within\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.md\:focus-within\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.md\:focus-within\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.md\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.md\:focus\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.md\:focus\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.md\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus-within\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus-within\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus-within\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.md\:ring-inset{--tw-ring-inset:inset}.md\:focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}.md\:focus\:ring-inset:focus{--tw-ring-inset:inset}.md\:ring-transparent{--tw-ring-color:transparent}.md\:ring-current{--tw-ring-color:currentColor}.md\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.md\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\:ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.md\:ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.md\:ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.md\:ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.md\:ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.md\:ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.md\:ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.md\:ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.md\:ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.md\:ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.md\:ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.md\:ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.md\:ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.md\:ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.md\:ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.md\:ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.md\:ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.md\:ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.md\:ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.md\:ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.md\:ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.md\:ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.md\:ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.md\:ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.md\:ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.md\:ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.md\:ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.md\:ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.md\:ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.md\:ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.md\:ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.md\:ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.md\:ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.md\:ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.md\:ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.md\:ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.md\:ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.md\:ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.md\:ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.md\:ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.md\:ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.md\:ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.md\:ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.md\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.md\:ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.md\:ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.md\:ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.md\:ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.md\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.md\:ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.md\:ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.md\:ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.md\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.md\:ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.md\:ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.md\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.md\:ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.md\:ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.md\:ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.md\:ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.md\:ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.md\:ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.md\:ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.md\:ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.md\:ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.md\:ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.md\:ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.md\:ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.md\:ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.md\:ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.md\:ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.md\:ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.md\:ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.md\:ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.md\:ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.md\:ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.md\:ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.md\:ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.md\:ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.md\:ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.md\:focus-within\:ring-transparent:focus-within{--tw-ring-color:transparent}.md\:focus-within\:ring-current:focus-within{--tw-ring-color:currentColor}.md\:focus-within\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.md\:focus-within\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.md\:focus-within\:ring-gray-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.md\:focus-within\:ring-red-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.md\:focus-within\:ring-yellow-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.md\:focus-within\:ring-green-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.md\:focus-within\:ring-blue-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.md\:focus-within\:ring-indigo-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.md\:focus-within\:ring-purple-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.md\:focus-within\:ring-pink-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.md\:focus\:ring-transparent:focus{--tw-ring-color:transparent}.md\:focus\:ring-current:focus{--tw-ring-color:currentColor}.md\:focus\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.md\:focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.md\:focus\:ring-gray-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.md\:focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.md\:focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.md\:focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.md\:focus\:ring-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.md\:focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.md\:focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.md\:focus\:ring-gray-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.md\:focus\:ring-gray-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.md\:focus\:ring-gray-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.md\:focus\:ring-red-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.md\:focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.md\:focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.md\:focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.md\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.md\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.md\:focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.md\:focus\:ring-red-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.md\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.md\:focus\:ring-red-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.md\:focus\:ring-yellow-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.md\:focus\:ring-green-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.md\:focus\:ring-green-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.md\:focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.md\:focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.md\:focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.md\:focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.md\:focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.md\:focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.md\:focus\:ring-green-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.md\:focus\:ring-green-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.md\:focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.md\:focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.md\:focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.md\:focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.md\:focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.md\:focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.md\:focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.md\:focus\:ring-blue-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.md\:focus\:ring-blue-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.md\:focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.md\:focus\:ring-indigo-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.md\:focus\:ring-purple-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.md\:focus\:ring-purple-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.md\:focus\:ring-purple-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.md\:focus\:ring-purple-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.md\:focus\:ring-purple-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.md\:focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.md\:focus\:ring-purple-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.md\:focus\:ring-purple-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.md\:focus\:ring-purple-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.md\:focus\:ring-purple-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.md\:focus\:ring-pink-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.md\:focus\:ring-pink-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.md\:focus\:ring-pink-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.md\:focus\:ring-pink-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.md\:focus\:ring-pink-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.md\:focus\:ring-pink-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.md\:focus\:ring-pink-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.md\:focus\:ring-pink-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.md\:focus\:ring-pink-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.md\:focus\:ring-pink-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.md\:ring-opacity-0{--tw-ring-opacity:0}.md\:ring-opacity-5{--tw-ring-opacity:0.05}.md\:ring-opacity-10{--tw-ring-opacity:0.1}.md\:ring-opacity-20{--tw-ring-opacity:0.2}.md\:ring-opacity-25{--tw-ring-opacity:0.25}.md\:ring-opacity-30{--tw-ring-opacity:0.3}.md\:ring-opacity-40{--tw-ring-opacity:0.4}.md\:ring-opacity-50{--tw-ring-opacity:0.5}.md\:ring-opacity-60{--tw-ring-opacity:0.6}.md\:ring-opacity-70{--tw-ring-opacity:0.7}.md\:ring-opacity-75{--tw-ring-opacity:0.75}.md\:ring-opacity-80{--tw-ring-opacity:0.8}.md\:ring-opacity-90{--tw-ring-opacity:0.9}.md\:ring-opacity-95{--tw-ring-opacity:0.95}.md\:ring-opacity-100{--tw-ring-opacity:1}.md\:focus-within\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.md\:focus-within\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.md\:focus-within\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.md\:focus-within\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.md\:focus-within\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.md\:focus-within\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.md\:focus-within\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.md\:focus-within\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.md\:focus-within\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.md\:focus-within\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.md\:focus-within\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.md\:focus-within\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.md\:focus-within\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.md\:focus-within\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.md\:focus-within\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.md\:focus\:ring-opacity-0:focus{--tw-ring-opacity:0}.md\:focus\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.md\:focus\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.md\:focus\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.md\:focus\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.md\:focus\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.md\:focus\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.md\:focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.md\:focus\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.md\:focus\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.md\:focus\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.md\:focus\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.md\:focus\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.md\:focus\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.md\:focus\:ring-opacity-100:focus{--tw-ring-opacity:1}.md\:ring-offset-0{--tw-ring-offset-width:0px}.md\:ring-offset-1{--tw-ring-offset-width:1px}.md\:ring-offset-2{--tw-ring-offset-width:2px}.md\:ring-offset-4{--tw-ring-offset-width:4px}.md\:ring-offset-8{--tw-ring-offset-width:8px}.md\:focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.md\:focus-within\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.md\:focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.md\:focus-within\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.md\:focus-within\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.md\:focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.md\:focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.md\:focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.md\:focus\:ring-offset-4:focus{--tw-ring-offset-width:4px}.md\:focus\:ring-offset-8:focus{--tw-ring-offset-width:8px}.md\:ring-offset-transparent{--tw-ring-offset-color:transparent}.md\:ring-offset-current{--tw-ring-offset-color:currentColor}.md\:ring-offset-black{--tw-ring-offset-color:#000}.md\:ring-offset-white{--tw-ring-offset-color:#fff}.md\:ring-offset-gray-50{--tw-ring-offset-color:#f9fafb}.md\:ring-offset-gray-100{--tw-ring-offset-color:#f3f4f6}.md\:ring-offset-gray-200{--tw-ring-offset-color:#e5e7eb}.md\:ring-offset-gray-300{--tw-ring-offset-color:#d1d5db}.md\:ring-offset-gray-400{--tw-ring-offset-color:#9ca3af}.md\:ring-offset-gray-500{--tw-ring-offset-color:#6b7280}.md\:ring-offset-gray-600{--tw-ring-offset-color:#4b5563}.md\:ring-offset-gray-700{--tw-ring-offset-color:#374151}.md\:ring-offset-gray-800{--tw-ring-offset-color:#1f2937}.md\:ring-offset-gray-900{--tw-ring-offset-color:#111827}.md\:ring-offset-red-50{--tw-ring-offset-color:#fef2f2}.md\:ring-offset-red-100{--tw-ring-offset-color:#fee2e2}.md\:ring-offset-red-200{--tw-ring-offset-color:#fecaca}.md\:ring-offset-red-300{--tw-ring-offset-color:#fca5a5}.md\:ring-offset-red-400{--tw-ring-offset-color:#f87171}.md\:ring-offset-red-500{--tw-ring-offset-color:#ef4444}.md\:ring-offset-red-600{--tw-ring-offset-color:#dc2626}.md\:ring-offset-red-700{--tw-ring-offset-color:#b91c1c}.md\:ring-offset-red-800{--tw-ring-offset-color:#991b1b}.md\:ring-offset-red-900{--tw-ring-offset-color:#7f1d1d}.md\:ring-offset-yellow-50{--tw-ring-offset-color:#fffbeb}.md\:ring-offset-yellow-100{--tw-ring-offset-color:#fef3c7}.md\:ring-offset-yellow-200{--tw-ring-offset-color:#fde68a}.md\:ring-offset-yellow-300{--tw-ring-offset-color:#fcd34d}.md\:ring-offset-yellow-400{--tw-ring-offset-color:#fbbf24}.md\:ring-offset-yellow-500{--tw-ring-offset-color:#f59e0b}.md\:ring-offset-yellow-600{--tw-ring-offset-color:#d97706}.md\:ring-offset-yellow-700{--tw-ring-offset-color:#b45309}.md\:ring-offset-yellow-800{--tw-ring-offset-color:#92400e}.md\:ring-offset-yellow-900{--tw-ring-offset-color:#78350f}.md\:ring-offset-green-50{--tw-ring-offset-color:#ecfdf5}.md\:ring-offset-green-100{--tw-ring-offset-color:#d1fae5}.md\:ring-offset-green-200{--tw-ring-offset-color:#a7f3d0}.md\:ring-offset-green-300{--tw-ring-offset-color:#6ee7b7}.md\:ring-offset-green-400{--tw-ring-offset-color:#34d399}.md\:ring-offset-green-500{--tw-ring-offset-color:#10b981}.md\:ring-offset-green-600{--tw-ring-offset-color:#059669}.md\:ring-offset-green-700{--tw-ring-offset-color:#047857}.md\:ring-offset-green-800{--tw-ring-offset-color:#065f46}.md\:ring-offset-green-900{--tw-ring-offset-color:#064e3b}.md\:ring-offset-blue-50{--tw-ring-offset-color:#eff6ff}.md\:ring-offset-blue-100{--tw-ring-offset-color:#dbeafe}.md\:ring-offset-blue-200{--tw-ring-offset-color:#bfdbfe}.md\:ring-offset-blue-300{--tw-ring-offset-color:#93c5fd}.md\:ring-offset-blue-400{--tw-ring-offset-color:#60a5fa}.md\:ring-offset-blue-500{--tw-ring-offset-color:#3b82f6}.md\:ring-offset-blue-600{--tw-ring-offset-color:#2563eb}.md\:ring-offset-blue-700{--tw-ring-offset-color:#1d4ed8}.md\:ring-offset-blue-800{--tw-ring-offset-color:#1e40af}.md\:ring-offset-blue-900{--tw-ring-offset-color:#1e3a8a}.md\:ring-offset-indigo-50{--tw-ring-offset-color:#eef2ff}.md\:ring-offset-indigo-100{--tw-ring-offset-color:#e0e7ff}.md\:ring-offset-indigo-200{--tw-ring-offset-color:#c7d2fe}.md\:ring-offset-indigo-300{--tw-ring-offset-color:#a5b4fc}.md\:ring-offset-indigo-400{--tw-ring-offset-color:#818cf8}.md\:ring-offset-indigo-500{--tw-ring-offset-color:#6366f1}.md\:ring-offset-indigo-600{--tw-ring-offset-color:#4f46e5}.md\:ring-offset-indigo-700{--tw-ring-offset-color:#4338ca}.md\:ring-offset-indigo-800{--tw-ring-offset-color:#3730a3}.md\:ring-offset-indigo-900{--tw-ring-offset-color:#312e81}.md\:ring-offset-purple-50{--tw-ring-offset-color:#f5f3ff}.md\:ring-offset-purple-100{--tw-ring-offset-color:#ede9fe}.md\:ring-offset-purple-200{--tw-ring-offset-color:#ddd6fe}.md\:ring-offset-purple-300{--tw-ring-offset-color:#c4b5fd}.md\:ring-offset-purple-400{--tw-ring-offset-color:#a78bfa}.md\:ring-offset-purple-500{--tw-ring-offset-color:#8b5cf6}.md\:ring-offset-purple-600{--tw-ring-offset-color:#7c3aed}.md\:ring-offset-purple-700{--tw-ring-offset-color:#6d28d9}.md\:ring-offset-purple-800{--tw-ring-offset-color:#5b21b6}.md\:ring-offset-purple-900{--tw-ring-offset-color:#4c1d95}.md\:ring-offset-pink-50{--tw-ring-offset-color:#fdf2f8}.md\:ring-offset-pink-100{--tw-ring-offset-color:#fce7f3}.md\:ring-offset-pink-200{--tw-ring-offset-color:#fbcfe8}.md\:ring-offset-pink-300{--tw-ring-offset-color:#f9a8d4}.md\:ring-offset-pink-400{--tw-ring-offset-color:#f472b6}.md\:ring-offset-pink-500{--tw-ring-offset-color:#ec4899}.md\:ring-offset-pink-600{--tw-ring-offset-color:#db2777}.md\:ring-offset-pink-700{--tw-ring-offset-color:#be185d}.md\:ring-offset-pink-800{--tw-ring-offset-color:#9d174d}.md\:ring-offset-pink-900{--tw-ring-offset-color:#831843}.md\:focus-within\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.md\:focus-within\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.md\:focus-within\:ring-offset-black:focus-within{--tw-ring-offset-color:#000}.md\:focus-within\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.md\:focus-within\:ring-offset-gray-50:focus-within{--tw-ring-offset-color:#f9fafb}.md\:focus-within\:ring-offset-gray-100:focus-within{--tw-ring-offset-color:#f3f4f6}.md\:focus-within\:ring-offset-gray-200:focus-within{--tw-ring-offset-color:#e5e7eb}.md\:focus-within\:ring-offset-gray-300:focus-within{--tw-ring-offset-color:#d1d5db}.md\:focus-within\:ring-offset-gray-400:focus-within{--tw-ring-offset-color:#9ca3af}.md\:focus-within\:ring-offset-gray-500:focus-within{--tw-ring-offset-color:#6b7280}.md\:focus-within\:ring-offset-gray-600:focus-within{--tw-ring-offset-color:#4b5563}.md\:focus-within\:ring-offset-gray-700:focus-within{--tw-ring-offset-color:#374151}.md\:focus-within\:ring-offset-gray-800:focus-within{--tw-ring-offset-color:#1f2937}.md\:focus-within\:ring-offset-gray-900:focus-within{--tw-ring-offset-color:#111827}.md\:focus-within\:ring-offset-red-50:focus-within{--tw-ring-offset-color:#fef2f2}.md\:focus-within\:ring-offset-red-100:focus-within{--tw-ring-offset-color:#fee2e2}.md\:focus-within\:ring-offset-red-200:focus-within{--tw-ring-offset-color:#fecaca}.md\:focus-within\:ring-offset-red-300:focus-within{--tw-ring-offset-color:#fca5a5}.md\:focus-within\:ring-offset-red-400:focus-within{--tw-ring-offset-color:#f87171}.md\:focus-within\:ring-offset-red-500:focus-within{--tw-ring-offset-color:#ef4444}.md\:focus-within\:ring-offset-red-600:focus-within{--tw-ring-offset-color:#dc2626}.md\:focus-within\:ring-offset-red-700:focus-within{--tw-ring-offset-color:#b91c1c}.md\:focus-within\:ring-offset-red-800:focus-within{--tw-ring-offset-color:#991b1b}.md\:focus-within\:ring-offset-red-900:focus-within{--tw-ring-offset-color:#7f1d1d}.md\:focus-within\:ring-offset-yellow-50:focus-within{--tw-ring-offset-color:#fffbeb}.md\:focus-within\:ring-offset-yellow-100:focus-within{--tw-ring-offset-color:#fef3c7}.md\:focus-within\:ring-offset-yellow-200:focus-within{--tw-ring-offset-color:#fde68a}.md\:focus-within\:ring-offset-yellow-300:focus-within{--tw-ring-offset-color:#fcd34d}.md\:focus-within\:ring-offset-yellow-400:focus-within{--tw-ring-offset-color:#fbbf24}.md\:focus-within\:ring-offset-yellow-500:focus-within{--tw-ring-offset-color:#f59e0b}.md\:focus-within\:ring-offset-yellow-600:focus-within{--tw-ring-offset-color:#d97706}.md\:focus-within\:ring-offset-yellow-700:focus-within{--tw-ring-offset-color:#b45309}.md\:focus-within\:ring-offset-yellow-800:focus-within{--tw-ring-offset-color:#92400e}.md\:focus-within\:ring-offset-yellow-900:focus-within{--tw-ring-offset-color:#78350f}.md\:focus-within\:ring-offset-green-50:focus-within{--tw-ring-offset-color:#ecfdf5}.md\:focus-within\:ring-offset-green-100:focus-within{--tw-ring-offset-color:#d1fae5}.md\:focus-within\:ring-offset-green-200:focus-within{--tw-ring-offset-color:#a7f3d0}.md\:focus-within\:ring-offset-green-300:focus-within{--tw-ring-offset-color:#6ee7b7}.md\:focus-within\:ring-offset-green-400:focus-within{--tw-ring-offset-color:#34d399}.md\:focus-within\:ring-offset-green-500:focus-within{--tw-ring-offset-color:#10b981}.md\:focus-within\:ring-offset-green-600:focus-within{--tw-ring-offset-color:#059669}.md\:focus-within\:ring-offset-green-700:focus-within{--tw-ring-offset-color:#047857}.md\:focus-within\:ring-offset-green-800:focus-within{--tw-ring-offset-color:#065f46}.md\:focus-within\:ring-offset-green-900:focus-within{--tw-ring-offset-color:#064e3b}.md\:focus-within\:ring-offset-blue-50:focus-within{--tw-ring-offset-color:#eff6ff}.md\:focus-within\:ring-offset-blue-100:focus-within{--tw-ring-offset-color:#dbeafe}.md\:focus-within\:ring-offset-blue-200:focus-within{--tw-ring-offset-color:#bfdbfe}.md\:focus-within\:ring-offset-blue-300:focus-within{--tw-ring-offset-color:#93c5fd}.md\:focus-within\:ring-offset-blue-400:focus-within{--tw-ring-offset-color:#60a5fa}.md\:focus-within\:ring-offset-blue-500:focus-within{--tw-ring-offset-color:#3b82f6}.md\:focus-within\:ring-offset-blue-600:focus-within{--tw-ring-offset-color:#2563eb}.md\:focus-within\:ring-offset-blue-700:focus-within{--tw-ring-offset-color:#1d4ed8}.md\:focus-within\:ring-offset-blue-800:focus-within{--tw-ring-offset-color:#1e40af}.md\:focus-within\:ring-offset-blue-900:focus-within{--tw-ring-offset-color:#1e3a8a}.md\:focus-within\:ring-offset-indigo-50:focus-within{--tw-ring-offset-color:#eef2ff}.md\:focus-within\:ring-offset-indigo-100:focus-within{--tw-ring-offset-color:#e0e7ff}.md\:focus-within\:ring-offset-indigo-200:focus-within{--tw-ring-offset-color:#c7d2fe}.md\:focus-within\:ring-offset-indigo-300:focus-within{--tw-ring-offset-color:#a5b4fc}.md\:focus-within\:ring-offset-indigo-400:focus-within{--tw-ring-offset-color:#818cf8}.md\:focus-within\:ring-offset-indigo-500:focus-within{--tw-ring-offset-color:#6366f1}.md\:focus-within\:ring-offset-indigo-600:focus-within{--tw-ring-offset-color:#4f46e5}.md\:focus-within\:ring-offset-indigo-700:focus-within{--tw-ring-offset-color:#4338ca}.md\:focus-within\:ring-offset-indigo-800:focus-within{--tw-ring-offset-color:#3730a3}.md\:focus-within\:ring-offset-indigo-900:focus-within{--tw-ring-offset-color:#312e81}.md\:focus-within\:ring-offset-purple-50:focus-within{--tw-ring-offset-color:#f5f3ff}.md\:focus-within\:ring-offset-purple-100:focus-within{--tw-ring-offset-color:#ede9fe}.md\:focus-within\:ring-offset-purple-200:focus-within{--tw-ring-offset-color:#ddd6fe}.md\:focus-within\:ring-offset-purple-300:focus-within{--tw-ring-offset-color:#c4b5fd}.md\:focus-within\:ring-offset-purple-400:focus-within{--tw-ring-offset-color:#a78bfa}.md\:focus-within\:ring-offset-purple-500:focus-within{--tw-ring-offset-color:#8b5cf6}.md\:focus-within\:ring-offset-purple-600:focus-within{--tw-ring-offset-color:#7c3aed}.md\:focus-within\:ring-offset-purple-700:focus-within{--tw-ring-offset-color:#6d28d9}.md\:focus-within\:ring-offset-purple-800:focus-within{--tw-ring-offset-color:#5b21b6}.md\:focus-within\:ring-offset-purple-900:focus-within{--tw-ring-offset-color:#4c1d95}.md\:focus-within\:ring-offset-pink-50:focus-within{--tw-ring-offset-color:#fdf2f8}.md\:focus-within\:ring-offset-pink-100:focus-within{--tw-ring-offset-color:#fce7f3}.md\:focus-within\:ring-offset-pink-200:focus-within{--tw-ring-offset-color:#fbcfe8}.md\:focus-within\:ring-offset-pink-300:focus-within{--tw-ring-offset-color:#f9a8d4}.md\:focus-within\:ring-offset-pink-400:focus-within{--tw-ring-offset-color:#f472b6}.md\:focus-within\:ring-offset-pink-500:focus-within{--tw-ring-offset-color:#ec4899}.md\:focus-within\:ring-offset-pink-600:focus-within{--tw-ring-offset-color:#db2777}.md\:focus-within\:ring-offset-pink-700:focus-within{--tw-ring-offset-color:#be185d}.md\:focus-within\:ring-offset-pink-800:focus-within{--tw-ring-offset-color:#9d174d}.md\:focus-within\:ring-offset-pink-900:focus-within{--tw-ring-offset-color:#831843}.md\:focus\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.md\:focus\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.md\:focus\:ring-offset-black:focus{--tw-ring-offset-color:#000}.md\:focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.md\:focus\:ring-offset-gray-50:focus{--tw-ring-offset-color:#f9fafb}.md\:focus\:ring-offset-gray-100:focus{--tw-ring-offset-color:#f3f4f6}.md\:focus\:ring-offset-gray-200:focus{--tw-ring-offset-color:#e5e7eb}.md\:focus\:ring-offset-gray-300:focus{--tw-ring-offset-color:#d1d5db}.md\:focus\:ring-offset-gray-400:focus{--tw-ring-offset-color:#9ca3af}.md\:focus\:ring-offset-gray-500:focus{--tw-ring-offset-color:#6b7280}.md\:focus\:ring-offset-gray-600:focus{--tw-ring-offset-color:#4b5563}.md\:focus\:ring-offset-gray-700:focus{--tw-ring-offset-color:#374151}.md\:focus\:ring-offset-gray-800:focus{--tw-ring-offset-color:#1f2937}.md\:focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:#111827}.md\:focus\:ring-offset-red-50:focus{--tw-ring-offset-color:#fef2f2}.md\:focus\:ring-offset-red-100:focus{--tw-ring-offset-color:#fee2e2}.md\:focus\:ring-offset-red-200:focus{--tw-ring-offset-color:#fecaca}.md\:focus\:ring-offset-red-300:focus{--tw-ring-offset-color:#fca5a5}.md\:focus\:ring-offset-red-400:focus{--tw-ring-offset-color:#f87171}.md\:focus\:ring-offset-red-500:focus{--tw-ring-offset-color:#ef4444}.md\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.md\:focus\:ring-offset-red-700:focus{--tw-ring-offset-color:#b91c1c}.md\:focus\:ring-offset-red-800:focus{--tw-ring-offset-color:#991b1b}.md\:focus\:ring-offset-red-900:focus{--tw-ring-offset-color:#7f1d1d}.md\:focus\:ring-offset-yellow-50:focus{--tw-ring-offset-color:#fffbeb}.md\:focus\:ring-offset-yellow-100:focus{--tw-ring-offset-color:#fef3c7}.md\:focus\:ring-offset-yellow-200:focus{--tw-ring-offset-color:#fde68a}.md\:focus\:ring-offset-yellow-300:focus{--tw-ring-offset-color:#fcd34d}.md\:focus\:ring-offset-yellow-400:focus{--tw-ring-offset-color:#fbbf24}.md\:focus\:ring-offset-yellow-500:focus{--tw-ring-offset-color:#f59e0b}.md\:focus\:ring-offset-yellow-600:focus{--tw-ring-offset-color:#d97706}.md\:focus\:ring-offset-yellow-700:focus{--tw-ring-offset-color:#b45309}.md\:focus\:ring-offset-yellow-800:focus{--tw-ring-offset-color:#92400e}.md\:focus\:ring-offset-yellow-900:focus{--tw-ring-offset-color:#78350f}.md\:focus\:ring-offset-green-50:focus{--tw-ring-offset-color:#ecfdf5}.md\:focus\:ring-offset-green-100:focus{--tw-ring-offset-color:#d1fae5}.md\:focus\:ring-offset-green-200:focus{--tw-ring-offset-color:#a7f3d0}.md\:focus\:ring-offset-green-300:focus{--tw-ring-offset-color:#6ee7b7}.md\:focus\:ring-offset-green-400:focus{--tw-ring-offset-color:#34d399}.md\:focus\:ring-offset-green-500:focus{--tw-ring-offset-color:#10b981}.md\:focus\:ring-offset-green-600:focus{--tw-ring-offset-color:#059669}.md\:focus\:ring-offset-green-700:focus{--tw-ring-offset-color:#047857}.md\:focus\:ring-offset-green-800:focus{--tw-ring-offset-color:#065f46}.md\:focus\:ring-offset-green-900:focus{--tw-ring-offset-color:#064e3b}.md\:focus\:ring-offset-blue-50:focus{--tw-ring-offset-color:#eff6ff}.md\:focus\:ring-offset-blue-100:focus{--tw-ring-offset-color:#dbeafe}.md\:focus\:ring-offset-blue-200:focus{--tw-ring-offset-color:#bfdbfe}.md\:focus\:ring-offset-blue-300:focus{--tw-ring-offset-color:#93c5fd}.md\:focus\:ring-offset-blue-400:focus{--tw-ring-offset-color:#60a5fa}.md\:focus\:ring-offset-blue-500:focus{--tw-ring-offset-color:#3b82f6}.md\:focus\:ring-offset-blue-600:focus{--tw-ring-offset-color:#2563eb}.md\:focus\:ring-offset-blue-700:focus{--tw-ring-offset-color:#1d4ed8}.md\:focus\:ring-offset-blue-800:focus{--tw-ring-offset-color:#1e40af}.md\:focus\:ring-offset-blue-900:focus{--tw-ring-offset-color:#1e3a8a}.md\:focus\:ring-offset-indigo-50:focus{--tw-ring-offset-color:#eef2ff}.md\:focus\:ring-offset-indigo-100:focus{--tw-ring-offset-color:#e0e7ff}.md\:focus\:ring-offset-indigo-200:focus{--tw-ring-offset-color:#c7d2fe}.md\:focus\:ring-offset-indigo-300:focus{--tw-ring-offset-color:#a5b4fc}.md\:focus\:ring-offset-indigo-400:focus{--tw-ring-offset-color:#818cf8}.md\:focus\:ring-offset-indigo-500:focus{--tw-ring-offset-color:#6366f1}.md\:focus\:ring-offset-indigo-600:focus{--tw-ring-offset-color:#4f46e5}.md\:focus\:ring-offset-indigo-700:focus{--tw-ring-offset-color:#4338ca}.md\:focus\:ring-offset-indigo-800:focus{--tw-ring-offset-color:#3730a3}.md\:focus\:ring-offset-indigo-900:focus{--tw-ring-offset-color:#312e81}.md\:focus\:ring-offset-purple-50:focus{--tw-ring-offset-color:#f5f3ff}.md\:focus\:ring-offset-purple-100:focus{--tw-ring-offset-color:#ede9fe}.md\:focus\:ring-offset-purple-200:focus{--tw-ring-offset-color:#ddd6fe}.md\:focus\:ring-offset-purple-300:focus{--tw-ring-offset-color:#c4b5fd}.md\:focus\:ring-offset-purple-400:focus{--tw-ring-offset-color:#a78bfa}.md\:focus\:ring-offset-purple-500:focus{--tw-ring-offset-color:#8b5cf6}.md\:focus\:ring-offset-purple-600:focus{--tw-ring-offset-color:#7c3aed}.md\:focus\:ring-offset-purple-700:focus{--tw-ring-offset-color:#6d28d9}.md\:focus\:ring-offset-purple-800:focus{--tw-ring-offset-color:#5b21b6}.md\:focus\:ring-offset-purple-900:focus{--tw-ring-offset-color:#4c1d95}.md\:focus\:ring-offset-pink-50:focus{--tw-ring-offset-color:#fdf2f8}.md\:focus\:ring-offset-pink-100:focus{--tw-ring-offset-color:#fce7f3}.md\:focus\:ring-offset-pink-200:focus{--tw-ring-offset-color:#fbcfe8}.md\:focus\:ring-offset-pink-300:focus{--tw-ring-offset-color:#f9a8d4}.md\:focus\:ring-offset-pink-400:focus{--tw-ring-offset-color:#f472b6}.md\:focus\:ring-offset-pink-500:focus{--tw-ring-offset-color:#ec4899}.md\:focus\:ring-offset-pink-600:focus{--tw-ring-offset-color:#db2777}.md\:focus\:ring-offset-pink-700:focus{--tw-ring-offset-color:#be185d}.md\:focus\:ring-offset-pink-800:focus{--tw-ring-offset-color:#9d174d}.md\:focus\:ring-offset-pink-900:focus{--tw-ring-offset-color:#831843}.md\:filter{--tw-blur:var(--tw-empty, );/*!*//*!*/--tw-brightness:var(--tw-empty, );/*!*//*!*/--tw-contrast:var(--tw-empty, );/*!*//*!*/--tw-grayscale:var(--tw-empty, );/*!*//*!*/--tw-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-invert:var(--tw-empty, );/*!*//*!*/--tw-saturate:var(--tw-empty, );/*!*//*!*/--tw-sepia:var(--tw-empty, );/*!*//*!*/--tw-drop-shadow:var(--tw-empty, );/*!*//*!*/filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.md\:filter-none{filter:none}.md\:blur-0{--tw-blur:blur(0)}.md\:blur-none{--tw-blur:blur(0)}.md\:blur-sm{--tw-blur:blur(4px)}.md\:blur{--tw-blur:blur(8px)}.md\:blur-md{--tw-blur:blur(12px)}.md\:blur-lg{--tw-blur:blur(16px)}.md\:blur-xl{--tw-blur:blur(24px)}.md\:blur-2xl{--tw-blur:blur(40px)}.md\:blur-3xl{--tw-blur:blur(64px)}.md\:brightness-0{--tw-brightness:brightness(0)}.md\:brightness-50{--tw-brightness:brightness(.5)}.md\:brightness-75{--tw-brightness:brightness(.75)}.md\:brightness-90{--tw-brightness:brightness(.9)}.md\:brightness-95{--tw-brightness:brightness(.95)}.md\:brightness-100{--tw-brightness:brightness(1)}.md\:brightness-105{--tw-brightness:brightness(1.05)}.md\:brightness-110{--tw-brightness:brightness(1.1)}.md\:brightness-125{--tw-brightness:brightness(1.25)}.md\:brightness-150{--tw-brightness:brightness(1.5)}.md\:brightness-200{--tw-brightness:brightness(2)}.md\:contrast-0{--tw-contrast:contrast(0)}.md\:contrast-50{--tw-contrast:contrast(.5)}.md\:contrast-75{--tw-contrast:contrast(.75)}.md\:contrast-100{--tw-contrast:contrast(1)}.md\:contrast-125{--tw-contrast:contrast(1.25)}.md\:contrast-150{--tw-contrast:contrast(1.5)}.md\:contrast-200{--tw-contrast:contrast(2)}.md\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.md\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.md\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.md\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.md\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.md\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.md\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.md\:grayscale-0{--tw-grayscale:grayscale(0)}.md\:grayscale{--tw-grayscale:grayscale(100%)}.md\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.md\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.md\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.md\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.md\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.md\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.md\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.md\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.md\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.md\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.md\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.md\:invert-0{--tw-invert:invert(0)}.md\:invert{--tw-invert:invert(100%)}.md\:saturate-0{--tw-saturate:saturate(0)}.md\:saturate-50{--tw-saturate:saturate(.5)}.md\:saturate-100{--tw-saturate:saturate(1)}.md\:saturate-150{--tw-saturate:saturate(1.5)}.md\:saturate-200{--tw-saturate:saturate(2)}.md\:sepia-0{--tw-sepia:sepia(0)}.md\:sepia{--tw-sepia:sepia(100%)}.md\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty, );/*!*//*!*/--tw-backdrop-brightness:var(--tw-empty, );/*!*//*!*/--tw-backdrop-contrast:var(--tw-empty, );/*!*//*!*/--tw-backdrop-grayscale:var(--tw-empty, );/*!*//*!*/--tw-backdrop-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-invert:var(--tw-empty, );/*!*//*!*/--tw-backdrop-opacity:var(--tw-empty, );/*!*//*!*/--tw-backdrop-saturate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-sepia:var(--tw-empty, );/*!*//*!*/-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.md\:backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.md\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.md\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.md\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.md\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.md\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.md\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.md\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.md\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.md\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.md\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.md\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.md\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.md\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.md\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.md\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.md\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.md\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.md\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.md\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.md\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.md\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.md\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.md\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.md\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.md\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.md\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.md\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.md\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.md\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.md\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.md\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.md\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.md\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.md\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.md\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.md\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.md\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.md\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.md\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.md\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.md\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.md\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.md\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.md\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.md\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.md\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.md\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.md\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.md\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.md\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.md\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.md\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.md\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.md\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.md\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.md\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.md\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.md\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.md\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.md\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.md\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.md\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.md\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.md\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.md\:transition-none{transition-property:none}.md\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.md\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.md\:transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.md\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.md\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.md\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.md\:delay-75{transition-delay:75ms}.md\:delay-100{transition-delay:0.1s}.md\:delay-150{transition-delay:150ms}.md\:delay-200{transition-delay:0.2s}.md\:delay-300{transition-delay:0.3s}.md\:delay-500{transition-delay:0.5s}.md\:delay-700{transition-delay:0.7s}.md\:delay-1000{transition-delay:1s}.md\:duration-75{transition-duration:75ms}.md\:duration-100{transition-duration:.1s}.md\:duration-150{transition-duration:150ms}.md\:duration-200{transition-duration:.2s}.md\:duration-300{transition-duration:.3s}.md\:duration-500{transition-duration:.5s}.md\:duration-700{transition-duration:.7s}.md\:duration-1000{transition-duration:1s}.md\:ease-linear{transition-timing-function:linear}.md\:ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.md\:ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.md\:ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}}@media (min-width:1024px){.lg\:container{width:100%}@media (min-width:640px){.lg\:container{max-width:640px}}@media (min-width:768px){.lg\:container{max-width:768px}}@media (min-width:1024px){.lg\:container{max-width:1024px}}@media (min-width:1280px){.lg\:container{max-width:1280px}}@media (min-width:1536px){.lg\:container{max-width:1536px}}.lg\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:focus-within\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:focus-within\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:pointer-events-none{pointer-events:none}.lg\:pointer-events-auto{pointer-events:auto}.lg\:visible{visibility:visible}.lg\:invisible{visibility:hidden}.lg\:static{position:static}.lg\:fixed{position:fixed}.lg\:absolute{position:absolute}.lg\:relative{position:relative}.lg\:sticky{position:sticky}.lg\:inset-0{top:0;right:0;bottom:0;left:0}.lg\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.lg\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.lg\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.lg\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.lg\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.lg\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.lg\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.lg\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.lg\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.lg\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.lg\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.lg\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.lg\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.lg\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.lg\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.lg\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.lg\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.lg\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.lg\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.lg\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.lg\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.lg\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.lg\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.lg\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.lg\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.lg\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.lg\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.lg\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.lg\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.lg\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.lg\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.lg\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.lg\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.lg\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.lg\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.lg\:-inset-0{top:0;right:0;bottom:0;left:0}.lg\:-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.lg\:-inset-2{top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.lg\:-inset-3{top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem}.lg\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.lg\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.lg\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.lg\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.lg\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.lg\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.lg\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.lg\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.lg\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.lg\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.lg\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.lg\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.lg\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.lg\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.lg\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.lg\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.lg\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.lg\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.lg\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.lg\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.lg\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.lg\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.lg\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.lg\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.lg\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.lg\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.lg\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.lg\:-inset-0\.5{top:-.125rem;right:-.125rem;bottom:-.125rem;left:-.125rem}.lg\:-inset-1\.5{top:-.375rem;right:-.375rem;bottom:-.375rem;left:-.375rem}.lg\:-inset-2\.5{top:-.625rem;right:-.625rem;bottom:-.625rem;left:-.625rem}.lg\:-inset-3\.5{top:-.875rem;right:-.875rem;bottom:-.875rem;left:-.875rem}.lg\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.lg\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.lg\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.lg\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.lg\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.lg\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.lg\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.lg\:-inset-1\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.lg\:-inset-1\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.lg\:-inset-2\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.lg\:-inset-1\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.lg\:-inset-2\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.lg\:-inset-3\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.lg\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.lg\:inset-x-0{left:0;right:0}.lg\:inset-x-1{left:.25rem;right:.25rem}.lg\:inset-x-2{left:.5rem;right:.5rem}.lg\:inset-x-3{left:.75rem;right:.75rem}.lg\:inset-x-4{left:1rem;right:1rem}.lg\:inset-x-5{left:1.25rem;right:1.25rem}.lg\:inset-x-6{left:1.5rem;right:1.5rem}.lg\:inset-x-7{left:1.75rem;right:1.75rem}.lg\:inset-x-8{left:2rem;right:2rem}.lg\:inset-x-9{left:2.25rem;right:2.25rem}.lg\:inset-x-10{left:2.5rem;right:2.5rem}.lg\:inset-x-11{left:2.75rem;right:2.75rem}.lg\:inset-x-12{left:3rem;right:3rem}.lg\:inset-x-14{left:3.5rem;right:3.5rem}.lg\:inset-x-16{left:4rem;right:4rem}.lg\:inset-x-20{left:5rem;right:5rem}.lg\:inset-x-24{left:6rem;right:6rem}.lg\:inset-x-28{left:7rem;right:7rem}.lg\:inset-x-32{left:8rem;right:8rem}.lg\:inset-x-36{left:9rem;right:9rem}.lg\:inset-x-40{left:10rem;right:10rem}.lg\:inset-x-44{left:11rem;right:11rem}.lg\:inset-x-48{left:12rem;right:12rem}.lg\:inset-x-52{left:13rem;right:13rem}.lg\:inset-x-56{left:14rem;right:14rem}.lg\:inset-x-60{left:15rem;right:15rem}.lg\:inset-x-64{left:16rem;right:16rem}.lg\:inset-x-72{left:18rem;right:18rem}.lg\:inset-x-80{left:20rem;right:20rem}.lg\:inset-x-96{left:24rem;right:24rem}.lg\:inset-x-auto{left:auto;right:auto}.lg\:inset-x-px{left:1px;right:1px}.lg\:inset-x-0\.5{left:.125rem;right:.125rem}.lg\:inset-x-1\.5{left:.375rem;right:.375rem}.lg\:inset-x-2\.5{left:.625rem;right:.625rem}.lg\:inset-x-3\.5{left:.875rem;right:.875rem}.lg\:-inset-x-0{left:0;right:0}.lg\:-inset-x-1{left:-.25rem;right:-.25rem}.lg\:-inset-x-2{left:-.5rem;right:-.5rem}.lg\:-inset-x-3{left:-.75rem;right:-.75rem}.lg\:-inset-x-4{left:-1rem;right:-1rem}.lg\:-inset-x-5{left:-1.25rem;right:-1.25rem}.lg\:-inset-x-6{left:-1.5rem;right:-1.5rem}.lg\:-inset-x-7{left:-1.75rem;right:-1.75rem}.lg\:-inset-x-8{left:-2rem;right:-2rem}.lg\:-inset-x-9{left:-2.25rem;right:-2.25rem}.lg\:-inset-x-10{left:-2.5rem;right:-2.5rem}.lg\:-inset-x-11{left:-2.75rem;right:-2.75rem}.lg\:-inset-x-12{left:-3rem;right:-3rem}.lg\:-inset-x-14{left:-3.5rem;right:-3.5rem}.lg\:-inset-x-16{left:-4rem;right:-4rem}.lg\:-inset-x-20{left:-5rem;right:-5rem}.lg\:-inset-x-24{left:-6rem;right:-6rem}.lg\:-inset-x-28{left:-7rem;right:-7rem}.lg\:-inset-x-32{left:-8rem;right:-8rem}.lg\:-inset-x-36{left:-9rem;right:-9rem}.lg\:-inset-x-40{left:-10rem;right:-10rem}.lg\:-inset-x-44{left:-11rem;right:-11rem}.lg\:-inset-x-48{left:-12rem;right:-12rem}.lg\:-inset-x-52{left:-13rem;right:-13rem}.lg\:-inset-x-56{left:-14rem;right:-14rem}.lg\:-inset-x-60{left:-15rem;right:-15rem}.lg\:-inset-x-64{left:-16rem;right:-16rem}.lg\:-inset-x-72{left:-18rem;right:-18rem}.lg\:-inset-x-80{left:-20rem;right:-20rem}.lg\:-inset-x-96{left:-24rem;right:-24rem}.lg\:-inset-x-px{left:-1px;right:-1px}.lg\:-inset-x-0\.5{left:-.125rem;right:-.125rem}.lg\:-inset-x-1\.5{left:-.375rem;right:-.375rem}.lg\:-inset-x-2\.5{left:-.625rem;right:-.625rem}.lg\:-inset-x-3\.5{left:-.875rem;right:-.875rem}.lg\:inset-x-1\/2{left:50%;right:50%}.lg\:inset-x-1\/3{left:33.333333%;right:33.333333%}.lg\:inset-x-2\/3{left:66.666667%;right:66.666667%}.lg\:inset-x-1\/4{left:25%;right:25%}.lg\:inset-x-2\/4{left:50%;right:50%}.lg\:inset-x-3\/4{left:75%;right:75%}.lg\:inset-x-full{left:100%;right:100%}.lg\:-inset-x-1\/2{left:-50%;right:-50%}.lg\:-inset-x-1\/3{left:-33.333333%;right:-33.333333%}.lg\:-inset-x-2\/3{left:-66.666667%;right:-66.666667%}.lg\:-inset-x-1\/4{left:-25%;right:-25%}.lg\:-inset-x-2\/4{left:-50%;right:-50%}.lg\:-inset-x-3\/4{left:-75%;right:-75%}.lg\:-inset-x-full{left:-100%;right:-100%}.lg\:inset-y-0{top:0;bottom:0}.lg\:inset-y-1{top:.25rem;bottom:.25rem}.lg\:inset-y-2{top:.5rem;bottom:.5rem}.lg\:inset-y-3{top:.75rem;bottom:.75rem}.lg\:inset-y-4{top:1rem;bottom:1rem}.lg\:inset-y-5{top:1.25rem;bottom:1.25rem}.lg\:inset-y-6{top:1.5rem;bottom:1.5rem}.lg\:inset-y-7{top:1.75rem;bottom:1.75rem}.lg\:inset-y-8{top:2rem;bottom:2rem}.lg\:inset-y-9{top:2.25rem;bottom:2.25rem}.lg\:inset-y-10{top:2.5rem;bottom:2.5rem}.lg\:inset-y-11{top:2.75rem;bottom:2.75rem}.lg\:inset-y-12{top:3rem;bottom:3rem}.lg\:inset-y-14{top:3.5rem;bottom:3.5rem}.lg\:inset-y-16{top:4rem;bottom:4rem}.lg\:inset-y-20{top:5rem;bottom:5rem}.lg\:inset-y-24{top:6rem;bottom:6rem}.lg\:inset-y-28{top:7rem;bottom:7rem}.lg\:inset-y-32{top:8rem;bottom:8rem}.lg\:inset-y-36{top:9rem;bottom:9rem}.lg\:inset-y-40{top:10rem;bottom:10rem}.lg\:inset-y-44{top:11rem;bottom:11rem}.lg\:inset-y-48{top:12rem;bottom:12rem}.lg\:inset-y-52{top:13rem;bottom:13rem}.lg\:inset-y-56{top:14rem;bottom:14rem}.lg\:inset-y-60{top:15rem;bottom:15rem}.lg\:inset-y-64{top:16rem;bottom:16rem}.lg\:inset-y-72{top:18rem;bottom:18rem}.lg\:inset-y-80{top:20rem;bottom:20rem}.lg\:inset-y-96{top:24rem;bottom:24rem}.lg\:inset-y-auto{top:auto;bottom:auto}.lg\:inset-y-px{top:1px;bottom:1px}.lg\:inset-y-0\.5{top:.125rem;bottom:.125rem}.lg\:inset-y-1\.5{top:.375rem;bottom:.375rem}.lg\:inset-y-2\.5{top:.625rem;bottom:.625rem}.lg\:inset-y-3\.5{top:.875rem;bottom:.875rem}.lg\:-inset-y-0{top:0;bottom:0}.lg\:-inset-y-1{top:-.25rem;bottom:-.25rem}.lg\:-inset-y-2{top:-.5rem;bottom:-.5rem}.lg\:-inset-y-3{top:-.75rem;bottom:-.75rem}.lg\:-inset-y-4{top:-1rem;bottom:-1rem}.lg\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.lg\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.lg\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.lg\:-inset-y-8{top:-2rem;bottom:-2rem}.lg\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.lg\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.lg\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.lg\:-inset-y-12{top:-3rem;bottom:-3rem}.lg\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.lg\:-inset-y-16{top:-4rem;bottom:-4rem}.lg\:-inset-y-20{top:-5rem;bottom:-5rem}.lg\:-inset-y-24{top:-6rem;bottom:-6rem}.lg\:-inset-y-28{top:-7rem;bottom:-7rem}.lg\:-inset-y-32{top:-8rem;bottom:-8rem}.lg\:-inset-y-36{top:-9rem;bottom:-9rem}.lg\:-inset-y-40{top:-10rem;bottom:-10rem}.lg\:-inset-y-44{top:-11rem;bottom:-11rem}.lg\:-inset-y-48{top:-12rem;bottom:-12rem}.lg\:-inset-y-52{top:-13rem;bottom:-13rem}.lg\:-inset-y-56{top:-14rem;bottom:-14rem}.lg\:-inset-y-60{top:-15rem;bottom:-15rem}.lg\:-inset-y-64{top:-16rem;bottom:-16rem}.lg\:-inset-y-72{top:-18rem;bottom:-18rem}.lg\:-inset-y-80{top:-20rem;bottom:-20rem}.lg\:-inset-y-96{top:-24rem;bottom:-24rem}.lg\:-inset-y-px{top:-1px;bottom:-1px}.lg\:-inset-y-0\.5{top:-.125rem;bottom:-.125rem}.lg\:-inset-y-1\.5{top:-.375rem;bottom:-.375rem}.lg\:-inset-y-2\.5{top:-.625rem;bottom:-.625rem}.lg\:-inset-y-3\.5{top:-.875rem;bottom:-.875rem}.lg\:inset-y-1\/2{top:50%;bottom:50%}.lg\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.lg\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.lg\:inset-y-1\/4{top:25%;bottom:25%}.lg\:inset-y-2\/4{top:50%;bottom:50%}.lg\:inset-y-3\/4{top:75%;bottom:75%}.lg\:inset-y-full{top:100%;bottom:100%}.lg\:-inset-y-1\/2{top:-50%;bottom:-50%}.lg\:-inset-y-1\/3{top:-33.333333%;bottom:-33.333333%}.lg\:-inset-y-2\/3{top:-66.666667%;bottom:-66.666667%}.lg\:-inset-y-1\/4{top:-25%;bottom:-25%}.lg\:-inset-y-2\/4{top:-50%;bottom:-50%}.lg\:-inset-y-3\/4{top:-75%;bottom:-75%}.lg\:-inset-y-full{top:-100%;bottom:-100%}.lg\:top-0{top:0}.lg\:top-1{top:.25rem}.lg\:top-2{top:.5rem}.lg\:top-3{top:.75rem}.lg\:top-4{top:1rem}.lg\:top-5{top:1.25rem}.lg\:top-6{top:1.5rem}.lg\:top-7{top:1.75rem}.lg\:top-8{top:2rem}.lg\:top-9{top:2.25rem}.lg\:top-10{top:2.5rem}.lg\:top-11{top:2.75rem}.lg\:top-12{top:3rem}.lg\:top-14{top:3.5rem}.lg\:top-16{top:4rem}.lg\:top-20{top:5rem}.lg\:top-24{top:6rem}.lg\:top-28{top:7rem}.lg\:top-32{top:8rem}.lg\:top-36{top:9rem}.lg\:top-40{top:10rem}.lg\:top-44{top:11rem}.lg\:top-48{top:12rem}.lg\:top-52{top:13rem}.lg\:top-56{top:14rem}.lg\:top-60{top:15rem}.lg\:top-64{top:16rem}.lg\:top-72{top:18rem}.lg\:top-80{top:20rem}.lg\:top-96{top:24rem}.lg\:top-auto{top:auto}.lg\:top-px{top:1px}.lg\:top-0\.5{top:.125rem}.lg\:top-1\.5{top:.375rem}.lg\:top-2\.5{top:.625rem}.lg\:top-3\.5{top:.875rem}.lg\:-top-0{top:0}.lg\:-top-1{top:-.25rem}.lg\:-top-2{top:-.5rem}.lg\:-top-3{top:-.75rem}.lg\:-top-4{top:-1rem}.lg\:-top-5{top:-1.25rem}.lg\:-top-6{top:-1.5rem}.lg\:-top-7{top:-1.75rem}.lg\:-top-8{top:-2rem}.lg\:-top-9{top:-2.25rem}.lg\:-top-10{top:-2.5rem}.lg\:-top-11{top:-2.75rem}.lg\:-top-12{top:-3rem}.lg\:-top-14{top:-3.5rem}.lg\:-top-16{top:-4rem}.lg\:-top-20{top:-5rem}.lg\:-top-24{top:-6rem}.lg\:-top-28{top:-7rem}.lg\:-top-32{top:-8rem}.lg\:-top-36{top:-9rem}.lg\:-top-40{top:-10rem}.lg\:-top-44{top:-11rem}.lg\:-top-48{top:-12rem}.lg\:-top-52{top:-13rem}.lg\:-top-56{top:-14rem}.lg\:-top-60{top:-15rem}.lg\:-top-64{top:-16rem}.lg\:-top-72{top:-18rem}.lg\:-top-80{top:-20rem}.lg\:-top-96{top:-24rem}.lg\:-top-px{top:-1px}.lg\:-top-0\.5{top:-.125rem}.lg\:-top-1\.5{top:-.375rem}.lg\:-top-2\.5{top:-.625rem}.lg\:-top-3\.5{top:-.875rem}.lg\:top-1\/2{top:50%}.lg\:top-1\/3{top:33.333333%}.lg\:top-2\/3{top:66.666667%}.lg\:top-1\/4{top:25%}.lg\:top-2\/4{top:50%}.lg\:top-3\/4{top:75%}.lg\:top-full{top:100%}.lg\:-top-1\/2{top:-50%}.lg\:-top-1\/3{top:-33.333333%}.lg\:-top-2\/3{top:-66.666667%}.lg\:-top-1\/4{top:-25%}.lg\:-top-2\/4{top:-50%}.lg\:-top-3\/4{top:-75%}.lg\:-top-full{top:-100%}.lg\:right-0{right:0}.lg\:right-1{right:.25rem}.lg\:right-2{right:.5rem}.lg\:right-3{right:.75rem}.lg\:right-4{right:1rem}.lg\:right-5{right:1.25rem}.lg\:right-6{right:1.5rem}.lg\:right-7{right:1.75rem}.lg\:right-8{right:2rem}.lg\:right-9{right:2.25rem}.lg\:right-10{right:2.5rem}.lg\:right-11{right:2.75rem}.lg\:right-12{right:3rem}.lg\:right-14{right:3.5rem}.lg\:right-16{right:4rem}.lg\:right-20{right:5rem}.lg\:right-24{right:6rem}.lg\:right-28{right:7rem}.lg\:right-32{right:8rem}.lg\:right-36{right:9rem}.lg\:right-40{right:10rem}.lg\:right-44{right:11rem}.lg\:right-48{right:12rem}.lg\:right-52{right:13rem}.lg\:right-56{right:14rem}.lg\:right-60{right:15rem}.lg\:right-64{right:16rem}.lg\:right-72{right:18rem}.lg\:right-80{right:20rem}.lg\:right-96{right:24rem}.lg\:right-auto{right:auto}.lg\:right-px{right:1px}.lg\:right-0\.5{right:.125rem}.lg\:right-1\.5{right:.375rem}.lg\:right-2\.5{right:.625rem}.lg\:right-3\.5{right:.875rem}.lg\:-right-0{right:0}.lg\:-right-1{right:-.25rem}.lg\:-right-2{right:-.5rem}.lg\:-right-3{right:-.75rem}.lg\:-right-4{right:-1rem}.lg\:-right-5{right:-1.25rem}.lg\:-right-6{right:-1.5rem}.lg\:-right-7{right:-1.75rem}.lg\:-right-8{right:-2rem}.lg\:-right-9{right:-2.25rem}.lg\:-right-10{right:-2.5rem}.lg\:-right-11{right:-2.75rem}.lg\:-right-12{right:-3rem}.lg\:-right-14{right:-3.5rem}.lg\:-right-16{right:-4rem}.lg\:-right-20{right:-5rem}.lg\:-right-24{right:-6rem}.lg\:-right-28{right:-7rem}.lg\:-right-32{right:-8rem}.lg\:-right-36{right:-9rem}.lg\:-right-40{right:-10rem}.lg\:-right-44{right:-11rem}.lg\:-right-48{right:-12rem}.lg\:-right-52{right:-13rem}.lg\:-right-56{right:-14rem}.lg\:-right-60{right:-15rem}.lg\:-right-64{right:-16rem}.lg\:-right-72{right:-18rem}.lg\:-right-80{right:-20rem}.lg\:-right-96{right:-24rem}.lg\:-right-px{right:-1px}.lg\:-right-0\.5{right:-.125rem}.lg\:-right-1\.5{right:-.375rem}.lg\:-right-2\.5{right:-.625rem}.lg\:-right-3\.5{right:-.875rem}.lg\:right-1\/2{right:50%}.lg\:right-1\/3{right:33.333333%}.lg\:right-2\/3{right:66.666667%}.lg\:right-1\/4{right:25%}.lg\:right-2\/4{right:50%}.lg\:right-3\/4{right:75%}.lg\:right-full{right:100%}.lg\:-right-1\/2{right:-50%}.lg\:-right-1\/3{right:-33.333333%}.lg\:-right-2\/3{right:-66.666667%}.lg\:-right-1\/4{right:-25%}.lg\:-right-2\/4{right:-50%}.lg\:-right-3\/4{right:-75%}.lg\:-right-full{right:-100%}.lg\:bottom-0{bottom:0}.lg\:bottom-1{bottom:.25rem}.lg\:bottom-2{bottom:.5rem}.lg\:bottom-3{bottom:.75rem}.lg\:bottom-4{bottom:1rem}.lg\:bottom-5{bottom:1.25rem}.lg\:bottom-6{bottom:1.5rem}.lg\:bottom-7{bottom:1.75rem}.lg\:bottom-8{bottom:2rem}.lg\:bottom-9{bottom:2.25rem}.lg\:bottom-10{bottom:2.5rem}.lg\:bottom-11{bottom:2.75rem}.lg\:bottom-12{bottom:3rem}.lg\:bottom-14{bottom:3.5rem}.lg\:bottom-16{bottom:4rem}.lg\:bottom-20{bottom:5rem}.lg\:bottom-24{bottom:6rem}.lg\:bottom-28{bottom:7rem}.lg\:bottom-32{bottom:8rem}.lg\:bottom-36{bottom:9rem}.lg\:bottom-40{bottom:10rem}.lg\:bottom-44{bottom:11rem}.lg\:bottom-48{bottom:12rem}.lg\:bottom-52{bottom:13rem}.lg\:bottom-56{bottom:14rem}.lg\:bottom-60{bottom:15rem}.lg\:bottom-64{bottom:16rem}.lg\:bottom-72{bottom:18rem}.lg\:bottom-80{bottom:20rem}.lg\:bottom-96{bottom:24rem}.lg\:bottom-auto{bottom:auto}.lg\:bottom-px{bottom:1px}.lg\:bottom-0\.5{bottom:.125rem}.lg\:bottom-1\.5{bottom:.375rem}.lg\:bottom-2\.5{bottom:.625rem}.lg\:bottom-3\.5{bottom:.875rem}.lg\:-bottom-0{bottom:0}.lg\:-bottom-1{bottom:-.25rem}.lg\:-bottom-2{bottom:-.5rem}.lg\:-bottom-3{bottom:-.75rem}.lg\:-bottom-4{bottom:-1rem}.lg\:-bottom-5{bottom:-1.25rem}.lg\:-bottom-6{bottom:-1.5rem}.lg\:-bottom-7{bottom:-1.75rem}.lg\:-bottom-8{bottom:-2rem}.lg\:-bottom-9{bottom:-2.25rem}.lg\:-bottom-10{bottom:-2.5rem}.lg\:-bottom-11{bottom:-2.75rem}.lg\:-bottom-12{bottom:-3rem}.lg\:-bottom-14{bottom:-3.5rem}.lg\:-bottom-16{bottom:-4rem}.lg\:-bottom-20{bottom:-5rem}.lg\:-bottom-24{bottom:-6rem}.lg\:-bottom-28{bottom:-7rem}.lg\:-bottom-32{bottom:-8rem}.lg\:-bottom-36{bottom:-9rem}.lg\:-bottom-40{bottom:-10rem}.lg\:-bottom-44{bottom:-11rem}.lg\:-bottom-48{bottom:-12rem}.lg\:-bottom-52{bottom:-13rem}.lg\:-bottom-56{bottom:-14rem}.lg\:-bottom-60{bottom:-15rem}.lg\:-bottom-64{bottom:-16rem}.lg\:-bottom-72{bottom:-18rem}.lg\:-bottom-80{bottom:-20rem}.lg\:-bottom-96{bottom:-24rem}.lg\:-bottom-px{bottom:-1px}.lg\:-bottom-0\.5{bottom:-.125rem}.lg\:-bottom-1\.5{bottom:-.375rem}.lg\:-bottom-2\.5{bottom:-.625rem}.lg\:-bottom-3\.5{bottom:-.875rem}.lg\:bottom-1\/2{bottom:50%}.lg\:bottom-1\/3{bottom:33.333333%}.lg\:bottom-2\/3{bottom:66.666667%}.lg\:bottom-1\/4{bottom:25%}.lg\:bottom-2\/4{bottom:50%}.lg\:bottom-3\/4{bottom:75%}.lg\:bottom-full{bottom:100%}.lg\:-bottom-1\/2{bottom:-50%}.lg\:-bottom-1\/3{bottom:-33.333333%}.lg\:-bottom-2\/3{bottom:-66.666667%}.lg\:-bottom-1\/4{bottom:-25%}.lg\:-bottom-2\/4{bottom:-50%}.lg\:-bottom-3\/4{bottom:-75%}.lg\:-bottom-full{bottom:-100%}.lg\:left-0{left:0}.lg\:left-1{left:.25rem}.lg\:left-2{left:.5rem}.lg\:left-3{left:.75rem}.lg\:left-4{left:1rem}.lg\:left-5{left:1.25rem}.lg\:left-6{left:1.5rem}.lg\:left-7{left:1.75rem}.lg\:left-8{left:2rem}.lg\:left-9{left:2.25rem}.lg\:left-10{left:2.5rem}.lg\:left-11{left:2.75rem}.lg\:left-12{left:3rem}.lg\:left-14{left:3.5rem}.lg\:left-16{left:4rem}.lg\:left-20{left:5rem}.lg\:left-24{left:6rem}.lg\:left-28{left:7rem}.lg\:left-32{left:8rem}.lg\:left-36{left:9rem}.lg\:left-40{left:10rem}.lg\:left-44{left:11rem}.lg\:left-48{left:12rem}.lg\:left-52{left:13rem}.lg\:left-56{left:14rem}.lg\:left-60{left:15rem}.lg\:left-64{left:16rem}.lg\:left-72{left:18rem}.lg\:left-80{left:20rem}.lg\:left-96{left:24rem}.lg\:left-auto{left:auto}.lg\:left-px{left:1px}.lg\:left-0\.5{left:.125rem}.lg\:left-1\.5{left:.375rem}.lg\:left-2\.5{left:.625rem}.lg\:left-3\.5{left:.875rem}.lg\:-left-0{left:0}.lg\:-left-1{left:-.25rem}.lg\:-left-2{left:-.5rem}.lg\:-left-3{left:-.75rem}.lg\:-left-4{left:-1rem}.lg\:-left-5{left:-1.25rem}.lg\:-left-6{left:-1.5rem}.lg\:-left-7{left:-1.75rem}.lg\:-left-8{left:-2rem}.lg\:-left-9{left:-2.25rem}.lg\:-left-10{left:-2.5rem}.lg\:-left-11{left:-2.75rem}.lg\:-left-12{left:-3rem}.lg\:-left-14{left:-3.5rem}.lg\:-left-16{left:-4rem}.lg\:-left-20{left:-5rem}.lg\:-left-24{left:-6rem}.lg\:-left-28{left:-7rem}.lg\:-left-32{left:-8rem}.lg\:-left-36{left:-9rem}.lg\:-left-40{left:-10rem}.lg\:-left-44{left:-11rem}.lg\:-left-48{left:-12rem}.lg\:-left-52{left:-13rem}.lg\:-left-56{left:-14rem}.lg\:-left-60{left:-15rem}.lg\:-left-64{left:-16rem}.lg\:-left-72{left:-18rem}.lg\:-left-80{left:-20rem}.lg\:-left-96{left:-24rem}.lg\:-left-px{left:-1px}.lg\:-left-0\.5{left:-.125rem}.lg\:-left-1\.5{left:-.375rem}.lg\:-left-2\.5{left:-.625rem}.lg\:-left-3\.5{left:-.875rem}.lg\:left-1\/2{left:50%}.lg\:left-1\/3{left:33.333333%}.lg\:left-2\/3{left:66.666667%}.lg\:left-1\/4{left:25%}.lg\:left-2\/4{left:50%}.lg\:left-3\/4{left:75%}.lg\:left-full{left:100%}.lg\:-left-1\/2{left:-50%}.lg\:-left-1\/3{left:-33.333333%}.lg\:-left-2\/3{left:-66.666667%}.lg\:-left-1\/4{left:-25%}.lg\:-left-2\/4{left:-50%}.lg\:-left-3\/4{left:-75%}.lg\:-left-full{left:-100%}.lg\:isolate{isolation:isolate}.lg\:isolation-auto{isolation:auto}.lg\:z-0{z-index:0}.lg\:z-10{z-index:10}.lg\:z-20{z-index:20}.lg\:z-30{z-index:30}.lg\:z-40{z-index:40}.lg\:z-50{z-index:50}.lg\:z-auto{z-index:auto}.lg\:focus-within\:z-0:focus-within{z-index:0}.lg\:focus-within\:z-10:focus-within{z-index:10}.lg\:focus-within\:z-20:focus-within{z-index:20}.lg\:focus-within\:z-30:focus-within{z-index:30}.lg\:focus-within\:z-40:focus-within{z-index:40}.lg\:focus-within\:z-50:focus-within{z-index:50}.lg\:focus-within\:z-auto:focus-within{z-index:auto}.lg\:focus\:z-0:focus{z-index:0}.lg\:focus\:z-10:focus{z-index:10}.lg\:focus\:z-20:focus{z-index:20}.lg\:focus\:z-30:focus{z-index:30}.lg\:focus\:z-40:focus{z-index:40}.lg\:focus\:z-50:focus{z-index:50}.lg\:focus\:z-auto:focus{z-index:auto}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-4{order:4}.lg\:order-5{order:5}.lg\:order-6{order:6}.lg\:order-7{order:7}.lg\:order-8{order:8}.lg\:order-9{order:9}.lg\:order-10{order:10}.lg\:order-11{order:11}.lg\:order-12{order:12}.lg\:order-first{order:-9999}.lg\:order-last{order:9999}.lg\:order-none{order:0}.lg\:col-auto{grid-column:auto}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-full{grid-column:1/-1}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:col-start-3{grid-column-start:3}.lg\:col-start-4{grid-column-start:4}.lg\:col-start-5{grid-column-start:5}.lg\:col-start-6{grid-column-start:6}.lg\:col-start-7{grid-column-start:7}.lg\:col-start-8{grid-column-start:8}.lg\:col-start-9{grid-column-start:9}.lg\:col-start-10{grid-column-start:10}.lg\:col-start-11{grid-column-start:11}.lg\:col-start-12{grid-column-start:12}.lg\:col-start-13{grid-column-start:13}.lg\:col-start-auto{grid-column-start:auto}.lg\:col-end-1{grid-column-end:1}.lg\:col-end-2{grid-column-end:2}.lg\:col-end-3{grid-column-end:3}.lg\:col-end-4{grid-column-end:4}.lg\:col-end-5{grid-column-end:5}.lg\:col-end-6{grid-column-end:6}.lg\:col-end-7{grid-column-end:7}.lg\:col-end-8{grid-column-end:8}.lg\:col-end-9{grid-column-end:9}.lg\:col-end-10{grid-column-end:10}.lg\:col-end-11{grid-column-end:11}.lg\:col-end-12{grid-column-end:12}.lg\:col-end-13{grid-column-end:13}.lg\:col-end-auto{grid-column-end:auto}.lg\:row-auto{grid-row:auto}.lg\:row-span-1{grid-row:span 1/span 1}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:row-span-3{grid-row:span 3/span 3}.lg\:row-span-4{grid-row:span 4/span 4}.lg\:row-span-5{grid-row:span 5/span 5}.lg\:row-span-6{grid-row:span 6/span 6}.lg\:row-span-full{grid-row:1/-1}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:row-start-3{grid-row-start:3}.lg\:row-start-4{grid-row-start:4}.lg\:row-start-5{grid-row-start:5}.lg\:row-start-6{grid-row-start:6}.lg\:row-start-7{grid-row-start:7}.lg\:row-start-auto{grid-row-start:auto}.lg\:row-end-1{grid-row-end:1}.lg\:row-end-2{grid-row-end:2}.lg\:row-end-3{grid-row-end:3}.lg\:row-end-4{grid-row-end:4}.lg\:row-end-5{grid-row-end:5}.lg\:row-end-6{grid-row-end:6}.lg\:row-end-7{grid-row-end:7}.lg\:row-end-auto{grid-row-end:auto}.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:float-none{float:none}.lg\:clear-left{clear:left}.lg\:clear-right{clear:right}.lg\:clear-both{clear:both}.lg\:clear-none{clear:none}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-5{margin:1.25rem}.lg\:m-6{margin:1.5rem}.lg\:m-7{margin:1.75rem}.lg\:m-8{margin:2rem}.lg\:m-9{margin:2.25rem}.lg\:m-10{margin:2.5rem}.lg\:m-11{margin:2.75rem}.lg\:m-12{margin:3rem}.lg\:m-14{margin:3.5rem}.lg\:m-16{margin:4rem}.lg\:m-20{margin:5rem}.lg\:m-24{margin:6rem}.lg\:m-28{margin:7rem}.lg\:m-32{margin:8rem}.lg\:m-36{margin:9rem}.lg\:m-40{margin:10rem}.lg\:m-44{margin:11rem}.lg\:m-48{margin:12rem}.lg\:m-52{margin:13rem}.lg\:m-56{margin:14rem}.lg\:m-60{margin:15rem}.lg\:m-64{margin:16rem}.lg\:m-72{margin:18rem}.lg\:m-80{margin:20rem}.lg\:m-96{margin:24rem}.lg\:m-auto{margin:auto}.lg\:m-px{margin:1px}.lg\:m-0\.5{margin:.125rem}.lg\:m-1\.5{margin:.375rem}.lg\:m-2\.5{margin:.625rem}.lg\:m-3\.5{margin:.875rem}.lg\:-m-0{margin:0}.lg\:-m-1{margin:-.25rem}.lg\:-m-2{margin:-.5rem}.lg\:-m-3{margin:-.75rem}.lg\:-m-4{margin:-1rem}.lg\:-m-5{margin:-1.25rem}.lg\:-m-6{margin:-1.5rem}.lg\:-m-7{margin:-1.75rem}.lg\:-m-8{margin:-2rem}.lg\:-m-9{margin:-2.25rem}.lg\:-m-10{margin:-2.5rem}.lg\:-m-11{margin:-2.75rem}.lg\:-m-12{margin:-3rem}.lg\:-m-14{margin:-3.5rem}.lg\:-m-16{margin:-4rem}.lg\:-m-20{margin:-5rem}.lg\:-m-24{margin:-6rem}.lg\:-m-28{margin:-7rem}.lg\:-m-32{margin:-8rem}.lg\:-m-36{margin:-9rem}.lg\:-m-40{margin:-10rem}.lg\:-m-44{margin:-11rem}.lg\:-m-48{margin:-12rem}.lg\:-m-52{margin:-13rem}.lg\:-m-56{margin:-14rem}.lg\:-m-60{margin:-15rem}.lg\:-m-64{margin:-16rem}.lg\:-m-72{margin:-18rem}.lg\:-m-80{margin:-20rem}.lg\:-m-96{margin:-24rem}.lg\:-m-px{margin:-1px}.lg\:-m-0\.5{margin:-.125rem}.lg\:-m-1\.5{margin:-.375rem}.lg\:-m-2\.5{margin:-.625rem}.lg\:-m-3\.5{margin:-.875rem}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mx-1{margin-left:.25rem;margin-right:.25rem}.lg\:mx-2{margin-left:.5rem;margin-right:.5rem}.lg\:mx-3{margin-left:.75rem;margin-right:.75rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.lg\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.lg\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.lg\:mx-12{margin-left:3rem;margin-right:3rem}.lg\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:mx-20{margin-left:5rem;margin-right:5rem}.lg\:mx-24{margin-left:6rem;margin-right:6rem}.lg\:mx-28{margin-left:7rem;margin-right:7rem}.lg\:mx-32{margin-left:8rem;margin-right:8rem}.lg\:mx-36{margin-left:9rem;margin-right:9rem}.lg\:mx-40{margin-left:10rem;margin-right:10rem}.lg\:mx-44{margin-left:11rem;margin-right:11rem}.lg\:mx-48{margin-left:12rem;margin-right:12rem}.lg\:mx-52{margin-left:13rem;margin-right:13rem}.lg\:mx-56{margin-left:14rem;margin-right:14rem}.lg\:mx-60{margin-left:15rem;margin-right:15rem}.lg\:mx-64{margin-left:16rem;margin-right:16rem}.lg\:mx-72{margin-left:18rem;margin-right:18rem}.lg\:mx-80{margin-left:20rem;margin-right:20rem}.lg\:mx-96{margin-left:24rem;margin-right:24rem}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:mx-px{margin-left:1px;margin-right:1px}.lg\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.lg\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.lg\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.lg\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.lg\:-mx-0{margin-left:0;margin-right:0}.lg\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lg\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.lg\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lg\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.lg\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.lg\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.lg\:-mx-12{margin-left:-3rem;margin-right:-3rem}.lg\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.lg\:-mx-16{margin-left:-4rem;margin-right:-4rem}.lg\:-mx-20{margin-left:-5rem;margin-right:-5rem}.lg\:-mx-24{margin-left:-6rem;margin-right:-6rem}.lg\:-mx-28{margin-left:-7rem;margin-right:-7rem}.lg\:-mx-32{margin-left:-8rem;margin-right:-8rem}.lg\:-mx-36{margin-left:-9rem;margin-right:-9rem}.lg\:-mx-40{margin-left:-10rem;margin-right:-10rem}.lg\:-mx-44{margin-left:-11rem;margin-right:-11rem}.lg\:-mx-48{margin-left:-12rem;margin-right:-12rem}.lg\:-mx-52{margin-left:-13rem;margin-right:-13rem}.lg\:-mx-56{margin-left:-14rem;margin-right:-14rem}.lg\:-mx-60{margin-left:-15rem;margin-right:-15rem}.lg\:-mx-64{margin-left:-16rem;margin-right:-16rem}.lg\:-mx-72{margin-left:-18rem;margin-right:-18rem}.lg\:-mx-80{margin-left:-20rem;margin-right:-20rem}.lg\:-mx-96{margin-left:-24rem;margin-right:-24rem}.lg\:-mx-px{margin-left:-1px;margin-right:-1px}.lg\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.lg\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.lg\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.lg\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.lg\:my-0{margin-top:0;margin-bottom:0}.lg\:my-1{margin-top:.25rem;margin-bottom:.25rem}.lg\:my-2{margin-top:.5rem;margin-bottom:.5rem}.lg\:my-3{margin-top:.75rem;margin-bottom:.75rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.lg\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lg\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.lg\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.lg\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.lg\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.lg\:my-16{margin-top:4rem;margin-bottom:4rem}.lg\:my-20{margin-top:5rem;margin-bottom:5rem}.lg\:my-24{margin-top:6rem;margin-bottom:6rem}.lg\:my-28{margin-top:7rem;margin-bottom:7rem}.lg\:my-32{margin-top:8rem;margin-bottom:8rem}.lg\:my-36{margin-top:9rem;margin-bottom:9rem}.lg\:my-40{margin-top:10rem;margin-bottom:10rem}.lg\:my-44{margin-top:11rem;margin-bottom:11rem}.lg\:my-48{margin-top:12rem;margin-bottom:12rem}.lg\:my-52{margin-top:13rem;margin-bottom:13rem}.lg\:my-56{margin-top:14rem;margin-bottom:14rem}.lg\:my-60{margin-top:15rem;margin-bottom:15rem}.lg\:my-64{margin-top:16rem;margin-bottom:16rem}.lg\:my-72{margin-top:18rem;margin-bottom:18rem}.lg\:my-80{margin-top:20rem;margin-bottom:20rem}.lg\:my-96{margin-top:24rem;margin-bottom:24rem}.lg\:my-auto{margin-top:auto;margin-bottom:auto}.lg\:my-px{margin-top:1px;margin-bottom:1px}.lg\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.lg\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.lg\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.lg\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.lg\:-my-0{margin-top:0;margin-bottom:0}.lg\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.lg\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.lg\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.lg\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.lg\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.lg\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.lg\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.lg\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.lg\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.lg\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.lg\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.lg\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.lg\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.lg\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.lg\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.lg\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.lg\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.lg\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.lg\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.lg\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.lg\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.lg\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.lg\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.lg\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.lg\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.lg\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.lg\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.lg\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.lg\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.lg\:-my-px{margin-top:-1px;margin-bottom:-1px}.lg\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.lg\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.lg\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.lg\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.lg\:mt-0{margin-top:0}.lg\:mt-1{margin-top:.25rem}.lg\:mt-2{margin-top:.5rem}.lg\:mt-3{margin-top:.75rem}.lg\:mt-4{margin-top:1rem}.lg\:mt-5{margin-top:1.25rem}.lg\:mt-6{margin-top:1.5rem}.lg\:mt-7{margin-top:1.75rem}.lg\:mt-8{margin-top:2rem}.lg\:mt-9{margin-top:2.25rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mt-11{margin-top:2.75rem}.lg\:mt-12{margin-top:3rem}.lg\:mt-14{margin-top:3.5rem}.lg\:mt-16{margin-top:4rem}.lg\:mt-20{margin-top:5rem}.lg\:mt-24{margin-top:6rem}.lg\:mt-28{margin-top:7rem}.lg\:mt-32{margin-top:8rem}.lg\:mt-36{margin-top:9rem}.lg\:mt-40{margin-top:10rem}.lg\:mt-44{margin-top:11rem}.lg\:mt-48{margin-top:12rem}.lg\:mt-52{margin-top:13rem}.lg\:mt-56{margin-top:14rem}.lg\:mt-60{margin-top:15rem}.lg\:mt-64{margin-top:16rem}.lg\:mt-72{margin-top:18rem}.lg\:mt-80{margin-top:20rem}.lg\:mt-96{margin-top:24rem}.lg\:mt-auto{margin-top:auto}.lg\:mt-px{margin-top:1px}.lg\:mt-0\.5{margin-top:.125rem}.lg\:mt-1\.5{margin-top:.375rem}.lg\:mt-2\.5{margin-top:.625rem}.lg\:mt-3\.5{margin-top:.875rem}.lg\:-mt-0{margin-top:0}.lg\:-mt-1{margin-top:-.25rem}.lg\:-mt-2{margin-top:-.5rem}.lg\:-mt-3{margin-top:-.75rem}.lg\:-mt-4{margin-top:-1rem}.lg\:-mt-5{margin-top:-1.25rem}.lg\:-mt-6{margin-top:-1.5rem}.lg\:-mt-7{margin-top:-1.75rem}.lg\:-mt-8{margin-top:-2rem}.lg\:-mt-9{margin-top:-2.25rem}.lg\:-mt-10{margin-top:-2.5rem}.lg\:-mt-11{margin-top:-2.75rem}.lg\:-mt-12{margin-top:-3rem}.lg\:-mt-14{margin-top:-3.5rem}.lg\:-mt-16{margin-top:-4rem}.lg\:-mt-20{margin-top:-5rem}.lg\:-mt-24{margin-top:-6rem}.lg\:-mt-28{margin-top:-7rem}.lg\:-mt-32{margin-top:-8rem}.lg\:-mt-36{margin-top:-9rem}.lg\:-mt-40{margin-top:-10rem}.lg\:-mt-44{margin-top:-11rem}.lg\:-mt-48{margin-top:-12rem}.lg\:-mt-52{margin-top:-13rem}.lg\:-mt-56{margin-top:-14rem}.lg\:-mt-60{margin-top:-15rem}.lg\:-mt-64{margin-top:-16rem}.lg\:-mt-72{margin-top:-18rem}.lg\:-mt-80{margin-top:-20rem}.lg\:-mt-96{margin-top:-24rem}.lg\:-mt-px{margin-top:-1px}.lg\:-mt-0\.5{margin-top:-.125rem}.lg\:-mt-1\.5{margin-top:-.375rem}.lg\:-mt-2\.5{margin-top:-.625rem}.lg\:-mt-3\.5{margin-top:-.875rem}.lg\:mr-0{margin-right:0}.lg\:mr-1{margin-right:.25rem}.lg\:mr-2{margin-right:.5rem}.lg\:mr-3{margin-right:.75rem}.lg\:mr-4{margin-right:1rem}.lg\:mr-5{margin-right:1.25rem}.lg\:mr-6{margin-right:1.5rem}.lg\:mr-7{margin-right:1.75rem}.lg\:mr-8{margin-right:2rem}.lg\:mr-9{margin-right:2.25rem}.lg\:mr-10{margin-right:2.5rem}.lg\:mr-11{margin-right:2.75rem}.lg\:mr-12{margin-right:3rem}.lg\:mr-14{margin-right:3.5rem}.lg\:mr-16{margin-right:4rem}.lg\:mr-20{margin-right:5rem}.lg\:mr-24{margin-right:6rem}.lg\:mr-28{margin-right:7rem}.lg\:mr-32{margin-right:8rem}.lg\:mr-36{margin-right:9rem}.lg\:mr-40{margin-right:10rem}.lg\:mr-44{margin-right:11rem}.lg\:mr-48{margin-right:12rem}.lg\:mr-52{margin-right:13rem}.lg\:mr-56{margin-right:14rem}.lg\:mr-60{margin-right:15rem}.lg\:mr-64{margin-right:16rem}.lg\:mr-72{margin-right:18rem}.lg\:mr-80{margin-right:20rem}.lg\:mr-96{margin-right:24rem}.lg\:mr-auto{margin-right:auto}.lg\:mr-px{margin-right:1px}.lg\:mr-0\.5{margin-right:.125rem}.lg\:mr-1\.5{margin-right:.375rem}.lg\:mr-2\.5{margin-right:.625rem}.lg\:mr-3\.5{margin-right:.875rem}.lg\:-mr-0{margin-right:0}.lg\:-mr-1{margin-right:-.25rem}.lg\:-mr-2{margin-right:-.5rem}.lg\:-mr-3{margin-right:-.75rem}.lg\:-mr-4{margin-right:-1rem}.lg\:-mr-5{margin-right:-1.25rem}.lg\:-mr-6{margin-right:-1.5rem}.lg\:-mr-7{margin-right:-1.75rem}.lg\:-mr-8{margin-right:-2rem}.lg\:-mr-9{margin-right:-2.25rem}.lg\:-mr-10{margin-right:-2.5rem}.lg\:-mr-11{margin-right:-2.75rem}.lg\:-mr-12{margin-right:-3rem}.lg\:-mr-14{margin-right:-3.5rem}.lg\:-mr-16{margin-right:-4rem}.lg\:-mr-20{margin-right:-5rem}.lg\:-mr-24{margin-right:-6rem}.lg\:-mr-28{margin-right:-7rem}.lg\:-mr-32{margin-right:-8rem}.lg\:-mr-36{margin-right:-9rem}.lg\:-mr-40{margin-right:-10rem}.lg\:-mr-44{margin-right:-11rem}.lg\:-mr-48{margin-right:-12rem}.lg\:-mr-52{margin-right:-13rem}.lg\:-mr-56{margin-right:-14rem}.lg\:-mr-60{margin-right:-15rem}.lg\:-mr-64{margin-right:-16rem}.lg\:-mr-72{margin-right:-18rem}.lg\:-mr-80{margin-right:-20rem}.lg\:-mr-96{margin-right:-24rem}.lg\:-mr-px{margin-right:-1px}.lg\:-mr-0\.5{margin-right:-.125rem}.lg\:-mr-1\.5{margin-right:-.375rem}.lg\:-mr-2\.5{margin-right:-.625rem}.lg\:-mr-3\.5{margin-right:-.875rem}.lg\:mb-0{margin-bottom:0}.lg\:mb-1{margin-bottom:.25rem}.lg\:mb-2{margin-bottom:.5rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:mb-4{margin-bottom:1rem}.lg\:mb-5{margin-bottom:1.25rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:mb-7{margin-bottom:1.75rem}.lg\:mb-8{margin-bottom:2rem}.lg\:mb-9{margin-bottom:2.25rem}.lg\:mb-10{margin-bottom:2.5rem}.lg\:mb-11{margin-bottom:2.75rem}.lg\:mb-12{margin-bottom:3rem}.lg\:mb-14{margin-bottom:3.5rem}.lg\:mb-16{margin-bottom:4rem}.lg\:mb-20{margin-bottom:5rem}.lg\:mb-24{margin-bottom:6rem}.lg\:mb-28{margin-bottom:7rem}.lg\:mb-32{margin-bottom:8rem}.lg\:mb-36{margin-bottom:9rem}.lg\:mb-40{margin-bottom:10rem}.lg\:mb-44{margin-bottom:11rem}.lg\:mb-48{margin-bottom:12rem}.lg\:mb-52{margin-bottom:13rem}.lg\:mb-56{margin-bottom:14rem}.lg\:mb-60{margin-bottom:15rem}.lg\:mb-64{margin-bottom:16rem}.lg\:mb-72{margin-bottom:18rem}.lg\:mb-80{margin-bottom:20rem}.lg\:mb-96{margin-bottom:24rem}.lg\:mb-auto{margin-bottom:auto}.lg\:mb-px{margin-bottom:1px}.lg\:mb-0\.5{margin-bottom:.125rem}.lg\:mb-1\.5{margin-bottom:.375rem}.lg\:mb-2\.5{margin-bottom:.625rem}.lg\:mb-3\.5{margin-bottom:.875rem}.lg\:-mb-0{margin-bottom:0}.lg\:-mb-1{margin-bottom:-.25rem}.lg\:-mb-2{margin-bottom:-.5rem}.lg\:-mb-3{margin-bottom:-.75rem}.lg\:-mb-4{margin-bottom:-1rem}.lg\:-mb-5{margin-bottom:-1.25rem}.lg\:-mb-6{margin-bottom:-1.5rem}.lg\:-mb-7{margin-bottom:-1.75rem}.lg\:-mb-8{margin-bottom:-2rem}.lg\:-mb-9{margin-bottom:-2.25rem}.lg\:-mb-10{margin-bottom:-2.5rem}.lg\:-mb-11{margin-bottom:-2.75rem}.lg\:-mb-12{margin-bottom:-3rem}.lg\:-mb-14{margin-bottom:-3.5rem}.lg\:-mb-16{margin-bottom:-4rem}.lg\:-mb-20{margin-bottom:-5rem}.lg\:-mb-24{margin-bottom:-6rem}.lg\:-mb-28{margin-bottom:-7rem}.lg\:-mb-32{margin-bottom:-8rem}.lg\:-mb-36{margin-bottom:-9rem}.lg\:-mb-40{margin-bottom:-10rem}.lg\:-mb-44{margin-bottom:-11rem}.lg\:-mb-48{margin-bottom:-12rem}.lg\:-mb-52{margin-bottom:-13rem}.lg\:-mb-56{margin-bottom:-14rem}.lg\:-mb-60{margin-bottom:-15rem}.lg\:-mb-64{margin-bottom:-16rem}.lg\:-mb-72{margin-bottom:-18rem}.lg\:-mb-80{margin-bottom:-20rem}.lg\:-mb-96{margin-bottom:-24rem}.lg\:-mb-px{margin-bottom:-1px}.lg\:-mb-0\.5{margin-bottom:-.125rem}.lg\:-mb-1\.5{margin-bottom:-.375rem}.lg\:-mb-2\.5{margin-bottom:-.625rem}.lg\:-mb-3\.5{margin-bottom:-.875rem}.lg\:ml-0{margin-left:0}.lg\:ml-1{margin-left:.25rem}.lg\:ml-2{margin-left:.5rem}.lg\:ml-3{margin-left:.75rem}.lg\:ml-4{margin-left:1rem}.lg\:ml-5{margin-left:1.25rem}.lg\:ml-6{margin-left:1.5rem}.lg\:ml-7{margin-left:1.75rem}.lg\:ml-8{margin-left:2rem}.lg\:ml-9{margin-left:2.25rem}.lg\:ml-10{margin-left:2.5rem}.lg\:ml-11{margin-left:2.75rem}.lg\:ml-12{margin-left:3rem}.lg\:ml-14{margin-left:3.5rem}.lg\:ml-16{margin-left:4rem}.lg\:ml-20{margin-left:5rem}.lg\:ml-24{margin-left:6rem}.lg\:ml-28{margin-left:7rem}.lg\:ml-32{margin-left:8rem}.lg\:ml-36{margin-left:9rem}.lg\:ml-40{margin-left:10rem}.lg\:ml-44{margin-left:11rem}.lg\:ml-48{margin-left:12rem}.lg\:ml-52{margin-left:13rem}.lg\:ml-56{margin-left:14rem}.lg\:ml-60{margin-left:15rem}.lg\:ml-64{margin-left:16rem}.lg\:ml-72{margin-left:18rem}.lg\:ml-80{margin-left:20rem}.lg\:ml-96{margin-left:24rem}.lg\:ml-auto{margin-left:auto}.lg\:ml-px{margin-left:1px}.lg\:ml-0\.5{margin-left:.125rem}.lg\:ml-1\.5{margin-left:.375rem}.lg\:ml-2\.5{margin-left:.625rem}.lg\:ml-3\.5{margin-left:.875rem}.lg\:-ml-0{margin-left:0}.lg\:-ml-1{margin-left:-.25rem}.lg\:-ml-2{margin-left:-.5rem}.lg\:-ml-3{margin-left:-.75rem}.lg\:-ml-4{margin-left:-1rem}.lg\:-ml-5{margin-left:-1.25rem}.lg\:-ml-6{margin-left:-1.5rem}.lg\:-ml-7{margin-left:-1.75rem}.lg\:-ml-8{margin-left:-2rem}.lg\:-ml-9{margin-left:-2.25rem}.lg\:-ml-10{margin-left:-2.5rem}.lg\:-ml-11{margin-left:-2.75rem}.lg\:-ml-12{margin-left:-3rem}.lg\:-ml-14{margin-left:-3.5rem}.lg\:-ml-16{margin-left:-4rem}.lg\:-ml-20{margin-left:-5rem}.lg\:-ml-24{margin-left:-6rem}.lg\:-ml-28{margin-left:-7rem}.lg\:-ml-32{margin-left:-8rem}.lg\:-ml-36{margin-left:-9rem}.lg\:-ml-40{margin-left:-10rem}.lg\:-ml-44{margin-left:-11rem}.lg\:-ml-48{margin-left:-12rem}.lg\:-ml-52{margin-left:-13rem}.lg\:-ml-56{margin-left:-14rem}.lg\:-ml-60{margin-left:-15rem}.lg\:-ml-64{margin-left:-16rem}.lg\:-ml-72{margin-left:-18rem}.lg\:-ml-80{margin-left:-20rem}.lg\:-ml-96{margin-left:-24rem}.lg\:-ml-px{margin-left:-1px}.lg\:-ml-0\.5{margin-left:-.125rem}.lg\:-ml-1\.5{margin-left:-.375rem}.lg\:-ml-2\.5{margin-left:-.625rem}.lg\:-ml-3\.5{margin-left:-.875rem}.lg\:box-border{box-sizing:border-box}.lg\:box-content{box-sizing:content-box}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:table{display:table}.lg\:inline-table{display:inline-table}.lg\:table-caption{display:table-caption}.lg\:table-cell{display:table-cell}.lg\:table-column{display:table-column}.lg\:table-column-group{display:table-column-group}.lg\:table-footer-group{display:table-footer-group}.lg\:table-header-group{display:table-header-group}.lg\:table-row-group{display:table-row-group}.lg\:table-row{display:table-row}.lg\:flow-root{display:flow-root}.lg\:grid{display:grid}.lg\:inline-grid{display:inline-grid}.lg\:contents{display:contents}.lg\:list-item{display:list-item}.lg\:hidden{display:none}.lg\:h-0{height:0}.lg\:h-1{height:.25rem}.lg\:h-2{height:.5rem}.lg\:h-3{height:.75rem}.lg\:h-4{height:1rem}.lg\:h-5{height:1.25rem}.lg\:h-6{height:1.5rem}.lg\:h-7{height:1.75rem}.lg\:h-8{height:2rem}.lg\:h-9{height:2.25rem}.lg\:h-10{height:2.5rem}.lg\:h-11{height:2.75rem}.lg\:h-12{height:3rem}.lg\:h-14{height:3.5rem}.lg\:h-16{height:4rem}.lg\:h-20{height:5rem}.lg\:h-24{height:6rem}.lg\:h-28{height:7rem}.lg\:h-32{height:8rem}.lg\:h-36{height:9rem}.lg\:h-40{height:10rem}.lg\:h-44{height:11rem}.lg\:h-48{height:12rem}.lg\:h-52{height:13rem}.lg\:h-56{height:14rem}.lg\:h-60{height:15rem}.lg\:h-64{height:16rem}.lg\:h-72{height:18rem}.lg\:h-80{height:20rem}.lg\:h-96{height:24rem}.lg\:h-auto{height:auto}.lg\:h-px{height:1px}.lg\:h-0\.5{height:.125rem}.lg\:h-1\.5{height:.375rem}.lg\:h-2\.5{height:.625rem}.lg\:h-3\.5{height:.875rem}.lg\:h-1\/2{height:50%}.lg\:h-1\/3{height:33.333333%}.lg\:h-2\/3{height:66.666667%}.lg\:h-1\/4{height:25%}.lg\:h-2\/4{height:50%}.lg\:h-3\/4{height:75%}.lg\:h-1\/5{height:20%}.lg\:h-2\/5{height:40%}.lg\:h-3\/5{height:60%}.lg\:h-4\/5{height:80%}.lg\:h-1\/6{height:16.666667%}.lg\:h-2\/6{height:33.333333%}.lg\:h-3\/6{height:50%}.lg\:h-4\/6{height:66.666667%}.lg\:h-5\/6{height:83.333333%}.lg\:h-full{height:100%}.lg\:h-screen{height:100vh}.lg\:max-h-0{max-height:0}.lg\:max-h-1{max-height:.25rem}.lg\:max-h-2{max-height:.5rem}.lg\:max-h-3{max-height:.75rem}.lg\:max-h-4{max-height:1rem}.lg\:max-h-5{max-height:1.25rem}.lg\:max-h-6{max-height:1.5rem}.lg\:max-h-7{max-height:1.75rem}.lg\:max-h-8{max-height:2rem}.lg\:max-h-9{max-height:2.25rem}.lg\:max-h-10{max-height:2.5rem}.lg\:max-h-11{max-height:2.75rem}.lg\:max-h-12{max-height:3rem}.lg\:max-h-14{max-height:3.5rem}.lg\:max-h-16{max-height:4rem}.lg\:max-h-20{max-height:5rem}.lg\:max-h-24{max-height:6rem}.lg\:max-h-28{max-height:7rem}.lg\:max-h-32{max-height:8rem}.lg\:max-h-36{max-height:9rem}.lg\:max-h-40{max-height:10rem}.lg\:max-h-44{max-height:11rem}.lg\:max-h-48{max-height:12rem}.lg\:max-h-52{max-height:13rem}.lg\:max-h-56{max-height:14rem}.lg\:max-h-60{max-height:15rem}.lg\:max-h-64{max-height:16rem}.lg\:max-h-72{max-height:18rem}.lg\:max-h-80{max-height:20rem}.lg\:max-h-96{max-height:24rem}.lg\:max-h-px{max-height:1px}.lg\:max-h-0\.5{max-height:.125rem}.lg\:max-h-1\.5{max-height:.375rem}.lg\:max-h-2\.5{max-height:.625rem}.lg\:max-h-3\.5{max-height:.875rem}.lg\:max-h-full{max-height:100%}.lg\:max-h-screen{max-height:100vh}.lg\:min-h-0{min-height:0}.lg\:min-h-full{min-height:100%}.lg\:min-h-screen{min-height:100vh}.lg\:w-0{width:0}.lg\:w-1{width:.25rem}.lg\:w-2{width:.5rem}.lg\:w-3{width:.75rem}.lg\:w-4{width:1rem}.lg\:w-5{width:1.25rem}.lg\:w-6{width:1.5rem}.lg\:w-7{width:1.75rem}.lg\:w-8{width:2rem}.lg\:w-9{width:2.25rem}.lg\:w-10{width:2.5rem}.lg\:w-11{width:2.75rem}.lg\:w-12{width:3rem}.lg\:w-14{width:3.5rem}.lg\:w-16{width:4rem}.lg\:w-20{width:5rem}.lg\:w-24{width:6rem}.lg\:w-28{width:7rem}.lg\:w-32{width:8rem}.lg\:w-36{width:9rem}.lg\:w-40{width:10rem}.lg\:w-44{width:11rem}.lg\:w-48{width:12rem}.lg\:w-52{width:13rem}.lg\:w-56{width:14rem}.lg\:w-60{width:15rem}.lg\:w-64{width:16rem}.lg\:w-72{width:18rem}.lg\:w-80{width:20rem}.lg\:w-96{width:24rem}.lg\:w-auto{width:auto}.lg\:w-px{width:1px}.lg\:w-0\.5{width:.125rem}.lg\:w-1\.5{width:.375rem}.lg\:w-2\.5{width:.625rem}.lg\:w-3\.5{width:.875rem}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-1\/4{width:25%}.lg\:w-2\/4{width:50%}.lg\:w-3\/4{width:75%}.lg\:w-1\/5{width:20%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-4\/5{width:80%}.lg\:w-1\/6{width:16.666667%}.lg\:w-2\/6{width:33.333333%}.lg\:w-3\/6{width:50%}.lg\:w-4\/6{width:66.666667%}.lg\:w-5\/6{width:83.333333%}.lg\:w-1\/12{width:8.333333%}.lg\:w-2\/12{width:16.666667%}.lg\:w-3\/12{width:25%}.lg\:w-4\/12{width:33.333333%}.lg\:w-5\/12{width:41.666667%}.lg\:w-6\/12{width:50%}.lg\:w-7\/12{width:58.333333%}.lg\:w-8\/12{width:66.666667%}.lg\:w-9\/12{width:75%}.lg\:w-10\/12{width:83.333333%}.lg\:w-11\/12{width:91.666667%}.lg\:w-full{width:100%}.lg\:w-screen{width:100vw}.lg\:w-min{width:min-content}.lg\:w-max{width:max-content}.lg\:min-w-0{min-width:0}.lg\:min-w-full{min-width:100%}.lg\:min-w-min{min-width:min-content}.lg\:min-w-max{min-width:max-content}.lg\:max-w-0{max-width:0}.lg\:max-w-none{max-width:none}.lg\:max-w-xs{max-width:20rem}.lg\:max-w-sm{max-width:24rem}.lg\:max-w-md{max-width:28rem}.lg\:max-w-lg{max-width:32rem}.lg\:max-w-xl{max-width:36rem}.lg\:max-w-2xl{max-width:42rem}.lg\:max-w-3xl{max-width:48rem}.lg\:max-w-4xl{max-width:56rem}.lg\:max-w-5xl{max-width:64rem}.lg\:max-w-6xl{max-width:72rem}.lg\:max-w-7xl{max-width:80rem}.lg\:max-w-full{max-width:100%}.lg\:max-w-min{max-width:min-content}.lg\:max-w-max{max-width:max-content}.lg\:max-w-prose{max-width:65ch}.lg\:max-w-screen-sm{max-width:640px}.lg\:max-w-screen-md{max-width:768px}.lg\:max-w-screen-lg{max-width:1024px}.lg\:max-w-screen-xl{max-width:1280px}.lg\:max-w-screen-2xl{max-width:1536px}.lg\:flex-1{flex:1 1 0%}.lg\:flex-auto{flex:1 1 auto}.lg\:flex-initial{flex:0 1 auto}.lg\:flex-none{flex:none}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink{flex-shrink:1}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow{flex-grow:1}.lg\:table-auto{table-layout:auto}.lg\:table-fixed{table-layout:fixed}.lg\:border-collapse{border-collapse:collapse}.lg\:border-separate{border-collapse:separate}.lg\:origin-center{transform-origin:center}.lg\:origin-top{transform-origin:top}.lg\:origin-top-right{transform-origin:top right}.lg\:origin-right{transform-origin:right}.lg\:origin-bottom-right{transform-origin:bottom right}.lg\:origin-bottom{transform-origin:bottom}.lg\:origin-bottom-left{transform-origin:bottom left}.lg\:origin-left{transform-origin:left}.lg\:origin-top-left{transform-origin:top left}.lg\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:transform-none{transform:none}.lg\:translate-x-0{--tw-translate-x:0px}.lg\:translate-x-1{--tw-translate-x:0.25rem}.lg\:translate-x-2{--tw-translate-x:0.5rem}.lg\:translate-x-3{--tw-translate-x:0.75rem}.lg\:translate-x-4{--tw-translate-x:1rem}.lg\:translate-x-5{--tw-translate-x:1.25rem}.lg\:translate-x-6{--tw-translate-x:1.5rem}.lg\:translate-x-7{--tw-translate-x:1.75rem}.lg\:translate-x-8{--tw-translate-x:2rem}.lg\:translate-x-9{--tw-translate-x:2.25rem}.lg\:translate-x-10{--tw-translate-x:2.5rem}.lg\:translate-x-11{--tw-translate-x:2.75rem}.lg\:translate-x-12{--tw-translate-x:3rem}.lg\:translate-x-14{--tw-translate-x:3.5rem}.lg\:translate-x-16{--tw-translate-x:4rem}.lg\:translate-x-20{--tw-translate-x:5rem}.lg\:translate-x-24{--tw-translate-x:6rem}.lg\:translate-x-28{--tw-translate-x:7rem}.lg\:translate-x-32{--tw-translate-x:8rem}.lg\:translate-x-36{--tw-translate-x:9rem}.lg\:translate-x-40{--tw-translate-x:10rem}.lg\:translate-x-44{--tw-translate-x:11rem}.lg\:translate-x-48{--tw-translate-x:12rem}.lg\:translate-x-52{--tw-translate-x:13rem}.lg\:translate-x-56{--tw-translate-x:14rem}.lg\:translate-x-60{--tw-translate-x:15rem}.lg\:translate-x-64{--tw-translate-x:16rem}.lg\:translate-x-72{--tw-translate-x:18rem}.lg\:translate-x-80{--tw-translate-x:20rem}.lg\:translate-x-96{--tw-translate-x:24rem}.lg\:translate-x-px{--tw-translate-x:1px}.lg\:translate-x-0\.5{--tw-translate-x:0.125rem}.lg\:translate-x-1\.5{--tw-translate-x:0.375rem}.lg\:translate-x-2\.5{--tw-translate-x:0.625rem}.lg\:translate-x-3\.5{--tw-translate-x:0.875rem}.lg\:-translate-x-0{--tw-translate-x:0px}.lg\:-translate-x-1{--tw-translate-x:-0.25rem}.lg\:-translate-x-2{--tw-translate-x:-0.5rem}.lg\:-translate-x-3{--tw-translate-x:-0.75rem}.lg\:-translate-x-4{--tw-translate-x:-1rem}.lg\:-translate-x-5{--tw-translate-x:-1.25rem}.lg\:-translate-x-6{--tw-translate-x:-1.5rem}.lg\:-translate-x-7{--tw-translate-x:-1.75rem}.lg\:-translate-x-8{--tw-translate-x:-2rem}.lg\:-translate-x-9{--tw-translate-x:-2.25rem}.lg\:-translate-x-10{--tw-translate-x:-2.5rem}.lg\:-translate-x-11{--tw-translate-x:-2.75rem}.lg\:-translate-x-12{--tw-translate-x:-3rem}.lg\:-translate-x-14{--tw-translate-x:-3.5rem}.lg\:-translate-x-16{--tw-translate-x:-4rem}.lg\:-translate-x-20{--tw-translate-x:-5rem}.lg\:-translate-x-24{--tw-translate-x:-6rem}.lg\:-translate-x-28{--tw-translate-x:-7rem}.lg\:-translate-x-32{--tw-translate-x:-8rem}.lg\:-translate-x-36{--tw-translate-x:-9rem}.lg\:-translate-x-40{--tw-translate-x:-10rem}.lg\:-translate-x-44{--tw-translate-x:-11rem}.lg\:-translate-x-48{--tw-translate-x:-12rem}.lg\:-translate-x-52{--tw-translate-x:-13rem}.lg\:-translate-x-56{--tw-translate-x:-14rem}.lg\:-translate-x-60{--tw-translate-x:-15rem}.lg\:-translate-x-64{--tw-translate-x:-16rem}.lg\:-translate-x-72{--tw-translate-x:-18rem}.lg\:-translate-x-80{--tw-translate-x:-20rem}.lg\:-translate-x-96{--tw-translate-x:-24rem}.lg\:-translate-x-px{--tw-translate-x:-1px}.lg\:-translate-x-0\.5{--tw-translate-x:-0.125rem}.lg\:-translate-x-1\.5{--tw-translate-x:-0.375rem}.lg\:-translate-x-2\.5{--tw-translate-x:-0.625rem}.lg\:-translate-x-3\.5{--tw-translate-x:-0.875rem}.lg\:translate-x-1\/2{--tw-translate-x:50%}.lg\:translate-x-1\/3{--tw-translate-x:33.333333%}.lg\:translate-x-2\/3{--tw-translate-x:66.666667%}.lg\:translate-x-1\/4{--tw-translate-x:25%}.lg\:translate-x-2\/4{--tw-translate-x:50%}.lg\:translate-x-3\/4{--tw-translate-x:75%}.lg\:translate-x-full{--tw-translate-x:100%}.lg\:-translate-x-1\/2{--tw-translate-x:-50%}.lg\:-translate-x-1\/3{--tw-translate-x:-33.333333%}.lg\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.lg\:-translate-x-1\/4{--tw-translate-x:-25%}.lg\:-translate-x-2\/4{--tw-translate-x:-50%}.lg\:-translate-x-3\/4{--tw-translate-x:-75%}.lg\:-translate-x-full{--tw-translate-x:-100%}.lg\:translate-y-0{--tw-translate-y:0px}.lg\:translate-y-1{--tw-translate-y:0.25rem}.lg\:translate-y-2{--tw-translate-y:0.5rem}.lg\:translate-y-3{--tw-translate-y:0.75rem}.lg\:translate-y-4{--tw-translate-y:1rem}.lg\:translate-y-5{--tw-translate-y:1.25rem}.lg\:translate-y-6{--tw-translate-y:1.5rem}.lg\:translate-y-7{--tw-translate-y:1.75rem}.lg\:translate-y-8{--tw-translate-y:2rem}.lg\:translate-y-9{--tw-translate-y:2.25rem}.lg\:translate-y-10{--tw-translate-y:2.5rem}.lg\:translate-y-11{--tw-translate-y:2.75rem}.lg\:translate-y-12{--tw-translate-y:3rem}.lg\:translate-y-14{--tw-translate-y:3.5rem}.lg\:translate-y-16{--tw-translate-y:4rem}.lg\:translate-y-20{--tw-translate-y:5rem}.lg\:translate-y-24{--tw-translate-y:6rem}.lg\:translate-y-28{--tw-translate-y:7rem}.lg\:translate-y-32{--tw-translate-y:8rem}.lg\:translate-y-36{--tw-translate-y:9rem}.lg\:translate-y-40{--tw-translate-y:10rem}.lg\:translate-y-44{--tw-translate-y:11rem}.lg\:translate-y-48{--tw-translate-y:12rem}.lg\:translate-y-52{--tw-translate-y:13rem}.lg\:translate-y-56{--tw-translate-y:14rem}.lg\:translate-y-60{--tw-translate-y:15rem}.lg\:translate-y-64{--tw-translate-y:16rem}.lg\:translate-y-72{--tw-translate-y:18rem}.lg\:translate-y-80{--tw-translate-y:20rem}.lg\:translate-y-96{--tw-translate-y:24rem}.lg\:translate-y-px{--tw-translate-y:1px}.lg\:translate-y-0\.5{--tw-translate-y:0.125rem}.lg\:translate-y-1\.5{--tw-translate-y:0.375rem}.lg\:translate-y-2\.5{--tw-translate-y:0.625rem}.lg\:translate-y-3\.5{--tw-translate-y:0.875rem}.lg\:-translate-y-0{--tw-translate-y:0px}.lg\:-translate-y-1{--tw-translate-y:-0.25rem}.lg\:-translate-y-2{--tw-translate-y:-0.5rem}.lg\:-translate-y-3{--tw-translate-y:-0.75rem}.lg\:-translate-y-4{--tw-translate-y:-1rem}.lg\:-translate-y-5{--tw-translate-y:-1.25rem}.lg\:-translate-y-6{--tw-translate-y:-1.5rem}.lg\:-translate-y-7{--tw-translate-y:-1.75rem}.lg\:-translate-y-8{--tw-translate-y:-2rem}.lg\:-translate-y-9{--tw-translate-y:-2.25rem}.lg\:-translate-y-10{--tw-translate-y:-2.5rem}.lg\:-translate-y-11{--tw-translate-y:-2.75rem}.lg\:-translate-y-12{--tw-translate-y:-3rem}.lg\:-translate-y-14{--tw-translate-y:-3.5rem}.lg\:-translate-y-16{--tw-translate-y:-4rem}.lg\:-translate-y-20{--tw-translate-y:-5rem}.lg\:-translate-y-24{--tw-translate-y:-6rem}.lg\:-translate-y-28{--tw-translate-y:-7rem}.lg\:-translate-y-32{--tw-translate-y:-8rem}.lg\:-translate-y-36{--tw-translate-y:-9rem}.lg\:-translate-y-40{--tw-translate-y:-10rem}.lg\:-translate-y-44{--tw-translate-y:-11rem}.lg\:-translate-y-48{--tw-translate-y:-12rem}.lg\:-translate-y-52{--tw-translate-y:-13rem}.lg\:-translate-y-56{--tw-translate-y:-14rem}.lg\:-translate-y-60{--tw-translate-y:-15rem}.lg\:-translate-y-64{--tw-translate-y:-16rem}.lg\:-translate-y-72{--tw-translate-y:-18rem}.lg\:-translate-y-80{--tw-translate-y:-20rem}.lg\:-translate-y-96{--tw-translate-y:-24rem}.lg\:-translate-y-px{--tw-translate-y:-1px}.lg\:-translate-y-0\.5{--tw-translate-y:-0.125rem}.lg\:-translate-y-1\.5{--tw-translate-y:-0.375rem}.lg\:-translate-y-2\.5{--tw-translate-y:-0.625rem}.lg\:-translate-y-3\.5{--tw-translate-y:-0.875rem}.lg\:translate-y-1\/2{--tw-translate-y:50%}.lg\:translate-y-1\/3{--tw-translate-y:33.333333%}.lg\:translate-y-2\/3{--tw-translate-y:66.666667%}.lg\:translate-y-1\/4{--tw-translate-y:25%}.lg\:translate-y-2\/4{--tw-translate-y:50%}.lg\:translate-y-3\/4{--tw-translate-y:75%}.lg\:translate-y-full{--tw-translate-y:100%}.lg\:-translate-y-1\/2{--tw-translate-y:-50%}.lg\:-translate-y-1\/3{--tw-translate-y:-33.333333%}.lg\:-translate-y-2\/3{--tw-translate-y:-66.666667%}.lg\:-translate-y-1\/4{--tw-translate-y:-25%}.lg\:-translate-y-2\/4{--tw-translate-y:-50%}.lg\:-translate-y-3\/4{--tw-translate-y:-75%}.lg\:-translate-y-full{--tw-translate-y:-100%}.lg\:hover\:translate-x-0:hover{--tw-translate-x:0px}.lg\:hover\:translate-x-1:hover{--tw-translate-x:0.25rem}.lg\:hover\:translate-x-2:hover{--tw-translate-x:0.5rem}.lg\:hover\:translate-x-3:hover{--tw-translate-x:0.75rem}.lg\:hover\:translate-x-4:hover{--tw-translate-x:1rem}.lg\:hover\:translate-x-5:hover{--tw-translate-x:1.25rem}.lg\:hover\:translate-x-6:hover{--tw-translate-x:1.5rem}.lg\:hover\:translate-x-7:hover{--tw-translate-x:1.75rem}.lg\:hover\:translate-x-8:hover{--tw-translate-x:2rem}.lg\:hover\:translate-x-9:hover{--tw-translate-x:2.25rem}.lg\:hover\:translate-x-10:hover{--tw-translate-x:2.5rem}.lg\:hover\:translate-x-11:hover{--tw-translate-x:2.75rem}.lg\:hover\:translate-x-12:hover{--tw-translate-x:3rem}.lg\:hover\:translate-x-14:hover{--tw-translate-x:3.5rem}.lg\:hover\:translate-x-16:hover{--tw-translate-x:4rem}.lg\:hover\:translate-x-20:hover{--tw-translate-x:5rem}.lg\:hover\:translate-x-24:hover{--tw-translate-x:6rem}.lg\:hover\:translate-x-28:hover{--tw-translate-x:7rem}.lg\:hover\:translate-x-32:hover{--tw-translate-x:8rem}.lg\:hover\:translate-x-36:hover{--tw-translate-x:9rem}.lg\:hover\:translate-x-40:hover{--tw-translate-x:10rem}.lg\:hover\:translate-x-44:hover{--tw-translate-x:11rem}.lg\:hover\:translate-x-48:hover{--tw-translate-x:12rem}.lg\:hover\:translate-x-52:hover{--tw-translate-x:13rem}.lg\:hover\:translate-x-56:hover{--tw-translate-x:14rem}.lg\:hover\:translate-x-60:hover{--tw-translate-x:15rem}.lg\:hover\:translate-x-64:hover{--tw-translate-x:16rem}.lg\:hover\:translate-x-72:hover{--tw-translate-x:18rem}.lg\:hover\:translate-x-80:hover{--tw-translate-x:20rem}.lg\:hover\:translate-x-96:hover{--tw-translate-x:24rem}.lg\:hover\:translate-x-px:hover{--tw-translate-x:1px}.lg\:hover\:translate-x-0\.5:hover{--tw-translate-x:0.125rem}.lg\:hover\:translate-x-1\.5:hover{--tw-translate-x:0.375rem}.lg\:hover\:translate-x-2\.5:hover{--tw-translate-x:0.625rem}.lg\:hover\:translate-x-3\.5:hover{--tw-translate-x:0.875rem}.lg\:hover\:-translate-x-0:hover{--tw-translate-x:0px}.lg\:hover\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.lg\:hover\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.lg\:hover\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.lg\:hover\:-translate-x-4:hover{--tw-translate-x:-1rem}.lg\:hover\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.lg\:hover\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.lg\:hover\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.lg\:hover\:-translate-x-8:hover{--tw-translate-x:-2rem}.lg\:hover\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.lg\:hover\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.lg\:hover\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.lg\:hover\:-translate-x-12:hover{--tw-translate-x:-3rem}.lg\:hover\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.lg\:hover\:-translate-x-16:hover{--tw-translate-x:-4rem}.lg\:hover\:-translate-x-20:hover{--tw-translate-x:-5rem}.lg\:hover\:-translate-x-24:hover{--tw-translate-x:-6rem}.lg\:hover\:-translate-x-28:hover{--tw-translate-x:-7rem}.lg\:hover\:-translate-x-32:hover{--tw-translate-x:-8rem}.lg\:hover\:-translate-x-36:hover{--tw-translate-x:-9rem}.lg\:hover\:-translate-x-40:hover{--tw-translate-x:-10rem}.lg\:hover\:-translate-x-44:hover{--tw-translate-x:-11rem}.lg\:hover\:-translate-x-48:hover{--tw-translate-x:-12rem}.lg\:hover\:-translate-x-52:hover{--tw-translate-x:-13rem}.lg\:hover\:-translate-x-56:hover{--tw-translate-x:-14rem}.lg\:hover\:-translate-x-60:hover{--tw-translate-x:-15rem}.lg\:hover\:-translate-x-64:hover{--tw-translate-x:-16rem}.lg\:hover\:-translate-x-72:hover{--tw-translate-x:-18rem}.lg\:hover\:-translate-x-80:hover{--tw-translate-x:-20rem}.lg\:hover\:-translate-x-96:hover{--tw-translate-x:-24rem}.lg\:hover\:-translate-x-px:hover{--tw-translate-x:-1px}.lg\:hover\:-translate-x-0\.5:hover{--tw-translate-x:-0.125rem}.lg\:hover\:-translate-x-1\.5:hover{--tw-translate-x:-0.375rem}.lg\:hover\:-translate-x-2\.5:hover{--tw-translate-x:-0.625rem}.lg\:hover\:-translate-x-3\.5:hover{--tw-translate-x:-0.875rem}.lg\:hover\:translate-x-1\/2:hover{--tw-translate-x:50%}.lg\:hover\:translate-x-1\/3:hover{--tw-translate-x:33.333333%}.lg\:hover\:translate-x-2\/3:hover{--tw-translate-x:66.666667%}.lg\:hover\:translate-x-1\/4:hover{--tw-translate-x:25%}.lg\:hover\:translate-x-2\/4:hover{--tw-translate-x:50%}.lg\:hover\:translate-x-3\/4:hover{--tw-translate-x:75%}.lg\:hover\:translate-x-full:hover{--tw-translate-x:100%}.lg\:hover\:-translate-x-1\/2:hover{--tw-translate-x:-50%}.lg\:hover\:-translate-x-1\/3:hover{--tw-translate-x:-33.333333%}.lg\:hover\:-translate-x-2\/3:hover{--tw-translate-x:-66.666667%}.lg\:hover\:-translate-x-1\/4:hover{--tw-translate-x:-25%}.lg\:hover\:-translate-x-2\/4:hover{--tw-translate-x:-50%}.lg\:hover\:-translate-x-3\/4:hover{--tw-translate-x:-75%}.lg\:hover\:-translate-x-full:hover{--tw-translate-x:-100%}.lg\:hover\:translate-y-0:hover{--tw-translate-y:0px}.lg\:hover\:translate-y-1:hover{--tw-translate-y:0.25rem}.lg\:hover\:translate-y-2:hover{--tw-translate-y:0.5rem}.lg\:hover\:translate-y-3:hover{--tw-translate-y:0.75rem}.lg\:hover\:translate-y-4:hover{--tw-translate-y:1rem}.lg\:hover\:translate-y-5:hover{--tw-translate-y:1.25rem}.lg\:hover\:translate-y-6:hover{--tw-translate-y:1.5rem}.lg\:hover\:translate-y-7:hover{--tw-translate-y:1.75rem}.lg\:hover\:translate-y-8:hover{--tw-translate-y:2rem}.lg\:hover\:translate-y-9:hover{--tw-translate-y:2.25rem}.lg\:hover\:translate-y-10:hover{--tw-translate-y:2.5rem}.lg\:hover\:translate-y-11:hover{--tw-translate-y:2.75rem}.lg\:hover\:translate-y-12:hover{--tw-translate-y:3rem}.lg\:hover\:translate-y-14:hover{--tw-translate-y:3.5rem}.lg\:hover\:translate-y-16:hover{--tw-translate-y:4rem}.lg\:hover\:translate-y-20:hover{--tw-translate-y:5rem}.lg\:hover\:translate-y-24:hover{--tw-translate-y:6rem}.lg\:hover\:translate-y-28:hover{--tw-translate-y:7rem}.lg\:hover\:translate-y-32:hover{--tw-translate-y:8rem}.lg\:hover\:translate-y-36:hover{--tw-translate-y:9rem}.lg\:hover\:translate-y-40:hover{--tw-translate-y:10rem}.lg\:hover\:translate-y-44:hover{--tw-translate-y:11rem}.lg\:hover\:translate-y-48:hover{--tw-translate-y:12rem}.lg\:hover\:translate-y-52:hover{--tw-translate-y:13rem}.lg\:hover\:translate-y-56:hover{--tw-translate-y:14rem}.lg\:hover\:translate-y-60:hover{--tw-translate-y:15rem}.lg\:hover\:translate-y-64:hover{--tw-translate-y:16rem}.lg\:hover\:translate-y-72:hover{--tw-translate-y:18rem}.lg\:hover\:translate-y-80:hover{--tw-translate-y:20rem}.lg\:hover\:translate-y-96:hover{--tw-translate-y:24rem}.lg\:hover\:translate-y-px:hover{--tw-translate-y:1px}.lg\:hover\:translate-y-0\.5:hover{--tw-translate-y:0.125rem}.lg\:hover\:translate-y-1\.5:hover{--tw-translate-y:0.375rem}.lg\:hover\:translate-y-2\.5:hover{--tw-translate-y:0.625rem}.lg\:hover\:translate-y-3\.5:hover{--tw-translate-y:0.875rem}.lg\:hover\:-translate-y-0:hover{--tw-translate-y:0px}.lg\:hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.lg\:hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.lg\:hover\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.lg\:hover\:-translate-y-4:hover{--tw-translate-y:-1rem}.lg\:hover\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.lg\:hover\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.lg\:hover\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.lg\:hover\:-translate-y-8:hover{--tw-translate-y:-2rem}.lg\:hover\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.lg\:hover\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.lg\:hover\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.lg\:hover\:-translate-y-12:hover{--tw-translate-y:-3rem}.lg\:hover\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.lg\:hover\:-translate-y-16:hover{--tw-translate-y:-4rem}.lg\:hover\:-translate-y-20:hover{--tw-translate-y:-5rem}.lg\:hover\:-translate-y-24:hover{--tw-translate-y:-6rem}.lg\:hover\:-translate-y-28:hover{--tw-translate-y:-7rem}.lg\:hover\:-translate-y-32:hover{--tw-translate-y:-8rem}.lg\:hover\:-translate-y-36:hover{--tw-translate-y:-9rem}.lg\:hover\:-translate-y-40:hover{--tw-translate-y:-10rem}.lg\:hover\:-translate-y-44:hover{--tw-translate-y:-11rem}.lg\:hover\:-translate-y-48:hover{--tw-translate-y:-12rem}.lg\:hover\:-translate-y-52:hover{--tw-translate-y:-13rem}.lg\:hover\:-translate-y-56:hover{--tw-translate-y:-14rem}.lg\:hover\:-translate-y-60:hover{--tw-translate-y:-15rem}.lg\:hover\:-translate-y-64:hover{--tw-translate-y:-16rem}.lg\:hover\:-translate-y-72:hover{--tw-translate-y:-18rem}.lg\:hover\:-translate-y-80:hover{--tw-translate-y:-20rem}.lg\:hover\:-translate-y-96:hover{--tw-translate-y:-24rem}.lg\:hover\:-translate-y-px:hover{--tw-translate-y:-1px}.lg\:hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.lg\:hover\:-translate-y-1\.5:hover{--tw-translate-y:-0.375rem}.lg\:hover\:-translate-y-2\.5:hover{--tw-translate-y:-0.625rem}.lg\:hover\:-translate-y-3\.5:hover{--tw-translate-y:-0.875rem}.lg\:hover\:translate-y-1\/2:hover{--tw-translate-y:50%}.lg\:hover\:translate-y-1\/3:hover{--tw-translate-y:33.333333%}.lg\:hover\:translate-y-2\/3:hover{--tw-translate-y:66.666667%}.lg\:hover\:translate-y-1\/4:hover{--tw-translate-y:25%}.lg\:hover\:translate-y-2\/4:hover{--tw-translate-y:50%}.lg\:hover\:translate-y-3\/4:hover{--tw-translate-y:75%}.lg\:hover\:translate-y-full:hover{--tw-translate-y:100%}.lg\:hover\:-translate-y-1\/2:hover{--tw-translate-y:-50%}.lg\:hover\:-translate-y-1\/3:hover{--tw-translate-y:-33.333333%}.lg\:hover\:-translate-y-2\/3:hover{--tw-translate-y:-66.666667%}.lg\:hover\:-translate-y-1\/4:hover{--tw-translate-y:-25%}.lg\:hover\:-translate-y-2\/4:hover{--tw-translate-y:-50%}.lg\:hover\:-translate-y-3\/4:hover{--tw-translate-y:-75%}.lg\:hover\:-translate-y-full:hover{--tw-translate-y:-100%}.lg\:focus\:translate-x-0:focus{--tw-translate-x:0px}.lg\:focus\:translate-x-1:focus{--tw-translate-x:0.25rem}.lg\:focus\:translate-x-2:focus{--tw-translate-x:0.5rem}.lg\:focus\:translate-x-3:focus{--tw-translate-x:0.75rem}.lg\:focus\:translate-x-4:focus{--tw-translate-x:1rem}.lg\:focus\:translate-x-5:focus{--tw-translate-x:1.25rem}.lg\:focus\:translate-x-6:focus{--tw-translate-x:1.5rem}.lg\:focus\:translate-x-7:focus{--tw-translate-x:1.75rem}.lg\:focus\:translate-x-8:focus{--tw-translate-x:2rem}.lg\:focus\:translate-x-9:focus{--tw-translate-x:2.25rem}.lg\:focus\:translate-x-10:focus{--tw-translate-x:2.5rem}.lg\:focus\:translate-x-11:focus{--tw-translate-x:2.75rem}.lg\:focus\:translate-x-12:focus{--tw-translate-x:3rem}.lg\:focus\:translate-x-14:focus{--tw-translate-x:3.5rem}.lg\:focus\:translate-x-16:focus{--tw-translate-x:4rem}.lg\:focus\:translate-x-20:focus{--tw-translate-x:5rem}.lg\:focus\:translate-x-24:focus{--tw-translate-x:6rem}.lg\:focus\:translate-x-28:focus{--tw-translate-x:7rem}.lg\:focus\:translate-x-32:focus{--tw-translate-x:8rem}.lg\:focus\:translate-x-36:focus{--tw-translate-x:9rem}.lg\:focus\:translate-x-40:focus{--tw-translate-x:10rem}.lg\:focus\:translate-x-44:focus{--tw-translate-x:11rem}.lg\:focus\:translate-x-48:focus{--tw-translate-x:12rem}.lg\:focus\:translate-x-52:focus{--tw-translate-x:13rem}.lg\:focus\:translate-x-56:focus{--tw-translate-x:14rem}.lg\:focus\:translate-x-60:focus{--tw-translate-x:15rem}.lg\:focus\:translate-x-64:focus{--tw-translate-x:16rem}.lg\:focus\:translate-x-72:focus{--tw-translate-x:18rem}.lg\:focus\:translate-x-80:focus{--tw-translate-x:20rem}.lg\:focus\:translate-x-96:focus{--tw-translate-x:24rem}.lg\:focus\:translate-x-px:focus{--tw-translate-x:1px}.lg\:focus\:translate-x-0\.5:focus{--tw-translate-x:0.125rem}.lg\:focus\:translate-x-1\.5:focus{--tw-translate-x:0.375rem}.lg\:focus\:translate-x-2\.5:focus{--tw-translate-x:0.625rem}.lg\:focus\:translate-x-3\.5:focus{--tw-translate-x:0.875rem}.lg\:focus\:-translate-x-0:focus{--tw-translate-x:0px}.lg\:focus\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.lg\:focus\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.lg\:focus\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.lg\:focus\:-translate-x-4:focus{--tw-translate-x:-1rem}.lg\:focus\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.lg\:focus\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.lg\:focus\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.lg\:focus\:-translate-x-8:focus{--tw-translate-x:-2rem}.lg\:focus\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.lg\:focus\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.lg\:focus\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.lg\:focus\:-translate-x-12:focus{--tw-translate-x:-3rem}.lg\:focus\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.lg\:focus\:-translate-x-16:focus{--tw-translate-x:-4rem}.lg\:focus\:-translate-x-20:focus{--tw-translate-x:-5rem}.lg\:focus\:-translate-x-24:focus{--tw-translate-x:-6rem}.lg\:focus\:-translate-x-28:focus{--tw-translate-x:-7rem}.lg\:focus\:-translate-x-32:focus{--tw-translate-x:-8rem}.lg\:focus\:-translate-x-36:focus{--tw-translate-x:-9rem}.lg\:focus\:-translate-x-40:focus{--tw-translate-x:-10rem}.lg\:focus\:-translate-x-44:focus{--tw-translate-x:-11rem}.lg\:focus\:-translate-x-48:focus{--tw-translate-x:-12rem}.lg\:focus\:-translate-x-52:focus{--tw-translate-x:-13rem}.lg\:focus\:-translate-x-56:focus{--tw-translate-x:-14rem}.lg\:focus\:-translate-x-60:focus{--tw-translate-x:-15rem}.lg\:focus\:-translate-x-64:focus{--tw-translate-x:-16rem}.lg\:focus\:-translate-x-72:focus{--tw-translate-x:-18rem}.lg\:focus\:-translate-x-80:focus{--tw-translate-x:-20rem}.lg\:focus\:-translate-x-96:focus{--tw-translate-x:-24rem}.lg\:focus\:-translate-x-px:focus{--tw-translate-x:-1px}.lg\:focus\:-translate-x-0\.5:focus{--tw-translate-x:-0.125rem}.lg\:focus\:-translate-x-1\.5:focus{--tw-translate-x:-0.375rem}.lg\:focus\:-translate-x-2\.5:focus{--tw-translate-x:-0.625rem}.lg\:focus\:-translate-x-3\.5:focus{--tw-translate-x:-0.875rem}.lg\:focus\:translate-x-1\/2:focus{--tw-translate-x:50%}.lg\:focus\:translate-x-1\/3:focus{--tw-translate-x:33.333333%}.lg\:focus\:translate-x-2\/3:focus{--tw-translate-x:66.666667%}.lg\:focus\:translate-x-1\/4:focus{--tw-translate-x:25%}.lg\:focus\:translate-x-2\/4:focus{--tw-translate-x:50%}.lg\:focus\:translate-x-3\/4:focus{--tw-translate-x:75%}.lg\:focus\:translate-x-full:focus{--tw-translate-x:100%}.lg\:focus\:-translate-x-1\/2:focus{--tw-translate-x:-50%}.lg\:focus\:-translate-x-1\/3:focus{--tw-translate-x:-33.333333%}.lg\:focus\:-translate-x-2\/3:focus{--tw-translate-x:-66.666667%}.lg\:focus\:-translate-x-1\/4:focus{--tw-translate-x:-25%}.lg\:focus\:-translate-x-2\/4:focus{--tw-translate-x:-50%}.lg\:focus\:-translate-x-3\/4:focus{--tw-translate-x:-75%}.lg\:focus\:-translate-x-full:focus{--tw-translate-x:-100%}.lg\:focus\:translate-y-0:focus{--tw-translate-y:0px}.lg\:focus\:translate-y-1:focus{--tw-translate-y:0.25rem}.lg\:focus\:translate-y-2:focus{--tw-translate-y:0.5rem}.lg\:focus\:translate-y-3:focus{--tw-translate-y:0.75rem}.lg\:focus\:translate-y-4:focus{--tw-translate-y:1rem}.lg\:focus\:translate-y-5:focus{--tw-translate-y:1.25rem}.lg\:focus\:translate-y-6:focus{--tw-translate-y:1.5rem}.lg\:focus\:translate-y-7:focus{--tw-translate-y:1.75rem}.lg\:focus\:translate-y-8:focus{--tw-translate-y:2rem}.lg\:focus\:translate-y-9:focus{--tw-translate-y:2.25rem}.lg\:focus\:translate-y-10:focus{--tw-translate-y:2.5rem}.lg\:focus\:translate-y-11:focus{--tw-translate-y:2.75rem}.lg\:focus\:translate-y-12:focus{--tw-translate-y:3rem}.lg\:focus\:translate-y-14:focus{--tw-translate-y:3.5rem}.lg\:focus\:translate-y-16:focus{--tw-translate-y:4rem}.lg\:focus\:translate-y-20:focus{--tw-translate-y:5rem}.lg\:focus\:translate-y-24:focus{--tw-translate-y:6rem}.lg\:focus\:translate-y-28:focus{--tw-translate-y:7rem}.lg\:focus\:translate-y-32:focus{--tw-translate-y:8rem}.lg\:focus\:translate-y-36:focus{--tw-translate-y:9rem}.lg\:focus\:translate-y-40:focus{--tw-translate-y:10rem}.lg\:focus\:translate-y-44:focus{--tw-translate-y:11rem}.lg\:focus\:translate-y-48:focus{--tw-translate-y:12rem}.lg\:focus\:translate-y-52:focus{--tw-translate-y:13rem}.lg\:focus\:translate-y-56:focus{--tw-translate-y:14rem}.lg\:focus\:translate-y-60:focus{--tw-translate-y:15rem}.lg\:focus\:translate-y-64:focus{--tw-translate-y:16rem}.lg\:focus\:translate-y-72:focus{--tw-translate-y:18rem}.lg\:focus\:translate-y-80:focus{--tw-translate-y:20rem}.lg\:focus\:translate-y-96:focus{--tw-translate-y:24rem}.lg\:focus\:translate-y-px:focus{--tw-translate-y:1px}.lg\:focus\:translate-y-0\.5:focus{--tw-translate-y:0.125rem}.lg\:focus\:translate-y-1\.5:focus{--tw-translate-y:0.375rem}.lg\:focus\:translate-y-2\.5:focus{--tw-translate-y:0.625rem}.lg\:focus\:translate-y-3\.5:focus{--tw-translate-y:0.875rem}.lg\:focus\:-translate-y-0:focus{--tw-translate-y:0px}.lg\:focus\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.lg\:focus\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.lg\:focus\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.lg\:focus\:-translate-y-4:focus{--tw-translate-y:-1rem}.lg\:focus\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.lg\:focus\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.lg\:focus\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.lg\:focus\:-translate-y-8:focus{--tw-translate-y:-2rem}.lg\:focus\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.lg\:focus\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.lg\:focus\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.lg\:focus\:-translate-y-12:focus{--tw-translate-y:-3rem}.lg\:focus\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.lg\:focus\:-translate-y-16:focus{--tw-translate-y:-4rem}.lg\:focus\:-translate-y-20:focus{--tw-translate-y:-5rem}.lg\:focus\:-translate-y-24:focus{--tw-translate-y:-6rem}.lg\:focus\:-translate-y-28:focus{--tw-translate-y:-7rem}.lg\:focus\:-translate-y-32:focus{--tw-translate-y:-8rem}.lg\:focus\:-translate-y-36:focus{--tw-translate-y:-9rem}.lg\:focus\:-translate-y-40:focus{--tw-translate-y:-10rem}.lg\:focus\:-translate-y-44:focus{--tw-translate-y:-11rem}.lg\:focus\:-translate-y-48:focus{--tw-translate-y:-12rem}.lg\:focus\:-translate-y-52:focus{--tw-translate-y:-13rem}.lg\:focus\:-translate-y-56:focus{--tw-translate-y:-14rem}.lg\:focus\:-translate-y-60:focus{--tw-translate-y:-15rem}.lg\:focus\:-translate-y-64:focus{--tw-translate-y:-16rem}.lg\:focus\:-translate-y-72:focus{--tw-translate-y:-18rem}.lg\:focus\:-translate-y-80:focus{--tw-translate-y:-20rem}.lg\:focus\:-translate-y-96:focus{--tw-translate-y:-24rem}.lg\:focus\:-translate-y-px:focus{--tw-translate-y:-1px}.lg\:focus\:-translate-y-0\.5:focus{--tw-translate-y:-0.125rem}.lg\:focus\:-translate-y-1\.5:focus{--tw-translate-y:-0.375rem}.lg\:focus\:-translate-y-2\.5:focus{--tw-translate-y:-0.625rem}.lg\:focus\:-translate-y-3\.5:focus{--tw-translate-y:-0.875rem}.lg\:focus\:translate-y-1\/2:focus{--tw-translate-y:50%}.lg\:focus\:translate-y-1\/3:focus{--tw-translate-y:33.333333%}.lg\:focus\:translate-y-2\/3:focus{--tw-translate-y:66.666667%}.lg\:focus\:translate-y-1\/4:focus{--tw-translate-y:25%}.lg\:focus\:translate-y-2\/4:focus{--tw-translate-y:50%}.lg\:focus\:translate-y-3\/4:focus{--tw-translate-y:75%}.lg\:focus\:translate-y-full:focus{--tw-translate-y:100%}.lg\:focus\:-translate-y-1\/2:focus{--tw-translate-y:-50%}.lg\:focus\:-translate-y-1\/3:focus{--tw-translate-y:-33.333333%}.lg\:focus\:-translate-y-2\/3:focus{--tw-translate-y:-66.666667%}.lg\:focus\:-translate-y-1\/4:focus{--tw-translate-y:-25%}.lg\:focus\:-translate-y-2\/4:focus{--tw-translate-y:-50%}.lg\:focus\:-translate-y-3\/4:focus{--tw-translate-y:-75%}.lg\:focus\:-translate-y-full:focus{--tw-translate-y:-100%}.lg\:rotate-0{--tw-rotate:0deg}.lg\:rotate-1{--tw-rotate:1deg}.lg\:rotate-2{--tw-rotate:2deg}.lg\:rotate-3{--tw-rotate:3deg}.lg\:rotate-6{--tw-rotate:6deg}.lg\:rotate-12{--tw-rotate:12deg}.lg\:rotate-45{--tw-rotate:45deg}.lg\:rotate-90{--tw-rotate:90deg}.lg\:rotate-180{--tw-rotate:180deg}.lg\:-rotate-180{--tw-rotate:-180deg}.lg\:-rotate-90{--tw-rotate:-90deg}.lg\:-rotate-45{--tw-rotate:-45deg}.lg\:-rotate-12{--tw-rotate:-12deg}.lg\:-rotate-6{--tw-rotate:-6deg}.lg\:-rotate-3{--tw-rotate:-3deg}.lg\:-rotate-2{--tw-rotate:-2deg}.lg\:-rotate-1{--tw-rotate:-1deg}.lg\:hover\:rotate-0:hover{--tw-rotate:0deg}.lg\:hover\:rotate-1:hover{--tw-rotate:1deg}.lg\:hover\:rotate-2:hover{--tw-rotate:2deg}.lg\:hover\:rotate-3:hover{--tw-rotate:3deg}.lg\:hover\:rotate-6:hover{--tw-rotate:6deg}.lg\:hover\:rotate-12:hover{--tw-rotate:12deg}.lg\:hover\:rotate-45:hover{--tw-rotate:45deg}.lg\:hover\:rotate-90:hover{--tw-rotate:90deg}.lg\:hover\:rotate-180:hover{--tw-rotate:180deg}.lg\:hover\:-rotate-180:hover{--tw-rotate:-180deg}.lg\:hover\:-rotate-90:hover{--tw-rotate:-90deg}.lg\:hover\:-rotate-45:hover{--tw-rotate:-45deg}.lg\:hover\:-rotate-12:hover{--tw-rotate:-12deg}.lg\:hover\:-rotate-6:hover{--tw-rotate:-6deg}.lg\:hover\:-rotate-3:hover{--tw-rotate:-3deg}.lg\:hover\:-rotate-2:hover{--tw-rotate:-2deg}.lg\:hover\:-rotate-1:hover{--tw-rotate:-1deg}.lg\:focus\:rotate-0:focus{--tw-rotate:0deg}.lg\:focus\:rotate-1:focus{--tw-rotate:1deg}.lg\:focus\:rotate-2:focus{--tw-rotate:2deg}.lg\:focus\:rotate-3:focus{--tw-rotate:3deg}.lg\:focus\:rotate-6:focus{--tw-rotate:6deg}.lg\:focus\:rotate-12:focus{--tw-rotate:12deg}.lg\:focus\:rotate-45:focus{--tw-rotate:45deg}.lg\:focus\:rotate-90:focus{--tw-rotate:90deg}.lg\:focus\:rotate-180:focus{--tw-rotate:180deg}.lg\:focus\:-rotate-180:focus{--tw-rotate:-180deg}.lg\:focus\:-rotate-90:focus{--tw-rotate:-90deg}.lg\:focus\:-rotate-45:focus{--tw-rotate:-45deg}.lg\:focus\:-rotate-12:focus{--tw-rotate:-12deg}.lg\:focus\:-rotate-6:focus{--tw-rotate:-6deg}.lg\:focus\:-rotate-3:focus{--tw-rotate:-3deg}.lg\:focus\:-rotate-2:focus{--tw-rotate:-2deg}.lg\:focus\:-rotate-1:focus{--tw-rotate:-1deg}.lg\:skew-x-0{--tw-skew-x:0deg}.lg\:skew-x-1{--tw-skew-x:1deg}.lg\:skew-x-2{--tw-skew-x:2deg}.lg\:skew-x-3{--tw-skew-x:3deg}.lg\:skew-x-6{--tw-skew-x:6deg}.lg\:skew-x-12{--tw-skew-x:12deg}.lg\:-skew-x-12{--tw-skew-x:-12deg}.lg\:-skew-x-6{--tw-skew-x:-6deg}.lg\:-skew-x-3{--tw-skew-x:-3deg}.lg\:-skew-x-2{--tw-skew-x:-2deg}.lg\:-skew-x-1{--tw-skew-x:-1deg}.lg\:skew-y-0{--tw-skew-y:0deg}.lg\:skew-y-1{--tw-skew-y:1deg}.lg\:skew-y-2{--tw-skew-y:2deg}.lg\:skew-y-3{--tw-skew-y:3deg}.lg\:skew-y-6{--tw-skew-y:6deg}.lg\:skew-y-12{--tw-skew-y:12deg}.lg\:-skew-y-12{--tw-skew-y:-12deg}.lg\:-skew-y-6{--tw-skew-y:-6deg}.lg\:-skew-y-3{--tw-skew-y:-3deg}.lg\:-skew-y-2{--tw-skew-y:-2deg}.lg\:-skew-y-1{--tw-skew-y:-1deg}.lg\:hover\:skew-x-0:hover{--tw-skew-x:0deg}.lg\:hover\:skew-x-1:hover{--tw-skew-x:1deg}.lg\:hover\:skew-x-2:hover{--tw-skew-x:2deg}.lg\:hover\:skew-x-3:hover{--tw-skew-x:3deg}.lg\:hover\:skew-x-6:hover{--tw-skew-x:6deg}.lg\:hover\:skew-x-12:hover{--tw-skew-x:12deg}.lg\:hover\:-skew-x-12:hover{--tw-skew-x:-12deg}.lg\:hover\:-skew-x-6:hover{--tw-skew-x:-6deg}.lg\:hover\:-skew-x-3:hover{--tw-skew-x:-3deg}.lg\:hover\:-skew-x-2:hover{--tw-skew-x:-2deg}.lg\:hover\:-skew-x-1:hover{--tw-skew-x:-1deg}.lg\:hover\:skew-y-0:hover{--tw-skew-y:0deg}.lg\:hover\:skew-y-1:hover{--tw-skew-y:1deg}.lg\:hover\:skew-y-2:hover{--tw-skew-y:2deg}.lg\:hover\:skew-y-3:hover{--tw-skew-y:3deg}.lg\:hover\:skew-y-6:hover{--tw-skew-y:6deg}.lg\:hover\:skew-y-12:hover{--tw-skew-y:12deg}.lg\:hover\:-skew-y-12:hover{--tw-skew-y:-12deg}.lg\:hover\:-skew-y-6:hover{--tw-skew-y:-6deg}.lg\:hover\:-skew-y-3:hover{--tw-skew-y:-3deg}.lg\:hover\:-skew-y-2:hover{--tw-skew-y:-2deg}.lg\:hover\:-skew-y-1:hover{--tw-skew-y:-1deg}.lg\:focus\:skew-x-0:focus{--tw-skew-x:0deg}.lg\:focus\:skew-x-1:focus{--tw-skew-x:1deg}.lg\:focus\:skew-x-2:focus{--tw-skew-x:2deg}.lg\:focus\:skew-x-3:focus{--tw-skew-x:3deg}.lg\:focus\:skew-x-6:focus{--tw-skew-x:6deg}.lg\:focus\:skew-x-12:focus{--tw-skew-x:12deg}.lg\:focus\:-skew-x-12:focus{--tw-skew-x:-12deg}.lg\:focus\:-skew-x-6:focus{--tw-skew-x:-6deg}.lg\:focus\:-skew-x-3:focus{--tw-skew-x:-3deg}.lg\:focus\:-skew-x-2:focus{--tw-skew-x:-2deg}.lg\:focus\:-skew-x-1:focus{--tw-skew-x:-1deg}.lg\:focus\:skew-y-0:focus{--tw-skew-y:0deg}.lg\:focus\:skew-y-1:focus{--tw-skew-y:1deg}.lg\:focus\:skew-y-2:focus{--tw-skew-y:2deg}.lg\:focus\:skew-y-3:focus{--tw-skew-y:3deg}.lg\:focus\:skew-y-6:focus{--tw-skew-y:6deg}.lg\:focus\:skew-y-12:focus{--tw-skew-y:12deg}.lg\:focus\:-skew-y-12:focus{--tw-skew-y:-12deg}.lg\:focus\:-skew-y-6:focus{--tw-skew-y:-6deg}.lg\:focus\:-skew-y-3:focus{--tw-skew-y:-3deg}.lg\:focus\:-skew-y-2:focus{--tw-skew-y:-2deg}.lg\:focus\:-skew-y-1:focus{--tw-skew-y:-1deg}.lg\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.lg\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.lg\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.lg\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.lg\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.lg\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.lg\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\:hover\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.lg\:hover\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.lg\:hover\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.lg\:hover\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.lg\:hover\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.lg\:hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.lg\:hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\:hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\:hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\:hover\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\:focus\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.lg\:focus\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.lg\:focus\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.lg\:focus\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.lg\:focus\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.lg\:focus\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.lg\:focus\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.lg\:focus\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.lg\:focus\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.lg\:focus\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.lg\:scale-x-0{--tw-scale-x:0}.lg\:scale-x-50{--tw-scale-x:.5}.lg\:scale-x-75{--tw-scale-x:.75}.lg\:scale-x-90{--tw-scale-x:.9}.lg\:scale-x-95{--tw-scale-x:.95}.lg\:scale-x-100{--tw-scale-x:1}.lg\:scale-x-105{--tw-scale-x:1.05}.lg\:scale-x-110{--tw-scale-x:1.1}.lg\:scale-x-125{--tw-scale-x:1.25}.lg\:scale-x-150{--tw-scale-x:1.5}.lg\:scale-y-0{--tw-scale-y:0}.lg\:scale-y-50{--tw-scale-y:.5}.lg\:scale-y-75{--tw-scale-y:.75}.lg\:scale-y-90{--tw-scale-y:.9}.lg\:scale-y-95{--tw-scale-y:.95}.lg\:scale-y-100{--tw-scale-y:1}.lg\:scale-y-105{--tw-scale-y:1.05}.lg\:scale-y-110{--tw-scale-y:1.1}.lg\:scale-y-125{--tw-scale-y:1.25}.lg\:scale-y-150{--tw-scale-y:1.5}.lg\:hover\:scale-x-0:hover{--tw-scale-x:0}.lg\:hover\:scale-x-50:hover{--tw-scale-x:.5}.lg\:hover\:scale-x-75:hover{--tw-scale-x:.75}.lg\:hover\:scale-x-90:hover{--tw-scale-x:.9}.lg\:hover\:scale-x-95:hover{--tw-scale-x:.95}.lg\:hover\:scale-x-100:hover{--tw-scale-x:1}.lg\:hover\:scale-x-105:hover{--tw-scale-x:1.05}.lg\:hover\:scale-x-110:hover{--tw-scale-x:1.1}.lg\:hover\:scale-x-125:hover{--tw-scale-x:1.25}.lg\:hover\:scale-x-150:hover{--tw-scale-x:1.5}.lg\:hover\:scale-y-0:hover{--tw-scale-y:0}.lg\:hover\:scale-y-50:hover{--tw-scale-y:.5}.lg\:hover\:scale-y-75:hover{--tw-scale-y:.75}.lg\:hover\:scale-y-90:hover{--tw-scale-y:.9}.lg\:hover\:scale-y-95:hover{--tw-scale-y:.95}.lg\:hover\:scale-y-100:hover{--tw-scale-y:1}.lg\:hover\:scale-y-105:hover{--tw-scale-y:1.05}.lg\:hover\:scale-y-110:hover{--tw-scale-y:1.1}.lg\:hover\:scale-y-125:hover{--tw-scale-y:1.25}.lg\:hover\:scale-y-150:hover{--tw-scale-y:1.5}.lg\:focus\:scale-x-0:focus{--tw-scale-x:0}.lg\:focus\:scale-x-50:focus{--tw-scale-x:.5}.lg\:focus\:scale-x-75:focus{--tw-scale-x:.75}.lg\:focus\:scale-x-90:focus{--tw-scale-x:.9}.lg\:focus\:scale-x-95:focus{--tw-scale-x:.95}.lg\:focus\:scale-x-100:focus{--tw-scale-x:1}.lg\:focus\:scale-x-105:focus{--tw-scale-x:1.05}.lg\:focus\:scale-x-110:focus{--tw-scale-x:1.1}.lg\:focus\:scale-x-125:focus{--tw-scale-x:1.25}.lg\:focus\:scale-x-150:focus{--tw-scale-x:1.5}.lg\:focus\:scale-y-0:focus{--tw-scale-y:0}.lg\:focus\:scale-y-50:focus{--tw-scale-y:.5}.lg\:focus\:scale-y-75:focus{--tw-scale-y:.75}.lg\:focus\:scale-y-90:focus{--tw-scale-y:.9}.lg\:focus\:scale-y-95:focus{--tw-scale-y:.95}.lg\:focus\:scale-y-100:focus{--tw-scale-y:1}.lg\:focus\:scale-y-105:focus{--tw-scale-y:1.05}.lg\:focus\:scale-y-110:focus{--tw-scale-y:1.1}.lg\:focus\:scale-y-125:focus{--tw-scale-y:1.25}.lg\:focus\:scale-y-150:focus{--tw-scale-y:1.5}.lg\:animate-none{animation:none}.lg\:animate-spin{animation:spin 1s linear infinite}.lg\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.lg\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.lg\:animate-bounce{animation:bounce 1s infinite}.lg\:cursor-auto{cursor:auto}.lg\:cursor-default{cursor:default}.lg\:cursor-pointer{cursor:pointer}.lg\:cursor-wait{cursor:wait}.lg\:cursor-text{cursor:text}.lg\:cursor-move{cursor:move}.lg\:cursor-help{cursor:help}.lg\:cursor-not-allowed{cursor:not-allowed}.lg\:select-none{-webkit-user-select:none;user-select:none}.lg\:select-text{-webkit-user-select:text;user-select:text}.lg\:select-all{-webkit-user-select:all;user-select:all}.lg\:select-auto{-webkit-user-select:auto;user-select:auto}.lg\:resize-none{resize:none}.lg\:resize-y{resize:vertical}.lg\:resize-x{resize:horizontal}.lg\:resize{resize:both}.lg\:list-inside{list-style-position:inside}.lg\:list-outside{list-style-position:outside}.lg\:list-none{list-style-type:none}.lg\:list-disc{list-style-type:disc}.lg\:list-decimal{list-style-type:decimal}.lg\:appearance-none{-webkit-appearance:none;appearance:none}.lg\:auto-cols-auto{grid-auto-columns:auto}.lg\:auto-cols-min{grid-auto-columns:min-content}.lg\:auto-cols-max{grid-auto-columns:max-content}.lg\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.lg\:grid-flow-row{grid-auto-flow:row}.lg\:grid-flow-col{grid-auto-flow:column}.lg\:grid-flow-row-dense{grid-auto-flow:row dense}.lg\:grid-flow-col-dense{grid-auto-flow:column dense}.lg\:auto-rows-auto{grid-auto-rows:auto}.lg\:auto-rows-min{grid-auto-rows:min-content}.lg\:auto-rows-max{grid-auto-rows:max-content}.lg\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-none{grid-template-columns:none}.lg\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.lg\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.lg\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.lg\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.lg\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.lg\:grid-rows-none{grid-template-rows:none}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-col{flex-direction:column}.lg\:flex-col-reverse{flex-direction:column-reverse}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:place-content-center{place-content:center}.lg\:place-content-start{place-content:start}.lg\:place-content-end{place-content:end}.lg\:place-content-between{place-content:space-between}.lg\:place-content-around{place-content:space-around}.lg\:place-content-evenly{place-content:space-evenly}.lg\:place-content-stretch{place-content:stretch}.lg\:place-items-start{place-items:start}.lg\:place-items-end{place-items:end}.lg\:place-items-center{place-items:center}.lg\:place-items-stretch{place-items:stretch}.lg\:content-center{align-content:center}.lg\:content-start{align-content:flex-start}.lg\:content-end{align-content:flex-end}.lg\:content-between{align-content:space-between}.lg\:content-around{align-content:space-around}.lg\:content-evenly{align-content:space-evenly}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:items-stretch{align-items:stretch}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:justify-evenly{justify-content:space-evenly}.lg\:justify-items-start{justify-items:start}.lg\:justify-items-end{justify-items:end}.lg\:justify-items-center{justify-items:center}.lg\:justify-items-stretch{justify-items:stretch}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:.75rem}.lg\:gap-4{gap:1rem}.lg\:gap-5{gap:1.25rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-7{gap:1.75rem}.lg\:gap-8{gap:2rem}.lg\:gap-9{gap:2.25rem}.lg\:gap-10{gap:2.5rem}.lg\:gap-11{gap:2.75rem}.lg\:gap-12{gap:3rem}.lg\:gap-14{gap:3.5rem}.lg\:gap-16{gap:4rem}.lg\:gap-20{gap:5rem}.lg\:gap-24{gap:6rem}.lg\:gap-28{gap:7rem}.lg\:gap-32{gap:8rem}.lg\:gap-36{gap:9rem}.lg\:gap-40{gap:10rem}.lg\:gap-44{gap:11rem}.lg\:gap-48{gap:12rem}.lg\:gap-52{gap:13rem}.lg\:gap-56{gap:14rem}.lg\:gap-60{gap:15rem}.lg\:gap-64{gap:16rem}.lg\:gap-72{gap:18rem}.lg\:gap-80{gap:20rem}.lg\:gap-96{gap:24rem}.lg\:gap-px{gap:1px}.lg\:gap-0\.5{gap:.125rem}.lg\:gap-1\.5{gap:.375rem}.lg\:gap-2\.5{gap:.625rem}.lg\:gap-3\.5{gap:.875rem}.lg\:gap-x-0{column-gap:0}.lg\:gap-x-1{column-gap:.25rem}.lg\:gap-x-2{column-gap:.5rem}.lg\:gap-x-3{column-gap:.75rem}.lg\:gap-x-4{column-gap:1rem}.lg\:gap-x-5{column-gap:1.25rem}.lg\:gap-x-6{column-gap:1.5rem}.lg\:gap-x-7{column-gap:1.75rem}.lg\:gap-x-8{column-gap:2rem}.lg\:gap-x-9{column-gap:2.25rem}.lg\:gap-x-10{column-gap:2.5rem}.lg\:gap-x-11{column-gap:2.75rem}.lg\:gap-x-12{column-gap:3rem}.lg\:gap-x-14{column-gap:3.5rem}.lg\:gap-x-16{column-gap:4rem}.lg\:gap-x-20{column-gap:5rem}.lg\:gap-x-24{column-gap:6rem}.lg\:gap-x-28{column-gap:7rem}.lg\:gap-x-32{column-gap:8rem}.lg\:gap-x-36{column-gap:9rem}.lg\:gap-x-40{column-gap:10rem}.lg\:gap-x-44{column-gap:11rem}.lg\:gap-x-48{column-gap:12rem}.lg\:gap-x-52{column-gap:13rem}.lg\:gap-x-56{column-gap:14rem}.lg\:gap-x-60{column-gap:15rem}.lg\:gap-x-64{column-gap:16rem}.lg\:gap-x-72{column-gap:18rem}.lg\:gap-x-80{column-gap:20rem}.lg\:gap-x-96{column-gap:24rem}.lg\:gap-x-px{column-gap:1px}.lg\:gap-x-0\.5{column-gap:.125rem}.lg\:gap-x-1\.5{column-gap:.375rem}.lg\:gap-x-2\.5{column-gap:.625rem}.lg\:gap-x-3\.5{column-gap:.875rem}.lg\:gap-y-0{row-gap:0}.lg\:gap-y-1{row-gap:.25rem}.lg\:gap-y-2{row-gap:.5rem}.lg\:gap-y-3{row-gap:.75rem}.lg\:gap-y-4{row-gap:1rem}.lg\:gap-y-5{row-gap:1.25rem}.lg\:gap-y-6{row-gap:1.5rem}.lg\:gap-y-7{row-gap:1.75rem}.lg\:gap-y-8{row-gap:2rem}.lg\:gap-y-9{row-gap:2.25rem}.lg\:gap-y-10{row-gap:2.5rem}.lg\:gap-y-11{row-gap:2.75rem}.lg\:gap-y-12{row-gap:3rem}.lg\:gap-y-14{row-gap:3.5rem}.lg\:gap-y-16{row-gap:4rem}.lg\:gap-y-20{row-gap:5rem}.lg\:gap-y-24{row-gap:6rem}.lg\:gap-y-28{row-gap:7rem}.lg\:gap-y-32{row-gap:8rem}.lg\:gap-y-36{row-gap:9rem}.lg\:gap-y-40{row-gap:10rem}.lg\:gap-y-44{row-gap:11rem}.lg\:gap-y-48{row-gap:12rem}.lg\:gap-y-52{row-gap:13rem}.lg\:gap-y-56{row-gap:14rem}.lg\:gap-y-60{row-gap:15rem}.lg\:gap-y-64{row-gap:16rem}.lg\:gap-y-72{row-gap:18rem}.lg\:gap-y-80{row-gap:20rem}.lg\:gap-y-96{row-gap:24rem}.lg\:gap-y-px{row-gap:1px}.lg\:gap-y-0\.5{row-gap:.125rem}.lg\:gap-y-1\.5{row-gap:.375rem}.lg\:gap-y-2\.5{row-gap:.625rem}.lg\:gap-y-3\.5{row-gap:.875rem}.lg\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.875rem * var(--tw-space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.125rem * var(--tw-space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.625rem * var(--tw-space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:-space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.875rem * var(--tw-space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.lg\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.lg\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.lg\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.lg\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.lg\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.lg\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.lg\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.lg\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.lg\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.lg\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.lg\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.lg\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.lg\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.lg\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.lg\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.lg\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.lg\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.lg\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.lg\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.lg\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.lg\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.lg\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.lg\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.lg\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.lg\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.lg\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.lg\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.lg\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.lg\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.lg\:space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.lg\:space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.lg\:space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.lg\:space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.lg\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.25rem * var(--tw-space-y-reverse))}.lg\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.5rem * var(--tw-space-y-reverse))}.lg\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.75rem * var(--tw-space-y-reverse))}.lg\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.lg\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.lg\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.lg\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.lg\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.lg\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.lg\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.lg\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.lg\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.lg\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.lg\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.lg\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.lg\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.lg\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.lg\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.lg\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.lg\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.lg\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.lg\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.lg\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.lg\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.lg\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.lg\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.lg\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.lg\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.lg\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.lg\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.lg\:-space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.125rem * var(--tw-space-y-reverse))}.lg\:-space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.375rem * var(--tw-space-y-reverse))}.lg\:-space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.625rem * var(--tw-space-y-reverse))}.lg\:-space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.875rem * var(--tw-space-y-reverse))}.lg\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.lg\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.lg\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.lg\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.lg\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.lg\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.lg\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.lg\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.lg\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.lg\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.lg\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.lg\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.lg\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.lg\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.lg\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.lg\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.lg\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.lg\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0,0,0,var(--tw-divide-opacity))}.lg\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,255,255,var(--tw-divide-opacity))}.lg\:divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,250,251,var(--tw-divide-opacity))}.lg\:divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(243,244,246,var(--tw-divide-opacity))}.lg\:divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(229,231,235,var(--tw-divide-opacity))}.lg\:divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,213,219,var(--tw-divide-opacity))}.lg\:divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(156,163,175,var(--tw-divide-opacity))}.lg\:divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(107,114,128,var(--tw-divide-opacity))}.lg\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(75,85,99,var(--tw-divide-opacity))}.lg\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,65,81,var(--tw-divide-opacity))}.lg\:divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(31,41,55,var(--tw-divide-opacity))}.lg\:divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(17,24,39,var(--tw-divide-opacity))}.lg\:divide-red-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,242,242,var(--tw-divide-opacity))}.lg\:divide-red-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,226,226,var(--tw-divide-opacity))}.lg\:divide-red-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,202,202,var(--tw-divide-opacity))}.lg\:divide-red-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,165,165,var(--tw-divide-opacity))}.lg\:divide-red-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(248,113,113,var(--tw-divide-opacity))}.lg\:divide-red-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,68,68,var(--tw-divide-opacity))}.lg\:divide-red-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(220,38,38,var(--tw-divide-opacity))}.lg\:divide-red-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(185,28,28,var(--tw-divide-opacity))}.lg\:divide-red-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(153,27,27,var(--tw-divide-opacity))}.lg\:divide-red-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127,29,29,var(--tw-divide-opacity))}.lg\:divide-yellow-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,251,235,var(--tw-divide-opacity))}.lg\:divide-yellow-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,243,199,var(--tw-divide-opacity))}.lg\:divide-yellow-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,230,138,var(--tw-divide-opacity))}.lg\:divide-yellow-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,211,77,var(--tw-divide-opacity))}.lg\:divide-yellow-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,191,36,var(--tw-divide-opacity))}.lg\:divide-yellow-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,158,11,var(--tw-divide-opacity))}.lg\:divide-yellow-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(217,119,6,var(--tw-divide-opacity))}.lg\:divide-yellow-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(180,83,9,var(--tw-divide-opacity))}.lg\:divide-yellow-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(146,64,14,var(--tw-divide-opacity))}.lg\:divide-yellow-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(120,53,15,var(--tw-divide-opacity))}.lg\:divide-green-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,253,245,var(--tw-divide-opacity))}.lg\:divide-green-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,250,229,var(--tw-divide-opacity))}.lg\:divide-green-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,243,208,var(--tw-divide-opacity))}.lg\:divide-green-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(110,231,183,var(--tw-divide-opacity))}.lg\:divide-green-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(52,211,153,var(--tw-divide-opacity))}.lg\:divide-green-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(16,185,129,var(--tw-divide-opacity))}.lg\:divide-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(5,150,105,var(--tw-divide-opacity))}.lg\:divide-green-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(4,120,87,var(--tw-divide-opacity))}.lg\:divide-green-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,95,70,var(--tw-divide-opacity))}.lg\:divide-green-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,78,59,var(--tw-divide-opacity))}.lg\:divide-blue-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,246,255,var(--tw-divide-opacity))}.lg\:divide-blue-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,234,254,var(--tw-divide-opacity))}.lg\:divide-blue-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(191,219,254,var(--tw-divide-opacity))}.lg\:divide-blue-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(147,197,253,var(--tw-divide-opacity))}.lg\:divide-blue-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(96,165,250,var(--tw-divide-opacity))}.lg\:divide-blue-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(59,130,246,var(--tw-divide-opacity))}.lg\:divide-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(37,99,235,var(--tw-divide-opacity))}.lg\:divide-blue-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(29,78,216,var(--tw-divide-opacity))}.lg\:divide-blue-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,64,175,var(--tw-divide-opacity))}.lg\:divide-blue-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,58,138,var(--tw-divide-opacity))}.lg\:divide-indigo-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(238,242,255,var(--tw-divide-opacity))}.lg\:divide-indigo-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(224,231,255,var(--tw-divide-opacity))}.lg\:divide-indigo-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(199,210,254,var(--tw-divide-opacity))}.lg\:divide-indigo-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(165,180,252,var(--tw-divide-opacity))}.lg\:divide-indigo-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(129,140,248,var(--tw-divide-opacity))}.lg\:divide-indigo-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(99,102,241,var(--tw-divide-opacity))}.lg\:divide-indigo-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(79,70,229,var(--tw-divide-opacity))}.lg\:divide-indigo-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(67,56,202,var(--tw-divide-opacity))}.lg\:divide-indigo-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,48,163,var(--tw-divide-opacity))}.lg\:divide-indigo-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(49,46,129,var(--tw-divide-opacity))}.lg\:divide-purple-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,243,255,var(--tw-divide-opacity))}.lg\:divide-purple-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(237,233,254,var(--tw-divide-opacity))}.lg\:divide-purple-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(221,214,254,var(--tw-divide-opacity))}.lg\:divide-purple-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(196,181,253,var(--tw-divide-opacity))}.lg\:divide-purple-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,139,250,var(--tw-divide-opacity))}.lg\:divide-purple-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(139,92,246,var(--tw-divide-opacity))}.lg\:divide-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(124,58,237,var(--tw-divide-opacity))}.lg\:divide-purple-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(109,40,217,var(--tw-divide-opacity))}.lg\:divide-purple-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(91,33,182,var(--tw-divide-opacity))}.lg\:divide-purple-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(76,29,149,var(--tw-divide-opacity))}.lg\:divide-pink-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,242,248,var(--tw-divide-opacity))}.lg\:divide-pink-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,231,243,var(--tw-divide-opacity))}.lg\:divide-pink-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,207,232,var(--tw-divide-opacity))}.lg\:divide-pink-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,168,212,var(--tw-divide-opacity))}.lg\:divide-pink-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(244,114,182,var(--tw-divide-opacity))}.lg\:divide-pink-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,72,153,var(--tw-divide-opacity))}.lg\:divide-pink-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,39,119,var(--tw-divide-opacity))}.lg\:divide-pink-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(190,24,93,var(--tw-divide-opacity))}.lg\:divide-pink-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(157,23,77,var(--tw-divide-opacity))}.lg\:divide-pink-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(131,24,67,var(--tw-divide-opacity))}.lg\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.lg\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.lg\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.lg\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.lg\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.lg\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.lg\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.lg\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.lg\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.lg\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.lg\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.lg\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.lg\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.lg\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.lg\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}.lg\:place-self-auto{place-self:auto}.lg\:place-self-start{place-self:start}.lg\:place-self-end{place-self:end}.lg\:place-self-center{place-self:center}.lg\:place-self-stretch{place-self:stretch}.lg\:self-auto{align-self:auto}.lg\:self-start{align-self:flex-start}.lg\:self-end{align-self:flex-end}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}.lg\:self-baseline{align-self:baseline}.lg\:justify-self-auto{justify-self:auto}.lg\:justify-self-start{justify-self:start}.lg\:justify-self-end{justify-self:end}.lg\:justify-self-center{justify-self:center}.lg\:justify-self-stretch{justify-self:stretch}.lg\:overflow-auto{overflow:auto}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-visible{overflow:visible}.lg\:overflow-scroll{overflow:scroll}.lg\:overflow-x-auto{overflow-x:auto}.lg\:overflow-y-auto{overflow-y:auto}.lg\:overflow-x-hidden{overflow-x:hidden}.lg\:overflow-y-hidden{overflow-y:hidden}.lg\:overflow-x-visible{overflow-x:visible}.lg\:overflow-y-visible{overflow-y:visible}.lg\:overflow-x-scroll{overflow-x:scroll}.lg\:overflow-y-scroll{overflow-y:scroll}.lg\:overscroll-auto{overscroll-behavior:auto}.lg\:overscroll-contain{overscroll-behavior:contain}.lg\:overscroll-none{overscroll-behavior:none}.lg\:overscroll-y-auto{overscroll-behavior-y:auto}.lg\:overscroll-y-contain{overscroll-behavior-y:contain}.lg\:overscroll-y-none{overscroll-behavior-y:none}.lg\:overscroll-x-auto{overscroll-behavior-x:auto}.lg\:overscroll-x-contain{overscroll-behavior-x:contain}.lg\:overscroll-x-none{overscroll-behavior-x:none}.lg\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg\:overflow-ellipsis{text-overflow:ellipsis}.lg\:overflow-clip{text-overflow:clip}.lg\:whitespace-normal{white-space:normal}.lg\:whitespace-nowrap{white-space:nowrap}.lg\:whitespace-pre{white-space:pre}.lg\:whitespace-pre-line{white-space:pre-line}.lg\:whitespace-pre-wrap{white-space:pre-wrap}.lg\:break-normal{overflow-wrap:normal;word-break:normal}.lg\:break-words{overflow-wrap:break-word}.lg\:break-all{word-break:break-all}.lg\:rounded-none{border-radius:0}.lg\:rounded-sm{border-radius:.125rem}.lg\:rounded{border-radius:.25rem}.lg\:rounded-md{border-radius:.375rem}.lg\:rounded-lg{border-radius:.5rem}.lg\:rounded-xl{border-radius:.75rem}.lg\:rounded-2xl{border-radius:1rem}.lg\:rounded-3xl{border-radius:1.5rem}.lg\:rounded-full{border-radius:9999px}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.lg\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.lg\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.lg\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.lg\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.lg\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.lg\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.lg\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.lg\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.lg\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.lg\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.lg\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.lg\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.lg\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.lg\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.lg\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.lg\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.lg\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.lg\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.lg\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.lg\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.lg\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.lg\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.lg\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.lg\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.lg\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.lg\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.lg\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-tl-none{border-top-left-radius:0}.lg\:rounded-tl-sm{border-top-left-radius:.125rem}.lg\:rounded-tl{border-top-left-radius:.25rem}.lg\:rounded-tl-md{border-top-left-radius:.375rem}.lg\:rounded-tl-lg{border-top-left-radius:.5rem}.lg\:rounded-tl-xl{border-top-left-radius:.75rem}.lg\:rounded-tl-2xl{border-top-left-radius:1rem}.lg\:rounded-tl-3xl{border-top-left-radius:1.5rem}.lg\:rounded-tl-full{border-top-left-radius:9999px}.lg\:rounded-tr-none{border-top-right-radius:0}.lg\:rounded-tr-sm{border-top-right-radius:.125rem}.lg\:rounded-tr{border-top-right-radius:.25rem}.lg\:rounded-tr-md{border-top-right-radius:.375rem}.lg\:rounded-tr-lg{border-top-right-radius:.5rem}.lg\:rounded-tr-xl{border-top-right-radius:.75rem}.lg\:rounded-tr-2xl{border-top-right-radius:1rem}.lg\:rounded-tr-3xl{border-top-right-radius:1.5rem}.lg\:rounded-tr-full{border-top-right-radius:9999px}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:rounded-br-sm{border-bottom-right-radius:.125rem}.lg\:rounded-br{border-bottom-right-radius:.25rem}.lg\:rounded-br-md{border-bottom-right-radius:.375rem}.lg\:rounded-br-lg{border-bottom-right-radius:.5rem}.lg\:rounded-br-xl{border-bottom-right-radius:.75rem}.lg\:rounded-br-2xl{border-bottom-right-radius:1rem}.lg\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.lg\:rounded-br-full{border-bottom-right-radius:9999px}.lg\:rounded-bl-none{border-bottom-left-radius:0}.lg\:rounded-bl-sm{border-bottom-left-radius:.125rem}.lg\:rounded-bl{border-bottom-left-radius:.25rem}.lg\:rounded-bl-md{border-bottom-left-radius:.375rem}.lg\:rounded-bl-lg{border-bottom-left-radius:.5rem}.lg\:rounded-bl-xl{border-bottom-left-radius:.75rem}.lg\:rounded-bl-2xl{border-bottom-left-radius:1rem}.lg\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.lg\:rounded-bl-full{border-bottom-left-radius:9999px}.lg\:border-0{border-width:0}.lg\:border-2{border-width:2px}.lg\:border-4{border-width:4px}.lg\:border-8{border-width:8px}.lg\:border{border-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:border-t-2{border-top-width:2px}.lg\:border-t-4{border-top-width:4px}.lg\:border-t-8{border-top-width:8px}.lg\:border-t{border-top-width:1px}.lg\:border-r-0{border-right-width:0}.lg\:border-r-2{border-right-width:2px}.lg\:border-r-4{border-right-width:4px}.lg\:border-r-8{border-right-width:8px}.lg\:border-r{border-right-width:1px}.lg\:border-b-0{border-bottom-width:0}.lg\:border-b-2{border-bottom-width:2px}.lg\:border-b-4{border-bottom-width:4px}.lg\:border-b-8{border-bottom-width:8px}.lg\:border-b{border-bottom-width:1px}.lg\:border-l-0{border-left-width:0}.lg\:border-l-2{border-left-width:2px}.lg\:border-l-4{border-left-width:4px}.lg\:border-l-8{border-left-width:8px}.lg\:border-l{border-left-width:1px}.lg\:border-solid{border-style:solid}.lg\:border-dashed{border-style:dashed}.lg\:border-dotted{border-style:dotted}.lg\:border-double{border-style:double}.lg\:border-none{border-style:none}.lg\:border-transparent{border-color:transparent}.lg\:border-current{border-color:currentColor}.lg\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.lg\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.lg\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.lg\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.lg\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.lg\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.lg\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.lg\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.lg\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.lg\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.lg\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.lg\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.lg\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.lg\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.lg\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.lg\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.lg\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.lg\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.lg\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.lg\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.lg\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.lg\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.lg\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.lg\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.lg\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.lg\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.lg\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.lg\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.lg\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.lg\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.lg\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.lg\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.lg\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.lg\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.lg\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.lg\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.lg\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.lg\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.lg\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.lg\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.lg\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.lg\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.lg\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.lg\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.lg\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.lg\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.lg\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.lg\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.lg\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.lg\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.lg\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.lg\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.lg\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.lg\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.lg\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.lg\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.lg\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.lg\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.lg\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.lg\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.lg\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.lg\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.lg\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.lg\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.lg\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.lg\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.lg\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.lg\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.lg\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.lg\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.lg\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.lg\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.lg\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.lg\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.lg\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.lg\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.lg\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.lg\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.lg\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.lg\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.lg\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.lg\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-transparent{border-color:transparent}.group:hover .lg\:group-hover\:border-current{border-color:currentColor}.group:hover .lg\:group-hover\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.group:hover .lg\:group-hover\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.lg\:focus-within\:border-transparent:focus-within{border-color:transparent}.lg\:focus-within\:border-current:focus-within{border-color:currentColor}.lg\:focus-within\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.lg\:focus-within\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-50:focus-within{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-100:focus-within{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-200:focus-within{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-300:focus-within{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-400:focus-within{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-500:focus-within{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-600:focus-within{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-700:focus-within{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-800:focus-within{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.lg\:focus-within\:border-gray-900:focus-within{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.lg\:focus-within\:border-red-50:focus-within{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.lg\:focus-within\:border-red-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.lg\:focus-within\:border-red-200:focus-within{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.lg\:focus-within\:border-red-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.lg\:focus-within\:border-red-400:focus-within{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.lg\:focus-within\:border-red-500:focus-within{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.lg\:focus-within\:border-red-600:focus-within{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.lg\:focus-within\:border-red-700:focus-within{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.lg\:focus-within\:border-red-800:focus-within{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.lg\:focus-within\:border-red-900:focus-within{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-50:focus-within{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-200:focus-within{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-400:focus-within{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-500:focus-within{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-600:focus-within{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-700:focus-within{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-800:focus-within{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.lg\:focus-within\:border-yellow-900:focus-within{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.lg\:focus-within\:border-green-50:focus-within{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.lg\:focus-within\:border-green-100:focus-within{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.lg\:focus-within\:border-green-200:focus-within{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.lg\:focus-within\:border-green-300:focus-within{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.lg\:focus-within\:border-green-400:focus-within{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.lg\:focus-within\:border-green-500:focus-within{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.lg\:focus-within\:border-green-600:focus-within{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.lg\:focus-within\:border-green-700:focus-within{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.lg\:focus-within\:border-green-800:focus-within{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.lg\:focus-within\:border-green-900:focus-within{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-50:focus-within{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-100:focus-within{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-200:focus-within{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-300:focus-within{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-400:focus-within{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-600:focus-within{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-700:focus-within{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-800:focus-within{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.lg\:focus-within\:border-blue-900:focus-within{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-50:focus-within{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-100:focus-within{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-200:focus-within{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-300:focus-within{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-400:focus-within{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-500:focus-within{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-600:focus-within{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-700:focus-within{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-800:focus-within{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.lg\:focus-within\:border-indigo-900:focus-within{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-50:focus-within{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-100:focus-within{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-200:focus-within{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-300:focus-within{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-400:focus-within{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-500:focus-within{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-600:focus-within{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-700:focus-within{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-800:focus-within{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.lg\:focus-within\:border-purple-900:focus-within{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-50:focus-within{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-100:focus-within{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-200:focus-within{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-300:focus-within{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-400:focus-within{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-500:focus-within{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-600:focus-within{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-700:focus-within{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-800:focus-within{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.lg\:focus-within\:border-pink-900:focus-within{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.lg\:hover\:border-transparent:hover{border-color:transparent}.lg\:hover\:border-current:hover{border-color:currentColor}.lg\:hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.lg\:hover\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.lg\:hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.lg\:hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.lg\:hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.lg\:hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.lg\:hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.lg\:hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.lg\:hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.lg\:hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.lg\:hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.lg\:hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.lg\:hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.lg\:hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.lg\:hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.lg\:hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.lg\:hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.lg\:hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.lg\:hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.lg\:hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.lg\:hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.lg\:hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.lg\:hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.lg\:hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.lg\:hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.lg\:hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.lg\:hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.lg\:hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.lg\:hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.lg\:hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.lg\:hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.lg\:hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.lg\:hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.lg\:hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.lg\:hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.lg\:hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.lg\:hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.lg\:hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.lg\:hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.lg\:hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.lg\:hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.lg\:hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.lg\:hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.lg\:hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.lg\:hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.lg\:hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.lg\:hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.lg\:hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.lg\:hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.lg\:hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.lg\:hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.lg\:hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.lg\:hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.lg\:hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.lg\:hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.lg\:hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.lg\:hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.lg\:hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.lg\:hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.lg\:hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.lg\:hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.lg\:hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.lg\:hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.lg\:hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.lg\:hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.lg\:hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.lg\:hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.lg\:hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.lg\:hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.lg\:hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.lg\:hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.lg\:hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.lg\:hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.lg\:hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.lg\:hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.lg\:hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.lg\:hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.lg\:hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.lg\:hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.lg\:hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.lg\:hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.lg\:hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.lg\:focus\:border-transparent:focus{border-color:transparent}.lg\:focus\:border-current:focus{border-color:currentColor}.lg\:focus\:border-black:focus{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.lg\:focus\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.lg\:focus\:border-gray-50:focus{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.lg\:focus\:border-gray-100:focus{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.lg\:focus\:border-gray-200:focus{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.lg\:focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.lg\:focus\:border-gray-400:focus{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.lg\:focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.lg\:focus\:border-gray-600:focus{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.lg\:focus\:border-gray-700:focus{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.lg\:focus\:border-gray-800:focus{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.lg\:focus\:border-gray-900:focus{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.lg\:focus\:border-red-50:focus{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.lg\:focus\:border-red-100:focus{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.lg\:focus\:border-red-200:focus{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.lg\:focus\:border-red-300:focus{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.lg\:focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.lg\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.lg\:focus\:border-red-600:focus{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.lg\:focus\:border-red-700:focus{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.lg\:focus\:border-red-800:focus{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.lg\:focus\:border-red-900:focus{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.lg\:focus\:border-yellow-50:focus{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.lg\:focus\:border-yellow-100:focus{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.lg\:focus\:border-yellow-200:focus{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.lg\:focus\:border-yellow-300:focus{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.lg\:focus\:border-yellow-400:focus{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.lg\:focus\:border-yellow-500:focus{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.lg\:focus\:border-yellow-600:focus{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.lg\:focus\:border-yellow-700:focus{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.lg\:focus\:border-yellow-800:focus{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.lg\:focus\:border-yellow-900:focus{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.lg\:focus\:border-green-50:focus{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.lg\:focus\:border-green-100:focus{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.lg\:focus\:border-green-200:focus{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.lg\:focus\:border-green-300:focus{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.lg\:focus\:border-green-400:focus{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.lg\:focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.lg\:focus\:border-green-600:focus{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.lg\:focus\:border-green-700:focus{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.lg\:focus\:border-green-800:focus{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.lg\:focus\:border-green-900:focus{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.lg\:focus\:border-blue-50:focus{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.lg\:focus\:border-blue-100:focus{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.lg\:focus\:border-blue-200:focus{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.lg\:focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.lg\:focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.lg\:focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.lg\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.lg\:focus\:border-blue-700:focus{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.lg\:focus\:border-blue-800:focus{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.lg\:focus\:border-blue-900:focus{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.lg\:focus\:border-indigo-50:focus{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.lg\:focus\:border-indigo-100:focus{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.lg\:focus\:border-indigo-200:focus{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.lg\:focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.lg\:focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.lg\:focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.lg\:focus\:border-indigo-600:focus{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.lg\:focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.lg\:focus\:border-indigo-800:focus{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.lg\:focus\:border-indigo-900:focus{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.lg\:focus\:border-purple-50:focus{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.lg\:focus\:border-purple-100:focus{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.lg\:focus\:border-purple-200:focus{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.lg\:focus\:border-purple-300:focus{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.lg\:focus\:border-purple-400:focus{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.lg\:focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.lg\:focus\:border-purple-600:focus{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.lg\:focus\:border-purple-700:focus{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.lg\:focus\:border-purple-800:focus{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.lg\:focus\:border-purple-900:focus{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.lg\:focus\:border-pink-50:focus{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.lg\:focus\:border-pink-100:focus{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.lg\:focus\:border-pink-200:focus{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.lg\:focus\:border-pink-300:focus{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.lg\:focus\:border-pink-400:focus{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.lg\:focus\:border-pink-500:focus{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.lg\:focus\:border-pink-600:focus{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.lg\:focus\:border-pink-700:focus{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.lg\:focus\:border-pink-800:focus{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.lg\:focus\:border-pink-900:focus{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.lg\:border-opacity-0{--tw-border-opacity:0}.lg\:border-opacity-5{--tw-border-opacity:0.05}.lg\:border-opacity-10{--tw-border-opacity:0.1}.lg\:border-opacity-20{--tw-border-opacity:0.2}.lg\:border-opacity-25{--tw-border-opacity:0.25}.lg\:border-opacity-30{--tw-border-opacity:0.3}.lg\:border-opacity-40{--tw-border-opacity:0.4}.lg\:border-opacity-50{--tw-border-opacity:0.5}.lg\:border-opacity-60{--tw-border-opacity:0.6}.lg\:border-opacity-70{--tw-border-opacity:0.7}.lg\:border-opacity-75{--tw-border-opacity:0.75}.lg\:border-opacity-80{--tw-border-opacity:0.8}.lg\:border-opacity-90{--tw-border-opacity:0.9}.lg\:border-opacity-95{--tw-border-opacity:0.95}.lg\:border-opacity-100{--tw-border-opacity:1}.group:hover .lg\:group-hover\:border-opacity-0{--tw-border-opacity:0}.group:hover .lg\:group-hover\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .lg\:group-hover\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .lg\:group-hover\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .lg\:group-hover\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .lg\:group-hover\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .lg\:group-hover\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .lg\:group-hover\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .lg\:group-hover\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .lg\:group-hover\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .lg\:group-hover\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .lg\:group-hover\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .lg\:group-hover\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .lg\:group-hover\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .lg\:group-hover\:border-opacity-100{--tw-border-opacity:1}.lg\:focus-within\:border-opacity-0:focus-within{--tw-border-opacity:0}.lg\:focus-within\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.lg\:focus-within\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.lg\:focus-within\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.lg\:focus-within\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.lg\:focus-within\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.lg\:focus-within\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.lg\:focus-within\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.lg\:focus-within\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.lg\:focus-within\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.lg\:focus-within\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.lg\:focus-within\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.lg\:focus-within\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.lg\:focus-within\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.lg\:focus-within\:border-opacity-100:focus-within{--tw-border-opacity:1}.lg\:hover\:border-opacity-0:hover{--tw-border-opacity:0}.lg\:hover\:border-opacity-5:hover{--tw-border-opacity:0.05}.lg\:hover\:border-opacity-10:hover{--tw-border-opacity:0.1}.lg\:hover\:border-opacity-20:hover{--tw-border-opacity:0.2}.lg\:hover\:border-opacity-25:hover{--tw-border-opacity:0.25}.lg\:hover\:border-opacity-30:hover{--tw-border-opacity:0.3}.lg\:hover\:border-opacity-40:hover{--tw-border-opacity:0.4}.lg\:hover\:border-opacity-50:hover{--tw-border-opacity:0.5}.lg\:hover\:border-opacity-60:hover{--tw-border-opacity:0.6}.lg\:hover\:border-opacity-70:hover{--tw-border-opacity:0.7}.lg\:hover\:border-opacity-75:hover{--tw-border-opacity:0.75}.lg\:hover\:border-opacity-80:hover{--tw-border-opacity:0.8}.lg\:hover\:border-opacity-90:hover{--tw-border-opacity:0.9}.lg\:hover\:border-opacity-95:hover{--tw-border-opacity:0.95}.lg\:hover\:border-opacity-100:hover{--tw-border-opacity:1}.lg\:focus\:border-opacity-0:focus{--tw-border-opacity:0}.lg\:focus\:border-opacity-5:focus{--tw-border-opacity:0.05}.lg\:focus\:border-opacity-10:focus{--tw-border-opacity:0.1}.lg\:focus\:border-opacity-20:focus{--tw-border-opacity:0.2}.lg\:focus\:border-opacity-25:focus{--tw-border-opacity:0.25}.lg\:focus\:border-opacity-30:focus{--tw-border-opacity:0.3}.lg\:focus\:border-opacity-40:focus{--tw-border-opacity:0.4}.lg\:focus\:border-opacity-50:focus{--tw-border-opacity:0.5}.lg\:focus\:border-opacity-60:focus{--tw-border-opacity:0.6}.lg\:focus\:border-opacity-70:focus{--tw-border-opacity:0.7}.lg\:focus\:border-opacity-75:focus{--tw-border-opacity:0.75}.lg\:focus\:border-opacity-80:focus{--tw-border-opacity:0.8}.lg\:focus\:border-opacity-90:focus{--tw-border-opacity:0.9}.lg\:focus\:border-opacity-95:focus{--tw-border-opacity:0.95}.lg\:focus\:border-opacity-100:focus{--tw-border-opacity:1}.lg\:bg-transparent{background-color:transparent}.lg\:bg-current{background-color:currentColor}.lg\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.lg\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.lg\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.lg\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.lg\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.lg\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.lg\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.lg\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.lg\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.lg\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.lg\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.lg\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.lg\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.lg\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.lg\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.lg\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.lg\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.lg\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.lg\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.lg\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.lg\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.lg\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.lg\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.lg\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.lg\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.lg\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.lg\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.lg\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.lg\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.lg\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.lg\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.lg\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.lg\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.lg\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.lg\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.lg\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.lg\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.lg\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.lg\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.lg\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.lg\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.lg\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.lg\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.lg\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.lg\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.lg\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.lg\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.lg\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.lg\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.lg\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.lg\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.lg\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.lg\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.lg\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.lg\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.lg\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.lg\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.lg\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.lg\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.lg\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.lg\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.lg\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.lg\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.lg\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.lg\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.lg\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.lg\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.lg\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.lg\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.lg\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.lg\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.lg\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.lg\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.lg\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.lg\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.lg\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.lg\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.lg\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.lg\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.lg\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.lg\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.lg\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-transparent{background-color:transparent}.group:hover .lg\:group-hover\:bg-current{background-color:currentColor}.group:hover .lg\:group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.group:hover .lg\:group-hover\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.lg\:focus-within\:bg-transparent:focus-within{background-color:transparent}.lg\:focus-within\:bg-current:focus-within{background-color:currentColor}.lg\:focus-within\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.lg\:focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-100:focus-within{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-200:focus-within{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-300:focus-within{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-400:focus-within{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-500:focus-within{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-600:focus-within{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-700:focus-within{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-800:focus-within{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.lg\:focus-within\:bg-gray-900:focus-within{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-50:focus-within{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-200:focus-within{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-400:focus-within{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-500:focus-within{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-600:focus-within{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-700:focus-within{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-800:focus-within{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.lg\:focus-within\:bg-red-900:focus-within{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-50:focus-within{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-200:focus-within{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-400:focus-within{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-500:focus-within{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-600:focus-within{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-700:focus-within{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-800:focus-within{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.lg\:focus-within\:bg-yellow-900:focus-within{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-50:focus-within{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-100:focus-within{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-200:focus-within{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-300:focus-within{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-400:focus-within{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-500:focus-within{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-600:focus-within{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-700:focus-within{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-800:focus-within{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.lg\:focus-within\:bg-green-900:focus-within{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-50:focus-within{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-100:focus-within{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-200:focus-within{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-300:focus-within{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-400:focus-within{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-500:focus-within{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-600:focus-within{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-700:focus-within{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-800:focus-within{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.lg\:focus-within\:bg-blue-900:focus-within{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-50:focus-within{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-100:focus-within{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-200:focus-within{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-300:focus-within{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-400:focus-within{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-500:focus-within{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-600:focus-within{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-700:focus-within{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-800:focus-within{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.lg\:focus-within\:bg-indigo-900:focus-within{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-50:focus-within{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-100:focus-within{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-200:focus-within{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-300:focus-within{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-400:focus-within{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-500:focus-within{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-600:focus-within{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-700:focus-within{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-800:focus-within{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.lg\:focus-within\:bg-purple-900:focus-within{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-50:focus-within{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-100:focus-within{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-200:focus-within{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-300:focus-within{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-400:focus-within{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-500:focus-within{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-600:focus-within{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-700:focus-within{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-800:focus-within{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.lg\:focus-within\:bg-pink-900:focus-within{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.lg\:hover\:bg-transparent:hover{background-color:transparent}.lg\:hover\:bg-current:hover{background-color:currentColor}.lg\:hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.lg\:hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.lg\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.lg\:hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.lg\:hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.lg\:hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.lg\:hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.lg\:hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.lg\:hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.lg\:hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.lg\:hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.lg\:hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.lg\:hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.lg\:hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.lg\:hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.lg\:hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.lg\:hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.lg\:hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.lg\:hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.lg\:hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.lg\:hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.lg\:hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.lg\:hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.lg\:hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.lg\:hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.lg\:hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.lg\:hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.lg\:hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.lg\:focus\:bg-transparent:focus{background-color:transparent}.lg\:focus\:bg-current:focus{background-color:currentColor}.lg\:focus\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.lg\:focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-300:focus{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-400:focus{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-500:focus{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-600:focus{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.lg\:focus\:bg-gray-900:focus{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.lg\:focus\:bg-red-50:focus{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.lg\:focus\:bg-red-100:focus{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.lg\:focus\:bg-red-200:focus{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.lg\:focus\:bg-red-300:focus{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.lg\:focus\:bg-red-400:focus{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.lg\:focus\:bg-red-500:focus{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.lg\:focus\:bg-red-600:focus{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.lg\:focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.lg\:focus\:bg-red-800:focus{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.lg\:focus\:bg-red-900:focus{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-50:focus{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-100:focus{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-200:focus{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-300:focus{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-400:focus{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-500:focus{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-600:focus{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-700:focus{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-800:focus{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.lg\:focus\:bg-yellow-900:focus{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.lg\:focus\:bg-green-50:focus{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.lg\:focus\:bg-green-100:focus{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.lg\:focus\:bg-green-200:focus{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.lg\:focus\:bg-green-300:focus{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.lg\:focus\:bg-green-400:focus{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.lg\:focus\:bg-green-500:focus{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.lg\:focus\:bg-green-600:focus{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.lg\:focus\:bg-green-700:focus{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.lg\:focus\:bg-green-800:focus{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.lg\:focus\:bg-green-900:focus{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-50:focus{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-100:focus{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-200:focus{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-300:focus{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-400:focus{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-500:focus{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-600:focus{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-700:focus{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-800:focus{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.lg\:focus\:bg-blue-900:focus{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-50:focus{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-200:focus{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-300:focus{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-400:focus{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-500:focus{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-600:focus{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-800:focus{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.lg\:focus\:bg-indigo-900:focus{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-50:focus{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-100:focus{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-200:focus{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-300:focus{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-400:focus{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-500:focus{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-600:focus{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-700:focus{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-800:focus{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.lg\:focus\:bg-purple-900:focus{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-50:focus{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-100:focus{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-200:focus{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-300:focus{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-400:focus{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-500:focus{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-600:focus{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-700:focus{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-800:focus{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.lg\:focus\:bg-pink-900:focus{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.lg\:bg-opacity-0{--tw-bg-opacity:0}.lg\:bg-opacity-5{--tw-bg-opacity:0.05}.lg\:bg-opacity-10{--tw-bg-opacity:0.1}.lg\:bg-opacity-20{--tw-bg-opacity:0.2}.lg\:bg-opacity-25{--tw-bg-opacity:0.25}.lg\:bg-opacity-30{--tw-bg-opacity:0.3}.lg\:bg-opacity-40{--tw-bg-opacity:0.4}.lg\:bg-opacity-50{--tw-bg-opacity:0.5}.lg\:bg-opacity-60{--tw-bg-opacity:0.6}.lg\:bg-opacity-70{--tw-bg-opacity:0.7}.lg\:bg-opacity-75{--tw-bg-opacity:0.75}.lg\:bg-opacity-80{--tw-bg-opacity:0.8}.lg\:bg-opacity-90{--tw-bg-opacity:0.9}.lg\:bg-opacity-95{--tw-bg-opacity:0.95}.lg\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .lg\:group-hover\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .lg\:group-hover\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .lg\:group-hover\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .lg\:group-hover\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .lg\:group-hover\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .lg\:group-hover\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .lg\:group-hover\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .lg\:group-hover\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .lg\:group-hover\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .lg\:group-hover\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .lg\:group-hover\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .lg\:group-hover\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .lg\:group-hover\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .lg\:group-hover\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .lg\:group-hover\:bg-opacity-100{--tw-bg-opacity:1}.lg\:focus-within\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.lg\:focus-within\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.lg\:focus-within\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.lg\:focus-within\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.lg\:focus-within\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.lg\:focus-within\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.lg\:focus-within\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.lg\:focus-within\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.lg\:focus-within\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.lg\:focus-within\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.lg\:focus-within\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.lg\:focus-within\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.lg\:focus-within\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.lg\:focus-within\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.lg\:focus-within\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.lg\:hover\:bg-opacity-0:hover{--tw-bg-opacity:0}.lg\:hover\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.lg\:hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.lg\:hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.lg\:hover\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.lg\:hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.lg\:hover\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.lg\:hover\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.lg\:hover\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.lg\:hover\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.lg\:hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.lg\:hover\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.lg\:hover\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.lg\:hover\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.lg\:hover\:bg-opacity-100:hover{--tw-bg-opacity:1}.lg\:focus\:bg-opacity-0:focus{--tw-bg-opacity:0}.lg\:focus\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.lg\:focus\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.lg\:focus\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.lg\:focus\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.lg\:focus\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.lg\:focus\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.lg\:focus\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.lg\:focus\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.lg\:focus\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.lg\:focus\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.lg\:focus\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.lg\:focus\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.lg\:focus\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.lg\:focus\:bg-opacity-100:focus{--tw-bg-opacity:1}.lg\:bg-none{background-image:none}.lg\:bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.lg\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.lg\:bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lg\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lg\:bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.lg\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.lg\:bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.lg\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.lg\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:from-black{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.lg\:from-gray-100{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.lg\:from-gray-200{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.lg\:from-gray-300{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.lg\:from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.lg\:from-gray-500{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.lg\:from-gray-600{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.lg\:from-gray-700{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.lg\:from-gray-800{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.lg\:from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.lg\:from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.lg\:from-red-100{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.lg\:from-red-200{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.lg\:from-red-300{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.lg\:from-red-400{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.lg\:from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.lg\:from-red-600{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.lg\:from-red-700{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.lg\:from-red-800{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.lg\:from-red-900{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.lg\:from-yellow-50{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.lg\:from-yellow-100{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.lg\:from-yellow-200{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.lg\:from-yellow-300{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.lg\:from-yellow-400{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.lg\:from-yellow-500{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.lg\:from-yellow-600{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.lg\:from-yellow-700{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.lg\:from-yellow-800{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.lg\:from-yellow-900{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.lg\:from-green-50{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.lg\:from-green-100{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.lg\:from-green-200{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.lg\:from-green-300{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.lg\:from-green-400{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.lg\:from-green-500{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.lg\:from-green-600{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.lg\:from-green-700{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.lg\:from-green-800{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.lg\:from-green-900{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.lg\:from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.lg\:from-blue-100{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.lg\:from-blue-200{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.lg\:from-blue-300{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.lg\:from-blue-400{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.lg\:from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.lg\:from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.lg\:from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.lg\:from-blue-800{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.lg\:from-blue-900{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.lg\:from-indigo-50{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.lg\:from-indigo-100{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.lg\:from-indigo-200{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.lg\:from-indigo-300{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.lg\:from-indigo-400{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.lg\:from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.lg\:from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.lg\:from-indigo-700{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.lg\:from-indigo-800{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.lg\:from-indigo-900{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.lg\:from-purple-50{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.lg\:from-purple-100{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.lg\:from-purple-200{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.lg\:from-purple-300{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.lg\:from-purple-400{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.lg\:from-purple-500{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.lg\:from-purple-600{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.lg\:from-purple-700{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.lg\:from-purple-800{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.lg\:from-purple-900{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.lg\:from-pink-50{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.lg\:from-pink-100{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.lg\:from-pink-200{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.lg\:from-pink-300{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.lg\:from-pink-400{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.lg\:from-pink-500{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.lg\:from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.lg\:from-pink-700{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.lg\:from-pink-800{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.lg\:from-pink-900{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.lg\:hover\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:hover\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:hover\:from-black:hover{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:hover\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:hover\:from-gray-50:hover{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.lg\:hover\:from-gray-100:hover{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.lg\:hover\:from-gray-200:hover{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.lg\:hover\:from-gray-300:hover{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.lg\:hover\:from-gray-400:hover{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.lg\:hover\:from-gray-500:hover{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.lg\:hover\:from-gray-600:hover{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.lg\:hover\:from-gray-700:hover{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.lg\:hover\:from-gray-800:hover{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.lg\:hover\:from-gray-900:hover{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.lg\:hover\:from-red-50:hover{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.lg\:hover\:from-red-100:hover{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.lg\:hover\:from-red-200:hover{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.lg\:hover\:from-red-300:hover{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.lg\:hover\:from-red-400:hover{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.lg\:hover\:from-red-500:hover{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.lg\:hover\:from-red-600:hover{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.lg\:hover\:from-red-700:hover{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.lg\:hover\:from-red-800:hover{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.lg\:hover\:from-red-900:hover{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.lg\:hover\:from-yellow-50:hover{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.lg\:hover\:from-yellow-100:hover{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.lg\:hover\:from-yellow-200:hover{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.lg\:hover\:from-yellow-300:hover{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.lg\:hover\:from-yellow-400:hover{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.lg\:hover\:from-yellow-500:hover{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.lg\:hover\:from-yellow-600:hover{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.lg\:hover\:from-yellow-700:hover{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.lg\:hover\:from-yellow-800:hover{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.lg\:hover\:from-yellow-900:hover{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.lg\:hover\:from-green-50:hover{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.lg\:hover\:from-green-100:hover{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.lg\:hover\:from-green-200:hover{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.lg\:hover\:from-green-300:hover{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.lg\:hover\:from-green-400:hover{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.lg\:hover\:from-green-500:hover{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.lg\:hover\:from-green-600:hover{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.lg\:hover\:from-green-700:hover{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.lg\:hover\:from-green-800:hover{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.lg\:hover\:from-green-900:hover{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.lg\:hover\:from-blue-50:hover{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.lg\:hover\:from-blue-100:hover{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.lg\:hover\:from-blue-200:hover{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.lg\:hover\:from-blue-300:hover{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.lg\:hover\:from-blue-400:hover{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.lg\:hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.lg\:hover\:from-blue-600:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.lg\:hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.lg\:hover\:from-blue-800:hover{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.lg\:hover\:from-blue-900:hover{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.lg\:hover\:from-indigo-50:hover{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.lg\:hover\:from-indigo-100:hover{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.lg\:hover\:from-indigo-200:hover{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.lg\:hover\:from-indigo-300:hover{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.lg\:hover\:from-indigo-400:hover{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.lg\:hover\:from-indigo-500:hover{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.lg\:hover\:from-indigo-600:hover{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.lg\:hover\:from-indigo-700:hover{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.lg\:hover\:from-indigo-800:hover{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.lg\:hover\:from-indigo-900:hover{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.lg\:hover\:from-purple-50:hover{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.lg\:hover\:from-purple-100:hover{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.lg\:hover\:from-purple-200:hover{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.lg\:hover\:from-purple-300:hover{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.lg\:hover\:from-purple-400:hover{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.lg\:hover\:from-purple-500:hover{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.lg\:hover\:from-purple-600:hover{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.lg\:hover\:from-purple-700:hover{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.lg\:hover\:from-purple-800:hover{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.lg\:hover\:from-purple-900:hover{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.lg\:hover\:from-pink-50:hover{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.lg\:hover\:from-pink-100:hover{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.lg\:hover\:from-pink-200:hover{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.lg\:hover\:from-pink-300:hover{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.lg\:hover\:from-pink-400:hover{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.lg\:hover\:from-pink-500:hover{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.lg\:hover\:from-pink-600:hover{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.lg\:hover\:from-pink-700:hover{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.lg\:hover\:from-pink-800:hover{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.lg\:hover\:from-pink-900:hover{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.lg\:focus\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:focus\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:focus\:from-black:focus{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:focus\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:focus\:from-gray-50:focus{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.lg\:focus\:from-gray-100:focus{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.lg\:focus\:from-gray-200:focus{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.lg\:focus\:from-gray-300:focus{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.lg\:focus\:from-gray-400:focus{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.lg\:focus\:from-gray-500:focus{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.lg\:focus\:from-gray-600:focus{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.lg\:focus\:from-gray-700:focus{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.lg\:focus\:from-gray-800:focus{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.lg\:focus\:from-gray-900:focus{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.lg\:focus\:from-red-50:focus{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.lg\:focus\:from-red-100:focus{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.lg\:focus\:from-red-200:focus{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.lg\:focus\:from-red-300:focus{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.lg\:focus\:from-red-400:focus{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.lg\:focus\:from-red-500:focus{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.lg\:focus\:from-red-600:focus{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.lg\:focus\:from-red-700:focus{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.lg\:focus\:from-red-800:focus{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.lg\:focus\:from-red-900:focus{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.lg\:focus\:from-yellow-50:focus{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.lg\:focus\:from-yellow-100:focus{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.lg\:focus\:from-yellow-200:focus{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.lg\:focus\:from-yellow-300:focus{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.lg\:focus\:from-yellow-400:focus{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.lg\:focus\:from-yellow-500:focus{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.lg\:focus\:from-yellow-600:focus{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.lg\:focus\:from-yellow-700:focus{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.lg\:focus\:from-yellow-800:focus{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.lg\:focus\:from-yellow-900:focus{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.lg\:focus\:from-green-50:focus{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.lg\:focus\:from-green-100:focus{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.lg\:focus\:from-green-200:focus{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.lg\:focus\:from-green-300:focus{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.lg\:focus\:from-green-400:focus{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.lg\:focus\:from-green-500:focus{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.lg\:focus\:from-green-600:focus{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.lg\:focus\:from-green-700:focus{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.lg\:focus\:from-green-800:focus{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.lg\:focus\:from-green-900:focus{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.lg\:focus\:from-blue-50:focus{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.lg\:focus\:from-blue-100:focus{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.lg\:focus\:from-blue-200:focus{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.lg\:focus\:from-blue-300:focus{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.lg\:focus\:from-blue-400:focus{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.lg\:focus\:from-blue-500:focus{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.lg\:focus\:from-blue-600:focus{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.lg\:focus\:from-blue-700:focus{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.lg\:focus\:from-blue-800:focus{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.lg\:focus\:from-blue-900:focus{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.lg\:focus\:from-indigo-50:focus{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.lg\:focus\:from-indigo-100:focus{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.lg\:focus\:from-indigo-200:focus{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.lg\:focus\:from-indigo-300:focus{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.lg\:focus\:from-indigo-400:focus{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.lg\:focus\:from-indigo-500:focus{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.lg\:focus\:from-indigo-600:focus{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.lg\:focus\:from-indigo-700:focus{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.lg\:focus\:from-indigo-800:focus{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.lg\:focus\:from-indigo-900:focus{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.lg\:focus\:from-purple-50:focus{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.lg\:focus\:from-purple-100:focus{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.lg\:focus\:from-purple-200:focus{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.lg\:focus\:from-purple-300:focus{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.lg\:focus\:from-purple-400:focus{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.lg\:focus\:from-purple-500:focus{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.lg\:focus\:from-purple-600:focus{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.lg\:focus\:from-purple-700:focus{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.lg\:focus\:from-purple-800:focus{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.lg\:focus\:from-purple-900:focus{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.lg\:focus\:from-pink-50:focus{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.lg\:focus\:from-pink-100:focus{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.lg\:focus\:from-pink-200:focus{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.lg\:focus\:from-pink-300:focus{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.lg\:focus\:from-pink-400:focus{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.lg\:focus\:from-pink-500:focus{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.lg\:focus\:from-pink-600:focus{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.lg\:focus\:from-pink-700:focus{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.lg\:focus\:from-pink-800:focus{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.lg\:focus\:from-pink-900:focus{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.lg\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:via-current{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:via-black{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:via-gray-50{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.lg\:via-gray-100{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.lg\:via-gray-200{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.lg\:via-gray-300{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.lg\:via-gray-400{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.lg\:via-gray-500{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.lg\:via-gray-600{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.lg\:via-gray-700{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.lg\:via-gray-800{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.lg\:via-gray-900{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.lg\:via-red-50{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.lg\:via-red-100{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.lg\:via-red-200{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.lg\:via-red-300{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.lg\:via-red-400{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.lg\:via-red-500{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.lg\:via-red-600{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.lg\:via-red-700{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.lg\:via-red-800{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.lg\:via-red-900{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.lg\:via-yellow-50{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.lg\:via-yellow-100{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.lg\:via-yellow-200{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.lg\:via-yellow-300{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.lg\:via-yellow-400{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.lg\:via-yellow-500{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.lg\:via-yellow-600{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.lg\:via-yellow-700{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.lg\:via-yellow-800{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.lg\:via-yellow-900{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.lg\:via-green-50{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.lg\:via-green-100{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.lg\:via-green-200{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.lg\:via-green-300{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.lg\:via-green-400{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.lg\:via-green-500{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.lg\:via-green-600{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.lg\:via-green-700{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.lg\:via-green-800{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.lg\:via-green-900{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.lg\:via-blue-50{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.lg\:via-blue-100{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.lg\:via-blue-200{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.lg\:via-blue-300{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.lg\:via-blue-400{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.lg\:via-blue-500{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.lg\:via-blue-600{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.lg\:via-blue-700{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.lg\:via-blue-800{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.lg\:via-blue-900{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.lg\:via-indigo-50{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.lg\:via-indigo-100{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.lg\:via-indigo-200{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.lg\:via-indigo-300{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.lg\:via-indigo-400{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.lg\:via-indigo-500{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.lg\:via-indigo-600{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.lg\:via-indigo-700{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.lg\:via-indigo-800{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.lg\:via-indigo-900{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.lg\:via-purple-50{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.lg\:via-purple-100{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.lg\:via-purple-200{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.lg\:via-purple-300{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.lg\:via-purple-400{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.lg\:via-purple-500{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.lg\:via-purple-600{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.lg\:via-purple-700{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.lg\:via-purple-800{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.lg\:via-purple-900{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.lg\:via-pink-50{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.lg\:via-pink-100{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.lg\:via-pink-200{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.lg\:via-pink-300{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.lg\:via-pink-400{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.lg\:via-pink-500{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.lg\:via-pink-600{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.lg\:via-pink-700{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.lg\:via-pink-800{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.lg\:via-pink-900{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.lg\:hover\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:hover\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:hover\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:hover\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:hover\:via-gray-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.lg\:hover\:via-gray-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.lg\:hover\:via-gray-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.lg\:hover\:via-gray-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.lg\:hover\:via-gray-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.lg\:hover\:via-gray-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.lg\:hover\:via-gray-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.lg\:hover\:via-gray-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.lg\:hover\:via-gray-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.lg\:hover\:via-gray-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.lg\:hover\:via-red-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.lg\:hover\:via-red-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.lg\:hover\:via-red-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.lg\:hover\:via-red-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.lg\:hover\:via-red-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.lg\:hover\:via-red-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.lg\:hover\:via-red-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.lg\:hover\:via-red-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.lg\:hover\:via-red-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.lg\:hover\:via-red-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.lg\:hover\:via-yellow-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.lg\:hover\:via-yellow-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.lg\:hover\:via-yellow-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.lg\:hover\:via-yellow-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.lg\:hover\:via-yellow-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.lg\:hover\:via-yellow-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.lg\:hover\:via-yellow-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.lg\:hover\:via-yellow-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.lg\:hover\:via-yellow-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.lg\:hover\:via-yellow-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.lg\:hover\:via-green-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.lg\:hover\:via-green-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.lg\:hover\:via-green-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.lg\:hover\:via-green-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.lg\:hover\:via-green-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.lg\:hover\:via-green-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.lg\:hover\:via-green-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.lg\:hover\:via-green-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.lg\:hover\:via-green-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.lg\:hover\:via-green-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.lg\:hover\:via-blue-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.lg\:hover\:via-blue-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.lg\:hover\:via-blue-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.lg\:hover\:via-blue-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.lg\:hover\:via-blue-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.lg\:hover\:via-blue-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.lg\:hover\:via-blue-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.lg\:hover\:via-blue-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.lg\:hover\:via-blue-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.lg\:hover\:via-blue-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.lg\:hover\:via-indigo-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.lg\:hover\:via-indigo-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.lg\:hover\:via-indigo-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.lg\:hover\:via-indigo-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.lg\:hover\:via-indigo-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.lg\:hover\:via-indigo-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.lg\:hover\:via-indigo-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.lg\:hover\:via-indigo-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.lg\:hover\:via-indigo-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.lg\:hover\:via-indigo-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.lg\:hover\:via-purple-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.lg\:hover\:via-purple-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.lg\:hover\:via-purple-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.lg\:hover\:via-purple-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.lg\:hover\:via-purple-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.lg\:hover\:via-purple-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.lg\:hover\:via-purple-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.lg\:hover\:via-purple-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.lg\:hover\:via-purple-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.lg\:hover\:via-purple-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.lg\:hover\:via-pink-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.lg\:hover\:via-pink-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.lg\:hover\:via-pink-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.lg\:hover\:via-pink-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.lg\:hover\:via-pink-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.lg\:hover\:via-pink-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.lg\:hover\:via-pink-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.lg\:hover\:via-pink-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.lg\:hover\:via-pink-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.lg\:hover\:via-pink-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.lg\:focus\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:focus\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:focus\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.lg\:focus\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.lg\:focus\:via-gray-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.lg\:focus\:via-gray-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.lg\:focus\:via-gray-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.lg\:focus\:via-gray-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.lg\:focus\:via-gray-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.lg\:focus\:via-gray-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.lg\:focus\:via-gray-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.lg\:focus\:via-gray-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.lg\:focus\:via-gray-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.lg\:focus\:via-gray-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.lg\:focus\:via-red-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.lg\:focus\:via-red-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.lg\:focus\:via-red-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.lg\:focus\:via-red-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.lg\:focus\:via-red-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.lg\:focus\:via-red-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.lg\:focus\:via-red-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.lg\:focus\:via-red-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.lg\:focus\:via-red-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.lg\:focus\:via-red-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.lg\:focus\:via-yellow-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.lg\:focus\:via-yellow-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.lg\:focus\:via-yellow-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.lg\:focus\:via-yellow-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.lg\:focus\:via-yellow-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.lg\:focus\:via-yellow-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.lg\:focus\:via-yellow-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.lg\:focus\:via-yellow-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.lg\:focus\:via-yellow-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.lg\:focus\:via-yellow-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.lg\:focus\:via-green-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.lg\:focus\:via-green-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.lg\:focus\:via-green-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.lg\:focus\:via-green-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.lg\:focus\:via-green-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.lg\:focus\:via-green-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.lg\:focus\:via-green-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.lg\:focus\:via-green-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.lg\:focus\:via-green-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.lg\:focus\:via-green-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.lg\:focus\:via-blue-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.lg\:focus\:via-blue-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.lg\:focus\:via-blue-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.lg\:focus\:via-blue-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.lg\:focus\:via-blue-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.lg\:focus\:via-blue-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.lg\:focus\:via-blue-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.lg\:focus\:via-blue-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.lg\:focus\:via-blue-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.lg\:focus\:via-blue-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.lg\:focus\:via-indigo-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.lg\:focus\:via-indigo-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.lg\:focus\:via-indigo-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.lg\:focus\:via-indigo-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.lg\:focus\:via-indigo-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.lg\:focus\:via-indigo-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.lg\:focus\:via-indigo-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.lg\:focus\:via-indigo-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.lg\:focus\:via-indigo-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.lg\:focus\:via-indigo-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.lg\:focus\:via-purple-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.lg\:focus\:via-purple-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.lg\:focus\:via-purple-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.lg\:focus\:via-purple-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.lg\:focus\:via-purple-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.lg\:focus\:via-purple-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.lg\:focus\:via-purple-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.lg\:focus\:via-purple-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.lg\:focus\:via-purple-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.lg\:focus\:via-purple-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.lg\:focus\:via-pink-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.lg\:focus\:via-pink-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.lg\:focus\:via-pink-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.lg\:focus\:via-pink-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.lg\:focus\:via-pink-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.lg\:focus\:via-pink-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.lg\:focus\:via-pink-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.lg\:focus\:via-pink-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.lg\:focus\:via-pink-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.lg\:focus\:via-pink-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.lg\:to-transparent{--tw-gradient-to:transparent}.lg\:to-current{--tw-gradient-to:currentColor}.lg\:to-black{--tw-gradient-to:#000}.lg\:to-white{--tw-gradient-to:#fff}.lg\:to-gray-50{--tw-gradient-to:#f9fafb}.lg\:to-gray-100{--tw-gradient-to:#f3f4f6}.lg\:to-gray-200{--tw-gradient-to:#e5e7eb}.lg\:to-gray-300{--tw-gradient-to:#d1d5db}.lg\:to-gray-400{--tw-gradient-to:#9ca3af}.lg\:to-gray-500{--tw-gradient-to:#6b7280}.lg\:to-gray-600{--tw-gradient-to:#4b5563}.lg\:to-gray-700{--tw-gradient-to:#374151}.lg\:to-gray-800{--tw-gradient-to:#1f2937}.lg\:to-gray-900{--tw-gradient-to:#111827}.lg\:to-red-50{--tw-gradient-to:#fef2f2}.lg\:to-red-100{--tw-gradient-to:#fee2e2}.lg\:to-red-200{--tw-gradient-to:#fecaca}.lg\:to-red-300{--tw-gradient-to:#fca5a5}.lg\:to-red-400{--tw-gradient-to:#f87171}.lg\:to-red-500{--tw-gradient-to:#ef4444}.lg\:to-red-600{--tw-gradient-to:#dc2626}.lg\:to-red-700{--tw-gradient-to:#b91c1c}.lg\:to-red-800{--tw-gradient-to:#991b1b}.lg\:to-red-900{--tw-gradient-to:#7f1d1d}.lg\:to-yellow-50{--tw-gradient-to:#fffbeb}.lg\:to-yellow-100{--tw-gradient-to:#fef3c7}.lg\:to-yellow-200{--tw-gradient-to:#fde68a}.lg\:to-yellow-300{--tw-gradient-to:#fcd34d}.lg\:to-yellow-400{--tw-gradient-to:#fbbf24}.lg\:to-yellow-500{--tw-gradient-to:#f59e0b}.lg\:to-yellow-600{--tw-gradient-to:#d97706}.lg\:to-yellow-700{--tw-gradient-to:#b45309}.lg\:to-yellow-800{--tw-gradient-to:#92400e}.lg\:to-yellow-900{--tw-gradient-to:#78350f}.lg\:to-green-50{--tw-gradient-to:#ecfdf5}.lg\:to-green-100{--tw-gradient-to:#d1fae5}.lg\:to-green-200{--tw-gradient-to:#a7f3d0}.lg\:to-green-300{--tw-gradient-to:#6ee7b7}.lg\:to-green-400{--tw-gradient-to:#34d399}.lg\:to-green-500{--tw-gradient-to:#10b981}.lg\:to-green-600{--tw-gradient-to:#059669}.lg\:to-green-700{--tw-gradient-to:#047857}.lg\:to-green-800{--tw-gradient-to:#065f46}.lg\:to-green-900{--tw-gradient-to:#064e3b}.lg\:to-blue-50{--tw-gradient-to:#eff6ff}.lg\:to-blue-100{--tw-gradient-to:#dbeafe}.lg\:to-blue-200{--tw-gradient-to:#bfdbfe}.lg\:to-blue-300{--tw-gradient-to:#93c5fd}.lg\:to-blue-400{--tw-gradient-to:#60a5fa}.lg\:to-blue-500{--tw-gradient-to:#3b82f6}.lg\:to-blue-600{--tw-gradient-to:#2563eb}.lg\:to-blue-700{--tw-gradient-to:#1d4ed8}.lg\:to-blue-800{--tw-gradient-to:#1e40af}.lg\:to-blue-900{--tw-gradient-to:#1e3a8a}.lg\:to-indigo-50{--tw-gradient-to:#eef2ff}.lg\:to-indigo-100{--tw-gradient-to:#e0e7ff}.lg\:to-indigo-200{--tw-gradient-to:#c7d2fe}.lg\:to-indigo-300{--tw-gradient-to:#a5b4fc}.lg\:to-indigo-400{--tw-gradient-to:#818cf8}.lg\:to-indigo-500{--tw-gradient-to:#6366f1}.lg\:to-indigo-600{--tw-gradient-to:#4f46e5}.lg\:to-indigo-700{--tw-gradient-to:#4338ca}.lg\:to-indigo-800{--tw-gradient-to:#3730a3}.lg\:to-indigo-900{--tw-gradient-to:#312e81}.lg\:to-purple-50{--tw-gradient-to:#f5f3ff}.lg\:to-purple-100{--tw-gradient-to:#ede9fe}.lg\:to-purple-200{--tw-gradient-to:#ddd6fe}.lg\:to-purple-300{--tw-gradient-to:#c4b5fd}.lg\:to-purple-400{--tw-gradient-to:#a78bfa}.lg\:to-purple-500{--tw-gradient-to:#8b5cf6}.lg\:to-purple-600{--tw-gradient-to:#7c3aed}.lg\:to-purple-700{--tw-gradient-to:#6d28d9}.lg\:to-purple-800{--tw-gradient-to:#5b21b6}.lg\:to-purple-900{--tw-gradient-to:#4c1d95}.lg\:to-pink-50{--tw-gradient-to:#fdf2f8}.lg\:to-pink-100{--tw-gradient-to:#fce7f3}.lg\:to-pink-200{--tw-gradient-to:#fbcfe8}.lg\:to-pink-300{--tw-gradient-to:#f9a8d4}.lg\:to-pink-400{--tw-gradient-to:#f472b6}.lg\:to-pink-500{--tw-gradient-to:#ec4899}.lg\:to-pink-600{--tw-gradient-to:#db2777}.lg\:to-pink-700{--tw-gradient-to:#be185d}.lg\:to-pink-800{--tw-gradient-to:#9d174d}.lg\:to-pink-900{--tw-gradient-to:#831843}.lg\:hover\:to-transparent:hover{--tw-gradient-to:transparent}.lg\:hover\:to-current:hover{--tw-gradient-to:currentColor}.lg\:hover\:to-black:hover{--tw-gradient-to:#000}.lg\:hover\:to-white:hover{--tw-gradient-to:#fff}.lg\:hover\:to-gray-50:hover{--tw-gradient-to:#f9fafb}.lg\:hover\:to-gray-100:hover{--tw-gradient-to:#f3f4f6}.lg\:hover\:to-gray-200:hover{--tw-gradient-to:#e5e7eb}.lg\:hover\:to-gray-300:hover{--tw-gradient-to:#d1d5db}.lg\:hover\:to-gray-400:hover{--tw-gradient-to:#9ca3af}.lg\:hover\:to-gray-500:hover{--tw-gradient-to:#6b7280}.lg\:hover\:to-gray-600:hover{--tw-gradient-to:#4b5563}.lg\:hover\:to-gray-700:hover{--tw-gradient-to:#374151}.lg\:hover\:to-gray-800:hover{--tw-gradient-to:#1f2937}.lg\:hover\:to-gray-900:hover{--tw-gradient-to:#111827}.lg\:hover\:to-red-50:hover{--tw-gradient-to:#fef2f2}.lg\:hover\:to-red-100:hover{--tw-gradient-to:#fee2e2}.lg\:hover\:to-red-200:hover{--tw-gradient-to:#fecaca}.lg\:hover\:to-red-300:hover{--tw-gradient-to:#fca5a5}.lg\:hover\:to-red-400:hover{--tw-gradient-to:#f87171}.lg\:hover\:to-red-500:hover{--tw-gradient-to:#ef4444}.lg\:hover\:to-red-600:hover{--tw-gradient-to:#dc2626}.lg\:hover\:to-red-700:hover{--tw-gradient-to:#b91c1c}.lg\:hover\:to-red-800:hover{--tw-gradient-to:#991b1b}.lg\:hover\:to-red-900:hover{--tw-gradient-to:#7f1d1d}.lg\:hover\:to-yellow-50:hover{--tw-gradient-to:#fffbeb}.lg\:hover\:to-yellow-100:hover{--tw-gradient-to:#fef3c7}.lg\:hover\:to-yellow-200:hover{--tw-gradient-to:#fde68a}.lg\:hover\:to-yellow-300:hover{--tw-gradient-to:#fcd34d}.lg\:hover\:to-yellow-400:hover{--tw-gradient-to:#fbbf24}.lg\:hover\:to-yellow-500:hover{--tw-gradient-to:#f59e0b}.lg\:hover\:to-yellow-600:hover{--tw-gradient-to:#d97706}.lg\:hover\:to-yellow-700:hover{--tw-gradient-to:#b45309}.lg\:hover\:to-yellow-800:hover{--tw-gradient-to:#92400e}.lg\:hover\:to-yellow-900:hover{--tw-gradient-to:#78350f}.lg\:hover\:to-green-50:hover{--tw-gradient-to:#ecfdf5}.lg\:hover\:to-green-100:hover{--tw-gradient-to:#d1fae5}.lg\:hover\:to-green-200:hover{--tw-gradient-to:#a7f3d0}.lg\:hover\:to-green-300:hover{--tw-gradient-to:#6ee7b7}.lg\:hover\:to-green-400:hover{--tw-gradient-to:#34d399}.lg\:hover\:to-green-500:hover{--tw-gradient-to:#10b981}.lg\:hover\:to-green-600:hover{--tw-gradient-to:#059669}.lg\:hover\:to-green-700:hover{--tw-gradient-to:#047857}.lg\:hover\:to-green-800:hover{--tw-gradient-to:#065f46}.lg\:hover\:to-green-900:hover{--tw-gradient-to:#064e3b}.lg\:hover\:to-blue-50:hover{--tw-gradient-to:#eff6ff}.lg\:hover\:to-blue-100:hover{--tw-gradient-to:#dbeafe}.lg\:hover\:to-blue-200:hover{--tw-gradient-to:#bfdbfe}.lg\:hover\:to-blue-300:hover{--tw-gradient-to:#93c5fd}.lg\:hover\:to-blue-400:hover{--tw-gradient-to:#60a5fa}.lg\:hover\:to-blue-500:hover{--tw-gradient-to:#3b82f6}.lg\:hover\:to-blue-600:hover{--tw-gradient-to:#2563eb}.lg\:hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8}.lg\:hover\:to-blue-800:hover{--tw-gradient-to:#1e40af}.lg\:hover\:to-blue-900:hover{--tw-gradient-to:#1e3a8a}.lg\:hover\:to-indigo-50:hover{--tw-gradient-to:#eef2ff}.lg\:hover\:to-indigo-100:hover{--tw-gradient-to:#e0e7ff}.lg\:hover\:to-indigo-200:hover{--tw-gradient-to:#c7d2fe}.lg\:hover\:to-indigo-300:hover{--tw-gradient-to:#a5b4fc}.lg\:hover\:to-indigo-400:hover{--tw-gradient-to:#818cf8}.lg\:hover\:to-indigo-500:hover{--tw-gradient-to:#6366f1}.lg\:hover\:to-indigo-600:hover{--tw-gradient-to:#4f46e5}.lg\:hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca}.lg\:hover\:to-indigo-800:hover{--tw-gradient-to:#3730a3}.lg\:hover\:to-indigo-900:hover{--tw-gradient-to:#312e81}.lg\:hover\:to-purple-50:hover{--tw-gradient-to:#f5f3ff}.lg\:hover\:to-purple-100:hover{--tw-gradient-to:#ede9fe}.lg\:hover\:to-purple-200:hover{--tw-gradient-to:#ddd6fe}.lg\:hover\:to-purple-300:hover{--tw-gradient-to:#c4b5fd}.lg\:hover\:to-purple-400:hover{--tw-gradient-to:#a78bfa}.lg\:hover\:to-purple-500:hover{--tw-gradient-to:#8b5cf6}.lg\:hover\:to-purple-600:hover{--tw-gradient-to:#7c3aed}.lg\:hover\:to-purple-700:hover{--tw-gradient-to:#6d28d9}.lg\:hover\:to-purple-800:hover{--tw-gradient-to:#5b21b6}.lg\:hover\:to-purple-900:hover{--tw-gradient-to:#4c1d95}.lg\:hover\:to-pink-50:hover{--tw-gradient-to:#fdf2f8}.lg\:hover\:to-pink-100:hover{--tw-gradient-to:#fce7f3}.lg\:hover\:to-pink-200:hover{--tw-gradient-to:#fbcfe8}.lg\:hover\:to-pink-300:hover{--tw-gradient-to:#f9a8d4}.lg\:hover\:to-pink-400:hover{--tw-gradient-to:#f472b6}.lg\:hover\:to-pink-500:hover{--tw-gradient-to:#ec4899}.lg\:hover\:to-pink-600:hover{--tw-gradient-to:#db2777}.lg\:hover\:to-pink-700:hover{--tw-gradient-to:#be185d}.lg\:hover\:to-pink-800:hover{--tw-gradient-to:#9d174d}.lg\:hover\:to-pink-900:hover{--tw-gradient-to:#831843}.lg\:focus\:to-transparent:focus{--tw-gradient-to:transparent}.lg\:focus\:to-current:focus{--tw-gradient-to:currentColor}.lg\:focus\:to-black:focus{--tw-gradient-to:#000}.lg\:focus\:to-white:focus{--tw-gradient-to:#fff}.lg\:focus\:to-gray-50:focus{--tw-gradient-to:#f9fafb}.lg\:focus\:to-gray-100:focus{--tw-gradient-to:#f3f4f6}.lg\:focus\:to-gray-200:focus{--tw-gradient-to:#e5e7eb}.lg\:focus\:to-gray-300:focus{--tw-gradient-to:#d1d5db}.lg\:focus\:to-gray-400:focus{--tw-gradient-to:#9ca3af}.lg\:focus\:to-gray-500:focus{--tw-gradient-to:#6b7280}.lg\:focus\:to-gray-600:focus{--tw-gradient-to:#4b5563}.lg\:focus\:to-gray-700:focus{--tw-gradient-to:#374151}.lg\:focus\:to-gray-800:focus{--tw-gradient-to:#1f2937}.lg\:focus\:to-gray-900:focus{--tw-gradient-to:#111827}.lg\:focus\:to-red-50:focus{--tw-gradient-to:#fef2f2}.lg\:focus\:to-red-100:focus{--tw-gradient-to:#fee2e2}.lg\:focus\:to-red-200:focus{--tw-gradient-to:#fecaca}.lg\:focus\:to-red-300:focus{--tw-gradient-to:#fca5a5}.lg\:focus\:to-red-400:focus{--tw-gradient-to:#f87171}.lg\:focus\:to-red-500:focus{--tw-gradient-to:#ef4444}.lg\:focus\:to-red-600:focus{--tw-gradient-to:#dc2626}.lg\:focus\:to-red-700:focus{--tw-gradient-to:#b91c1c}.lg\:focus\:to-red-800:focus{--tw-gradient-to:#991b1b}.lg\:focus\:to-red-900:focus{--tw-gradient-to:#7f1d1d}.lg\:focus\:to-yellow-50:focus{--tw-gradient-to:#fffbeb}.lg\:focus\:to-yellow-100:focus{--tw-gradient-to:#fef3c7}.lg\:focus\:to-yellow-200:focus{--tw-gradient-to:#fde68a}.lg\:focus\:to-yellow-300:focus{--tw-gradient-to:#fcd34d}.lg\:focus\:to-yellow-400:focus{--tw-gradient-to:#fbbf24}.lg\:focus\:to-yellow-500:focus{--tw-gradient-to:#f59e0b}.lg\:focus\:to-yellow-600:focus{--tw-gradient-to:#d97706}.lg\:focus\:to-yellow-700:focus{--tw-gradient-to:#b45309}.lg\:focus\:to-yellow-800:focus{--tw-gradient-to:#92400e}.lg\:focus\:to-yellow-900:focus{--tw-gradient-to:#78350f}.lg\:focus\:to-green-50:focus{--tw-gradient-to:#ecfdf5}.lg\:focus\:to-green-100:focus{--tw-gradient-to:#d1fae5}.lg\:focus\:to-green-200:focus{--tw-gradient-to:#a7f3d0}.lg\:focus\:to-green-300:focus{--tw-gradient-to:#6ee7b7}.lg\:focus\:to-green-400:focus{--tw-gradient-to:#34d399}.lg\:focus\:to-green-500:focus{--tw-gradient-to:#10b981}.lg\:focus\:to-green-600:focus{--tw-gradient-to:#059669}.lg\:focus\:to-green-700:focus{--tw-gradient-to:#047857}.lg\:focus\:to-green-800:focus{--tw-gradient-to:#065f46}.lg\:focus\:to-green-900:focus{--tw-gradient-to:#064e3b}.lg\:focus\:to-blue-50:focus{--tw-gradient-to:#eff6ff}.lg\:focus\:to-blue-100:focus{--tw-gradient-to:#dbeafe}.lg\:focus\:to-blue-200:focus{--tw-gradient-to:#bfdbfe}.lg\:focus\:to-blue-300:focus{--tw-gradient-to:#93c5fd}.lg\:focus\:to-blue-400:focus{--tw-gradient-to:#60a5fa}.lg\:focus\:to-blue-500:focus{--tw-gradient-to:#3b82f6}.lg\:focus\:to-blue-600:focus{--tw-gradient-to:#2563eb}.lg\:focus\:to-blue-700:focus{--tw-gradient-to:#1d4ed8}.lg\:focus\:to-blue-800:focus{--tw-gradient-to:#1e40af}.lg\:focus\:to-blue-900:focus{--tw-gradient-to:#1e3a8a}.lg\:focus\:to-indigo-50:focus{--tw-gradient-to:#eef2ff}.lg\:focus\:to-indigo-100:focus{--tw-gradient-to:#e0e7ff}.lg\:focus\:to-indigo-200:focus{--tw-gradient-to:#c7d2fe}.lg\:focus\:to-indigo-300:focus{--tw-gradient-to:#a5b4fc}.lg\:focus\:to-indigo-400:focus{--tw-gradient-to:#818cf8}.lg\:focus\:to-indigo-500:focus{--tw-gradient-to:#6366f1}.lg\:focus\:to-indigo-600:focus{--tw-gradient-to:#4f46e5}.lg\:focus\:to-indigo-700:focus{--tw-gradient-to:#4338ca}.lg\:focus\:to-indigo-800:focus{--tw-gradient-to:#3730a3}.lg\:focus\:to-indigo-900:focus{--tw-gradient-to:#312e81}.lg\:focus\:to-purple-50:focus{--tw-gradient-to:#f5f3ff}.lg\:focus\:to-purple-100:focus{--tw-gradient-to:#ede9fe}.lg\:focus\:to-purple-200:focus{--tw-gradient-to:#ddd6fe}.lg\:focus\:to-purple-300:focus{--tw-gradient-to:#c4b5fd}.lg\:focus\:to-purple-400:focus{--tw-gradient-to:#a78bfa}.lg\:focus\:to-purple-500:focus{--tw-gradient-to:#8b5cf6}.lg\:focus\:to-purple-600:focus{--tw-gradient-to:#7c3aed}.lg\:focus\:to-purple-700:focus{--tw-gradient-to:#6d28d9}.lg\:focus\:to-purple-800:focus{--tw-gradient-to:#5b21b6}.lg\:focus\:to-purple-900:focus{--tw-gradient-to:#4c1d95}.lg\:focus\:to-pink-50:focus{--tw-gradient-to:#fdf2f8}.lg\:focus\:to-pink-100:focus{--tw-gradient-to:#fce7f3}.lg\:focus\:to-pink-200:focus{--tw-gradient-to:#fbcfe8}.lg\:focus\:to-pink-300:focus{--tw-gradient-to:#f9a8d4}.lg\:focus\:to-pink-400:focus{--tw-gradient-to:#f472b6}.lg\:focus\:to-pink-500:focus{--tw-gradient-to:#ec4899}.lg\:focus\:to-pink-600:focus{--tw-gradient-to:#db2777}.lg\:focus\:to-pink-700:focus{--tw-gradient-to:#be185d}.lg\:focus\:to-pink-800:focus{--tw-gradient-to:#9d174d}.lg\:focus\:to-pink-900:focus{--tw-gradient-to:#831843}.lg\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.lg\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.lg\:bg-auto{background-size:auto}.lg\:bg-cover{background-size:cover}.lg\:bg-contain{background-size:contain}.lg\:bg-fixed{background-attachment:fixed}.lg\:bg-local{background-attachment:local}.lg\:bg-scroll{background-attachment:scroll}.lg\:bg-clip-border{background-clip:border-box}.lg\:bg-clip-padding{background-clip:padding-box}.lg\:bg-clip-content{background-clip:content-box}.lg\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.lg\:bg-bottom{background-position:bottom}.lg\:bg-center{background-position:center}.lg\:bg-left{background-position:left}.lg\:bg-left-bottom{background-position:left bottom}.lg\:bg-left-top{background-position:left top}.lg\:bg-right{background-position:right}.lg\:bg-right-bottom{background-position:right bottom}.lg\:bg-right-top{background-position:right top}.lg\:bg-top{background-position:top}.lg\:bg-repeat{background-repeat:repeat}.lg\:bg-no-repeat{background-repeat:no-repeat}.lg\:bg-repeat-x{background-repeat:repeat-x}.lg\:bg-repeat-y{background-repeat:repeat-y}.lg\:bg-repeat-round{background-repeat:round}.lg\:bg-repeat-space{background-repeat:space}.lg\:bg-origin-border{background-origin:border-box}.lg\:bg-origin-padding{background-origin:padding-box}.lg\:bg-origin-content{background-origin:content-box}.lg\:fill-current{fill:currentColor}.lg\:stroke-current{stroke:currentColor}.lg\:stroke-0{stroke-width:0}.lg\:stroke-1{stroke-width:1}.lg\:stroke-2{stroke-width:2}.lg\:object-contain{object-fit:contain}.lg\:object-cover{object-fit:cover}.lg\:object-fill{object-fit:fill}.lg\:object-none{object-fit:none}.lg\:object-scale-down{object-fit:scale-down}.lg\:object-bottom{object-position:bottom}.lg\:object-center{object-position:center}.lg\:object-left{object-position:left}.lg\:object-left-bottom{object-position:left bottom}.lg\:object-left-top{object-position:left top}.lg\:object-right{object-position:right}.lg\:object-right-bottom{object-position:right bottom}.lg\:object-right-top{object-position:right top}.lg\:object-top{object-position:top}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-7{padding:1.75rem}.lg\:p-8{padding:2rem}.lg\:p-9{padding:2.25rem}.lg\:p-10{padding:2.5rem}.lg\:p-11{padding:2.75rem}.lg\:p-12{padding:3rem}.lg\:p-14{padding:3.5rem}.lg\:p-16{padding:4rem}.lg\:p-20{padding:5rem}.lg\:p-24{padding:6rem}.lg\:p-28{padding:7rem}.lg\:p-32{padding:8rem}.lg\:p-36{padding:9rem}.lg\:p-40{padding:10rem}.lg\:p-44{padding:11rem}.lg\:p-48{padding:12rem}.lg\:p-52{padding:13rem}.lg\:p-56{padding:14rem}.lg\:p-60{padding:15rem}.lg\:p-64{padding:16rem}.lg\:p-72{padding:18rem}.lg\:p-80{padding:20rem}.lg\:p-96{padding:24rem}.lg\:p-px{padding:1px}.lg\:p-0\.5{padding:.125rem}.lg\:p-1\.5{padding:.375rem}.lg\:p-2\.5{padding:.625rem}.lg\:p-3\.5{padding:.875rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-1{padding-left:.25rem;padding-right:.25rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-7{padding-left:1.75rem;padding-right:1.75rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:px-9{padding-left:2.25rem;padding-right:2.25rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-11{padding-left:2.75rem;padding-right:2.75rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:px-20{padding-left:5rem;padding-right:5rem}.lg\:px-24{padding-left:6rem;padding-right:6rem}.lg\:px-28{padding-left:7rem;padding-right:7rem}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:px-36{padding-left:9rem;padding-right:9rem}.lg\:px-40{padding-left:10rem;padding-right:10rem}.lg\:px-44{padding-left:11rem;padding-right:11rem}.lg\:px-48{padding-left:12rem;padding-right:12rem}.lg\:px-52{padding-left:13rem;padding-right:13rem}.lg\:px-56{padding-left:14rem;padding-right:14rem}.lg\:px-60{padding-left:15rem;padding-right:15rem}.lg\:px-64{padding-left:16rem;padding-right:16rem}.lg\:px-72{padding-left:18rem;padding-right:18rem}.lg\:px-80{padding-left:20rem;padding-right:20rem}.lg\:px-96{padding-left:24rem;padding-right:24rem}.lg\:px-px{padding-left:1px;padding-right:1px}.lg\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.lg\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.lg\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.lg\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:py-3{padding-top:.75rem;padding-bottom:.75rem}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:py-36{padding-top:9rem;padding-bottom:9rem}.lg\:py-40{padding-top:10rem;padding-bottom:10rem}.lg\:py-44{padding-top:11rem;padding-bottom:11rem}.lg\:py-48{padding-top:12rem;padding-bottom:12rem}.lg\:py-52{padding-top:13rem;padding-bottom:13rem}.lg\:py-56{padding-top:14rem;padding-bottom:14rem}.lg\:py-60{padding-top:15rem;padding-bottom:15rem}.lg\:py-64{padding-top:16rem;padding-bottom:16rem}.lg\:py-72{padding-top:18rem;padding-bottom:18rem}.lg\:py-80{padding-top:20rem;padding-bottom:20rem}.lg\:py-96{padding-top:24rem;padding-bottom:24rem}.lg\:py-px{padding-top:1px;padding-bottom:1px}.lg\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.lg\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.lg\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.lg\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.lg\:pt-0{padding-top:0}.lg\:pt-1{padding-top:.25rem}.lg\:pt-2{padding-top:.5rem}.lg\:pt-3{padding-top:.75rem}.lg\:pt-4{padding-top:1rem}.lg\:pt-5{padding-top:1.25rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pt-7{padding-top:1.75rem}.lg\:pt-8{padding-top:2rem}.lg\:pt-9{padding-top:2.25rem}.lg\:pt-10{padding-top:2.5rem}.lg\:pt-11{padding-top:2.75rem}.lg\:pt-12{padding-top:3rem}.lg\:pt-14{padding-top:3.5rem}.lg\:pt-16{padding-top:4rem}.lg\:pt-20{padding-top:5rem}.lg\:pt-24{padding-top:6rem}.lg\:pt-28{padding-top:7rem}.lg\:pt-32{padding-top:8rem}.lg\:pt-36{padding-top:9rem}.lg\:pt-40{padding-top:10rem}.lg\:pt-44{padding-top:11rem}.lg\:pt-48{padding-top:12rem}.lg\:pt-52{padding-top:13rem}.lg\:pt-56{padding-top:14rem}.lg\:pt-60{padding-top:15rem}.lg\:pt-64{padding-top:16rem}.lg\:pt-72{padding-top:18rem}.lg\:pt-80{padding-top:20rem}.lg\:pt-96{padding-top:24rem}.lg\:pt-px{padding-top:1px}.lg\:pt-0\.5{padding-top:.125rem}.lg\:pt-1\.5{padding-top:.375rem}.lg\:pt-2\.5{padding-top:.625rem}.lg\:pt-3\.5{padding-top:.875rem}.lg\:pr-0{padding-right:0}.lg\:pr-1{padding-right:.25rem}.lg\:pr-2{padding-right:.5rem}.lg\:pr-3{padding-right:.75rem}.lg\:pr-4{padding-right:1rem}.lg\:pr-5{padding-right:1.25rem}.lg\:pr-6{padding-right:1.5rem}.lg\:pr-7{padding-right:1.75rem}.lg\:pr-8{padding-right:2rem}.lg\:pr-9{padding-right:2.25rem}.lg\:pr-10{padding-right:2.5rem}.lg\:pr-11{padding-right:2.75rem}.lg\:pr-12{padding-right:3rem}.lg\:pr-14{padding-right:3.5rem}.lg\:pr-16{padding-right:4rem}.lg\:pr-20{padding-right:5rem}.lg\:pr-24{padding-right:6rem}.lg\:pr-28{padding-right:7rem}.lg\:pr-32{padding-right:8rem}.lg\:pr-36{padding-right:9rem}.lg\:pr-40{padding-right:10rem}.lg\:pr-44{padding-right:11rem}.lg\:pr-48{padding-right:12rem}.lg\:pr-52{padding-right:13rem}.lg\:pr-56{padding-right:14rem}.lg\:pr-60{padding-right:15rem}.lg\:pr-64{padding-right:16rem}.lg\:pr-72{padding-right:18rem}.lg\:pr-80{padding-right:20rem}.lg\:pr-96{padding-right:24rem}.lg\:pr-px{padding-right:1px}.lg\:pr-0\.5{padding-right:.125rem}.lg\:pr-1\.5{padding-right:.375rem}.lg\:pr-2\.5{padding-right:.625rem}.lg\:pr-3\.5{padding-right:.875rem}.lg\:pb-0{padding-bottom:0}.lg\:pb-1{padding-bottom:.25rem}.lg\:pb-2{padding-bottom:.5rem}.lg\:pb-3{padding-bottom:.75rem}.lg\:pb-4{padding-bottom:1rem}.lg\:pb-5{padding-bottom:1.25rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pb-7{padding-bottom:1.75rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pb-9{padding-bottom:2.25rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pb-11{padding-bottom:2.75rem}.lg\:pb-12{padding-bottom:3rem}.lg\:pb-14{padding-bottom:3.5rem}.lg\:pb-16{padding-bottom:4rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pb-28{padding-bottom:7rem}.lg\:pb-32{padding-bottom:8rem}.lg\:pb-36{padding-bottom:9rem}.lg\:pb-40{padding-bottom:10rem}.lg\:pb-44{padding-bottom:11rem}.lg\:pb-48{padding-bottom:12rem}.lg\:pb-52{padding-bottom:13rem}.lg\:pb-56{padding-bottom:14rem}.lg\:pb-60{padding-bottom:15rem}.lg\:pb-64{padding-bottom:16rem}.lg\:pb-72{padding-bottom:18rem}.lg\:pb-80{padding-bottom:20rem}.lg\:pb-96{padding-bottom:24rem}.lg\:pb-px{padding-bottom:1px}.lg\:pb-0\.5{padding-bottom:.125rem}.lg\:pb-1\.5{padding-bottom:.375rem}.lg\:pb-2\.5{padding-bottom:.625rem}.lg\:pb-3\.5{padding-bottom:.875rem}.lg\:pl-0{padding-left:0}.lg\:pl-1{padding-left:.25rem}.lg\:pl-2{padding-left:.5rem}.lg\:pl-3{padding-left:.75rem}.lg\:pl-4{padding-left:1rem}.lg\:pl-5{padding-left:1.25rem}.lg\:pl-6{padding-left:1.5rem}.lg\:pl-7{padding-left:1.75rem}.lg\:pl-8{padding-left:2rem}.lg\:pl-9{padding-left:2.25rem}.lg\:pl-10{padding-left:2.5rem}.lg\:pl-11{padding-left:2.75rem}.lg\:pl-12{padding-left:3rem}.lg\:pl-14{padding-left:3.5rem}.lg\:pl-16{padding-left:4rem}.lg\:pl-20{padding-left:5rem}.lg\:pl-24{padding-left:6rem}.lg\:pl-28{padding-left:7rem}.lg\:pl-32{padding-left:8rem}.lg\:pl-36{padding-left:9rem}.lg\:pl-40{padding-left:10rem}.lg\:pl-44{padding-left:11rem}.lg\:pl-48{padding-left:12rem}.lg\:pl-52{padding-left:13rem}.lg\:pl-56{padding-left:14rem}.lg\:pl-60{padding-left:15rem}.lg\:pl-64{padding-left:16rem}.lg\:pl-72{padding-left:18rem}.lg\:pl-80{padding-left:20rem}.lg\:pl-96{padding-left:24rem}.lg\:pl-px{padding-left:1px}.lg\:pl-0\.5{padding-left:.125rem}.lg\:pl-1\.5{padding-left:.375rem}.lg\:pl-2\.5{padding-left:.625rem}.lg\:pl-3\.5{padding-left:.875rem}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:text-justify{text-align:justify}.lg\:align-baseline{vertical-align:baseline}.lg\:align-top{vertical-align:top}.lg\:align-middle{vertical-align:middle}.lg\:align-bottom{vertical-align:bottom}.lg\:align-text-top{vertical-align:text-top}.lg\:align-text-bottom{vertical-align:text-bottom}.lg\:font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.lg\:font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.lg\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.lg\:text-xs{font-size:.75rem;line-height:1rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-8xl{font-size:6rem;line-height:1}.lg\:text-9xl{font-size:8rem;line-height:1}.lg\:font-thin{font-weight:100}.lg\:font-extralight{font-weight:200}.lg\:font-light{font-weight:300}.lg\:font-normal{font-weight:400}.lg\:font-medium{font-weight:500}.lg\:font-semibold{font-weight:600}.lg\:font-bold{font-weight:700}.lg\:font-extrabold{font-weight:800}.lg\:font-black{font-weight:900}.lg\:uppercase{text-transform:uppercase}.lg\:lowercase{text-transform:lowercase}.lg\:capitalize{text-transform:capitalize}.lg\:normal-case{text-transform:none}.lg\:italic{font-style:italic}.lg\:not-italic{font-style:normal}.lg\:diagonal-fractions,.lg\:lining-nums,.lg\:oldstyle-nums,.lg\:ordinal,.lg\:proportional-nums,.lg\:slashed-zero,.lg\:stacked-fractions,.lg\:tabular-nums{--tw-ordinal:var(--tw-empty, );/*!*//*!*/--tw-slashed-zero:var(--tw-empty, );/*!*//*!*/--tw-numeric-figure:var(--tw-empty, );/*!*//*!*/--tw-numeric-spacing:var(--tw-empty, );/*!*//*!*/--tw-numeric-fraction:var(--tw-empty, );/*!*//*!*/font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lg\:normal-nums{font-variant-numeric:normal}.lg\:ordinal{--tw-ordinal:ordinal}.lg\:slashed-zero{--tw-slashed-zero:slashed-zero}.lg\:lining-nums{--tw-numeric-figure:lining-nums}.lg\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.lg\:proportional-nums{--tw-numeric-spacing:proportional-nums}.lg\:tabular-nums{--tw-numeric-spacing:tabular-nums}.lg\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.lg\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.lg\:leading-3{line-height:.75rem}.lg\:leading-4{line-height:1rem}.lg\:leading-5{line-height:1.25rem}.lg\:leading-6{line-height:1.5rem}.lg\:leading-7{line-height:1.75rem}.lg\:leading-8{line-height:2rem}.lg\:leading-9{line-height:2.25rem}.lg\:leading-10{line-height:2.5rem}.lg\:leading-none{line-height:1}.lg\:leading-tight{line-height:1.25}.lg\:leading-snug{line-height:1.375}.lg\:leading-normal{line-height:1.5}.lg\:leading-relaxed{line-height:1.625}.lg\:leading-loose{line-height:2}.lg\:tracking-tighter{letter-spacing:-.05em}.lg\:tracking-tight{letter-spacing:-.025em}.lg\:tracking-normal{letter-spacing:0}.lg\:tracking-wide{letter-spacing:.025em}.lg\:tracking-wider{letter-spacing:.05em}.lg\:tracking-widest{letter-spacing:.1em}.lg\:text-transparent{color:transparent}.lg\:text-current{color:currentColor}.lg\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.lg\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.lg\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.lg\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.lg\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.lg\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.lg\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.lg\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.lg\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.lg\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.lg\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.lg\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.lg\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.lg\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.lg\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.lg\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.lg\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.lg\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.lg\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.lg\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.lg\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.lg\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.lg\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.lg\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.lg\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.lg\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.lg\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.lg\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.lg\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.lg\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.lg\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.lg\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.lg\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.lg\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.lg\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.lg\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.lg\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.lg\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.lg\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.lg\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.lg\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.lg\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.lg\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.lg\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.lg\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.lg\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.lg\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.lg\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.lg\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.lg\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.lg\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.lg\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.lg\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.lg\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.lg\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.lg\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.lg\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.lg\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.lg\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.lg\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.lg\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.lg\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.lg\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.lg\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.lg\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.lg\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.lg\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.lg\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.lg\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.lg\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.lg\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.lg\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.lg\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.lg\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.lg\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.lg\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.lg\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.lg\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.lg\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.lg\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.lg\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.lg\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-transparent{color:transparent}.group:hover .lg\:group-hover\:text-current{color:currentColor}.group:hover .lg\:group-hover\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.group:hover .lg\:group-hover\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.lg\:focus-within\:text-transparent:focus-within{color:transparent}.lg\:focus-within\:text-current:focus-within{color:currentColor}.lg\:focus-within\:text-black:focus-within{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.lg\:focus-within\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-50:focus-within{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-100:focus-within{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-200:focus-within{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-300:focus-within{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-400:focus-within{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-500:focus-within{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-600:focus-within{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-700:focus-within{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-800:focus-within{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.lg\:focus-within\:text-gray-900:focus-within{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.lg\:focus-within\:text-red-50:focus-within{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.lg\:focus-within\:text-red-100:focus-within{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.lg\:focus-within\:text-red-200:focus-within{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.lg\:focus-within\:text-red-300:focus-within{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.lg\:focus-within\:text-red-400:focus-within{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.lg\:focus-within\:text-red-500:focus-within{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.lg\:focus-within\:text-red-600:focus-within{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.lg\:focus-within\:text-red-700:focus-within{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.lg\:focus-within\:text-red-800:focus-within{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.lg\:focus-within\:text-red-900:focus-within{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-50:focus-within{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-100:focus-within{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-200:focus-within{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-300:focus-within{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-400:focus-within{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-500:focus-within{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-600:focus-within{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-700:focus-within{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-800:focus-within{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.lg\:focus-within\:text-yellow-900:focus-within{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.lg\:focus-within\:text-green-50:focus-within{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.lg\:focus-within\:text-green-100:focus-within{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.lg\:focus-within\:text-green-200:focus-within{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.lg\:focus-within\:text-green-300:focus-within{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.lg\:focus-within\:text-green-400:focus-within{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.lg\:focus-within\:text-green-500:focus-within{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.lg\:focus-within\:text-green-600:focus-within{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.lg\:focus-within\:text-green-700:focus-within{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.lg\:focus-within\:text-green-800:focus-within{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.lg\:focus-within\:text-green-900:focus-within{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-50:focus-within{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-100:focus-within{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-200:focus-within{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-300:focus-within{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-400:focus-within{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-500:focus-within{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-600:focus-within{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-700:focus-within{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-800:focus-within{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.lg\:focus-within\:text-blue-900:focus-within{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-50:focus-within{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-100:focus-within{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-200:focus-within{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-300:focus-within{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-400:focus-within{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-500:focus-within{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-600:focus-within{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-700:focus-within{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-800:focus-within{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.lg\:focus-within\:text-indigo-900:focus-within{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-50:focus-within{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-100:focus-within{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-200:focus-within{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-300:focus-within{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-400:focus-within{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-500:focus-within{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-600:focus-within{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-700:focus-within{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-800:focus-within{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.lg\:focus-within\:text-purple-900:focus-within{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-50:focus-within{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-100:focus-within{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-200:focus-within{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-300:focus-within{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-400:focus-within{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-500:focus-within{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-600:focus-within{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-700:focus-within{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-800:focus-within{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.lg\:focus-within\:text-pink-900:focus-within{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.lg\:hover\:text-transparent:hover{color:transparent}.lg\:hover\:text-current:hover{color:currentColor}.lg\:hover\:text-black:hover{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.lg\:hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.lg\:hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.lg\:hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.lg\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.lg\:hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.lg\:hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.lg\:hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.lg\:hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.lg\:hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.lg\:hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.lg\:hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.lg\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.lg\:hover\:text-red-100:hover{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.lg\:hover\:text-red-200:hover{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.lg\:hover\:text-red-300:hover{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.lg\:hover\:text-red-400:hover{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.lg\:hover\:text-red-500:hover{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.lg\:hover\:text-red-600:hover{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.lg\:hover\:text-red-700:hover{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.lg\:hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.lg\:hover\:text-red-900:hover{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.lg\:hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.lg\:hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.lg\:hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.lg\:hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.lg\:hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.lg\:hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.lg\:hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.lg\:hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.lg\:hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.lg\:hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.lg\:hover\:text-green-50:hover{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.lg\:hover\:text-green-100:hover{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.lg\:hover\:text-green-200:hover{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.lg\:hover\:text-green-300:hover{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.lg\:hover\:text-green-400:hover{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.lg\:hover\:text-green-500:hover{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.lg\:hover\:text-green-600:hover{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.lg\:hover\:text-green-700:hover{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.lg\:hover\:text-green-800:hover{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.lg\:hover\:text-green-900:hover{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.lg\:hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.lg\:hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.lg\:hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.lg\:hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.lg\:hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.lg\:hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.lg\:hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.lg\:hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.lg\:hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.lg\:hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.lg\:hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.lg\:hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.lg\:hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.lg\:hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.lg\:hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.lg\:hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.lg\:hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.lg\:hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.lg\:hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.lg\:hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.lg\:hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.lg\:hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.lg\:hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.lg\:hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.lg\:hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.lg\:hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.lg\:hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.lg\:hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.lg\:hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.lg\:hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.lg\:hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.lg\:hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.lg\:hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.lg\:hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.lg\:hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.lg\:hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.lg\:hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.lg\:hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.lg\:hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.lg\:hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.lg\:focus\:text-transparent:focus{color:transparent}.lg\:focus\:text-current:focus{color:currentColor}.lg\:focus\:text-black:focus{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.lg\:focus\:text-white:focus{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.lg\:focus\:text-gray-50:focus{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.lg\:focus\:text-gray-100:focus{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.lg\:focus\:text-gray-200:focus{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.lg\:focus\:text-gray-300:focus{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.lg\:focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.lg\:focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.lg\:focus\:text-gray-600:focus{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.lg\:focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.lg\:focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.lg\:focus\:text-gray-900:focus{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.lg\:focus\:text-red-50:focus{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.lg\:focus\:text-red-100:focus{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.lg\:focus\:text-red-200:focus{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.lg\:focus\:text-red-300:focus{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.lg\:focus\:text-red-400:focus{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.lg\:focus\:text-red-500:focus{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.lg\:focus\:text-red-600:focus{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.lg\:focus\:text-red-700:focus{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.lg\:focus\:text-red-800:focus{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.lg\:focus\:text-red-900:focus{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.lg\:focus\:text-yellow-50:focus{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.lg\:focus\:text-yellow-100:focus{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.lg\:focus\:text-yellow-200:focus{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.lg\:focus\:text-yellow-300:focus{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.lg\:focus\:text-yellow-400:focus{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.lg\:focus\:text-yellow-500:focus{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.lg\:focus\:text-yellow-600:focus{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.lg\:focus\:text-yellow-700:focus{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.lg\:focus\:text-yellow-800:focus{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.lg\:focus\:text-yellow-900:focus{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.lg\:focus\:text-green-50:focus{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.lg\:focus\:text-green-100:focus{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.lg\:focus\:text-green-200:focus{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.lg\:focus\:text-green-300:focus{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.lg\:focus\:text-green-400:focus{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.lg\:focus\:text-green-500:focus{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.lg\:focus\:text-green-600:focus{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.lg\:focus\:text-green-700:focus{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.lg\:focus\:text-green-800:focus{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.lg\:focus\:text-green-900:focus{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.lg\:focus\:text-blue-50:focus{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.lg\:focus\:text-blue-100:focus{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.lg\:focus\:text-blue-200:focus{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.lg\:focus\:text-blue-300:focus{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.lg\:focus\:text-blue-400:focus{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.lg\:focus\:text-blue-500:focus{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.lg\:focus\:text-blue-600:focus{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.lg\:focus\:text-blue-700:focus{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.lg\:focus\:text-blue-800:focus{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.lg\:focus\:text-blue-900:focus{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.lg\:focus\:text-indigo-50:focus{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.lg\:focus\:text-indigo-100:focus{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.lg\:focus\:text-indigo-200:focus{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.lg\:focus\:text-indigo-300:focus{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.lg\:focus\:text-indigo-400:focus{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.lg\:focus\:text-indigo-500:focus{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.lg\:focus\:text-indigo-600:focus{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.lg\:focus\:text-indigo-700:focus{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.lg\:focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.lg\:focus\:text-indigo-900:focus{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.lg\:focus\:text-purple-50:focus{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.lg\:focus\:text-purple-100:focus{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.lg\:focus\:text-purple-200:focus{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.lg\:focus\:text-purple-300:focus{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.lg\:focus\:text-purple-400:focus{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.lg\:focus\:text-purple-500:focus{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.lg\:focus\:text-purple-600:focus{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.lg\:focus\:text-purple-700:focus{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.lg\:focus\:text-purple-800:focus{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.lg\:focus\:text-purple-900:focus{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.lg\:focus\:text-pink-50:focus{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.lg\:focus\:text-pink-100:focus{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.lg\:focus\:text-pink-200:focus{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.lg\:focus\:text-pink-300:focus{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.lg\:focus\:text-pink-400:focus{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.lg\:focus\:text-pink-500:focus{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.lg\:focus\:text-pink-600:focus{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.lg\:focus\:text-pink-700:focus{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.lg\:focus\:text-pink-800:focus{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.lg\:focus\:text-pink-900:focus{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.lg\:text-opacity-0{--tw-text-opacity:0}.lg\:text-opacity-5{--tw-text-opacity:0.05}.lg\:text-opacity-10{--tw-text-opacity:0.1}.lg\:text-opacity-20{--tw-text-opacity:0.2}.lg\:text-opacity-25{--tw-text-opacity:0.25}.lg\:text-opacity-30{--tw-text-opacity:0.3}.lg\:text-opacity-40{--tw-text-opacity:0.4}.lg\:text-opacity-50{--tw-text-opacity:0.5}.lg\:text-opacity-60{--tw-text-opacity:0.6}.lg\:text-opacity-70{--tw-text-opacity:0.7}.lg\:text-opacity-75{--tw-text-opacity:0.75}.lg\:text-opacity-80{--tw-text-opacity:0.8}.lg\:text-opacity-90{--tw-text-opacity:0.9}.lg\:text-opacity-95{--tw-text-opacity:0.95}.lg\:text-opacity-100{--tw-text-opacity:1}.group:hover .lg\:group-hover\:text-opacity-0{--tw-text-opacity:0}.group:hover .lg\:group-hover\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .lg\:group-hover\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .lg\:group-hover\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .lg\:group-hover\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .lg\:group-hover\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .lg\:group-hover\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .lg\:group-hover\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .lg\:group-hover\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .lg\:group-hover\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .lg\:group-hover\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .lg\:group-hover\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .lg\:group-hover\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .lg\:group-hover\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .lg\:group-hover\:text-opacity-100{--tw-text-opacity:1}.lg\:focus-within\:text-opacity-0:focus-within{--tw-text-opacity:0}.lg\:focus-within\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.lg\:focus-within\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.lg\:focus-within\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.lg\:focus-within\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.lg\:focus-within\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.lg\:focus-within\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.lg\:focus-within\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.lg\:focus-within\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.lg\:focus-within\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.lg\:focus-within\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.lg\:focus-within\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.lg\:focus-within\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.lg\:focus-within\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.lg\:focus-within\:text-opacity-100:focus-within{--tw-text-opacity:1}.lg\:hover\:text-opacity-0:hover{--tw-text-opacity:0}.lg\:hover\:text-opacity-5:hover{--tw-text-opacity:0.05}.lg\:hover\:text-opacity-10:hover{--tw-text-opacity:0.1}.lg\:hover\:text-opacity-20:hover{--tw-text-opacity:0.2}.lg\:hover\:text-opacity-25:hover{--tw-text-opacity:0.25}.lg\:hover\:text-opacity-30:hover{--tw-text-opacity:0.3}.lg\:hover\:text-opacity-40:hover{--tw-text-opacity:0.4}.lg\:hover\:text-opacity-50:hover{--tw-text-opacity:0.5}.lg\:hover\:text-opacity-60:hover{--tw-text-opacity:0.6}.lg\:hover\:text-opacity-70:hover{--tw-text-opacity:0.7}.lg\:hover\:text-opacity-75:hover{--tw-text-opacity:0.75}.lg\:hover\:text-opacity-80:hover{--tw-text-opacity:0.8}.lg\:hover\:text-opacity-90:hover{--tw-text-opacity:0.9}.lg\:hover\:text-opacity-95:hover{--tw-text-opacity:0.95}.lg\:hover\:text-opacity-100:hover{--tw-text-opacity:1}.lg\:focus\:text-opacity-0:focus{--tw-text-opacity:0}.lg\:focus\:text-opacity-5:focus{--tw-text-opacity:0.05}.lg\:focus\:text-opacity-10:focus{--tw-text-opacity:0.1}.lg\:focus\:text-opacity-20:focus{--tw-text-opacity:0.2}.lg\:focus\:text-opacity-25:focus{--tw-text-opacity:0.25}.lg\:focus\:text-opacity-30:focus{--tw-text-opacity:0.3}.lg\:focus\:text-opacity-40:focus{--tw-text-opacity:0.4}.lg\:focus\:text-opacity-50:focus{--tw-text-opacity:0.5}.lg\:focus\:text-opacity-60:focus{--tw-text-opacity:0.6}.lg\:focus\:text-opacity-70:focus{--tw-text-opacity:0.7}.lg\:focus\:text-opacity-75:focus{--tw-text-opacity:0.75}.lg\:focus\:text-opacity-80:focus{--tw-text-opacity:0.8}.lg\:focus\:text-opacity-90:focus{--tw-text-opacity:0.9}.lg\:focus\:text-opacity-95:focus{--tw-text-opacity:0.95}.lg\:focus\:text-opacity-100:focus{--tw-text-opacity:1}.lg\:underline{text-decoration:underline}.lg\:line-through{text-decoration:line-through}.lg\:no-underline{text-decoration:none}.group:hover .lg\:group-hover\:underline{text-decoration:underline}.group:hover .lg\:group-hover\:line-through{text-decoration:line-through}.group:hover .lg\:group-hover\:no-underline{text-decoration:none}.lg\:focus-within\:underline:focus-within{text-decoration:underline}.lg\:focus-within\:line-through:focus-within{text-decoration:line-through}.lg\:focus-within\:no-underline:focus-within{text-decoration:none}.lg\:hover\:underline:hover{text-decoration:underline}.lg\:hover\:line-through:hover{text-decoration:line-through}.lg\:hover\:no-underline:hover{text-decoration:none}.lg\:focus\:underline:focus{text-decoration:underline}.lg\:focus\:line-through:focus{text-decoration:line-through}.lg\:focus\:no-underline:focus{text-decoration:none}.lg\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:placeholder-transparent::placeholder{color:transparent}.lg\:placeholder-current::placeholder{color:currentColor}.lg\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.lg\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-50::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-100::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-200::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-300::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-600::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-700::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-800::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.lg\:placeholder-gray-900::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.lg\:placeholder-red-50::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.lg\:placeholder-red-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.lg\:placeholder-red-200::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.lg\:placeholder-red-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.lg\:placeholder-red-400::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.lg\:placeholder-red-500::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.lg\:placeholder-red-600::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.lg\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.lg\:placeholder-red-800::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.lg\:placeholder-red-900::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-50::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-200::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-400::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-500::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-600::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-700::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-800::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.lg\:placeholder-yellow-900::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.lg\:placeholder-green-50::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.lg\:placeholder-green-100::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.lg\:placeholder-green-200::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.lg\:placeholder-green-300::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.lg\:placeholder-green-400::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.lg\:placeholder-green-500::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.lg\:placeholder-green-600::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.lg\:placeholder-green-700::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.lg\:placeholder-green-800::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.lg\:placeholder-green-900::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-50::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-100::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-200::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-300::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-400::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-500::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-600::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-700::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-800::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.lg\:placeholder-blue-900::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-50::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-100::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-200::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-300::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-400::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-500::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-600::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-700::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-800::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.lg\:placeholder-indigo-900::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-50::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-100::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-200::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-300::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-400::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-500::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-600::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-700::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-800::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.lg\:placeholder-purple-900::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-50::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-100::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-200::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-300::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-400::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-500::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-600::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-700::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-800::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.lg\:placeholder-pink-900::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.lg\:focus\:placeholder-current:focus::placeholder{color:currentColor}.lg\:focus\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-gray-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-red-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-yellow-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-green-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-blue-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-indigo-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-purple-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.lg\:focus\:placeholder-pink-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.lg\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.lg\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.lg\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.lg\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.lg\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.lg\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.lg\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.lg\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.lg\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.lg\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.lg\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.lg\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.lg\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.lg\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.lg\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.lg\:focus\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.lg\:focus\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.lg\:focus\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.lg\:focus\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.lg\:focus\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.lg\:focus\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.lg\:focus\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.lg\:focus\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.lg\:focus\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.lg\:focus\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.lg\:focus\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.lg\:focus\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.lg\:focus\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.lg\:focus\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.lg\:focus\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}.lg\:opacity-0{opacity:0}.lg\:opacity-5{opacity:.05}.lg\:opacity-10{opacity:.1}.lg\:opacity-20{opacity:.2}.lg\:opacity-25{opacity:.25}.lg\:opacity-30{opacity:.3}.lg\:opacity-40{opacity:.4}.lg\:opacity-50{opacity:.5}.lg\:opacity-60{opacity:.6}.lg\:opacity-70{opacity:.7}.lg\:opacity-75{opacity:.75}.lg\:opacity-80{opacity:.8}.lg\:opacity-90{opacity:.9}.lg\:opacity-95{opacity:.95}.lg\:opacity-100{opacity:1}.group:hover .lg\:group-hover\:opacity-0{opacity:0}.group:hover .lg\:group-hover\:opacity-5{opacity:.05}.group:hover .lg\:group-hover\:opacity-10{opacity:.1}.group:hover .lg\:group-hover\:opacity-20{opacity:.2}.group:hover .lg\:group-hover\:opacity-25{opacity:.25}.group:hover .lg\:group-hover\:opacity-30{opacity:.3}.group:hover .lg\:group-hover\:opacity-40{opacity:.4}.group:hover .lg\:group-hover\:opacity-50{opacity:.5}.group:hover .lg\:group-hover\:opacity-60{opacity:.6}.group:hover .lg\:group-hover\:opacity-70{opacity:.7}.group:hover .lg\:group-hover\:opacity-75{opacity:.75}.group:hover .lg\:group-hover\:opacity-80{opacity:.8}.group:hover .lg\:group-hover\:opacity-90{opacity:.9}.group:hover .lg\:group-hover\:opacity-95{opacity:.95}.group:hover .lg\:group-hover\:opacity-100{opacity:1}.lg\:focus-within\:opacity-0:focus-within{opacity:0}.lg\:focus-within\:opacity-5:focus-within{opacity:.05}.lg\:focus-within\:opacity-10:focus-within{opacity:.1}.lg\:focus-within\:opacity-20:focus-within{opacity:.2}.lg\:focus-within\:opacity-25:focus-within{opacity:.25}.lg\:focus-within\:opacity-30:focus-within{opacity:.3}.lg\:focus-within\:opacity-40:focus-within{opacity:.4}.lg\:focus-within\:opacity-50:focus-within{opacity:.5}.lg\:focus-within\:opacity-60:focus-within{opacity:.6}.lg\:focus-within\:opacity-70:focus-within{opacity:.7}.lg\:focus-within\:opacity-75:focus-within{opacity:.75}.lg\:focus-within\:opacity-80:focus-within{opacity:.8}.lg\:focus-within\:opacity-90:focus-within{opacity:.9}.lg\:focus-within\:opacity-95:focus-within{opacity:.95}.lg\:focus-within\:opacity-100:focus-within{opacity:1}.lg\:hover\:opacity-0:hover{opacity:0}.lg\:hover\:opacity-5:hover{opacity:.05}.lg\:hover\:opacity-10:hover{opacity:.1}.lg\:hover\:opacity-20:hover{opacity:.2}.lg\:hover\:opacity-25:hover{opacity:.25}.lg\:hover\:opacity-30:hover{opacity:.3}.lg\:hover\:opacity-40:hover{opacity:.4}.lg\:hover\:opacity-50:hover{opacity:.5}.lg\:hover\:opacity-60:hover{opacity:.6}.lg\:hover\:opacity-70:hover{opacity:.7}.lg\:hover\:opacity-75:hover{opacity:.75}.lg\:hover\:opacity-80:hover{opacity:.8}.lg\:hover\:opacity-90:hover{opacity:.9}.lg\:hover\:opacity-95:hover{opacity:.95}.lg\:hover\:opacity-100:hover{opacity:1}.lg\:focus\:opacity-0:focus{opacity:0}.lg\:focus\:opacity-5:focus{opacity:.05}.lg\:focus\:opacity-10:focus{opacity:.1}.lg\:focus\:opacity-20:focus{opacity:.2}.lg\:focus\:opacity-25:focus{opacity:.25}.lg\:focus\:opacity-30:focus{opacity:.3}.lg\:focus\:opacity-40:focus{opacity:.4}.lg\:focus\:opacity-50:focus{opacity:.5}.lg\:focus\:opacity-60:focus{opacity:.6}.lg\:focus\:opacity-70:focus{opacity:.7}.lg\:focus\:opacity-75:focus{opacity:.75}.lg\:focus\:opacity-80:focus{opacity:.8}.lg\:focus\:opacity-90:focus{opacity:.9}.lg\:focus\:opacity-95:focus{opacity:.95}.lg\:focus\:opacity-100:focus{opacity:1}.lg\:bg-blend-normal{background-blend-mode:normal}.lg\:bg-blend-multiply{background-blend-mode:multiply}.lg\:bg-blend-screen{background-blend-mode:screen}.lg\:bg-blend-overlay{background-blend-mode:overlay}.lg\:bg-blend-darken{background-blend-mode:darken}.lg\:bg-blend-lighten{background-blend-mode:lighten}.lg\:bg-blend-color-dodge{background-blend-mode:color-dodge}.lg\:bg-blend-color-burn{background-blend-mode:color-burn}.lg\:bg-blend-hard-light{background-blend-mode:hard-light}.lg\:bg-blend-soft-light{background-blend-mode:soft-light}.lg\:bg-blend-difference{background-blend-mode:difference}.lg\:bg-blend-exclusion{background-blend-mode:exclusion}.lg\:bg-blend-hue{background-blend-mode:hue}.lg\:bg-blend-saturation{background-blend-mode:saturation}.lg\:bg-blend-color{background-blend-mode:color}.lg\:bg-blend-luminosity{background-blend-mode:luminosity}.lg\:mix-blend-normal{mix-blend-mode:normal}.lg\:mix-blend-multiply{mix-blend-mode:multiply}.lg\:mix-blend-screen{mix-blend-mode:screen}.lg\:mix-blend-overlay{mix-blend-mode:overlay}.lg\:mix-blend-darken{mix-blend-mode:darken}.lg\:mix-blend-lighten{mix-blend-mode:lighten}.lg\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.lg\:mix-blend-color-burn{mix-blend-mode:color-burn}.lg\:mix-blend-hard-light{mix-blend-mode:hard-light}.lg\:mix-blend-soft-light{mix-blend-mode:soft-light}.lg\:mix-blend-difference{mix-blend-mode:difference}.lg\:mix-blend-exclusion{mix-blend-mode:exclusion}.lg\:mix-blend-hue{mix-blend-mode:hue}.lg\:mix-blend-saturation{mix-blend-mode:saturation}.lg\:mix-blend-color{mix-blend-mode:color}.lg\:mix-blend-luminosity{mix-blend-mode:luminosity}.lg\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .lg\:group-hover\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .lg\:group-hover\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .lg\:group-hover\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .lg\:group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .lg\:group-hover\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .lg\:group-hover\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .lg\:group-hover\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .lg\:group-hover\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus-within\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus-within\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus-within\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus-within\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus-within\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus-within\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus-within\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus-within\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:hover\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:focus\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:outline-none{outline:2px solid transparent;outline-offset:2px}.lg\:outline-white{outline:2px dotted white;outline-offset:2px}.lg\:outline-black{outline:2px dotted black;outline-offset:2px}.lg\:focus-within\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lg\:focus-within\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.lg\:focus-within\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.lg\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lg\:focus\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.lg\:focus\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.lg\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus-within\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus-within\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus-within\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:ring-inset{--tw-ring-inset:inset}.lg\:focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}.lg\:focus\:ring-inset:focus{--tw-ring-inset:inset}.lg\:ring-transparent{--tw-ring-color:transparent}.lg\:ring-current{--tw-ring-color:currentColor}.lg\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.lg\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\:ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.lg\:ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.lg\:ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.lg\:ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.lg\:ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.lg\:ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.lg\:ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.lg\:ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.lg\:ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.lg\:ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.lg\:ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.lg\:ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.lg\:ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.lg\:ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.lg\:ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.lg\:ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.lg\:ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.lg\:ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.lg\:ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.lg\:ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.lg\:ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.lg\:ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.lg\:ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.lg\:ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.lg\:ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.lg\:ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.lg\:ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.lg\:ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.lg\:ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.lg\:ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.lg\:ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.lg\:ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.lg\:ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.lg\:ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.lg\:ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.lg\:ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.lg\:ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.lg\:ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.lg\:ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.lg\:ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.lg\:ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.lg\:ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.lg\:ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.lg\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.lg\:ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.lg\:ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.lg\:ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.lg\:ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.lg\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.lg\:ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.lg\:ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.lg\:ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.lg\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.lg\:ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.lg\:ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.lg\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.lg\:ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.lg\:ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.lg\:ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.lg\:ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.lg\:ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.lg\:ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.lg\:ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.lg\:ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.lg\:ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.lg\:ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.lg\:ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.lg\:ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.lg\:ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.lg\:ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.lg\:ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.lg\:ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.lg\:ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.lg\:ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.lg\:ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.lg\:ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.lg\:ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.lg\:ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.lg\:ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.lg\:ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.lg\:focus-within\:ring-transparent:focus-within{--tw-ring-color:transparent}.lg\:focus-within\:ring-current:focus-within{--tw-ring-color:currentColor}.lg\:focus-within\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.lg\:focus-within\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.lg\:focus-within\:ring-gray-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.lg\:focus-within\:ring-red-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.lg\:focus-within\:ring-yellow-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.lg\:focus-within\:ring-green-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.lg\:focus-within\:ring-blue-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.lg\:focus-within\:ring-indigo-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.lg\:focus-within\:ring-purple-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.lg\:focus-within\:ring-pink-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.lg\:focus\:ring-transparent:focus{--tw-ring-color:transparent}.lg\:focus\:ring-current:focus{--tw-ring-color:currentColor}.lg\:focus\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.lg\:focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.lg\:focus\:ring-gray-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.lg\:focus\:ring-red-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.lg\:focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.lg\:focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.lg\:focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.lg\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.lg\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.lg\:focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.lg\:focus\:ring-red-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.lg\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.lg\:focus\:ring-red-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.lg\:focus\:ring-yellow-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.lg\:focus\:ring-green-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.lg\:focus\:ring-green-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.lg\:focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.lg\:focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.lg\:focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.lg\:focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.lg\:focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.lg\:focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.lg\:focus\:ring-green-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.lg\:focus\:ring-green-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.lg\:focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.lg\:focus\:ring-indigo-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.lg\:focus\:ring-purple-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.lg\:focus\:ring-pink-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.lg\:ring-opacity-0{--tw-ring-opacity:0}.lg\:ring-opacity-5{--tw-ring-opacity:0.05}.lg\:ring-opacity-10{--tw-ring-opacity:0.1}.lg\:ring-opacity-20{--tw-ring-opacity:0.2}.lg\:ring-opacity-25{--tw-ring-opacity:0.25}.lg\:ring-opacity-30{--tw-ring-opacity:0.3}.lg\:ring-opacity-40{--tw-ring-opacity:0.4}.lg\:ring-opacity-50{--tw-ring-opacity:0.5}.lg\:ring-opacity-60{--tw-ring-opacity:0.6}.lg\:ring-opacity-70{--tw-ring-opacity:0.7}.lg\:ring-opacity-75{--tw-ring-opacity:0.75}.lg\:ring-opacity-80{--tw-ring-opacity:0.8}.lg\:ring-opacity-90{--tw-ring-opacity:0.9}.lg\:ring-opacity-95{--tw-ring-opacity:0.95}.lg\:ring-opacity-100{--tw-ring-opacity:1}.lg\:focus-within\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.lg\:focus-within\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.lg\:focus-within\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.lg\:focus-within\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.lg\:focus-within\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.lg\:focus-within\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.lg\:focus-within\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.lg\:focus-within\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.lg\:focus-within\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.lg\:focus-within\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.lg\:focus-within\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.lg\:focus-within\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.lg\:focus-within\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.lg\:focus-within\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.lg\:focus-within\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.lg\:focus\:ring-opacity-0:focus{--tw-ring-opacity:0}.lg\:focus\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.lg\:focus\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.lg\:focus\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.lg\:focus\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.lg\:focus\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.lg\:focus\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.lg\:focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.lg\:focus\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.lg\:focus\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.lg\:focus\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.lg\:focus\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.lg\:focus\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.lg\:focus\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.lg\:focus\:ring-opacity-100:focus{--tw-ring-opacity:1}.lg\:ring-offset-0{--tw-ring-offset-width:0px}.lg\:ring-offset-1{--tw-ring-offset-width:1px}.lg\:ring-offset-2{--tw-ring-offset-width:2px}.lg\:ring-offset-4{--tw-ring-offset-width:4px}.lg\:ring-offset-8{--tw-ring-offset-width:8px}.lg\:focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.lg\:focus-within\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.lg\:focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.lg\:focus-within\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.lg\:focus-within\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.lg\:focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.lg\:focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.lg\:focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lg\:focus\:ring-offset-4:focus{--tw-ring-offset-width:4px}.lg\:focus\:ring-offset-8:focus{--tw-ring-offset-width:8px}.lg\:ring-offset-transparent{--tw-ring-offset-color:transparent}.lg\:ring-offset-current{--tw-ring-offset-color:currentColor}.lg\:ring-offset-black{--tw-ring-offset-color:#000}.lg\:ring-offset-white{--tw-ring-offset-color:#fff}.lg\:ring-offset-gray-50{--tw-ring-offset-color:#f9fafb}.lg\:ring-offset-gray-100{--tw-ring-offset-color:#f3f4f6}.lg\:ring-offset-gray-200{--tw-ring-offset-color:#e5e7eb}.lg\:ring-offset-gray-300{--tw-ring-offset-color:#d1d5db}.lg\:ring-offset-gray-400{--tw-ring-offset-color:#9ca3af}.lg\:ring-offset-gray-500{--tw-ring-offset-color:#6b7280}.lg\:ring-offset-gray-600{--tw-ring-offset-color:#4b5563}.lg\:ring-offset-gray-700{--tw-ring-offset-color:#374151}.lg\:ring-offset-gray-800{--tw-ring-offset-color:#1f2937}.lg\:ring-offset-gray-900{--tw-ring-offset-color:#111827}.lg\:ring-offset-red-50{--tw-ring-offset-color:#fef2f2}.lg\:ring-offset-red-100{--tw-ring-offset-color:#fee2e2}.lg\:ring-offset-red-200{--tw-ring-offset-color:#fecaca}.lg\:ring-offset-red-300{--tw-ring-offset-color:#fca5a5}.lg\:ring-offset-red-400{--tw-ring-offset-color:#f87171}.lg\:ring-offset-red-500{--tw-ring-offset-color:#ef4444}.lg\:ring-offset-red-600{--tw-ring-offset-color:#dc2626}.lg\:ring-offset-red-700{--tw-ring-offset-color:#b91c1c}.lg\:ring-offset-red-800{--tw-ring-offset-color:#991b1b}.lg\:ring-offset-red-900{--tw-ring-offset-color:#7f1d1d}.lg\:ring-offset-yellow-50{--tw-ring-offset-color:#fffbeb}.lg\:ring-offset-yellow-100{--tw-ring-offset-color:#fef3c7}.lg\:ring-offset-yellow-200{--tw-ring-offset-color:#fde68a}.lg\:ring-offset-yellow-300{--tw-ring-offset-color:#fcd34d}.lg\:ring-offset-yellow-400{--tw-ring-offset-color:#fbbf24}.lg\:ring-offset-yellow-500{--tw-ring-offset-color:#f59e0b}.lg\:ring-offset-yellow-600{--tw-ring-offset-color:#d97706}.lg\:ring-offset-yellow-700{--tw-ring-offset-color:#b45309}.lg\:ring-offset-yellow-800{--tw-ring-offset-color:#92400e}.lg\:ring-offset-yellow-900{--tw-ring-offset-color:#78350f}.lg\:ring-offset-green-50{--tw-ring-offset-color:#ecfdf5}.lg\:ring-offset-green-100{--tw-ring-offset-color:#d1fae5}.lg\:ring-offset-green-200{--tw-ring-offset-color:#a7f3d0}.lg\:ring-offset-green-300{--tw-ring-offset-color:#6ee7b7}.lg\:ring-offset-green-400{--tw-ring-offset-color:#34d399}.lg\:ring-offset-green-500{--tw-ring-offset-color:#10b981}.lg\:ring-offset-green-600{--tw-ring-offset-color:#059669}.lg\:ring-offset-green-700{--tw-ring-offset-color:#047857}.lg\:ring-offset-green-800{--tw-ring-offset-color:#065f46}.lg\:ring-offset-green-900{--tw-ring-offset-color:#064e3b}.lg\:ring-offset-blue-50{--tw-ring-offset-color:#eff6ff}.lg\:ring-offset-blue-100{--tw-ring-offset-color:#dbeafe}.lg\:ring-offset-blue-200{--tw-ring-offset-color:#bfdbfe}.lg\:ring-offset-blue-300{--tw-ring-offset-color:#93c5fd}.lg\:ring-offset-blue-400{--tw-ring-offset-color:#60a5fa}.lg\:ring-offset-blue-500{--tw-ring-offset-color:#3b82f6}.lg\:ring-offset-blue-600{--tw-ring-offset-color:#2563eb}.lg\:ring-offset-blue-700{--tw-ring-offset-color:#1d4ed8}.lg\:ring-offset-blue-800{--tw-ring-offset-color:#1e40af}.lg\:ring-offset-blue-900{--tw-ring-offset-color:#1e3a8a}.lg\:ring-offset-indigo-50{--tw-ring-offset-color:#eef2ff}.lg\:ring-offset-indigo-100{--tw-ring-offset-color:#e0e7ff}.lg\:ring-offset-indigo-200{--tw-ring-offset-color:#c7d2fe}.lg\:ring-offset-indigo-300{--tw-ring-offset-color:#a5b4fc}.lg\:ring-offset-indigo-400{--tw-ring-offset-color:#818cf8}.lg\:ring-offset-indigo-500{--tw-ring-offset-color:#6366f1}.lg\:ring-offset-indigo-600{--tw-ring-offset-color:#4f46e5}.lg\:ring-offset-indigo-700{--tw-ring-offset-color:#4338ca}.lg\:ring-offset-indigo-800{--tw-ring-offset-color:#3730a3}.lg\:ring-offset-indigo-900{--tw-ring-offset-color:#312e81}.lg\:ring-offset-purple-50{--tw-ring-offset-color:#f5f3ff}.lg\:ring-offset-purple-100{--tw-ring-offset-color:#ede9fe}.lg\:ring-offset-purple-200{--tw-ring-offset-color:#ddd6fe}.lg\:ring-offset-purple-300{--tw-ring-offset-color:#c4b5fd}.lg\:ring-offset-purple-400{--tw-ring-offset-color:#a78bfa}.lg\:ring-offset-purple-500{--tw-ring-offset-color:#8b5cf6}.lg\:ring-offset-purple-600{--tw-ring-offset-color:#7c3aed}.lg\:ring-offset-purple-700{--tw-ring-offset-color:#6d28d9}.lg\:ring-offset-purple-800{--tw-ring-offset-color:#5b21b6}.lg\:ring-offset-purple-900{--tw-ring-offset-color:#4c1d95}.lg\:ring-offset-pink-50{--tw-ring-offset-color:#fdf2f8}.lg\:ring-offset-pink-100{--tw-ring-offset-color:#fce7f3}.lg\:ring-offset-pink-200{--tw-ring-offset-color:#fbcfe8}.lg\:ring-offset-pink-300{--tw-ring-offset-color:#f9a8d4}.lg\:ring-offset-pink-400{--tw-ring-offset-color:#f472b6}.lg\:ring-offset-pink-500{--tw-ring-offset-color:#ec4899}.lg\:ring-offset-pink-600{--tw-ring-offset-color:#db2777}.lg\:ring-offset-pink-700{--tw-ring-offset-color:#be185d}.lg\:ring-offset-pink-800{--tw-ring-offset-color:#9d174d}.lg\:ring-offset-pink-900{--tw-ring-offset-color:#831843}.lg\:focus-within\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.lg\:focus-within\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.lg\:focus-within\:ring-offset-black:focus-within{--tw-ring-offset-color:#000}.lg\:focus-within\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.lg\:focus-within\:ring-offset-gray-50:focus-within{--tw-ring-offset-color:#f9fafb}.lg\:focus-within\:ring-offset-gray-100:focus-within{--tw-ring-offset-color:#f3f4f6}.lg\:focus-within\:ring-offset-gray-200:focus-within{--tw-ring-offset-color:#e5e7eb}.lg\:focus-within\:ring-offset-gray-300:focus-within{--tw-ring-offset-color:#d1d5db}.lg\:focus-within\:ring-offset-gray-400:focus-within{--tw-ring-offset-color:#9ca3af}.lg\:focus-within\:ring-offset-gray-500:focus-within{--tw-ring-offset-color:#6b7280}.lg\:focus-within\:ring-offset-gray-600:focus-within{--tw-ring-offset-color:#4b5563}.lg\:focus-within\:ring-offset-gray-700:focus-within{--tw-ring-offset-color:#374151}.lg\:focus-within\:ring-offset-gray-800:focus-within{--tw-ring-offset-color:#1f2937}.lg\:focus-within\:ring-offset-gray-900:focus-within{--tw-ring-offset-color:#111827}.lg\:focus-within\:ring-offset-red-50:focus-within{--tw-ring-offset-color:#fef2f2}.lg\:focus-within\:ring-offset-red-100:focus-within{--tw-ring-offset-color:#fee2e2}.lg\:focus-within\:ring-offset-red-200:focus-within{--tw-ring-offset-color:#fecaca}.lg\:focus-within\:ring-offset-red-300:focus-within{--tw-ring-offset-color:#fca5a5}.lg\:focus-within\:ring-offset-red-400:focus-within{--tw-ring-offset-color:#f87171}.lg\:focus-within\:ring-offset-red-500:focus-within{--tw-ring-offset-color:#ef4444}.lg\:focus-within\:ring-offset-red-600:focus-within{--tw-ring-offset-color:#dc2626}.lg\:focus-within\:ring-offset-red-700:focus-within{--tw-ring-offset-color:#b91c1c}.lg\:focus-within\:ring-offset-red-800:focus-within{--tw-ring-offset-color:#991b1b}.lg\:focus-within\:ring-offset-red-900:focus-within{--tw-ring-offset-color:#7f1d1d}.lg\:focus-within\:ring-offset-yellow-50:focus-within{--tw-ring-offset-color:#fffbeb}.lg\:focus-within\:ring-offset-yellow-100:focus-within{--tw-ring-offset-color:#fef3c7}.lg\:focus-within\:ring-offset-yellow-200:focus-within{--tw-ring-offset-color:#fde68a}.lg\:focus-within\:ring-offset-yellow-300:focus-within{--tw-ring-offset-color:#fcd34d}.lg\:focus-within\:ring-offset-yellow-400:focus-within{--tw-ring-offset-color:#fbbf24}.lg\:focus-within\:ring-offset-yellow-500:focus-within{--tw-ring-offset-color:#f59e0b}.lg\:focus-within\:ring-offset-yellow-600:focus-within{--tw-ring-offset-color:#d97706}.lg\:focus-within\:ring-offset-yellow-700:focus-within{--tw-ring-offset-color:#b45309}.lg\:focus-within\:ring-offset-yellow-800:focus-within{--tw-ring-offset-color:#92400e}.lg\:focus-within\:ring-offset-yellow-900:focus-within{--tw-ring-offset-color:#78350f}.lg\:focus-within\:ring-offset-green-50:focus-within{--tw-ring-offset-color:#ecfdf5}.lg\:focus-within\:ring-offset-green-100:focus-within{--tw-ring-offset-color:#d1fae5}.lg\:focus-within\:ring-offset-green-200:focus-within{--tw-ring-offset-color:#a7f3d0}.lg\:focus-within\:ring-offset-green-300:focus-within{--tw-ring-offset-color:#6ee7b7}.lg\:focus-within\:ring-offset-green-400:focus-within{--tw-ring-offset-color:#34d399}.lg\:focus-within\:ring-offset-green-500:focus-within{--tw-ring-offset-color:#10b981}.lg\:focus-within\:ring-offset-green-600:focus-within{--tw-ring-offset-color:#059669}.lg\:focus-within\:ring-offset-green-700:focus-within{--tw-ring-offset-color:#047857}.lg\:focus-within\:ring-offset-green-800:focus-within{--tw-ring-offset-color:#065f46}.lg\:focus-within\:ring-offset-green-900:focus-within{--tw-ring-offset-color:#064e3b}.lg\:focus-within\:ring-offset-blue-50:focus-within{--tw-ring-offset-color:#eff6ff}.lg\:focus-within\:ring-offset-blue-100:focus-within{--tw-ring-offset-color:#dbeafe}.lg\:focus-within\:ring-offset-blue-200:focus-within{--tw-ring-offset-color:#bfdbfe}.lg\:focus-within\:ring-offset-blue-300:focus-within{--tw-ring-offset-color:#93c5fd}.lg\:focus-within\:ring-offset-blue-400:focus-within{--tw-ring-offset-color:#60a5fa}.lg\:focus-within\:ring-offset-blue-500:focus-within{--tw-ring-offset-color:#3b82f6}.lg\:focus-within\:ring-offset-blue-600:focus-within{--tw-ring-offset-color:#2563eb}.lg\:focus-within\:ring-offset-blue-700:focus-within{--tw-ring-offset-color:#1d4ed8}.lg\:focus-within\:ring-offset-blue-800:focus-within{--tw-ring-offset-color:#1e40af}.lg\:focus-within\:ring-offset-blue-900:focus-within{--tw-ring-offset-color:#1e3a8a}.lg\:focus-within\:ring-offset-indigo-50:focus-within{--tw-ring-offset-color:#eef2ff}.lg\:focus-within\:ring-offset-indigo-100:focus-within{--tw-ring-offset-color:#e0e7ff}.lg\:focus-within\:ring-offset-indigo-200:focus-within{--tw-ring-offset-color:#c7d2fe}.lg\:focus-within\:ring-offset-indigo-300:focus-within{--tw-ring-offset-color:#a5b4fc}.lg\:focus-within\:ring-offset-indigo-400:focus-within{--tw-ring-offset-color:#818cf8}.lg\:focus-within\:ring-offset-indigo-500:focus-within{--tw-ring-offset-color:#6366f1}.lg\:focus-within\:ring-offset-indigo-600:focus-within{--tw-ring-offset-color:#4f46e5}.lg\:focus-within\:ring-offset-indigo-700:focus-within{--tw-ring-offset-color:#4338ca}.lg\:focus-within\:ring-offset-indigo-800:focus-within{--tw-ring-offset-color:#3730a3}.lg\:focus-within\:ring-offset-indigo-900:focus-within{--tw-ring-offset-color:#312e81}.lg\:focus-within\:ring-offset-purple-50:focus-within{--tw-ring-offset-color:#f5f3ff}.lg\:focus-within\:ring-offset-purple-100:focus-within{--tw-ring-offset-color:#ede9fe}.lg\:focus-within\:ring-offset-purple-200:focus-within{--tw-ring-offset-color:#ddd6fe}.lg\:focus-within\:ring-offset-purple-300:focus-within{--tw-ring-offset-color:#c4b5fd}.lg\:focus-within\:ring-offset-purple-400:focus-within{--tw-ring-offset-color:#a78bfa}.lg\:focus-within\:ring-offset-purple-500:focus-within{--tw-ring-offset-color:#8b5cf6}.lg\:focus-within\:ring-offset-purple-600:focus-within{--tw-ring-offset-color:#7c3aed}.lg\:focus-within\:ring-offset-purple-700:focus-within{--tw-ring-offset-color:#6d28d9}.lg\:focus-within\:ring-offset-purple-800:focus-within{--tw-ring-offset-color:#5b21b6}.lg\:focus-within\:ring-offset-purple-900:focus-within{--tw-ring-offset-color:#4c1d95}.lg\:focus-within\:ring-offset-pink-50:focus-within{--tw-ring-offset-color:#fdf2f8}.lg\:focus-within\:ring-offset-pink-100:focus-within{--tw-ring-offset-color:#fce7f3}.lg\:focus-within\:ring-offset-pink-200:focus-within{--tw-ring-offset-color:#fbcfe8}.lg\:focus-within\:ring-offset-pink-300:focus-within{--tw-ring-offset-color:#f9a8d4}.lg\:focus-within\:ring-offset-pink-400:focus-within{--tw-ring-offset-color:#f472b6}.lg\:focus-within\:ring-offset-pink-500:focus-within{--tw-ring-offset-color:#ec4899}.lg\:focus-within\:ring-offset-pink-600:focus-within{--tw-ring-offset-color:#db2777}.lg\:focus-within\:ring-offset-pink-700:focus-within{--tw-ring-offset-color:#be185d}.lg\:focus-within\:ring-offset-pink-800:focus-within{--tw-ring-offset-color:#9d174d}.lg\:focus-within\:ring-offset-pink-900:focus-within{--tw-ring-offset-color:#831843}.lg\:focus\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.lg\:focus\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.lg\:focus\:ring-offset-black:focus{--tw-ring-offset-color:#000}.lg\:focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.lg\:focus\:ring-offset-gray-50:focus{--tw-ring-offset-color:#f9fafb}.lg\:focus\:ring-offset-gray-100:focus{--tw-ring-offset-color:#f3f4f6}.lg\:focus\:ring-offset-gray-200:focus{--tw-ring-offset-color:#e5e7eb}.lg\:focus\:ring-offset-gray-300:focus{--tw-ring-offset-color:#d1d5db}.lg\:focus\:ring-offset-gray-400:focus{--tw-ring-offset-color:#9ca3af}.lg\:focus\:ring-offset-gray-500:focus{--tw-ring-offset-color:#6b7280}.lg\:focus\:ring-offset-gray-600:focus{--tw-ring-offset-color:#4b5563}.lg\:focus\:ring-offset-gray-700:focus{--tw-ring-offset-color:#374151}.lg\:focus\:ring-offset-gray-800:focus{--tw-ring-offset-color:#1f2937}.lg\:focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:#111827}.lg\:focus\:ring-offset-red-50:focus{--tw-ring-offset-color:#fef2f2}.lg\:focus\:ring-offset-red-100:focus{--tw-ring-offset-color:#fee2e2}.lg\:focus\:ring-offset-red-200:focus{--tw-ring-offset-color:#fecaca}.lg\:focus\:ring-offset-red-300:focus{--tw-ring-offset-color:#fca5a5}.lg\:focus\:ring-offset-red-400:focus{--tw-ring-offset-color:#f87171}.lg\:focus\:ring-offset-red-500:focus{--tw-ring-offset-color:#ef4444}.lg\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.lg\:focus\:ring-offset-red-700:focus{--tw-ring-offset-color:#b91c1c}.lg\:focus\:ring-offset-red-800:focus{--tw-ring-offset-color:#991b1b}.lg\:focus\:ring-offset-red-900:focus{--tw-ring-offset-color:#7f1d1d}.lg\:focus\:ring-offset-yellow-50:focus{--tw-ring-offset-color:#fffbeb}.lg\:focus\:ring-offset-yellow-100:focus{--tw-ring-offset-color:#fef3c7}.lg\:focus\:ring-offset-yellow-200:focus{--tw-ring-offset-color:#fde68a}.lg\:focus\:ring-offset-yellow-300:focus{--tw-ring-offset-color:#fcd34d}.lg\:focus\:ring-offset-yellow-400:focus{--tw-ring-offset-color:#fbbf24}.lg\:focus\:ring-offset-yellow-500:focus{--tw-ring-offset-color:#f59e0b}.lg\:focus\:ring-offset-yellow-600:focus{--tw-ring-offset-color:#d97706}.lg\:focus\:ring-offset-yellow-700:focus{--tw-ring-offset-color:#b45309}.lg\:focus\:ring-offset-yellow-800:focus{--tw-ring-offset-color:#92400e}.lg\:focus\:ring-offset-yellow-900:focus{--tw-ring-offset-color:#78350f}.lg\:focus\:ring-offset-green-50:focus{--tw-ring-offset-color:#ecfdf5}.lg\:focus\:ring-offset-green-100:focus{--tw-ring-offset-color:#d1fae5}.lg\:focus\:ring-offset-green-200:focus{--tw-ring-offset-color:#a7f3d0}.lg\:focus\:ring-offset-green-300:focus{--tw-ring-offset-color:#6ee7b7}.lg\:focus\:ring-offset-green-400:focus{--tw-ring-offset-color:#34d399}.lg\:focus\:ring-offset-green-500:focus{--tw-ring-offset-color:#10b981}.lg\:focus\:ring-offset-green-600:focus{--tw-ring-offset-color:#059669}.lg\:focus\:ring-offset-green-700:focus{--tw-ring-offset-color:#047857}.lg\:focus\:ring-offset-green-800:focus{--tw-ring-offset-color:#065f46}.lg\:focus\:ring-offset-green-900:focus{--tw-ring-offset-color:#064e3b}.lg\:focus\:ring-offset-blue-50:focus{--tw-ring-offset-color:#eff6ff}.lg\:focus\:ring-offset-blue-100:focus{--tw-ring-offset-color:#dbeafe}.lg\:focus\:ring-offset-blue-200:focus{--tw-ring-offset-color:#bfdbfe}.lg\:focus\:ring-offset-blue-300:focus{--tw-ring-offset-color:#93c5fd}.lg\:focus\:ring-offset-blue-400:focus{--tw-ring-offset-color:#60a5fa}.lg\:focus\:ring-offset-blue-500:focus{--tw-ring-offset-color:#3b82f6}.lg\:focus\:ring-offset-blue-600:focus{--tw-ring-offset-color:#2563eb}.lg\:focus\:ring-offset-blue-700:focus{--tw-ring-offset-color:#1d4ed8}.lg\:focus\:ring-offset-blue-800:focus{--tw-ring-offset-color:#1e40af}.lg\:focus\:ring-offset-blue-900:focus{--tw-ring-offset-color:#1e3a8a}.lg\:focus\:ring-offset-indigo-50:focus{--tw-ring-offset-color:#eef2ff}.lg\:focus\:ring-offset-indigo-100:focus{--tw-ring-offset-color:#e0e7ff}.lg\:focus\:ring-offset-indigo-200:focus{--tw-ring-offset-color:#c7d2fe}.lg\:focus\:ring-offset-indigo-300:focus{--tw-ring-offset-color:#a5b4fc}.lg\:focus\:ring-offset-indigo-400:focus{--tw-ring-offset-color:#818cf8}.lg\:focus\:ring-offset-indigo-500:focus{--tw-ring-offset-color:#6366f1}.lg\:focus\:ring-offset-indigo-600:focus{--tw-ring-offset-color:#4f46e5}.lg\:focus\:ring-offset-indigo-700:focus{--tw-ring-offset-color:#4338ca}.lg\:focus\:ring-offset-indigo-800:focus{--tw-ring-offset-color:#3730a3}.lg\:focus\:ring-offset-indigo-900:focus{--tw-ring-offset-color:#312e81}.lg\:focus\:ring-offset-purple-50:focus{--tw-ring-offset-color:#f5f3ff}.lg\:focus\:ring-offset-purple-100:focus{--tw-ring-offset-color:#ede9fe}.lg\:focus\:ring-offset-purple-200:focus{--tw-ring-offset-color:#ddd6fe}.lg\:focus\:ring-offset-purple-300:focus{--tw-ring-offset-color:#c4b5fd}.lg\:focus\:ring-offset-purple-400:focus{--tw-ring-offset-color:#a78bfa}.lg\:focus\:ring-offset-purple-500:focus{--tw-ring-offset-color:#8b5cf6}.lg\:focus\:ring-offset-purple-600:focus{--tw-ring-offset-color:#7c3aed}.lg\:focus\:ring-offset-purple-700:focus{--tw-ring-offset-color:#6d28d9}.lg\:focus\:ring-offset-purple-800:focus{--tw-ring-offset-color:#5b21b6}.lg\:focus\:ring-offset-purple-900:focus{--tw-ring-offset-color:#4c1d95}.lg\:focus\:ring-offset-pink-50:focus{--tw-ring-offset-color:#fdf2f8}.lg\:focus\:ring-offset-pink-100:focus{--tw-ring-offset-color:#fce7f3}.lg\:focus\:ring-offset-pink-200:focus{--tw-ring-offset-color:#fbcfe8}.lg\:focus\:ring-offset-pink-300:focus{--tw-ring-offset-color:#f9a8d4}.lg\:focus\:ring-offset-pink-400:focus{--tw-ring-offset-color:#f472b6}.lg\:focus\:ring-offset-pink-500:focus{--tw-ring-offset-color:#ec4899}.lg\:focus\:ring-offset-pink-600:focus{--tw-ring-offset-color:#db2777}.lg\:focus\:ring-offset-pink-700:focus{--tw-ring-offset-color:#be185d}.lg\:focus\:ring-offset-pink-800:focus{--tw-ring-offset-color:#9d174d}.lg\:focus\:ring-offset-pink-900:focus{--tw-ring-offset-color:#831843}.lg\:filter{--tw-blur:var(--tw-empty, );/*!*//*!*/--tw-brightness:var(--tw-empty, );/*!*//*!*/--tw-contrast:var(--tw-empty, );/*!*//*!*/--tw-grayscale:var(--tw-empty, );/*!*//*!*/--tw-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-invert:var(--tw-empty, );/*!*//*!*/--tw-saturate:var(--tw-empty, );/*!*//*!*/--tw-sepia:var(--tw-empty, );/*!*//*!*/--tw-drop-shadow:var(--tw-empty, );/*!*//*!*/filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lg\:filter-none{filter:none}.lg\:blur-0{--tw-blur:blur(0)}.lg\:blur-none{--tw-blur:blur(0)}.lg\:blur-sm{--tw-blur:blur(4px)}.lg\:blur{--tw-blur:blur(8px)}.lg\:blur-md{--tw-blur:blur(12px)}.lg\:blur-lg{--tw-blur:blur(16px)}.lg\:blur-xl{--tw-blur:blur(24px)}.lg\:blur-2xl{--tw-blur:blur(40px)}.lg\:blur-3xl{--tw-blur:blur(64px)}.lg\:brightness-0{--tw-brightness:brightness(0)}.lg\:brightness-50{--tw-brightness:brightness(.5)}.lg\:brightness-75{--tw-brightness:brightness(.75)}.lg\:brightness-90{--tw-brightness:brightness(.9)}.lg\:brightness-95{--tw-brightness:brightness(.95)}.lg\:brightness-100{--tw-brightness:brightness(1)}.lg\:brightness-105{--tw-brightness:brightness(1.05)}.lg\:brightness-110{--tw-brightness:brightness(1.1)}.lg\:brightness-125{--tw-brightness:brightness(1.25)}.lg\:brightness-150{--tw-brightness:brightness(1.5)}.lg\:brightness-200{--tw-brightness:brightness(2)}.lg\:contrast-0{--tw-contrast:contrast(0)}.lg\:contrast-50{--tw-contrast:contrast(.5)}.lg\:contrast-75{--tw-contrast:contrast(.75)}.lg\:contrast-100{--tw-contrast:contrast(1)}.lg\:contrast-125{--tw-contrast:contrast(1.25)}.lg\:contrast-150{--tw-contrast:contrast(1.5)}.lg\:contrast-200{--tw-contrast:contrast(2)}.lg\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.lg\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.lg\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.lg\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.lg\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.lg\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.lg\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.lg\:grayscale-0{--tw-grayscale:grayscale(0)}.lg\:grayscale{--tw-grayscale:grayscale(100%)}.lg\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.lg\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.lg\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.lg\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.lg\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.lg\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.lg\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.lg\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.lg\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.lg\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.lg\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.lg\:invert-0{--tw-invert:invert(0)}.lg\:invert{--tw-invert:invert(100%)}.lg\:saturate-0{--tw-saturate:saturate(0)}.lg\:saturate-50{--tw-saturate:saturate(.5)}.lg\:saturate-100{--tw-saturate:saturate(1)}.lg\:saturate-150{--tw-saturate:saturate(1.5)}.lg\:saturate-200{--tw-saturate:saturate(2)}.lg\:sepia-0{--tw-sepia:sepia(0)}.lg\:sepia{--tw-sepia:sepia(100%)}.lg\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty, );/*!*//*!*/--tw-backdrop-brightness:var(--tw-empty, );/*!*//*!*/--tw-backdrop-contrast:var(--tw-empty, );/*!*//*!*/--tw-backdrop-grayscale:var(--tw-empty, );/*!*//*!*/--tw-backdrop-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-invert:var(--tw-empty, );/*!*//*!*/--tw-backdrop-opacity:var(--tw-empty, );/*!*//*!*/--tw-backdrop-saturate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-sepia:var(--tw-empty, );/*!*//*!*/-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lg\:backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.lg\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.lg\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.lg\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lg\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.lg\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.lg\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.lg\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.lg\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.lg\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.lg\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.lg\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.lg\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.lg\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.lg\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.lg\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.lg\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.lg\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.lg\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.lg\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.lg\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.lg\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.lg\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.lg\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.lg\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.lg\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.lg\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.lg\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.lg\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.lg\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.lg\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.lg\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.lg\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.lg\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.lg\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.lg\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.lg\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.lg\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.lg\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.lg\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.lg\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.lg\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.lg\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.lg\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.lg\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.lg\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.lg\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.lg\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.lg\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.lg\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.lg\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.lg\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.lg\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.lg\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.lg\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.lg\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.lg\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.lg\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.lg\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.lg\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.lg\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.lg\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.lg\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.lg\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.lg\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.lg\:transition-none{transition-property:none}.lg\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.lg\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.lg\:transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.lg\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.lg\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.lg\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.lg\:delay-75{transition-delay:75ms}.lg\:delay-100{transition-delay:0.1s}.lg\:delay-150{transition-delay:150ms}.lg\:delay-200{transition-delay:0.2s}.lg\:delay-300{transition-delay:0.3s}.lg\:delay-500{transition-delay:0.5s}.lg\:delay-700{transition-delay:0.7s}.lg\:delay-1000{transition-delay:1s}.lg\:duration-75{transition-duration:75ms}.lg\:duration-100{transition-duration:.1s}.lg\:duration-150{transition-duration:150ms}.lg\:duration-200{transition-duration:.2s}.lg\:duration-300{transition-duration:.3s}.lg\:duration-500{transition-duration:.5s}.lg\:duration-700{transition-duration:.7s}.lg\:duration-1000{transition-duration:1s}.lg\:ease-linear{transition-timing-function:linear}.lg\:ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.lg\:ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.lg\:ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}}@media (min-width:1280px){.xl\:container{width:100%}@media (min-width:640px){.xl\:container{max-width:640px}}@media (min-width:768px){.xl\:container{max-width:768px}}@media (min-width:1024px){.xl\:container{max-width:1024px}}@media (min-width:1280px){.xl\:container{max-width:1280px}}@media (min-width:1536px){.xl\:container{max-width:1536px}}.xl\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:focus-within\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:focus-within\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:pointer-events-none{pointer-events:none}.xl\:pointer-events-auto{pointer-events:auto}.xl\:visible{visibility:visible}.xl\:invisible{visibility:hidden}.xl\:static{position:static}.xl\:fixed{position:fixed}.xl\:absolute{position:absolute}.xl\:relative{position:relative}.xl\:sticky{position:sticky}.xl\:inset-0{top:0;right:0;bottom:0;left:0}.xl\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.xl\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.xl\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.xl\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.xl\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.xl\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.xl\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.xl\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.xl\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.xl\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.xl\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.xl\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.xl\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.xl\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.xl\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.xl\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.xl\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.xl\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.xl\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.xl\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.xl\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.xl\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.xl\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.xl\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.xl\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.xl\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.xl\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.xl\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.xl\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.xl\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xl\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.xl\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.xl\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.xl\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.xl\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.xl\:-inset-0{top:0;right:0;bottom:0;left:0}.xl\:-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.xl\:-inset-2{top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.xl\:-inset-3{top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem}.xl\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.xl\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.xl\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.xl\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.xl\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.xl\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.xl\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.xl\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.xl\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.xl\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.xl\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.xl\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.xl\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.xl\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.xl\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.xl\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.xl\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.xl\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.xl\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.xl\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.xl\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.xl\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.xl\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.xl\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.xl\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.xl\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.xl\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.xl\:-inset-0\.5{top:-.125rem;right:-.125rem;bottom:-.125rem;left:-.125rem}.xl\:-inset-1\.5{top:-.375rem;right:-.375rem;bottom:-.375rem;left:-.375rem}.xl\:-inset-2\.5{top:-.625rem;right:-.625rem;bottom:-.625rem;left:-.625rem}.xl\:-inset-3\.5{top:-.875rem;right:-.875rem;bottom:-.875rem;left:-.875rem}.xl\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.xl\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.xl\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.xl\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.xl\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.xl\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.xl\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.xl\:-inset-1\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.xl\:-inset-1\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.xl\:-inset-2\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.xl\:-inset-1\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.xl\:-inset-2\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.xl\:-inset-3\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.xl\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.xl\:inset-x-0{left:0;right:0}.xl\:inset-x-1{left:.25rem;right:.25rem}.xl\:inset-x-2{left:.5rem;right:.5rem}.xl\:inset-x-3{left:.75rem;right:.75rem}.xl\:inset-x-4{left:1rem;right:1rem}.xl\:inset-x-5{left:1.25rem;right:1.25rem}.xl\:inset-x-6{left:1.5rem;right:1.5rem}.xl\:inset-x-7{left:1.75rem;right:1.75rem}.xl\:inset-x-8{left:2rem;right:2rem}.xl\:inset-x-9{left:2.25rem;right:2.25rem}.xl\:inset-x-10{left:2.5rem;right:2.5rem}.xl\:inset-x-11{left:2.75rem;right:2.75rem}.xl\:inset-x-12{left:3rem;right:3rem}.xl\:inset-x-14{left:3.5rem;right:3.5rem}.xl\:inset-x-16{left:4rem;right:4rem}.xl\:inset-x-20{left:5rem;right:5rem}.xl\:inset-x-24{left:6rem;right:6rem}.xl\:inset-x-28{left:7rem;right:7rem}.xl\:inset-x-32{left:8rem;right:8rem}.xl\:inset-x-36{left:9rem;right:9rem}.xl\:inset-x-40{left:10rem;right:10rem}.xl\:inset-x-44{left:11rem;right:11rem}.xl\:inset-x-48{left:12rem;right:12rem}.xl\:inset-x-52{left:13rem;right:13rem}.xl\:inset-x-56{left:14rem;right:14rem}.xl\:inset-x-60{left:15rem;right:15rem}.xl\:inset-x-64{left:16rem;right:16rem}.xl\:inset-x-72{left:18rem;right:18rem}.xl\:inset-x-80{left:20rem;right:20rem}.xl\:inset-x-96{left:24rem;right:24rem}.xl\:inset-x-auto{left:auto;right:auto}.xl\:inset-x-px{left:1px;right:1px}.xl\:inset-x-0\.5{left:.125rem;right:.125rem}.xl\:inset-x-1\.5{left:.375rem;right:.375rem}.xl\:inset-x-2\.5{left:.625rem;right:.625rem}.xl\:inset-x-3\.5{left:.875rem;right:.875rem}.xl\:-inset-x-0{left:0;right:0}.xl\:-inset-x-1{left:-.25rem;right:-.25rem}.xl\:-inset-x-2{left:-.5rem;right:-.5rem}.xl\:-inset-x-3{left:-.75rem;right:-.75rem}.xl\:-inset-x-4{left:-1rem;right:-1rem}.xl\:-inset-x-5{left:-1.25rem;right:-1.25rem}.xl\:-inset-x-6{left:-1.5rem;right:-1.5rem}.xl\:-inset-x-7{left:-1.75rem;right:-1.75rem}.xl\:-inset-x-8{left:-2rem;right:-2rem}.xl\:-inset-x-9{left:-2.25rem;right:-2.25rem}.xl\:-inset-x-10{left:-2.5rem;right:-2.5rem}.xl\:-inset-x-11{left:-2.75rem;right:-2.75rem}.xl\:-inset-x-12{left:-3rem;right:-3rem}.xl\:-inset-x-14{left:-3.5rem;right:-3.5rem}.xl\:-inset-x-16{left:-4rem;right:-4rem}.xl\:-inset-x-20{left:-5rem;right:-5rem}.xl\:-inset-x-24{left:-6rem;right:-6rem}.xl\:-inset-x-28{left:-7rem;right:-7rem}.xl\:-inset-x-32{left:-8rem;right:-8rem}.xl\:-inset-x-36{left:-9rem;right:-9rem}.xl\:-inset-x-40{left:-10rem;right:-10rem}.xl\:-inset-x-44{left:-11rem;right:-11rem}.xl\:-inset-x-48{left:-12rem;right:-12rem}.xl\:-inset-x-52{left:-13rem;right:-13rem}.xl\:-inset-x-56{left:-14rem;right:-14rem}.xl\:-inset-x-60{left:-15rem;right:-15rem}.xl\:-inset-x-64{left:-16rem;right:-16rem}.xl\:-inset-x-72{left:-18rem;right:-18rem}.xl\:-inset-x-80{left:-20rem;right:-20rem}.xl\:-inset-x-96{left:-24rem;right:-24rem}.xl\:-inset-x-px{left:-1px;right:-1px}.xl\:-inset-x-0\.5{left:-.125rem;right:-.125rem}.xl\:-inset-x-1\.5{left:-.375rem;right:-.375rem}.xl\:-inset-x-2\.5{left:-.625rem;right:-.625rem}.xl\:-inset-x-3\.5{left:-.875rem;right:-.875rem}.xl\:inset-x-1\/2{left:50%;right:50%}.xl\:inset-x-1\/3{left:33.333333%;right:33.333333%}.xl\:inset-x-2\/3{left:66.666667%;right:66.666667%}.xl\:inset-x-1\/4{left:25%;right:25%}.xl\:inset-x-2\/4{left:50%;right:50%}.xl\:inset-x-3\/4{left:75%;right:75%}.xl\:inset-x-full{left:100%;right:100%}.xl\:-inset-x-1\/2{left:-50%;right:-50%}.xl\:-inset-x-1\/3{left:-33.333333%;right:-33.333333%}.xl\:-inset-x-2\/3{left:-66.666667%;right:-66.666667%}.xl\:-inset-x-1\/4{left:-25%;right:-25%}.xl\:-inset-x-2\/4{left:-50%;right:-50%}.xl\:-inset-x-3\/4{left:-75%;right:-75%}.xl\:-inset-x-full{left:-100%;right:-100%}.xl\:inset-y-0{top:0;bottom:0}.xl\:inset-y-1{top:.25rem;bottom:.25rem}.xl\:inset-y-2{top:.5rem;bottom:.5rem}.xl\:inset-y-3{top:.75rem;bottom:.75rem}.xl\:inset-y-4{top:1rem;bottom:1rem}.xl\:inset-y-5{top:1.25rem;bottom:1.25rem}.xl\:inset-y-6{top:1.5rem;bottom:1.5rem}.xl\:inset-y-7{top:1.75rem;bottom:1.75rem}.xl\:inset-y-8{top:2rem;bottom:2rem}.xl\:inset-y-9{top:2.25rem;bottom:2.25rem}.xl\:inset-y-10{top:2.5rem;bottom:2.5rem}.xl\:inset-y-11{top:2.75rem;bottom:2.75rem}.xl\:inset-y-12{top:3rem;bottom:3rem}.xl\:inset-y-14{top:3.5rem;bottom:3.5rem}.xl\:inset-y-16{top:4rem;bottom:4rem}.xl\:inset-y-20{top:5rem;bottom:5rem}.xl\:inset-y-24{top:6rem;bottom:6rem}.xl\:inset-y-28{top:7rem;bottom:7rem}.xl\:inset-y-32{top:8rem;bottom:8rem}.xl\:inset-y-36{top:9rem;bottom:9rem}.xl\:inset-y-40{top:10rem;bottom:10rem}.xl\:inset-y-44{top:11rem;bottom:11rem}.xl\:inset-y-48{top:12rem;bottom:12rem}.xl\:inset-y-52{top:13rem;bottom:13rem}.xl\:inset-y-56{top:14rem;bottom:14rem}.xl\:inset-y-60{top:15rem;bottom:15rem}.xl\:inset-y-64{top:16rem;bottom:16rem}.xl\:inset-y-72{top:18rem;bottom:18rem}.xl\:inset-y-80{top:20rem;bottom:20rem}.xl\:inset-y-96{top:24rem;bottom:24rem}.xl\:inset-y-auto{top:auto;bottom:auto}.xl\:inset-y-px{top:1px;bottom:1px}.xl\:inset-y-0\.5{top:.125rem;bottom:.125rem}.xl\:inset-y-1\.5{top:.375rem;bottom:.375rem}.xl\:inset-y-2\.5{top:.625rem;bottom:.625rem}.xl\:inset-y-3\.5{top:.875rem;bottom:.875rem}.xl\:-inset-y-0{top:0;bottom:0}.xl\:-inset-y-1{top:-.25rem;bottom:-.25rem}.xl\:-inset-y-2{top:-.5rem;bottom:-.5rem}.xl\:-inset-y-3{top:-.75rem;bottom:-.75rem}.xl\:-inset-y-4{top:-1rem;bottom:-1rem}.xl\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.xl\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.xl\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.xl\:-inset-y-8{top:-2rem;bottom:-2rem}.xl\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.xl\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.xl\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.xl\:-inset-y-12{top:-3rem;bottom:-3rem}.xl\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.xl\:-inset-y-16{top:-4rem;bottom:-4rem}.xl\:-inset-y-20{top:-5rem;bottom:-5rem}.xl\:-inset-y-24{top:-6rem;bottom:-6rem}.xl\:-inset-y-28{top:-7rem;bottom:-7rem}.xl\:-inset-y-32{top:-8rem;bottom:-8rem}.xl\:-inset-y-36{top:-9rem;bottom:-9rem}.xl\:-inset-y-40{top:-10rem;bottom:-10rem}.xl\:-inset-y-44{top:-11rem;bottom:-11rem}.xl\:-inset-y-48{top:-12rem;bottom:-12rem}.xl\:-inset-y-52{top:-13rem;bottom:-13rem}.xl\:-inset-y-56{top:-14rem;bottom:-14rem}.xl\:-inset-y-60{top:-15rem;bottom:-15rem}.xl\:-inset-y-64{top:-16rem;bottom:-16rem}.xl\:-inset-y-72{top:-18rem;bottom:-18rem}.xl\:-inset-y-80{top:-20rem;bottom:-20rem}.xl\:-inset-y-96{top:-24rem;bottom:-24rem}.xl\:-inset-y-px{top:-1px;bottom:-1px}.xl\:-inset-y-0\.5{top:-.125rem;bottom:-.125rem}.xl\:-inset-y-1\.5{top:-.375rem;bottom:-.375rem}.xl\:-inset-y-2\.5{top:-.625rem;bottom:-.625rem}.xl\:-inset-y-3\.5{top:-.875rem;bottom:-.875rem}.xl\:inset-y-1\/2{top:50%;bottom:50%}.xl\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.xl\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.xl\:inset-y-1\/4{top:25%;bottom:25%}.xl\:inset-y-2\/4{top:50%;bottom:50%}.xl\:inset-y-3\/4{top:75%;bottom:75%}.xl\:inset-y-full{top:100%;bottom:100%}.xl\:-inset-y-1\/2{top:-50%;bottom:-50%}.xl\:-inset-y-1\/3{top:-33.333333%;bottom:-33.333333%}.xl\:-inset-y-2\/3{top:-66.666667%;bottom:-66.666667%}.xl\:-inset-y-1\/4{top:-25%;bottom:-25%}.xl\:-inset-y-2\/4{top:-50%;bottom:-50%}.xl\:-inset-y-3\/4{top:-75%;bottom:-75%}.xl\:-inset-y-full{top:-100%;bottom:-100%}.xl\:top-0{top:0}.xl\:top-1{top:.25rem}.xl\:top-2{top:.5rem}.xl\:top-3{top:.75rem}.xl\:top-4{top:1rem}.xl\:top-5{top:1.25rem}.xl\:top-6{top:1.5rem}.xl\:top-7{top:1.75rem}.xl\:top-8{top:2rem}.xl\:top-9{top:2.25rem}.xl\:top-10{top:2.5rem}.xl\:top-11{top:2.75rem}.xl\:top-12{top:3rem}.xl\:top-14{top:3.5rem}.xl\:top-16{top:4rem}.xl\:top-20{top:5rem}.xl\:top-24{top:6rem}.xl\:top-28{top:7rem}.xl\:top-32{top:8rem}.xl\:top-36{top:9rem}.xl\:top-40{top:10rem}.xl\:top-44{top:11rem}.xl\:top-48{top:12rem}.xl\:top-52{top:13rem}.xl\:top-56{top:14rem}.xl\:top-60{top:15rem}.xl\:top-64{top:16rem}.xl\:top-72{top:18rem}.xl\:top-80{top:20rem}.xl\:top-96{top:24rem}.xl\:top-auto{top:auto}.xl\:top-px{top:1px}.xl\:top-0\.5{top:.125rem}.xl\:top-1\.5{top:.375rem}.xl\:top-2\.5{top:.625rem}.xl\:top-3\.5{top:.875rem}.xl\:-top-0{top:0}.xl\:-top-1{top:-.25rem}.xl\:-top-2{top:-.5rem}.xl\:-top-3{top:-.75rem}.xl\:-top-4{top:-1rem}.xl\:-top-5{top:-1.25rem}.xl\:-top-6{top:-1.5rem}.xl\:-top-7{top:-1.75rem}.xl\:-top-8{top:-2rem}.xl\:-top-9{top:-2.25rem}.xl\:-top-10{top:-2.5rem}.xl\:-top-11{top:-2.75rem}.xl\:-top-12{top:-3rem}.xl\:-top-14{top:-3.5rem}.xl\:-top-16{top:-4rem}.xl\:-top-20{top:-5rem}.xl\:-top-24{top:-6rem}.xl\:-top-28{top:-7rem}.xl\:-top-32{top:-8rem}.xl\:-top-36{top:-9rem}.xl\:-top-40{top:-10rem}.xl\:-top-44{top:-11rem}.xl\:-top-48{top:-12rem}.xl\:-top-52{top:-13rem}.xl\:-top-56{top:-14rem}.xl\:-top-60{top:-15rem}.xl\:-top-64{top:-16rem}.xl\:-top-72{top:-18rem}.xl\:-top-80{top:-20rem}.xl\:-top-96{top:-24rem}.xl\:-top-px{top:-1px}.xl\:-top-0\.5{top:-.125rem}.xl\:-top-1\.5{top:-.375rem}.xl\:-top-2\.5{top:-.625rem}.xl\:-top-3\.5{top:-.875rem}.xl\:top-1\/2{top:50%}.xl\:top-1\/3{top:33.333333%}.xl\:top-2\/3{top:66.666667%}.xl\:top-1\/4{top:25%}.xl\:top-2\/4{top:50%}.xl\:top-3\/4{top:75%}.xl\:top-full{top:100%}.xl\:-top-1\/2{top:-50%}.xl\:-top-1\/3{top:-33.333333%}.xl\:-top-2\/3{top:-66.666667%}.xl\:-top-1\/4{top:-25%}.xl\:-top-2\/4{top:-50%}.xl\:-top-3\/4{top:-75%}.xl\:-top-full{top:-100%}.xl\:right-0{right:0}.xl\:right-1{right:.25rem}.xl\:right-2{right:.5rem}.xl\:right-3{right:.75rem}.xl\:right-4{right:1rem}.xl\:right-5{right:1.25rem}.xl\:right-6{right:1.5rem}.xl\:right-7{right:1.75rem}.xl\:right-8{right:2rem}.xl\:right-9{right:2.25rem}.xl\:right-10{right:2.5rem}.xl\:right-11{right:2.75rem}.xl\:right-12{right:3rem}.xl\:right-14{right:3.5rem}.xl\:right-16{right:4rem}.xl\:right-20{right:5rem}.xl\:right-24{right:6rem}.xl\:right-28{right:7rem}.xl\:right-32{right:8rem}.xl\:right-36{right:9rem}.xl\:right-40{right:10rem}.xl\:right-44{right:11rem}.xl\:right-48{right:12rem}.xl\:right-52{right:13rem}.xl\:right-56{right:14rem}.xl\:right-60{right:15rem}.xl\:right-64{right:16rem}.xl\:right-72{right:18rem}.xl\:right-80{right:20rem}.xl\:right-96{right:24rem}.xl\:right-auto{right:auto}.xl\:right-px{right:1px}.xl\:right-0\.5{right:.125rem}.xl\:right-1\.5{right:.375rem}.xl\:right-2\.5{right:.625rem}.xl\:right-3\.5{right:.875rem}.xl\:-right-0{right:0}.xl\:-right-1{right:-.25rem}.xl\:-right-2{right:-.5rem}.xl\:-right-3{right:-.75rem}.xl\:-right-4{right:-1rem}.xl\:-right-5{right:-1.25rem}.xl\:-right-6{right:-1.5rem}.xl\:-right-7{right:-1.75rem}.xl\:-right-8{right:-2rem}.xl\:-right-9{right:-2.25rem}.xl\:-right-10{right:-2.5rem}.xl\:-right-11{right:-2.75rem}.xl\:-right-12{right:-3rem}.xl\:-right-14{right:-3.5rem}.xl\:-right-16{right:-4rem}.xl\:-right-20{right:-5rem}.xl\:-right-24{right:-6rem}.xl\:-right-28{right:-7rem}.xl\:-right-32{right:-8rem}.xl\:-right-36{right:-9rem}.xl\:-right-40{right:-10rem}.xl\:-right-44{right:-11rem}.xl\:-right-48{right:-12rem}.xl\:-right-52{right:-13rem}.xl\:-right-56{right:-14rem}.xl\:-right-60{right:-15rem}.xl\:-right-64{right:-16rem}.xl\:-right-72{right:-18rem}.xl\:-right-80{right:-20rem}.xl\:-right-96{right:-24rem}.xl\:-right-px{right:-1px}.xl\:-right-0\.5{right:-.125rem}.xl\:-right-1\.5{right:-.375rem}.xl\:-right-2\.5{right:-.625rem}.xl\:-right-3\.5{right:-.875rem}.xl\:right-1\/2{right:50%}.xl\:right-1\/3{right:33.333333%}.xl\:right-2\/3{right:66.666667%}.xl\:right-1\/4{right:25%}.xl\:right-2\/4{right:50%}.xl\:right-3\/4{right:75%}.xl\:right-full{right:100%}.xl\:-right-1\/2{right:-50%}.xl\:-right-1\/3{right:-33.333333%}.xl\:-right-2\/3{right:-66.666667%}.xl\:-right-1\/4{right:-25%}.xl\:-right-2\/4{right:-50%}.xl\:-right-3\/4{right:-75%}.xl\:-right-full{right:-100%}.xl\:bottom-0{bottom:0}.xl\:bottom-1{bottom:.25rem}.xl\:bottom-2{bottom:.5rem}.xl\:bottom-3{bottom:.75rem}.xl\:bottom-4{bottom:1rem}.xl\:bottom-5{bottom:1.25rem}.xl\:bottom-6{bottom:1.5rem}.xl\:bottom-7{bottom:1.75rem}.xl\:bottom-8{bottom:2rem}.xl\:bottom-9{bottom:2.25rem}.xl\:bottom-10{bottom:2.5rem}.xl\:bottom-11{bottom:2.75rem}.xl\:bottom-12{bottom:3rem}.xl\:bottom-14{bottom:3.5rem}.xl\:bottom-16{bottom:4rem}.xl\:bottom-20{bottom:5rem}.xl\:bottom-24{bottom:6rem}.xl\:bottom-28{bottom:7rem}.xl\:bottom-32{bottom:8rem}.xl\:bottom-36{bottom:9rem}.xl\:bottom-40{bottom:10rem}.xl\:bottom-44{bottom:11rem}.xl\:bottom-48{bottom:12rem}.xl\:bottom-52{bottom:13rem}.xl\:bottom-56{bottom:14rem}.xl\:bottom-60{bottom:15rem}.xl\:bottom-64{bottom:16rem}.xl\:bottom-72{bottom:18rem}.xl\:bottom-80{bottom:20rem}.xl\:bottom-96{bottom:24rem}.xl\:bottom-auto{bottom:auto}.xl\:bottom-px{bottom:1px}.xl\:bottom-0\.5{bottom:.125rem}.xl\:bottom-1\.5{bottom:.375rem}.xl\:bottom-2\.5{bottom:.625rem}.xl\:bottom-3\.5{bottom:.875rem}.xl\:-bottom-0{bottom:0}.xl\:-bottom-1{bottom:-.25rem}.xl\:-bottom-2{bottom:-.5rem}.xl\:-bottom-3{bottom:-.75rem}.xl\:-bottom-4{bottom:-1rem}.xl\:-bottom-5{bottom:-1.25rem}.xl\:-bottom-6{bottom:-1.5rem}.xl\:-bottom-7{bottom:-1.75rem}.xl\:-bottom-8{bottom:-2rem}.xl\:-bottom-9{bottom:-2.25rem}.xl\:-bottom-10{bottom:-2.5rem}.xl\:-bottom-11{bottom:-2.75rem}.xl\:-bottom-12{bottom:-3rem}.xl\:-bottom-14{bottom:-3.5rem}.xl\:-bottom-16{bottom:-4rem}.xl\:-bottom-20{bottom:-5rem}.xl\:-bottom-24{bottom:-6rem}.xl\:-bottom-28{bottom:-7rem}.xl\:-bottom-32{bottom:-8rem}.xl\:-bottom-36{bottom:-9rem}.xl\:-bottom-40{bottom:-10rem}.xl\:-bottom-44{bottom:-11rem}.xl\:-bottom-48{bottom:-12rem}.xl\:-bottom-52{bottom:-13rem}.xl\:-bottom-56{bottom:-14rem}.xl\:-bottom-60{bottom:-15rem}.xl\:-bottom-64{bottom:-16rem}.xl\:-bottom-72{bottom:-18rem}.xl\:-bottom-80{bottom:-20rem}.xl\:-bottom-96{bottom:-24rem}.xl\:-bottom-px{bottom:-1px}.xl\:-bottom-0\.5{bottom:-.125rem}.xl\:-bottom-1\.5{bottom:-.375rem}.xl\:-bottom-2\.5{bottom:-.625rem}.xl\:-bottom-3\.5{bottom:-.875rem}.xl\:bottom-1\/2{bottom:50%}.xl\:bottom-1\/3{bottom:33.333333%}.xl\:bottom-2\/3{bottom:66.666667%}.xl\:bottom-1\/4{bottom:25%}.xl\:bottom-2\/4{bottom:50%}.xl\:bottom-3\/4{bottom:75%}.xl\:bottom-full{bottom:100%}.xl\:-bottom-1\/2{bottom:-50%}.xl\:-bottom-1\/3{bottom:-33.333333%}.xl\:-bottom-2\/3{bottom:-66.666667%}.xl\:-bottom-1\/4{bottom:-25%}.xl\:-bottom-2\/4{bottom:-50%}.xl\:-bottom-3\/4{bottom:-75%}.xl\:-bottom-full{bottom:-100%}.xl\:left-0{left:0}.xl\:left-1{left:.25rem}.xl\:left-2{left:.5rem}.xl\:left-3{left:.75rem}.xl\:left-4{left:1rem}.xl\:left-5{left:1.25rem}.xl\:left-6{left:1.5rem}.xl\:left-7{left:1.75rem}.xl\:left-8{left:2rem}.xl\:left-9{left:2.25rem}.xl\:left-10{left:2.5rem}.xl\:left-11{left:2.75rem}.xl\:left-12{left:3rem}.xl\:left-14{left:3.5rem}.xl\:left-16{left:4rem}.xl\:left-20{left:5rem}.xl\:left-24{left:6rem}.xl\:left-28{left:7rem}.xl\:left-32{left:8rem}.xl\:left-36{left:9rem}.xl\:left-40{left:10rem}.xl\:left-44{left:11rem}.xl\:left-48{left:12rem}.xl\:left-52{left:13rem}.xl\:left-56{left:14rem}.xl\:left-60{left:15rem}.xl\:left-64{left:16rem}.xl\:left-72{left:18rem}.xl\:left-80{left:20rem}.xl\:left-96{left:24rem}.xl\:left-auto{left:auto}.xl\:left-px{left:1px}.xl\:left-0\.5{left:.125rem}.xl\:left-1\.5{left:.375rem}.xl\:left-2\.5{left:.625rem}.xl\:left-3\.5{left:.875rem}.xl\:-left-0{left:0}.xl\:-left-1{left:-.25rem}.xl\:-left-2{left:-.5rem}.xl\:-left-3{left:-.75rem}.xl\:-left-4{left:-1rem}.xl\:-left-5{left:-1.25rem}.xl\:-left-6{left:-1.5rem}.xl\:-left-7{left:-1.75rem}.xl\:-left-8{left:-2rem}.xl\:-left-9{left:-2.25rem}.xl\:-left-10{left:-2.5rem}.xl\:-left-11{left:-2.75rem}.xl\:-left-12{left:-3rem}.xl\:-left-14{left:-3.5rem}.xl\:-left-16{left:-4rem}.xl\:-left-20{left:-5rem}.xl\:-left-24{left:-6rem}.xl\:-left-28{left:-7rem}.xl\:-left-32{left:-8rem}.xl\:-left-36{left:-9rem}.xl\:-left-40{left:-10rem}.xl\:-left-44{left:-11rem}.xl\:-left-48{left:-12rem}.xl\:-left-52{left:-13rem}.xl\:-left-56{left:-14rem}.xl\:-left-60{left:-15rem}.xl\:-left-64{left:-16rem}.xl\:-left-72{left:-18rem}.xl\:-left-80{left:-20rem}.xl\:-left-96{left:-24rem}.xl\:-left-px{left:-1px}.xl\:-left-0\.5{left:-.125rem}.xl\:-left-1\.5{left:-.375rem}.xl\:-left-2\.5{left:-.625rem}.xl\:-left-3\.5{left:-.875rem}.xl\:left-1\/2{left:50%}.xl\:left-1\/3{left:33.333333%}.xl\:left-2\/3{left:66.666667%}.xl\:left-1\/4{left:25%}.xl\:left-2\/4{left:50%}.xl\:left-3\/4{left:75%}.xl\:left-full{left:100%}.xl\:-left-1\/2{left:-50%}.xl\:-left-1\/3{left:-33.333333%}.xl\:-left-2\/3{left:-66.666667%}.xl\:-left-1\/4{left:-25%}.xl\:-left-2\/4{left:-50%}.xl\:-left-3\/4{left:-75%}.xl\:-left-full{left:-100%}.xl\:isolate{isolation:isolate}.xl\:isolation-auto{isolation:auto}.xl\:z-0{z-index:0}.xl\:z-10{z-index:10}.xl\:z-20{z-index:20}.xl\:z-30{z-index:30}.xl\:z-40{z-index:40}.xl\:z-50{z-index:50}.xl\:z-auto{z-index:auto}.xl\:focus-within\:z-0:focus-within{z-index:0}.xl\:focus-within\:z-10:focus-within{z-index:10}.xl\:focus-within\:z-20:focus-within{z-index:20}.xl\:focus-within\:z-30:focus-within{z-index:30}.xl\:focus-within\:z-40:focus-within{z-index:40}.xl\:focus-within\:z-50:focus-within{z-index:50}.xl\:focus-within\:z-auto:focus-within{z-index:auto}.xl\:focus\:z-0:focus{z-index:0}.xl\:focus\:z-10:focus{z-index:10}.xl\:focus\:z-20:focus{z-index:20}.xl\:focus\:z-30:focus{z-index:30}.xl\:focus\:z-40:focus{z-index:40}.xl\:focus\:z-50:focus{z-index:50}.xl\:focus\:z-auto:focus{z-index:auto}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:order-3{order:3}.xl\:order-4{order:4}.xl\:order-5{order:5}.xl\:order-6{order:6}.xl\:order-7{order:7}.xl\:order-8{order:8}.xl\:order-9{order:9}.xl\:order-10{order:10}.xl\:order-11{order:11}.xl\:order-12{order:12}.xl\:order-first{order:-9999}.xl\:order-last{order:9999}.xl\:order-none{order:0}.xl\:col-auto{grid-column:auto}.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-span-full{grid-column:1/-1}.xl\:col-start-1{grid-column-start:1}.xl\:col-start-2{grid-column-start:2}.xl\:col-start-3{grid-column-start:3}.xl\:col-start-4{grid-column-start:4}.xl\:col-start-5{grid-column-start:5}.xl\:col-start-6{grid-column-start:6}.xl\:col-start-7{grid-column-start:7}.xl\:col-start-8{grid-column-start:8}.xl\:col-start-9{grid-column-start:9}.xl\:col-start-10{grid-column-start:10}.xl\:col-start-11{grid-column-start:11}.xl\:col-start-12{grid-column-start:12}.xl\:col-start-13{grid-column-start:13}.xl\:col-start-auto{grid-column-start:auto}.xl\:col-end-1{grid-column-end:1}.xl\:col-end-2{grid-column-end:2}.xl\:col-end-3{grid-column-end:3}.xl\:col-end-4{grid-column-end:4}.xl\:col-end-5{grid-column-end:5}.xl\:col-end-6{grid-column-end:6}.xl\:col-end-7{grid-column-end:7}.xl\:col-end-8{grid-column-end:8}.xl\:col-end-9{grid-column-end:9}.xl\:col-end-10{grid-column-end:10}.xl\:col-end-11{grid-column-end:11}.xl\:col-end-12{grid-column-end:12}.xl\:col-end-13{grid-column-end:13}.xl\:col-end-auto{grid-column-end:auto}.xl\:row-auto{grid-row:auto}.xl\:row-span-1{grid-row:span 1/span 1}.xl\:row-span-2{grid-row:span 2/span 2}.xl\:row-span-3{grid-row:span 3/span 3}.xl\:row-span-4{grid-row:span 4/span 4}.xl\:row-span-5{grid-row:span 5/span 5}.xl\:row-span-6{grid-row:span 6/span 6}.xl\:row-span-full{grid-row:1/-1}.xl\:row-start-1{grid-row-start:1}.xl\:row-start-2{grid-row-start:2}.xl\:row-start-3{grid-row-start:3}.xl\:row-start-4{grid-row-start:4}.xl\:row-start-5{grid-row-start:5}.xl\:row-start-6{grid-row-start:6}.xl\:row-start-7{grid-row-start:7}.xl\:row-start-auto{grid-row-start:auto}.xl\:row-end-1{grid-row-end:1}.xl\:row-end-2{grid-row-end:2}.xl\:row-end-3{grid-row-end:3}.xl\:row-end-4{grid-row-end:4}.xl\:row-end-5{grid-row-end:5}.xl\:row-end-6{grid-row-end:6}.xl\:row-end-7{grid-row-end:7}.xl\:row-end-auto{grid-row-end:auto}.xl\:float-right{float:right}.xl\:float-left{float:left}.xl\:float-none{float:none}.xl\:clear-left{clear:left}.xl\:clear-right{clear:right}.xl\:clear-both{clear:both}.xl\:clear-none{clear:none}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-5{margin:1.25rem}.xl\:m-6{margin:1.5rem}.xl\:m-7{margin:1.75rem}.xl\:m-8{margin:2rem}.xl\:m-9{margin:2.25rem}.xl\:m-10{margin:2.5rem}.xl\:m-11{margin:2.75rem}.xl\:m-12{margin:3rem}.xl\:m-14{margin:3.5rem}.xl\:m-16{margin:4rem}.xl\:m-20{margin:5rem}.xl\:m-24{margin:6rem}.xl\:m-28{margin:7rem}.xl\:m-32{margin:8rem}.xl\:m-36{margin:9rem}.xl\:m-40{margin:10rem}.xl\:m-44{margin:11rem}.xl\:m-48{margin:12rem}.xl\:m-52{margin:13rem}.xl\:m-56{margin:14rem}.xl\:m-60{margin:15rem}.xl\:m-64{margin:16rem}.xl\:m-72{margin:18rem}.xl\:m-80{margin:20rem}.xl\:m-96{margin:24rem}.xl\:m-auto{margin:auto}.xl\:m-px{margin:1px}.xl\:m-0\.5{margin:.125rem}.xl\:m-1\.5{margin:.375rem}.xl\:m-2\.5{margin:.625rem}.xl\:m-3\.5{margin:.875rem}.xl\:-m-0{margin:0}.xl\:-m-1{margin:-.25rem}.xl\:-m-2{margin:-.5rem}.xl\:-m-3{margin:-.75rem}.xl\:-m-4{margin:-1rem}.xl\:-m-5{margin:-1.25rem}.xl\:-m-6{margin:-1.5rem}.xl\:-m-7{margin:-1.75rem}.xl\:-m-8{margin:-2rem}.xl\:-m-9{margin:-2.25rem}.xl\:-m-10{margin:-2.5rem}.xl\:-m-11{margin:-2.75rem}.xl\:-m-12{margin:-3rem}.xl\:-m-14{margin:-3.5rem}.xl\:-m-16{margin:-4rem}.xl\:-m-20{margin:-5rem}.xl\:-m-24{margin:-6rem}.xl\:-m-28{margin:-7rem}.xl\:-m-32{margin:-8rem}.xl\:-m-36{margin:-9rem}.xl\:-m-40{margin:-10rem}.xl\:-m-44{margin:-11rem}.xl\:-m-48{margin:-12rem}.xl\:-m-52{margin:-13rem}.xl\:-m-56{margin:-14rem}.xl\:-m-60{margin:-15rem}.xl\:-m-64{margin:-16rem}.xl\:-m-72{margin:-18rem}.xl\:-m-80{margin:-20rem}.xl\:-m-96{margin:-24rem}.xl\:-m-px{margin:-1px}.xl\:-m-0\.5{margin:-.125rem}.xl\:-m-1\.5{margin:-.375rem}.xl\:-m-2\.5{margin:-.625rem}.xl\:-m-3\.5{margin:-.875rem}.xl\:mx-0{margin-left:0;margin-right:0}.xl\:mx-1{margin-left:.25rem;margin-right:.25rem}.xl\:mx-2{margin-left:.5rem;margin-right:.5rem}.xl\:mx-3{margin-left:.75rem;margin-right:.75rem}.xl\:mx-4{margin-left:1rem;margin-right:1rem}.xl\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xl\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.xl\:mx-8{margin-left:2rem;margin-right:2rem}.xl\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.xl\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xl\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.xl\:mx-12{margin-left:3rem;margin-right:3rem}.xl\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.xl\:mx-16{margin-left:4rem;margin-right:4rem}.xl\:mx-20{margin-left:5rem;margin-right:5rem}.xl\:mx-24{margin-left:6rem;margin-right:6rem}.xl\:mx-28{margin-left:7rem;margin-right:7rem}.xl\:mx-32{margin-left:8rem;margin-right:8rem}.xl\:mx-36{margin-left:9rem;margin-right:9rem}.xl\:mx-40{margin-left:10rem;margin-right:10rem}.xl\:mx-44{margin-left:11rem;margin-right:11rem}.xl\:mx-48{margin-left:12rem;margin-right:12rem}.xl\:mx-52{margin-left:13rem;margin-right:13rem}.xl\:mx-56{margin-left:14rem;margin-right:14rem}.xl\:mx-60{margin-left:15rem;margin-right:15rem}.xl\:mx-64{margin-left:16rem;margin-right:16rem}.xl\:mx-72{margin-left:18rem;margin-right:18rem}.xl\:mx-80{margin-left:20rem;margin-right:20rem}.xl\:mx-96{margin-left:24rem;margin-right:24rem}.xl\:mx-auto{margin-left:auto;margin-right:auto}.xl\:mx-px{margin-left:1px;margin-right:1px}.xl\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.xl\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.xl\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.xl\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.xl\:-mx-0{margin-left:0;margin-right:0}.xl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xl\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xl\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.xl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.xl\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xl\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.xl\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xl\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.xl\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xl\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xl\:-mx-28{margin-left:-7rem;margin-right:-7rem}.xl\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xl\:-mx-36{margin-left:-9rem;margin-right:-9rem}.xl\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xl\:-mx-44{margin-left:-11rem;margin-right:-11rem}.xl\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xl\:-mx-52{margin-left:-13rem;margin-right:-13rem}.xl\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xl\:-mx-60{margin-left:-15rem;margin-right:-15rem}.xl\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xl\:-mx-72{margin-left:-18rem;margin-right:-18rem}.xl\:-mx-80{margin-left:-20rem;margin-right:-20rem}.xl\:-mx-96{margin-left:-24rem;margin-right:-24rem}.xl\:-mx-px{margin-left:-1px;margin-right:-1px}.xl\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.xl\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.xl\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.xl\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.xl\:my-0{margin-top:0;margin-bottom:0}.xl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xl\:my-4{margin-top:1rem;margin-bottom:1rem}.xl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xl\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.xl\:my-8{margin-top:2rem;margin-bottom:2rem}.xl\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.xl\:my-12{margin-top:3rem;margin-bottom:3rem}.xl\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.xl\:my-16{margin-top:4rem;margin-bottom:4rem}.xl\:my-20{margin-top:5rem;margin-bottom:5rem}.xl\:my-24{margin-top:6rem;margin-bottom:6rem}.xl\:my-28{margin-top:7rem;margin-bottom:7rem}.xl\:my-32{margin-top:8rem;margin-bottom:8rem}.xl\:my-36{margin-top:9rem;margin-bottom:9rem}.xl\:my-40{margin-top:10rem;margin-bottom:10rem}.xl\:my-44{margin-top:11rem;margin-bottom:11rem}.xl\:my-48{margin-top:12rem;margin-bottom:12rem}.xl\:my-52{margin-top:13rem;margin-bottom:13rem}.xl\:my-56{margin-top:14rem;margin-bottom:14rem}.xl\:my-60{margin-top:15rem;margin-bottom:15rem}.xl\:my-64{margin-top:16rem;margin-bottom:16rem}.xl\:my-72{margin-top:18rem;margin-bottom:18rem}.xl\:my-80{margin-top:20rem;margin-bottom:20rem}.xl\:my-96{margin-top:24rem;margin-bottom:24rem}.xl\:my-auto{margin-top:auto;margin-bottom:auto}.xl\:my-px{margin-top:1px;margin-bottom:1px}.xl\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.xl\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.xl\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.xl\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.xl\:-my-0{margin-top:0;margin-bottom:0}.xl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xl\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xl\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.xl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xl\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.xl\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xl\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.xl\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xl\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.xl\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xl\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xl\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xl\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.xl\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xl\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.xl\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xl\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.xl\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xl\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.xl\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xl\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.xl\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xl\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.xl\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.xl\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.xl\:-my-px{margin-top:-1px;margin-bottom:-1px}.xl\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.xl\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.xl\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.xl\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.xl\:mt-0{margin-top:0}.xl\:mt-1{margin-top:.25rem}.xl\:mt-2{margin-top:.5rem}.xl\:mt-3{margin-top:.75rem}.xl\:mt-4{margin-top:1rem}.xl\:mt-5{margin-top:1.25rem}.xl\:mt-6{margin-top:1.5rem}.xl\:mt-7{margin-top:1.75rem}.xl\:mt-8{margin-top:2rem}.xl\:mt-9{margin-top:2.25rem}.xl\:mt-10{margin-top:2.5rem}.xl\:mt-11{margin-top:2.75rem}.xl\:mt-12{margin-top:3rem}.xl\:mt-14{margin-top:3.5rem}.xl\:mt-16{margin-top:4rem}.xl\:mt-20{margin-top:5rem}.xl\:mt-24{margin-top:6rem}.xl\:mt-28{margin-top:7rem}.xl\:mt-32{margin-top:8rem}.xl\:mt-36{margin-top:9rem}.xl\:mt-40{margin-top:10rem}.xl\:mt-44{margin-top:11rem}.xl\:mt-48{margin-top:12rem}.xl\:mt-52{margin-top:13rem}.xl\:mt-56{margin-top:14rem}.xl\:mt-60{margin-top:15rem}.xl\:mt-64{margin-top:16rem}.xl\:mt-72{margin-top:18rem}.xl\:mt-80{margin-top:20rem}.xl\:mt-96{margin-top:24rem}.xl\:mt-auto{margin-top:auto}.xl\:mt-px{margin-top:1px}.xl\:mt-0\.5{margin-top:.125rem}.xl\:mt-1\.5{margin-top:.375rem}.xl\:mt-2\.5{margin-top:.625rem}.xl\:mt-3\.5{margin-top:.875rem}.xl\:-mt-0{margin-top:0}.xl\:-mt-1{margin-top:-.25rem}.xl\:-mt-2{margin-top:-.5rem}.xl\:-mt-3{margin-top:-.75rem}.xl\:-mt-4{margin-top:-1rem}.xl\:-mt-5{margin-top:-1.25rem}.xl\:-mt-6{margin-top:-1.5rem}.xl\:-mt-7{margin-top:-1.75rem}.xl\:-mt-8{margin-top:-2rem}.xl\:-mt-9{margin-top:-2.25rem}.xl\:-mt-10{margin-top:-2.5rem}.xl\:-mt-11{margin-top:-2.75rem}.xl\:-mt-12{margin-top:-3rem}.xl\:-mt-14{margin-top:-3.5rem}.xl\:-mt-16{margin-top:-4rem}.xl\:-mt-20{margin-top:-5rem}.xl\:-mt-24{margin-top:-6rem}.xl\:-mt-28{margin-top:-7rem}.xl\:-mt-32{margin-top:-8rem}.xl\:-mt-36{margin-top:-9rem}.xl\:-mt-40{margin-top:-10rem}.xl\:-mt-44{margin-top:-11rem}.xl\:-mt-48{margin-top:-12rem}.xl\:-mt-52{margin-top:-13rem}.xl\:-mt-56{margin-top:-14rem}.xl\:-mt-60{margin-top:-15rem}.xl\:-mt-64{margin-top:-16rem}.xl\:-mt-72{margin-top:-18rem}.xl\:-mt-80{margin-top:-20rem}.xl\:-mt-96{margin-top:-24rem}.xl\:-mt-px{margin-top:-1px}.xl\:-mt-0\.5{margin-top:-.125rem}.xl\:-mt-1\.5{margin-top:-.375rem}.xl\:-mt-2\.5{margin-top:-.625rem}.xl\:-mt-3\.5{margin-top:-.875rem}.xl\:mr-0{margin-right:0}.xl\:mr-1{margin-right:.25rem}.xl\:mr-2{margin-right:.5rem}.xl\:mr-3{margin-right:.75rem}.xl\:mr-4{margin-right:1rem}.xl\:mr-5{margin-right:1.25rem}.xl\:mr-6{margin-right:1.5rem}.xl\:mr-7{margin-right:1.75rem}.xl\:mr-8{margin-right:2rem}.xl\:mr-9{margin-right:2.25rem}.xl\:mr-10{margin-right:2.5rem}.xl\:mr-11{margin-right:2.75rem}.xl\:mr-12{margin-right:3rem}.xl\:mr-14{margin-right:3.5rem}.xl\:mr-16{margin-right:4rem}.xl\:mr-20{margin-right:5rem}.xl\:mr-24{margin-right:6rem}.xl\:mr-28{margin-right:7rem}.xl\:mr-32{margin-right:8rem}.xl\:mr-36{margin-right:9rem}.xl\:mr-40{margin-right:10rem}.xl\:mr-44{margin-right:11rem}.xl\:mr-48{margin-right:12rem}.xl\:mr-52{margin-right:13rem}.xl\:mr-56{margin-right:14rem}.xl\:mr-60{margin-right:15rem}.xl\:mr-64{margin-right:16rem}.xl\:mr-72{margin-right:18rem}.xl\:mr-80{margin-right:20rem}.xl\:mr-96{margin-right:24rem}.xl\:mr-auto{margin-right:auto}.xl\:mr-px{margin-right:1px}.xl\:mr-0\.5{margin-right:.125rem}.xl\:mr-1\.5{margin-right:.375rem}.xl\:mr-2\.5{margin-right:.625rem}.xl\:mr-3\.5{margin-right:.875rem}.xl\:-mr-0{margin-right:0}.xl\:-mr-1{margin-right:-.25rem}.xl\:-mr-2{margin-right:-.5rem}.xl\:-mr-3{margin-right:-.75rem}.xl\:-mr-4{margin-right:-1rem}.xl\:-mr-5{margin-right:-1.25rem}.xl\:-mr-6{margin-right:-1.5rem}.xl\:-mr-7{margin-right:-1.75rem}.xl\:-mr-8{margin-right:-2rem}.xl\:-mr-9{margin-right:-2.25rem}.xl\:-mr-10{margin-right:-2.5rem}.xl\:-mr-11{margin-right:-2.75rem}.xl\:-mr-12{margin-right:-3rem}.xl\:-mr-14{margin-right:-3.5rem}.xl\:-mr-16{margin-right:-4rem}.xl\:-mr-20{margin-right:-5rem}.xl\:-mr-24{margin-right:-6rem}.xl\:-mr-28{margin-right:-7rem}.xl\:-mr-32{margin-right:-8rem}.xl\:-mr-36{margin-right:-9rem}.xl\:-mr-40{margin-right:-10rem}.xl\:-mr-44{margin-right:-11rem}.xl\:-mr-48{margin-right:-12rem}.xl\:-mr-52{margin-right:-13rem}.xl\:-mr-56{margin-right:-14rem}.xl\:-mr-60{margin-right:-15rem}.xl\:-mr-64{margin-right:-16rem}.xl\:-mr-72{margin-right:-18rem}.xl\:-mr-80{margin-right:-20rem}.xl\:-mr-96{margin-right:-24rem}.xl\:-mr-px{margin-right:-1px}.xl\:-mr-0\.5{margin-right:-.125rem}.xl\:-mr-1\.5{margin-right:-.375rem}.xl\:-mr-2\.5{margin-right:-.625rem}.xl\:-mr-3\.5{margin-right:-.875rem}.xl\:mb-0{margin-bottom:0}.xl\:mb-1{margin-bottom:.25rem}.xl\:mb-2{margin-bottom:.5rem}.xl\:mb-3{margin-bottom:.75rem}.xl\:mb-4{margin-bottom:1rem}.xl\:mb-5{margin-bottom:1.25rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:mb-7{margin-bottom:1.75rem}.xl\:mb-8{margin-bottom:2rem}.xl\:mb-9{margin-bottom:2.25rem}.xl\:mb-10{margin-bottom:2.5rem}.xl\:mb-11{margin-bottom:2.75rem}.xl\:mb-12{margin-bottom:3rem}.xl\:mb-14{margin-bottom:3.5rem}.xl\:mb-16{margin-bottom:4rem}.xl\:mb-20{margin-bottom:5rem}.xl\:mb-24{margin-bottom:6rem}.xl\:mb-28{margin-bottom:7rem}.xl\:mb-32{margin-bottom:8rem}.xl\:mb-36{margin-bottom:9rem}.xl\:mb-40{margin-bottom:10rem}.xl\:mb-44{margin-bottom:11rem}.xl\:mb-48{margin-bottom:12rem}.xl\:mb-52{margin-bottom:13rem}.xl\:mb-56{margin-bottom:14rem}.xl\:mb-60{margin-bottom:15rem}.xl\:mb-64{margin-bottom:16rem}.xl\:mb-72{margin-bottom:18rem}.xl\:mb-80{margin-bottom:20rem}.xl\:mb-96{margin-bottom:24rem}.xl\:mb-auto{margin-bottom:auto}.xl\:mb-px{margin-bottom:1px}.xl\:mb-0\.5{margin-bottom:.125rem}.xl\:mb-1\.5{margin-bottom:.375rem}.xl\:mb-2\.5{margin-bottom:.625rem}.xl\:mb-3\.5{margin-bottom:.875rem}.xl\:-mb-0{margin-bottom:0}.xl\:-mb-1{margin-bottom:-.25rem}.xl\:-mb-2{margin-bottom:-.5rem}.xl\:-mb-3{margin-bottom:-.75rem}.xl\:-mb-4{margin-bottom:-1rem}.xl\:-mb-5{margin-bottom:-1.25rem}.xl\:-mb-6{margin-bottom:-1.5rem}.xl\:-mb-7{margin-bottom:-1.75rem}.xl\:-mb-8{margin-bottom:-2rem}.xl\:-mb-9{margin-bottom:-2.25rem}.xl\:-mb-10{margin-bottom:-2.5rem}.xl\:-mb-11{margin-bottom:-2.75rem}.xl\:-mb-12{margin-bottom:-3rem}.xl\:-mb-14{margin-bottom:-3.5rem}.xl\:-mb-16{margin-bottom:-4rem}.xl\:-mb-20{margin-bottom:-5rem}.xl\:-mb-24{margin-bottom:-6rem}.xl\:-mb-28{margin-bottom:-7rem}.xl\:-mb-32{margin-bottom:-8rem}.xl\:-mb-36{margin-bottom:-9rem}.xl\:-mb-40{margin-bottom:-10rem}.xl\:-mb-44{margin-bottom:-11rem}.xl\:-mb-48{margin-bottom:-12rem}.xl\:-mb-52{margin-bottom:-13rem}.xl\:-mb-56{margin-bottom:-14rem}.xl\:-mb-60{margin-bottom:-15rem}.xl\:-mb-64{margin-bottom:-16rem}.xl\:-mb-72{margin-bottom:-18rem}.xl\:-mb-80{margin-bottom:-20rem}.xl\:-mb-96{margin-bottom:-24rem}.xl\:-mb-px{margin-bottom:-1px}.xl\:-mb-0\.5{margin-bottom:-.125rem}.xl\:-mb-1\.5{margin-bottom:-.375rem}.xl\:-mb-2\.5{margin-bottom:-.625rem}.xl\:-mb-3\.5{margin-bottom:-.875rem}.xl\:ml-0{margin-left:0}.xl\:ml-1{margin-left:.25rem}.xl\:ml-2{margin-left:.5rem}.xl\:ml-3{margin-left:.75rem}.xl\:ml-4{margin-left:1rem}.xl\:ml-5{margin-left:1.25rem}.xl\:ml-6{margin-left:1.5rem}.xl\:ml-7{margin-left:1.75rem}.xl\:ml-8{margin-left:2rem}.xl\:ml-9{margin-left:2.25rem}.xl\:ml-10{margin-left:2.5rem}.xl\:ml-11{margin-left:2.75rem}.xl\:ml-12{margin-left:3rem}.xl\:ml-14{margin-left:3.5rem}.xl\:ml-16{margin-left:4rem}.xl\:ml-20{margin-left:5rem}.xl\:ml-24{margin-left:6rem}.xl\:ml-28{margin-left:7rem}.xl\:ml-32{margin-left:8rem}.xl\:ml-36{margin-left:9rem}.xl\:ml-40{margin-left:10rem}.xl\:ml-44{margin-left:11rem}.xl\:ml-48{margin-left:12rem}.xl\:ml-52{margin-left:13rem}.xl\:ml-56{margin-left:14rem}.xl\:ml-60{margin-left:15rem}.xl\:ml-64{margin-left:16rem}.xl\:ml-72{margin-left:18rem}.xl\:ml-80{margin-left:20rem}.xl\:ml-96{margin-left:24rem}.xl\:ml-auto{margin-left:auto}.xl\:ml-px{margin-left:1px}.xl\:ml-0\.5{margin-left:.125rem}.xl\:ml-1\.5{margin-left:.375rem}.xl\:ml-2\.5{margin-left:.625rem}.xl\:ml-3\.5{margin-left:.875rem}.xl\:-ml-0{margin-left:0}.xl\:-ml-1{margin-left:-.25rem}.xl\:-ml-2{margin-left:-.5rem}.xl\:-ml-3{margin-left:-.75rem}.xl\:-ml-4{margin-left:-1rem}.xl\:-ml-5{margin-left:-1.25rem}.xl\:-ml-6{margin-left:-1.5rem}.xl\:-ml-7{margin-left:-1.75rem}.xl\:-ml-8{margin-left:-2rem}.xl\:-ml-9{margin-left:-2.25rem}.xl\:-ml-10{margin-left:-2.5rem}.xl\:-ml-11{margin-left:-2.75rem}.xl\:-ml-12{margin-left:-3rem}.xl\:-ml-14{margin-left:-3.5rem}.xl\:-ml-16{margin-left:-4rem}.xl\:-ml-20{margin-left:-5rem}.xl\:-ml-24{margin-left:-6rem}.xl\:-ml-28{margin-left:-7rem}.xl\:-ml-32{margin-left:-8rem}.xl\:-ml-36{margin-left:-9rem}.xl\:-ml-40{margin-left:-10rem}.xl\:-ml-44{margin-left:-11rem}.xl\:-ml-48{margin-left:-12rem}.xl\:-ml-52{margin-left:-13rem}.xl\:-ml-56{margin-left:-14rem}.xl\:-ml-60{margin-left:-15rem}.xl\:-ml-64{margin-left:-16rem}.xl\:-ml-72{margin-left:-18rem}.xl\:-ml-80{margin-left:-20rem}.xl\:-ml-96{margin-left:-24rem}.xl\:-ml-px{margin-left:-1px}.xl\:-ml-0\.5{margin-left:-.125rem}.xl\:-ml-1\.5{margin-left:-.375rem}.xl\:-ml-2\.5{margin-left:-.625rem}.xl\:-ml-3\.5{margin-left:-.875rem}.xl\:box-border{box-sizing:border-box}.xl\:box-content{box-sizing:content-box}.xl\:block{display:block}.xl\:inline-block{display:inline-block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}.xl\:table{display:table}.xl\:inline-table{display:inline-table}.xl\:table-caption{display:table-caption}.xl\:table-cell{display:table-cell}.xl\:table-column{display:table-column}.xl\:table-column-group{display:table-column-group}.xl\:table-footer-group{display:table-footer-group}.xl\:table-header-group{display:table-header-group}.xl\:table-row-group{display:table-row-group}.xl\:table-row{display:table-row}.xl\:flow-root{display:flow-root}.xl\:grid{display:grid}.xl\:inline-grid{display:inline-grid}.xl\:contents{display:contents}.xl\:list-item{display:list-item}.xl\:hidden{display:none}.xl\:h-0{height:0}.xl\:h-1{height:.25rem}.xl\:h-2{height:.5rem}.xl\:h-3{height:.75rem}.xl\:h-4{height:1rem}.xl\:h-5{height:1.25rem}.xl\:h-6{height:1.5rem}.xl\:h-7{height:1.75rem}.xl\:h-8{height:2rem}.xl\:h-9{height:2.25rem}.xl\:h-10{height:2.5rem}.xl\:h-11{height:2.75rem}.xl\:h-12{height:3rem}.xl\:h-14{height:3.5rem}.xl\:h-16{height:4rem}.xl\:h-20{height:5rem}.xl\:h-24{height:6rem}.xl\:h-28{height:7rem}.xl\:h-32{height:8rem}.xl\:h-36{height:9rem}.xl\:h-40{height:10rem}.xl\:h-44{height:11rem}.xl\:h-48{height:12rem}.xl\:h-52{height:13rem}.xl\:h-56{height:14rem}.xl\:h-60{height:15rem}.xl\:h-64{height:16rem}.xl\:h-72{height:18rem}.xl\:h-80{height:20rem}.xl\:h-96{height:24rem}.xl\:h-auto{height:auto}.xl\:h-px{height:1px}.xl\:h-0\.5{height:.125rem}.xl\:h-1\.5{height:.375rem}.xl\:h-2\.5{height:.625rem}.xl\:h-3\.5{height:.875rem}.xl\:h-1\/2{height:50%}.xl\:h-1\/3{height:33.333333%}.xl\:h-2\/3{height:66.666667%}.xl\:h-1\/4{height:25%}.xl\:h-2\/4{height:50%}.xl\:h-3\/4{height:75%}.xl\:h-1\/5{height:20%}.xl\:h-2\/5{height:40%}.xl\:h-3\/5{height:60%}.xl\:h-4\/5{height:80%}.xl\:h-1\/6{height:16.666667%}.xl\:h-2\/6{height:33.333333%}.xl\:h-3\/6{height:50%}.xl\:h-4\/6{height:66.666667%}.xl\:h-5\/6{height:83.333333%}.xl\:h-full{height:100%}.xl\:h-screen{height:100vh}.xl\:max-h-0{max-height:0}.xl\:max-h-1{max-height:.25rem}.xl\:max-h-2{max-height:.5rem}.xl\:max-h-3{max-height:.75rem}.xl\:max-h-4{max-height:1rem}.xl\:max-h-5{max-height:1.25rem}.xl\:max-h-6{max-height:1.5rem}.xl\:max-h-7{max-height:1.75rem}.xl\:max-h-8{max-height:2rem}.xl\:max-h-9{max-height:2.25rem}.xl\:max-h-10{max-height:2.5rem}.xl\:max-h-11{max-height:2.75rem}.xl\:max-h-12{max-height:3rem}.xl\:max-h-14{max-height:3.5rem}.xl\:max-h-16{max-height:4rem}.xl\:max-h-20{max-height:5rem}.xl\:max-h-24{max-height:6rem}.xl\:max-h-28{max-height:7rem}.xl\:max-h-32{max-height:8rem}.xl\:max-h-36{max-height:9rem}.xl\:max-h-40{max-height:10rem}.xl\:max-h-44{max-height:11rem}.xl\:max-h-48{max-height:12rem}.xl\:max-h-52{max-height:13rem}.xl\:max-h-56{max-height:14rem}.xl\:max-h-60{max-height:15rem}.xl\:max-h-64{max-height:16rem}.xl\:max-h-72{max-height:18rem}.xl\:max-h-80{max-height:20rem}.xl\:max-h-96{max-height:24rem}.xl\:max-h-px{max-height:1px}.xl\:max-h-0\.5{max-height:.125rem}.xl\:max-h-1\.5{max-height:.375rem}.xl\:max-h-2\.5{max-height:.625rem}.xl\:max-h-3\.5{max-height:.875rem}.xl\:max-h-full{max-height:100%}.xl\:max-h-screen{max-height:100vh}.xl\:min-h-0{min-height:0}.xl\:min-h-full{min-height:100%}.xl\:min-h-screen{min-height:100vh}.xl\:w-0{width:0}.xl\:w-1{width:.25rem}.xl\:w-2{width:.5rem}.xl\:w-3{width:.75rem}.xl\:w-4{width:1rem}.xl\:w-5{width:1.25rem}.xl\:w-6{width:1.5rem}.xl\:w-7{width:1.75rem}.xl\:w-8{width:2rem}.xl\:w-9{width:2.25rem}.xl\:w-10{width:2.5rem}.xl\:w-11{width:2.75rem}.xl\:w-12{width:3rem}.xl\:w-14{width:3.5rem}.xl\:w-16{width:4rem}.xl\:w-20{width:5rem}.xl\:w-24{width:6rem}.xl\:w-28{width:7rem}.xl\:w-32{width:8rem}.xl\:w-36{width:9rem}.xl\:w-40{width:10rem}.xl\:w-44{width:11rem}.xl\:w-48{width:12rem}.xl\:w-52{width:13rem}.xl\:w-56{width:14rem}.xl\:w-60{width:15rem}.xl\:w-64{width:16rem}.xl\:w-72{width:18rem}.xl\:w-80{width:20rem}.xl\:w-96{width:24rem}.xl\:w-auto{width:auto}.xl\:w-px{width:1px}.xl\:w-0\.5{width:.125rem}.xl\:w-1\.5{width:.375rem}.xl\:w-2\.5{width:.625rem}.xl\:w-3\.5{width:.875rem}.xl\:w-1\/2{width:50%}.xl\:w-1\/3{width:33.333333%}.xl\:w-2\/3{width:66.666667%}.xl\:w-1\/4{width:25%}.xl\:w-2\/4{width:50%}.xl\:w-3\/4{width:75%}.xl\:w-1\/5{width:20%}.xl\:w-2\/5{width:40%}.xl\:w-3\/5{width:60%}.xl\:w-4\/5{width:80%}.xl\:w-1\/6{width:16.666667%}.xl\:w-2\/6{width:33.333333%}.xl\:w-3\/6{width:50%}.xl\:w-4\/6{width:66.666667%}.xl\:w-5\/6{width:83.333333%}.xl\:w-1\/12{width:8.333333%}.xl\:w-2\/12{width:16.666667%}.xl\:w-3\/12{width:25%}.xl\:w-4\/12{width:33.333333%}.xl\:w-5\/12{width:41.666667%}.xl\:w-6\/12{width:50%}.xl\:w-7\/12{width:58.333333%}.xl\:w-8\/12{width:66.666667%}.xl\:w-9\/12{width:75%}.xl\:w-10\/12{width:83.333333%}.xl\:w-11\/12{width:91.666667%}.xl\:w-full{width:100%}.xl\:w-screen{width:100vw}.xl\:w-min{width:min-content}.xl\:w-max{width:max-content}.xl\:min-w-0{min-width:0}.xl\:min-w-full{min-width:100%}.xl\:min-w-min{min-width:min-content}.xl\:min-w-max{min-width:max-content}.xl\:max-w-0{max-width:0}.xl\:max-w-none{max-width:none}.xl\:max-w-xs{max-width:20rem}.xl\:max-w-sm{max-width:24rem}.xl\:max-w-md{max-width:28rem}.xl\:max-w-lg{max-width:32rem}.xl\:max-w-xl{max-width:36rem}.xl\:max-w-2xl{max-width:42rem}.xl\:max-w-3xl{max-width:48rem}.xl\:max-w-4xl{max-width:56rem}.xl\:max-w-5xl{max-width:64rem}.xl\:max-w-6xl{max-width:72rem}.xl\:max-w-7xl{max-width:80rem}.xl\:max-w-full{max-width:100%}.xl\:max-w-min{max-width:min-content}.xl\:max-w-max{max-width:max-content}.xl\:max-w-prose{max-width:65ch}.xl\:max-w-screen-sm{max-width:640px}.xl\:max-w-screen-md{max-width:768px}.xl\:max-w-screen-lg{max-width:1024px}.xl\:max-w-screen-xl{max-width:1280px}.xl\:max-w-screen-2xl{max-width:1536px}.xl\:flex-1{flex:1 1 0%}.xl\:flex-auto{flex:1 1 auto}.xl\:flex-initial{flex:0 1 auto}.xl\:flex-none{flex:none}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink{flex-shrink:1}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow{flex-grow:1}.xl\:table-auto{table-layout:auto}.xl\:table-fixed{table-layout:fixed}.xl\:border-collapse{border-collapse:collapse}.xl\:border-separate{border-collapse:separate}.xl\:origin-center{transform-origin:center}.xl\:origin-top{transform-origin:top}.xl\:origin-top-right{transform-origin:top right}.xl\:origin-right{transform-origin:right}.xl\:origin-bottom-right{transform-origin:bottom right}.xl\:origin-bottom{transform-origin:bottom}.xl\:origin-bottom-left{transform-origin:bottom left}.xl\:origin-left{transform-origin:left}.xl\:origin-top-left{transform-origin:top left}.xl\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:transform-none{transform:none}.xl\:translate-x-0{--tw-translate-x:0px}.xl\:translate-x-1{--tw-translate-x:0.25rem}.xl\:translate-x-2{--tw-translate-x:0.5rem}.xl\:translate-x-3{--tw-translate-x:0.75rem}.xl\:translate-x-4{--tw-translate-x:1rem}.xl\:translate-x-5{--tw-translate-x:1.25rem}.xl\:translate-x-6{--tw-translate-x:1.5rem}.xl\:translate-x-7{--tw-translate-x:1.75rem}.xl\:translate-x-8{--tw-translate-x:2rem}.xl\:translate-x-9{--tw-translate-x:2.25rem}.xl\:translate-x-10{--tw-translate-x:2.5rem}.xl\:translate-x-11{--tw-translate-x:2.75rem}.xl\:translate-x-12{--tw-translate-x:3rem}.xl\:translate-x-14{--tw-translate-x:3.5rem}.xl\:translate-x-16{--tw-translate-x:4rem}.xl\:translate-x-20{--tw-translate-x:5rem}.xl\:translate-x-24{--tw-translate-x:6rem}.xl\:translate-x-28{--tw-translate-x:7rem}.xl\:translate-x-32{--tw-translate-x:8rem}.xl\:translate-x-36{--tw-translate-x:9rem}.xl\:translate-x-40{--tw-translate-x:10rem}.xl\:translate-x-44{--tw-translate-x:11rem}.xl\:translate-x-48{--tw-translate-x:12rem}.xl\:translate-x-52{--tw-translate-x:13rem}.xl\:translate-x-56{--tw-translate-x:14rem}.xl\:translate-x-60{--tw-translate-x:15rem}.xl\:translate-x-64{--tw-translate-x:16rem}.xl\:translate-x-72{--tw-translate-x:18rem}.xl\:translate-x-80{--tw-translate-x:20rem}.xl\:translate-x-96{--tw-translate-x:24rem}.xl\:translate-x-px{--tw-translate-x:1px}.xl\:translate-x-0\.5{--tw-translate-x:0.125rem}.xl\:translate-x-1\.5{--tw-translate-x:0.375rem}.xl\:translate-x-2\.5{--tw-translate-x:0.625rem}.xl\:translate-x-3\.5{--tw-translate-x:0.875rem}.xl\:-translate-x-0{--tw-translate-x:0px}.xl\:-translate-x-1{--tw-translate-x:-0.25rem}.xl\:-translate-x-2{--tw-translate-x:-0.5rem}.xl\:-translate-x-3{--tw-translate-x:-0.75rem}.xl\:-translate-x-4{--tw-translate-x:-1rem}.xl\:-translate-x-5{--tw-translate-x:-1.25rem}.xl\:-translate-x-6{--tw-translate-x:-1.5rem}.xl\:-translate-x-7{--tw-translate-x:-1.75rem}.xl\:-translate-x-8{--tw-translate-x:-2rem}.xl\:-translate-x-9{--tw-translate-x:-2.25rem}.xl\:-translate-x-10{--tw-translate-x:-2.5rem}.xl\:-translate-x-11{--tw-translate-x:-2.75rem}.xl\:-translate-x-12{--tw-translate-x:-3rem}.xl\:-translate-x-14{--tw-translate-x:-3.5rem}.xl\:-translate-x-16{--tw-translate-x:-4rem}.xl\:-translate-x-20{--tw-translate-x:-5rem}.xl\:-translate-x-24{--tw-translate-x:-6rem}.xl\:-translate-x-28{--tw-translate-x:-7rem}.xl\:-translate-x-32{--tw-translate-x:-8rem}.xl\:-translate-x-36{--tw-translate-x:-9rem}.xl\:-translate-x-40{--tw-translate-x:-10rem}.xl\:-translate-x-44{--tw-translate-x:-11rem}.xl\:-translate-x-48{--tw-translate-x:-12rem}.xl\:-translate-x-52{--tw-translate-x:-13rem}.xl\:-translate-x-56{--tw-translate-x:-14rem}.xl\:-translate-x-60{--tw-translate-x:-15rem}.xl\:-translate-x-64{--tw-translate-x:-16rem}.xl\:-translate-x-72{--tw-translate-x:-18rem}.xl\:-translate-x-80{--tw-translate-x:-20rem}.xl\:-translate-x-96{--tw-translate-x:-24rem}.xl\:-translate-x-px{--tw-translate-x:-1px}.xl\:-translate-x-0\.5{--tw-translate-x:-0.125rem}.xl\:-translate-x-1\.5{--tw-translate-x:-0.375rem}.xl\:-translate-x-2\.5{--tw-translate-x:-0.625rem}.xl\:-translate-x-3\.5{--tw-translate-x:-0.875rem}.xl\:translate-x-1\/2{--tw-translate-x:50%}.xl\:translate-x-1\/3{--tw-translate-x:33.333333%}.xl\:translate-x-2\/3{--tw-translate-x:66.666667%}.xl\:translate-x-1\/4{--tw-translate-x:25%}.xl\:translate-x-2\/4{--tw-translate-x:50%}.xl\:translate-x-3\/4{--tw-translate-x:75%}.xl\:translate-x-full{--tw-translate-x:100%}.xl\:-translate-x-1\/2{--tw-translate-x:-50%}.xl\:-translate-x-1\/3{--tw-translate-x:-33.333333%}.xl\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.xl\:-translate-x-1\/4{--tw-translate-x:-25%}.xl\:-translate-x-2\/4{--tw-translate-x:-50%}.xl\:-translate-x-3\/4{--tw-translate-x:-75%}.xl\:-translate-x-full{--tw-translate-x:-100%}.xl\:translate-y-0{--tw-translate-y:0px}.xl\:translate-y-1{--tw-translate-y:0.25rem}.xl\:translate-y-2{--tw-translate-y:0.5rem}.xl\:translate-y-3{--tw-translate-y:0.75rem}.xl\:translate-y-4{--tw-translate-y:1rem}.xl\:translate-y-5{--tw-translate-y:1.25rem}.xl\:translate-y-6{--tw-translate-y:1.5rem}.xl\:translate-y-7{--tw-translate-y:1.75rem}.xl\:translate-y-8{--tw-translate-y:2rem}.xl\:translate-y-9{--tw-translate-y:2.25rem}.xl\:translate-y-10{--tw-translate-y:2.5rem}.xl\:translate-y-11{--tw-translate-y:2.75rem}.xl\:translate-y-12{--tw-translate-y:3rem}.xl\:translate-y-14{--tw-translate-y:3.5rem}.xl\:translate-y-16{--tw-translate-y:4rem}.xl\:translate-y-20{--tw-translate-y:5rem}.xl\:translate-y-24{--tw-translate-y:6rem}.xl\:translate-y-28{--tw-translate-y:7rem}.xl\:translate-y-32{--tw-translate-y:8rem}.xl\:translate-y-36{--tw-translate-y:9rem}.xl\:translate-y-40{--tw-translate-y:10rem}.xl\:translate-y-44{--tw-translate-y:11rem}.xl\:translate-y-48{--tw-translate-y:12rem}.xl\:translate-y-52{--tw-translate-y:13rem}.xl\:translate-y-56{--tw-translate-y:14rem}.xl\:translate-y-60{--tw-translate-y:15rem}.xl\:translate-y-64{--tw-translate-y:16rem}.xl\:translate-y-72{--tw-translate-y:18rem}.xl\:translate-y-80{--tw-translate-y:20rem}.xl\:translate-y-96{--tw-translate-y:24rem}.xl\:translate-y-px{--tw-translate-y:1px}.xl\:translate-y-0\.5{--tw-translate-y:0.125rem}.xl\:translate-y-1\.5{--tw-translate-y:0.375rem}.xl\:translate-y-2\.5{--tw-translate-y:0.625rem}.xl\:translate-y-3\.5{--tw-translate-y:0.875rem}.xl\:-translate-y-0{--tw-translate-y:0px}.xl\:-translate-y-1{--tw-translate-y:-0.25rem}.xl\:-translate-y-2{--tw-translate-y:-0.5rem}.xl\:-translate-y-3{--tw-translate-y:-0.75rem}.xl\:-translate-y-4{--tw-translate-y:-1rem}.xl\:-translate-y-5{--tw-translate-y:-1.25rem}.xl\:-translate-y-6{--tw-translate-y:-1.5rem}.xl\:-translate-y-7{--tw-translate-y:-1.75rem}.xl\:-translate-y-8{--tw-translate-y:-2rem}.xl\:-translate-y-9{--tw-translate-y:-2.25rem}.xl\:-translate-y-10{--tw-translate-y:-2.5rem}.xl\:-translate-y-11{--tw-translate-y:-2.75rem}.xl\:-translate-y-12{--tw-translate-y:-3rem}.xl\:-translate-y-14{--tw-translate-y:-3.5rem}.xl\:-translate-y-16{--tw-translate-y:-4rem}.xl\:-translate-y-20{--tw-translate-y:-5rem}.xl\:-translate-y-24{--tw-translate-y:-6rem}.xl\:-translate-y-28{--tw-translate-y:-7rem}.xl\:-translate-y-32{--tw-translate-y:-8rem}.xl\:-translate-y-36{--tw-translate-y:-9rem}.xl\:-translate-y-40{--tw-translate-y:-10rem}.xl\:-translate-y-44{--tw-translate-y:-11rem}.xl\:-translate-y-48{--tw-translate-y:-12rem}.xl\:-translate-y-52{--tw-translate-y:-13rem}.xl\:-translate-y-56{--tw-translate-y:-14rem}.xl\:-translate-y-60{--tw-translate-y:-15rem}.xl\:-translate-y-64{--tw-translate-y:-16rem}.xl\:-translate-y-72{--tw-translate-y:-18rem}.xl\:-translate-y-80{--tw-translate-y:-20rem}.xl\:-translate-y-96{--tw-translate-y:-24rem}.xl\:-translate-y-px{--tw-translate-y:-1px}.xl\:-translate-y-0\.5{--tw-translate-y:-0.125rem}.xl\:-translate-y-1\.5{--tw-translate-y:-0.375rem}.xl\:-translate-y-2\.5{--tw-translate-y:-0.625rem}.xl\:-translate-y-3\.5{--tw-translate-y:-0.875rem}.xl\:translate-y-1\/2{--tw-translate-y:50%}.xl\:translate-y-1\/3{--tw-translate-y:33.333333%}.xl\:translate-y-2\/3{--tw-translate-y:66.666667%}.xl\:translate-y-1\/4{--tw-translate-y:25%}.xl\:translate-y-2\/4{--tw-translate-y:50%}.xl\:translate-y-3\/4{--tw-translate-y:75%}.xl\:translate-y-full{--tw-translate-y:100%}.xl\:-translate-y-1\/2{--tw-translate-y:-50%}.xl\:-translate-y-1\/3{--tw-translate-y:-33.333333%}.xl\:-translate-y-2\/3{--tw-translate-y:-66.666667%}.xl\:-translate-y-1\/4{--tw-translate-y:-25%}.xl\:-translate-y-2\/4{--tw-translate-y:-50%}.xl\:-translate-y-3\/4{--tw-translate-y:-75%}.xl\:-translate-y-full{--tw-translate-y:-100%}.xl\:hover\:translate-x-0:hover{--tw-translate-x:0px}.xl\:hover\:translate-x-1:hover{--tw-translate-x:0.25rem}.xl\:hover\:translate-x-2:hover{--tw-translate-x:0.5rem}.xl\:hover\:translate-x-3:hover{--tw-translate-x:0.75rem}.xl\:hover\:translate-x-4:hover{--tw-translate-x:1rem}.xl\:hover\:translate-x-5:hover{--tw-translate-x:1.25rem}.xl\:hover\:translate-x-6:hover{--tw-translate-x:1.5rem}.xl\:hover\:translate-x-7:hover{--tw-translate-x:1.75rem}.xl\:hover\:translate-x-8:hover{--tw-translate-x:2rem}.xl\:hover\:translate-x-9:hover{--tw-translate-x:2.25rem}.xl\:hover\:translate-x-10:hover{--tw-translate-x:2.5rem}.xl\:hover\:translate-x-11:hover{--tw-translate-x:2.75rem}.xl\:hover\:translate-x-12:hover{--tw-translate-x:3rem}.xl\:hover\:translate-x-14:hover{--tw-translate-x:3.5rem}.xl\:hover\:translate-x-16:hover{--tw-translate-x:4rem}.xl\:hover\:translate-x-20:hover{--tw-translate-x:5rem}.xl\:hover\:translate-x-24:hover{--tw-translate-x:6rem}.xl\:hover\:translate-x-28:hover{--tw-translate-x:7rem}.xl\:hover\:translate-x-32:hover{--tw-translate-x:8rem}.xl\:hover\:translate-x-36:hover{--tw-translate-x:9rem}.xl\:hover\:translate-x-40:hover{--tw-translate-x:10rem}.xl\:hover\:translate-x-44:hover{--tw-translate-x:11rem}.xl\:hover\:translate-x-48:hover{--tw-translate-x:12rem}.xl\:hover\:translate-x-52:hover{--tw-translate-x:13rem}.xl\:hover\:translate-x-56:hover{--tw-translate-x:14rem}.xl\:hover\:translate-x-60:hover{--tw-translate-x:15rem}.xl\:hover\:translate-x-64:hover{--tw-translate-x:16rem}.xl\:hover\:translate-x-72:hover{--tw-translate-x:18rem}.xl\:hover\:translate-x-80:hover{--tw-translate-x:20rem}.xl\:hover\:translate-x-96:hover{--tw-translate-x:24rem}.xl\:hover\:translate-x-px:hover{--tw-translate-x:1px}.xl\:hover\:translate-x-0\.5:hover{--tw-translate-x:0.125rem}.xl\:hover\:translate-x-1\.5:hover{--tw-translate-x:0.375rem}.xl\:hover\:translate-x-2\.5:hover{--tw-translate-x:0.625rem}.xl\:hover\:translate-x-3\.5:hover{--tw-translate-x:0.875rem}.xl\:hover\:-translate-x-0:hover{--tw-translate-x:0px}.xl\:hover\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.xl\:hover\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.xl\:hover\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.xl\:hover\:-translate-x-4:hover{--tw-translate-x:-1rem}.xl\:hover\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.xl\:hover\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.xl\:hover\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.xl\:hover\:-translate-x-8:hover{--tw-translate-x:-2rem}.xl\:hover\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.xl\:hover\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.xl\:hover\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.xl\:hover\:-translate-x-12:hover{--tw-translate-x:-3rem}.xl\:hover\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.xl\:hover\:-translate-x-16:hover{--tw-translate-x:-4rem}.xl\:hover\:-translate-x-20:hover{--tw-translate-x:-5rem}.xl\:hover\:-translate-x-24:hover{--tw-translate-x:-6rem}.xl\:hover\:-translate-x-28:hover{--tw-translate-x:-7rem}.xl\:hover\:-translate-x-32:hover{--tw-translate-x:-8rem}.xl\:hover\:-translate-x-36:hover{--tw-translate-x:-9rem}.xl\:hover\:-translate-x-40:hover{--tw-translate-x:-10rem}.xl\:hover\:-translate-x-44:hover{--tw-translate-x:-11rem}.xl\:hover\:-translate-x-48:hover{--tw-translate-x:-12rem}.xl\:hover\:-translate-x-52:hover{--tw-translate-x:-13rem}.xl\:hover\:-translate-x-56:hover{--tw-translate-x:-14rem}.xl\:hover\:-translate-x-60:hover{--tw-translate-x:-15rem}.xl\:hover\:-translate-x-64:hover{--tw-translate-x:-16rem}.xl\:hover\:-translate-x-72:hover{--tw-translate-x:-18rem}.xl\:hover\:-translate-x-80:hover{--tw-translate-x:-20rem}.xl\:hover\:-translate-x-96:hover{--tw-translate-x:-24rem}.xl\:hover\:-translate-x-px:hover{--tw-translate-x:-1px}.xl\:hover\:-translate-x-0\.5:hover{--tw-translate-x:-0.125rem}.xl\:hover\:-translate-x-1\.5:hover{--tw-translate-x:-0.375rem}.xl\:hover\:-translate-x-2\.5:hover{--tw-translate-x:-0.625rem}.xl\:hover\:-translate-x-3\.5:hover{--tw-translate-x:-0.875rem}.xl\:hover\:translate-x-1\/2:hover{--tw-translate-x:50%}.xl\:hover\:translate-x-1\/3:hover{--tw-translate-x:33.333333%}.xl\:hover\:translate-x-2\/3:hover{--tw-translate-x:66.666667%}.xl\:hover\:translate-x-1\/4:hover{--tw-translate-x:25%}.xl\:hover\:translate-x-2\/4:hover{--tw-translate-x:50%}.xl\:hover\:translate-x-3\/4:hover{--tw-translate-x:75%}.xl\:hover\:translate-x-full:hover{--tw-translate-x:100%}.xl\:hover\:-translate-x-1\/2:hover{--tw-translate-x:-50%}.xl\:hover\:-translate-x-1\/3:hover{--tw-translate-x:-33.333333%}.xl\:hover\:-translate-x-2\/3:hover{--tw-translate-x:-66.666667%}.xl\:hover\:-translate-x-1\/4:hover{--tw-translate-x:-25%}.xl\:hover\:-translate-x-2\/4:hover{--tw-translate-x:-50%}.xl\:hover\:-translate-x-3\/4:hover{--tw-translate-x:-75%}.xl\:hover\:-translate-x-full:hover{--tw-translate-x:-100%}.xl\:hover\:translate-y-0:hover{--tw-translate-y:0px}.xl\:hover\:translate-y-1:hover{--tw-translate-y:0.25rem}.xl\:hover\:translate-y-2:hover{--tw-translate-y:0.5rem}.xl\:hover\:translate-y-3:hover{--tw-translate-y:0.75rem}.xl\:hover\:translate-y-4:hover{--tw-translate-y:1rem}.xl\:hover\:translate-y-5:hover{--tw-translate-y:1.25rem}.xl\:hover\:translate-y-6:hover{--tw-translate-y:1.5rem}.xl\:hover\:translate-y-7:hover{--tw-translate-y:1.75rem}.xl\:hover\:translate-y-8:hover{--tw-translate-y:2rem}.xl\:hover\:translate-y-9:hover{--tw-translate-y:2.25rem}.xl\:hover\:translate-y-10:hover{--tw-translate-y:2.5rem}.xl\:hover\:translate-y-11:hover{--tw-translate-y:2.75rem}.xl\:hover\:translate-y-12:hover{--tw-translate-y:3rem}.xl\:hover\:translate-y-14:hover{--tw-translate-y:3.5rem}.xl\:hover\:translate-y-16:hover{--tw-translate-y:4rem}.xl\:hover\:translate-y-20:hover{--tw-translate-y:5rem}.xl\:hover\:translate-y-24:hover{--tw-translate-y:6rem}.xl\:hover\:translate-y-28:hover{--tw-translate-y:7rem}.xl\:hover\:translate-y-32:hover{--tw-translate-y:8rem}.xl\:hover\:translate-y-36:hover{--tw-translate-y:9rem}.xl\:hover\:translate-y-40:hover{--tw-translate-y:10rem}.xl\:hover\:translate-y-44:hover{--tw-translate-y:11rem}.xl\:hover\:translate-y-48:hover{--tw-translate-y:12rem}.xl\:hover\:translate-y-52:hover{--tw-translate-y:13rem}.xl\:hover\:translate-y-56:hover{--tw-translate-y:14rem}.xl\:hover\:translate-y-60:hover{--tw-translate-y:15rem}.xl\:hover\:translate-y-64:hover{--tw-translate-y:16rem}.xl\:hover\:translate-y-72:hover{--tw-translate-y:18rem}.xl\:hover\:translate-y-80:hover{--tw-translate-y:20rem}.xl\:hover\:translate-y-96:hover{--tw-translate-y:24rem}.xl\:hover\:translate-y-px:hover{--tw-translate-y:1px}.xl\:hover\:translate-y-0\.5:hover{--tw-translate-y:0.125rem}.xl\:hover\:translate-y-1\.5:hover{--tw-translate-y:0.375rem}.xl\:hover\:translate-y-2\.5:hover{--tw-translate-y:0.625rem}.xl\:hover\:translate-y-3\.5:hover{--tw-translate-y:0.875rem}.xl\:hover\:-translate-y-0:hover{--tw-translate-y:0px}.xl\:hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.xl\:hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.xl\:hover\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.xl\:hover\:-translate-y-4:hover{--tw-translate-y:-1rem}.xl\:hover\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.xl\:hover\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.xl\:hover\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.xl\:hover\:-translate-y-8:hover{--tw-translate-y:-2rem}.xl\:hover\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.xl\:hover\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.xl\:hover\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.xl\:hover\:-translate-y-12:hover{--tw-translate-y:-3rem}.xl\:hover\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.xl\:hover\:-translate-y-16:hover{--tw-translate-y:-4rem}.xl\:hover\:-translate-y-20:hover{--tw-translate-y:-5rem}.xl\:hover\:-translate-y-24:hover{--tw-translate-y:-6rem}.xl\:hover\:-translate-y-28:hover{--tw-translate-y:-7rem}.xl\:hover\:-translate-y-32:hover{--tw-translate-y:-8rem}.xl\:hover\:-translate-y-36:hover{--tw-translate-y:-9rem}.xl\:hover\:-translate-y-40:hover{--tw-translate-y:-10rem}.xl\:hover\:-translate-y-44:hover{--tw-translate-y:-11rem}.xl\:hover\:-translate-y-48:hover{--tw-translate-y:-12rem}.xl\:hover\:-translate-y-52:hover{--tw-translate-y:-13rem}.xl\:hover\:-translate-y-56:hover{--tw-translate-y:-14rem}.xl\:hover\:-translate-y-60:hover{--tw-translate-y:-15rem}.xl\:hover\:-translate-y-64:hover{--tw-translate-y:-16rem}.xl\:hover\:-translate-y-72:hover{--tw-translate-y:-18rem}.xl\:hover\:-translate-y-80:hover{--tw-translate-y:-20rem}.xl\:hover\:-translate-y-96:hover{--tw-translate-y:-24rem}.xl\:hover\:-translate-y-px:hover{--tw-translate-y:-1px}.xl\:hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.xl\:hover\:-translate-y-1\.5:hover{--tw-translate-y:-0.375rem}.xl\:hover\:-translate-y-2\.5:hover{--tw-translate-y:-0.625rem}.xl\:hover\:-translate-y-3\.5:hover{--tw-translate-y:-0.875rem}.xl\:hover\:translate-y-1\/2:hover{--tw-translate-y:50%}.xl\:hover\:translate-y-1\/3:hover{--tw-translate-y:33.333333%}.xl\:hover\:translate-y-2\/3:hover{--tw-translate-y:66.666667%}.xl\:hover\:translate-y-1\/4:hover{--tw-translate-y:25%}.xl\:hover\:translate-y-2\/4:hover{--tw-translate-y:50%}.xl\:hover\:translate-y-3\/4:hover{--tw-translate-y:75%}.xl\:hover\:translate-y-full:hover{--tw-translate-y:100%}.xl\:hover\:-translate-y-1\/2:hover{--tw-translate-y:-50%}.xl\:hover\:-translate-y-1\/3:hover{--tw-translate-y:-33.333333%}.xl\:hover\:-translate-y-2\/3:hover{--tw-translate-y:-66.666667%}.xl\:hover\:-translate-y-1\/4:hover{--tw-translate-y:-25%}.xl\:hover\:-translate-y-2\/4:hover{--tw-translate-y:-50%}.xl\:hover\:-translate-y-3\/4:hover{--tw-translate-y:-75%}.xl\:hover\:-translate-y-full:hover{--tw-translate-y:-100%}.xl\:focus\:translate-x-0:focus{--tw-translate-x:0px}.xl\:focus\:translate-x-1:focus{--tw-translate-x:0.25rem}.xl\:focus\:translate-x-2:focus{--tw-translate-x:0.5rem}.xl\:focus\:translate-x-3:focus{--tw-translate-x:0.75rem}.xl\:focus\:translate-x-4:focus{--tw-translate-x:1rem}.xl\:focus\:translate-x-5:focus{--tw-translate-x:1.25rem}.xl\:focus\:translate-x-6:focus{--tw-translate-x:1.5rem}.xl\:focus\:translate-x-7:focus{--tw-translate-x:1.75rem}.xl\:focus\:translate-x-8:focus{--tw-translate-x:2rem}.xl\:focus\:translate-x-9:focus{--tw-translate-x:2.25rem}.xl\:focus\:translate-x-10:focus{--tw-translate-x:2.5rem}.xl\:focus\:translate-x-11:focus{--tw-translate-x:2.75rem}.xl\:focus\:translate-x-12:focus{--tw-translate-x:3rem}.xl\:focus\:translate-x-14:focus{--tw-translate-x:3.5rem}.xl\:focus\:translate-x-16:focus{--tw-translate-x:4rem}.xl\:focus\:translate-x-20:focus{--tw-translate-x:5rem}.xl\:focus\:translate-x-24:focus{--tw-translate-x:6rem}.xl\:focus\:translate-x-28:focus{--tw-translate-x:7rem}.xl\:focus\:translate-x-32:focus{--tw-translate-x:8rem}.xl\:focus\:translate-x-36:focus{--tw-translate-x:9rem}.xl\:focus\:translate-x-40:focus{--tw-translate-x:10rem}.xl\:focus\:translate-x-44:focus{--tw-translate-x:11rem}.xl\:focus\:translate-x-48:focus{--tw-translate-x:12rem}.xl\:focus\:translate-x-52:focus{--tw-translate-x:13rem}.xl\:focus\:translate-x-56:focus{--tw-translate-x:14rem}.xl\:focus\:translate-x-60:focus{--tw-translate-x:15rem}.xl\:focus\:translate-x-64:focus{--tw-translate-x:16rem}.xl\:focus\:translate-x-72:focus{--tw-translate-x:18rem}.xl\:focus\:translate-x-80:focus{--tw-translate-x:20rem}.xl\:focus\:translate-x-96:focus{--tw-translate-x:24rem}.xl\:focus\:translate-x-px:focus{--tw-translate-x:1px}.xl\:focus\:translate-x-0\.5:focus{--tw-translate-x:0.125rem}.xl\:focus\:translate-x-1\.5:focus{--tw-translate-x:0.375rem}.xl\:focus\:translate-x-2\.5:focus{--tw-translate-x:0.625rem}.xl\:focus\:translate-x-3\.5:focus{--tw-translate-x:0.875rem}.xl\:focus\:-translate-x-0:focus{--tw-translate-x:0px}.xl\:focus\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.xl\:focus\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.xl\:focus\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.xl\:focus\:-translate-x-4:focus{--tw-translate-x:-1rem}.xl\:focus\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.xl\:focus\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.xl\:focus\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.xl\:focus\:-translate-x-8:focus{--tw-translate-x:-2rem}.xl\:focus\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.xl\:focus\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.xl\:focus\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.xl\:focus\:-translate-x-12:focus{--tw-translate-x:-3rem}.xl\:focus\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.xl\:focus\:-translate-x-16:focus{--tw-translate-x:-4rem}.xl\:focus\:-translate-x-20:focus{--tw-translate-x:-5rem}.xl\:focus\:-translate-x-24:focus{--tw-translate-x:-6rem}.xl\:focus\:-translate-x-28:focus{--tw-translate-x:-7rem}.xl\:focus\:-translate-x-32:focus{--tw-translate-x:-8rem}.xl\:focus\:-translate-x-36:focus{--tw-translate-x:-9rem}.xl\:focus\:-translate-x-40:focus{--tw-translate-x:-10rem}.xl\:focus\:-translate-x-44:focus{--tw-translate-x:-11rem}.xl\:focus\:-translate-x-48:focus{--tw-translate-x:-12rem}.xl\:focus\:-translate-x-52:focus{--tw-translate-x:-13rem}.xl\:focus\:-translate-x-56:focus{--tw-translate-x:-14rem}.xl\:focus\:-translate-x-60:focus{--tw-translate-x:-15rem}.xl\:focus\:-translate-x-64:focus{--tw-translate-x:-16rem}.xl\:focus\:-translate-x-72:focus{--tw-translate-x:-18rem}.xl\:focus\:-translate-x-80:focus{--tw-translate-x:-20rem}.xl\:focus\:-translate-x-96:focus{--tw-translate-x:-24rem}.xl\:focus\:-translate-x-px:focus{--tw-translate-x:-1px}.xl\:focus\:-translate-x-0\.5:focus{--tw-translate-x:-0.125rem}.xl\:focus\:-translate-x-1\.5:focus{--tw-translate-x:-0.375rem}.xl\:focus\:-translate-x-2\.5:focus{--tw-translate-x:-0.625rem}.xl\:focus\:-translate-x-3\.5:focus{--tw-translate-x:-0.875rem}.xl\:focus\:translate-x-1\/2:focus{--tw-translate-x:50%}.xl\:focus\:translate-x-1\/3:focus{--tw-translate-x:33.333333%}.xl\:focus\:translate-x-2\/3:focus{--tw-translate-x:66.666667%}.xl\:focus\:translate-x-1\/4:focus{--tw-translate-x:25%}.xl\:focus\:translate-x-2\/4:focus{--tw-translate-x:50%}.xl\:focus\:translate-x-3\/4:focus{--tw-translate-x:75%}.xl\:focus\:translate-x-full:focus{--tw-translate-x:100%}.xl\:focus\:-translate-x-1\/2:focus{--tw-translate-x:-50%}.xl\:focus\:-translate-x-1\/3:focus{--tw-translate-x:-33.333333%}.xl\:focus\:-translate-x-2\/3:focus{--tw-translate-x:-66.666667%}.xl\:focus\:-translate-x-1\/4:focus{--tw-translate-x:-25%}.xl\:focus\:-translate-x-2\/4:focus{--tw-translate-x:-50%}.xl\:focus\:-translate-x-3\/4:focus{--tw-translate-x:-75%}.xl\:focus\:-translate-x-full:focus{--tw-translate-x:-100%}.xl\:focus\:translate-y-0:focus{--tw-translate-y:0px}.xl\:focus\:translate-y-1:focus{--tw-translate-y:0.25rem}.xl\:focus\:translate-y-2:focus{--tw-translate-y:0.5rem}.xl\:focus\:translate-y-3:focus{--tw-translate-y:0.75rem}.xl\:focus\:translate-y-4:focus{--tw-translate-y:1rem}.xl\:focus\:translate-y-5:focus{--tw-translate-y:1.25rem}.xl\:focus\:translate-y-6:focus{--tw-translate-y:1.5rem}.xl\:focus\:translate-y-7:focus{--tw-translate-y:1.75rem}.xl\:focus\:translate-y-8:focus{--tw-translate-y:2rem}.xl\:focus\:translate-y-9:focus{--tw-translate-y:2.25rem}.xl\:focus\:translate-y-10:focus{--tw-translate-y:2.5rem}.xl\:focus\:translate-y-11:focus{--tw-translate-y:2.75rem}.xl\:focus\:translate-y-12:focus{--tw-translate-y:3rem}.xl\:focus\:translate-y-14:focus{--tw-translate-y:3.5rem}.xl\:focus\:translate-y-16:focus{--tw-translate-y:4rem}.xl\:focus\:translate-y-20:focus{--tw-translate-y:5rem}.xl\:focus\:translate-y-24:focus{--tw-translate-y:6rem}.xl\:focus\:translate-y-28:focus{--tw-translate-y:7rem}.xl\:focus\:translate-y-32:focus{--tw-translate-y:8rem}.xl\:focus\:translate-y-36:focus{--tw-translate-y:9rem}.xl\:focus\:translate-y-40:focus{--tw-translate-y:10rem}.xl\:focus\:translate-y-44:focus{--tw-translate-y:11rem}.xl\:focus\:translate-y-48:focus{--tw-translate-y:12rem}.xl\:focus\:translate-y-52:focus{--tw-translate-y:13rem}.xl\:focus\:translate-y-56:focus{--tw-translate-y:14rem}.xl\:focus\:translate-y-60:focus{--tw-translate-y:15rem}.xl\:focus\:translate-y-64:focus{--tw-translate-y:16rem}.xl\:focus\:translate-y-72:focus{--tw-translate-y:18rem}.xl\:focus\:translate-y-80:focus{--tw-translate-y:20rem}.xl\:focus\:translate-y-96:focus{--tw-translate-y:24rem}.xl\:focus\:translate-y-px:focus{--tw-translate-y:1px}.xl\:focus\:translate-y-0\.5:focus{--tw-translate-y:0.125rem}.xl\:focus\:translate-y-1\.5:focus{--tw-translate-y:0.375rem}.xl\:focus\:translate-y-2\.5:focus{--tw-translate-y:0.625rem}.xl\:focus\:translate-y-3\.5:focus{--tw-translate-y:0.875rem}.xl\:focus\:-translate-y-0:focus{--tw-translate-y:0px}.xl\:focus\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.xl\:focus\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.xl\:focus\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.xl\:focus\:-translate-y-4:focus{--tw-translate-y:-1rem}.xl\:focus\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.xl\:focus\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.xl\:focus\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.xl\:focus\:-translate-y-8:focus{--tw-translate-y:-2rem}.xl\:focus\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.xl\:focus\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.xl\:focus\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.xl\:focus\:-translate-y-12:focus{--tw-translate-y:-3rem}.xl\:focus\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.xl\:focus\:-translate-y-16:focus{--tw-translate-y:-4rem}.xl\:focus\:-translate-y-20:focus{--tw-translate-y:-5rem}.xl\:focus\:-translate-y-24:focus{--tw-translate-y:-6rem}.xl\:focus\:-translate-y-28:focus{--tw-translate-y:-7rem}.xl\:focus\:-translate-y-32:focus{--tw-translate-y:-8rem}.xl\:focus\:-translate-y-36:focus{--tw-translate-y:-9rem}.xl\:focus\:-translate-y-40:focus{--tw-translate-y:-10rem}.xl\:focus\:-translate-y-44:focus{--tw-translate-y:-11rem}.xl\:focus\:-translate-y-48:focus{--tw-translate-y:-12rem}.xl\:focus\:-translate-y-52:focus{--tw-translate-y:-13rem}.xl\:focus\:-translate-y-56:focus{--tw-translate-y:-14rem}.xl\:focus\:-translate-y-60:focus{--tw-translate-y:-15rem}.xl\:focus\:-translate-y-64:focus{--tw-translate-y:-16rem}.xl\:focus\:-translate-y-72:focus{--tw-translate-y:-18rem}.xl\:focus\:-translate-y-80:focus{--tw-translate-y:-20rem}.xl\:focus\:-translate-y-96:focus{--tw-translate-y:-24rem}.xl\:focus\:-translate-y-px:focus{--tw-translate-y:-1px}.xl\:focus\:-translate-y-0\.5:focus{--tw-translate-y:-0.125rem}.xl\:focus\:-translate-y-1\.5:focus{--tw-translate-y:-0.375rem}.xl\:focus\:-translate-y-2\.5:focus{--tw-translate-y:-0.625rem}.xl\:focus\:-translate-y-3\.5:focus{--tw-translate-y:-0.875rem}.xl\:focus\:translate-y-1\/2:focus{--tw-translate-y:50%}.xl\:focus\:translate-y-1\/3:focus{--tw-translate-y:33.333333%}.xl\:focus\:translate-y-2\/3:focus{--tw-translate-y:66.666667%}.xl\:focus\:translate-y-1\/4:focus{--tw-translate-y:25%}.xl\:focus\:translate-y-2\/4:focus{--tw-translate-y:50%}.xl\:focus\:translate-y-3\/4:focus{--tw-translate-y:75%}.xl\:focus\:translate-y-full:focus{--tw-translate-y:100%}.xl\:focus\:-translate-y-1\/2:focus{--tw-translate-y:-50%}.xl\:focus\:-translate-y-1\/3:focus{--tw-translate-y:-33.333333%}.xl\:focus\:-translate-y-2\/3:focus{--tw-translate-y:-66.666667%}.xl\:focus\:-translate-y-1\/4:focus{--tw-translate-y:-25%}.xl\:focus\:-translate-y-2\/4:focus{--tw-translate-y:-50%}.xl\:focus\:-translate-y-3\/4:focus{--tw-translate-y:-75%}.xl\:focus\:-translate-y-full:focus{--tw-translate-y:-100%}.xl\:rotate-0{--tw-rotate:0deg}.xl\:rotate-1{--tw-rotate:1deg}.xl\:rotate-2{--tw-rotate:2deg}.xl\:rotate-3{--tw-rotate:3deg}.xl\:rotate-6{--tw-rotate:6deg}.xl\:rotate-12{--tw-rotate:12deg}.xl\:rotate-45{--tw-rotate:45deg}.xl\:rotate-90{--tw-rotate:90deg}.xl\:rotate-180{--tw-rotate:180deg}.xl\:-rotate-180{--tw-rotate:-180deg}.xl\:-rotate-90{--tw-rotate:-90deg}.xl\:-rotate-45{--tw-rotate:-45deg}.xl\:-rotate-12{--tw-rotate:-12deg}.xl\:-rotate-6{--tw-rotate:-6deg}.xl\:-rotate-3{--tw-rotate:-3deg}.xl\:-rotate-2{--tw-rotate:-2deg}.xl\:-rotate-1{--tw-rotate:-1deg}.xl\:hover\:rotate-0:hover{--tw-rotate:0deg}.xl\:hover\:rotate-1:hover{--tw-rotate:1deg}.xl\:hover\:rotate-2:hover{--tw-rotate:2deg}.xl\:hover\:rotate-3:hover{--tw-rotate:3deg}.xl\:hover\:rotate-6:hover{--tw-rotate:6deg}.xl\:hover\:rotate-12:hover{--tw-rotate:12deg}.xl\:hover\:rotate-45:hover{--tw-rotate:45deg}.xl\:hover\:rotate-90:hover{--tw-rotate:90deg}.xl\:hover\:rotate-180:hover{--tw-rotate:180deg}.xl\:hover\:-rotate-180:hover{--tw-rotate:-180deg}.xl\:hover\:-rotate-90:hover{--tw-rotate:-90deg}.xl\:hover\:-rotate-45:hover{--tw-rotate:-45deg}.xl\:hover\:-rotate-12:hover{--tw-rotate:-12deg}.xl\:hover\:-rotate-6:hover{--tw-rotate:-6deg}.xl\:hover\:-rotate-3:hover{--tw-rotate:-3deg}.xl\:hover\:-rotate-2:hover{--tw-rotate:-2deg}.xl\:hover\:-rotate-1:hover{--tw-rotate:-1deg}.xl\:focus\:rotate-0:focus{--tw-rotate:0deg}.xl\:focus\:rotate-1:focus{--tw-rotate:1deg}.xl\:focus\:rotate-2:focus{--tw-rotate:2deg}.xl\:focus\:rotate-3:focus{--tw-rotate:3deg}.xl\:focus\:rotate-6:focus{--tw-rotate:6deg}.xl\:focus\:rotate-12:focus{--tw-rotate:12deg}.xl\:focus\:rotate-45:focus{--tw-rotate:45deg}.xl\:focus\:rotate-90:focus{--tw-rotate:90deg}.xl\:focus\:rotate-180:focus{--tw-rotate:180deg}.xl\:focus\:-rotate-180:focus{--tw-rotate:-180deg}.xl\:focus\:-rotate-90:focus{--tw-rotate:-90deg}.xl\:focus\:-rotate-45:focus{--tw-rotate:-45deg}.xl\:focus\:-rotate-12:focus{--tw-rotate:-12deg}.xl\:focus\:-rotate-6:focus{--tw-rotate:-6deg}.xl\:focus\:-rotate-3:focus{--tw-rotate:-3deg}.xl\:focus\:-rotate-2:focus{--tw-rotate:-2deg}.xl\:focus\:-rotate-1:focus{--tw-rotate:-1deg}.xl\:skew-x-0{--tw-skew-x:0deg}.xl\:skew-x-1{--tw-skew-x:1deg}.xl\:skew-x-2{--tw-skew-x:2deg}.xl\:skew-x-3{--tw-skew-x:3deg}.xl\:skew-x-6{--tw-skew-x:6deg}.xl\:skew-x-12{--tw-skew-x:12deg}.xl\:-skew-x-12{--tw-skew-x:-12deg}.xl\:-skew-x-6{--tw-skew-x:-6deg}.xl\:-skew-x-3{--tw-skew-x:-3deg}.xl\:-skew-x-2{--tw-skew-x:-2deg}.xl\:-skew-x-1{--tw-skew-x:-1deg}.xl\:skew-y-0{--tw-skew-y:0deg}.xl\:skew-y-1{--tw-skew-y:1deg}.xl\:skew-y-2{--tw-skew-y:2deg}.xl\:skew-y-3{--tw-skew-y:3deg}.xl\:skew-y-6{--tw-skew-y:6deg}.xl\:skew-y-12{--tw-skew-y:12deg}.xl\:-skew-y-12{--tw-skew-y:-12deg}.xl\:-skew-y-6{--tw-skew-y:-6deg}.xl\:-skew-y-3{--tw-skew-y:-3deg}.xl\:-skew-y-2{--tw-skew-y:-2deg}.xl\:-skew-y-1{--tw-skew-y:-1deg}.xl\:hover\:skew-x-0:hover{--tw-skew-x:0deg}.xl\:hover\:skew-x-1:hover{--tw-skew-x:1deg}.xl\:hover\:skew-x-2:hover{--tw-skew-x:2deg}.xl\:hover\:skew-x-3:hover{--tw-skew-x:3deg}.xl\:hover\:skew-x-6:hover{--tw-skew-x:6deg}.xl\:hover\:skew-x-12:hover{--tw-skew-x:12deg}.xl\:hover\:-skew-x-12:hover{--tw-skew-x:-12deg}.xl\:hover\:-skew-x-6:hover{--tw-skew-x:-6deg}.xl\:hover\:-skew-x-3:hover{--tw-skew-x:-3deg}.xl\:hover\:-skew-x-2:hover{--tw-skew-x:-2deg}.xl\:hover\:-skew-x-1:hover{--tw-skew-x:-1deg}.xl\:hover\:skew-y-0:hover{--tw-skew-y:0deg}.xl\:hover\:skew-y-1:hover{--tw-skew-y:1deg}.xl\:hover\:skew-y-2:hover{--tw-skew-y:2deg}.xl\:hover\:skew-y-3:hover{--tw-skew-y:3deg}.xl\:hover\:skew-y-6:hover{--tw-skew-y:6deg}.xl\:hover\:skew-y-12:hover{--tw-skew-y:12deg}.xl\:hover\:-skew-y-12:hover{--tw-skew-y:-12deg}.xl\:hover\:-skew-y-6:hover{--tw-skew-y:-6deg}.xl\:hover\:-skew-y-3:hover{--tw-skew-y:-3deg}.xl\:hover\:-skew-y-2:hover{--tw-skew-y:-2deg}.xl\:hover\:-skew-y-1:hover{--tw-skew-y:-1deg}.xl\:focus\:skew-x-0:focus{--tw-skew-x:0deg}.xl\:focus\:skew-x-1:focus{--tw-skew-x:1deg}.xl\:focus\:skew-x-2:focus{--tw-skew-x:2deg}.xl\:focus\:skew-x-3:focus{--tw-skew-x:3deg}.xl\:focus\:skew-x-6:focus{--tw-skew-x:6deg}.xl\:focus\:skew-x-12:focus{--tw-skew-x:12deg}.xl\:focus\:-skew-x-12:focus{--tw-skew-x:-12deg}.xl\:focus\:-skew-x-6:focus{--tw-skew-x:-6deg}.xl\:focus\:-skew-x-3:focus{--tw-skew-x:-3deg}.xl\:focus\:-skew-x-2:focus{--tw-skew-x:-2deg}.xl\:focus\:-skew-x-1:focus{--tw-skew-x:-1deg}.xl\:focus\:skew-y-0:focus{--tw-skew-y:0deg}.xl\:focus\:skew-y-1:focus{--tw-skew-y:1deg}.xl\:focus\:skew-y-2:focus{--tw-skew-y:2deg}.xl\:focus\:skew-y-3:focus{--tw-skew-y:3deg}.xl\:focus\:skew-y-6:focus{--tw-skew-y:6deg}.xl\:focus\:skew-y-12:focus{--tw-skew-y:12deg}.xl\:focus\:-skew-y-12:focus{--tw-skew-y:-12deg}.xl\:focus\:-skew-y-6:focus{--tw-skew-y:-6deg}.xl\:focus\:-skew-y-3:focus{--tw-skew-y:-3deg}.xl\:focus\:-skew-y-2:focus{--tw-skew-y:-2deg}.xl\:focus\:-skew-y-1:focus{--tw-skew-y:-1deg}.xl\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.xl\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.xl\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.xl\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.xl\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.xl\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.xl\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\:hover\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.xl\:hover\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.xl\:hover\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.xl\:hover\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.xl\:hover\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.xl\:hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.xl\:hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\:hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\:hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\:hover\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\:focus\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.xl\:focus\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.xl\:focus\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.xl\:focus\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.xl\:focus\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.xl\:focus\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.xl\:focus\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.xl\:focus\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.xl\:focus\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.xl\:focus\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.xl\:scale-x-0{--tw-scale-x:0}.xl\:scale-x-50{--tw-scale-x:.5}.xl\:scale-x-75{--tw-scale-x:.75}.xl\:scale-x-90{--tw-scale-x:.9}.xl\:scale-x-95{--tw-scale-x:.95}.xl\:scale-x-100{--tw-scale-x:1}.xl\:scale-x-105{--tw-scale-x:1.05}.xl\:scale-x-110{--tw-scale-x:1.1}.xl\:scale-x-125{--tw-scale-x:1.25}.xl\:scale-x-150{--tw-scale-x:1.5}.xl\:scale-y-0{--tw-scale-y:0}.xl\:scale-y-50{--tw-scale-y:.5}.xl\:scale-y-75{--tw-scale-y:.75}.xl\:scale-y-90{--tw-scale-y:.9}.xl\:scale-y-95{--tw-scale-y:.95}.xl\:scale-y-100{--tw-scale-y:1}.xl\:scale-y-105{--tw-scale-y:1.05}.xl\:scale-y-110{--tw-scale-y:1.1}.xl\:scale-y-125{--tw-scale-y:1.25}.xl\:scale-y-150{--tw-scale-y:1.5}.xl\:hover\:scale-x-0:hover{--tw-scale-x:0}.xl\:hover\:scale-x-50:hover{--tw-scale-x:.5}.xl\:hover\:scale-x-75:hover{--tw-scale-x:.75}.xl\:hover\:scale-x-90:hover{--tw-scale-x:.9}.xl\:hover\:scale-x-95:hover{--tw-scale-x:.95}.xl\:hover\:scale-x-100:hover{--tw-scale-x:1}.xl\:hover\:scale-x-105:hover{--tw-scale-x:1.05}.xl\:hover\:scale-x-110:hover{--tw-scale-x:1.1}.xl\:hover\:scale-x-125:hover{--tw-scale-x:1.25}.xl\:hover\:scale-x-150:hover{--tw-scale-x:1.5}.xl\:hover\:scale-y-0:hover{--tw-scale-y:0}.xl\:hover\:scale-y-50:hover{--tw-scale-y:.5}.xl\:hover\:scale-y-75:hover{--tw-scale-y:.75}.xl\:hover\:scale-y-90:hover{--tw-scale-y:.9}.xl\:hover\:scale-y-95:hover{--tw-scale-y:.95}.xl\:hover\:scale-y-100:hover{--tw-scale-y:1}.xl\:hover\:scale-y-105:hover{--tw-scale-y:1.05}.xl\:hover\:scale-y-110:hover{--tw-scale-y:1.1}.xl\:hover\:scale-y-125:hover{--tw-scale-y:1.25}.xl\:hover\:scale-y-150:hover{--tw-scale-y:1.5}.xl\:focus\:scale-x-0:focus{--tw-scale-x:0}.xl\:focus\:scale-x-50:focus{--tw-scale-x:.5}.xl\:focus\:scale-x-75:focus{--tw-scale-x:.75}.xl\:focus\:scale-x-90:focus{--tw-scale-x:.9}.xl\:focus\:scale-x-95:focus{--tw-scale-x:.95}.xl\:focus\:scale-x-100:focus{--tw-scale-x:1}.xl\:focus\:scale-x-105:focus{--tw-scale-x:1.05}.xl\:focus\:scale-x-110:focus{--tw-scale-x:1.1}.xl\:focus\:scale-x-125:focus{--tw-scale-x:1.25}.xl\:focus\:scale-x-150:focus{--tw-scale-x:1.5}.xl\:focus\:scale-y-0:focus{--tw-scale-y:0}.xl\:focus\:scale-y-50:focus{--tw-scale-y:.5}.xl\:focus\:scale-y-75:focus{--tw-scale-y:.75}.xl\:focus\:scale-y-90:focus{--tw-scale-y:.9}.xl\:focus\:scale-y-95:focus{--tw-scale-y:.95}.xl\:focus\:scale-y-100:focus{--tw-scale-y:1}.xl\:focus\:scale-y-105:focus{--tw-scale-y:1.05}.xl\:focus\:scale-y-110:focus{--tw-scale-y:1.1}.xl\:focus\:scale-y-125:focus{--tw-scale-y:1.25}.xl\:focus\:scale-y-150:focus{--tw-scale-y:1.5}.xl\:animate-none{animation:none}.xl\:animate-spin{animation:spin 1s linear infinite}.xl\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.xl\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.xl\:animate-bounce{animation:bounce 1s infinite}.xl\:cursor-auto{cursor:auto}.xl\:cursor-default{cursor:default}.xl\:cursor-pointer{cursor:pointer}.xl\:cursor-wait{cursor:wait}.xl\:cursor-text{cursor:text}.xl\:cursor-move{cursor:move}.xl\:cursor-help{cursor:help}.xl\:cursor-not-allowed{cursor:not-allowed}.xl\:select-none{-webkit-user-select:none;user-select:none}.xl\:select-text{-webkit-user-select:text;user-select:text}.xl\:select-all{-webkit-user-select:all;user-select:all}.xl\:select-auto{-webkit-user-select:auto;user-select:auto}.xl\:resize-none{resize:none}.xl\:resize-y{resize:vertical}.xl\:resize-x{resize:horizontal}.xl\:resize{resize:both}.xl\:list-inside{list-style-position:inside}.xl\:list-outside{list-style-position:outside}.xl\:list-none{list-style-type:none}.xl\:list-disc{list-style-type:disc}.xl\:list-decimal{list-style-type:decimal}.xl\:appearance-none{-webkit-appearance:none;appearance:none}.xl\:auto-cols-auto{grid-auto-columns:auto}.xl\:auto-cols-min{grid-auto-columns:min-content}.xl\:auto-cols-max{grid-auto-columns:max-content}.xl\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.xl\:grid-flow-row{grid-auto-flow:row}.xl\:grid-flow-col{grid-auto-flow:column}.xl\:grid-flow-row-dense{grid-auto-flow:row dense}.xl\:grid-flow-col-dense{grid-auto-flow:column dense}.xl\:auto-rows-auto{grid-auto-rows:auto}.xl\:auto-rows-min{grid-auto-rows:min-content}.xl\:auto-rows-max{grid-auto-rows:max-content}.xl\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:grid-cols-none{grid-template-columns:none}.xl\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.xl\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.xl\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.xl\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.xl\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.xl\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.xl\:grid-rows-none{grid-template-rows:none}.xl\:flex-row{flex-direction:row}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-col{flex-direction:column}.xl\:flex-col-reverse{flex-direction:column-reverse}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:place-content-center{place-content:center}.xl\:place-content-start{place-content:start}.xl\:place-content-end{place-content:end}.xl\:place-content-between{place-content:space-between}.xl\:place-content-around{place-content:space-around}.xl\:place-content-evenly{place-content:space-evenly}.xl\:place-content-stretch{place-content:stretch}.xl\:place-items-start{place-items:start}.xl\:place-items-end{place-items:end}.xl\:place-items-center{place-items:center}.xl\:place-items-stretch{place-items:stretch}.xl\:content-center{align-content:center}.xl\:content-start{align-content:flex-start}.xl\:content-end{align-content:flex-end}.xl\:content-between{align-content:space-between}.xl\:content-around{align-content:space-around}.xl\:content-evenly{align-content:space-evenly}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:items-baseline{align-items:baseline}.xl\:items-stretch{align-items:stretch}.xl\:justify-start{justify-content:flex-start}.xl\:justify-end{justify-content:flex-end}.xl\:justify-center{justify-content:center}.xl\:justify-between{justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:justify-evenly{justify-content:space-evenly}.xl\:justify-items-start{justify-items:start}.xl\:justify-items-end{justify-items:end}.xl\:justify-items-center{justify-items:center}.xl\:justify-items-stretch{justify-items:stretch}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:.75rem}.xl\:gap-4{gap:1rem}.xl\:gap-5{gap:1.25rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-7{gap:1.75rem}.xl\:gap-8{gap:2rem}.xl\:gap-9{gap:2.25rem}.xl\:gap-10{gap:2.5rem}.xl\:gap-11{gap:2.75rem}.xl\:gap-12{gap:3rem}.xl\:gap-14{gap:3.5rem}.xl\:gap-16{gap:4rem}.xl\:gap-20{gap:5rem}.xl\:gap-24{gap:6rem}.xl\:gap-28{gap:7rem}.xl\:gap-32{gap:8rem}.xl\:gap-36{gap:9rem}.xl\:gap-40{gap:10rem}.xl\:gap-44{gap:11rem}.xl\:gap-48{gap:12rem}.xl\:gap-52{gap:13rem}.xl\:gap-56{gap:14rem}.xl\:gap-60{gap:15rem}.xl\:gap-64{gap:16rem}.xl\:gap-72{gap:18rem}.xl\:gap-80{gap:20rem}.xl\:gap-96{gap:24rem}.xl\:gap-px{gap:1px}.xl\:gap-0\.5{gap:.125rem}.xl\:gap-1\.5{gap:.375rem}.xl\:gap-2\.5{gap:.625rem}.xl\:gap-3\.5{gap:.875rem}.xl\:gap-x-0{column-gap:0}.xl\:gap-x-1{column-gap:.25rem}.xl\:gap-x-2{column-gap:.5rem}.xl\:gap-x-3{column-gap:.75rem}.xl\:gap-x-4{column-gap:1rem}.xl\:gap-x-5{column-gap:1.25rem}.xl\:gap-x-6{column-gap:1.5rem}.xl\:gap-x-7{column-gap:1.75rem}.xl\:gap-x-8{column-gap:2rem}.xl\:gap-x-9{column-gap:2.25rem}.xl\:gap-x-10{column-gap:2.5rem}.xl\:gap-x-11{column-gap:2.75rem}.xl\:gap-x-12{column-gap:3rem}.xl\:gap-x-14{column-gap:3.5rem}.xl\:gap-x-16{column-gap:4rem}.xl\:gap-x-20{column-gap:5rem}.xl\:gap-x-24{column-gap:6rem}.xl\:gap-x-28{column-gap:7rem}.xl\:gap-x-32{column-gap:8rem}.xl\:gap-x-36{column-gap:9rem}.xl\:gap-x-40{column-gap:10rem}.xl\:gap-x-44{column-gap:11rem}.xl\:gap-x-48{column-gap:12rem}.xl\:gap-x-52{column-gap:13rem}.xl\:gap-x-56{column-gap:14rem}.xl\:gap-x-60{column-gap:15rem}.xl\:gap-x-64{column-gap:16rem}.xl\:gap-x-72{column-gap:18rem}.xl\:gap-x-80{column-gap:20rem}.xl\:gap-x-96{column-gap:24rem}.xl\:gap-x-px{column-gap:1px}.xl\:gap-x-0\.5{column-gap:.125rem}.xl\:gap-x-1\.5{column-gap:.375rem}.xl\:gap-x-2\.5{column-gap:.625rem}.xl\:gap-x-3\.5{column-gap:.875rem}.xl\:gap-y-0{row-gap:0}.xl\:gap-y-1{row-gap:.25rem}.xl\:gap-y-2{row-gap:.5rem}.xl\:gap-y-3{row-gap:.75rem}.xl\:gap-y-4{row-gap:1rem}.xl\:gap-y-5{row-gap:1.25rem}.xl\:gap-y-6{row-gap:1.5rem}.xl\:gap-y-7{row-gap:1.75rem}.xl\:gap-y-8{row-gap:2rem}.xl\:gap-y-9{row-gap:2.25rem}.xl\:gap-y-10{row-gap:2.5rem}.xl\:gap-y-11{row-gap:2.75rem}.xl\:gap-y-12{row-gap:3rem}.xl\:gap-y-14{row-gap:3.5rem}.xl\:gap-y-16{row-gap:4rem}.xl\:gap-y-20{row-gap:5rem}.xl\:gap-y-24{row-gap:6rem}.xl\:gap-y-28{row-gap:7rem}.xl\:gap-y-32{row-gap:8rem}.xl\:gap-y-36{row-gap:9rem}.xl\:gap-y-40{row-gap:10rem}.xl\:gap-y-44{row-gap:11rem}.xl\:gap-y-48{row-gap:12rem}.xl\:gap-y-52{row-gap:13rem}.xl\:gap-y-56{row-gap:14rem}.xl\:gap-y-60{row-gap:15rem}.xl\:gap-y-64{row-gap:16rem}.xl\:gap-y-72{row-gap:18rem}.xl\:gap-y-80{row-gap:20rem}.xl\:gap-y-96{row-gap:24rem}.xl\:gap-y-px{row-gap:1px}.xl\:gap-y-0\.5{row-gap:.125rem}.xl\:gap-y-1\.5{row-gap:.375rem}.xl\:gap-y-2\.5{row-gap:.625rem}.xl\:gap-y-3\.5{row-gap:.875rem}.xl\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.875rem * var(--tw-space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.125rem * var(--tw-space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.625rem * var(--tw-space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:-space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.875rem * var(--tw-space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--tw-space-x-reverse)))}.xl\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.xl\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.xl\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.xl\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.xl\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.xl\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.xl\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.xl\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.xl\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.xl\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.xl\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.xl\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.xl\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.xl\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.xl\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.xl\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.xl\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.xl\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.xl\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.xl\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.xl\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.xl\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.xl\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.xl\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.xl\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.xl\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.xl\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.xl\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.xl\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.xl\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.xl\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.xl\:space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.xl\:space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.xl\:space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.xl\:space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.xl\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.xl\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.25rem * var(--tw-space-y-reverse))}.xl\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.5rem * var(--tw-space-y-reverse))}.xl\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.75rem * var(--tw-space-y-reverse))}.xl\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.xl\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.xl\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.xl\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.xl\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.xl\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.xl\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.xl\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.xl\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.xl\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.xl\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.xl\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.xl\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.xl\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.xl\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.xl\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.xl\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.xl\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.xl\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.xl\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.xl\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.xl\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.xl\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.xl\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.xl\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.xl\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.xl\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.xl\:-space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.125rem * var(--tw-space-y-reverse))}.xl\:-space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.375rem * var(--tw-space-y-reverse))}.xl\:-space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.625rem * var(--tw-space-y-reverse))}.xl\:-space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.875rem * var(--tw-space-y-reverse))}.xl\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.xl\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.xl\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.xl\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.xl\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.xl\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.xl\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.xl\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.xl\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.xl\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.xl\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.xl\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.xl\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.xl\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.xl\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.xl\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.xl\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.xl\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.xl\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.xl\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.xl\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.xl\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0,0,0,var(--tw-divide-opacity))}.xl\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,255,255,var(--tw-divide-opacity))}.xl\:divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,250,251,var(--tw-divide-opacity))}.xl\:divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(243,244,246,var(--tw-divide-opacity))}.xl\:divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(229,231,235,var(--tw-divide-opacity))}.xl\:divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,213,219,var(--tw-divide-opacity))}.xl\:divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(156,163,175,var(--tw-divide-opacity))}.xl\:divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(107,114,128,var(--tw-divide-opacity))}.xl\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(75,85,99,var(--tw-divide-opacity))}.xl\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,65,81,var(--tw-divide-opacity))}.xl\:divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(31,41,55,var(--tw-divide-opacity))}.xl\:divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(17,24,39,var(--tw-divide-opacity))}.xl\:divide-red-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,242,242,var(--tw-divide-opacity))}.xl\:divide-red-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,226,226,var(--tw-divide-opacity))}.xl\:divide-red-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,202,202,var(--tw-divide-opacity))}.xl\:divide-red-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,165,165,var(--tw-divide-opacity))}.xl\:divide-red-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(248,113,113,var(--tw-divide-opacity))}.xl\:divide-red-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,68,68,var(--tw-divide-opacity))}.xl\:divide-red-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(220,38,38,var(--tw-divide-opacity))}.xl\:divide-red-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(185,28,28,var(--tw-divide-opacity))}.xl\:divide-red-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(153,27,27,var(--tw-divide-opacity))}.xl\:divide-red-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127,29,29,var(--tw-divide-opacity))}.xl\:divide-yellow-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,251,235,var(--tw-divide-opacity))}.xl\:divide-yellow-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,243,199,var(--tw-divide-opacity))}.xl\:divide-yellow-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,230,138,var(--tw-divide-opacity))}.xl\:divide-yellow-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,211,77,var(--tw-divide-opacity))}.xl\:divide-yellow-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,191,36,var(--tw-divide-opacity))}.xl\:divide-yellow-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,158,11,var(--tw-divide-opacity))}.xl\:divide-yellow-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(217,119,6,var(--tw-divide-opacity))}.xl\:divide-yellow-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(180,83,9,var(--tw-divide-opacity))}.xl\:divide-yellow-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(146,64,14,var(--tw-divide-opacity))}.xl\:divide-yellow-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(120,53,15,var(--tw-divide-opacity))}.xl\:divide-green-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,253,245,var(--tw-divide-opacity))}.xl\:divide-green-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,250,229,var(--tw-divide-opacity))}.xl\:divide-green-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,243,208,var(--tw-divide-opacity))}.xl\:divide-green-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(110,231,183,var(--tw-divide-opacity))}.xl\:divide-green-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(52,211,153,var(--tw-divide-opacity))}.xl\:divide-green-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(16,185,129,var(--tw-divide-opacity))}.xl\:divide-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(5,150,105,var(--tw-divide-opacity))}.xl\:divide-green-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(4,120,87,var(--tw-divide-opacity))}.xl\:divide-green-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,95,70,var(--tw-divide-opacity))}.xl\:divide-green-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,78,59,var(--tw-divide-opacity))}.xl\:divide-blue-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,246,255,var(--tw-divide-opacity))}.xl\:divide-blue-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,234,254,var(--tw-divide-opacity))}.xl\:divide-blue-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(191,219,254,var(--tw-divide-opacity))}.xl\:divide-blue-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(147,197,253,var(--tw-divide-opacity))}.xl\:divide-blue-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(96,165,250,var(--tw-divide-opacity))}.xl\:divide-blue-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(59,130,246,var(--tw-divide-opacity))}.xl\:divide-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(37,99,235,var(--tw-divide-opacity))}.xl\:divide-blue-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(29,78,216,var(--tw-divide-opacity))}.xl\:divide-blue-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,64,175,var(--tw-divide-opacity))}.xl\:divide-blue-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,58,138,var(--tw-divide-opacity))}.xl\:divide-indigo-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(238,242,255,var(--tw-divide-opacity))}.xl\:divide-indigo-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(224,231,255,var(--tw-divide-opacity))}.xl\:divide-indigo-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(199,210,254,var(--tw-divide-opacity))}.xl\:divide-indigo-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(165,180,252,var(--tw-divide-opacity))}.xl\:divide-indigo-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(129,140,248,var(--tw-divide-opacity))}.xl\:divide-indigo-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(99,102,241,var(--tw-divide-opacity))}.xl\:divide-indigo-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(79,70,229,var(--tw-divide-opacity))}.xl\:divide-indigo-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(67,56,202,var(--tw-divide-opacity))}.xl\:divide-indigo-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,48,163,var(--tw-divide-opacity))}.xl\:divide-indigo-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(49,46,129,var(--tw-divide-opacity))}.xl\:divide-purple-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,243,255,var(--tw-divide-opacity))}.xl\:divide-purple-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(237,233,254,var(--tw-divide-opacity))}.xl\:divide-purple-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(221,214,254,var(--tw-divide-opacity))}.xl\:divide-purple-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(196,181,253,var(--tw-divide-opacity))}.xl\:divide-purple-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,139,250,var(--tw-divide-opacity))}.xl\:divide-purple-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(139,92,246,var(--tw-divide-opacity))}.xl\:divide-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(124,58,237,var(--tw-divide-opacity))}.xl\:divide-purple-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(109,40,217,var(--tw-divide-opacity))}.xl\:divide-purple-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(91,33,182,var(--tw-divide-opacity))}.xl\:divide-purple-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(76,29,149,var(--tw-divide-opacity))}.xl\:divide-pink-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,242,248,var(--tw-divide-opacity))}.xl\:divide-pink-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,231,243,var(--tw-divide-opacity))}.xl\:divide-pink-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,207,232,var(--tw-divide-opacity))}.xl\:divide-pink-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,168,212,var(--tw-divide-opacity))}.xl\:divide-pink-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(244,114,182,var(--tw-divide-opacity))}.xl\:divide-pink-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,72,153,var(--tw-divide-opacity))}.xl\:divide-pink-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,39,119,var(--tw-divide-opacity))}.xl\:divide-pink-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(190,24,93,var(--tw-divide-opacity))}.xl\:divide-pink-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(157,23,77,var(--tw-divide-opacity))}.xl\:divide-pink-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(131,24,67,var(--tw-divide-opacity))}.xl\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.xl\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.xl\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.xl\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.xl\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.xl\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.xl\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.xl\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.xl\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.xl\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.xl\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.xl\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.xl\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.xl\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.xl\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}.xl\:place-self-auto{place-self:auto}.xl\:place-self-start{place-self:start}.xl\:place-self-end{place-self:end}.xl\:place-self-center{place-self:center}.xl\:place-self-stretch{place-self:stretch}.xl\:self-auto{align-self:auto}.xl\:self-start{align-self:flex-start}.xl\:self-end{align-self:flex-end}.xl\:self-center{align-self:center}.xl\:self-stretch{align-self:stretch}.xl\:self-baseline{align-self:baseline}.xl\:justify-self-auto{justify-self:auto}.xl\:justify-self-start{justify-self:start}.xl\:justify-self-end{justify-self:end}.xl\:justify-self-center{justify-self:center}.xl\:justify-self-stretch{justify-self:stretch}.xl\:overflow-auto{overflow:auto}.xl\:overflow-hidden{overflow:hidden}.xl\:overflow-visible{overflow:visible}.xl\:overflow-scroll{overflow:scroll}.xl\:overflow-x-auto{overflow-x:auto}.xl\:overflow-y-auto{overflow-y:auto}.xl\:overflow-x-hidden{overflow-x:hidden}.xl\:overflow-y-hidden{overflow-y:hidden}.xl\:overflow-x-visible{overflow-x:visible}.xl\:overflow-y-visible{overflow-y:visible}.xl\:overflow-x-scroll{overflow-x:scroll}.xl\:overflow-y-scroll{overflow-y:scroll}.xl\:overscroll-auto{overscroll-behavior:auto}.xl\:overscroll-contain{overscroll-behavior:contain}.xl\:overscroll-none{overscroll-behavior:none}.xl\:overscroll-y-auto{overscroll-behavior-y:auto}.xl\:overscroll-y-contain{overscroll-behavior-y:contain}.xl\:overscroll-y-none{overscroll-behavior-y:none}.xl\:overscroll-x-auto{overscroll-behavior-x:auto}.xl\:overscroll-x-contain{overscroll-behavior-x:contain}.xl\:overscroll-x-none{overscroll-behavior-x:none}.xl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl\:overflow-ellipsis{text-overflow:ellipsis}.xl\:overflow-clip{text-overflow:clip}.xl\:whitespace-normal{white-space:normal}.xl\:whitespace-nowrap{white-space:nowrap}.xl\:whitespace-pre{white-space:pre}.xl\:whitespace-pre-line{white-space:pre-line}.xl\:whitespace-pre-wrap{white-space:pre-wrap}.xl\:break-normal{overflow-wrap:normal;word-break:normal}.xl\:break-words{overflow-wrap:break-word}.xl\:break-all{word-break:break-all}.xl\:rounded-none{border-radius:0}.xl\:rounded-sm{border-radius:.125rem}.xl\:rounded{border-radius:.25rem}.xl\:rounded-md{border-radius:.375rem}.xl\:rounded-lg{border-radius:.5rem}.xl\:rounded-xl{border-radius:.75rem}.xl\:rounded-2xl{border-radius:1rem}.xl\:rounded-3xl{border-radius:1.5rem}.xl\:rounded-full{border-radius:9999px}.xl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xl\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.xl\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.xl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xl\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.xl\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xl\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xl\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.xl\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.xl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xl\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.xl\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xl\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.xl\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.xl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.xl\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xl\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.xl\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.xl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.xl\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xl\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-tl-none{border-top-left-radius:0}.xl\:rounded-tl-sm{border-top-left-radius:.125rem}.xl\:rounded-tl{border-top-left-radius:.25rem}.xl\:rounded-tl-md{border-top-left-radius:.375rem}.xl\:rounded-tl-lg{border-top-left-radius:.5rem}.xl\:rounded-tl-xl{border-top-left-radius:.75rem}.xl\:rounded-tl-2xl{border-top-left-radius:1rem}.xl\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xl\:rounded-tl-full{border-top-left-radius:9999px}.xl\:rounded-tr-none{border-top-right-radius:0}.xl\:rounded-tr-sm{border-top-right-radius:.125rem}.xl\:rounded-tr{border-top-right-radius:.25rem}.xl\:rounded-tr-md{border-top-right-radius:.375rem}.xl\:rounded-tr-lg{border-top-right-radius:.5rem}.xl\:rounded-tr-xl{border-top-right-radius:.75rem}.xl\:rounded-tr-2xl{border-top-right-radius:1rem}.xl\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xl\:rounded-tr-full{border-top-right-radius:9999px}.xl\:rounded-br-none{border-bottom-right-radius:0}.xl\:rounded-br-sm{border-bottom-right-radius:.125rem}.xl\:rounded-br{border-bottom-right-radius:.25rem}.xl\:rounded-br-md{border-bottom-right-radius:.375rem}.xl\:rounded-br-lg{border-bottom-right-radius:.5rem}.xl\:rounded-br-xl{border-bottom-right-radius:.75rem}.xl\:rounded-br-2xl{border-bottom-right-radius:1rem}.xl\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xl\:rounded-br-full{border-bottom-right-radius:9999px}.xl\:rounded-bl-none{border-bottom-left-radius:0}.xl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xl\:rounded-bl{border-bottom-left-radius:.25rem}.xl\:rounded-bl-md{border-bottom-left-radius:.375rem}.xl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xl\:rounded-bl-xl{border-bottom-left-radius:.75rem}.xl\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xl\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xl\:rounded-bl-full{border-bottom-left-radius:9999px}.xl\:border-0{border-width:0}.xl\:border-2{border-width:2px}.xl\:border-4{border-width:4px}.xl\:border-8{border-width:8px}.xl\:border{border-width:1px}.xl\:border-t-0{border-top-width:0}.xl\:border-t-2{border-top-width:2px}.xl\:border-t-4{border-top-width:4px}.xl\:border-t-8{border-top-width:8px}.xl\:border-t{border-top-width:1px}.xl\:border-r-0{border-right-width:0}.xl\:border-r-2{border-right-width:2px}.xl\:border-r-4{border-right-width:4px}.xl\:border-r-8{border-right-width:8px}.xl\:border-r{border-right-width:1px}.xl\:border-b-0{border-bottom-width:0}.xl\:border-b-2{border-bottom-width:2px}.xl\:border-b-4{border-bottom-width:4px}.xl\:border-b-8{border-bottom-width:8px}.xl\:border-b{border-bottom-width:1px}.xl\:border-l-0{border-left-width:0}.xl\:border-l-2{border-left-width:2px}.xl\:border-l-4{border-left-width:4px}.xl\:border-l-8{border-left-width:8px}.xl\:border-l{border-left-width:1px}.xl\:border-solid{border-style:solid}.xl\:border-dashed{border-style:dashed}.xl\:border-dotted{border-style:dotted}.xl\:border-double{border-style:double}.xl\:border-none{border-style:none}.xl\:border-transparent{border-color:transparent}.xl\:border-current{border-color:currentColor}.xl\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.xl\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.xl\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.xl\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.xl\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.xl\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.xl\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.xl\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.xl\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.xl\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.xl\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.xl\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.xl\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.xl\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.xl\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.xl\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.xl\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.xl\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.xl\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.xl\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.xl\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.xl\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.xl\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.xl\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.xl\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.xl\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.xl\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.xl\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.xl\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.xl\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.xl\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.xl\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.xl\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.xl\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.xl\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.xl\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.xl\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.xl\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.xl\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.xl\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.xl\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.xl\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.xl\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.xl\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.xl\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.xl\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.xl\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.xl\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.xl\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.xl\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.xl\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.xl\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.xl\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.xl\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.xl\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.xl\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.xl\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.xl\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.xl\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.xl\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.xl\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.xl\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.xl\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.xl\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.xl\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.xl\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.xl\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.xl\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.xl\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.xl\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.xl\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.xl\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.xl\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.xl\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.xl\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.xl\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.xl\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.xl\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.xl\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.xl\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.xl\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.xl\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-transparent{border-color:transparent}.group:hover .xl\:group-hover\:border-current{border-color:currentColor}.group:hover .xl\:group-hover\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.group:hover .xl\:group-hover\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.xl\:focus-within\:border-transparent:focus-within{border-color:transparent}.xl\:focus-within\:border-current:focus-within{border-color:currentColor}.xl\:focus-within\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.xl\:focus-within\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-50:focus-within{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-100:focus-within{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-200:focus-within{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-300:focus-within{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-400:focus-within{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-500:focus-within{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-600:focus-within{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-700:focus-within{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-800:focus-within{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.xl\:focus-within\:border-gray-900:focus-within{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.xl\:focus-within\:border-red-50:focus-within{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.xl\:focus-within\:border-red-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.xl\:focus-within\:border-red-200:focus-within{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.xl\:focus-within\:border-red-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.xl\:focus-within\:border-red-400:focus-within{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.xl\:focus-within\:border-red-500:focus-within{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.xl\:focus-within\:border-red-600:focus-within{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.xl\:focus-within\:border-red-700:focus-within{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.xl\:focus-within\:border-red-800:focus-within{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.xl\:focus-within\:border-red-900:focus-within{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-50:focus-within{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-200:focus-within{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-400:focus-within{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-500:focus-within{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-600:focus-within{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-700:focus-within{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-800:focus-within{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.xl\:focus-within\:border-yellow-900:focus-within{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.xl\:focus-within\:border-green-50:focus-within{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.xl\:focus-within\:border-green-100:focus-within{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.xl\:focus-within\:border-green-200:focus-within{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.xl\:focus-within\:border-green-300:focus-within{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.xl\:focus-within\:border-green-400:focus-within{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.xl\:focus-within\:border-green-500:focus-within{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.xl\:focus-within\:border-green-600:focus-within{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.xl\:focus-within\:border-green-700:focus-within{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.xl\:focus-within\:border-green-800:focus-within{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.xl\:focus-within\:border-green-900:focus-within{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-50:focus-within{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-100:focus-within{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-200:focus-within{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-300:focus-within{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-400:focus-within{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-600:focus-within{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-700:focus-within{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-800:focus-within{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.xl\:focus-within\:border-blue-900:focus-within{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-50:focus-within{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-100:focus-within{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-200:focus-within{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-300:focus-within{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-400:focus-within{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-500:focus-within{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-600:focus-within{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-700:focus-within{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-800:focus-within{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.xl\:focus-within\:border-indigo-900:focus-within{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-50:focus-within{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-100:focus-within{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-200:focus-within{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-300:focus-within{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-400:focus-within{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-500:focus-within{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-600:focus-within{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-700:focus-within{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-800:focus-within{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.xl\:focus-within\:border-purple-900:focus-within{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-50:focus-within{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-100:focus-within{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-200:focus-within{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-300:focus-within{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-400:focus-within{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-500:focus-within{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-600:focus-within{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-700:focus-within{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-800:focus-within{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.xl\:focus-within\:border-pink-900:focus-within{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.xl\:hover\:border-transparent:hover{border-color:transparent}.xl\:hover\:border-current:hover{border-color:currentColor}.xl\:hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.xl\:hover\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.xl\:hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.xl\:hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.xl\:hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.xl\:hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.xl\:hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.xl\:hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.xl\:hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.xl\:hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.xl\:hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.xl\:hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.xl\:hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.xl\:hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.xl\:hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.xl\:hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.xl\:hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.xl\:hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.xl\:hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.xl\:hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.xl\:hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.xl\:hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.xl\:hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.xl\:hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.xl\:hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.xl\:hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.xl\:hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.xl\:hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.xl\:hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.xl\:hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.xl\:hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.xl\:hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.xl\:hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.xl\:hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.xl\:hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.xl\:hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.xl\:hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.xl\:hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.xl\:hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.xl\:hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.xl\:hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.xl\:hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.xl\:hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.xl\:hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.xl\:hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.xl\:hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.xl\:hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.xl\:hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.xl\:hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.xl\:hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.xl\:hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.xl\:hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.xl\:hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.xl\:hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.xl\:hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.xl\:hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.xl\:hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.xl\:hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.xl\:hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.xl\:hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.xl\:hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.xl\:hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.xl\:hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.xl\:hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.xl\:hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.xl\:hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.xl\:hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.xl\:hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.xl\:hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.xl\:hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.xl\:hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.xl\:hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.xl\:hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.xl\:hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.xl\:hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.xl\:hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.xl\:hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.xl\:hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.xl\:hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.xl\:hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.xl\:hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.xl\:hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.xl\:focus\:border-transparent:focus{border-color:transparent}.xl\:focus\:border-current:focus{border-color:currentColor}.xl\:focus\:border-black:focus{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.xl\:focus\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.xl\:focus\:border-gray-50:focus{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.xl\:focus\:border-gray-100:focus{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.xl\:focus\:border-gray-200:focus{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.xl\:focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.xl\:focus\:border-gray-400:focus{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.xl\:focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.xl\:focus\:border-gray-600:focus{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.xl\:focus\:border-gray-700:focus{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.xl\:focus\:border-gray-800:focus{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.xl\:focus\:border-gray-900:focus{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.xl\:focus\:border-red-50:focus{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.xl\:focus\:border-red-100:focus{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.xl\:focus\:border-red-200:focus{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.xl\:focus\:border-red-300:focus{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.xl\:focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.xl\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.xl\:focus\:border-red-600:focus{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.xl\:focus\:border-red-700:focus{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.xl\:focus\:border-red-800:focus{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.xl\:focus\:border-red-900:focus{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.xl\:focus\:border-yellow-50:focus{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.xl\:focus\:border-yellow-100:focus{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.xl\:focus\:border-yellow-200:focus{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.xl\:focus\:border-yellow-300:focus{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.xl\:focus\:border-yellow-400:focus{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.xl\:focus\:border-yellow-500:focus{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.xl\:focus\:border-yellow-600:focus{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.xl\:focus\:border-yellow-700:focus{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.xl\:focus\:border-yellow-800:focus{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.xl\:focus\:border-yellow-900:focus{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.xl\:focus\:border-green-50:focus{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.xl\:focus\:border-green-100:focus{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.xl\:focus\:border-green-200:focus{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.xl\:focus\:border-green-300:focus{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.xl\:focus\:border-green-400:focus{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.xl\:focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.xl\:focus\:border-green-600:focus{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.xl\:focus\:border-green-700:focus{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.xl\:focus\:border-green-800:focus{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.xl\:focus\:border-green-900:focus{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.xl\:focus\:border-blue-50:focus{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.xl\:focus\:border-blue-100:focus{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.xl\:focus\:border-blue-200:focus{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.xl\:focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.xl\:focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.xl\:focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.xl\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.xl\:focus\:border-blue-700:focus{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.xl\:focus\:border-blue-800:focus{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.xl\:focus\:border-blue-900:focus{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.xl\:focus\:border-indigo-50:focus{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.xl\:focus\:border-indigo-100:focus{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.xl\:focus\:border-indigo-200:focus{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.xl\:focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.xl\:focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.xl\:focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.xl\:focus\:border-indigo-600:focus{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.xl\:focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.xl\:focus\:border-indigo-800:focus{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.xl\:focus\:border-indigo-900:focus{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.xl\:focus\:border-purple-50:focus{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.xl\:focus\:border-purple-100:focus{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.xl\:focus\:border-purple-200:focus{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.xl\:focus\:border-purple-300:focus{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.xl\:focus\:border-purple-400:focus{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.xl\:focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.xl\:focus\:border-purple-600:focus{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.xl\:focus\:border-purple-700:focus{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.xl\:focus\:border-purple-800:focus{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.xl\:focus\:border-purple-900:focus{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.xl\:focus\:border-pink-50:focus{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.xl\:focus\:border-pink-100:focus{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.xl\:focus\:border-pink-200:focus{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.xl\:focus\:border-pink-300:focus{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.xl\:focus\:border-pink-400:focus{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.xl\:focus\:border-pink-500:focus{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.xl\:focus\:border-pink-600:focus{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.xl\:focus\:border-pink-700:focus{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.xl\:focus\:border-pink-800:focus{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.xl\:focus\:border-pink-900:focus{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.xl\:border-opacity-0{--tw-border-opacity:0}.xl\:border-opacity-5{--tw-border-opacity:0.05}.xl\:border-opacity-10{--tw-border-opacity:0.1}.xl\:border-opacity-20{--tw-border-opacity:0.2}.xl\:border-opacity-25{--tw-border-opacity:0.25}.xl\:border-opacity-30{--tw-border-opacity:0.3}.xl\:border-opacity-40{--tw-border-opacity:0.4}.xl\:border-opacity-50{--tw-border-opacity:0.5}.xl\:border-opacity-60{--tw-border-opacity:0.6}.xl\:border-opacity-70{--tw-border-opacity:0.7}.xl\:border-opacity-75{--tw-border-opacity:0.75}.xl\:border-opacity-80{--tw-border-opacity:0.8}.xl\:border-opacity-90{--tw-border-opacity:0.9}.xl\:border-opacity-95{--tw-border-opacity:0.95}.xl\:border-opacity-100{--tw-border-opacity:1}.group:hover .xl\:group-hover\:border-opacity-0{--tw-border-opacity:0}.group:hover .xl\:group-hover\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .xl\:group-hover\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .xl\:group-hover\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .xl\:group-hover\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .xl\:group-hover\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .xl\:group-hover\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .xl\:group-hover\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .xl\:group-hover\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .xl\:group-hover\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .xl\:group-hover\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .xl\:group-hover\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .xl\:group-hover\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .xl\:group-hover\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .xl\:group-hover\:border-opacity-100{--tw-border-opacity:1}.xl\:focus-within\:border-opacity-0:focus-within{--tw-border-opacity:0}.xl\:focus-within\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.xl\:focus-within\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.xl\:focus-within\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.xl\:focus-within\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.xl\:focus-within\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.xl\:focus-within\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.xl\:focus-within\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.xl\:focus-within\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.xl\:focus-within\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.xl\:focus-within\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.xl\:focus-within\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.xl\:focus-within\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.xl\:focus-within\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.xl\:focus-within\:border-opacity-100:focus-within{--tw-border-opacity:1}.xl\:hover\:border-opacity-0:hover{--tw-border-opacity:0}.xl\:hover\:border-opacity-5:hover{--tw-border-opacity:0.05}.xl\:hover\:border-opacity-10:hover{--tw-border-opacity:0.1}.xl\:hover\:border-opacity-20:hover{--tw-border-opacity:0.2}.xl\:hover\:border-opacity-25:hover{--tw-border-opacity:0.25}.xl\:hover\:border-opacity-30:hover{--tw-border-opacity:0.3}.xl\:hover\:border-opacity-40:hover{--tw-border-opacity:0.4}.xl\:hover\:border-opacity-50:hover{--tw-border-opacity:0.5}.xl\:hover\:border-opacity-60:hover{--tw-border-opacity:0.6}.xl\:hover\:border-opacity-70:hover{--tw-border-opacity:0.7}.xl\:hover\:border-opacity-75:hover{--tw-border-opacity:0.75}.xl\:hover\:border-opacity-80:hover{--tw-border-opacity:0.8}.xl\:hover\:border-opacity-90:hover{--tw-border-opacity:0.9}.xl\:hover\:border-opacity-95:hover{--tw-border-opacity:0.95}.xl\:hover\:border-opacity-100:hover{--tw-border-opacity:1}.xl\:focus\:border-opacity-0:focus{--tw-border-opacity:0}.xl\:focus\:border-opacity-5:focus{--tw-border-opacity:0.05}.xl\:focus\:border-opacity-10:focus{--tw-border-opacity:0.1}.xl\:focus\:border-opacity-20:focus{--tw-border-opacity:0.2}.xl\:focus\:border-opacity-25:focus{--tw-border-opacity:0.25}.xl\:focus\:border-opacity-30:focus{--tw-border-opacity:0.3}.xl\:focus\:border-opacity-40:focus{--tw-border-opacity:0.4}.xl\:focus\:border-opacity-50:focus{--tw-border-opacity:0.5}.xl\:focus\:border-opacity-60:focus{--tw-border-opacity:0.6}.xl\:focus\:border-opacity-70:focus{--tw-border-opacity:0.7}.xl\:focus\:border-opacity-75:focus{--tw-border-opacity:0.75}.xl\:focus\:border-opacity-80:focus{--tw-border-opacity:0.8}.xl\:focus\:border-opacity-90:focus{--tw-border-opacity:0.9}.xl\:focus\:border-opacity-95:focus{--tw-border-opacity:0.95}.xl\:focus\:border-opacity-100:focus{--tw-border-opacity:1}.xl\:bg-transparent{background-color:transparent}.xl\:bg-current{background-color:currentColor}.xl\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.xl\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.xl\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.xl\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.xl\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.xl\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.xl\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.xl\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.xl\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.xl\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.xl\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.xl\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.xl\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.xl\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.xl\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.xl\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.xl\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.xl\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.xl\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.xl\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.xl\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.xl\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.xl\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.xl\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.xl\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.xl\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.xl\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.xl\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.xl\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.xl\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.xl\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.xl\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.xl\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.xl\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.xl\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.xl\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.xl\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.xl\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.xl\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.xl\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.xl\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.xl\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.xl\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.xl\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.xl\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.xl\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.xl\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.xl\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.xl\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.xl\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.xl\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.xl\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.xl\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.xl\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.xl\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.xl\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.xl\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.xl\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.xl\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.xl\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.xl\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.xl\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.xl\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.xl\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.xl\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.xl\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.xl\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.xl\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.xl\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.xl\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.xl\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.xl\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.xl\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.xl\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.xl\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.xl\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.xl\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.xl\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.xl\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.xl\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.xl\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.xl\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-transparent{background-color:transparent}.group:hover .xl\:group-hover\:bg-current{background-color:currentColor}.group:hover .xl\:group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.group:hover .xl\:group-hover\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.xl\:focus-within\:bg-transparent:focus-within{background-color:transparent}.xl\:focus-within\:bg-current:focus-within{background-color:currentColor}.xl\:focus-within\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.xl\:focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-100:focus-within{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-200:focus-within{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-300:focus-within{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-400:focus-within{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-500:focus-within{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-600:focus-within{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-700:focus-within{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-800:focus-within{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.xl\:focus-within\:bg-gray-900:focus-within{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-50:focus-within{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-200:focus-within{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-400:focus-within{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-500:focus-within{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-600:focus-within{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-700:focus-within{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-800:focus-within{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.xl\:focus-within\:bg-red-900:focus-within{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-50:focus-within{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-200:focus-within{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-400:focus-within{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-500:focus-within{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-600:focus-within{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-700:focus-within{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-800:focus-within{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.xl\:focus-within\:bg-yellow-900:focus-within{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-50:focus-within{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-100:focus-within{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-200:focus-within{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-300:focus-within{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-400:focus-within{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-500:focus-within{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-600:focus-within{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-700:focus-within{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-800:focus-within{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.xl\:focus-within\:bg-green-900:focus-within{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-50:focus-within{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-100:focus-within{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-200:focus-within{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-300:focus-within{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-400:focus-within{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-500:focus-within{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-600:focus-within{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-700:focus-within{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-800:focus-within{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.xl\:focus-within\:bg-blue-900:focus-within{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-50:focus-within{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-100:focus-within{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-200:focus-within{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-300:focus-within{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-400:focus-within{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-500:focus-within{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-600:focus-within{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-700:focus-within{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-800:focus-within{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.xl\:focus-within\:bg-indigo-900:focus-within{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-50:focus-within{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-100:focus-within{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-200:focus-within{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-300:focus-within{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-400:focus-within{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-500:focus-within{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-600:focus-within{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-700:focus-within{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-800:focus-within{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.xl\:focus-within\:bg-purple-900:focus-within{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-50:focus-within{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-100:focus-within{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-200:focus-within{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-300:focus-within{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-400:focus-within{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-500:focus-within{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-600:focus-within{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-700:focus-within{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-800:focus-within{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.xl\:focus-within\:bg-pink-900:focus-within{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.xl\:hover\:bg-transparent:hover{background-color:transparent}.xl\:hover\:bg-current:hover{background-color:currentColor}.xl\:hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.xl\:hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.xl\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.xl\:hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.xl\:hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.xl\:hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.xl\:hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.xl\:hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.xl\:hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.xl\:hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.xl\:hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.xl\:hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.xl\:hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.xl\:hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.xl\:hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.xl\:hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.xl\:hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.xl\:hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.xl\:hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.xl\:hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.xl\:hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.xl\:hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.xl\:hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.xl\:hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.xl\:hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.xl\:hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.xl\:hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.xl\:hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.xl\:focus\:bg-transparent:focus{background-color:transparent}.xl\:focus\:bg-current:focus{background-color:currentColor}.xl\:focus\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.xl\:focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-300:focus{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-400:focus{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-500:focus{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-600:focus{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.xl\:focus\:bg-gray-900:focus{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.xl\:focus\:bg-red-50:focus{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.xl\:focus\:bg-red-100:focus{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.xl\:focus\:bg-red-200:focus{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.xl\:focus\:bg-red-300:focus{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.xl\:focus\:bg-red-400:focus{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.xl\:focus\:bg-red-500:focus{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.xl\:focus\:bg-red-600:focus{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.xl\:focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.xl\:focus\:bg-red-800:focus{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.xl\:focus\:bg-red-900:focus{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-50:focus{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-100:focus{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-200:focus{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-300:focus{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-400:focus{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-500:focus{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-600:focus{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-700:focus{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-800:focus{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.xl\:focus\:bg-yellow-900:focus{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.xl\:focus\:bg-green-50:focus{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.xl\:focus\:bg-green-100:focus{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.xl\:focus\:bg-green-200:focus{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.xl\:focus\:bg-green-300:focus{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.xl\:focus\:bg-green-400:focus{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.xl\:focus\:bg-green-500:focus{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.xl\:focus\:bg-green-600:focus{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.xl\:focus\:bg-green-700:focus{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.xl\:focus\:bg-green-800:focus{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.xl\:focus\:bg-green-900:focus{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-50:focus{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-100:focus{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-200:focus{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-300:focus{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-400:focus{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-500:focus{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-600:focus{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-700:focus{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-800:focus{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.xl\:focus\:bg-blue-900:focus{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-50:focus{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-200:focus{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-300:focus{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-400:focus{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-500:focus{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-600:focus{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-800:focus{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.xl\:focus\:bg-indigo-900:focus{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-50:focus{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-100:focus{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-200:focus{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-300:focus{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-400:focus{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-500:focus{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-600:focus{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-700:focus{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-800:focus{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.xl\:focus\:bg-purple-900:focus{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-50:focus{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-100:focus{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-200:focus{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-300:focus{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-400:focus{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-500:focus{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-600:focus{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-700:focus{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-800:focus{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.xl\:focus\:bg-pink-900:focus{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.xl\:bg-opacity-0{--tw-bg-opacity:0}.xl\:bg-opacity-5{--tw-bg-opacity:0.05}.xl\:bg-opacity-10{--tw-bg-opacity:0.1}.xl\:bg-opacity-20{--tw-bg-opacity:0.2}.xl\:bg-opacity-25{--tw-bg-opacity:0.25}.xl\:bg-opacity-30{--tw-bg-opacity:0.3}.xl\:bg-opacity-40{--tw-bg-opacity:0.4}.xl\:bg-opacity-50{--tw-bg-opacity:0.5}.xl\:bg-opacity-60{--tw-bg-opacity:0.6}.xl\:bg-opacity-70{--tw-bg-opacity:0.7}.xl\:bg-opacity-75{--tw-bg-opacity:0.75}.xl\:bg-opacity-80{--tw-bg-opacity:0.8}.xl\:bg-opacity-90{--tw-bg-opacity:0.9}.xl\:bg-opacity-95{--tw-bg-opacity:0.95}.xl\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .xl\:group-hover\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .xl\:group-hover\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .xl\:group-hover\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .xl\:group-hover\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .xl\:group-hover\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .xl\:group-hover\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .xl\:group-hover\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .xl\:group-hover\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .xl\:group-hover\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .xl\:group-hover\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .xl\:group-hover\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .xl\:group-hover\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .xl\:group-hover\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .xl\:group-hover\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .xl\:group-hover\:bg-opacity-100{--tw-bg-opacity:1}.xl\:focus-within\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.xl\:focus-within\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.xl\:focus-within\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.xl\:focus-within\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.xl\:focus-within\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.xl\:focus-within\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.xl\:focus-within\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.xl\:focus-within\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.xl\:focus-within\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.xl\:focus-within\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.xl\:focus-within\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.xl\:focus-within\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.xl\:focus-within\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.xl\:focus-within\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.xl\:focus-within\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.xl\:hover\:bg-opacity-0:hover{--tw-bg-opacity:0}.xl\:hover\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.xl\:hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.xl\:hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.xl\:hover\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.xl\:hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.xl\:hover\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.xl\:hover\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.xl\:hover\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.xl\:hover\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.xl\:hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.xl\:hover\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.xl\:hover\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.xl\:hover\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.xl\:hover\:bg-opacity-100:hover{--tw-bg-opacity:1}.xl\:focus\:bg-opacity-0:focus{--tw-bg-opacity:0}.xl\:focus\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.xl\:focus\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.xl\:focus\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.xl\:focus\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.xl\:focus\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.xl\:focus\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.xl\:focus\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.xl\:focus\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.xl\:focus\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.xl\:focus\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.xl\:focus\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.xl\:focus\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.xl\:focus\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.xl\:focus\:bg-opacity-100:focus{--tw-bg-opacity:1}.xl\:bg-none{background-image:none}.xl\:bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.xl\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.xl\:bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.xl\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.xl\:bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.xl\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.xl\:bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.xl\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.xl\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:from-black{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.xl\:from-gray-100{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.xl\:from-gray-200{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.xl\:from-gray-300{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.xl\:from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.xl\:from-gray-500{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.xl\:from-gray-600{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.xl\:from-gray-700{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.xl\:from-gray-800{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.xl\:from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.xl\:from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.xl\:from-red-100{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.xl\:from-red-200{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.xl\:from-red-300{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.xl\:from-red-400{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.xl\:from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.xl\:from-red-600{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.xl\:from-red-700{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.xl\:from-red-800{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.xl\:from-red-900{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.xl\:from-yellow-50{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.xl\:from-yellow-100{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.xl\:from-yellow-200{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.xl\:from-yellow-300{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.xl\:from-yellow-400{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.xl\:from-yellow-500{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.xl\:from-yellow-600{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.xl\:from-yellow-700{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.xl\:from-yellow-800{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.xl\:from-yellow-900{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.xl\:from-green-50{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.xl\:from-green-100{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.xl\:from-green-200{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.xl\:from-green-300{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.xl\:from-green-400{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.xl\:from-green-500{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.xl\:from-green-600{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.xl\:from-green-700{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.xl\:from-green-800{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.xl\:from-green-900{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.xl\:from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.xl\:from-blue-100{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.xl\:from-blue-200{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.xl\:from-blue-300{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.xl\:from-blue-400{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.xl\:from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.xl\:from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.xl\:from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.xl\:from-blue-800{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.xl\:from-blue-900{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.xl\:from-indigo-50{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.xl\:from-indigo-100{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.xl\:from-indigo-200{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.xl\:from-indigo-300{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.xl\:from-indigo-400{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.xl\:from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.xl\:from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.xl\:from-indigo-700{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.xl\:from-indigo-800{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.xl\:from-indigo-900{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.xl\:from-purple-50{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.xl\:from-purple-100{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.xl\:from-purple-200{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.xl\:from-purple-300{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.xl\:from-purple-400{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.xl\:from-purple-500{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.xl\:from-purple-600{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.xl\:from-purple-700{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.xl\:from-purple-800{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.xl\:from-purple-900{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.xl\:from-pink-50{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.xl\:from-pink-100{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.xl\:from-pink-200{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.xl\:from-pink-300{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.xl\:from-pink-400{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.xl\:from-pink-500{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.xl\:from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.xl\:from-pink-700{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.xl\:from-pink-800{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.xl\:from-pink-900{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.xl\:hover\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:hover\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:hover\:from-black:hover{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:hover\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:hover\:from-gray-50:hover{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.xl\:hover\:from-gray-100:hover{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.xl\:hover\:from-gray-200:hover{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.xl\:hover\:from-gray-300:hover{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.xl\:hover\:from-gray-400:hover{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.xl\:hover\:from-gray-500:hover{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.xl\:hover\:from-gray-600:hover{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.xl\:hover\:from-gray-700:hover{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.xl\:hover\:from-gray-800:hover{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.xl\:hover\:from-gray-900:hover{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.xl\:hover\:from-red-50:hover{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.xl\:hover\:from-red-100:hover{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.xl\:hover\:from-red-200:hover{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.xl\:hover\:from-red-300:hover{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.xl\:hover\:from-red-400:hover{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.xl\:hover\:from-red-500:hover{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.xl\:hover\:from-red-600:hover{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.xl\:hover\:from-red-700:hover{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.xl\:hover\:from-red-800:hover{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.xl\:hover\:from-red-900:hover{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.xl\:hover\:from-yellow-50:hover{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.xl\:hover\:from-yellow-100:hover{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.xl\:hover\:from-yellow-200:hover{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.xl\:hover\:from-yellow-300:hover{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.xl\:hover\:from-yellow-400:hover{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.xl\:hover\:from-yellow-500:hover{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.xl\:hover\:from-yellow-600:hover{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.xl\:hover\:from-yellow-700:hover{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.xl\:hover\:from-yellow-800:hover{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.xl\:hover\:from-yellow-900:hover{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.xl\:hover\:from-green-50:hover{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.xl\:hover\:from-green-100:hover{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.xl\:hover\:from-green-200:hover{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.xl\:hover\:from-green-300:hover{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.xl\:hover\:from-green-400:hover{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.xl\:hover\:from-green-500:hover{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.xl\:hover\:from-green-600:hover{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.xl\:hover\:from-green-700:hover{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.xl\:hover\:from-green-800:hover{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.xl\:hover\:from-green-900:hover{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.xl\:hover\:from-blue-50:hover{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.xl\:hover\:from-blue-100:hover{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.xl\:hover\:from-blue-200:hover{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.xl\:hover\:from-blue-300:hover{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.xl\:hover\:from-blue-400:hover{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.xl\:hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.xl\:hover\:from-blue-600:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.xl\:hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.xl\:hover\:from-blue-800:hover{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.xl\:hover\:from-blue-900:hover{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.xl\:hover\:from-indigo-50:hover{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.xl\:hover\:from-indigo-100:hover{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.xl\:hover\:from-indigo-200:hover{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.xl\:hover\:from-indigo-300:hover{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.xl\:hover\:from-indigo-400:hover{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.xl\:hover\:from-indigo-500:hover{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.xl\:hover\:from-indigo-600:hover{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.xl\:hover\:from-indigo-700:hover{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.xl\:hover\:from-indigo-800:hover{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.xl\:hover\:from-indigo-900:hover{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.xl\:hover\:from-purple-50:hover{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.xl\:hover\:from-purple-100:hover{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.xl\:hover\:from-purple-200:hover{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.xl\:hover\:from-purple-300:hover{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.xl\:hover\:from-purple-400:hover{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.xl\:hover\:from-purple-500:hover{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.xl\:hover\:from-purple-600:hover{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.xl\:hover\:from-purple-700:hover{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.xl\:hover\:from-purple-800:hover{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.xl\:hover\:from-purple-900:hover{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.xl\:hover\:from-pink-50:hover{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.xl\:hover\:from-pink-100:hover{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.xl\:hover\:from-pink-200:hover{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.xl\:hover\:from-pink-300:hover{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.xl\:hover\:from-pink-400:hover{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.xl\:hover\:from-pink-500:hover{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.xl\:hover\:from-pink-600:hover{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.xl\:hover\:from-pink-700:hover{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.xl\:hover\:from-pink-800:hover{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.xl\:hover\:from-pink-900:hover{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.xl\:focus\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:focus\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:focus\:from-black:focus{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:focus\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:focus\:from-gray-50:focus{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.xl\:focus\:from-gray-100:focus{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.xl\:focus\:from-gray-200:focus{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.xl\:focus\:from-gray-300:focus{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.xl\:focus\:from-gray-400:focus{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.xl\:focus\:from-gray-500:focus{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.xl\:focus\:from-gray-600:focus{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.xl\:focus\:from-gray-700:focus{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.xl\:focus\:from-gray-800:focus{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.xl\:focus\:from-gray-900:focus{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.xl\:focus\:from-red-50:focus{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.xl\:focus\:from-red-100:focus{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.xl\:focus\:from-red-200:focus{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.xl\:focus\:from-red-300:focus{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.xl\:focus\:from-red-400:focus{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.xl\:focus\:from-red-500:focus{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.xl\:focus\:from-red-600:focus{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.xl\:focus\:from-red-700:focus{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.xl\:focus\:from-red-800:focus{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.xl\:focus\:from-red-900:focus{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.xl\:focus\:from-yellow-50:focus{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.xl\:focus\:from-yellow-100:focus{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.xl\:focus\:from-yellow-200:focus{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.xl\:focus\:from-yellow-300:focus{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.xl\:focus\:from-yellow-400:focus{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.xl\:focus\:from-yellow-500:focus{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.xl\:focus\:from-yellow-600:focus{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.xl\:focus\:from-yellow-700:focus{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.xl\:focus\:from-yellow-800:focus{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.xl\:focus\:from-yellow-900:focus{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.xl\:focus\:from-green-50:focus{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.xl\:focus\:from-green-100:focus{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.xl\:focus\:from-green-200:focus{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.xl\:focus\:from-green-300:focus{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.xl\:focus\:from-green-400:focus{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.xl\:focus\:from-green-500:focus{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.xl\:focus\:from-green-600:focus{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.xl\:focus\:from-green-700:focus{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.xl\:focus\:from-green-800:focus{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.xl\:focus\:from-green-900:focus{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.xl\:focus\:from-blue-50:focus{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.xl\:focus\:from-blue-100:focus{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.xl\:focus\:from-blue-200:focus{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.xl\:focus\:from-blue-300:focus{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.xl\:focus\:from-blue-400:focus{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.xl\:focus\:from-blue-500:focus{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.xl\:focus\:from-blue-600:focus{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.xl\:focus\:from-blue-700:focus{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.xl\:focus\:from-blue-800:focus{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.xl\:focus\:from-blue-900:focus{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.xl\:focus\:from-indigo-50:focus{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.xl\:focus\:from-indigo-100:focus{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.xl\:focus\:from-indigo-200:focus{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.xl\:focus\:from-indigo-300:focus{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.xl\:focus\:from-indigo-400:focus{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.xl\:focus\:from-indigo-500:focus{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.xl\:focus\:from-indigo-600:focus{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.xl\:focus\:from-indigo-700:focus{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.xl\:focus\:from-indigo-800:focus{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.xl\:focus\:from-indigo-900:focus{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.xl\:focus\:from-purple-50:focus{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.xl\:focus\:from-purple-100:focus{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.xl\:focus\:from-purple-200:focus{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.xl\:focus\:from-purple-300:focus{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.xl\:focus\:from-purple-400:focus{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.xl\:focus\:from-purple-500:focus{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.xl\:focus\:from-purple-600:focus{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.xl\:focus\:from-purple-700:focus{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.xl\:focus\:from-purple-800:focus{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.xl\:focus\:from-purple-900:focus{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.xl\:focus\:from-pink-50:focus{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.xl\:focus\:from-pink-100:focus{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.xl\:focus\:from-pink-200:focus{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.xl\:focus\:from-pink-300:focus{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.xl\:focus\:from-pink-400:focus{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.xl\:focus\:from-pink-500:focus{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.xl\:focus\:from-pink-600:focus{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.xl\:focus\:from-pink-700:focus{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.xl\:focus\:from-pink-800:focus{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.xl\:focus\:from-pink-900:focus{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.xl\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:via-current{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:via-black{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:via-gray-50{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.xl\:via-gray-100{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.xl\:via-gray-200{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.xl\:via-gray-300{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.xl\:via-gray-400{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.xl\:via-gray-500{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.xl\:via-gray-600{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.xl\:via-gray-700{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.xl\:via-gray-800{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.xl\:via-gray-900{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.xl\:via-red-50{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.xl\:via-red-100{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.xl\:via-red-200{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.xl\:via-red-300{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.xl\:via-red-400{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.xl\:via-red-500{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.xl\:via-red-600{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.xl\:via-red-700{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.xl\:via-red-800{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.xl\:via-red-900{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.xl\:via-yellow-50{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.xl\:via-yellow-100{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.xl\:via-yellow-200{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.xl\:via-yellow-300{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.xl\:via-yellow-400{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.xl\:via-yellow-500{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.xl\:via-yellow-600{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.xl\:via-yellow-700{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.xl\:via-yellow-800{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.xl\:via-yellow-900{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.xl\:via-green-50{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.xl\:via-green-100{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.xl\:via-green-200{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.xl\:via-green-300{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.xl\:via-green-400{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.xl\:via-green-500{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.xl\:via-green-600{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.xl\:via-green-700{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.xl\:via-green-800{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.xl\:via-green-900{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.xl\:via-blue-50{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.xl\:via-blue-100{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.xl\:via-blue-200{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.xl\:via-blue-300{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.xl\:via-blue-400{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.xl\:via-blue-500{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.xl\:via-blue-600{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.xl\:via-blue-700{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.xl\:via-blue-800{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.xl\:via-blue-900{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.xl\:via-indigo-50{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.xl\:via-indigo-100{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.xl\:via-indigo-200{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.xl\:via-indigo-300{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.xl\:via-indigo-400{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.xl\:via-indigo-500{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.xl\:via-indigo-600{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.xl\:via-indigo-700{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.xl\:via-indigo-800{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.xl\:via-indigo-900{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.xl\:via-purple-50{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.xl\:via-purple-100{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.xl\:via-purple-200{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.xl\:via-purple-300{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.xl\:via-purple-400{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.xl\:via-purple-500{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.xl\:via-purple-600{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.xl\:via-purple-700{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.xl\:via-purple-800{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.xl\:via-purple-900{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.xl\:via-pink-50{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.xl\:via-pink-100{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.xl\:via-pink-200{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.xl\:via-pink-300{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.xl\:via-pink-400{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.xl\:via-pink-500{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.xl\:via-pink-600{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.xl\:via-pink-700{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.xl\:via-pink-800{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.xl\:via-pink-900{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.xl\:hover\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:hover\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:hover\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:hover\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:hover\:via-gray-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.xl\:hover\:via-gray-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.xl\:hover\:via-gray-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.xl\:hover\:via-gray-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.xl\:hover\:via-gray-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.xl\:hover\:via-gray-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.xl\:hover\:via-gray-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.xl\:hover\:via-gray-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.xl\:hover\:via-gray-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.xl\:hover\:via-gray-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.xl\:hover\:via-red-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.xl\:hover\:via-red-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.xl\:hover\:via-red-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.xl\:hover\:via-red-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.xl\:hover\:via-red-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.xl\:hover\:via-red-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.xl\:hover\:via-red-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.xl\:hover\:via-red-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.xl\:hover\:via-red-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.xl\:hover\:via-red-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.xl\:hover\:via-yellow-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.xl\:hover\:via-yellow-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.xl\:hover\:via-yellow-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.xl\:hover\:via-yellow-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.xl\:hover\:via-yellow-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.xl\:hover\:via-yellow-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.xl\:hover\:via-yellow-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.xl\:hover\:via-yellow-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.xl\:hover\:via-yellow-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.xl\:hover\:via-yellow-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.xl\:hover\:via-green-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.xl\:hover\:via-green-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.xl\:hover\:via-green-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.xl\:hover\:via-green-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.xl\:hover\:via-green-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.xl\:hover\:via-green-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.xl\:hover\:via-green-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.xl\:hover\:via-green-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.xl\:hover\:via-green-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.xl\:hover\:via-green-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.xl\:hover\:via-blue-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.xl\:hover\:via-blue-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.xl\:hover\:via-blue-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.xl\:hover\:via-blue-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.xl\:hover\:via-blue-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.xl\:hover\:via-blue-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.xl\:hover\:via-blue-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.xl\:hover\:via-blue-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.xl\:hover\:via-blue-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.xl\:hover\:via-blue-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.xl\:hover\:via-indigo-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.xl\:hover\:via-indigo-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.xl\:hover\:via-indigo-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.xl\:hover\:via-indigo-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.xl\:hover\:via-indigo-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.xl\:hover\:via-indigo-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.xl\:hover\:via-indigo-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.xl\:hover\:via-indigo-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.xl\:hover\:via-indigo-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.xl\:hover\:via-indigo-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.xl\:hover\:via-purple-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.xl\:hover\:via-purple-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.xl\:hover\:via-purple-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.xl\:hover\:via-purple-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.xl\:hover\:via-purple-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.xl\:hover\:via-purple-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.xl\:hover\:via-purple-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.xl\:hover\:via-purple-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.xl\:hover\:via-purple-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.xl\:hover\:via-purple-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.xl\:hover\:via-pink-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.xl\:hover\:via-pink-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.xl\:hover\:via-pink-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.xl\:hover\:via-pink-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.xl\:hover\:via-pink-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.xl\:hover\:via-pink-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.xl\:hover\:via-pink-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.xl\:hover\:via-pink-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.xl\:hover\:via-pink-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.xl\:hover\:via-pink-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.xl\:focus\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:focus\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:focus\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.xl\:focus\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.xl\:focus\:via-gray-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.xl\:focus\:via-gray-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.xl\:focus\:via-gray-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.xl\:focus\:via-gray-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.xl\:focus\:via-gray-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.xl\:focus\:via-gray-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.xl\:focus\:via-gray-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.xl\:focus\:via-gray-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.xl\:focus\:via-gray-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.xl\:focus\:via-gray-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.xl\:focus\:via-red-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.xl\:focus\:via-red-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.xl\:focus\:via-red-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.xl\:focus\:via-red-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.xl\:focus\:via-red-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.xl\:focus\:via-red-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.xl\:focus\:via-red-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.xl\:focus\:via-red-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.xl\:focus\:via-red-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.xl\:focus\:via-red-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.xl\:focus\:via-yellow-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.xl\:focus\:via-yellow-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.xl\:focus\:via-yellow-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.xl\:focus\:via-yellow-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.xl\:focus\:via-yellow-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.xl\:focus\:via-yellow-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.xl\:focus\:via-yellow-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.xl\:focus\:via-yellow-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.xl\:focus\:via-yellow-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.xl\:focus\:via-yellow-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.xl\:focus\:via-green-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.xl\:focus\:via-green-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.xl\:focus\:via-green-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.xl\:focus\:via-green-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.xl\:focus\:via-green-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.xl\:focus\:via-green-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.xl\:focus\:via-green-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.xl\:focus\:via-green-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.xl\:focus\:via-green-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.xl\:focus\:via-green-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.xl\:focus\:via-blue-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.xl\:focus\:via-blue-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.xl\:focus\:via-blue-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.xl\:focus\:via-blue-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.xl\:focus\:via-blue-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.xl\:focus\:via-blue-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.xl\:focus\:via-blue-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.xl\:focus\:via-blue-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.xl\:focus\:via-blue-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.xl\:focus\:via-blue-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.xl\:focus\:via-indigo-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.xl\:focus\:via-indigo-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.xl\:focus\:via-indigo-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.xl\:focus\:via-indigo-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.xl\:focus\:via-indigo-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.xl\:focus\:via-indigo-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.xl\:focus\:via-indigo-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.xl\:focus\:via-indigo-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.xl\:focus\:via-indigo-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.xl\:focus\:via-indigo-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.xl\:focus\:via-purple-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.xl\:focus\:via-purple-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.xl\:focus\:via-purple-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.xl\:focus\:via-purple-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.xl\:focus\:via-purple-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.xl\:focus\:via-purple-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.xl\:focus\:via-purple-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.xl\:focus\:via-purple-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.xl\:focus\:via-purple-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.xl\:focus\:via-purple-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.xl\:focus\:via-pink-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.xl\:focus\:via-pink-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.xl\:focus\:via-pink-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.xl\:focus\:via-pink-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.xl\:focus\:via-pink-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.xl\:focus\:via-pink-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.xl\:focus\:via-pink-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.xl\:focus\:via-pink-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.xl\:focus\:via-pink-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.xl\:focus\:via-pink-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.xl\:to-transparent{--tw-gradient-to:transparent}.xl\:to-current{--tw-gradient-to:currentColor}.xl\:to-black{--tw-gradient-to:#000}.xl\:to-white{--tw-gradient-to:#fff}.xl\:to-gray-50{--tw-gradient-to:#f9fafb}.xl\:to-gray-100{--tw-gradient-to:#f3f4f6}.xl\:to-gray-200{--tw-gradient-to:#e5e7eb}.xl\:to-gray-300{--tw-gradient-to:#d1d5db}.xl\:to-gray-400{--tw-gradient-to:#9ca3af}.xl\:to-gray-500{--tw-gradient-to:#6b7280}.xl\:to-gray-600{--tw-gradient-to:#4b5563}.xl\:to-gray-700{--tw-gradient-to:#374151}.xl\:to-gray-800{--tw-gradient-to:#1f2937}.xl\:to-gray-900{--tw-gradient-to:#111827}.xl\:to-red-50{--tw-gradient-to:#fef2f2}.xl\:to-red-100{--tw-gradient-to:#fee2e2}.xl\:to-red-200{--tw-gradient-to:#fecaca}.xl\:to-red-300{--tw-gradient-to:#fca5a5}.xl\:to-red-400{--tw-gradient-to:#f87171}.xl\:to-red-500{--tw-gradient-to:#ef4444}.xl\:to-red-600{--tw-gradient-to:#dc2626}.xl\:to-red-700{--tw-gradient-to:#b91c1c}.xl\:to-red-800{--tw-gradient-to:#991b1b}.xl\:to-red-900{--tw-gradient-to:#7f1d1d}.xl\:to-yellow-50{--tw-gradient-to:#fffbeb}.xl\:to-yellow-100{--tw-gradient-to:#fef3c7}.xl\:to-yellow-200{--tw-gradient-to:#fde68a}.xl\:to-yellow-300{--tw-gradient-to:#fcd34d}.xl\:to-yellow-400{--tw-gradient-to:#fbbf24}.xl\:to-yellow-500{--tw-gradient-to:#f59e0b}.xl\:to-yellow-600{--tw-gradient-to:#d97706}.xl\:to-yellow-700{--tw-gradient-to:#b45309}.xl\:to-yellow-800{--tw-gradient-to:#92400e}.xl\:to-yellow-900{--tw-gradient-to:#78350f}.xl\:to-green-50{--tw-gradient-to:#ecfdf5}.xl\:to-green-100{--tw-gradient-to:#d1fae5}.xl\:to-green-200{--tw-gradient-to:#a7f3d0}.xl\:to-green-300{--tw-gradient-to:#6ee7b7}.xl\:to-green-400{--tw-gradient-to:#34d399}.xl\:to-green-500{--tw-gradient-to:#10b981}.xl\:to-green-600{--tw-gradient-to:#059669}.xl\:to-green-700{--tw-gradient-to:#047857}.xl\:to-green-800{--tw-gradient-to:#065f46}.xl\:to-green-900{--tw-gradient-to:#064e3b}.xl\:to-blue-50{--tw-gradient-to:#eff6ff}.xl\:to-blue-100{--tw-gradient-to:#dbeafe}.xl\:to-blue-200{--tw-gradient-to:#bfdbfe}.xl\:to-blue-300{--tw-gradient-to:#93c5fd}.xl\:to-blue-400{--tw-gradient-to:#60a5fa}.xl\:to-blue-500{--tw-gradient-to:#3b82f6}.xl\:to-blue-600{--tw-gradient-to:#2563eb}.xl\:to-blue-700{--tw-gradient-to:#1d4ed8}.xl\:to-blue-800{--tw-gradient-to:#1e40af}.xl\:to-blue-900{--tw-gradient-to:#1e3a8a}.xl\:to-indigo-50{--tw-gradient-to:#eef2ff}.xl\:to-indigo-100{--tw-gradient-to:#e0e7ff}.xl\:to-indigo-200{--tw-gradient-to:#c7d2fe}.xl\:to-indigo-300{--tw-gradient-to:#a5b4fc}.xl\:to-indigo-400{--tw-gradient-to:#818cf8}.xl\:to-indigo-500{--tw-gradient-to:#6366f1}.xl\:to-indigo-600{--tw-gradient-to:#4f46e5}.xl\:to-indigo-700{--tw-gradient-to:#4338ca}.xl\:to-indigo-800{--tw-gradient-to:#3730a3}.xl\:to-indigo-900{--tw-gradient-to:#312e81}.xl\:to-purple-50{--tw-gradient-to:#f5f3ff}.xl\:to-purple-100{--tw-gradient-to:#ede9fe}.xl\:to-purple-200{--tw-gradient-to:#ddd6fe}.xl\:to-purple-300{--tw-gradient-to:#c4b5fd}.xl\:to-purple-400{--tw-gradient-to:#a78bfa}.xl\:to-purple-500{--tw-gradient-to:#8b5cf6}.xl\:to-purple-600{--tw-gradient-to:#7c3aed}.xl\:to-purple-700{--tw-gradient-to:#6d28d9}.xl\:to-purple-800{--tw-gradient-to:#5b21b6}.xl\:to-purple-900{--tw-gradient-to:#4c1d95}.xl\:to-pink-50{--tw-gradient-to:#fdf2f8}.xl\:to-pink-100{--tw-gradient-to:#fce7f3}.xl\:to-pink-200{--tw-gradient-to:#fbcfe8}.xl\:to-pink-300{--tw-gradient-to:#f9a8d4}.xl\:to-pink-400{--tw-gradient-to:#f472b6}.xl\:to-pink-500{--tw-gradient-to:#ec4899}.xl\:to-pink-600{--tw-gradient-to:#db2777}.xl\:to-pink-700{--tw-gradient-to:#be185d}.xl\:to-pink-800{--tw-gradient-to:#9d174d}.xl\:to-pink-900{--tw-gradient-to:#831843}.xl\:hover\:to-transparent:hover{--tw-gradient-to:transparent}.xl\:hover\:to-current:hover{--tw-gradient-to:currentColor}.xl\:hover\:to-black:hover{--tw-gradient-to:#000}.xl\:hover\:to-white:hover{--tw-gradient-to:#fff}.xl\:hover\:to-gray-50:hover{--tw-gradient-to:#f9fafb}.xl\:hover\:to-gray-100:hover{--tw-gradient-to:#f3f4f6}.xl\:hover\:to-gray-200:hover{--tw-gradient-to:#e5e7eb}.xl\:hover\:to-gray-300:hover{--tw-gradient-to:#d1d5db}.xl\:hover\:to-gray-400:hover{--tw-gradient-to:#9ca3af}.xl\:hover\:to-gray-500:hover{--tw-gradient-to:#6b7280}.xl\:hover\:to-gray-600:hover{--tw-gradient-to:#4b5563}.xl\:hover\:to-gray-700:hover{--tw-gradient-to:#374151}.xl\:hover\:to-gray-800:hover{--tw-gradient-to:#1f2937}.xl\:hover\:to-gray-900:hover{--tw-gradient-to:#111827}.xl\:hover\:to-red-50:hover{--tw-gradient-to:#fef2f2}.xl\:hover\:to-red-100:hover{--tw-gradient-to:#fee2e2}.xl\:hover\:to-red-200:hover{--tw-gradient-to:#fecaca}.xl\:hover\:to-red-300:hover{--tw-gradient-to:#fca5a5}.xl\:hover\:to-red-400:hover{--tw-gradient-to:#f87171}.xl\:hover\:to-red-500:hover{--tw-gradient-to:#ef4444}.xl\:hover\:to-red-600:hover{--tw-gradient-to:#dc2626}.xl\:hover\:to-red-700:hover{--tw-gradient-to:#b91c1c}.xl\:hover\:to-red-800:hover{--tw-gradient-to:#991b1b}.xl\:hover\:to-red-900:hover{--tw-gradient-to:#7f1d1d}.xl\:hover\:to-yellow-50:hover{--tw-gradient-to:#fffbeb}.xl\:hover\:to-yellow-100:hover{--tw-gradient-to:#fef3c7}.xl\:hover\:to-yellow-200:hover{--tw-gradient-to:#fde68a}.xl\:hover\:to-yellow-300:hover{--tw-gradient-to:#fcd34d}.xl\:hover\:to-yellow-400:hover{--tw-gradient-to:#fbbf24}.xl\:hover\:to-yellow-500:hover{--tw-gradient-to:#f59e0b}.xl\:hover\:to-yellow-600:hover{--tw-gradient-to:#d97706}.xl\:hover\:to-yellow-700:hover{--tw-gradient-to:#b45309}.xl\:hover\:to-yellow-800:hover{--tw-gradient-to:#92400e}.xl\:hover\:to-yellow-900:hover{--tw-gradient-to:#78350f}.xl\:hover\:to-green-50:hover{--tw-gradient-to:#ecfdf5}.xl\:hover\:to-green-100:hover{--tw-gradient-to:#d1fae5}.xl\:hover\:to-green-200:hover{--tw-gradient-to:#a7f3d0}.xl\:hover\:to-green-300:hover{--tw-gradient-to:#6ee7b7}.xl\:hover\:to-green-400:hover{--tw-gradient-to:#34d399}.xl\:hover\:to-green-500:hover{--tw-gradient-to:#10b981}.xl\:hover\:to-green-600:hover{--tw-gradient-to:#059669}.xl\:hover\:to-green-700:hover{--tw-gradient-to:#047857}.xl\:hover\:to-green-800:hover{--tw-gradient-to:#065f46}.xl\:hover\:to-green-900:hover{--tw-gradient-to:#064e3b}.xl\:hover\:to-blue-50:hover{--tw-gradient-to:#eff6ff}.xl\:hover\:to-blue-100:hover{--tw-gradient-to:#dbeafe}.xl\:hover\:to-blue-200:hover{--tw-gradient-to:#bfdbfe}.xl\:hover\:to-blue-300:hover{--tw-gradient-to:#93c5fd}.xl\:hover\:to-blue-400:hover{--tw-gradient-to:#60a5fa}.xl\:hover\:to-blue-500:hover{--tw-gradient-to:#3b82f6}.xl\:hover\:to-blue-600:hover{--tw-gradient-to:#2563eb}.xl\:hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8}.xl\:hover\:to-blue-800:hover{--tw-gradient-to:#1e40af}.xl\:hover\:to-blue-900:hover{--tw-gradient-to:#1e3a8a}.xl\:hover\:to-indigo-50:hover{--tw-gradient-to:#eef2ff}.xl\:hover\:to-indigo-100:hover{--tw-gradient-to:#e0e7ff}.xl\:hover\:to-indigo-200:hover{--tw-gradient-to:#c7d2fe}.xl\:hover\:to-indigo-300:hover{--tw-gradient-to:#a5b4fc}.xl\:hover\:to-indigo-400:hover{--tw-gradient-to:#818cf8}.xl\:hover\:to-indigo-500:hover{--tw-gradient-to:#6366f1}.xl\:hover\:to-indigo-600:hover{--tw-gradient-to:#4f46e5}.xl\:hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca}.xl\:hover\:to-indigo-800:hover{--tw-gradient-to:#3730a3}.xl\:hover\:to-indigo-900:hover{--tw-gradient-to:#312e81}.xl\:hover\:to-purple-50:hover{--tw-gradient-to:#f5f3ff}.xl\:hover\:to-purple-100:hover{--tw-gradient-to:#ede9fe}.xl\:hover\:to-purple-200:hover{--tw-gradient-to:#ddd6fe}.xl\:hover\:to-purple-300:hover{--tw-gradient-to:#c4b5fd}.xl\:hover\:to-purple-400:hover{--tw-gradient-to:#a78bfa}.xl\:hover\:to-purple-500:hover{--tw-gradient-to:#8b5cf6}.xl\:hover\:to-purple-600:hover{--tw-gradient-to:#7c3aed}.xl\:hover\:to-purple-700:hover{--tw-gradient-to:#6d28d9}.xl\:hover\:to-purple-800:hover{--tw-gradient-to:#5b21b6}.xl\:hover\:to-purple-900:hover{--tw-gradient-to:#4c1d95}.xl\:hover\:to-pink-50:hover{--tw-gradient-to:#fdf2f8}.xl\:hover\:to-pink-100:hover{--tw-gradient-to:#fce7f3}.xl\:hover\:to-pink-200:hover{--tw-gradient-to:#fbcfe8}.xl\:hover\:to-pink-300:hover{--tw-gradient-to:#f9a8d4}.xl\:hover\:to-pink-400:hover{--tw-gradient-to:#f472b6}.xl\:hover\:to-pink-500:hover{--tw-gradient-to:#ec4899}.xl\:hover\:to-pink-600:hover{--tw-gradient-to:#db2777}.xl\:hover\:to-pink-700:hover{--tw-gradient-to:#be185d}.xl\:hover\:to-pink-800:hover{--tw-gradient-to:#9d174d}.xl\:hover\:to-pink-900:hover{--tw-gradient-to:#831843}.xl\:focus\:to-transparent:focus{--tw-gradient-to:transparent}.xl\:focus\:to-current:focus{--tw-gradient-to:currentColor}.xl\:focus\:to-black:focus{--tw-gradient-to:#000}.xl\:focus\:to-white:focus{--tw-gradient-to:#fff}.xl\:focus\:to-gray-50:focus{--tw-gradient-to:#f9fafb}.xl\:focus\:to-gray-100:focus{--tw-gradient-to:#f3f4f6}.xl\:focus\:to-gray-200:focus{--tw-gradient-to:#e5e7eb}.xl\:focus\:to-gray-300:focus{--tw-gradient-to:#d1d5db}.xl\:focus\:to-gray-400:focus{--tw-gradient-to:#9ca3af}.xl\:focus\:to-gray-500:focus{--tw-gradient-to:#6b7280}.xl\:focus\:to-gray-600:focus{--tw-gradient-to:#4b5563}.xl\:focus\:to-gray-700:focus{--tw-gradient-to:#374151}.xl\:focus\:to-gray-800:focus{--tw-gradient-to:#1f2937}.xl\:focus\:to-gray-900:focus{--tw-gradient-to:#111827}.xl\:focus\:to-red-50:focus{--tw-gradient-to:#fef2f2}.xl\:focus\:to-red-100:focus{--tw-gradient-to:#fee2e2}.xl\:focus\:to-red-200:focus{--tw-gradient-to:#fecaca}.xl\:focus\:to-red-300:focus{--tw-gradient-to:#fca5a5}.xl\:focus\:to-red-400:focus{--tw-gradient-to:#f87171}.xl\:focus\:to-red-500:focus{--tw-gradient-to:#ef4444}.xl\:focus\:to-red-600:focus{--tw-gradient-to:#dc2626}.xl\:focus\:to-red-700:focus{--tw-gradient-to:#b91c1c}.xl\:focus\:to-red-800:focus{--tw-gradient-to:#991b1b}.xl\:focus\:to-red-900:focus{--tw-gradient-to:#7f1d1d}.xl\:focus\:to-yellow-50:focus{--tw-gradient-to:#fffbeb}.xl\:focus\:to-yellow-100:focus{--tw-gradient-to:#fef3c7}.xl\:focus\:to-yellow-200:focus{--tw-gradient-to:#fde68a}.xl\:focus\:to-yellow-300:focus{--tw-gradient-to:#fcd34d}.xl\:focus\:to-yellow-400:focus{--tw-gradient-to:#fbbf24}.xl\:focus\:to-yellow-500:focus{--tw-gradient-to:#f59e0b}.xl\:focus\:to-yellow-600:focus{--tw-gradient-to:#d97706}.xl\:focus\:to-yellow-700:focus{--tw-gradient-to:#b45309}.xl\:focus\:to-yellow-800:focus{--tw-gradient-to:#92400e}.xl\:focus\:to-yellow-900:focus{--tw-gradient-to:#78350f}.xl\:focus\:to-green-50:focus{--tw-gradient-to:#ecfdf5}.xl\:focus\:to-green-100:focus{--tw-gradient-to:#d1fae5}.xl\:focus\:to-green-200:focus{--tw-gradient-to:#a7f3d0}.xl\:focus\:to-green-300:focus{--tw-gradient-to:#6ee7b7}.xl\:focus\:to-green-400:focus{--tw-gradient-to:#34d399}.xl\:focus\:to-green-500:focus{--tw-gradient-to:#10b981}.xl\:focus\:to-green-600:focus{--tw-gradient-to:#059669}.xl\:focus\:to-green-700:focus{--tw-gradient-to:#047857}.xl\:focus\:to-green-800:focus{--tw-gradient-to:#065f46}.xl\:focus\:to-green-900:focus{--tw-gradient-to:#064e3b}.xl\:focus\:to-blue-50:focus{--tw-gradient-to:#eff6ff}.xl\:focus\:to-blue-100:focus{--tw-gradient-to:#dbeafe}.xl\:focus\:to-blue-200:focus{--tw-gradient-to:#bfdbfe}.xl\:focus\:to-blue-300:focus{--tw-gradient-to:#93c5fd}.xl\:focus\:to-blue-400:focus{--tw-gradient-to:#60a5fa}.xl\:focus\:to-blue-500:focus{--tw-gradient-to:#3b82f6}.xl\:focus\:to-blue-600:focus{--tw-gradient-to:#2563eb}.xl\:focus\:to-blue-700:focus{--tw-gradient-to:#1d4ed8}.xl\:focus\:to-blue-800:focus{--tw-gradient-to:#1e40af}.xl\:focus\:to-blue-900:focus{--tw-gradient-to:#1e3a8a}.xl\:focus\:to-indigo-50:focus{--tw-gradient-to:#eef2ff}.xl\:focus\:to-indigo-100:focus{--tw-gradient-to:#e0e7ff}.xl\:focus\:to-indigo-200:focus{--tw-gradient-to:#c7d2fe}.xl\:focus\:to-indigo-300:focus{--tw-gradient-to:#a5b4fc}.xl\:focus\:to-indigo-400:focus{--tw-gradient-to:#818cf8}.xl\:focus\:to-indigo-500:focus{--tw-gradient-to:#6366f1}.xl\:focus\:to-indigo-600:focus{--tw-gradient-to:#4f46e5}.xl\:focus\:to-indigo-700:focus{--tw-gradient-to:#4338ca}.xl\:focus\:to-indigo-800:focus{--tw-gradient-to:#3730a3}.xl\:focus\:to-indigo-900:focus{--tw-gradient-to:#312e81}.xl\:focus\:to-purple-50:focus{--tw-gradient-to:#f5f3ff}.xl\:focus\:to-purple-100:focus{--tw-gradient-to:#ede9fe}.xl\:focus\:to-purple-200:focus{--tw-gradient-to:#ddd6fe}.xl\:focus\:to-purple-300:focus{--tw-gradient-to:#c4b5fd}.xl\:focus\:to-purple-400:focus{--tw-gradient-to:#a78bfa}.xl\:focus\:to-purple-500:focus{--tw-gradient-to:#8b5cf6}.xl\:focus\:to-purple-600:focus{--tw-gradient-to:#7c3aed}.xl\:focus\:to-purple-700:focus{--tw-gradient-to:#6d28d9}.xl\:focus\:to-purple-800:focus{--tw-gradient-to:#5b21b6}.xl\:focus\:to-purple-900:focus{--tw-gradient-to:#4c1d95}.xl\:focus\:to-pink-50:focus{--tw-gradient-to:#fdf2f8}.xl\:focus\:to-pink-100:focus{--tw-gradient-to:#fce7f3}.xl\:focus\:to-pink-200:focus{--tw-gradient-to:#fbcfe8}.xl\:focus\:to-pink-300:focus{--tw-gradient-to:#f9a8d4}.xl\:focus\:to-pink-400:focus{--tw-gradient-to:#f472b6}.xl\:focus\:to-pink-500:focus{--tw-gradient-to:#ec4899}.xl\:focus\:to-pink-600:focus{--tw-gradient-to:#db2777}.xl\:focus\:to-pink-700:focus{--tw-gradient-to:#be185d}.xl\:focus\:to-pink-800:focus{--tw-gradient-to:#9d174d}.xl\:focus\:to-pink-900:focus{--tw-gradient-to:#831843}.xl\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.xl\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.xl\:bg-auto{background-size:auto}.xl\:bg-cover{background-size:cover}.xl\:bg-contain{background-size:contain}.xl\:bg-fixed{background-attachment:fixed}.xl\:bg-local{background-attachment:local}.xl\:bg-scroll{background-attachment:scroll}.xl\:bg-clip-border{background-clip:border-box}.xl\:bg-clip-padding{background-clip:padding-box}.xl\:bg-clip-content{background-clip:content-box}.xl\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.xl\:bg-bottom{background-position:bottom}.xl\:bg-center{background-position:center}.xl\:bg-left{background-position:left}.xl\:bg-left-bottom{background-position:left bottom}.xl\:bg-left-top{background-position:left top}.xl\:bg-right{background-position:right}.xl\:bg-right-bottom{background-position:right bottom}.xl\:bg-right-top{background-position:right top}.xl\:bg-top{background-position:top}.xl\:bg-repeat{background-repeat:repeat}.xl\:bg-no-repeat{background-repeat:no-repeat}.xl\:bg-repeat-x{background-repeat:repeat-x}.xl\:bg-repeat-y{background-repeat:repeat-y}.xl\:bg-repeat-round{background-repeat:round}.xl\:bg-repeat-space{background-repeat:space}.xl\:bg-origin-border{background-origin:border-box}.xl\:bg-origin-padding{background-origin:padding-box}.xl\:bg-origin-content{background-origin:content-box}.xl\:fill-current{fill:currentColor}.xl\:stroke-current{stroke:currentColor}.xl\:stroke-0{stroke-width:0}.xl\:stroke-1{stroke-width:1}.xl\:stroke-2{stroke-width:2}.xl\:object-contain{object-fit:contain}.xl\:object-cover{object-fit:cover}.xl\:object-fill{object-fit:fill}.xl\:object-none{object-fit:none}.xl\:object-scale-down{object-fit:scale-down}.xl\:object-bottom{object-position:bottom}.xl\:object-center{object-position:center}.xl\:object-left{object-position:left}.xl\:object-left-bottom{object-position:left bottom}.xl\:object-left-top{object-position:left top}.xl\:object-right{object-position:right}.xl\:object-right-bottom{object-position:right bottom}.xl\:object-right-top{object-position:right top}.xl\:object-top{object-position:top}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-5{padding:1.25rem}.xl\:p-6{padding:1.5rem}.xl\:p-7{padding:1.75rem}.xl\:p-8{padding:2rem}.xl\:p-9{padding:2.25rem}.xl\:p-10{padding:2.5rem}.xl\:p-11{padding:2.75rem}.xl\:p-12{padding:3rem}.xl\:p-14{padding:3.5rem}.xl\:p-16{padding:4rem}.xl\:p-20{padding:5rem}.xl\:p-24{padding:6rem}.xl\:p-28{padding:7rem}.xl\:p-32{padding:8rem}.xl\:p-36{padding:9rem}.xl\:p-40{padding:10rem}.xl\:p-44{padding:11rem}.xl\:p-48{padding:12rem}.xl\:p-52{padding:13rem}.xl\:p-56{padding:14rem}.xl\:p-60{padding:15rem}.xl\:p-64{padding:16rem}.xl\:p-72{padding:18rem}.xl\:p-80{padding:20rem}.xl\:p-96{padding:24rem}.xl\:p-px{padding:1px}.xl\:p-0\.5{padding:.125rem}.xl\:p-1\.5{padding:.375rem}.xl\:p-2\.5{padding:.625rem}.xl\:p-3\.5{padding:.875rem}.xl\:px-0{padding-left:0;padding-right:0}.xl\:px-1{padding-left:.25rem;padding-right:.25rem}.xl\:px-2{padding-left:.5rem;padding-right:.5rem}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\:px-7{padding-left:1.75rem;padding-right:1.75rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:px-9{padding-left:2.25rem;padding-right:2.25rem}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:px-11{padding-left:2.75rem;padding-right:2.75rem}.xl\:px-12{padding-left:3rem;padding-right:3rem}.xl\:px-14{padding-left:3.5rem;padding-right:3.5rem}.xl\:px-16{padding-left:4rem;padding-right:4rem}.xl\:px-20{padding-left:5rem;padding-right:5rem}.xl\:px-24{padding-left:6rem;padding-right:6rem}.xl\:px-28{padding-left:7rem;padding-right:7rem}.xl\:px-32{padding-left:8rem;padding-right:8rem}.xl\:px-36{padding-left:9rem;padding-right:9rem}.xl\:px-40{padding-left:10rem;padding-right:10rem}.xl\:px-44{padding-left:11rem;padding-right:11rem}.xl\:px-48{padding-left:12rem;padding-right:12rem}.xl\:px-52{padding-left:13rem;padding-right:13rem}.xl\:px-56{padding-left:14rem;padding-right:14rem}.xl\:px-60{padding-left:15rem;padding-right:15rem}.xl\:px-64{padding-left:16rem;padding-right:16rem}.xl\:px-72{padding-left:18rem;padding-right:18rem}.xl\:px-80{padding-left:20rem;padding-right:20rem}.xl\:px-96{padding-left:24rem;padding-right:24rem}.xl\:px-px{padding-left:1px;padding-right:1px}.xl\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.xl\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.xl\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.xl\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xl\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.xl\:py-12{padding-top:3rem;padding-bottom:3rem}.xl\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.xl\:py-16{padding-top:4rem;padding-bottom:4rem}.xl\:py-20{padding-top:5rem;padding-bottom:5rem}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:py-28{padding-top:7rem;padding-bottom:7rem}.xl\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\:py-36{padding-top:9rem;padding-bottom:9rem}.xl\:py-40{padding-top:10rem;padding-bottom:10rem}.xl\:py-44{padding-top:11rem;padding-bottom:11rem}.xl\:py-48{padding-top:12rem;padding-bottom:12rem}.xl\:py-52{padding-top:13rem;padding-bottom:13rem}.xl\:py-56{padding-top:14rem;padding-bottom:14rem}.xl\:py-60{padding-top:15rem;padding-bottom:15rem}.xl\:py-64{padding-top:16rem;padding-bottom:16rem}.xl\:py-72{padding-top:18rem;padding-bottom:18rem}.xl\:py-80{padding-top:20rem;padding-bottom:20rem}.xl\:py-96{padding-top:24rem;padding-bottom:24rem}.xl\:py-px{padding-top:1px;padding-bottom:1px}.xl\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.xl\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.xl\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.xl\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.xl\:pt-0{padding-top:0}.xl\:pt-1{padding-top:.25rem}.xl\:pt-2{padding-top:.5rem}.xl\:pt-3{padding-top:.75rem}.xl\:pt-4{padding-top:1rem}.xl\:pt-5{padding-top:1.25rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pt-7{padding-top:1.75rem}.xl\:pt-8{padding-top:2rem}.xl\:pt-9{padding-top:2.25rem}.xl\:pt-10{padding-top:2.5rem}.xl\:pt-11{padding-top:2.75rem}.xl\:pt-12{padding-top:3rem}.xl\:pt-14{padding-top:3.5rem}.xl\:pt-16{padding-top:4rem}.xl\:pt-20{padding-top:5rem}.xl\:pt-24{padding-top:6rem}.xl\:pt-28{padding-top:7rem}.xl\:pt-32{padding-top:8rem}.xl\:pt-36{padding-top:9rem}.xl\:pt-40{padding-top:10rem}.xl\:pt-44{padding-top:11rem}.xl\:pt-48{padding-top:12rem}.xl\:pt-52{padding-top:13rem}.xl\:pt-56{padding-top:14rem}.xl\:pt-60{padding-top:15rem}.xl\:pt-64{padding-top:16rem}.xl\:pt-72{padding-top:18rem}.xl\:pt-80{padding-top:20rem}.xl\:pt-96{padding-top:24rem}.xl\:pt-px{padding-top:1px}.xl\:pt-0\.5{padding-top:.125rem}.xl\:pt-1\.5{padding-top:.375rem}.xl\:pt-2\.5{padding-top:.625rem}.xl\:pt-3\.5{padding-top:.875rem}.xl\:pr-0{padding-right:0}.xl\:pr-1{padding-right:.25rem}.xl\:pr-2{padding-right:.5rem}.xl\:pr-3{padding-right:.75rem}.xl\:pr-4{padding-right:1rem}.xl\:pr-5{padding-right:1.25rem}.xl\:pr-6{padding-right:1.5rem}.xl\:pr-7{padding-right:1.75rem}.xl\:pr-8{padding-right:2rem}.xl\:pr-9{padding-right:2.25rem}.xl\:pr-10{padding-right:2.5rem}.xl\:pr-11{padding-right:2.75rem}.xl\:pr-12{padding-right:3rem}.xl\:pr-14{padding-right:3.5rem}.xl\:pr-16{padding-right:4rem}.xl\:pr-20{padding-right:5rem}.xl\:pr-24{padding-right:6rem}.xl\:pr-28{padding-right:7rem}.xl\:pr-32{padding-right:8rem}.xl\:pr-36{padding-right:9rem}.xl\:pr-40{padding-right:10rem}.xl\:pr-44{padding-right:11rem}.xl\:pr-48{padding-right:12rem}.xl\:pr-52{padding-right:13rem}.xl\:pr-56{padding-right:14rem}.xl\:pr-60{padding-right:15rem}.xl\:pr-64{padding-right:16rem}.xl\:pr-72{padding-right:18rem}.xl\:pr-80{padding-right:20rem}.xl\:pr-96{padding-right:24rem}.xl\:pr-px{padding-right:1px}.xl\:pr-0\.5{padding-right:.125rem}.xl\:pr-1\.5{padding-right:.375rem}.xl\:pr-2\.5{padding-right:.625rem}.xl\:pr-3\.5{padding-right:.875rem}.xl\:pb-0{padding-bottom:0}.xl\:pb-1{padding-bottom:.25rem}.xl\:pb-2{padding-bottom:.5rem}.xl\:pb-3{padding-bottom:.75rem}.xl\:pb-4{padding-bottom:1rem}.xl\:pb-5{padding-bottom:1.25rem}.xl\:pb-6{padding-bottom:1.5rem}.xl\:pb-7{padding-bottom:1.75rem}.xl\:pb-8{padding-bottom:2rem}.xl\:pb-9{padding-bottom:2.25rem}.xl\:pb-10{padding-bottom:2.5rem}.xl\:pb-11{padding-bottom:2.75rem}.xl\:pb-12{padding-bottom:3rem}.xl\:pb-14{padding-bottom:3.5rem}.xl\:pb-16{padding-bottom:4rem}.xl\:pb-20{padding-bottom:5rem}.xl\:pb-24{padding-bottom:6rem}.xl\:pb-28{padding-bottom:7rem}.xl\:pb-32{padding-bottom:8rem}.xl\:pb-36{padding-bottom:9rem}.xl\:pb-40{padding-bottom:10rem}.xl\:pb-44{padding-bottom:11rem}.xl\:pb-48{padding-bottom:12rem}.xl\:pb-52{padding-bottom:13rem}.xl\:pb-56{padding-bottom:14rem}.xl\:pb-60{padding-bottom:15rem}.xl\:pb-64{padding-bottom:16rem}.xl\:pb-72{padding-bottom:18rem}.xl\:pb-80{padding-bottom:20rem}.xl\:pb-96{padding-bottom:24rem}.xl\:pb-px{padding-bottom:1px}.xl\:pb-0\.5{padding-bottom:.125rem}.xl\:pb-1\.5{padding-bottom:.375rem}.xl\:pb-2\.5{padding-bottom:.625rem}.xl\:pb-3\.5{padding-bottom:.875rem}.xl\:pl-0{padding-left:0}.xl\:pl-1{padding-left:.25rem}.xl\:pl-2{padding-left:.5rem}.xl\:pl-3{padding-left:.75rem}.xl\:pl-4{padding-left:1rem}.xl\:pl-5{padding-left:1.25rem}.xl\:pl-6{padding-left:1.5rem}.xl\:pl-7{padding-left:1.75rem}.xl\:pl-8{padding-left:2rem}.xl\:pl-9{padding-left:2.25rem}.xl\:pl-10{padding-left:2.5rem}.xl\:pl-11{padding-left:2.75rem}.xl\:pl-12{padding-left:3rem}.xl\:pl-14{padding-left:3.5rem}.xl\:pl-16{padding-left:4rem}.xl\:pl-20{padding-left:5rem}.xl\:pl-24{padding-left:6rem}.xl\:pl-28{padding-left:7rem}.xl\:pl-32{padding-left:8rem}.xl\:pl-36{padding-left:9rem}.xl\:pl-40{padding-left:10rem}.xl\:pl-44{padding-left:11rem}.xl\:pl-48{padding-left:12rem}.xl\:pl-52{padding-left:13rem}.xl\:pl-56{padding-left:14rem}.xl\:pl-60{padding-left:15rem}.xl\:pl-64{padding-left:16rem}.xl\:pl-72{padding-left:18rem}.xl\:pl-80{padding-left:20rem}.xl\:pl-96{padding-left:24rem}.xl\:pl-px{padding-left:1px}.xl\:pl-0\.5{padding-left:.125rem}.xl\:pl-1\.5{padding-left:.375rem}.xl\:pl-2\.5{padding-left:.625rem}.xl\:pl-3\.5{padding-left:.875rem}.xl\:text-left{text-align:left}.xl\:text-center{text-align:center}.xl\:text-right{text-align:right}.xl\:text-justify{text-align:justify}.xl\:align-baseline{vertical-align:baseline}.xl\:align-top{vertical-align:top}.xl\:align-middle{vertical-align:middle}.xl\:align-bottom{vertical-align:bottom}.xl\:align-text-top{vertical-align:text-top}.xl\:align-text-bottom{vertical-align:text-bottom}.xl\:font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.xl\:font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.xl\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.xl\:text-xs{font-size:.75rem;line-height:1rem}.xl\:text-sm{font-size:.875rem;line-height:1.25rem}.xl\:text-base{font-size:1rem;line-height:1.5rem}.xl\:text-lg{font-size:1.125rem;line-height:1.75rem}.xl\:text-xl{font-size:1.25rem;line-height:1.75rem}.xl\:text-2xl{font-size:1.5rem;line-height:2rem}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem}.xl\:text-5xl{font-size:3rem;line-height:1}.xl\:text-6xl{font-size:3.75rem;line-height:1}.xl\:text-7xl{font-size:4.5rem;line-height:1}.xl\:text-8xl{font-size:6rem;line-height:1}.xl\:text-9xl{font-size:8rem;line-height:1}.xl\:font-thin{font-weight:100}.xl\:font-extralight{font-weight:200}.xl\:font-light{font-weight:300}.xl\:font-normal{font-weight:400}.xl\:font-medium{font-weight:500}.xl\:font-semibold{font-weight:600}.xl\:font-bold{font-weight:700}.xl\:font-extrabold{font-weight:800}.xl\:font-black{font-weight:900}.xl\:uppercase{text-transform:uppercase}.xl\:lowercase{text-transform:lowercase}.xl\:capitalize{text-transform:capitalize}.xl\:normal-case{text-transform:none}.xl\:italic{font-style:italic}.xl\:not-italic{font-style:normal}.xl\:diagonal-fractions,.xl\:lining-nums,.xl\:oldstyle-nums,.xl\:ordinal,.xl\:proportional-nums,.xl\:slashed-zero,.xl\:stacked-fractions,.xl\:tabular-nums{--tw-ordinal:var(--tw-empty, );/*!*//*!*/--tw-slashed-zero:var(--tw-empty, );/*!*//*!*/--tw-numeric-figure:var(--tw-empty, );/*!*//*!*/--tw-numeric-spacing:var(--tw-empty, );/*!*//*!*/--tw-numeric-fraction:var(--tw-empty, );/*!*//*!*/font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.xl\:normal-nums{font-variant-numeric:normal}.xl\:ordinal{--tw-ordinal:ordinal}.xl\:slashed-zero{--tw-slashed-zero:slashed-zero}.xl\:lining-nums{--tw-numeric-figure:lining-nums}.xl\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.xl\:proportional-nums{--tw-numeric-spacing:proportional-nums}.xl\:tabular-nums{--tw-numeric-spacing:tabular-nums}.xl\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.xl\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.xl\:leading-3{line-height:.75rem}.xl\:leading-4{line-height:1rem}.xl\:leading-5{line-height:1.25rem}.xl\:leading-6{line-height:1.5rem}.xl\:leading-7{line-height:1.75rem}.xl\:leading-8{line-height:2rem}.xl\:leading-9{line-height:2.25rem}.xl\:leading-10{line-height:2.5rem}.xl\:leading-none{line-height:1}.xl\:leading-tight{line-height:1.25}.xl\:leading-snug{line-height:1.375}.xl\:leading-normal{line-height:1.5}.xl\:leading-relaxed{line-height:1.625}.xl\:leading-loose{line-height:2}.xl\:tracking-tighter{letter-spacing:-.05em}.xl\:tracking-tight{letter-spacing:-.025em}.xl\:tracking-normal{letter-spacing:0}.xl\:tracking-wide{letter-spacing:.025em}.xl\:tracking-wider{letter-spacing:.05em}.xl\:tracking-widest{letter-spacing:.1em}.xl\:text-transparent{color:transparent}.xl\:text-current{color:currentColor}.xl\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.xl\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.xl\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.xl\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.xl\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.xl\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.xl\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.xl\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.xl\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.xl\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.xl\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.xl\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.xl\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.xl\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.xl\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.xl\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.xl\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.xl\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.xl\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.xl\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.xl\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.xl\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.xl\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.xl\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.xl\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.xl\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.xl\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.xl\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.xl\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.xl\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.xl\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.xl\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.xl\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.xl\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.xl\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.xl\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.xl\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.xl\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.xl\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.xl\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.xl\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.xl\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.xl\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.xl\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.xl\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.xl\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.xl\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.xl\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.xl\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.xl\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.xl\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.xl\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.xl\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.xl\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.xl\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.xl\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.xl\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.xl\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.xl\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.xl\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.xl\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.xl\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.xl\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.xl\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.xl\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.xl\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.xl\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.xl\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.xl\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.xl\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.xl\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.xl\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.xl\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.xl\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.xl\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.xl\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.xl\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.xl\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.xl\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.xl\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.xl\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.xl\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-transparent{color:transparent}.group:hover .xl\:group-hover\:text-current{color:currentColor}.group:hover .xl\:group-hover\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.group:hover .xl\:group-hover\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.xl\:focus-within\:text-transparent:focus-within{color:transparent}.xl\:focus-within\:text-current:focus-within{color:currentColor}.xl\:focus-within\:text-black:focus-within{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.xl\:focus-within\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-50:focus-within{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-100:focus-within{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-200:focus-within{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-300:focus-within{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-400:focus-within{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-500:focus-within{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-600:focus-within{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-700:focus-within{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-800:focus-within{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.xl\:focus-within\:text-gray-900:focus-within{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.xl\:focus-within\:text-red-50:focus-within{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.xl\:focus-within\:text-red-100:focus-within{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.xl\:focus-within\:text-red-200:focus-within{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.xl\:focus-within\:text-red-300:focus-within{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.xl\:focus-within\:text-red-400:focus-within{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.xl\:focus-within\:text-red-500:focus-within{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.xl\:focus-within\:text-red-600:focus-within{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.xl\:focus-within\:text-red-700:focus-within{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.xl\:focus-within\:text-red-800:focus-within{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.xl\:focus-within\:text-red-900:focus-within{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-50:focus-within{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-100:focus-within{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-200:focus-within{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-300:focus-within{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-400:focus-within{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-500:focus-within{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-600:focus-within{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-700:focus-within{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-800:focus-within{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.xl\:focus-within\:text-yellow-900:focus-within{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.xl\:focus-within\:text-green-50:focus-within{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.xl\:focus-within\:text-green-100:focus-within{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.xl\:focus-within\:text-green-200:focus-within{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.xl\:focus-within\:text-green-300:focus-within{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.xl\:focus-within\:text-green-400:focus-within{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.xl\:focus-within\:text-green-500:focus-within{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.xl\:focus-within\:text-green-600:focus-within{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.xl\:focus-within\:text-green-700:focus-within{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.xl\:focus-within\:text-green-800:focus-within{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.xl\:focus-within\:text-green-900:focus-within{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-50:focus-within{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-100:focus-within{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-200:focus-within{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-300:focus-within{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-400:focus-within{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-500:focus-within{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-600:focus-within{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-700:focus-within{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-800:focus-within{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.xl\:focus-within\:text-blue-900:focus-within{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-50:focus-within{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-100:focus-within{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-200:focus-within{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-300:focus-within{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-400:focus-within{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-500:focus-within{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-600:focus-within{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-700:focus-within{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-800:focus-within{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.xl\:focus-within\:text-indigo-900:focus-within{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-50:focus-within{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-100:focus-within{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-200:focus-within{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-300:focus-within{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-400:focus-within{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-500:focus-within{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-600:focus-within{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-700:focus-within{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-800:focus-within{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.xl\:focus-within\:text-purple-900:focus-within{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-50:focus-within{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-100:focus-within{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-200:focus-within{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-300:focus-within{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-400:focus-within{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-500:focus-within{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-600:focus-within{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-700:focus-within{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-800:focus-within{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.xl\:focus-within\:text-pink-900:focus-within{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.xl\:hover\:text-transparent:hover{color:transparent}.xl\:hover\:text-current:hover{color:currentColor}.xl\:hover\:text-black:hover{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.xl\:hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.xl\:hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.xl\:hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.xl\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.xl\:hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.xl\:hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.xl\:hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.xl\:hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.xl\:hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.xl\:hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.xl\:hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.xl\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.xl\:hover\:text-red-100:hover{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.xl\:hover\:text-red-200:hover{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.xl\:hover\:text-red-300:hover{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.xl\:hover\:text-red-400:hover{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.xl\:hover\:text-red-500:hover{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.xl\:hover\:text-red-600:hover{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.xl\:hover\:text-red-700:hover{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.xl\:hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.xl\:hover\:text-red-900:hover{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.xl\:hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.xl\:hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.xl\:hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.xl\:hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.xl\:hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.xl\:hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.xl\:hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.xl\:hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.xl\:hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.xl\:hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.xl\:hover\:text-green-50:hover{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.xl\:hover\:text-green-100:hover{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.xl\:hover\:text-green-200:hover{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.xl\:hover\:text-green-300:hover{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.xl\:hover\:text-green-400:hover{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.xl\:hover\:text-green-500:hover{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.xl\:hover\:text-green-600:hover{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.xl\:hover\:text-green-700:hover{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.xl\:hover\:text-green-800:hover{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.xl\:hover\:text-green-900:hover{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.xl\:hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.xl\:hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.xl\:hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.xl\:hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.xl\:hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.xl\:hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.xl\:hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.xl\:hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.xl\:hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.xl\:hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.xl\:hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.xl\:hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.xl\:hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.xl\:hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.xl\:hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.xl\:hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.xl\:hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.xl\:hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.xl\:hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.xl\:hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.xl\:hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.xl\:hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.xl\:hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.xl\:hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.xl\:hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.xl\:hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.xl\:hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.xl\:hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.xl\:hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.xl\:hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.xl\:hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.xl\:hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.xl\:hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.xl\:hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.xl\:hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.xl\:hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.xl\:hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.xl\:hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.xl\:hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.xl\:hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.xl\:focus\:text-transparent:focus{color:transparent}.xl\:focus\:text-current:focus{color:currentColor}.xl\:focus\:text-black:focus{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.xl\:focus\:text-white:focus{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.xl\:focus\:text-gray-50:focus{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.xl\:focus\:text-gray-100:focus{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.xl\:focus\:text-gray-200:focus{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.xl\:focus\:text-gray-300:focus{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.xl\:focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.xl\:focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.xl\:focus\:text-gray-600:focus{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.xl\:focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.xl\:focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.xl\:focus\:text-gray-900:focus{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.xl\:focus\:text-red-50:focus{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.xl\:focus\:text-red-100:focus{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.xl\:focus\:text-red-200:focus{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.xl\:focus\:text-red-300:focus{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.xl\:focus\:text-red-400:focus{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.xl\:focus\:text-red-500:focus{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.xl\:focus\:text-red-600:focus{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.xl\:focus\:text-red-700:focus{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.xl\:focus\:text-red-800:focus{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.xl\:focus\:text-red-900:focus{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.xl\:focus\:text-yellow-50:focus{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.xl\:focus\:text-yellow-100:focus{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.xl\:focus\:text-yellow-200:focus{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.xl\:focus\:text-yellow-300:focus{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.xl\:focus\:text-yellow-400:focus{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.xl\:focus\:text-yellow-500:focus{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.xl\:focus\:text-yellow-600:focus{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.xl\:focus\:text-yellow-700:focus{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.xl\:focus\:text-yellow-800:focus{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.xl\:focus\:text-yellow-900:focus{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.xl\:focus\:text-green-50:focus{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.xl\:focus\:text-green-100:focus{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.xl\:focus\:text-green-200:focus{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.xl\:focus\:text-green-300:focus{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.xl\:focus\:text-green-400:focus{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.xl\:focus\:text-green-500:focus{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.xl\:focus\:text-green-600:focus{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.xl\:focus\:text-green-700:focus{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.xl\:focus\:text-green-800:focus{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.xl\:focus\:text-green-900:focus{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.xl\:focus\:text-blue-50:focus{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.xl\:focus\:text-blue-100:focus{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.xl\:focus\:text-blue-200:focus{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.xl\:focus\:text-blue-300:focus{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.xl\:focus\:text-blue-400:focus{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.xl\:focus\:text-blue-500:focus{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.xl\:focus\:text-blue-600:focus{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.xl\:focus\:text-blue-700:focus{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.xl\:focus\:text-blue-800:focus{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.xl\:focus\:text-blue-900:focus{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.xl\:focus\:text-indigo-50:focus{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.xl\:focus\:text-indigo-100:focus{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.xl\:focus\:text-indigo-200:focus{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.xl\:focus\:text-indigo-300:focus{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.xl\:focus\:text-indigo-400:focus{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.xl\:focus\:text-indigo-500:focus{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.xl\:focus\:text-indigo-600:focus{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.xl\:focus\:text-indigo-700:focus{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.xl\:focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.xl\:focus\:text-indigo-900:focus{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.xl\:focus\:text-purple-50:focus{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.xl\:focus\:text-purple-100:focus{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.xl\:focus\:text-purple-200:focus{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.xl\:focus\:text-purple-300:focus{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.xl\:focus\:text-purple-400:focus{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.xl\:focus\:text-purple-500:focus{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.xl\:focus\:text-purple-600:focus{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.xl\:focus\:text-purple-700:focus{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.xl\:focus\:text-purple-800:focus{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.xl\:focus\:text-purple-900:focus{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.xl\:focus\:text-pink-50:focus{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.xl\:focus\:text-pink-100:focus{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.xl\:focus\:text-pink-200:focus{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.xl\:focus\:text-pink-300:focus{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.xl\:focus\:text-pink-400:focus{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.xl\:focus\:text-pink-500:focus{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.xl\:focus\:text-pink-600:focus{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.xl\:focus\:text-pink-700:focus{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.xl\:focus\:text-pink-800:focus{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.xl\:focus\:text-pink-900:focus{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.xl\:text-opacity-0{--tw-text-opacity:0}.xl\:text-opacity-5{--tw-text-opacity:0.05}.xl\:text-opacity-10{--tw-text-opacity:0.1}.xl\:text-opacity-20{--tw-text-opacity:0.2}.xl\:text-opacity-25{--tw-text-opacity:0.25}.xl\:text-opacity-30{--tw-text-opacity:0.3}.xl\:text-opacity-40{--tw-text-opacity:0.4}.xl\:text-opacity-50{--tw-text-opacity:0.5}.xl\:text-opacity-60{--tw-text-opacity:0.6}.xl\:text-opacity-70{--tw-text-opacity:0.7}.xl\:text-opacity-75{--tw-text-opacity:0.75}.xl\:text-opacity-80{--tw-text-opacity:0.8}.xl\:text-opacity-90{--tw-text-opacity:0.9}.xl\:text-opacity-95{--tw-text-opacity:0.95}.xl\:text-opacity-100{--tw-text-opacity:1}.group:hover .xl\:group-hover\:text-opacity-0{--tw-text-opacity:0}.group:hover .xl\:group-hover\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .xl\:group-hover\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .xl\:group-hover\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .xl\:group-hover\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .xl\:group-hover\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .xl\:group-hover\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .xl\:group-hover\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .xl\:group-hover\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .xl\:group-hover\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .xl\:group-hover\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .xl\:group-hover\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .xl\:group-hover\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .xl\:group-hover\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .xl\:group-hover\:text-opacity-100{--tw-text-opacity:1}.xl\:focus-within\:text-opacity-0:focus-within{--tw-text-opacity:0}.xl\:focus-within\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.xl\:focus-within\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.xl\:focus-within\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.xl\:focus-within\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.xl\:focus-within\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.xl\:focus-within\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.xl\:focus-within\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.xl\:focus-within\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.xl\:focus-within\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.xl\:focus-within\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.xl\:focus-within\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.xl\:focus-within\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.xl\:focus-within\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.xl\:focus-within\:text-opacity-100:focus-within{--tw-text-opacity:1}.xl\:hover\:text-opacity-0:hover{--tw-text-opacity:0}.xl\:hover\:text-opacity-5:hover{--tw-text-opacity:0.05}.xl\:hover\:text-opacity-10:hover{--tw-text-opacity:0.1}.xl\:hover\:text-opacity-20:hover{--tw-text-opacity:0.2}.xl\:hover\:text-opacity-25:hover{--tw-text-opacity:0.25}.xl\:hover\:text-opacity-30:hover{--tw-text-opacity:0.3}.xl\:hover\:text-opacity-40:hover{--tw-text-opacity:0.4}.xl\:hover\:text-opacity-50:hover{--tw-text-opacity:0.5}.xl\:hover\:text-opacity-60:hover{--tw-text-opacity:0.6}.xl\:hover\:text-opacity-70:hover{--tw-text-opacity:0.7}.xl\:hover\:text-opacity-75:hover{--tw-text-opacity:0.75}.xl\:hover\:text-opacity-80:hover{--tw-text-opacity:0.8}.xl\:hover\:text-opacity-90:hover{--tw-text-opacity:0.9}.xl\:hover\:text-opacity-95:hover{--tw-text-opacity:0.95}.xl\:hover\:text-opacity-100:hover{--tw-text-opacity:1}.xl\:focus\:text-opacity-0:focus{--tw-text-opacity:0}.xl\:focus\:text-opacity-5:focus{--tw-text-opacity:0.05}.xl\:focus\:text-opacity-10:focus{--tw-text-opacity:0.1}.xl\:focus\:text-opacity-20:focus{--tw-text-opacity:0.2}.xl\:focus\:text-opacity-25:focus{--tw-text-opacity:0.25}.xl\:focus\:text-opacity-30:focus{--tw-text-opacity:0.3}.xl\:focus\:text-opacity-40:focus{--tw-text-opacity:0.4}.xl\:focus\:text-opacity-50:focus{--tw-text-opacity:0.5}.xl\:focus\:text-opacity-60:focus{--tw-text-opacity:0.6}.xl\:focus\:text-opacity-70:focus{--tw-text-opacity:0.7}.xl\:focus\:text-opacity-75:focus{--tw-text-opacity:0.75}.xl\:focus\:text-opacity-80:focus{--tw-text-opacity:0.8}.xl\:focus\:text-opacity-90:focus{--tw-text-opacity:0.9}.xl\:focus\:text-opacity-95:focus{--tw-text-opacity:0.95}.xl\:focus\:text-opacity-100:focus{--tw-text-opacity:1}.xl\:underline{text-decoration:underline}.xl\:line-through{text-decoration:line-through}.xl\:no-underline{text-decoration:none}.group:hover .xl\:group-hover\:underline{text-decoration:underline}.group:hover .xl\:group-hover\:line-through{text-decoration:line-through}.group:hover .xl\:group-hover\:no-underline{text-decoration:none}.xl\:focus-within\:underline:focus-within{text-decoration:underline}.xl\:focus-within\:line-through:focus-within{text-decoration:line-through}.xl\:focus-within\:no-underline:focus-within{text-decoration:none}.xl\:hover\:underline:hover{text-decoration:underline}.xl\:hover\:line-through:hover{text-decoration:line-through}.xl\:hover\:no-underline:hover{text-decoration:none}.xl\:focus\:underline:focus{text-decoration:underline}.xl\:focus\:line-through:focus{text-decoration:line-through}.xl\:focus\:no-underline:focus{text-decoration:none}.xl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:placeholder-transparent::placeholder{color:transparent}.xl\:placeholder-current::placeholder{color:currentColor}.xl\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.xl\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-50::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-100::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-200::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-300::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-600::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-700::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-800::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.xl\:placeholder-gray-900::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.xl\:placeholder-red-50::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.xl\:placeholder-red-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.xl\:placeholder-red-200::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.xl\:placeholder-red-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.xl\:placeholder-red-400::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.xl\:placeholder-red-500::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.xl\:placeholder-red-600::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.xl\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.xl\:placeholder-red-800::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.xl\:placeholder-red-900::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-50::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-200::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-400::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-500::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-600::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-700::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-800::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.xl\:placeholder-yellow-900::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.xl\:placeholder-green-50::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.xl\:placeholder-green-100::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.xl\:placeholder-green-200::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.xl\:placeholder-green-300::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.xl\:placeholder-green-400::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.xl\:placeholder-green-500::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.xl\:placeholder-green-600::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.xl\:placeholder-green-700::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.xl\:placeholder-green-800::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.xl\:placeholder-green-900::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-50::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-100::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-200::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-300::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-400::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-500::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-600::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-700::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-800::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.xl\:placeholder-blue-900::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-50::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-100::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-200::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-300::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-400::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-500::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-600::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-700::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-800::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.xl\:placeholder-indigo-900::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-50::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-100::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-200::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-300::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-400::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-500::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-600::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-700::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-800::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.xl\:placeholder-purple-900::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-50::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-100::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-200::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-300::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-400::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-500::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-600::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-700::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-800::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.xl\:placeholder-pink-900::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.xl\:focus\:placeholder-current:focus::placeholder{color:currentColor}.xl\:focus\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-gray-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-red-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-yellow-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-green-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-blue-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-indigo-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-purple-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.xl\:focus\:placeholder-pink-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.xl\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.xl\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.xl\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.xl\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.xl\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.xl\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.xl\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.xl\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.xl\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.xl\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.xl\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.xl\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.xl\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.xl\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.xl\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.xl\:focus\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.xl\:focus\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.xl\:focus\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.xl\:focus\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.xl\:focus\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.xl\:focus\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.xl\:focus\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.xl\:focus\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.xl\:focus\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.xl\:focus\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.xl\:focus\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.xl\:focus\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.xl\:focus\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.xl\:focus\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.xl\:focus\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}.xl\:opacity-0{opacity:0}.xl\:opacity-5{opacity:.05}.xl\:opacity-10{opacity:.1}.xl\:opacity-20{opacity:.2}.xl\:opacity-25{opacity:.25}.xl\:opacity-30{opacity:.3}.xl\:opacity-40{opacity:.4}.xl\:opacity-50{opacity:.5}.xl\:opacity-60{opacity:.6}.xl\:opacity-70{opacity:.7}.xl\:opacity-75{opacity:.75}.xl\:opacity-80{opacity:.8}.xl\:opacity-90{opacity:.9}.xl\:opacity-95{opacity:.95}.xl\:opacity-100{opacity:1}.group:hover .xl\:group-hover\:opacity-0{opacity:0}.group:hover .xl\:group-hover\:opacity-5{opacity:.05}.group:hover .xl\:group-hover\:opacity-10{opacity:.1}.group:hover .xl\:group-hover\:opacity-20{opacity:.2}.group:hover .xl\:group-hover\:opacity-25{opacity:.25}.group:hover .xl\:group-hover\:opacity-30{opacity:.3}.group:hover .xl\:group-hover\:opacity-40{opacity:.4}.group:hover .xl\:group-hover\:opacity-50{opacity:.5}.group:hover .xl\:group-hover\:opacity-60{opacity:.6}.group:hover .xl\:group-hover\:opacity-70{opacity:.7}.group:hover .xl\:group-hover\:opacity-75{opacity:.75}.group:hover .xl\:group-hover\:opacity-80{opacity:.8}.group:hover .xl\:group-hover\:opacity-90{opacity:.9}.group:hover .xl\:group-hover\:opacity-95{opacity:.95}.group:hover .xl\:group-hover\:opacity-100{opacity:1}.xl\:focus-within\:opacity-0:focus-within{opacity:0}.xl\:focus-within\:opacity-5:focus-within{opacity:.05}.xl\:focus-within\:opacity-10:focus-within{opacity:.1}.xl\:focus-within\:opacity-20:focus-within{opacity:.2}.xl\:focus-within\:opacity-25:focus-within{opacity:.25}.xl\:focus-within\:opacity-30:focus-within{opacity:.3}.xl\:focus-within\:opacity-40:focus-within{opacity:.4}.xl\:focus-within\:opacity-50:focus-within{opacity:.5}.xl\:focus-within\:opacity-60:focus-within{opacity:.6}.xl\:focus-within\:opacity-70:focus-within{opacity:.7}.xl\:focus-within\:opacity-75:focus-within{opacity:.75}.xl\:focus-within\:opacity-80:focus-within{opacity:.8}.xl\:focus-within\:opacity-90:focus-within{opacity:.9}.xl\:focus-within\:opacity-95:focus-within{opacity:.95}.xl\:focus-within\:opacity-100:focus-within{opacity:1}.xl\:hover\:opacity-0:hover{opacity:0}.xl\:hover\:opacity-5:hover{opacity:.05}.xl\:hover\:opacity-10:hover{opacity:.1}.xl\:hover\:opacity-20:hover{opacity:.2}.xl\:hover\:opacity-25:hover{opacity:.25}.xl\:hover\:opacity-30:hover{opacity:.3}.xl\:hover\:opacity-40:hover{opacity:.4}.xl\:hover\:opacity-50:hover{opacity:.5}.xl\:hover\:opacity-60:hover{opacity:.6}.xl\:hover\:opacity-70:hover{opacity:.7}.xl\:hover\:opacity-75:hover{opacity:.75}.xl\:hover\:opacity-80:hover{opacity:.8}.xl\:hover\:opacity-90:hover{opacity:.9}.xl\:hover\:opacity-95:hover{opacity:.95}.xl\:hover\:opacity-100:hover{opacity:1}.xl\:focus\:opacity-0:focus{opacity:0}.xl\:focus\:opacity-5:focus{opacity:.05}.xl\:focus\:opacity-10:focus{opacity:.1}.xl\:focus\:opacity-20:focus{opacity:.2}.xl\:focus\:opacity-25:focus{opacity:.25}.xl\:focus\:opacity-30:focus{opacity:.3}.xl\:focus\:opacity-40:focus{opacity:.4}.xl\:focus\:opacity-50:focus{opacity:.5}.xl\:focus\:opacity-60:focus{opacity:.6}.xl\:focus\:opacity-70:focus{opacity:.7}.xl\:focus\:opacity-75:focus{opacity:.75}.xl\:focus\:opacity-80:focus{opacity:.8}.xl\:focus\:opacity-90:focus{opacity:.9}.xl\:focus\:opacity-95:focus{opacity:.95}.xl\:focus\:opacity-100:focus{opacity:1}.xl\:bg-blend-normal{background-blend-mode:normal}.xl\:bg-blend-multiply{background-blend-mode:multiply}.xl\:bg-blend-screen{background-blend-mode:screen}.xl\:bg-blend-overlay{background-blend-mode:overlay}.xl\:bg-blend-darken{background-blend-mode:darken}.xl\:bg-blend-lighten{background-blend-mode:lighten}.xl\:bg-blend-color-dodge{background-blend-mode:color-dodge}.xl\:bg-blend-color-burn{background-blend-mode:color-burn}.xl\:bg-blend-hard-light{background-blend-mode:hard-light}.xl\:bg-blend-soft-light{background-blend-mode:soft-light}.xl\:bg-blend-difference{background-blend-mode:difference}.xl\:bg-blend-exclusion{background-blend-mode:exclusion}.xl\:bg-blend-hue{background-blend-mode:hue}.xl\:bg-blend-saturation{background-blend-mode:saturation}.xl\:bg-blend-color{background-blend-mode:color}.xl\:bg-blend-luminosity{background-blend-mode:luminosity}.xl\:mix-blend-normal{mix-blend-mode:normal}.xl\:mix-blend-multiply{mix-blend-mode:multiply}.xl\:mix-blend-screen{mix-blend-mode:screen}.xl\:mix-blend-overlay{mix-blend-mode:overlay}.xl\:mix-blend-darken{mix-blend-mode:darken}.xl\:mix-blend-lighten{mix-blend-mode:lighten}.xl\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.xl\:mix-blend-color-burn{mix-blend-mode:color-burn}.xl\:mix-blend-hard-light{mix-blend-mode:hard-light}.xl\:mix-blend-soft-light{mix-blend-mode:soft-light}.xl\:mix-blend-difference{mix-blend-mode:difference}.xl\:mix-blend-exclusion{mix-blend-mode:exclusion}.xl\:mix-blend-hue{mix-blend-mode:hue}.xl\:mix-blend-saturation{mix-blend-mode:saturation}.xl\:mix-blend-color{mix-blend-mode:color}.xl\:mix-blend-luminosity{mix-blend-mode:luminosity}.xl\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .xl\:group-hover\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .xl\:group-hover\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .xl\:group-hover\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .xl\:group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .xl\:group-hover\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .xl\:group-hover\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .xl\:group-hover\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .xl\:group-hover\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus-within\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus-within\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus-within\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus-within\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus-within\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus-within\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus-within\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus-within\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:hover\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:focus\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.xl\:outline-none{outline:2px solid transparent;outline-offset:2px}.xl\:outline-white{outline:2px dotted white;outline-offset:2px}.xl\:outline-black{outline:2px dotted black;outline-offset:2px}.xl\:focus-within\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.xl\:focus-within\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.xl\:focus-within\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.xl\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xl\:focus\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.xl\:focus\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.xl\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus-within\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus-within\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus-within\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.xl\:ring-inset{--tw-ring-inset:inset}.xl\:focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}.xl\:focus\:ring-inset:focus{--tw-ring-inset:inset}.xl\:ring-transparent{--tw-ring-color:transparent}.xl\:ring-current{--tw-ring-color:currentColor}.xl\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.xl\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\:ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.xl\:ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.xl\:ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.xl\:ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.xl\:ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.xl\:ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.xl\:ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.xl\:ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.xl\:ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.xl\:ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.xl\:ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.xl\:ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.xl\:ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.xl\:ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.xl\:ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.xl\:ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.xl\:ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.xl\:ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.xl\:ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.xl\:ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.xl\:ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.xl\:ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.xl\:ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.xl\:ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.xl\:ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.xl\:ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.xl\:ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.xl\:ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.xl\:ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.xl\:ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.xl\:ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.xl\:ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.xl\:ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.xl\:ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.xl\:ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.xl\:ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.xl\:ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.xl\:ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.xl\:ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.xl\:ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.xl\:ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.xl\:ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.xl\:ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.xl\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.xl\:ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.xl\:ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.xl\:ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.xl\:ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.xl\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.xl\:ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.xl\:ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.xl\:ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.xl\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.xl\:ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.xl\:ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.xl\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.xl\:ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.xl\:ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.xl\:ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.xl\:ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.xl\:ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.xl\:ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.xl\:ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.xl\:ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.xl\:ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.xl\:ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.xl\:ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.xl\:ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.xl\:ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.xl\:ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.xl\:ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.xl\:ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.xl\:ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.xl\:ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.xl\:ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.xl\:ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.xl\:ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.xl\:ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.xl\:ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.xl\:ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.xl\:focus-within\:ring-transparent:focus-within{--tw-ring-color:transparent}.xl\:focus-within\:ring-current:focus-within{--tw-ring-color:currentColor}.xl\:focus-within\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.xl\:focus-within\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.xl\:focus-within\:ring-gray-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.xl\:focus-within\:ring-red-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.xl\:focus-within\:ring-yellow-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.xl\:focus-within\:ring-green-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.xl\:focus-within\:ring-blue-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.xl\:focus-within\:ring-indigo-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.xl\:focus-within\:ring-purple-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.xl\:focus-within\:ring-pink-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.xl\:focus\:ring-transparent:focus{--tw-ring-color:transparent}.xl\:focus\:ring-current:focus{--tw-ring-color:currentColor}.xl\:focus\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.xl\:focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.xl\:focus\:ring-gray-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.xl\:focus\:ring-red-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.xl\:focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.xl\:focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.xl\:focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.xl\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.xl\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.xl\:focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.xl\:focus\:ring-red-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.xl\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.xl\:focus\:ring-red-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.xl\:focus\:ring-yellow-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.xl\:focus\:ring-green-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.xl\:focus\:ring-green-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.xl\:focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.xl\:focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.xl\:focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.xl\:focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.xl\:focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.xl\:focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.xl\:focus\:ring-green-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.xl\:focus\:ring-green-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.xl\:focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.xl\:focus\:ring-indigo-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.xl\:focus\:ring-purple-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.xl\:focus\:ring-pink-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.xl\:ring-opacity-0{--tw-ring-opacity:0}.xl\:ring-opacity-5{--tw-ring-opacity:0.05}.xl\:ring-opacity-10{--tw-ring-opacity:0.1}.xl\:ring-opacity-20{--tw-ring-opacity:0.2}.xl\:ring-opacity-25{--tw-ring-opacity:0.25}.xl\:ring-opacity-30{--tw-ring-opacity:0.3}.xl\:ring-opacity-40{--tw-ring-opacity:0.4}.xl\:ring-opacity-50{--tw-ring-opacity:0.5}.xl\:ring-opacity-60{--tw-ring-opacity:0.6}.xl\:ring-opacity-70{--tw-ring-opacity:0.7}.xl\:ring-opacity-75{--tw-ring-opacity:0.75}.xl\:ring-opacity-80{--tw-ring-opacity:0.8}.xl\:ring-opacity-90{--tw-ring-opacity:0.9}.xl\:ring-opacity-95{--tw-ring-opacity:0.95}.xl\:ring-opacity-100{--tw-ring-opacity:1}.xl\:focus-within\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.xl\:focus-within\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.xl\:focus-within\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.xl\:focus-within\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.xl\:focus-within\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.xl\:focus-within\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.xl\:focus-within\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.xl\:focus-within\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.xl\:focus-within\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.xl\:focus-within\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.xl\:focus-within\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.xl\:focus-within\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.xl\:focus-within\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.xl\:focus-within\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.xl\:focus-within\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.xl\:focus\:ring-opacity-0:focus{--tw-ring-opacity:0}.xl\:focus\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.xl\:focus\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.xl\:focus\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.xl\:focus\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.xl\:focus\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.xl\:focus\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.xl\:focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.xl\:focus\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.xl\:focus\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.xl\:focus\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.xl\:focus\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.xl\:focus\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.xl\:focus\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.xl\:focus\:ring-opacity-100:focus{--tw-ring-opacity:1}.xl\:ring-offset-0{--tw-ring-offset-width:0px}.xl\:ring-offset-1{--tw-ring-offset-width:1px}.xl\:ring-offset-2{--tw-ring-offset-width:2px}.xl\:ring-offset-4{--tw-ring-offset-width:4px}.xl\:ring-offset-8{--tw-ring-offset-width:8px}.xl\:focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.xl\:focus-within\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.xl\:focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.xl\:focus-within\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.xl\:focus-within\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.xl\:focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.xl\:focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.xl\:focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.xl\:focus\:ring-offset-4:focus{--tw-ring-offset-width:4px}.xl\:focus\:ring-offset-8:focus{--tw-ring-offset-width:8px}.xl\:ring-offset-transparent{--tw-ring-offset-color:transparent}.xl\:ring-offset-current{--tw-ring-offset-color:currentColor}.xl\:ring-offset-black{--tw-ring-offset-color:#000}.xl\:ring-offset-white{--tw-ring-offset-color:#fff}.xl\:ring-offset-gray-50{--tw-ring-offset-color:#f9fafb}.xl\:ring-offset-gray-100{--tw-ring-offset-color:#f3f4f6}.xl\:ring-offset-gray-200{--tw-ring-offset-color:#e5e7eb}.xl\:ring-offset-gray-300{--tw-ring-offset-color:#d1d5db}.xl\:ring-offset-gray-400{--tw-ring-offset-color:#9ca3af}.xl\:ring-offset-gray-500{--tw-ring-offset-color:#6b7280}.xl\:ring-offset-gray-600{--tw-ring-offset-color:#4b5563}.xl\:ring-offset-gray-700{--tw-ring-offset-color:#374151}.xl\:ring-offset-gray-800{--tw-ring-offset-color:#1f2937}.xl\:ring-offset-gray-900{--tw-ring-offset-color:#111827}.xl\:ring-offset-red-50{--tw-ring-offset-color:#fef2f2}.xl\:ring-offset-red-100{--tw-ring-offset-color:#fee2e2}.xl\:ring-offset-red-200{--tw-ring-offset-color:#fecaca}.xl\:ring-offset-red-300{--tw-ring-offset-color:#fca5a5}.xl\:ring-offset-red-400{--tw-ring-offset-color:#f87171}.xl\:ring-offset-red-500{--tw-ring-offset-color:#ef4444}.xl\:ring-offset-red-600{--tw-ring-offset-color:#dc2626}.xl\:ring-offset-red-700{--tw-ring-offset-color:#b91c1c}.xl\:ring-offset-red-800{--tw-ring-offset-color:#991b1b}.xl\:ring-offset-red-900{--tw-ring-offset-color:#7f1d1d}.xl\:ring-offset-yellow-50{--tw-ring-offset-color:#fffbeb}.xl\:ring-offset-yellow-100{--tw-ring-offset-color:#fef3c7}.xl\:ring-offset-yellow-200{--tw-ring-offset-color:#fde68a}.xl\:ring-offset-yellow-300{--tw-ring-offset-color:#fcd34d}.xl\:ring-offset-yellow-400{--tw-ring-offset-color:#fbbf24}.xl\:ring-offset-yellow-500{--tw-ring-offset-color:#f59e0b}.xl\:ring-offset-yellow-600{--tw-ring-offset-color:#d97706}.xl\:ring-offset-yellow-700{--tw-ring-offset-color:#b45309}.xl\:ring-offset-yellow-800{--tw-ring-offset-color:#92400e}.xl\:ring-offset-yellow-900{--tw-ring-offset-color:#78350f}.xl\:ring-offset-green-50{--tw-ring-offset-color:#ecfdf5}.xl\:ring-offset-green-100{--tw-ring-offset-color:#d1fae5}.xl\:ring-offset-green-200{--tw-ring-offset-color:#a7f3d0}.xl\:ring-offset-green-300{--tw-ring-offset-color:#6ee7b7}.xl\:ring-offset-green-400{--tw-ring-offset-color:#34d399}.xl\:ring-offset-green-500{--tw-ring-offset-color:#10b981}.xl\:ring-offset-green-600{--tw-ring-offset-color:#059669}.xl\:ring-offset-green-700{--tw-ring-offset-color:#047857}.xl\:ring-offset-green-800{--tw-ring-offset-color:#065f46}.xl\:ring-offset-green-900{--tw-ring-offset-color:#064e3b}.xl\:ring-offset-blue-50{--tw-ring-offset-color:#eff6ff}.xl\:ring-offset-blue-100{--tw-ring-offset-color:#dbeafe}.xl\:ring-offset-blue-200{--tw-ring-offset-color:#bfdbfe}.xl\:ring-offset-blue-300{--tw-ring-offset-color:#93c5fd}.xl\:ring-offset-blue-400{--tw-ring-offset-color:#60a5fa}.xl\:ring-offset-blue-500{--tw-ring-offset-color:#3b82f6}.xl\:ring-offset-blue-600{--tw-ring-offset-color:#2563eb}.xl\:ring-offset-blue-700{--tw-ring-offset-color:#1d4ed8}.xl\:ring-offset-blue-800{--tw-ring-offset-color:#1e40af}.xl\:ring-offset-blue-900{--tw-ring-offset-color:#1e3a8a}.xl\:ring-offset-indigo-50{--tw-ring-offset-color:#eef2ff}.xl\:ring-offset-indigo-100{--tw-ring-offset-color:#e0e7ff}.xl\:ring-offset-indigo-200{--tw-ring-offset-color:#c7d2fe}.xl\:ring-offset-indigo-300{--tw-ring-offset-color:#a5b4fc}.xl\:ring-offset-indigo-400{--tw-ring-offset-color:#818cf8}.xl\:ring-offset-indigo-500{--tw-ring-offset-color:#6366f1}.xl\:ring-offset-indigo-600{--tw-ring-offset-color:#4f46e5}.xl\:ring-offset-indigo-700{--tw-ring-offset-color:#4338ca}.xl\:ring-offset-indigo-800{--tw-ring-offset-color:#3730a3}.xl\:ring-offset-indigo-900{--tw-ring-offset-color:#312e81}.xl\:ring-offset-purple-50{--tw-ring-offset-color:#f5f3ff}.xl\:ring-offset-purple-100{--tw-ring-offset-color:#ede9fe}.xl\:ring-offset-purple-200{--tw-ring-offset-color:#ddd6fe}.xl\:ring-offset-purple-300{--tw-ring-offset-color:#c4b5fd}.xl\:ring-offset-purple-400{--tw-ring-offset-color:#a78bfa}.xl\:ring-offset-purple-500{--tw-ring-offset-color:#8b5cf6}.xl\:ring-offset-purple-600{--tw-ring-offset-color:#7c3aed}.xl\:ring-offset-purple-700{--tw-ring-offset-color:#6d28d9}.xl\:ring-offset-purple-800{--tw-ring-offset-color:#5b21b6}.xl\:ring-offset-purple-900{--tw-ring-offset-color:#4c1d95}.xl\:ring-offset-pink-50{--tw-ring-offset-color:#fdf2f8}.xl\:ring-offset-pink-100{--tw-ring-offset-color:#fce7f3}.xl\:ring-offset-pink-200{--tw-ring-offset-color:#fbcfe8}.xl\:ring-offset-pink-300{--tw-ring-offset-color:#f9a8d4}.xl\:ring-offset-pink-400{--tw-ring-offset-color:#f472b6}.xl\:ring-offset-pink-500{--tw-ring-offset-color:#ec4899}.xl\:ring-offset-pink-600{--tw-ring-offset-color:#db2777}.xl\:ring-offset-pink-700{--tw-ring-offset-color:#be185d}.xl\:ring-offset-pink-800{--tw-ring-offset-color:#9d174d}.xl\:ring-offset-pink-900{--tw-ring-offset-color:#831843}.xl\:focus-within\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.xl\:focus-within\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.xl\:focus-within\:ring-offset-black:focus-within{--tw-ring-offset-color:#000}.xl\:focus-within\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.xl\:focus-within\:ring-offset-gray-50:focus-within{--tw-ring-offset-color:#f9fafb}.xl\:focus-within\:ring-offset-gray-100:focus-within{--tw-ring-offset-color:#f3f4f6}.xl\:focus-within\:ring-offset-gray-200:focus-within{--tw-ring-offset-color:#e5e7eb}.xl\:focus-within\:ring-offset-gray-300:focus-within{--tw-ring-offset-color:#d1d5db}.xl\:focus-within\:ring-offset-gray-400:focus-within{--tw-ring-offset-color:#9ca3af}.xl\:focus-within\:ring-offset-gray-500:focus-within{--tw-ring-offset-color:#6b7280}.xl\:focus-within\:ring-offset-gray-600:focus-within{--tw-ring-offset-color:#4b5563}.xl\:focus-within\:ring-offset-gray-700:focus-within{--tw-ring-offset-color:#374151}.xl\:focus-within\:ring-offset-gray-800:focus-within{--tw-ring-offset-color:#1f2937}.xl\:focus-within\:ring-offset-gray-900:focus-within{--tw-ring-offset-color:#111827}.xl\:focus-within\:ring-offset-red-50:focus-within{--tw-ring-offset-color:#fef2f2}.xl\:focus-within\:ring-offset-red-100:focus-within{--tw-ring-offset-color:#fee2e2}.xl\:focus-within\:ring-offset-red-200:focus-within{--tw-ring-offset-color:#fecaca}.xl\:focus-within\:ring-offset-red-300:focus-within{--tw-ring-offset-color:#fca5a5}.xl\:focus-within\:ring-offset-red-400:focus-within{--tw-ring-offset-color:#f87171}.xl\:focus-within\:ring-offset-red-500:focus-within{--tw-ring-offset-color:#ef4444}.xl\:focus-within\:ring-offset-red-600:focus-within{--tw-ring-offset-color:#dc2626}.xl\:focus-within\:ring-offset-red-700:focus-within{--tw-ring-offset-color:#b91c1c}.xl\:focus-within\:ring-offset-red-800:focus-within{--tw-ring-offset-color:#991b1b}.xl\:focus-within\:ring-offset-red-900:focus-within{--tw-ring-offset-color:#7f1d1d}.xl\:focus-within\:ring-offset-yellow-50:focus-within{--tw-ring-offset-color:#fffbeb}.xl\:focus-within\:ring-offset-yellow-100:focus-within{--tw-ring-offset-color:#fef3c7}.xl\:focus-within\:ring-offset-yellow-200:focus-within{--tw-ring-offset-color:#fde68a}.xl\:focus-within\:ring-offset-yellow-300:focus-within{--tw-ring-offset-color:#fcd34d}.xl\:focus-within\:ring-offset-yellow-400:focus-within{--tw-ring-offset-color:#fbbf24}.xl\:focus-within\:ring-offset-yellow-500:focus-within{--tw-ring-offset-color:#f59e0b}.xl\:focus-within\:ring-offset-yellow-600:focus-within{--tw-ring-offset-color:#d97706}.xl\:focus-within\:ring-offset-yellow-700:focus-within{--tw-ring-offset-color:#b45309}.xl\:focus-within\:ring-offset-yellow-800:focus-within{--tw-ring-offset-color:#92400e}.xl\:focus-within\:ring-offset-yellow-900:focus-within{--tw-ring-offset-color:#78350f}.xl\:focus-within\:ring-offset-green-50:focus-within{--tw-ring-offset-color:#ecfdf5}.xl\:focus-within\:ring-offset-green-100:focus-within{--tw-ring-offset-color:#d1fae5}.xl\:focus-within\:ring-offset-green-200:focus-within{--tw-ring-offset-color:#a7f3d0}.xl\:focus-within\:ring-offset-green-300:focus-within{--tw-ring-offset-color:#6ee7b7}.xl\:focus-within\:ring-offset-green-400:focus-within{--tw-ring-offset-color:#34d399}.xl\:focus-within\:ring-offset-green-500:focus-within{--tw-ring-offset-color:#10b981}.xl\:focus-within\:ring-offset-green-600:focus-within{--tw-ring-offset-color:#059669}.xl\:focus-within\:ring-offset-green-700:focus-within{--tw-ring-offset-color:#047857}.xl\:focus-within\:ring-offset-green-800:focus-within{--tw-ring-offset-color:#065f46}.xl\:focus-within\:ring-offset-green-900:focus-within{--tw-ring-offset-color:#064e3b}.xl\:focus-within\:ring-offset-blue-50:focus-within{--tw-ring-offset-color:#eff6ff}.xl\:focus-within\:ring-offset-blue-100:focus-within{--tw-ring-offset-color:#dbeafe}.xl\:focus-within\:ring-offset-blue-200:focus-within{--tw-ring-offset-color:#bfdbfe}.xl\:focus-within\:ring-offset-blue-300:focus-within{--tw-ring-offset-color:#93c5fd}.xl\:focus-within\:ring-offset-blue-400:focus-within{--tw-ring-offset-color:#60a5fa}.xl\:focus-within\:ring-offset-blue-500:focus-within{--tw-ring-offset-color:#3b82f6}.xl\:focus-within\:ring-offset-blue-600:focus-within{--tw-ring-offset-color:#2563eb}.xl\:focus-within\:ring-offset-blue-700:focus-within{--tw-ring-offset-color:#1d4ed8}.xl\:focus-within\:ring-offset-blue-800:focus-within{--tw-ring-offset-color:#1e40af}.xl\:focus-within\:ring-offset-blue-900:focus-within{--tw-ring-offset-color:#1e3a8a}.xl\:focus-within\:ring-offset-indigo-50:focus-within{--tw-ring-offset-color:#eef2ff}.xl\:focus-within\:ring-offset-indigo-100:focus-within{--tw-ring-offset-color:#e0e7ff}.xl\:focus-within\:ring-offset-indigo-200:focus-within{--tw-ring-offset-color:#c7d2fe}.xl\:focus-within\:ring-offset-indigo-300:focus-within{--tw-ring-offset-color:#a5b4fc}.xl\:focus-within\:ring-offset-indigo-400:focus-within{--tw-ring-offset-color:#818cf8}.xl\:focus-within\:ring-offset-indigo-500:focus-within{--tw-ring-offset-color:#6366f1}.xl\:focus-within\:ring-offset-indigo-600:focus-within{--tw-ring-offset-color:#4f46e5}.xl\:focus-within\:ring-offset-indigo-700:focus-within{--tw-ring-offset-color:#4338ca}.xl\:focus-within\:ring-offset-indigo-800:focus-within{--tw-ring-offset-color:#3730a3}.xl\:focus-within\:ring-offset-indigo-900:focus-within{--tw-ring-offset-color:#312e81}.xl\:focus-within\:ring-offset-purple-50:focus-within{--tw-ring-offset-color:#f5f3ff}.xl\:focus-within\:ring-offset-purple-100:focus-within{--tw-ring-offset-color:#ede9fe}.xl\:focus-within\:ring-offset-purple-200:focus-within{--tw-ring-offset-color:#ddd6fe}.xl\:focus-within\:ring-offset-purple-300:focus-within{--tw-ring-offset-color:#c4b5fd}.xl\:focus-within\:ring-offset-purple-400:focus-within{--tw-ring-offset-color:#a78bfa}.xl\:focus-within\:ring-offset-purple-500:focus-within{--tw-ring-offset-color:#8b5cf6}.xl\:focus-within\:ring-offset-purple-600:focus-within{--tw-ring-offset-color:#7c3aed}.xl\:focus-within\:ring-offset-purple-700:focus-within{--tw-ring-offset-color:#6d28d9}.xl\:focus-within\:ring-offset-purple-800:focus-within{--tw-ring-offset-color:#5b21b6}.xl\:focus-within\:ring-offset-purple-900:focus-within{--tw-ring-offset-color:#4c1d95}.xl\:focus-within\:ring-offset-pink-50:focus-within{--tw-ring-offset-color:#fdf2f8}.xl\:focus-within\:ring-offset-pink-100:focus-within{--tw-ring-offset-color:#fce7f3}.xl\:focus-within\:ring-offset-pink-200:focus-within{--tw-ring-offset-color:#fbcfe8}.xl\:focus-within\:ring-offset-pink-300:focus-within{--tw-ring-offset-color:#f9a8d4}.xl\:focus-within\:ring-offset-pink-400:focus-within{--tw-ring-offset-color:#f472b6}.xl\:focus-within\:ring-offset-pink-500:focus-within{--tw-ring-offset-color:#ec4899}.xl\:focus-within\:ring-offset-pink-600:focus-within{--tw-ring-offset-color:#db2777}.xl\:focus-within\:ring-offset-pink-700:focus-within{--tw-ring-offset-color:#be185d}.xl\:focus-within\:ring-offset-pink-800:focus-within{--tw-ring-offset-color:#9d174d}.xl\:focus-within\:ring-offset-pink-900:focus-within{--tw-ring-offset-color:#831843}.xl\:focus\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.xl\:focus\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.xl\:focus\:ring-offset-black:focus{--tw-ring-offset-color:#000}.xl\:focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.xl\:focus\:ring-offset-gray-50:focus{--tw-ring-offset-color:#f9fafb}.xl\:focus\:ring-offset-gray-100:focus{--tw-ring-offset-color:#f3f4f6}.xl\:focus\:ring-offset-gray-200:focus{--tw-ring-offset-color:#e5e7eb}.xl\:focus\:ring-offset-gray-300:focus{--tw-ring-offset-color:#d1d5db}.xl\:focus\:ring-offset-gray-400:focus{--tw-ring-offset-color:#9ca3af}.xl\:focus\:ring-offset-gray-500:focus{--tw-ring-offset-color:#6b7280}.xl\:focus\:ring-offset-gray-600:focus{--tw-ring-offset-color:#4b5563}.xl\:focus\:ring-offset-gray-700:focus{--tw-ring-offset-color:#374151}.xl\:focus\:ring-offset-gray-800:focus{--tw-ring-offset-color:#1f2937}.xl\:focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:#111827}.xl\:focus\:ring-offset-red-50:focus{--tw-ring-offset-color:#fef2f2}.xl\:focus\:ring-offset-red-100:focus{--tw-ring-offset-color:#fee2e2}.xl\:focus\:ring-offset-red-200:focus{--tw-ring-offset-color:#fecaca}.xl\:focus\:ring-offset-red-300:focus{--tw-ring-offset-color:#fca5a5}.xl\:focus\:ring-offset-red-400:focus{--tw-ring-offset-color:#f87171}.xl\:focus\:ring-offset-red-500:focus{--tw-ring-offset-color:#ef4444}.xl\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.xl\:focus\:ring-offset-red-700:focus{--tw-ring-offset-color:#b91c1c}.xl\:focus\:ring-offset-red-800:focus{--tw-ring-offset-color:#991b1b}.xl\:focus\:ring-offset-red-900:focus{--tw-ring-offset-color:#7f1d1d}.xl\:focus\:ring-offset-yellow-50:focus{--tw-ring-offset-color:#fffbeb}.xl\:focus\:ring-offset-yellow-100:focus{--tw-ring-offset-color:#fef3c7}.xl\:focus\:ring-offset-yellow-200:focus{--tw-ring-offset-color:#fde68a}.xl\:focus\:ring-offset-yellow-300:focus{--tw-ring-offset-color:#fcd34d}.xl\:focus\:ring-offset-yellow-400:focus{--tw-ring-offset-color:#fbbf24}.xl\:focus\:ring-offset-yellow-500:focus{--tw-ring-offset-color:#f59e0b}.xl\:focus\:ring-offset-yellow-600:focus{--tw-ring-offset-color:#d97706}.xl\:focus\:ring-offset-yellow-700:focus{--tw-ring-offset-color:#b45309}.xl\:focus\:ring-offset-yellow-800:focus{--tw-ring-offset-color:#92400e}.xl\:focus\:ring-offset-yellow-900:focus{--tw-ring-offset-color:#78350f}.xl\:focus\:ring-offset-green-50:focus{--tw-ring-offset-color:#ecfdf5}.xl\:focus\:ring-offset-green-100:focus{--tw-ring-offset-color:#d1fae5}.xl\:focus\:ring-offset-green-200:focus{--tw-ring-offset-color:#a7f3d0}.xl\:focus\:ring-offset-green-300:focus{--tw-ring-offset-color:#6ee7b7}.xl\:focus\:ring-offset-green-400:focus{--tw-ring-offset-color:#34d399}.xl\:focus\:ring-offset-green-500:focus{--tw-ring-offset-color:#10b981}.xl\:focus\:ring-offset-green-600:focus{--tw-ring-offset-color:#059669}.xl\:focus\:ring-offset-green-700:focus{--tw-ring-offset-color:#047857}.xl\:focus\:ring-offset-green-800:focus{--tw-ring-offset-color:#065f46}.xl\:focus\:ring-offset-green-900:focus{--tw-ring-offset-color:#064e3b}.xl\:focus\:ring-offset-blue-50:focus{--tw-ring-offset-color:#eff6ff}.xl\:focus\:ring-offset-blue-100:focus{--tw-ring-offset-color:#dbeafe}.xl\:focus\:ring-offset-blue-200:focus{--tw-ring-offset-color:#bfdbfe}.xl\:focus\:ring-offset-blue-300:focus{--tw-ring-offset-color:#93c5fd}.xl\:focus\:ring-offset-blue-400:focus{--tw-ring-offset-color:#60a5fa}.xl\:focus\:ring-offset-blue-500:focus{--tw-ring-offset-color:#3b82f6}.xl\:focus\:ring-offset-blue-600:focus{--tw-ring-offset-color:#2563eb}.xl\:focus\:ring-offset-blue-700:focus{--tw-ring-offset-color:#1d4ed8}.xl\:focus\:ring-offset-blue-800:focus{--tw-ring-offset-color:#1e40af}.xl\:focus\:ring-offset-blue-900:focus{--tw-ring-offset-color:#1e3a8a}.xl\:focus\:ring-offset-indigo-50:focus{--tw-ring-offset-color:#eef2ff}.xl\:focus\:ring-offset-indigo-100:focus{--tw-ring-offset-color:#e0e7ff}.xl\:focus\:ring-offset-indigo-200:focus{--tw-ring-offset-color:#c7d2fe}.xl\:focus\:ring-offset-indigo-300:focus{--tw-ring-offset-color:#a5b4fc}.xl\:focus\:ring-offset-indigo-400:focus{--tw-ring-offset-color:#818cf8}.xl\:focus\:ring-offset-indigo-500:focus{--tw-ring-offset-color:#6366f1}.xl\:focus\:ring-offset-indigo-600:focus{--tw-ring-offset-color:#4f46e5}.xl\:focus\:ring-offset-indigo-700:focus{--tw-ring-offset-color:#4338ca}.xl\:focus\:ring-offset-indigo-800:focus{--tw-ring-offset-color:#3730a3}.xl\:focus\:ring-offset-indigo-900:focus{--tw-ring-offset-color:#312e81}.xl\:focus\:ring-offset-purple-50:focus{--tw-ring-offset-color:#f5f3ff}.xl\:focus\:ring-offset-purple-100:focus{--tw-ring-offset-color:#ede9fe}.xl\:focus\:ring-offset-purple-200:focus{--tw-ring-offset-color:#ddd6fe}.xl\:focus\:ring-offset-purple-300:focus{--tw-ring-offset-color:#c4b5fd}.xl\:focus\:ring-offset-purple-400:focus{--tw-ring-offset-color:#a78bfa}.xl\:focus\:ring-offset-purple-500:focus{--tw-ring-offset-color:#8b5cf6}.xl\:focus\:ring-offset-purple-600:focus{--tw-ring-offset-color:#7c3aed}.xl\:focus\:ring-offset-purple-700:focus{--tw-ring-offset-color:#6d28d9}.xl\:focus\:ring-offset-purple-800:focus{--tw-ring-offset-color:#5b21b6}.xl\:focus\:ring-offset-purple-900:focus{--tw-ring-offset-color:#4c1d95}.xl\:focus\:ring-offset-pink-50:focus{--tw-ring-offset-color:#fdf2f8}.xl\:focus\:ring-offset-pink-100:focus{--tw-ring-offset-color:#fce7f3}.xl\:focus\:ring-offset-pink-200:focus{--tw-ring-offset-color:#fbcfe8}.xl\:focus\:ring-offset-pink-300:focus{--tw-ring-offset-color:#f9a8d4}.xl\:focus\:ring-offset-pink-400:focus{--tw-ring-offset-color:#f472b6}.xl\:focus\:ring-offset-pink-500:focus{--tw-ring-offset-color:#ec4899}.xl\:focus\:ring-offset-pink-600:focus{--tw-ring-offset-color:#db2777}.xl\:focus\:ring-offset-pink-700:focus{--tw-ring-offset-color:#be185d}.xl\:focus\:ring-offset-pink-800:focus{--tw-ring-offset-color:#9d174d}.xl\:focus\:ring-offset-pink-900:focus{--tw-ring-offset-color:#831843}.xl\:filter{--tw-blur:var(--tw-empty, );/*!*//*!*/--tw-brightness:var(--tw-empty, );/*!*//*!*/--tw-contrast:var(--tw-empty, );/*!*//*!*/--tw-grayscale:var(--tw-empty, );/*!*//*!*/--tw-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-invert:var(--tw-empty, );/*!*//*!*/--tw-saturate:var(--tw-empty, );/*!*//*!*/--tw-sepia:var(--tw-empty, );/*!*//*!*/--tw-drop-shadow:var(--tw-empty, );/*!*//*!*/filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.xl\:filter-none{filter:none}.xl\:blur-0{--tw-blur:blur(0)}.xl\:blur-none{--tw-blur:blur(0)}.xl\:blur-sm{--tw-blur:blur(4px)}.xl\:blur{--tw-blur:blur(8px)}.xl\:blur-md{--tw-blur:blur(12px)}.xl\:blur-lg{--tw-blur:blur(16px)}.xl\:blur-xl{--tw-blur:blur(24px)}.xl\:blur-2xl{--tw-blur:blur(40px)}.xl\:blur-3xl{--tw-blur:blur(64px)}.xl\:brightness-0{--tw-brightness:brightness(0)}.xl\:brightness-50{--tw-brightness:brightness(.5)}.xl\:brightness-75{--tw-brightness:brightness(.75)}.xl\:brightness-90{--tw-brightness:brightness(.9)}.xl\:brightness-95{--tw-brightness:brightness(.95)}.xl\:brightness-100{--tw-brightness:brightness(1)}.xl\:brightness-105{--tw-brightness:brightness(1.05)}.xl\:brightness-110{--tw-brightness:brightness(1.1)}.xl\:brightness-125{--tw-brightness:brightness(1.25)}.xl\:brightness-150{--tw-brightness:brightness(1.5)}.xl\:brightness-200{--tw-brightness:brightness(2)}.xl\:contrast-0{--tw-contrast:contrast(0)}.xl\:contrast-50{--tw-contrast:contrast(.5)}.xl\:contrast-75{--tw-contrast:contrast(.75)}.xl\:contrast-100{--tw-contrast:contrast(1)}.xl\:contrast-125{--tw-contrast:contrast(1.25)}.xl\:contrast-150{--tw-contrast:contrast(1.5)}.xl\:contrast-200{--tw-contrast:contrast(2)}.xl\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.xl\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.xl\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.xl\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.xl\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.xl\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.xl\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.xl\:grayscale-0{--tw-grayscale:grayscale(0)}.xl\:grayscale{--tw-grayscale:grayscale(100%)}.xl\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.xl\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.xl\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.xl\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.xl\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.xl\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.xl\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.xl\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.xl\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.xl\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.xl\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.xl\:invert-0{--tw-invert:invert(0)}.xl\:invert{--tw-invert:invert(100%)}.xl\:saturate-0{--tw-saturate:saturate(0)}.xl\:saturate-50{--tw-saturate:saturate(.5)}.xl\:saturate-100{--tw-saturate:saturate(1)}.xl\:saturate-150{--tw-saturate:saturate(1.5)}.xl\:saturate-200{--tw-saturate:saturate(2)}.xl\:sepia-0{--tw-sepia:sepia(0)}.xl\:sepia{--tw-sepia:sepia(100%)}.xl\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty, );/*!*//*!*/--tw-backdrop-brightness:var(--tw-empty, );/*!*//*!*/--tw-backdrop-contrast:var(--tw-empty, );/*!*//*!*/--tw-backdrop-grayscale:var(--tw-empty, );/*!*//*!*/--tw-backdrop-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-invert:var(--tw-empty, );/*!*//*!*/--tw-backdrop-opacity:var(--tw-empty, );/*!*//*!*/--tw-backdrop-saturate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-sepia:var(--tw-empty, );/*!*//*!*/-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.xl\:backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.xl\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.xl\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.xl\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.xl\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.xl\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.xl\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.xl\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.xl\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.xl\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.xl\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.xl\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.xl\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.xl\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.xl\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.xl\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.xl\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.xl\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.xl\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.xl\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.xl\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.xl\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.xl\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.xl\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.xl\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.xl\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.xl\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.xl\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.xl\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.xl\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.xl\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.xl\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.xl\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.xl\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.xl\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.xl\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.xl\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.xl\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.xl\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.xl\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.xl\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.xl\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.xl\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.xl\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.xl\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.xl\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.xl\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.xl\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.xl\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.xl\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.xl\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.xl\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.xl\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.xl\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.xl\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.xl\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.xl\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.xl\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.xl\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.xl\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.xl\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.xl\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.xl\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.xl\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.xl\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.xl\:transition-none{transition-property:none}.xl\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.xl\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.xl\:transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.xl\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.xl\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.xl\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.xl\:delay-75{transition-delay:75ms}.xl\:delay-100{transition-delay:0.1s}.xl\:delay-150{transition-delay:150ms}.xl\:delay-200{transition-delay:0.2s}.xl\:delay-300{transition-delay:0.3s}.xl\:delay-500{transition-delay:0.5s}.xl\:delay-700{transition-delay:0.7s}.xl\:delay-1000{transition-delay:1s}.xl\:duration-75{transition-duration:75ms}.xl\:duration-100{transition-duration:.1s}.xl\:duration-150{transition-duration:150ms}.xl\:duration-200{transition-duration:.2s}.xl\:duration-300{transition-duration:.3s}.xl\:duration-500{transition-duration:.5s}.xl\:duration-700{transition-duration:.7s}.xl\:duration-1000{transition-duration:1s}.xl\:ease-linear{transition-timing-function:linear}.xl\:ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.xl\:ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.xl\:ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}}@media (min-width:1536px){.\32xl\:container{width:100%}@media (min-width:640px){.\32xl\:container{max-width:640px}}@media (min-width:768px){.\32xl\:container{max-width:768px}}@media (min-width:1024px){.\32xl\:container{max-width:1024px}}@media (min-width:1280px){.\32xl\:container{max-width:1280px}}@media (min-width:1536px){.\32xl\:container{max-width:1536px}}.\32xl\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\32xl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\32xl\:focus-within\:sr-only:focus-within{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\32xl\:focus-within\:not-sr-only:focus-within{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\32xl\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\32xl\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.\32xl\:pointer-events-none{pointer-events:none}.\32xl\:pointer-events-auto{pointer-events:auto}.\32xl\:visible{visibility:visible}.\32xl\:invisible{visibility:hidden}.\32xl\:static{position:static}.\32xl\:fixed{position:fixed}.\32xl\:absolute{position:absolute}.\32xl\:relative{position:relative}.\32xl\:sticky{position:sticky}.\32xl\:inset-0{top:0;right:0;bottom:0;left:0}.\32xl\:inset-1{top:.25rem;right:.25rem;bottom:.25rem;left:.25rem}.\32xl\:inset-2{top:.5rem;right:.5rem;bottom:.5rem;left:.5rem}.\32xl\:inset-3{top:.75rem;right:.75rem;bottom:.75rem;left:.75rem}.\32xl\:inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.\32xl\:inset-5{top:1.25rem;right:1.25rem;bottom:1.25rem;left:1.25rem}.\32xl\:inset-6{top:1.5rem;right:1.5rem;bottom:1.5rem;left:1.5rem}.\32xl\:inset-7{top:1.75rem;right:1.75rem;bottom:1.75rem;left:1.75rem}.\32xl\:inset-8{top:2rem;right:2rem;bottom:2rem;left:2rem}.\32xl\:inset-9{top:2.25rem;right:2.25rem;bottom:2.25rem;left:2.25rem}.\32xl\:inset-10{top:2.5rem;right:2.5rem;bottom:2.5rem;left:2.5rem}.\32xl\:inset-11{top:2.75rem;right:2.75rem;bottom:2.75rem;left:2.75rem}.\32xl\:inset-12{top:3rem;right:3rem;bottom:3rem;left:3rem}.\32xl\:inset-14{top:3.5rem;right:3.5rem;bottom:3.5rem;left:3.5rem}.\32xl\:inset-16{top:4rem;right:4rem;bottom:4rem;left:4rem}.\32xl\:inset-20{top:5rem;right:5rem;bottom:5rem;left:5rem}.\32xl\:inset-24{top:6rem;right:6rem;bottom:6rem;left:6rem}.\32xl\:inset-28{top:7rem;right:7rem;bottom:7rem;left:7rem}.\32xl\:inset-32{top:8rem;right:8rem;bottom:8rem;left:8rem}.\32xl\:inset-36{top:9rem;right:9rem;bottom:9rem;left:9rem}.\32xl\:inset-40{top:10rem;right:10rem;bottom:10rem;left:10rem}.\32xl\:inset-44{top:11rem;right:11rem;bottom:11rem;left:11rem}.\32xl\:inset-48{top:12rem;right:12rem;bottom:12rem;left:12rem}.\32xl\:inset-52{top:13rem;right:13rem;bottom:13rem;left:13rem}.\32xl\:inset-56{top:14rem;right:14rem;bottom:14rem;left:14rem}.\32xl\:inset-60{top:15rem;right:15rem;bottom:15rem;left:15rem}.\32xl\:inset-64{top:16rem;right:16rem;bottom:16rem;left:16rem}.\32xl\:inset-72{top:18rem;right:18rem;bottom:18rem;left:18rem}.\32xl\:inset-80{top:20rem;right:20rem;bottom:20rem;left:20rem}.\32xl\:inset-96{top:24rem;right:24rem;bottom:24rem;left:24rem}.\32xl\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.\32xl\:inset-px{top:1px;right:1px;bottom:1px;left:1px}.\32xl\:inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.\32xl\:inset-1\.5{top:.375rem;right:.375rem;bottom:.375rem;left:.375rem}.\32xl\:inset-2\.5{top:.625rem;right:.625rem;bottom:.625rem;left:.625rem}.\32xl\:inset-3\.5{top:.875rem;right:.875rem;bottom:.875rem;left:.875rem}.\32xl\:-inset-0{top:0;right:0;bottom:0;left:0}.\32xl\:-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.\32xl\:-inset-2{top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.\32xl\:-inset-3{top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem}.\32xl\:-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}.\32xl\:-inset-5{top:-1.25rem;right:-1.25rem;bottom:-1.25rem;left:-1.25rem}.\32xl\:-inset-6{top:-1.5rem;right:-1.5rem;bottom:-1.5rem;left:-1.5rem}.\32xl\:-inset-7{top:-1.75rem;right:-1.75rem;bottom:-1.75rem;left:-1.75rem}.\32xl\:-inset-8{top:-2rem;right:-2rem;bottom:-2rem;left:-2rem}.\32xl\:-inset-9{top:-2.25rem;right:-2.25rem;bottom:-2.25rem;left:-2.25rem}.\32xl\:-inset-10{top:-2.5rem;right:-2.5rem;bottom:-2.5rem;left:-2.5rem}.\32xl\:-inset-11{top:-2.75rem;right:-2.75rem;bottom:-2.75rem;left:-2.75rem}.\32xl\:-inset-12{top:-3rem;right:-3rem;bottom:-3rem;left:-3rem}.\32xl\:-inset-14{top:-3.5rem;right:-3.5rem;bottom:-3.5rem;left:-3.5rem}.\32xl\:-inset-16{top:-4rem;right:-4rem;bottom:-4rem;left:-4rem}.\32xl\:-inset-20{top:-5rem;right:-5rem;bottom:-5rem;left:-5rem}.\32xl\:-inset-24{top:-6rem;right:-6rem;bottom:-6rem;left:-6rem}.\32xl\:-inset-28{top:-7rem;right:-7rem;bottom:-7rem;left:-7rem}.\32xl\:-inset-32{top:-8rem;right:-8rem;bottom:-8rem;left:-8rem}.\32xl\:-inset-36{top:-9rem;right:-9rem;bottom:-9rem;left:-9rem}.\32xl\:-inset-40{top:-10rem;right:-10rem;bottom:-10rem;left:-10rem}.\32xl\:-inset-44{top:-11rem;right:-11rem;bottom:-11rem;left:-11rem}.\32xl\:-inset-48{top:-12rem;right:-12rem;bottom:-12rem;left:-12rem}.\32xl\:-inset-52{top:-13rem;right:-13rem;bottom:-13rem;left:-13rem}.\32xl\:-inset-56{top:-14rem;right:-14rem;bottom:-14rem;left:-14rem}.\32xl\:-inset-60{top:-15rem;right:-15rem;bottom:-15rem;left:-15rem}.\32xl\:-inset-64{top:-16rem;right:-16rem;bottom:-16rem;left:-16rem}.\32xl\:-inset-72{top:-18rem;right:-18rem;bottom:-18rem;left:-18rem}.\32xl\:-inset-80{top:-20rem;right:-20rem;bottom:-20rem;left:-20rem}.\32xl\:-inset-96{top:-24rem;right:-24rem;bottom:-24rem;left:-24rem}.\32xl\:-inset-px{top:-1px;right:-1px;bottom:-1px;left:-1px}.\32xl\:-inset-0\.5{top:-.125rem;right:-.125rem;bottom:-.125rem;left:-.125rem}.\32xl\:-inset-1\.5{top:-.375rem;right:-.375rem;bottom:-.375rem;left:-.375rem}.\32xl\:-inset-2\.5{top:-.625rem;right:-.625rem;bottom:-.625rem;left:-.625rem}.\32xl\:-inset-3\.5{top:-.875rem;right:-.875rem;bottom:-.875rem;left:-.875rem}.\32xl\:inset-1\/2{top:50%;right:50%;bottom:50%;left:50%}.\32xl\:inset-1\/3{top:33.333333%;right:33.333333%;bottom:33.333333%;left:33.333333%}.\32xl\:inset-2\/3{top:66.666667%;right:66.666667%;bottom:66.666667%;left:66.666667%}.\32xl\:inset-1\/4{top:25%;right:25%;bottom:25%;left:25%}.\32xl\:inset-2\/4{top:50%;right:50%;bottom:50%;left:50%}.\32xl\:inset-3\/4{top:75%;right:75%;bottom:75%;left:75%}.\32xl\:inset-full{top:100%;right:100%;bottom:100%;left:100%}.\32xl\:-inset-1\/2{top:-50%;right:-50%;bottom:-50%;left:-50%}.\32xl\:-inset-1\/3{top:-33.333333%;right:-33.333333%;bottom:-33.333333%;left:-33.333333%}.\32xl\:-inset-2\/3{top:-66.666667%;right:-66.666667%;bottom:-66.666667%;left:-66.666667%}.\32xl\:-inset-1\/4{top:-25%;right:-25%;bottom:-25%;left:-25%}.\32xl\:-inset-2\/4{top:-50%;right:-50%;bottom:-50%;left:-50%}.\32xl\:-inset-3\/4{top:-75%;right:-75%;bottom:-75%;left:-75%}.\32xl\:-inset-full{top:-100%;right:-100%;bottom:-100%;left:-100%}.\32xl\:inset-x-0{left:0;right:0}.\32xl\:inset-x-1{left:.25rem;right:.25rem}.\32xl\:inset-x-2{left:.5rem;right:.5rem}.\32xl\:inset-x-3{left:.75rem;right:.75rem}.\32xl\:inset-x-4{left:1rem;right:1rem}.\32xl\:inset-x-5{left:1.25rem;right:1.25rem}.\32xl\:inset-x-6{left:1.5rem;right:1.5rem}.\32xl\:inset-x-7{left:1.75rem;right:1.75rem}.\32xl\:inset-x-8{left:2rem;right:2rem}.\32xl\:inset-x-9{left:2.25rem;right:2.25rem}.\32xl\:inset-x-10{left:2.5rem;right:2.5rem}.\32xl\:inset-x-11{left:2.75rem;right:2.75rem}.\32xl\:inset-x-12{left:3rem;right:3rem}.\32xl\:inset-x-14{left:3.5rem;right:3.5rem}.\32xl\:inset-x-16{left:4rem;right:4rem}.\32xl\:inset-x-20{left:5rem;right:5rem}.\32xl\:inset-x-24{left:6rem;right:6rem}.\32xl\:inset-x-28{left:7rem;right:7rem}.\32xl\:inset-x-32{left:8rem;right:8rem}.\32xl\:inset-x-36{left:9rem;right:9rem}.\32xl\:inset-x-40{left:10rem;right:10rem}.\32xl\:inset-x-44{left:11rem;right:11rem}.\32xl\:inset-x-48{left:12rem;right:12rem}.\32xl\:inset-x-52{left:13rem;right:13rem}.\32xl\:inset-x-56{left:14rem;right:14rem}.\32xl\:inset-x-60{left:15rem;right:15rem}.\32xl\:inset-x-64{left:16rem;right:16rem}.\32xl\:inset-x-72{left:18rem;right:18rem}.\32xl\:inset-x-80{left:20rem;right:20rem}.\32xl\:inset-x-96{left:24rem;right:24rem}.\32xl\:inset-x-auto{left:auto;right:auto}.\32xl\:inset-x-px{left:1px;right:1px}.\32xl\:inset-x-0\.5{left:.125rem;right:.125rem}.\32xl\:inset-x-1\.5{left:.375rem;right:.375rem}.\32xl\:inset-x-2\.5{left:.625rem;right:.625rem}.\32xl\:inset-x-3\.5{left:.875rem;right:.875rem}.\32xl\:-inset-x-0{left:0;right:0}.\32xl\:-inset-x-1{left:-.25rem;right:-.25rem}.\32xl\:-inset-x-2{left:-.5rem;right:-.5rem}.\32xl\:-inset-x-3{left:-.75rem;right:-.75rem}.\32xl\:-inset-x-4{left:-1rem;right:-1rem}.\32xl\:-inset-x-5{left:-1.25rem;right:-1.25rem}.\32xl\:-inset-x-6{left:-1.5rem;right:-1.5rem}.\32xl\:-inset-x-7{left:-1.75rem;right:-1.75rem}.\32xl\:-inset-x-8{left:-2rem;right:-2rem}.\32xl\:-inset-x-9{left:-2.25rem;right:-2.25rem}.\32xl\:-inset-x-10{left:-2.5rem;right:-2.5rem}.\32xl\:-inset-x-11{left:-2.75rem;right:-2.75rem}.\32xl\:-inset-x-12{left:-3rem;right:-3rem}.\32xl\:-inset-x-14{left:-3.5rem;right:-3.5rem}.\32xl\:-inset-x-16{left:-4rem;right:-4rem}.\32xl\:-inset-x-20{left:-5rem;right:-5rem}.\32xl\:-inset-x-24{left:-6rem;right:-6rem}.\32xl\:-inset-x-28{left:-7rem;right:-7rem}.\32xl\:-inset-x-32{left:-8rem;right:-8rem}.\32xl\:-inset-x-36{left:-9rem;right:-9rem}.\32xl\:-inset-x-40{left:-10rem;right:-10rem}.\32xl\:-inset-x-44{left:-11rem;right:-11rem}.\32xl\:-inset-x-48{left:-12rem;right:-12rem}.\32xl\:-inset-x-52{left:-13rem;right:-13rem}.\32xl\:-inset-x-56{left:-14rem;right:-14rem}.\32xl\:-inset-x-60{left:-15rem;right:-15rem}.\32xl\:-inset-x-64{left:-16rem;right:-16rem}.\32xl\:-inset-x-72{left:-18rem;right:-18rem}.\32xl\:-inset-x-80{left:-20rem;right:-20rem}.\32xl\:-inset-x-96{left:-24rem;right:-24rem}.\32xl\:-inset-x-px{left:-1px;right:-1px}.\32xl\:-inset-x-0\.5{left:-.125rem;right:-.125rem}.\32xl\:-inset-x-1\.5{left:-.375rem;right:-.375rem}.\32xl\:-inset-x-2\.5{left:-.625rem;right:-.625rem}.\32xl\:-inset-x-3\.5{left:-.875rem;right:-.875rem}.\32xl\:inset-x-1\/2{left:50%;right:50%}.\32xl\:inset-x-1\/3{left:33.333333%;right:33.333333%}.\32xl\:inset-x-2\/3{left:66.666667%;right:66.666667%}.\32xl\:inset-x-1\/4{left:25%;right:25%}.\32xl\:inset-x-2\/4{left:50%;right:50%}.\32xl\:inset-x-3\/4{left:75%;right:75%}.\32xl\:inset-x-full{left:100%;right:100%}.\32xl\:-inset-x-1\/2{left:-50%;right:-50%}.\32xl\:-inset-x-1\/3{left:-33.333333%;right:-33.333333%}.\32xl\:-inset-x-2\/3{left:-66.666667%;right:-66.666667%}.\32xl\:-inset-x-1\/4{left:-25%;right:-25%}.\32xl\:-inset-x-2\/4{left:-50%;right:-50%}.\32xl\:-inset-x-3\/4{left:-75%;right:-75%}.\32xl\:-inset-x-full{left:-100%;right:-100%}.\32xl\:inset-y-0{top:0;bottom:0}.\32xl\:inset-y-1{top:.25rem;bottom:.25rem}.\32xl\:inset-y-2{top:.5rem;bottom:.5rem}.\32xl\:inset-y-3{top:.75rem;bottom:.75rem}.\32xl\:inset-y-4{top:1rem;bottom:1rem}.\32xl\:inset-y-5{top:1.25rem;bottom:1.25rem}.\32xl\:inset-y-6{top:1.5rem;bottom:1.5rem}.\32xl\:inset-y-7{top:1.75rem;bottom:1.75rem}.\32xl\:inset-y-8{top:2rem;bottom:2rem}.\32xl\:inset-y-9{top:2.25rem;bottom:2.25rem}.\32xl\:inset-y-10{top:2.5rem;bottom:2.5rem}.\32xl\:inset-y-11{top:2.75rem;bottom:2.75rem}.\32xl\:inset-y-12{top:3rem;bottom:3rem}.\32xl\:inset-y-14{top:3.5rem;bottom:3.5rem}.\32xl\:inset-y-16{top:4rem;bottom:4rem}.\32xl\:inset-y-20{top:5rem;bottom:5rem}.\32xl\:inset-y-24{top:6rem;bottom:6rem}.\32xl\:inset-y-28{top:7rem;bottom:7rem}.\32xl\:inset-y-32{top:8rem;bottom:8rem}.\32xl\:inset-y-36{top:9rem;bottom:9rem}.\32xl\:inset-y-40{top:10rem;bottom:10rem}.\32xl\:inset-y-44{top:11rem;bottom:11rem}.\32xl\:inset-y-48{top:12rem;bottom:12rem}.\32xl\:inset-y-52{top:13rem;bottom:13rem}.\32xl\:inset-y-56{top:14rem;bottom:14rem}.\32xl\:inset-y-60{top:15rem;bottom:15rem}.\32xl\:inset-y-64{top:16rem;bottom:16rem}.\32xl\:inset-y-72{top:18rem;bottom:18rem}.\32xl\:inset-y-80{top:20rem;bottom:20rem}.\32xl\:inset-y-96{top:24rem;bottom:24rem}.\32xl\:inset-y-auto{top:auto;bottom:auto}.\32xl\:inset-y-px{top:1px;bottom:1px}.\32xl\:inset-y-0\.5{top:.125rem;bottom:.125rem}.\32xl\:inset-y-1\.5{top:.375rem;bottom:.375rem}.\32xl\:inset-y-2\.5{top:.625rem;bottom:.625rem}.\32xl\:inset-y-3\.5{top:.875rem;bottom:.875rem}.\32xl\:-inset-y-0{top:0;bottom:0}.\32xl\:-inset-y-1{top:-.25rem;bottom:-.25rem}.\32xl\:-inset-y-2{top:-.5rem;bottom:-.5rem}.\32xl\:-inset-y-3{top:-.75rem;bottom:-.75rem}.\32xl\:-inset-y-4{top:-1rem;bottom:-1rem}.\32xl\:-inset-y-5{top:-1.25rem;bottom:-1.25rem}.\32xl\:-inset-y-6{top:-1.5rem;bottom:-1.5rem}.\32xl\:-inset-y-7{top:-1.75rem;bottom:-1.75rem}.\32xl\:-inset-y-8{top:-2rem;bottom:-2rem}.\32xl\:-inset-y-9{top:-2.25rem;bottom:-2.25rem}.\32xl\:-inset-y-10{top:-2.5rem;bottom:-2.5rem}.\32xl\:-inset-y-11{top:-2.75rem;bottom:-2.75rem}.\32xl\:-inset-y-12{top:-3rem;bottom:-3rem}.\32xl\:-inset-y-14{top:-3.5rem;bottom:-3.5rem}.\32xl\:-inset-y-16{top:-4rem;bottom:-4rem}.\32xl\:-inset-y-20{top:-5rem;bottom:-5rem}.\32xl\:-inset-y-24{top:-6rem;bottom:-6rem}.\32xl\:-inset-y-28{top:-7rem;bottom:-7rem}.\32xl\:-inset-y-32{top:-8rem;bottom:-8rem}.\32xl\:-inset-y-36{top:-9rem;bottom:-9rem}.\32xl\:-inset-y-40{top:-10rem;bottom:-10rem}.\32xl\:-inset-y-44{top:-11rem;bottom:-11rem}.\32xl\:-inset-y-48{top:-12rem;bottom:-12rem}.\32xl\:-inset-y-52{top:-13rem;bottom:-13rem}.\32xl\:-inset-y-56{top:-14rem;bottom:-14rem}.\32xl\:-inset-y-60{top:-15rem;bottom:-15rem}.\32xl\:-inset-y-64{top:-16rem;bottom:-16rem}.\32xl\:-inset-y-72{top:-18rem;bottom:-18rem}.\32xl\:-inset-y-80{top:-20rem;bottom:-20rem}.\32xl\:-inset-y-96{top:-24rem;bottom:-24rem}.\32xl\:-inset-y-px{top:-1px;bottom:-1px}.\32xl\:-inset-y-0\.5{top:-.125rem;bottom:-.125rem}.\32xl\:-inset-y-1\.5{top:-.375rem;bottom:-.375rem}.\32xl\:-inset-y-2\.5{top:-.625rem;bottom:-.625rem}.\32xl\:-inset-y-3\.5{top:-.875rem;bottom:-.875rem}.\32xl\:inset-y-1\/2{top:50%;bottom:50%}.\32xl\:inset-y-1\/3{top:33.333333%;bottom:33.333333%}.\32xl\:inset-y-2\/3{top:66.666667%;bottom:66.666667%}.\32xl\:inset-y-1\/4{top:25%;bottom:25%}.\32xl\:inset-y-2\/4{top:50%;bottom:50%}.\32xl\:inset-y-3\/4{top:75%;bottom:75%}.\32xl\:inset-y-full{top:100%;bottom:100%}.\32xl\:-inset-y-1\/2{top:-50%;bottom:-50%}.\32xl\:-inset-y-1\/3{top:-33.333333%;bottom:-33.333333%}.\32xl\:-inset-y-2\/3{top:-66.666667%;bottom:-66.666667%}.\32xl\:-inset-y-1\/4{top:-25%;bottom:-25%}.\32xl\:-inset-y-2\/4{top:-50%;bottom:-50%}.\32xl\:-inset-y-3\/4{top:-75%;bottom:-75%}.\32xl\:-inset-y-full{top:-100%;bottom:-100%}.\32xl\:top-0{top:0}.\32xl\:top-1{top:.25rem}.\32xl\:top-2{top:.5rem}.\32xl\:top-3{top:.75rem}.\32xl\:top-4{top:1rem}.\32xl\:top-5{top:1.25rem}.\32xl\:top-6{top:1.5rem}.\32xl\:top-7{top:1.75rem}.\32xl\:top-8{top:2rem}.\32xl\:top-9{top:2.25rem}.\32xl\:top-10{top:2.5rem}.\32xl\:top-11{top:2.75rem}.\32xl\:top-12{top:3rem}.\32xl\:top-14{top:3.5rem}.\32xl\:top-16{top:4rem}.\32xl\:top-20{top:5rem}.\32xl\:top-24{top:6rem}.\32xl\:top-28{top:7rem}.\32xl\:top-32{top:8rem}.\32xl\:top-36{top:9rem}.\32xl\:top-40{top:10rem}.\32xl\:top-44{top:11rem}.\32xl\:top-48{top:12rem}.\32xl\:top-52{top:13rem}.\32xl\:top-56{top:14rem}.\32xl\:top-60{top:15rem}.\32xl\:top-64{top:16rem}.\32xl\:top-72{top:18rem}.\32xl\:top-80{top:20rem}.\32xl\:top-96{top:24rem}.\32xl\:top-auto{top:auto}.\32xl\:top-px{top:1px}.\32xl\:top-0\.5{top:.125rem}.\32xl\:top-1\.5{top:.375rem}.\32xl\:top-2\.5{top:.625rem}.\32xl\:top-3\.5{top:.875rem}.\32xl\:-top-0{top:0}.\32xl\:-top-1{top:-.25rem}.\32xl\:-top-2{top:-.5rem}.\32xl\:-top-3{top:-.75rem}.\32xl\:-top-4{top:-1rem}.\32xl\:-top-5{top:-1.25rem}.\32xl\:-top-6{top:-1.5rem}.\32xl\:-top-7{top:-1.75rem}.\32xl\:-top-8{top:-2rem}.\32xl\:-top-9{top:-2.25rem}.\32xl\:-top-10{top:-2.5rem}.\32xl\:-top-11{top:-2.75rem}.\32xl\:-top-12{top:-3rem}.\32xl\:-top-14{top:-3.5rem}.\32xl\:-top-16{top:-4rem}.\32xl\:-top-20{top:-5rem}.\32xl\:-top-24{top:-6rem}.\32xl\:-top-28{top:-7rem}.\32xl\:-top-32{top:-8rem}.\32xl\:-top-36{top:-9rem}.\32xl\:-top-40{top:-10rem}.\32xl\:-top-44{top:-11rem}.\32xl\:-top-48{top:-12rem}.\32xl\:-top-52{top:-13rem}.\32xl\:-top-56{top:-14rem}.\32xl\:-top-60{top:-15rem}.\32xl\:-top-64{top:-16rem}.\32xl\:-top-72{top:-18rem}.\32xl\:-top-80{top:-20rem}.\32xl\:-top-96{top:-24rem}.\32xl\:-top-px{top:-1px}.\32xl\:-top-0\.5{top:-.125rem}.\32xl\:-top-1\.5{top:-.375rem}.\32xl\:-top-2\.5{top:-.625rem}.\32xl\:-top-3\.5{top:-.875rem}.\32xl\:top-1\/2{top:50%}.\32xl\:top-1\/3{top:33.333333%}.\32xl\:top-2\/3{top:66.666667%}.\32xl\:top-1\/4{top:25%}.\32xl\:top-2\/4{top:50%}.\32xl\:top-3\/4{top:75%}.\32xl\:top-full{top:100%}.\32xl\:-top-1\/2{top:-50%}.\32xl\:-top-1\/3{top:-33.333333%}.\32xl\:-top-2\/3{top:-66.666667%}.\32xl\:-top-1\/4{top:-25%}.\32xl\:-top-2\/4{top:-50%}.\32xl\:-top-3\/4{top:-75%}.\32xl\:-top-full{top:-100%}.\32xl\:right-0{right:0}.\32xl\:right-1{right:.25rem}.\32xl\:right-2{right:.5rem}.\32xl\:right-3{right:.75rem}.\32xl\:right-4{right:1rem}.\32xl\:right-5{right:1.25rem}.\32xl\:right-6{right:1.5rem}.\32xl\:right-7{right:1.75rem}.\32xl\:right-8{right:2rem}.\32xl\:right-9{right:2.25rem}.\32xl\:right-10{right:2.5rem}.\32xl\:right-11{right:2.75rem}.\32xl\:right-12{right:3rem}.\32xl\:right-14{right:3.5rem}.\32xl\:right-16{right:4rem}.\32xl\:right-20{right:5rem}.\32xl\:right-24{right:6rem}.\32xl\:right-28{right:7rem}.\32xl\:right-32{right:8rem}.\32xl\:right-36{right:9rem}.\32xl\:right-40{right:10rem}.\32xl\:right-44{right:11rem}.\32xl\:right-48{right:12rem}.\32xl\:right-52{right:13rem}.\32xl\:right-56{right:14rem}.\32xl\:right-60{right:15rem}.\32xl\:right-64{right:16rem}.\32xl\:right-72{right:18rem}.\32xl\:right-80{right:20rem}.\32xl\:right-96{right:24rem}.\32xl\:right-auto{right:auto}.\32xl\:right-px{right:1px}.\32xl\:right-0\.5{right:.125rem}.\32xl\:right-1\.5{right:.375rem}.\32xl\:right-2\.5{right:.625rem}.\32xl\:right-3\.5{right:.875rem}.\32xl\:-right-0{right:0}.\32xl\:-right-1{right:-.25rem}.\32xl\:-right-2{right:-.5rem}.\32xl\:-right-3{right:-.75rem}.\32xl\:-right-4{right:-1rem}.\32xl\:-right-5{right:-1.25rem}.\32xl\:-right-6{right:-1.5rem}.\32xl\:-right-7{right:-1.75rem}.\32xl\:-right-8{right:-2rem}.\32xl\:-right-9{right:-2.25rem}.\32xl\:-right-10{right:-2.5rem}.\32xl\:-right-11{right:-2.75rem}.\32xl\:-right-12{right:-3rem}.\32xl\:-right-14{right:-3.5rem}.\32xl\:-right-16{right:-4rem}.\32xl\:-right-20{right:-5rem}.\32xl\:-right-24{right:-6rem}.\32xl\:-right-28{right:-7rem}.\32xl\:-right-32{right:-8rem}.\32xl\:-right-36{right:-9rem}.\32xl\:-right-40{right:-10rem}.\32xl\:-right-44{right:-11rem}.\32xl\:-right-48{right:-12rem}.\32xl\:-right-52{right:-13rem}.\32xl\:-right-56{right:-14rem}.\32xl\:-right-60{right:-15rem}.\32xl\:-right-64{right:-16rem}.\32xl\:-right-72{right:-18rem}.\32xl\:-right-80{right:-20rem}.\32xl\:-right-96{right:-24rem}.\32xl\:-right-px{right:-1px}.\32xl\:-right-0\.5{right:-.125rem}.\32xl\:-right-1\.5{right:-.375rem}.\32xl\:-right-2\.5{right:-.625rem}.\32xl\:-right-3\.5{right:-.875rem}.\32xl\:right-1\/2{right:50%}.\32xl\:right-1\/3{right:33.333333%}.\32xl\:right-2\/3{right:66.666667%}.\32xl\:right-1\/4{right:25%}.\32xl\:right-2\/4{right:50%}.\32xl\:right-3\/4{right:75%}.\32xl\:right-full{right:100%}.\32xl\:-right-1\/2{right:-50%}.\32xl\:-right-1\/3{right:-33.333333%}.\32xl\:-right-2\/3{right:-66.666667%}.\32xl\:-right-1\/4{right:-25%}.\32xl\:-right-2\/4{right:-50%}.\32xl\:-right-3\/4{right:-75%}.\32xl\:-right-full{right:-100%}.\32xl\:bottom-0{bottom:0}.\32xl\:bottom-1{bottom:.25rem}.\32xl\:bottom-2{bottom:.5rem}.\32xl\:bottom-3{bottom:.75rem}.\32xl\:bottom-4{bottom:1rem}.\32xl\:bottom-5{bottom:1.25rem}.\32xl\:bottom-6{bottom:1.5rem}.\32xl\:bottom-7{bottom:1.75rem}.\32xl\:bottom-8{bottom:2rem}.\32xl\:bottom-9{bottom:2.25rem}.\32xl\:bottom-10{bottom:2.5rem}.\32xl\:bottom-11{bottom:2.75rem}.\32xl\:bottom-12{bottom:3rem}.\32xl\:bottom-14{bottom:3.5rem}.\32xl\:bottom-16{bottom:4rem}.\32xl\:bottom-20{bottom:5rem}.\32xl\:bottom-24{bottom:6rem}.\32xl\:bottom-28{bottom:7rem}.\32xl\:bottom-32{bottom:8rem}.\32xl\:bottom-36{bottom:9rem}.\32xl\:bottom-40{bottom:10rem}.\32xl\:bottom-44{bottom:11rem}.\32xl\:bottom-48{bottom:12rem}.\32xl\:bottom-52{bottom:13rem}.\32xl\:bottom-56{bottom:14rem}.\32xl\:bottom-60{bottom:15rem}.\32xl\:bottom-64{bottom:16rem}.\32xl\:bottom-72{bottom:18rem}.\32xl\:bottom-80{bottom:20rem}.\32xl\:bottom-96{bottom:24rem}.\32xl\:bottom-auto{bottom:auto}.\32xl\:bottom-px{bottom:1px}.\32xl\:bottom-0\.5{bottom:.125rem}.\32xl\:bottom-1\.5{bottom:.375rem}.\32xl\:bottom-2\.5{bottom:.625rem}.\32xl\:bottom-3\.5{bottom:.875rem}.\32xl\:-bottom-0{bottom:0}.\32xl\:-bottom-1{bottom:-.25rem}.\32xl\:-bottom-2{bottom:-.5rem}.\32xl\:-bottom-3{bottom:-.75rem}.\32xl\:-bottom-4{bottom:-1rem}.\32xl\:-bottom-5{bottom:-1.25rem}.\32xl\:-bottom-6{bottom:-1.5rem}.\32xl\:-bottom-7{bottom:-1.75rem}.\32xl\:-bottom-8{bottom:-2rem}.\32xl\:-bottom-9{bottom:-2.25rem}.\32xl\:-bottom-10{bottom:-2.5rem}.\32xl\:-bottom-11{bottom:-2.75rem}.\32xl\:-bottom-12{bottom:-3rem}.\32xl\:-bottom-14{bottom:-3.5rem}.\32xl\:-bottom-16{bottom:-4rem}.\32xl\:-bottom-20{bottom:-5rem}.\32xl\:-bottom-24{bottom:-6rem}.\32xl\:-bottom-28{bottom:-7rem}.\32xl\:-bottom-32{bottom:-8rem}.\32xl\:-bottom-36{bottom:-9rem}.\32xl\:-bottom-40{bottom:-10rem}.\32xl\:-bottom-44{bottom:-11rem}.\32xl\:-bottom-48{bottom:-12rem}.\32xl\:-bottom-52{bottom:-13rem}.\32xl\:-bottom-56{bottom:-14rem}.\32xl\:-bottom-60{bottom:-15rem}.\32xl\:-bottom-64{bottom:-16rem}.\32xl\:-bottom-72{bottom:-18rem}.\32xl\:-bottom-80{bottom:-20rem}.\32xl\:-bottom-96{bottom:-24rem}.\32xl\:-bottom-px{bottom:-1px}.\32xl\:-bottom-0\.5{bottom:-.125rem}.\32xl\:-bottom-1\.5{bottom:-.375rem}.\32xl\:-bottom-2\.5{bottom:-.625rem}.\32xl\:-bottom-3\.5{bottom:-.875rem}.\32xl\:bottom-1\/2{bottom:50%}.\32xl\:bottom-1\/3{bottom:33.333333%}.\32xl\:bottom-2\/3{bottom:66.666667%}.\32xl\:bottom-1\/4{bottom:25%}.\32xl\:bottom-2\/4{bottom:50%}.\32xl\:bottom-3\/4{bottom:75%}.\32xl\:bottom-full{bottom:100%}.\32xl\:-bottom-1\/2{bottom:-50%}.\32xl\:-bottom-1\/3{bottom:-33.333333%}.\32xl\:-bottom-2\/3{bottom:-66.666667%}.\32xl\:-bottom-1\/4{bottom:-25%}.\32xl\:-bottom-2\/4{bottom:-50%}.\32xl\:-bottom-3\/4{bottom:-75%}.\32xl\:-bottom-full{bottom:-100%}.\32xl\:left-0{left:0}.\32xl\:left-1{left:.25rem}.\32xl\:left-2{left:.5rem}.\32xl\:left-3{left:.75rem}.\32xl\:left-4{left:1rem}.\32xl\:left-5{left:1.25rem}.\32xl\:left-6{left:1.5rem}.\32xl\:left-7{left:1.75rem}.\32xl\:left-8{left:2rem}.\32xl\:left-9{left:2.25rem}.\32xl\:left-10{left:2.5rem}.\32xl\:left-11{left:2.75rem}.\32xl\:left-12{left:3rem}.\32xl\:left-14{left:3.5rem}.\32xl\:left-16{left:4rem}.\32xl\:left-20{left:5rem}.\32xl\:left-24{left:6rem}.\32xl\:left-28{left:7rem}.\32xl\:left-32{left:8rem}.\32xl\:left-36{left:9rem}.\32xl\:left-40{left:10rem}.\32xl\:left-44{left:11rem}.\32xl\:left-48{left:12rem}.\32xl\:left-52{left:13rem}.\32xl\:left-56{left:14rem}.\32xl\:left-60{left:15rem}.\32xl\:left-64{left:16rem}.\32xl\:left-72{left:18rem}.\32xl\:left-80{left:20rem}.\32xl\:left-96{left:24rem}.\32xl\:left-auto{left:auto}.\32xl\:left-px{left:1px}.\32xl\:left-0\.5{left:.125rem}.\32xl\:left-1\.5{left:.375rem}.\32xl\:left-2\.5{left:.625rem}.\32xl\:left-3\.5{left:.875rem}.\32xl\:-left-0{left:0}.\32xl\:-left-1{left:-.25rem}.\32xl\:-left-2{left:-.5rem}.\32xl\:-left-3{left:-.75rem}.\32xl\:-left-4{left:-1rem}.\32xl\:-left-5{left:-1.25rem}.\32xl\:-left-6{left:-1.5rem}.\32xl\:-left-7{left:-1.75rem}.\32xl\:-left-8{left:-2rem}.\32xl\:-left-9{left:-2.25rem}.\32xl\:-left-10{left:-2.5rem}.\32xl\:-left-11{left:-2.75rem}.\32xl\:-left-12{left:-3rem}.\32xl\:-left-14{left:-3.5rem}.\32xl\:-left-16{left:-4rem}.\32xl\:-left-20{left:-5rem}.\32xl\:-left-24{left:-6rem}.\32xl\:-left-28{left:-7rem}.\32xl\:-left-32{left:-8rem}.\32xl\:-left-36{left:-9rem}.\32xl\:-left-40{left:-10rem}.\32xl\:-left-44{left:-11rem}.\32xl\:-left-48{left:-12rem}.\32xl\:-left-52{left:-13rem}.\32xl\:-left-56{left:-14rem}.\32xl\:-left-60{left:-15rem}.\32xl\:-left-64{left:-16rem}.\32xl\:-left-72{left:-18rem}.\32xl\:-left-80{left:-20rem}.\32xl\:-left-96{left:-24rem}.\32xl\:-left-px{left:-1px}.\32xl\:-left-0\.5{left:-.125rem}.\32xl\:-left-1\.5{left:-.375rem}.\32xl\:-left-2\.5{left:-.625rem}.\32xl\:-left-3\.5{left:-.875rem}.\32xl\:left-1\/2{left:50%}.\32xl\:left-1\/3{left:33.333333%}.\32xl\:left-2\/3{left:66.666667%}.\32xl\:left-1\/4{left:25%}.\32xl\:left-2\/4{left:50%}.\32xl\:left-3\/4{left:75%}.\32xl\:left-full{left:100%}.\32xl\:-left-1\/2{left:-50%}.\32xl\:-left-1\/3{left:-33.333333%}.\32xl\:-left-2\/3{left:-66.666667%}.\32xl\:-left-1\/4{left:-25%}.\32xl\:-left-2\/4{left:-50%}.\32xl\:-left-3\/4{left:-75%}.\32xl\:-left-full{left:-100%}.\32xl\:isolate{isolation:isolate}.\32xl\:isolation-auto{isolation:auto}.\32xl\:z-0{z-index:0}.\32xl\:z-10{z-index:10}.\32xl\:z-20{z-index:20}.\32xl\:z-30{z-index:30}.\32xl\:z-40{z-index:40}.\32xl\:z-50{z-index:50}.\32xl\:z-auto{z-index:auto}.\32xl\:focus-within\:z-0:focus-within{z-index:0}.\32xl\:focus-within\:z-10:focus-within{z-index:10}.\32xl\:focus-within\:z-20:focus-within{z-index:20}.\32xl\:focus-within\:z-30:focus-within{z-index:30}.\32xl\:focus-within\:z-40:focus-within{z-index:40}.\32xl\:focus-within\:z-50:focus-within{z-index:50}.\32xl\:focus-within\:z-auto:focus-within{z-index:auto}.\32xl\:focus\:z-0:focus{z-index:0}.\32xl\:focus\:z-10:focus{z-index:10}.\32xl\:focus\:z-20:focus{z-index:20}.\32xl\:focus\:z-30:focus{z-index:30}.\32xl\:focus\:z-40:focus{z-index:40}.\32xl\:focus\:z-50:focus{z-index:50}.\32xl\:focus\:z-auto:focus{z-index:auto}.\32xl\:order-1{order:1}.\32xl\:order-2{order:2}.\32xl\:order-3{order:3}.\32xl\:order-4{order:4}.\32xl\:order-5{order:5}.\32xl\:order-6{order:6}.\32xl\:order-7{order:7}.\32xl\:order-8{order:8}.\32xl\:order-9{order:9}.\32xl\:order-10{order:10}.\32xl\:order-11{order:11}.\32xl\:order-12{order:12}.\32xl\:order-first{order:-9999}.\32xl\:order-last{order:9999}.\32xl\:order-none{order:0}.\32xl\:col-auto{grid-column:auto}.\32xl\:col-span-1{grid-column:span 1/span 1}.\32xl\:col-span-2{grid-column:span 2/span 2}.\32xl\:col-span-3{grid-column:span 3/span 3}.\32xl\:col-span-4{grid-column:span 4/span 4}.\32xl\:col-span-5{grid-column:span 5/span 5}.\32xl\:col-span-6{grid-column:span 6/span 6}.\32xl\:col-span-7{grid-column:span 7/span 7}.\32xl\:col-span-8{grid-column:span 8/span 8}.\32xl\:col-span-9{grid-column:span 9/span 9}.\32xl\:col-span-10{grid-column:span 10/span 10}.\32xl\:col-span-11{grid-column:span 11/span 11}.\32xl\:col-span-12{grid-column:span 12/span 12}.\32xl\:col-span-full{grid-column:1/-1}.\32xl\:col-start-1{grid-column-start:1}.\32xl\:col-start-2{grid-column-start:2}.\32xl\:col-start-3{grid-column-start:3}.\32xl\:col-start-4{grid-column-start:4}.\32xl\:col-start-5{grid-column-start:5}.\32xl\:col-start-6{grid-column-start:6}.\32xl\:col-start-7{grid-column-start:7}.\32xl\:col-start-8{grid-column-start:8}.\32xl\:col-start-9{grid-column-start:9}.\32xl\:col-start-10{grid-column-start:10}.\32xl\:col-start-11{grid-column-start:11}.\32xl\:col-start-12{grid-column-start:12}.\32xl\:col-start-13{grid-column-start:13}.\32xl\:col-start-auto{grid-column-start:auto}.\32xl\:col-end-1{grid-column-end:1}.\32xl\:col-end-2{grid-column-end:2}.\32xl\:col-end-3{grid-column-end:3}.\32xl\:col-end-4{grid-column-end:4}.\32xl\:col-end-5{grid-column-end:5}.\32xl\:col-end-6{grid-column-end:6}.\32xl\:col-end-7{grid-column-end:7}.\32xl\:col-end-8{grid-column-end:8}.\32xl\:col-end-9{grid-column-end:9}.\32xl\:col-end-10{grid-column-end:10}.\32xl\:col-end-11{grid-column-end:11}.\32xl\:col-end-12{grid-column-end:12}.\32xl\:col-end-13{grid-column-end:13}.\32xl\:col-end-auto{grid-column-end:auto}.\32xl\:row-auto{grid-row:auto}.\32xl\:row-span-1{grid-row:span 1/span 1}.\32xl\:row-span-2{grid-row:span 2/span 2}.\32xl\:row-span-3{grid-row:span 3/span 3}.\32xl\:row-span-4{grid-row:span 4/span 4}.\32xl\:row-span-5{grid-row:span 5/span 5}.\32xl\:row-span-6{grid-row:span 6/span 6}.\32xl\:row-span-full{grid-row:1/-1}.\32xl\:row-start-1{grid-row-start:1}.\32xl\:row-start-2{grid-row-start:2}.\32xl\:row-start-3{grid-row-start:3}.\32xl\:row-start-4{grid-row-start:4}.\32xl\:row-start-5{grid-row-start:5}.\32xl\:row-start-6{grid-row-start:6}.\32xl\:row-start-7{grid-row-start:7}.\32xl\:row-start-auto{grid-row-start:auto}.\32xl\:row-end-1{grid-row-end:1}.\32xl\:row-end-2{grid-row-end:2}.\32xl\:row-end-3{grid-row-end:3}.\32xl\:row-end-4{grid-row-end:4}.\32xl\:row-end-5{grid-row-end:5}.\32xl\:row-end-6{grid-row-end:6}.\32xl\:row-end-7{grid-row-end:7}.\32xl\:row-end-auto{grid-row-end:auto}.\32xl\:float-right{float:right}.\32xl\:float-left{float:left}.\32xl\:float-none{float:none}.\32xl\:clear-left{clear:left}.\32xl\:clear-right{clear:right}.\32xl\:clear-both{clear:both}.\32xl\:clear-none{clear:none}.\32xl\:m-0{margin:0}.\32xl\:m-1{margin:.25rem}.\32xl\:m-2{margin:.5rem}.\32xl\:m-3{margin:.75rem}.\32xl\:m-4{margin:1rem}.\32xl\:m-5{margin:1.25rem}.\32xl\:m-6{margin:1.5rem}.\32xl\:m-7{margin:1.75rem}.\32xl\:m-8{margin:2rem}.\32xl\:m-9{margin:2.25rem}.\32xl\:m-10{margin:2.5rem}.\32xl\:m-11{margin:2.75rem}.\32xl\:m-12{margin:3rem}.\32xl\:m-14{margin:3.5rem}.\32xl\:m-16{margin:4rem}.\32xl\:m-20{margin:5rem}.\32xl\:m-24{margin:6rem}.\32xl\:m-28{margin:7rem}.\32xl\:m-32{margin:8rem}.\32xl\:m-36{margin:9rem}.\32xl\:m-40{margin:10rem}.\32xl\:m-44{margin:11rem}.\32xl\:m-48{margin:12rem}.\32xl\:m-52{margin:13rem}.\32xl\:m-56{margin:14rem}.\32xl\:m-60{margin:15rem}.\32xl\:m-64{margin:16rem}.\32xl\:m-72{margin:18rem}.\32xl\:m-80{margin:20rem}.\32xl\:m-96{margin:24rem}.\32xl\:m-auto{margin:auto}.\32xl\:m-px{margin:1px}.\32xl\:m-0\.5{margin:.125rem}.\32xl\:m-1\.5{margin:.375rem}.\32xl\:m-2\.5{margin:.625rem}.\32xl\:m-3\.5{margin:.875rem}.\32xl\:-m-0{margin:0}.\32xl\:-m-1{margin:-.25rem}.\32xl\:-m-2{margin:-.5rem}.\32xl\:-m-3{margin:-.75rem}.\32xl\:-m-4{margin:-1rem}.\32xl\:-m-5{margin:-1.25rem}.\32xl\:-m-6{margin:-1.5rem}.\32xl\:-m-7{margin:-1.75rem}.\32xl\:-m-8{margin:-2rem}.\32xl\:-m-9{margin:-2.25rem}.\32xl\:-m-10{margin:-2.5rem}.\32xl\:-m-11{margin:-2.75rem}.\32xl\:-m-12{margin:-3rem}.\32xl\:-m-14{margin:-3.5rem}.\32xl\:-m-16{margin:-4rem}.\32xl\:-m-20{margin:-5rem}.\32xl\:-m-24{margin:-6rem}.\32xl\:-m-28{margin:-7rem}.\32xl\:-m-32{margin:-8rem}.\32xl\:-m-36{margin:-9rem}.\32xl\:-m-40{margin:-10rem}.\32xl\:-m-44{margin:-11rem}.\32xl\:-m-48{margin:-12rem}.\32xl\:-m-52{margin:-13rem}.\32xl\:-m-56{margin:-14rem}.\32xl\:-m-60{margin:-15rem}.\32xl\:-m-64{margin:-16rem}.\32xl\:-m-72{margin:-18rem}.\32xl\:-m-80{margin:-20rem}.\32xl\:-m-96{margin:-24rem}.\32xl\:-m-px{margin:-1px}.\32xl\:-m-0\.5{margin:-.125rem}.\32xl\:-m-1\.5{margin:-.375rem}.\32xl\:-m-2\.5{margin:-.625rem}.\32xl\:-m-3\.5{margin:-.875rem}.\32xl\:mx-0{margin-left:0;margin-right:0}.\32xl\:mx-1{margin-left:.25rem;margin-right:.25rem}.\32xl\:mx-2{margin-left:.5rem;margin-right:.5rem}.\32xl\:mx-3{margin-left:.75rem;margin-right:.75rem}.\32xl\:mx-4{margin-left:1rem;margin-right:1rem}.\32xl\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.\32xl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.\32xl\:mx-7{margin-left:1.75rem;margin-right:1.75rem}.\32xl\:mx-8{margin-left:2rem;margin-right:2rem}.\32xl\:mx-9{margin-left:2.25rem;margin-right:2.25rem}.\32xl\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.\32xl\:mx-11{margin-left:2.75rem;margin-right:2.75rem}.\32xl\:mx-12{margin-left:3rem;margin-right:3rem}.\32xl\:mx-14{margin-left:3.5rem;margin-right:3.5rem}.\32xl\:mx-16{margin-left:4rem;margin-right:4rem}.\32xl\:mx-20{margin-left:5rem;margin-right:5rem}.\32xl\:mx-24{margin-left:6rem;margin-right:6rem}.\32xl\:mx-28{margin-left:7rem;margin-right:7rem}.\32xl\:mx-32{margin-left:8rem;margin-right:8rem}.\32xl\:mx-36{margin-left:9rem;margin-right:9rem}.\32xl\:mx-40{margin-left:10rem;margin-right:10rem}.\32xl\:mx-44{margin-left:11rem;margin-right:11rem}.\32xl\:mx-48{margin-left:12rem;margin-right:12rem}.\32xl\:mx-52{margin-left:13rem;margin-right:13rem}.\32xl\:mx-56{margin-left:14rem;margin-right:14rem}.\32xl\:mx-60{margin-left:15rem;margin-right:15rem}.\32xl\:mx-64{margin-left:16rem;margin-right:16rem}.\32xl\:mx-72{margin-left:18rem;margin-right:18rem}.\32xl\:mx-80{margin-left:20rem;margin-right:20rem}.\32xl\:mx-96{margin-left:24rem;margin-right:24rem}.\32xl\:mx-auto{margin-left:auto;margin-right:auto}.\32xl\:mx-px{margin-left:1px;margin-right:1px}.\32xl\:mx-0\.5{margin-left:.125rem;margin-right:.125rem}.\32xl\:mx-1\.5{margin-left:.375rem;margin-right:.375rem}.\32xl\:mx-2\.5{margin-left:.625rem;margin-right:.625rem}.\32xl\:mx-3\.5{margin-left:.875rem;margin-right:.875rem}.\32xl\:-mx-0{margin-left:0;margin-right:0}.\32xl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.\32xl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.\32xl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.\32xl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.\32xl\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.\32xl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.\32xl\:-mx-7{margin-left:-1.75rem;margin-right:-1.75rem}.\32xl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.\32xl\:-mx-9{margin-left:-2.25rem;margin-right:-2.25rem}.\32xl\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.\32xl\:-mx-11{margin-left:-2.75rem;margin-right:-2.75rem}.\32xl\:-mx-12{margin-left:-3rem;margin-right:-3rem}.\32xl\:-mx-14{margin-left:-3.5rem;margin-right:-3.5rem}.\32xl\:-mx-16{margin-left:-4rem;margin-right:-4rem}.\32xl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.\32xl\:-mx-24{margin-left:-6rem;margin-right:-6rem}.\32xl\:-mx-28{margin-left:-7rem;margin-right:-7rem}.\32xl\:-mx-32{margin-left:-8rem;margin-right:-8rem}.\32xl\:-mx-36{margin-left:-9rem;margin-right:-9rem}.\32xl\:-mx-40{margin-left:-10rem;margin-right:-10rem}.\32xl\:-mx-44{margin-left:-11rem;margin-right:-11rem}.\32xl\:-mx-48{margin-left:-12rem;margin-right:-12rem}.\32xl\:-mx-52{margin-left:-13rem;margin-right:-13rem}.\32xl\:-mx-56{margin-left:-14rem;margin-right:-14rem}.\32xl\:-mx-60{margin-left:-15rem;margin-right:-15rem}.\32xl\:-mx-64{margin-left:-16rem;margin-right:-16rem}.\32xl\:-mx-72{margin-left:-18rem;margin-right:-18rem}.\32xl\:-mx-80{margin-left:-20rem;margin-right:-20rem}.\32xl\:-mx-96{margin-left:-24rem;margin-right:-24rem}.\32xl\:-mx-px{margin-left:-1px;margin-right:-1px}.\32xl\:-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.\32xl\:-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.\32xl\:-mx-2\.5{margin-left:-.625rem;margin-right:-.625rem}.\32xl\:-mx-3\.5{margin-left:-.875rem;margin-right:-.875rem}.\32xl\:my-0{margin-top:0;margin-bottom:0}.\32xl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.\32xl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.\32xl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.\32xl\:my-4{margin-top:1rem;margin-bottom:1rem}.\32xl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.\32xl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\32xl\:my-7{margin-top:1.75rem;margin-bottom:1.75rem}.\32xl\:my-8{margin-top:2rem;margin-bottom:2rem}.\32xl\:my-9{margin-top:2.25rem;margin-bottom:2.25rem}.\32xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.\32xl\:my-11{margin-top:2.75rem;margin-bottom:2.75rem}.\32xl\:my-12{margin-top:3rem;margin-bottom:3rem}.\32xl\:my-14{margin-top:3.5rem;margin-bottom:3.5rem}.\32xl\:my-16{margin-top:4rem;margin-bottom:4rem}.\32xl\:my-20{margin-top:5rem;margin-bottom:5rem}.\32xl\:my-24{margin-top:6rem;margin-bottom:6rem}.\32xl\:my-28{margin-top:7rem;margin-bottom:7rem}.\32xl\:my-32{margin-top:8rem;margin-bottom:8rem}.\32xl\:my-36{margin-top:9rem;margin-bottom:9rem}.\32xl\:my-40{margin-top:10rem;margin-bottom:10rem}.\32xl\:my-44{margin-top:11rem;margin-bottom:11rem}.\32xl\:my-48{margin-top:12rem;margin-bottom:12rem}.\32xl\:my-52{margin-top:13rem;margin-bottom:13rem}.\32xl\:my-56{margin-top:14rem;margin-bottom:14rem}.\32xl\:my-60{margin-top:15rem;margin-bottom:15rem}.\32xl\:my-64{margin-top:16rem;margin-bottom:16rem}.\32xl\:my-72{margin-top:18rem;margin-bottom:18rem}.\32xl\:my-80{margin-top:20rem;margin-bottom:20rem}.\32xl\:my-96{margin-top:24rem;margin-bottom:24rem}.\32xl\:my-auto{margin-top:auto;margin-bottom:auto}.\32xl\:my-px{margin-top:1px;margin-bottom:1px}.\32xl\:my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.\32xl\:my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.\32xl\:my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.\32xl\:my-3\.5{margin-top:.875rem;margin-bottom:.875rem}.\32xl\:-my-0{margin-top:0;margin-bottom:0}.\32xl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.\32xl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.\32xl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.\32xl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.\32xl\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.\32xl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.\32xl\:-my-7{margin-top:-1.75rem;margin-bottom:-1.75rem}.\32xl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.\32xl\:-my-9{margin-top:-2.25rem;margin-bottom:-2.25rem}.\32xl\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.\32xl\:-my-11{margin-top:-2.75rem;margin-bottom:-2.75rem}.\32xl\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.\32xl\:-my-14{margin-top:-3.5rem;margin-bottom:-3.5rem}.\32xl\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.\32xl\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.\32xl\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.\32xl\:-my-28{margin-top:-7rem;margin-bottom:-7rem}.\32xl\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.\32xl\:-my-36{margin-top:-9rem;margin-bottom:-9rem}.\32xl\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.\32xl\:-my-44{margin-top:-11rem;margin-bottom:-11rem}.\32xl\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.\32xl\:-my-52{margin-top:-13rem;margin-bottom:-13rem}.\32xl\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.\32xl\:-my-60{margin-top:-15rem;margin-bottom:-15rem}.\32xl\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.\32xl\:-my-72{margin-top:-18rem;margin-bottom:-18rem}.\32xl\:-my-80{margin-top:-20rem;margin-bottom:-20rem}.\32xl\:-my-96{margin-top:-24rem;margin-bottom:-24rem}.\32xl\:-my-px{margin-top:-1px;margin-bottom:-1px}.\32xl\:-my-0\.5{margin-top:-.125rem;margin-bottom:-.125rem}.\32xl\:-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.\32xl\:-my-2\.5{margin-top:-.625rem;margin-bottom:-.625rem}.\32xl\:-my-3\.5{margin-top:-.875rem;margin-bottom:-.875rem}.\32xl\:mt-0{margin-top:0}.\32xl\:mt-1{margin-top:.25rem}.\32xl\:mt-2{margin-top:.5rem}.\32xl\:mt-3{margin-top:.75rem}.\32xl\:mt-4{margin-top:1rem}.\32xl\:mt-5{margin-top:1.25rem}.\32xl\:mt-6{margin-top:1.5rem}.\32xl\:mt-7{margin-top:1.75rem}.\32xl\:mt-8{margin-top:2rem}.\32xl\:mt-9{margin-top:2.25rem}.\32xl\:mt-10{margin-top:2.5rem}.\32xl\:mt-11{margin-top:2.75rem}.\32xl\:mt-12{margin-top:3rem}.\32xl\:mt-14{margin-top:3.5rem}.\32xl\:mt-16{margin-top:4rem}.\32xl\:mt-20{margin-top:5rem}.\32xl\:mt-24{margin-top:6rem}.\32xl\:mt-28{margin-top:7rem}.\32xl\:mt-32{margin-top:8rem}.\32xl\:mt-36{margin-top:9rem}.\32xl\:mt-40{margin-top:10rem}.\32xl\:mt-44{margin-top:11rem}.\32xl\:mt-48{margin-top:12rem}.\32xl\:mt-52{margin-top:13rem}.\32xl\:mt-56{margin-top:14rem}.\32xl\:mt-60{margin-top:15rem}.\32xl\:mt-64{margin-top:16rem}.\32xl\:mt-72{margin-top:18rem}.\32xl\:mt-80{margin-top:20rem}.\32xl\:mt-96{margin-top:24rem}.\32xl\:mt-auto{margin-top:auto}.\32xl\:mt-px{margin-top:1px}.\32xl\:mt-0\.5{margin-top:.125rem}.\32xl\:mt-1\.5{margin-top:.375rem}.\32xl\:mt-2\.5{margin-top:.625rem}.\32xl\:mt-3\.5{margin-top:.875rem}.\32xl\:-mt-0{margin-top:0}.\32xl\:-mt-1{margin-top:-.25rem}.\32xl\:-mt-2{margin-top:-.5rem}.\32xl\:-mt-3{margin-top:-.75rem}.\32xl\:-mt-4{margin-top:-1rem}.\32xl\:-mt-5{margin-top:-1.25rem}.\32xl\:-mt-6{margin-top:-1.5rem}.\32xl\:-mt-7{margin-top:-1.75rem}.\32xl\:-mt-8{margin-top:-2rem}.\32xl\:-mt-9{margin-top:-2.25rem}.\32xl\:-mt-10{margin-top:-2.5rem}.\32xl\:-mt-11{margin-top:-2.75rem}.\32xl\:-mt-12{margin-top:-3rem}.\32xl\:-mt-14{margin-top:-3.5rem}.\32xl\:-mt-16{margin-top:-4rem}.\32xl\:-mt-20{margin-top:-5rem}.\32xl\:-mt-24{margin-top:-6rem}.\32xl\:-mt-28{margin-top:-7rem}.\32xl\:-mt-32{margin-top:-8rem}.\32xl\:-mt-36{margin-top:-9rem}.\32xl\:-mt-40{margin-top:-10rem}.\32xl\:-mt-44{margin-top:-11rem}.\32xl\:-mt-48{margin-top:-12rem}.\32xl\:-mt-52{margin-top:-13rem}.\32xl\:-mt-56{margin-top:-14rem}.\32xl\:-mt-60{margin-top:-15rem}.\32xl\:-mt-64{margin-top:-16rem}.\32xl\:-mt-72{margin-top:-18rem}.\32xl\:-mt-80{margin-top:-20rem}.\32xl\:-mt-96{margin-top:-24rem}.\32xl\:-mt-px{margin-top:-1px}.\32xl\:-mt-0\.5{margin-top:-.125rem}.\32xl\:-mt-1\.5{margin-top:-.375rem}.\32xl\:-mt-2\.5{margin-top:-.625rem}.\32xl\:-mt-3\.5{margin-top:-.875rem}.\32xl\:mr-0{margin-right:0}.\32xl\:mr-1{margin-right:.25rem}.\32xl\:mr-2{margin-right:.5rem}.\32xl\:mr-3{margin-right:.75rem}.\32xl\:mr-4{margin-right:1rem}.\32xl\:mr-5{margin-right:1.25rem}.\32xl\:mr-6{margin-right:1.5rem}.\32xl\:mr-7{margin-right:1.75rem}.\32xl\:mr-8{margin-right:2rem}.\32xl\:mr-9{margin-right:2.25rem}.\32xl\:mr-10{margin-right:2.5rem}.\32xl\:mr-11{margin-right:2.75rem}.\32xl\:mr-12{margin-right:3rem}.\32xl\:mr-14{margin-right:3.5rem}.\32xl\:mr-16{margin-right:4rem}.\32xl\:mr-20{margin-right:5rem}.\32xl\:mr-24{margin-right:6rem}.\32xl\:mr-28{margin-right:7rem}.\32xl\:mr-32{margin-right:8rem}.\32xl\:mr-36{margin-right:9rem}.\32xl\:mr-40{margin-right:10rem}.\32xl\:mr-44{margin-right:11rem}.\32xl\:mr-48{margin-right:12rem}.\32xl\:mr-52{margin-right:13rem}.\32xl\:mr-56{margin-right:14rem}.\32xl\:mr-60{margin-right:15rem}.\32xl\:mr-64{margin-right:16rem}.\32xl\:mr-72{margin-right:18rem}.\32xl\:mr-80{margin-right:20rem}.\32xl\:mr-96{margin-right:24rem}.\32xl\:mr-auto{margin-right:auto}.\32xl\:mr-px{margin-right:1px}.\32xl\:mr-0\.5{margin-right:.125rem}.\32xl\:mr-1\.5{margin-right:.375rem}.\32xl\:mr-2\.5{margin-right:.625rem}.\32xl\:mr-3\.5{margin-right:.875rem}.\32xl\:-mr-0{margin-right:0}.\32xl\:-mr-1{margin-right:-.25rem}.\32xl\:-mr-2{margin-right:-.5rem}.\32xl\:-mr-3{margin-right:-.75rem}.\32xl\:-mr-4{margin-right:-1rem}.\32xl\:-mr-5{margin-right:-1.25rem}.\32xl\:-mr-6{margin-right:-1.5rem}.\32xl\:-mr-7{margin-right:-1.75rem}.\32xl\:-mr-8{margin-right:-2rem}.\32xl\:-mr-9{margin-right:-2.25rem}.\32xl\:-mr-10{margin-right:-2.5rem}.\32xl\:-mr-11{margin-right:-2.75rem}.\32xl\:-mr-12{margin-right:-3rem}.\32xl\:-mr-14{margin-right:-3.5rem}.\32xl\:-mr-16{margin-right:-4rem}.\32xl\:-mr-20{margin-right:-5rem}.\32xl\:-mr-24{margin-right:-6rem}.\32xl\:-mr-28{margin-right:-7rem}.\32xl\:-mr-32{margin-right:-8rem}.\32xl\:-mr-36{margin-right:-9rem}.\32xl\:-mr-40{margin-right:-10rem}.\32xl\:-mr-44{margin-right:-11rem}.\32xl\:-mr-48{margin-right:-12rem}.\32xl\:-mr-52{margin-right:-13rem}.\32xl\:-mr-56{margin-right:-14rem}.\32xl\:-mr-60{margin-right:-15rem}.\32xl\:-mr-64{margin-right:-16rem}.\32xl\:-mr-72{margin-right:-18rem}.\32xl\:-mr-80{margin-right:-20rem}.\32xl\:-mr-96{margin-right:-24rem}.\32xl\:-mr-px{margin-right:-1px}.\32xl\:-mr-0\.5{margin-right:-.125rem}.\32xl\:-mr-1\.5{margin-right:-.375rem}.\32xl\:-mr-2\.5{margin-right:-.625rem}.\32xl\:-mr-3\.5{margin-right:-.875rem}.\32xl\:mb-0{margin-bottom:0}.\32xl\:mb-1{margin-bottom:.25rem}.\32xl\:mb-2{margin-bottom:.5rem}.\32xl\:mb-3{margin-bottom:.75rem}.\32xl\:mb-4{margin-bottom:1rem}.\32xl\:mb-5{margin-bottom:1.25rem}.\32xl\:mb-6{margin-bottom:1.5rem}.\32xl\:mb-7{margin-bottom:1.75rem}.\32xl\:mb-8{margin-bottom:2rem}.\32xl\:mb-9{margin-bottom:2.25rem}.\32xl\:mb-10{margin-bottom:2.5rem}.\32xl\:mb-11{margin-bottom:2.75rem}.\32xl\:mb-12{margin-bottom:3rem}.\32xl\:mb-14{margin-bottom:3.5rem}.\32xl\:mb-16{margin-bottom:4rem}.\32xl\:mb-20{margin-bottom:5rem}.\32xl\:mb-24{margin-bottom:6rem}.\32xl\:mb-28{margin-bottom:7rem}.\32xl\:mb-32{margin-bottom:8rem}.\32xl\:mb-36{margin-bottom:9rem}.\32xl\:mb-40{margin-bottom:10rem}.\32xl\:mb-44{margin-bottom:11rem}.\32xl\:mb-48{margin-bottom:12rem}.\32xl\:mb-52{margin-bottom:13rem}.\32xl\:mb-56{margin-bottom:14rem}.\32xl\:mb-60{margin-bottom:15rem}.\32xl\:mb-64{margin-bottom:16rem}.\32xl\:mb-72{margin-bottom:18rem}.\32xl\:mb-80{margin-bottom:20rem}.\32xl\:mb-96{margin-bottom:24rem}.\32xl\:mb-auto{margin-bottom:auto}.\32xl\:mb-px{margin-bottom:1px}.\32xl\:mb-0\.5{margin-bottom:.125rem}.\32xl\:mb-1\.5{margin-bottom:.375rem}.\32xl\:mb-2\.5{margin-bottom:.625rem}.\32xl\:mb-3\.5{margin-bottom:.875rem}.\32xl\:-mb-0{margin-bottom:0}.\32xl\:-mb-1{margin-bottom:-.25rem}.\32xl\:-mb-2{margin-bottom:-.5rem}.\32xl\:-mb-3{margin-bottom:-.75rem}.\32xl\:-mb-4{margin-bottom:-1rem}.\32xl\:-mb-5{margin-bottom:-1.25rem}.\32xl\:-mb-6{margin-bottom:-1.5rem}.\32xl\:-mb-7{margin-bottom:-1.75rem}.\32xl\:-mb-8{margin-bottom:-2rem}.\32xl\:-mb-9{margin-bottom:-2.25rem}.\32xl\:-mb-10{margin-bottom:-2.5rem}.\32xl\:-mb-11{margin-bottom:-2.75rem}.\32xl\:-mb-12{margin-bottom:-3rem}.\32xl\:-mb-14{margin-bottom:-3.5rem}.\32xl\:-mb-16{margin-bottom:-4rem}.\32xl\:-mb-20{margin-bottom:-5rem}.\32xl\:-mb-24{margin-bottom:-6rem}.\32xl\:-mb-28{margin-bottom:-7rem}.\32xl\:-mb-32{margin-bottom:-8rem}.\32xl\:-mb-36{margin-bottom:-9rem}.\32xl\:-mb-40{margin-bottom:-10rem}.\32xl\:-mb-44{margin-bottom:-11rem}.\32xl\:-mb-48{margin-bottom:-12rem}.\32xl\:-mb-52{margin-bottom:-13rem}.\32xl\:-mb-56{margin-bottom:-14rem}.\32xl\:-mb-60{margin-bottom:-15rem}.\32xl\:-mb-64{margin-bottom:-16rem}.\32xl\:-mb-72{margin-bottom:-18rem}.\32xl\:-mb-80{margin-bottom:-20rem}.\32xl\:-mb-96{margin-bottom:-24rem}.\32xl\:-mb-px{margin-bottom:-1px}.\32xl\:-mb-0\.5{margin-bottom:-.125rem}.\32xl\:-mb-1\.5{margin-bottom:-.375rem}.\32xl\:-mb-2\.5{margin-bottom:-.625rem}.\32xl\:-mb-3\.5{margin-bottom:-.875rem}.\32xl\:ml-0{margin-left:0}.\32xl\:ml-1{margin-left:.25rem}.\32xl\:ml-2{margin-left:.5rem}.\32xl\:ml-3{margin-left:.75rem}.\32xl\:ml-4{margin-left:1rem}.\32xl\:ml-5{margin-left:1.25rem}.\32xl\:ml-6{margin-left:1.5rem}.\32xl\:ml-7{margin-left:1.75rem}.\32xl\:ml-8{margin-left:2rem}.\32xl\:ml-9{margin-left:2.25rem}.\32xl\:ml-10{margin-left:2.5rem}.\32xl\:ml-11{margin-left:2.75rem}.\32xl\:ml-12{margin-left:3rem}.\32xl\:ml-14{margin-left:3.5rem}.\32xl\:ml-16{margin-left:4rem}.\32xl\:ml-20{margin-left:5rem}.\32xl\:ml-24{margin-left:6rem}.\32xl\:ml-28{margin-left:7rem}.\32xl\:ml-32{margin-left:8rem}.\32xl\:ml-36{margin-left:9rem}.\32xl\:ml-40{margin-left:10rem}.\32xl\:ml-44{margin-left:11rem}.\32xl\:ml-48{margin-left:12rem}.\32xl\:ml-52{margin-left:13rem}.\32xl\:ml-56{margin-left:14rem}.\32xl\:ml-60{margin-left:15rem}.\32xl\:ml-64{margin-left:16rem}.\32xl\:ml-72{margin-left:18rem}.\32xl\:ml-80{margin-left:20rem}.\32xl\:ml-96{margin-left:24rem}.\32xl\:ml-auto{margin-left:auto}.\32xl\:ml-px{margin-left:1px}.\32xl\:ml-0\.5{margin-left:.125rem}.\32xl\:ml-1\.5{margin-left:.375rem}.\32xl\:ml-2\.5{margin-left:.625rem}.\32xl\:ml-3\.5{margin-left:.875rem}.\32xl\:-ml-0{margin-left:0}.\32xl\:-ml-1{margin-left:-.25rem}.\32xl\:-ml-2{margin-left:-.5rem}.\32xl\:-ml-3{margin-left:-.75rem}.\32xl\:-ml-4{margin-left:-1rem}.\32xl\:-ml-5{margin-left:-1.25rem}.\32xl\:-ml-6{margin-left:-1.5rem}.\32xl\:-ml-7{margin-left:-1.75rem}.\32xl\:-ml-8{margin-left:-2rem}.\32xl\:-ml-9{margin-left:-2.25rem}.\32xl\:-ml-10{margin-left:-2.5rem}.\32xl\:-ml-11{margin-left:-2.75rem}.\32xl\:-ml-12{margin-left:-3rem}.\32xl\:-ml-14{margin-left:-3.5rem}.\32xl\:-ml-16{margin-left:-4rem}.\32xl\:-ml-20{margin-left:-5rem}.\32xl\:-ml-24{margin-left:-6rem}.\32xl\:-ml-28{margin-left:-7rem}.\32xl\:-ml-32{margin-left:-8rem}.\32xl\:-ml-36{margin-left:-9rem}.\32xl\:-ml-40{margin-left:-10rem}.\32xl\:-ml-44{margin-left:-11rem}.\32xl\:-ml-48{margin-left:-12rem}.\32xl\:-ml-52{margin-left:-13rem}.\32xl\:-ml-56{margin-left:-14rem}.\32xl\:-ml-60{margin-left:-15rem}.\32xl\:-ml-64{margin-left:-16rem}.\32xl\:-ml-72{margin-left:-18rem}.\32xl\:-ml-80{margin-left:-20rem}.\32xl\:-ml-96{margin-left:-24rem}.\32xl\:-ml-px{margin-left:-1px}.\32xl\:-ml-0\.5{margin-left:-.125rem}.\32xl\:-ml-1\.5{margin-left:-.375rem}.\32xl\:-ml-2\.5{margin-left:-.625rem}.\32xl\:-ml-3\.5{margin-left:-.875rem}.\32xl\:box-border{box-sizing:border-box}.\32xl\:box-content{box-sizing:content-box}.\32xl\:block{display:block}.\32xl\:inline-block{display:inline-block}.\32xl\:inline{display:inline}.\32xl\:flex{display:flex}.\32xl\:inline-flex{display:inline-flex}.\32xl\:table{display:table}.\32xl\:inline-table{display:inline-table}.\32xl\:table-caption{display:table-caption}.\32xl\:table-cell{display:table-cell}.\32xl\:table-column{display:table-column}.\32xl\:table-column-group{display:table-column-group}.\32xl\:table-footer-group{display:table-footer-group}.\32xl\:table-header-group{display:table-header-group}.\32xl\:table-row-group{display:table-row-group}.\32xl\:table-row{display:table-row}.\32xl\:flow-root{display:flow-root}.\32xl\:grid{display:grid}.\32xl\:inline-grid{display:inline-grid}.\32xl\:contents{display:contents}.\32xl\:list-item{display:list-item}.\32xl\:hidden{display:none}.\32xl\:h-0{height:0}.\32xl\:h-1{height:.25rem}.\32xl\:h-2{height:.5rem}.\32xl\:h-3{height:.75rem}.\32xl\:h-4{height:1rem}.\32xl\:h-5{height:1.25rem}.\32xl\:h-6{height:1.5rem}.\32xl\:h-7{height:1.75rem}.\32xl\:h-8{height:2rem}.\32xl\:h-9{height:2.25rem}.\32xl\:h-10{height:2.5rem}.\32xl\:h-11{height:2.75rem}.\32xl\:h-12{height:3rem}.\32xl\:h-14{height:3.5rem}.\32xl\:h-16{height:4rem}.\32xl\:h-20{height:5rem}.\32xl\:h-24{height:6rem}.\32xl\:h-28{height:7rem}.\32xl\:h-32{height:8rem}.\32xl\:h-36{height:9rem}.\32xl\:h-40{height:10rem}.\32xl\:h-44{height:11rem}.\32xl\:h-48{height:12rem}.\32xl\:h-52{height:13rem}.\32xl\:h-56{height:14rem}.\32xl\:h-60{height:15rem}.\32xl\:h-64{height:16rem}.\32xl\:h-72{height:18rem}.\32xl\:h-80{height:20rem}.\32xl\:h-96{height:24rem}.\32xl\:h-auto{height:auto}.\32xl\:h-px{height:1px}.\32xl\:h-0\.5{height:.125rem}.\32xl\:h-1\.5{height:.375rem}.\32xl\:h-2\.5{height:.625rem}.\32xl\:h-3\.5{height:.875rem}.\32xl\:h-1\/2{height:50%}.\32xl\:h-1\/3{height:33.333333%}.\32xl\:h-2\/3{height:66.666667%}.\32xl\:h-1\/4{height:25%}.\32xl\:h-2\/4{height:50%}.\32xl\:h-3\/4{height:75%}.\32xl\:h-1\/5{height:20%}.\32xl\:h-2\/5{height:40%}.\32xl\:h-3\/5{height:60%}.\32xl\:h-4\/5{height:80%}.\32xl\:h-1\/6{height:16.666667%}.\32xl\:h-2\/6{height:33.333333%}.\32xl\:h-3\/6{height:50%}.\32xl\:h-4\/6{height:66.666667%}.\32xl\:h-5\/6{height:83.333333%}.\32xl\:h-full{height:100%}.\32xl\:h-screen{height:100vh}.\32xl\:max-h-0{max-height:0}.\32xl\:max-h-1{max-height:.25rem}.\32xl\:max-h-2{max-height:.5rem}.\32xl\:max-h-3{max-height:.75rem}.\32xl\:max-h-4{max-height:1rem}.\32xl\:max-h-5{max-height:1.25rem}.\32xl\:max-h-6{max-height:1.5rem}.\32xl\:max-h-7{max-height:1.75rem}.\32xl\:max-h-8{max-height:2rem}.\32xl\:max-h-9{max-height:2.25rem}.\32xl\:max-h-10{max-height:2.5rem}.\32xl\:max-h-11{max-height:2.75rem}.\32xl\:max-h-12{max-height:3rem}.\32xl\:max-h-14{max-height:3.5rem}.\32xl\:max-h-16{max-height:4rem}.\32xl\:max-h-20{max-height:5rem}.\32xl\:max-h-24{max-height:6rem}.\32xl\:max-h-28{max-height:7rem}.\32xl\:max-h-32{max-height:8rem}.\32xl\:max-h-36{max-height:9rem}.\32xl\:max-h-40{max-height:10rem}.\32xl\:max-h-44{max-height:11rem}.\32xl\:max-h-48{max-height:12rem}.\32xl\:max-h-52{max-height:13rem}.\32xl\:max-h-56{max-height:14rem}.\32xl\:max-h-60{max-height:15rem}.\32xl\:max-h-64{max-height:16rem}.\32xl\:max-h-72{max-height:18rem}.\32xl\:max-h-80{max-height:20rem}.\32xl\:max-h-96{max-height:24rem}.\32xl\:max-h-px{max-height:1px}.\32xl\:max-h-0\.5{max-height:.125rem}.\32xl\:max-h-1\.5{max-height:.375rem}.\32xl\:max-h-2\.5{max-height:.625rem}.\32xl\:max-h-3\.5{max-height:.875rem}.\32xl\:max-h-full{max-height:100%}.\32xl\:max-h-screen{max-height:100vh}.\32xl\:min-h-0{min-height:0}.\32xl\:min-h-full{min-height:100%}.\32xl\:min-h-screen{min-height:100vh}.\32xl\:w-0{width:0}.\32xl\:w-1{width:.25rem}.\32xl\:w-2{width:.5rem}.\32xl\:w-3{width:.75rem}.\32xl\:w-4{width:1rem}.\32xl\:w-5{width:1.25rem}.\32xl\:w-6{width:1.5rem}.\32xl\:w-7{width:1.75rem}.\32xl\:w-8{width:2rem}.\32xl\:w-9{width:2.25rem}.\32xl\:w-10{width:2.5rem}.\32xl\:w-11{width:2.75rem}.\32xl\:w-12{width:3rem}.\32xl\:w-14{width:3.5rem}.\32xl\:w-16{width:4rem}.\32xl\:w-20{width:5rem}.\32xl\:w-24{width:6rem}.\32xl\:w-28{width:7rem}.\32xl\:w-32{width:8rem}.\32xl\:w-36{width:9rem}.\32xl\:w-40{width:10rem}.\32xl\:w-44{width:11rem}.\32xl\:w-48{width:12rem}.\32xl\:w-52{width:13rem}.\32xl\:w-56{width:14rem}.\32xl\:w-60{width:15rem}.\32xl\:w-64{width:16rem}.\32xl\:w-72{width:18rem}.\32xl\:w-80{width:20rem}.\32xl\:w-96{width:24rem}.\32xl\:w-auto{width:auto}.\32xl\:w-px{width:1px}.\32xl\:w-0\.5{width:.125rem}.\32xl\:w-1\.5{width:.375rem}.\32xl\:w-2\.5{width:.625rem}.\32xl\:w-3\.5{width:.875rem}.\32xl\:w-1\/2{width:50%}.\32xl\:w-1\/3{width:33.333333%}.\32xl\:w-2\/3{width:66.666667%}.\32xl\:w-1\/4{width:25%}.\32xl\:w-2\/4{width:50%}.\32xl\:w-3\/4{width:75%}.\32xl\:w-1\/5{width:20%}.\32xl\:w-2\/5{width:40%}.\32xl\:w-3\/5{width:60%}.\32xl\:w-4\/5{width:80%}.\32xl\:w-1\/6{width:16.666667%}.\32xl\:w-2\/6{width:33.333333%}.\32xl\:w-3\/6{width:50%}.\32xl\:w-4\/6{width:66.666667%}.\32xl\:w-5\/6{width:83.333333%}.\32xl\:w-1\/12{width:8.333333%}.\32xl\:w-2\/12{width:16.666667%}.\32xl\:w-3\/12{width:25%}.\32xl\:w-4\/12{width:33.333333%}.\32xl\:w-5\/12{width:41.666667%}.\32xl\:w-6\/12{width:50%}.\32xl\:w-7\/12{width:58.333333%}.\32xl\:w-8\/12{width:66.666667%}.\32xl\:w-9\/12{width:75%}.\32xl\:w-10\/12{width:83.333333%}.\32xl\:w-11\/12{width:91.666667%}.\32xl\:w-full{width:100%}.\32xl\:w-screen{width:100vw}.\32xl\:w-min{width:min-content}.\32xl\:w-max{width:max-content}.\32xl\:min-w-0{min-width:0}.\32xl\:min-w-full{min-width:100%}.\32xl\:min-w-min{min-width:min-content}.\32xl\:min-w-max{min-width:max-content}.\32xl\:max-w-0{max-width:0}.\32xl\:max-w-none{max-width:none}.\32xl\:max-w-xs{max-width:20rem}.\32xl\:max-w-sm{max-width:24rem}.\32xl\:max-w-md{max-width:28rem}.\32xl\:max-w-lg{max-width:32rem}.\32xl\:max-w-xl{max-width:36rem}.\32xl\:max-w-2xl{max-width:42rem}.\32xl\:max-w-3xl{max-width:48rem}.\32xl\:max-w-4xl{max-width:56rem}.\32xl\:max-w-5xl{max-width:64rem}.\32xl\:max-w-6xl{max-width:72rem}.\32xl\:max-w-7xl{max-width:80rem}.\32xl\:max-w-full{max-width:100%}.\32xl\:max-w-min{max-width:min-content}.\32xl\:max-w-max{max-width:max-content}.\32xl\:max-w-prose{max-width:65ch}.\32xl\:max-w-screen-sm{max-width:640px}.\32xl\:max-w-screen-md{max-width:768px}.\32xl\:max-w-screen-lg{max-width:1024px}.\32xl\:max-w-screen-xl{max-width:1280px}.\32xl\:max-w-screen-2xl{max-width:1536px}.\32xl\:flex-1{flex:1 1 0%}.\32xl\:flex-auto{flex:1 1 auto}.\32xl\:flex-initial{flex:0 1 auto}.\32xl\:flex-none{flex:none}.\32xl\:flex-shrink-0{flex-shrink:0}.\32xl\:flex-shrink{flex-shrink:1}.\32xl\:flex-grow-0{flex-grow:0}.\32xl\:flex-grow{flex-grow:1}.\32xl\:table-auto{table-layout:auto}.\32xl\:table-fixed{table-layout:fixed}.\32xl\:border-collapse{border-collapse:collapse}.\32xl\:border-separate{border-collapse:separate}.\32xl\:origin-center{transform-origin:center}.\32xl\:origin-top{transform-origin:top}.\32xl\:origin-top-right{transform-origin:top right}.\32xl\:origin-right{transform-origin:right}.\32xl\:origin-bottom-right{transform-origin:bottom right}.\32xl\:origin-bottom{transform-origin:bottom}.\32xl\:origin-bottom-left{transform-origin:bottom left}.\32xl\:origin-left{transform-origin:left}.\32xl\:origin-top-left{transform-origin:top left}.\32xl\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\32xl\:transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\32xl\:transform-none{transform:none}.\32xl\:translate-x-0{--tw-translate-x:0px}.\32xl\:translate-x-1{--tw-translate-x:0.25rem}.\32xl\:translate-x-2{--tw-translate-x:0.5rem}.\32xl\:translate-x-3{--tw-translate-x:0.75rem}.\32xl\:translate-x-4{--tw-translate-x:1rem}.\32xl\:translate-x-5{--tw-translate-x:1.25rem}.\32xl\:translate-x-6{--tw-translate-x:1.5rem}.\32xl\:translate-x-7{--tw-translate-x:1.75rem}.\32xl\:translate-x-8{--tw-translate-x:2rem}.\32xl\:translate-x-9{--tw-translate-x:2.25rem}.\32xl\:translate-x-10{--tw-translate-x:2.5rem}.\32xl\:translate-x-11{--tw-translate-x:2.75rem}.\32xl\:translate-x-12{--tw-translate-x:3rem}.\32xl\:translate-x-14{--tw-translate-x:3.5rem}.\32xl\:translate-x-16{--tw-translate-x:4rem}.\32xl\:translate-x-20{--tw-translate-x:5rem}.\32xl\:translate-x-24{--tw-translate-x:6rem}.\32xl\:translate-x-28{--tw-translate-x:7rem}.\32xl\:translate-x-32{--tw-translate-x:8rem}.\32xl\:translate-x-36{--tw-translate-x:9rem}.\32xl\:translate-x-40{--tw-translate-x:10rem}.\32xl\:translate-x-44{--tw-translate-x:11rem}.\32xl\:translate-x-48{--tw-translate-x:12rem}.\32xl\:translate-x-52{--tw-translate-x:13rem}.\32xl\:translate-x-56{--tw-translate-x:14rem}.\32xl\:translate-x-60{--tw-translate-x:15rem}.\32xl\:translate-x-64{--tw-translate-x:16rem}.\32xl\:translate-x-72{--tw-translate-x:18rem}.\32xl\:translate-x-80{--tw-translate-x:20rem}.\32xl\:translate-x-96{--tw-translate-x:24rem}.\32xl\:translate-x-px{--tw-translate-x:1px}.\32xl\:translate-x-0\.5{--tw-translate-x:0.125rem}.\32xl\:translate-x-1\.5{--tw-translate-x:0.375rem}.\32xl\:translate-x-2\.5{--tw-translate-x:0.625rem}.\32xl\:translate-x-3\.5{--tw-translate-x:0.875rem}.\32xl\:-translate-x-0{--tw-translate-x:0px}.\32xl\:-translate-x-1{--tw-translate-x:-0.25rem}.\32xl\:-translate-x-2{--tw-translate-x:-0.5rem}.\32xl\:-translate-x-3{--tw-translate-x:-0.75rem}.\32xl\:-translate-x-4{--tw-translate-x:-1rem}.\32xl\:-translate-x-5{--tw-translate-x:-1.25rem}.\32xl\:-translate-x-6{--tw-translate-x:-1.5rem}.\32xl\:-translate-x-7{--tw-translate-x:-1.75rem}.\32xl\:-translate-x-8{--tw-translate-x:-2rem}.\32xl\:-translate-x-9{--tw-translate-x:-2.25rem}.\32xl\:-translate-x-10{--tw-translate-x:-2.5rem}.\32xl\:-translate-x-11{--tw-translate-x:-2.75rem}.\32xl\:-translate-x-12{--tw-translate-x:-3rem}.\32xl\:-translate-x-14{--tw-translate-x:-3.5rem}.\32xl\:-translate-x-16{--tw-translate-x:-4rem}.\32xl\:-translate-x-20{--tw-translate-x:-5rem}.\32xl\:-translate-x-24{--tw-translate-x:-6rem}.\32xl\:-translate-x-28{--tw-translate-x:-7rem}.\32xl\:-translate-x-32{--tw-translate-x:-8rem}.\32xl\:-translate-x-36{--tw-translate-x:-9rem}.\32xl\:-translate-x-40{--tw-translate-x:-10rem}.\32xl\:-translate-x-44{--tw-translate-x:-11rem}.\32xl\:-translate-x-48{--tw-translate-x:-12rem}.\32xl\:-translate-x-52{--tw-translate-x:-13rem}.\32xl\:-translate-x-56{--tw-translate-x:-14rem}.\32xl\:-translate-x-60{--tw-translate-x:-15rem}.\32xl\:-translate-x-64{--tw-translate-x:-16rem}.\32xl\:-translate-x-72{--tw-translate-x:-18rem}.\32xl\:-translate-x-80{--tw-translate-x:-20rem}.\32xl\:-translate-x-96{--tw-translate-x:-24rem}.\32xl\:-translate-x-px{--tw-translate-x:-1px}.\32xl\:-translate-x-0\.5{--tw-translate-x:-0.125rem}.\32xl\:-translate-x-1\.5{--tw-translate-x:-0.375rem}.\32xl\:-translate-x-2\.5{--tw-translate-x:-0.625rem}.\32xl\:-translate-x-3\.5{--tw-translate-x:-0.875rem}.\32xl\:translate-x-1\/2{--tw-translate-x:50%}.\32xl\:translate-x-1\/3{--tw-translate-x:33.333333%}.\32xl\:translate-x-2\/3{--tw-translate-x:66.666667%}.\32xl\:translate-x-1\/4{--tw-translate-x:25%}.\32xl\:translate-x-2\/4{--tw-translate-x:50%}.\32xl\:translate-x-3\/4{--tw-translate-x:75%}.\32xl\:translate-x-full{--tw-translate-x:100%}.\32xl\:-translate-x-1\/2{--tw-translate-x:-50%}.\32xl\:-translate-x-1\/3{--tw-translate-x:-33.333333%}.\32xl\:-translate-x-2\/3{--tw-translate-x:-66.666667%}.\32xl\:-translate-x-1\/4{--tw-translate-x:-25%}.\32xl\:-translate-x-2\/4{--tw-translate-x:-50%}.\32xl\:-translate-x-3\/4{--tw-translate-x:-75%}.\32xl\:-translate-x-full{--tw-translate-x:-100%}.\32xl\:translate-y-0{--tw-translate-y:0px}.\32xl\:translate-y-1{--tw-translate-y:0.25rem}.\32xl\:translate-y-2{--tw-translate-y:0.5rem}.\32xl\:translate-y-3{--tw-translate-y:0.75rem}.\32xl\:translate-y-4{--tw-translate-y:1rem}.\32xl\:translate-y-5{--tw-translate-y:1.25rem}.\32xl\:translate-y-6{--tw-translate-y:1.5rem}.\32xl\:translate-y-7{--tw-translate-y:1.75rem}.\32xl\:translate-y-8{--tw-translate-y:2rem}.\32xl\:translate-y-9{--tw-translate-y:2.25rem}.\32xl\:translate-y-10{--tw-translate-y:2.5rem}.\32xl\:translate-y-11{--tw-translate-y:2.75rem}.\32xl\:translate-y-12{--tw-translate-y:3rem}.\32xl\:translate-y-14{--tw-translate-y:3.5rem}.\32xl\:translate-y-16{--tw-translate-y:4rem}.\32xl\:translate-y-20{--tw-translate-y:5rem}.\32xl\:translate-y-24{--tw-translate-y:6rem}.\32xl\:translate-y-28{--tw-translate-y:7rem}.\32xl\:translate-y-32{--tw-translate-y:8rem}.\32xl\:translate-y-36{--tw-translate-y:9rem}.\32xl\:translate-y-40{--tw-translate-y:10rem}.\32xl\:translate-y-44{--tw-translate-y:11rem}.\32xl\:translate-y-48{--tw-translate-y:12rem}.\32xl\:translate-y-52{--tw-translate-y:13rem}.\32xl\:translate-y-56{--tw-translate-y:14rem}.\32xl\:translate-y-60{--tw-translate-y:15rem}.\32xl\:translate-y-64{--tw-translate-y:16rem}.\32xl\:translate-y-72{--tw-translate-y:18rem}.\32xl\:translate-y-80{--tw-translate-y:20rem}.\32xl\:translate-y-96{--tw-translate-y:24rem}.\32xl\:translate-y-px{--tw-translate-y:1px}.\32xl\:translate-y-0\.5{--tw-translate-y:0.125rem}.\32xl\:translate-y-1\.5{--tw-translate-y:0.375rem}.\32xl\:translate-y-2\.5{--tw-translate-y:0.625rem}.\32xl\:translate-y-3\.5{--tw-translate-y:0.875rem}.\32xl\:-translate-y-0{--tw-translate-y:0px}.\32xl\:-translate-y-1{--tw-translate-y:-0.25rem}.\32xl\:-translate-y-2{--tw-translate-y:-0.5rem}.\32xl\:-translate-y-3{--tw-translate-y:-0.75rem}.\32xl\:-translate-y-4{--tw-translate-y:-1rem}.\32xl\:-translate-y-5{--tw-translate-y:-1.25rem}.\32xl\:-translate-y-6{--tw-translate-y:-1.5rem}.\32xl\:-translate-y-7{--tw-translate-y:-1.75rem}.\32xl\:-translate-y-8{--tw-translate-y:-2rem}.\32xl\:-translate-y-9{--tw-translate-y:-2.25rem}.\32xl\:-translate-y-10{--tw-translate-y:-2.5rem}.\32xl\:-translate-y-11{--tw-translate-y:-2.75rem}.\32xl\:-translate-y-12{--tw-translate-y:-3rem}.\32xl\:-translate-y-14{--tw-translate-y:-3.5rem}.\32xl\:-translate-y-16{--tw-translate-y:-4rem}.\32xl\:-translate-y-20{--tw-translate-y:-5rem}.\32xl\:-translate-y-24{--tw-translate-y:-6rem}.\32xl\:-translate-y-28{--tw-translate-y:-7rem}.\32xl\:-translate-y-32{--tw-translate-y:-8rem}.\32xl\:-translate-y-36{--tw-translate-y:-9rem}.\32xl\:-translate-y-40{--tw-translate-y:-10rem}.\32xl\:-translate-y-44{--tw-translate-y:-11rem}.\32xl\:-translate-y-48{--tw-translate-y:-12rem}.\32xl\:-translate-y-52{--tw-translate-y:-13rem}.\32xl\:-translate-y-56{--tw-translate-y:-14rem}.\32xl\:-translate-y-60{--tw-translate-y:-15rem}.\32xl\:-translate-y-64{--tw-translate-y:-16rem}.\32xl\:-translate-y-72{--tw-translate-y:-18rem}.\32xl\:-translate-y-80{--tw-translate-y:-20rem}.\32xl\:-translate-y-96{--tw-translate-y:-24rem}.\32xl\:-translate-y-px{--tw-translate-y:-1px}.\32xl\:-translate-y-0\.5{--tw-translate-y:-0.125rem}.\32xl\:-translate-y-1\.5{--tw-translate-y:-0.375rem}.\32xl\:-translate-y-2\.5{--tw-translate-y:-0.625rem}.\32xl\:-translate-y-3\.5{--tw-translate-y:-0.875rem}.\32xl\:translate-y-1\/2{--tw-translate-y:50%}.\32xl\:translate-y-1\/3{--tw-translate-y:33.333333%}.\32xl\:translate-y-2\/3{--tw-translate-y:66.666667%}.\32xl\:translate-y-1\/4{--tw-translate-y:25%}.\32xl\:translate-y-2\/4{--tw-translate-y:50%}.\32xl\:translate-y-3\/4{--tw-translate-y:75%}.\32xl\:translate-y-full{--tw-translate-y:100%}.\32xl\:-translate-y-1\/2{--tw-translate-y:-50%}.\32xl\:-translate-y-1\/3{--tw-translate-y:-33.333333%}.\32xl\:-translate-y-2\/3{--tw-translate-y:-66.666667%}.\32xl\:-translate-y-1\/4{--tw-translate-y:-25%}.\32xl\:-translate-y-2\/4{--tw-translate-y:-50%}.\32xl\:-translate-y-3\/4{--tw-translate-y:-75%}.\32xl\:-translate-y-full{--tw-translate-y:-100%}.\32xl\:hover\:translate-x-0:hover{--tw-translate-x:0px}.\32xl\:hover\:translate-x-1:hover{--tw-translate-x:0.25rem}.\32xl\:hover\:translate-x-2:hover{--tw-translate-x:0.5rem}.\32xl\:hover\:translate-x-3:hover{--tw-translate-x:0.75rem}.\32xl\:hover\:translate-x-4:hover{--tw-translate-x:1rem}.\32xl\:hover\:translate-x-5:hover{--tw-translate-x:1.25rem}.\32xl\:hover\:translate-x-6:hover{--tw-translate-x:1.5rem}.\32xl\:hover\:translate-x-7:hover{--tw-translate-x:1.75rem}.\32xl\:hover\:translate-x-8:hover{--tw-translate-x:2rem}.\32xl\:hover\:translate-x-9:hover{--tw-translate-x:2.25rem}.\32xl\:hover\:translate-x-10:hover{--tw-translate-x:2.5rem}.\32xl\:hover\:translate-x-11:hover{--tw-translate-x:2.75rem}.\32xl\:hover\:translate-x-12:hover{--tw-translate-x:3rem}.\32xl\:hover\:translate-x-14:hover{--tw-translate-x:3.5rem}.\32xl\:hover\:translate-x-16:hover{--tw-translate-x:4rem}.\32xl\:hover\:translate-x-20:hover{--tw-translate-x:5rem}.\32xl\:hover\:translate-x-24:hover{--tw-translate-x:6rem}.\32xl\:hover\:translate-x-28:hover{--tw-translate-x:7rem}.\32xl\:hover\:translate-x-32:hover{--tw-translate-x:8rem}.\32xl\:hover\:translate-x-36:hover{--tw-translate-x:9rem}.\32xl\:hover\:translate-x-40:hover{--tw-translate-x:10rem}.\32xl\:hover\:translate-x-44:hover{--tw-translate-x:11rem}.\32xl\:hover\:translate-x-48:hover{--tw-translate-x:12rem}.\32xl\:hover\:translate-x-52:hover{--tw-translate-x:13rem}.\32xl\:hover\:translate-x-56:hover{--tw-translate-x:14rem}.\32xl\:hover\:translate-x-60:hover{--tw-translate-x:15rem}.\32xl\:hover\:translate-x-64:hover{--tw-translate-x:16rem}.\32xl\:hover\:translate-x-72:hover{--tw-translate-x:18rem}.\32xl\:hover\:translate-x-80:hover{--tw-translate-x:20rem}.\32xl\:hover\:translate-x-96:hover{--tw-translate-x:24rem}.\32xl\:hover\:translate-x-px:hover{--tw-translate-x:1px}.\32xl\:hover\:translate-x-0\.5:hover{--tw-translate-x:0.125rem}.\32xl\:hover\:translate-x-1\.5:hover{--tw-translate-x:0.375rem}.\32xl\:hover\:translate-x-2\.5:hover{--tw-translate-x:0.625rem}.\32xl\:hover\:translate-x-3\.5:hover{--tw-translate-x:0.875rem}.\32xl\:hover\:-translate-x-0:hover{--tw-translate-x:0px}.\32xl\:hover\:-translate-x-1:hover{--tw-translate-x:-0.25rem}.\32xl\:hover\:-translate-x-2:hover{--tw-translate-x:-0.5rem}.\32xl\:hover\:-translate-x-3:hover{--tw-translate-x:-0.75rem}.\32xl\:hover\:-translate-x-4:hover{--tw-translate-x:-1rem}.\32xl\:hover\:-translate-x-5:hover{--tw-translate-x:-1.25rem}.\32xl\:hover\:-translate-x-6:hover{--tw-translate-x:-1.5rem}.\32xl\:hover\:-translate-x-7:hover{--tw-translate-x:-1.75rem}.\32xl\:hover\:-translate-x-8:hover{--tw-translate-x:-2rem}.\32xl\:hover\:-translate-x-9:hover{--tw-translate-x:-2.25rem}.\32xl\:hover\:-translate-x-10:hover{--tw-translate-x:-2.5rem}.\32xl\:hover\:-translate-x-11:hover{--tw-translate-x:-2.75rem}.\32xl\:hover\:-translate-x-12:hover{--tw-translate-x:-3rem}.\32xl\:hover\:-translate-x-14:hover{--tw-translate-x:-3.5rem}.\32xl\:hover\:-translate-x-16:hover{--tw-translate-x:-4rem}.\32xl\:hover\:-translate-x-20:hover{--tw-translate-x:-5rem}.\32xl\:hover\:-translate-x-24:hover{--tw-translate-x:-6rem}.\32xl\:hover\:-translate-x-28:hover{--tw-translate-x:-7rem}.\32xl\:hover\:-translate-x-32:hover{--tw-translate-x:-8rem}.\32xl\:hover\:-translate-x-36:hover{--tw-translate-x:-9rem}.\32xl\:hover\:-translate-x-40:hover{--tw-translate-x:-10rem}.\32xl\:hover\:-translate-x-44:hover{--tw-translate-x:-11rem}.\32xl\:hover\:-translate-x-48:hover{--tw-translate-x:-12rem}.\32xl\:hover\:-translate-x-52:hover{--tw-translate-x:-13rem}.\32xl\:hover\:-translate-x-56:hover{--tw-translate-x:-14rem}.\32xl\:hover\:-translate-x-60:hover{--tw-translate-x:-15rem}.\32xl\:hover\:-translate-x-64:hover{--tw-translate-x:-16rem}.\32xl\:hover\:-translate-x-72:hover{--tw-translate-x:-18rem}.\32xl\:hover\:-translate-x-80:hover{--tw-translate-x:-20rem}.\32xl\:hover\:-translate-x-96:hover{--tw-translate-x:-24rem}.\32xl\:hover\:-translate-x-px:hover{--tw-translate-x:-1px}.\32xl\:hover\:-translate-x-0\.5:hover{--tw-translate-x:-0.125rem}.\32xl\:hover\:-translate-x-1\.5:hover{--tw-translate-x:-0.375rem}.\32xl\:hover\:-translate-x-2\.5:hover{--tw-translate-x:-0.625rem}.\32xl\:hover\:-translate-x-3\.5:hover{--tw-translate-x:-0.875rem}.\32xl\:hover\:translate-x-1\/2:hover{--tw-translate-x:50%}.\32xl\:hover\:translate-x-1\/3:hover{--tw-translate-x:33.333333%}.\32xl\:hover\:translate-x-2\/3:hover{--tw-translate-x:66.666667%}.\32xl\:hover\:translate-x-1\/4:hover{--tw-translate-x:25%}.\32xl\:hover\:translate-x-2\/4:hover{--tw-translate-x:50%}.\32xl\:hover\:translate-x-3\/4:hover{--tw-translate-x:75%}.\32xl\:hover\:translate-x-full:hover{--tw-translate-x:100%}.\32xl\:hover\:-translate-x-1\/2:hover{--tw-translate-x:-50%}.\32xl\:hover\:-translate-x-1\/3:hover{--tw-translate-x:-33.333333%}.\32xl\:hover\:-translate-x-2\/3:hover{--tw-translate-x:-66.666667%}.\32xl\:hover\:-translate-x-1\/4:hover{--tw-translate-x:-25%}.\32xl\:hover\:-translate-x-2\/4:hover{--tw-translate-x:-50%}.\32xl\:hover\:-translate-x-3\/4:hover{--tw-translate-x:-75%}.\32xl\:hover\:-translate-x-full:hover{--tw-translate-x:-100%}.\32xl\:hover\:translate-y-0:hover{--tw-translate-y:0px}.\32xl\:hover\:translate-y-1:hover{--tw-translate-y:0.25rem}.\32xl\:hover\:translate-y-2:hover{--tw-translate-y:0.5rem}.\32xl\:hover\:translate-y-3:hover{--tw-translate-y:0.75rem}.\32xl\:hover\:translate-y-4:hover{--tw-translate-y:1rem}.\32xl\:hover\:translate-y-5:hover{--tw-translate-y:1.25rem}.\32xl\:hover\:translate-y-6:hover{--tw-translate-y:1.5rem}.\32xl\:hover\:translate-y-7:hover{--tw-translate-y:1.75rem}.\32xl\:hover\:translate-y-8:hover{--tw-translate-y:2rem}.\32xl\:hover\:translate-y-9:hover{--tw-translate-y:2.25rem}.\32xl\:hover\:translate-y-10:hover{--tw-translate-y:2.5rem}.\32xl\:hover\:translate-y-11:hover{--tw-translate-y:2.75rem}.\32xl\:hover\:translate-y-12:hover{--tw-translate-y:3rem}.\32xl\:hover\:translate-y-14:hover{--tw-translate-y:3.5rem}.\32xl\:hover\:translate-y-16:hover{--tw-translate-y:4rem}.\32xl\:hover\:translate-y-20:hover{--tw-translate-y:5rem}.\32xl\:hover\:translate-y-24:hover{--tw-translate-y:6rem}.\32xl\:hover\:translate-y-28:hover{--tw-translate-y:7rem}.\32xl\:hover\:translate-y-32:hover{--tw-translate-y:8rem}.\32xl\:hover\:translate-y-36:hover{--tw-translate-y:9rem}.\32xl\:hover\:translate-y-40:hover{--tw-translate-y:10rem}.\32xl\:hover\:translate-y-44:hover{--tw-translate-y:11rem}.\32xl\:hover\:translate-y-48:hover{--tw-translate-y:12rem}.\32xl\:hover\:translate-y-52:hover{--tw-translate-y:13rem}.\32xl\:hover\:translate-y-56:hover{--tw-translate-y:14rem}.\32xl\:hover\:translate-y-60:hover{--tw-translate-y:15rem}.\32xl\:hover\:translate-y-64:hover{--tw-translate-y:16rem}.\32xl\:hover\:translate-y-72:hover{--tw-translate-y:18rem}.\32xl\:hover\:translate-y-80:hover{--tw-translate-y:20rem}.\32xl\:hover\:translate-y-96:hover{--tw-translate-y:24rem}.\32xl\:hover\:translate-y-px:hover{--tw-translate-y:1px}.\32xl\:hover\:translate-y-0\.5:hover{--tw-translate-y:0.125rem}.\32xl\:hover\:translate-y-1\.5:hover{--tw-translate-y:0.375rem}.\32xl\:hover\:translate-y-2\.5:hover{--tw-translate-y:0.625rem}.\32xl\:hover\:translate-y-3\.5:hover{--tw-translate-y:0.875rem}.\32xl\:hover\:-translate-y-0:hover{--tw-translate-y:0px}.\32xl\:hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.\32xl\:hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.\32xl\:hover\:-translate-y-3:hover{--tw-translate-y:-0.75rem}.\32xl\:hover\:-translate-y-4:hover{--tw-translate-y:-1rem}.\32xl\:hover\:-translate-y-5:hover{--tw-translate-y:-1.25rem}.\32xl\:hover\:-translate-y-6:hover{--tw-translate-y:-1.5rem}.\32xl\:hover\:-translate-y-7:hover{--tw-translate-y:-1.75rem}.\32xl\:hover\:-translate-y-8:hover{--tw-translate-y:-2rem}.\32xl\:hover\:-translate-y-9:hover{--tw-translate-y:-2.25rem}.\32xl\:hover\:-translate-y-10:hover{--tw-translate-y:-2.5rem}.\32xl\:hover\:-translate-y-11:hover{--tw-translate-y:-2.75rem}.\32xl\:hover\:-translate-y-12:hover{--tw-translate-y:-3rem}.\32xl\:hover\:-translate-y-14:hover{--tw-translate-y:-3.5rem}.\32xl\:hover\:-translate-y-16:hover{--tw-translate-y:-4rem}.\32xl\:hover\:-translate-y-20:hover{--tw-translate-y:-5rem}.\32xl\:hover\:-translate-y-24:hover{--tw-translate-y:-6rem}.\32xl\:hover\:-translate-y-28:hover{--tw-translate-y:-7rem}.\32xl\:hover\:-translate-y-32:hover{--tw-translate-y:-8rem}.\32xl\:hover\:-translate-y-36:hover{--tw-translate-y:-9rem}.\32xl\:hover\:-translate-y-40:hover{--tw-translate-y:-10rem}.\32xl\:hover\:-translate-y-44:hover{--tw-translate-y:-11rem}.\32xl\:hover\:-translate-y-48:hover{--tw-translate-y:-12rem}.\32xl\:hover\:-translate-y-52:hover{--tw-translate-y:-13rem}.\32xl\:hover\:-translate-y-56:hover{--tw-translate-y:-14rem}.\32xl\:hover\:-translate-y-60:hover{--tw-translate-y:-15rem}.\32xl\:hover\:-translate-y-64:hover{--tw-translate-y:-16rem}.\32xl\:hover\:-translate-y-72:hover{--tw-translate-y:-18rem}.\32xl\:hover\:-translate-y-80:hover{--tw-translate-y:-20rem}.\32xl\:hover\:-translate-y-96:hover{--tw-translate-y:-24rem}.\32xl\:hover\:-translate-y-px:hover{--tw-translate-y:-1px}.\32xl\:hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.\32xl\:hover\:-translate-y-1\.5:hover{--tw-translate-y:-0.375rem}.\32xl\:hover\:-translate-y-2\.5:hover{--tw-translate-y:-0.625rem}.\32xl\:hover\:-translate-y-3\.5:hover{--tw-translate-y:-0.875rem}.\32xl\:hover\:translate-y-1\/2:hover{--tw-translate-y:50%}.\32xl\:hover\:translate-y-1\/3:hover{--tw-translate-y:33.333333%}.\32xl\:hover\:translate-y-2\/3:hover{--tw-translate-y:66.666667%}.\32xl\:hover\:translate-y-1\/4:hover{--tw-translate-y:25%}.\32xl\:hover\:translate-y-2\/4:hover{--tw-translate-y:50%}.\32xl\:hover\:translate-y-3\/4:hover{--tw-translate-y:75%}.\32xl\:hover\:translate-y-full:hover{--tw-translate-y:100%}.\32xl\:hover\:-translate-y-1\/2:hover{--tw-translate-y:-50%}.\32xl\:hover\:-translate-y-1\/3:hover{--tw-translate-y:-33.333333%}.\32xl\:hover\:-translate-y-2\/3:hover{--tw-translate-y:-66.666667%}.\32xl\:hover\:-translate-y-1\/4:hover{--tw-translate-y:-25%}.\32xl\:hover\:-translate-y-2\/4:hover{--tw-translate-y:-50%}.\32xl\:hover\:-translate-y-3\/4:hover{--tw-translate-y:-75%}.\32xl\:hover\:-translate-y-full:hover{--tw-translate-y:-100%}.\32xl\:focus\:translate-x-0:focus{--tw-translate-x:0px}.\32xl\:focus\:translate-x-1:focus{--tw-translate-x:0.25rem}.\32xl\:focus\:translate-x-2:focus{--tw-translate-x:0.5rem}.\32xl\:focus\:translate-x-3:focus{--tw-translate-x:0.75rem}.\32xl\:focus\:translate-x-4:focus{--tw-translate-x:1rem}.\32xl\:focus\:translate-x-5:focus{--tw-translate-x:1.25rem}.\32xl\:focus\:translate-x-6:focus{--tw-translate-x:1.5rem}.\32xl\:focus\:translate-x-7:focus{--tw-translate-x:1.75rem}.\32xl\:focus\:translate-x-8:focus{--tw-translate-x:2rem}.\32xl\:focus\:translate-x-9:focus{--tw-translate-x:2.25rem}.\32xl\:focus\:translate-x-10:focus{--tw-translate-x:2.5rem}.\32xl\:focus\:translate-x-11:focus{--tw-translate-x:2.75rem}.\32xl\:focus\:translate-x-12:focus{--tw-translate-x:3rem}.\32xl\:focus\:translate-x-14:focus{--tw-translate-x:3.5rem}.\32xl\:focus\:translate-x-16:focus{--tw-translate-x:4rem}.\32xl\:focus\:translate-x-20:focus{--tw-translate-x:5rem}.\32xl\:focus\:translate-x-24:focus{--tw-translate-x:6rem}.\32xl\:focus\:translate-x-28:focus{--tw-translate-x:7rem}.\32xl\:focus\:translate-x-32:focus{--tw-translate-x:8rem}.\32xl\:focus\:translate-x-36:focus{--tw-translate-x:9rem}.\32xl\:focus\:translate-x-40:focus{--tw-translate-x:10rem}.\32xl\:focus\:translate-x-44:focus{--tw-translate-x:11rem}.\32xl\:focus\:translate-x-48:focus{--tw-translate-x:12rem}.\32xl\:focus\:translate-x-52:focus{--tw-translate-x:13rem}.\32xl\:focus\:translate-x-56:focus{--tw-translate-x:14rem}.\32xl\:focus\:translate-x-60:focus{--tw-translate-x:15rem}.\32xl\:focus\:translate-x-64:focus{--tw-translate-x:16rem}.\32xl\:focus\:translate-x-72:focus{--tw-translate-x:18rem}.\32xl\:focus\:translate-x-80:focus{--tw-translate-x:20rem}.\32xl\:focus\:translate-x-96:focus{--tw-translate-x:24rem}.\32xl\:focus\:translate-x-px:focus{--tw-translate-x:1px}.\32xl\:focus\:translate-x-0\.5:focus{--tw-translate-x:0.125rem}.\32xl\:focus\:translate-x-1\.5:focus{--tw-translate-x:0.375rem}.\32xl\:focus\:translate-x-2\.5:focus{--tw-translate-x:0.625rem}.\32xl\:focus\:translate-x-3\.5:focus{--tw-translate-x:0.875rem}.\32xl\:focus\:-translate-x-0:focus{--tw-translate-x:0px}.\32xl\:focus\:-translate-x-1:focus{--tw-translate-x:-0.25rem}.\32xl\:focus\:-translate-x-2:focus{--tw-translate-x:-0.5rem}.\32xl\:focus\:-translate-x-3:focus{--tw-translate-x:-0.75rem}.\32xl\:focus\:-translate-x-4:focus{--tw-translate-x:-1rem}.\32xl\:focus\:-translate-x-5:focus{--tw-translate-x:-1.25rem}.\32xl\:focus\:-translate-x-6:focus{--tw-translate-x:-1.5rem}.\32xl\:focus\:-translate-x-7:focus{--tw-translate-x:-1.75rem}.\32xl\:focus\:-translate-x-8:focus{--tw-translate-x:-2rem}.\32xl\:focus\:-translate-x-9:focus{--tw-translate-x:-2.25rem}.\32xl\:focus\:-translate-x-10:focus{--tw-translate-x:-2.5rem}.\32xl\:focus\:-translate-x-11:focus{--tw-translate-x:-2.75rem}.\32xl\:focus\:-translate-x-12:focus{--tw-translate-x:-3rem}.\32xl\:focus\:-translate-x-14:focus{--tw-translate-x:-3.5rem}.\32xl\:focus\:-translate-x-16:focus{--tw-translate-x:-4rem}.\32xl\:focus\:-translate-x-20:focus{--tw-translate-x:-5rem}.\32xl\:focus\:-translate-x-24:focus{--tw-translate-x:-6rem}.\32xl\:focus\:-translate-x-28:focus{--tw-translate-x:-7rem}.\32xl\:focus\:-translate-x-32:focus{--tw-translate-x:-8rem}.\32xl\:focus\:-translate-x-36:focus{--tw-translate-x:-9rem}.\32xl\:focus\:-translate-x-40:focus{--tw-translate-x:-10rem}.\32xl\:focus\:-translate-x-44:focus{--tw-translate-x:-11rem}.\32xl\:focus\:-translate-x-48:focus{--tw-translate-x:-12rem}.\32xl\:focus\:-translate-x-52:focus{--tw-translate-x:-13rem}.\32xl\:focus\:-translate-x-56:focus{--tw-translate-x:-14rem}.\32xl\:focus\:-translate-x-60:focus{--tw-translate-x:-15rem}.\32xl\:focus\:-translate-x-64:focus{--tw-translate-x:-16rem}.\32xl\:focus\:-translate-x-72:focus{--tw-translate-x:-18rem}.\32xl\:focus\:-translate-x-80:focus{--tw-translate-x:-20rem}.\32xl\:focus\:-translate-x-96:focus{--tw-translate-x:-24rem}.\32xl\:focus\:-translate-x-px:focus{--tw-translate-x:-1px}.\32xl\:focus\:-translate-x-0\.5:focus{--tw-translate-x:-0.125rem}.\32xl\:focus\:-translate-x-1\.5:focus{--tw-translate-x:-0.375rem}.\32xl\:focus\:-translate-x-2\.5:focus{--tw-translate-x:-0.625rem}.\32xl\:focus\:-translate-x-3\.5:focus{--tw-translate-x:-0.875rem}.\32xl\:focus\:translate-x-1\/2:focus{--tw-translate-x:50%}.\32xl\:focus\:translate-x-1\/3:focus{--tw-translate-x:33.333333%}.\32xl\:focus\:translate-x-2\/3:focus{--tw-translate-x:66.666667%}.\32xl\:focus\:translate-x-1\/4:focus{--tw-translate-x:25%}.\32xl\:focus\:translate-x-2\/4:focus{--tw-translate-x:50%}.\32xl\:focus\:translate-x-3\/4:focus{--tw-translate-x:75%}.\32xl\:focus\:translate-x-full:focus{--tw-translate-x:100%}.\32xl\:focus\:-translate-x-1\/2:focus{--tw-translate-x:-50%}.\32xl\:focus\:-translate-x-1\/3:focus{--tw-translate-x:-33.333333%}.\32xl\:focus\:-translate-x-2\/3:focus{--tw-translate-x:-66.666667%}.\32xl\:focus\:-translate-x-1\/4:focus{--tw-translate-x:-25%}.\32xl\:focus\:-translate-x-2\/4:focus{--tw-translate-x:-50%}.\32xl\:focus\:-translate-x-3\/4:focus{--tw-translate-x:-75%}.\32xl\:focus\:-translate-x-full:focus{--tw-translate-x:-100%}.\32xl\:focus\:translate-y-0:focus{--tw-translate-y:0px}.\32xl\:focus\:translate-y-1:focus{--tw-translate-y:0.25rem}.\32xl\:focus\:translate-y-2:focus{--tw-translate-y:0.5rem}.\32xl\:focus\:translate-y-3:focus{--tw-translate-y:0.75rem}.\32xl\:focus\:translate-y-4:focus{--tw-translate-y:1rem}.\32xl\:focus\:translate-y-5:focus{--tw-translate-y:1.25rem}.\32xl\:focus\:translate-y-6:focus{--tw-translate-y:1.5rem}.\32xl\:focus\:translate-y-7:focus{--tw-translate-y:1.75rem}.\32xl\:focus\:translate-y-8:focus{--tw-translate-y:2rem}.\32xl\:focus\:translate-y-9:focus{--tw-translate-y:2.25rem}.\32xl\:focus\:translate-y-10:focus{--tw-translate-y:2.5rem}.\32xl\:focus\:translate-y-11:focus{--tw-translate-y:2.75rem}.\32xl\:focus\:translate-y-12:focus{--tw-translate-y:3rem}.\32xl\:focus\:translate-y-14:focus{--tw-translate-y:3.5rem}.\32xl\:focus\:translate-y-16:focus{--tw-translate-y:4rem}.\32xl\:focus\:translate-y-20:focus{--tw-translate-y:5rem}.\32xl\:focus\:translate-y-24:focus{--tw-translate-y:6rem}.\32xl\:focus\:translate-y-28:focus{--tw-translate-y:7rem}.\32xl\:focus\:translate-y-32:focus{--tw-translate-y:8rem}.\32xl\:focus\:translate-y-36:focus{--tw-translate-y:9rem}.\32xl\:focus\:translate-y-40:focus{--tw-translate-y:10rem}.\32xl\:focus\:translate-y-44:focus{--tw-translate-y:11rem}.\32xl\:focus\:translate-y-48:focus{--tw-translate-y:12rem}.\32xl\:focus\:translate-y-52:focus{--tw-translate-y:13rem}.\32xl\:focus\:translate-y-56:focus{--tw-translate-y:14rem}.\32xl\:focus\:translate-y-60:focus{--tw-translate-y:15rem}.\32xl\:focus\:translate-y-64:focus{--tw-translate-y:16rem}.\32xl\:focus\:translate-y-72:focus{--tw-translate-y:18rem}.\32xl\:focus\:translate-y-80:focus{--tw-translate-y:20rem}.\32xl\:focus\:translate-y-96:focus{--tw-translate-y:24rem}.\32xl\:focus\:translate-y-px:focus{--tw-translate-y:1px}.\32xl\:focus\:translate-y-0\.5:focus{--tw-translate-y:0.125rem}.\32xl\:focus\:translate-y-1\.5:focus{--tw-translate-y:0.375rem}.\32xl\:focus\:translate-y-2\.5:focus{--tw-translate-y:0.625rem}.\32xl\:focus\:translate-y-3\.5:focus{--tw-translate-y:0.875rem}.\32xl\:focus\:-translate-y-0:focus{--tw-translate-y:0px}.\32xl\:focus\:-translate-y-1:focus{--tw-translate-y:-0.25rem}.\32xl\:focus\:-translate-y-2:focus{--tw-translate-y:-0.5rem}.\32xl\:focus\:-translate-y-3:focus{--tw-translate-y:-0.75rem}.\32xl\:focus\:-translate-y-4:focus{--tw-translate-y:-1rem}.\32xl\:focus\:-translate-y-5:focus{--tw-translate-y:-1.25rem}.\32xl\:focus\:-translate-y-6:focus{--tw-translate-y:-1.5rem}.\32xl\:focus\:-translate-y-7:focus{--tw-translate-y:-1.75rem}.\32xl\:focus\:-translate-y-8:focus{--tw-translate-y:-2rem}.\32xl\:focus\:-translate-y-9:focus{--tw-translate-y:-2.25rem}.\32xl\:focus\:-translate-y-10:focus{--tw-translate-y:-2.5rem}.\32xl\:focus\:-translate-y-11:focus{--tw-translate-y:-2.75rem}.\32xl\:focus\:-translate-y-12:focus{--tw-translate-y:-3rem}.\32xl\:focus\:-translate-y-14:focus{--tw-translate-y:-3.5rem}.\32xl\:focus\:-translate-y-16:focus{--tw-translate-y:-4rem}.\32xl\:focus\:-translate-y-20:focus{--tw-translate-y:-5rem}.\32xl\:focus\:-translate-y-24:focus{--tw-translate-y:-6rem}.\32xl\:focus\:-translate-y-28:focus{--tw-translate-y:-7rem}.\32xl\:focus\:-translate-y-32:focus{--tw-translate-y:-8rem}.\32xl\:focus\:-translate-y-36:focus{--tw-translate-y:-9rem}.\32xl\:focus\:-translate-y-40:focus{--tw-translate-y:-10rem}.\32xl\:focus\:-translate-y-44:focus{--tw-translate-y:-11rem}.\32xl\:focus\:-translate-y-48:focus{--tw-translate-y:-12rem}.\32xl\:focus\:-translate-y-52:focus{--tw-translate-y:-13rem}.\32xl\:focus\:-translate-y-56:focus{--tw-translate-y:-14rem}.\32xl\:focus\:-translate-y-60:focus{--tw-translate-y:-15rem}.\32xl\:focus\:-translate-y-64:focus{--tw-translate-y:-16rem}.\32xl\:focus\:-translate-y-72:focus{--tw-translate-y:-18rem}.\32xl\:focus\:-translate-y-80:focus{--tw-translate-y:-20rem}.\32xl\:focus\:-translate-y-96:focus{--tw-translate-y:-24rem}.\32xl\:focus\:-translate-y-px:focus{--tw-translate-y:-1px}.\32xl\:focus\:-translate-y-0\.5:focus{--tw-translate-y:-0.125rem}.\32xl\:focus\:-translate-y-1\.5:focus{--tw-translate-y:-0.375rem}.\32xl\:focus\:-translate-y-2\.5:focus{--tw-translate-y:-0.625rem}.\32xl\:focus\:-translate-y-3\.5:focus{--tw-translate-y:-0.875rem}.\32xl\:focus\:translate-y-1\/2:focus{--tw-translate-y:50%}.\32xl\:focus\:translate-y-1\/3:focus{--tw-translate-y:33.333333%}.\32xl\:focus\:translate-y-2\/3:focus{--tw-translate-y:66.666667%}.\32xl\:focus\:translate-y-1\/4:focus{--tw-translate-y:25%}.\32xl\:focus\:translate-y-2\/4:focus{--tw-translate-y:50%}.\32xl\:focus\:translate-y-3\/4:focus{--tw-translate-y:75%}.\32xl\:focus\:translate-y-full:focus{--tw-translate-y:100%}.\32xl\:focus\:-translate-y-1\/2:focus{--tw-translate-y:-50%}.\32xl\:focus\:-translate-y-1\/3:focus{--tw-translate-y:-33.333333%}.\32xl\:focus\:-translate-y-2\/3:focus{--tw-translate-y:-66.666667%}.\32xl\:focus\:-translate-y-1\/4:focus{--tw-translate-y:-25%}.\32xl\:focus\:-translate-y-2\/4:focus{--tw-translate-y:-50%}.\32xl\:focus\:-translate-y-3\/4:focus{--tw-translate-y:-75%}.\32xl\:focus\:-translate-y-full:focus{--tw-translate-y:-100%}.\32xl\:rotate-0{--tw-rotate:0deg}.\32xl\:rotate-1{--tw-rotate:1deg}.\32xl\:rotate-2{--tw-rotate:2deg}.\32xl\:rotate-3{--tw-rotate:3deg}.\32xl\:rotate-6{--tw-rotate:6deg}.\32xl\:rotate-12{--tw-rotate:12deg}.\32xl\:rotate-45{--tw-rotate:45deg}.\32xl\:rotate-90{--tw-rotate:90deg}.\32xl\:rotate-180{--tw-rotate:180deg}.\32xl\:-rotate-180{--tw-rotate:-180deg}.\32xl\:-rotate-90{--tw-rotate:-90deg}.\32xl\:-rotate-45{--tw-rotate:-45deg}.\32xl\:-rotate-12{--tw-rotate:-12deg}.\32xl\:-rotate-6{--tw-rotate:-6deg}.\32xl\:-rotate-3{--tw-rotate:-3deg}.\32xl\:-rotate-2{--tw-rotate:-2deg}.\32xl\:-rotate-1{--tw-rotate:-1deg}.\32xl\:hover\:rotate-0:hover{--tw-rotate:0deg}.\32xl\:hover\:rotate-1:hover{--tw-rotate:1deg}.\32xl\:hover\:rotate-2:hover{--tw-rotate:2deg}.\32xl\:hover\:rotate-3:hover{--tw-rotate:3deg}.\32xl\:hover\:rotate-6:hover{--tw-rotate:6deg}.\32xl\:hover\:rotate-12:hover{--tw-rotate:12deg}.\32xl\:hover\:rotate-45:hover{--tw-rotate:45deg}.\32xl\:hover\:rotate-90:hover{--tw-rotate:90deg}.\32xl\:hover\:rotate-180:hover{--tw-rotate:180deg}.\32xl\:hover\:-rotate-180:hover{--tw-rotate:-180deg}.\32xl\:hover\:-rotate-90:hover{--tw-rotate:-90deg}.\32xl\:hover\:-rotate-45:hover{--tw-rotate:-45deg}.\32xl\:hover\:-rotate-12:hover{--tw-rotate:-12deg}.\32xl\:hover\:-rotate-6:hover{--tw-rotate:-6deg}.\32xl\:hover\:-rotate-3:hover{--tw-rotate:-3deg}.\32xl\:hover\:-rotate-2:hover{--tw-rotate:-2deg}.\32xl\:hover\:-rotate-1:hover{--tw-rotate:-1deg}.\32xl\:focus\:rotate-0:focus{--tw-rotate:0deg}.\32xl\:focus\:rotate-1:focus{--tw-rotate:1deg}.\32xl\:focus\:rotate-2:focus{--tw-rotate:2deg}.\32xl\:focus\:rotate-3:focus{--tw-rotate:3deg}.\32xl\:focus\:rotate-6:focus{--tw-rotate:6deg}.\32xl\:focus\:rotate-12:focus{--tw-rotate:12deg}.\32xl\:focus\:rotate-45:focus{--tw-rotate:45deg}.\32xl\:focus\:rotate-90:focus{--tw-rotate:90deg}.\32xl\:focus\:rotate-180:focus{--tw-rotate:180deg}.\32xl\:focus\:-rotate-180:focus{--tw-rotate:-180deg}.\32xl\:focus\:-rotate-90:focus{--tw-rotate:-90deg}.\32xl\:focus\:-rotate-45:focus{--tw-rotate:-45deg}.\32xl\:focus\:-rotate-12:focus{--tw-rotate:-12deg}.\32xl\:focus\:-rotate-6:focus{--tw-rotate:-6deg}.\32xl\:focus\:-rotate-3:focus{--tw-rotate:-3deg}.\32xl\:focus\:-rotate-2:focus{--tw-rotate:-2deg}.\32xl\:focus\:-rotate-1:focus{--tw-rotate:-1deg}.\32xl\:skew-x-0{--tw-skew-x:0deg}.\32xl\:skew-x-1{--tw-skew-x:1deg}.\32xl\:skew-x-2{--tw-skew-x:2deg}.\32xl\:skew-x-3{--tw-skew-x:3deg}.\32xl\:skew-x-6{--tw-skew-x:6deg}.\32xl\:skew-x-12{--tw-skew-x:12deg}.\32xl\:-skew-x-12{--tw-skew-x:-12deg}.\32xl\:-skew-x-6{--tw-skew-x:-6deg}.\32xl\:-skew-x-3{--tw-skew-x:-3deg}.\32xl\:-skew-x-2{--tw-skew-x:-2deg}.\32xl\:-skew-x-1{--tw-skew-x:-1deg}.\32xl\:skew-y-0{--tw-skew-y:0deg}.\32xl\:skew-y-1{--tw-skew-y:1deg}.\32xl\:skew-y-2{--tw-skew-y:2deg}.\32xl\:skew-y-3{--tw-skew-y:3deg}.\32xl\:skew-y-6{--tw-skew-y:6deg}.\32xl\:skew-y-12{--tw-skew-y:12deg}.\32xl\:-skew-y-12{--tw-skew-y:-12deg}.\32xl\:-skew-y-6{--tw-skew-y:-6deg}.\32xl\:-skew-y-3{--tw-skew-y:-3deg}.\32xl\:-skew-y-2{--tw-skew-y:-2deg}.\32xl\:-skew-y-1{--tw-skew-y:-1deg}.\32xl\:hover\:skew-x-0:hover{--tw-skew-x:0deg}.\32xl\:hover\:skew-x-1:hover{--tw-skew-x:1deg}.\32xl\:hover\:skew-x-2:hover{--tw-skew-x:2deg}.\32xl\:hover\:skew-x-3:hover{--tw-skew-x:3deg}.\32xl\:hover\:skew-x-6:hover{--tw-skew-x:6deg}.\32xl\:hover\:skew-x-12:hover{--tw-skew-x:12deg}.\32xl\:hover\:-skew-x-12:hover{--tw-skew-x:-12deg}.\32xl\:hover\:-skew-x-6:hover{--tw-skew-x:-6deg}.\32xl\:hover\:-skew-x-3:hover{--tw-skew-x:-3deg}.\32xl\:hover\:-skew-x-2:hover{--tw-skew-x:-2deg}.\32xl\:hover\:-skew-x-1:hover{--tw-skew-x:-1deg}.\32xl\:hover\:skew-y-0:hover{--tw-skew-y:0deg}.\32xl\:hover\:skew-y-1:hover{--tw-skew-y:1deg}.\32xl\:hover\:skew-y-2:hover{--tw-skew-y:2deg}.\32xl\:hover\:skew-y-3:hover{--tw-skew-y:3deg}.\32xl\:hover\:skew-y-6:hover{--tw-skew-y:6deg}.\32xl\:hover\:skew-y-12:hover{--tw-skew-y:12deg}.\32xl\:hover\:-skew-y-12:hover{--tw-skew-y:-12deg}.\32xl\:hover\:-skew-y-6:hover{--tw-skew-y:-6deg}.\32xl\:hover\:-skew-y-3:hover{--tw-skew-y:-3deg}.\32xl\:hover\:-skew-y-2:hover{--tw-skew-y:-2deg}.\32xl\:hover\:-skew-y-1:hover{--tw-skew-y:-1deg}.\32xl\:focus\:skew-x-0:focus{--tw-skew-x:0deg}.\32xl\:focus\:skew-x-1:focus{--tw-skew-x:1deg}.\32xl\:focus\:skew-x-2:focus{--tw-skew-x:2deg}.\32xl\:focus\:skew-x-3:focus{--tw-skew-x:3deg}.\32xl\:focus\:skew-x-6:focus{--tw-skew-x:6deg}.\32xl\:focus\:skew-x-12:focus{--tw-skew-x:12deg}.\32xl\:focus\:-skew-x-12:focus{--tw-skew-x:-12deg}.\32xl\:focus\:-skew-x-6:focus{--tw-skew-x:-6deg}.\32xl\:focus\:-skew-x-3:focus{--tw-skew-x:-3deg}.\32xl\:focus\:-skew-x-2:focus{--tw-skew-x:-2deg}.\32xl\:focus\:-skew-x-1:focus{--tw-skew-x:-1deg}.\32xl\:focus\:skew-y-0:focus{--tw-skew-y:0deg}.\32xl\:focus\:skew-y-1:focus{--tw-skew-y:1deg}.\32xl\:focus\:skew-y-2:focus{--tw-skew-y:2deg}.\32xl\:focus\:skew-y-3:focus{--tw-skew-y:3deg}.\32xl\:focus\:skew-y-6:focus{--tw-skew-y:6deg}.\32xl\:focus\:skew-y-12:focus{--tw-skew-y:12deg}.\32xl\:focus\:-skew-y-12:focus{--tw-skew-y:-12deg}.\32xl\:focus\:-skew-y-6:focus{--tw-skew-y:-6deg}.\32xl\:focus\:-skew-y-3:focus{--tw-skew-y:-3deg}.\32xl\:focus\:-skew-y-2:focus{--tw-skew-y:-2deg}.\32xl\:focus\:-skew-y-1:focus{--tw-skew-y:-1deg}.\32xl\:scale-0{--tw-scale-x:0;--tw-scale-y:0}.\32xl\:scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.\32xl\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.\32xl\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.\32xl\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.\32xl\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.\32xl\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.\32xl\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.\32xl\:scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.\32xl\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.\32xl\:hover\:scale-0:hover{--tw-scale-x:0;--tw-scale-y:0}.\32xl\:hover\:scale-50:hover{--tw-scale-x:.5;--tw-scale-y:.5}.\32xl\:hover\:scale-75:hover{--tw-scale-x:.75;--tw-scale-y:.75}.\32xl\:hover\:scale-90:hover{--tw-scale-x:.9;--tw-scale-y:.9}.\32xl\:hover\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.\32xl\:hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1}.\32xl\:hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.\32xl\:hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.\32xl\:hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25}.\32xl\:hover\:scale-150:hover{--tw-scale-x:1.5;--tw-scale-y:1.5}.\32xl\:focus\:scale-0:focus{--tw-scale-x:0;--tw-scale-y:0}.\32xl\:focus\:scale-50:focus{--tw-scale-x:.5;--tw-scale-y:.5}.\32xl\:focus\:scale-75:focus{--tw-scale-x:.75;--tw-scale-y:.75}.\32xl\:focus\:scale-90:focus{--tw-scale-x:.9;--tw-scale-y:.9}.\32xl\:focus\:scale-95:focus{--tw-scale-x:.95;--tw-scale-y:.95}.\32xl\:focus\:scale-100:focus{--tw-scale-x:1;--tw-scale-y:1}.\32xl\:focus\:scale-105:focus{--tw-scale-x:1.05;--tw-scale-y:1.05}.\32xl\:focus\:scale-110:focus{--tw-scale-x:1.1;--tw-scale-y:1.1}.\32xl\:focus\:scale-125:focus{--tw-scale-x:1.25;--tw-scale-y:1.25}.\32xl\:focus\:scale-150:focus{--tw-scale-x:1.5;--tw-scale-y:1.5}.\32xl\:scale-x-0{--tw-scale-x:0}.\32xl\:scale-x-50{--tw-scale-x:.5}.\32xl\:scale-x-75{--tw-scale-x:.75}.\32xl\:scale-x-90{--tw-scale-x:.9}.\32xl\:scale-x-95{--tw-scale-x:.95}.\32xl\:scale-x-100{--tw-scale-x:1}.\32xl\:scale-x-105{--tw-scale-x:1.05}.\32xl\:scale-x-110{--tw-scale-x:1.1}.\32xl\:scale-x-125{--tw-scale-x:1.25}.\32xl\:scale-x-150{--tw-scale-x:1.5}.\32xl\:scale-y-0{--tw-scale-y:0}.\32xl\:scale-y-50{--tw-scale-y:.5}.\32xl\:scale-y-75{--tw-scale-y:.75}.\32xl\:scale-y-90{--tw-scale-y:.9}.\32xl\:scale-y-95{--tw-scale-y:.95}.\32xl\:scale-y-100{--tw-scale-y:1}.\32xl\:scale-y-105{--tw-scale-y:1.05}.\32xl\:scale-y-110{--tw-scale-y:1.1}.\32xl\:scale-y-125{--tw-scale-y:1.25}.\32xl\:scale-y-150{--tw-scale-y:1.5}.\32xl\:hover\:scale-x-0:hover{--tw-scale-x:0}.\32xl\:hover\:scale-x-50:hover{--tw-scale-x:.5}.\32xl\:hover\:scale-x-75:hover{--tw-scale-x:.75}.\32xl\:hover\:scale-x-90:hover{--tw-scale-x:.9}.\32xl\:hover\:scale-x-95:hover{--tw-scale-x:.95}.\32xl\:hover\:scale-x-100:hover{--tw-scale-x:1}.\32xl\:hover\:scale-x-105:hover{--tw-scale-x:1.05}.\32xl\:hover\:scale-x-110:hover{--tw-scale-x:1.1}.\32xl\:hover\:scale-x-125:hover{--tw-scale-x:1.25}.\32xl\:hover\:scale-x-150:hover{--tw-scale-x:1.5}.\32xl\:hover\:scale-y-0:hover{--tw-scale-y:0}.\32xl\:hover\:scale-y-50:hover{--tw-scale-y:.5}.\32xl\:hover\:scale-y-75:hover{--tw-scale-y:.75}.\32xl\:hover\:scale-y-90:hover{--tw-scale-y:.9}.\32xl\:hover\:scale-y-95:hover{--tw-scale-y:.95}.\32xl\:hover\:scale-y-100:hover{--tw-scale-y:1}.\32xl\:hover\:scale-y-105:hover{--tw-scale-y:1.05}.\32xl\:hover\:scale-y-110:hover{--tw-scale-y:1.1}.\32xl\:hover\:scale-y-125:hover{--tw-scale-y:1.25}.\32xl\:hover\:scale-y-150:hover{--tw-scale-y:1.5}.\32xl\:focus\:scale-x-0:focus{--tw-scale-x:0}.\32xl\:focus\:scale-x-50:focus{--tw-scale-x:.5}.\32xl\:focus\:scale-x-75:focus{--tw-scale-x:.75}.\32xl\:focus\:scale-x-90:focus{--tw-scale-x:.9}.\32xl\:focus\:scale-x-95:focus{--tw-scale-x:.95}.\32xl\:focus\:scale-x-100:focus{--tw-scale-x:1}.\32xl\:focus\:scale-x-105:focus{--tw-scale-x:1.05}.\32xl\:focus\:scale-x-110:focus{--tw-scale-x:1.1}.\32xl\:focus\:scale-x-125:focus{--tw-scale-x:1.25}.\32xl\:focus\:scale-x-150:focus{--tw-scale-x:1.5}.\32xl\:focus\:scale-y-0:focus{--tw-scale-y:0}.\32xl\:focus\:scale-y-50:focus{--tw-scale-y:.5}.\32xl\:focus\:scale-y-75:focus{--tw-scale-y:.75}.\32xl\:focus\:scale-y-90:focus{--tw-scale-y:.9}.\32xl\:focus\:scale-y-95:focus{--tw-scale-y:.95}.\32xl\:focus\:scale-y-100:focus{--tw-scale-y:1}.\32xl\:focus\:scale-y-105:focus{--tw-scale-y:1.05}.\32xl\:focus\:scale-y-110:focus{--tw-scale-y:1.1}.\32xl\:focus\:scale-y-125:focus{--tw-scale-y:1.25}.\32xl\:focus\:scale-y-150:focus{--tw-scale-y:1.5}.\32xl\:animate-none{animation:none}.\32xl\:animate-spin{animation:spin 1s linear infinite}.\32xl\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.\32xl\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.\32xl\:animate-bounce{animation:bounce 1s infinite}.\32xl\:cursor-auto{cursor:auto}.\32xl\:cursor-default{cursor:default}.\32xl\:cursor-pointer{cursor:pointer}.\32xl\:cursor-wait{cursor:wait}.\32xl\:cursor-text{cursor:text}.\32xl\:cursor-move{cursor:move}.\32xl\:cursor-help{cursor:help}.\32xl\:cursor-not-allowed{cursor:not-allowed}.\32xl\:select-none{-webkit-user-select:none;user-select:none}.\32xl\:select-text{-webkit-user-select:text;user-select:text}.\32xl\:select-all{-webkit-user-select:all;user-select:all}.\32xl\:select-auto{-webkit-user-select:auto;user-select:auto}.\32xl\:resize-none{resize:none}.\32xl\:resize-y{resize:vertical}.\32xl\:resize-x{resize:horizontal}.\32xl\:resize{resize:both}.\32xl\:list-inside{list-style-position:inside}.\32xl\:list-outside{list-style-position:outside}.\32xl\:list-none{list-style-type:none}.\32xl\:list-disc{list-style-type:disc}.\32xl\:list-decimal{list-style-type:decimal}.\32xl\:appearance-none{-webkit-appearance:none;appearance:none}.\32xl\:auto-cols-auto{grid-auto-columns:auto}.\32xl\:auto-cols-min{grid-auto-columns:min-content}.\32xl\:auto-cols-max{grid-auto-columns:max-content}.\32xl\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.\32xl\:grid-flow-row{grid-auto-flow:row}.\32xl\:grid-flow-col{grid-auto-flow:column}.\32xl\:grid-flow-row-dense{grid-auto-flow:row dense}.\32xl\:grid-flow-col-dense{grid-auto-flow:column dense}.\32xl\:auto-rows-auto{grid-auto-rows:auto}.\32xl\:auto-rows-min{grid-auto-rows:min-content}.\32xl\:auto-rows-max{grid-auto-rows:max-content}.\32xl\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.\32xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.\32xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\32xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.\32xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.\32xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.\32xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.\32xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.\32xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.\32xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.\32xl\:grid-cols-none{grid-template-columns:none}.\32xl\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.\32xl\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.\32xl\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.\32xl\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.\32xl\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.\32xl\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.\32xl\:grid-rows-none{grid-template-rows:none}.\32xl\:flex-row{flex-direction:row}.\32xl\:flex-row-reverse{flex-direction:row-reverse}.\32xl\:flex-col{flex-direction:column}.\32xl\:flex-col-reverse{flex-direction:column-reverse}.\32xl\:flex-wrap{flex-wrap:wrap}.\32xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32xl\:flex-nowrap{flex-wrap:nowrap}.\32xl\:place-content-center{place-content:center}.\32xl\:place-content-start{place-content:start}.\32xl\:place-content-end{place-content:end}.\32xl\:place-content-between{place-content:space-between}.\32xl\:place-content-around{place-content:space-around}.\32xl\:place-content-evenly{place-content:space-evenly}.\32xl\:place-content-stretch{place-content:stretch}.\32xl\:place-items-start{place-items:start}.\32xl\:place-items-end{place-items:end}.\32xl\:place-items-center{place-items:center}.\32xl\:place-items-stretch{place-items:stretch}.\32xl\:content-center{align-content:center}.\32xl\:content-start{align-content:flex-start}.\32xl\:content-end{align-content:flex-end}.\32xl\:content-between{align-content:space-between}.\32xl\:content-around{align-content:space-around}.\32xl\:content-evenly{align-content:space-evenly}.\32xl\:items-start{align-items:flex-start}.\32xl\:items-end{align-items:flex-end}.\32xl\:items-center{align-items:center}.\32xl\:items-baseline{align-items:baseline}.\32xl\:items-stretch{align-items:stretch}.\32xl\:justify-start{justify-content:flex-start}.\32xl\:justify-end{justify-content:flex-end}.\32xl\:justify-center{justify-content:center}.\32xl\:justify-between{justify-content:space-between}.\32xl\:justify-around{justify-content:space-around}.\32xl\:justify-evenly{justify-content:space-evenly}.\32xl\:justify-items-start{justify-items:start}.\32xl\:justify-items-end{justify-items:end}.\32xl\:justify-items-center{justify-items:center}.\32xl\:justify-items-stretch{justify-items:stretch}.\32xl\:gap-0{gap:0}.\32xl\:gap-1{gap:.25rem}.\32xl\:gap-2{gap:.5rem}.\32xl\:gap-3{gap:.75rem}.\32xl\:gap-4{gap:1rem}.\32xl\:gap-5{gap:1.25rem}.\32xl\:gap-6{gap:1.5rem}.\32xl\:gap-7{gap:1.75rem}.\32xl\:gap-8{gap:2rem}.\32xl\:gap-9{gap:2.25rem}.\32xl\:gap-10{gap:2.5rem}.\32xl\:gap-11{gap:2.75rem}.\32xl\:gap-12{gap:3rem}.\32xl\:gap-14{gap:3.5rem}.\32xl\:gap-16{gap:4rem}.\32xl\:gap-20{gap:5rem}.\32xl\:gap-24{gap:6rem}.\32xl\:gap-28{gap:7rem}.\32xl\:gap-32{gap:8rem}.\32xl\:gap-36{gap:9rem}.\32xl\:gap-40{gap:10rem}.\32xl\:gap-44{gap:11rem}.\32xl\:gap-48{gap:12rem}.\32xl\:gap-52{gap:13rem}.\32xl\:gap-56{gap:14rem}.\32xl\:gap-60{gap:15rem}.\32xl\:gap-64{gap:16rem}.\32xl\:gap-72{gap:18rem}.\32xl\:gap-80{gap:20rem}.\32xl\:gap-96{gap:24rem}.\32xl\:gap-px{gap:1px}.\32xl\:gap-0\.5{gap:.125rem}.\32xl\:gap-1\.5{gap:.375rem}.\32xl\:gap-2\.5{gap:.625rem}.\32xl\:gap-3\.5{gap:.875rem}.\32xl\:gap-x-0{column-gap:0}.\32xl\:gap-x-1{column-gap:.25rem}.\32xl\:gap-x-2{column-gap:.5rem}.\32xl\:gap-x-3{column-gap:.75rem}.\32xl\:gap-x-4{column-gap:1rem}.\32xl\:gap-x-5{column-gap:1.25rem}.\32xl\:gap-x-6{column-gap:1.5rem}.\32xl\:gap-x-7{column-gap:1.75rem}.\32xl\:gap-x-8{column-gap:2rem}.\32xl\:gap-x-9{column-gap:2.25rem}.\32xl\:gap-x-10{column-gap:2.5rem}.\32xl\:gap-x-11{column-gap:2.75rem}.\32xl\:gap-x-12{column-gap:3rem}.\32xl\:gap-x-14{column-gap:3.5rem}.\32xl\:gap-x-16{column-gap:4rem}.\32xl\:gap-x-20{column-gap:5rem}.\32xl\:gap-x-24{column-gap:6rem}.\32xl\:gap-x-28{column-gap:7rem}.\32xl\:gap-x-32{column-gap:8rem}.\32xl\:gap-x-36{column-gap:9rem}.\32xl\:gap-x-40{column-gap:10rem}.\32xl\:gap-x-44{column-gap:11rem}.\32xl\:gap-x-48{column-gap:12rem}.\32xl\:gap-x-52{column-gap:13rem}.\32xl\:gap-x-56{column-gap:14rem}.\32xl\:gap-x-60{column-gap:15rem}.\32xl\:gap-x-64{column-gap:16rem}.\32xl\:gap-x-72{column-gap:18rem}.\32xl\:gap-x-80{column-gap:20rem}.\32xl\:gap-x-96{column-gap:24rem}.\32xl\:gap-x-px{column-gap:1px}.\32xl\:gap-x-0\.5{column-gap:.125rem}.\32xl\:gap-x-1\.5{column-gap:.375rem}.\32xl\:gap-x-2\.5{column-gap:.625rem}.\32xl\:gap-x-3\.5{column-gap:.875rem}.\32xl\:gap-y-0{row-gap:0}.\32xl\:gap-y-1{row-gap:.25rem}.\32xl\:gap-y-2{row-gap:.5rem}.\32xl\:gap-y-3{row-gap:.75rem}.\32xl\:gap-y-4{row-gap:1rem}.\32xl\:gap-y-5{row-gap:1.25rem}.\32xl\:gap-y-6{row-gap:1.5rem}.\32xl\:gap-y-7{row-gap:1.75rem}.\32xl\:gap-y-8{row-gap:2rem}.\32xl\:gap-y-9{row-gap:2.25rem}.\32xl\:gap-y-10{row-gap:2.5rem}.\32xl\:gap-y-11{row-gap:2.75rem}.\32xl\:gap-y-12{row-gap:3rem}.\32xl\:gap-y-14{row-gap:3.5rem}.\32xl\:gap-y-16{row-gap:4rem}.\32xl\:gap-y-20{row-gap:5rem}.\32xl\:gap-y-24{row-gap:6rem}.\32xl\:gap-y-28{row-gap:7rem}.\32xl\:gap-y-32{row-gap:8rem}.\32xl\:gap-y-36{row-gap:9rem}.\32xl\:gap-y-40{row-gap:10rem}.\32xl\:gap-y-44{row-gap:11rem}.\32xl\:gap-y-48{row-gap:12rem}.\32xl\:gap-y-52{row-gap:13rem}.\32xl\:gap-y-56{row-gap:14rem}.\32xl\:gap-y-60{row-gap:15rem}.\32xl\:gap-y-64{row-gap:16rem}.\32xl\:gap-y-72{row-gap:18rem}.\32xl\:gap-y-80{row-gap:20rem}.\32xl\:gap-y-96{row-gap:24rem}.\32xl\:gap-y-px{row-gap:1px}.\32xl\:gap-y-0\.5{row-gap:.125rem}.\32xl\:gap-y-1\.5{row-gap:.375rem}.\32xl\:gap-y-2\.5{row-gap:.625rem}.\32xl\:gap-y-3\.5{row-gap:.875rem}.\32xl\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.75rem * var(--tw-space-x-reverse));margin-left:calc(1.75rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.25rem * var(--tw-space-x-reverse));margin-left:calc(2.25rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.75rem * var(--tw-space-x-reverse));margin-left:calc(2.75rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3.5rem * var(--tw-space-x-reverse));margin-left:calc(3.5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(4rem * var(--tw-space-x-reverse));margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(5rem * var(--tw-space-x-reverse));margin-left:calc(5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(6rem * var(--tw-space-x-reverse));margin-left:calc(6rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(7rem * var(--tw-space-x-reverse));margin-left:calc(7rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(8rem * var(--tw-space-x-reverse));margin-left:calc(8rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(9rem * var(--tw-space-x-reverse));margin-left:calc(9rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(10rem * var(--tw-space-x-reverse));margin-left:calc(10rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(11rem * var(--tw-space-x-reverse));margin-left:calc(11rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(12rem * var(--tw-space-x-reverse));margin-left:calc(12rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(13rem * var(--tw-space-x-reverse));margin-left:calc(13rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(14rem * var(--tw-space-x-reverse));margin-left:calc(14rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(15rem * var(--tw-space-x-reverse));margin-left:calc(15rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(16rem * var(--tw-space-x-reverse));margin-left:calc(16rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(18rem * var(--tw-space-x-reverse));margin-left:calc(18rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(20rem * var(--tw-space-x-reverse));margin-left:calc(20rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(24rem * var(--tw-space-x-reverse));margin-left:calc(24rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1px * var(--tw-space-x-reverse));margin-left:calc(1px * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.875rem * var(--tw-space-x-reverse));margin-left:calc(.875rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.25rem * var(--tw-space-x-reverse));margin-left:calc(-2.25rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.5rem * var(--tw-space-x-reverse));margin-left:calc(-2.5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-11>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-2.75rem * var(--tw-space-x-reverse));margin-left:calc(-2.75rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3rem * var(--tw-space-x-reverse));margin-left:calc(-3rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-14>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-3.5rem * var(--tw-space-x-reverse));margin-left:calc(-3.5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-4rem * var(--tw-space-x-reverse));margin-left:calc(-4rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-5rem * var(--tw-space-x-reverse));margin-left:calc(-5rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-24>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-6rem * var(--tw-space-x-reverse));margin-left:calc(-6rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-28>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-7rem * var(--tw-space-x-reverse));margin-left:calc(-7rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-32>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-8rem * var(--tw-space-x-reverse));margin-left:calc(-8rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-36>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-9rem * var(--tw-space-x-reverse));margin-left:calc(-9rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-40>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-10rem * var(--tw-space-x-reverse));margin-left:calc(-10rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-44>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-11rem * var(--tw-space-x-reverse));margin-left:calc(-11rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-48>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-12rem * var(--tw-space-x-reverse));margin-left:calc(-12rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-52>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-13rem * var(--tw-space-x-reverse));margin-left:calc(-13rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-56>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-14rem * var(--tw-space-x-reverse));margin-left:calc(-14rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-60>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-15rem * var(--tw-space-x-reverse));margin-left:calc(-15rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-64>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-16rem * var(--tw-space-x-reverse));margin-left:calc(-16rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-72>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-18rem * var(--tw-space-x-reverse));margin-left:calc(-18rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-80>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-20rem * var(--tw-space-x-reverse));margin-left:calc(-20rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-96>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-24rem * var(--tw-space-x-reverse));margin-left:calc(-24rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.125rem * var(--tw-space-x-reverse));margin-left:calc(-.125rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.625rem * var(--tw-space-x-reverse));margin-left:calc(-.625rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:-space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.875rem * var(--tw-space-x-reverse));margin-left:calc(-.875rem * calc(1 - var(--tw-space-x-reverse)))}.\32xl\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.\32xl\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.\32xl\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.\32xl\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.\32xl\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.\32xl\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.\32xl\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.\32xl\:space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.\32xl\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.\32xl\:space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.25rem * var(--tw-space-y-reverse))}.\32xl\:space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.\32xl\:space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.75rem * var(--tw-space-y-reverse))}.\32xl\:space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.\32xl\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.\32xl\:space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.\32xl\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.\32xl\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}.\32xl\:space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(7rem * var(--tw-space-y-reverse))}.\32xl\:space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8rem * var(--tw-space-y-reverse))}.\32xl\:space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(9rem * var(--tw-space-y-reverse))}.\32xl\:space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(10rem * var(--tw-space-y-reverse))}.\32xl\:space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(11rem * var(--tw-space-y-reverse))}.\32xl\:space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(12rem * var(--tw-space-y-reverse))}.\32xl\:space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(13rem * var(--tw-space-y-reverse))}.\32xl\:space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(14rem * var(--tw-space-y-reverse))}.\32xl\:space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(15rem * var(--tw-space-y-reverse))}.\32xl\:space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(16rem * var(--tw-space-y-reverse))}.\32xl\:space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(18rem * var(--tw-space-y-reverse))}.\32xl\:space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(20rem * var(--tw-space-y-reverse))}.\32xl\:space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(24rem * var(--tw-space-y-reverse))}.\32xl\:space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.\32xl\:space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.\32xl\:space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.\32xl\:space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.\32xl\:space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.\32xl\:-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.25rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.5rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.75rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.25rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.5rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1.75rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-9>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.25rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.5rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-11>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-2.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-2.75rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-3.5rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-4rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-5rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-6rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-28>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-7rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-7rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-32>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-8rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-8rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-36>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-9rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-9rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-40>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-10rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-10rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-44>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-11rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-11rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-48>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-12rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-12rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-52>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-13rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-13rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-56>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-14rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-14rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-60>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-15rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-15rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-64>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-16rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-16rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-72>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-18rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-18rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-80>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-20rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-20rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-96>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-24rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-24rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-1px * var(--tw-space-y-reverse))}.\32xl\:-space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.125rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.375rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.625rem * var(--tw-space-y-reverse))}.\32xl\:-space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(-.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(-.875rem * var(--tw-space-y-reverse))}.\32xl\:space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.\32xl\:space-x-reverse>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.\32xl\:divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(0px * var(--tw-divide-x-reverse));border-left-width:calc(0px * calc(1 - var(--tw-divide-x-reverse)))}.\32xl\:divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(2px * var(--tw-divide-x-reverse));border-left-width:calc(2px * calc(1 - var(--tw-divide-x-reverse)))}.\32xl\:divide-x-4>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(4px * var(--tw-divide-x-reverse));border-left-width:calc(4px * calc(1 - var(--tw-divide-x-reverse)))}.\32xl\:divide-x-8>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(8px * var(--tw-divide-x-reverse));border-left-width:calc(8px * calc(1 - var(--tw-divide-x-reverse)))}.\32xl\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.\32xl\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.\32xl\:divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(2px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(2px * var(--tw-divide-y-reverse))}.\32xl\:divide-y-4>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(4px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(4px * var(--tw-divide-y-reverse))}.\32xl\:divide-y-8>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(8px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(8px * var(--tw-divide-y-reverse))}.\32xl\:divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.\32xl\:divide-y-reverse>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:1}.\32xl\:divide-x-reverse>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}.\32xl\:divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.\32xl\:divide-dashed>:not([hidden])~:not([hidden]){border-style:dashed}.\32xl\:divide-dotted>:not([hidden])~:not([hidden]){border-style:dotted}.\32xl\:divide-double>:not([hidden])~:not([hidden]){border-style:double}.\32xl\:divide-none>:not([hidden])~:not([hidden]){border-style:none}.\32xl\:divide-transparent>:not([hidden])~:not([hidden]){border-color:transparent}.\32xl\:divide-current>:not([hidden])~:not([hidden]){border-color:currentColor}.\32xl\:divide-black>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(0,0,0,var(--tw-divide-opacity))}.\32xl\:divide-white>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,255,255,var(--tw-divide-opacity))}.\32xl\:divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,250,251,var(--tw-divide-opacity))}.\32xl\:divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(243,244,246,var(--tw-divide-opacity))}.\32xl\:divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(229,231,235,var(--tw-divide-opacity))}.\32xl\:divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,213,219,var(--tw-divide-opacity))}.\32xl\:divide-gray-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(156,163,175,var(--tw-divide-opacity))}.\32xl\:divide-gray-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(107,114,128,var(--tw-divide-opacity))}.\32xl\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(75,85,99,var(--tw-divide-opacity))}.\32xl\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,65,81,var(--tw-divide-opacity))}.\32xl\:divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(31,41,55,var(--tw-divide-opacity))}.\32xl\:divide-gray-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(17,24,39,var(--tw-divide-opacity))}.\32xl\:divide-red-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,242,242,var(--tw-divide-opacity))}.\32xl\:divide-red-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,226,226,var(--tw-divide-opacity))}.\32xl\:divide-red-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,202,202,var(--tw-divide-opacity))}.\32xl\:divide-red-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,165,165,var(--tw-divide-opacity))}.\32xl\:divide-red-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(248,113,113,var(--tw-divide-opacity))}.\32xl\:divide-red-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,68,68,var(--tw-divide-opacity))}.\32xl\:divide-red-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(220,38,38,var(--tw-divide-opacity))}.\32xl\:divide-red-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(185,28,28,var(--tw-divide-opacity))}.\32xl\:divide-red-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(153,27,27,var(--tw-divide-opacity))}.\32xl\:divide-red-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(127,29,29,var(--tw-divide-opacity))}.\32xl\:divide-yellow-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(255,251,235,var(--tw-divide-opacity))}.\32xl\:divide-yellow-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(254,243,199,var(--tw-divide-opacity))}.\32xl\:divide-yellow-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,230,138,var(--tw-divide-opacity))}.\32xl\:divide-yellow-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,211,77,var(--tw-divide-opacity))}.\32xl\:divide-yellow-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,191,36,var(--tw-divide-opacity))}.\32xl\:divide-yellow-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,158,11,var(--tw-divide-opacity))}.\32xl\:divide-yellow-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(217,119,6,var(--tw-divide-opacity))}.\32xl\:divide-yellow-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(180,83,9,var(--tw-divide-opacity))}.\32xl\:divide-yellow-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(146,64,14,var(--tw-divide-opacity))}.\32xl\:divide-yellow-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(120,53,15,var(--tw-divide-opacity))}.\32xl\:divide-green-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,253,245,var(--tw-divide-opacity))}.\32xl\:divide-green-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,250,229,var(--tw-divide-opacity))}.\32xl\:divide-green-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,243,208,var(--tw-divide-opacity))}.\32xl\:divide-green-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(110,231,183,var(--tw-divide-opacity))}.\32xl\:divide-green-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(52,211,153,var(--tw-divide-opacity))}.\32xl\:divide-green-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(16,185,129,var(--tw-divide-opacity))}.\32xl\:divide-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(5,150,105,var(--tw-divide-opacity))}.\32xl\:divide-green-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(4,120,87,var(--tw-divide-opacity))}.\32xl\:divide-green-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,95,70,var(--tw-divide-opacity))}.\32xl\:divide-green-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(6,78,59,var(--tw-divide-opacity))}.\32xl\:divide-blue-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(239,246,255,var(--tw-divide-opacity))}.\32xl\:divide-blue-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,234,254,var(--tw-divide-opacity))}.\32xl\:divide-blue-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(191,219,254,var(--tw-divide-opacity))}.\32xl\:divide-blue-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(147,197,253,var(--tw-divide-opacity))}.\32xl\:divide-blue-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(96,165,250,var(--tw-divide-opacity))}.\32xl\:divide-blue-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(59,130,246,var(--tw-divide-opacity))}.\32xl\:divide-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(37,99,235,var(--tw-divide-opacity))}.\32xl\:divide-blue-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(29,78,216,var(--tw-divide-opacity))}.\32xl\:divide-blue-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,64,175,var(--tw-divide-opacity))}.\32xl\:divide-blue-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(30,58,138,var(--tw-divide-opacity))}.\32xl\:divide-indigo-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(238,242,255,var(--tw-divide-opacity))}.\32xl\:divide-indigo-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(224,231,255,var(--tw-divide-opacity))}.\32xl\:divide-indigo-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(199,210,254,var(--tw-divide-opacity))}.\32xl\:divide-indigo-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(165,180,252,var(--tw-divide-opacity))}.\32xl\:divide-indigo-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(129,140,248,var(--tw-divide-opacity))}.\32xl\:divide-indigo-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(99,102,241,var(--tw-divide-opacity))}.\32xl\:divide-indigo-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(79,70,229,var(--tw-divide-opacity))}.\32xl\:divide-indigo-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(67,56,202,var(--tw-divide-opacity))}.\32xl\:divide-indigo-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(55,48,163,var(--tw-divide-opacity))}.\32xl\:divide-indigo-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(49,46,129,var(--tw-divide-opacity))}.\32xl\:divide-purple-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(245,243,255,var(--tw-divide-opacity))}.\32xl\:divide-purple-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(237,233,254,var(--tw-divide-opacity))}.\32xl\:divide-purple-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(221,214,254,var(--tw-divide-opacity))}.\32xl\:divide-purple-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(196,181,253,var(--tw-divide-opacity))}.\32xl\:divide-purple-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(167,139,250,var(--tw-divide-opacity))}.\32xl\:divide-purple-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(139,92,246,var(--tw-divide-opacity))}.\32xl\:divide-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(124,58,237,var(--tw-divide-opacity))}.\32xl\:divide-purple-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(109,40,217,var(--tw-divide-opacity))}.\32xl\:divide-purple-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(91,33,182,var(--tw-divide-opacity))}.\32xl\:divide-purple-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(76,29,149,var(--tw-divide-opacity))}.\32xl\:divide-pink-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(253,242,248,var(--tw-divide-opacity))}.\32xl\:divide-pink-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(252,231,243,var(--tw-divide-opacity))}.\32xl\:divide-pink-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(251,207,232,var(--tw-divide-opacity))}.\32xl\:divide-pink-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(249,168,212,var(--tw-divide-opacity))}.\32xl\:divide-pink-400>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(244,114,182,var(--tw-divide-opacity))}.\32xl\:divide-pink-500>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(236,72,153,var(--tw-divide-opacity))}.\32xl\:divide-pink-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(219,39,119,var(--tw-divide-opacity))}.\32xl\:divide-pink-700>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(190,24,93,var(--tw-divide-opacity))}.\32xl\:divide-pink-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(157,23,77,var(--tw-divide-opacity))}.\32xl\:divide-pink-900>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(131,24,67,var(--tw-divide-opacity))}.\32xl\:divide-opacity-0>:not([hidden])~:not([hidden]){--tw-divide-opacity:0}.\32xl\:divide-opacity-5>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.05}.\32xl\:divide-opacity-10>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.1}.\32xl\:divide-opacity-20>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.2}.\32xl\:divide-opacity-25>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.25}.\32xl\:divide-opacity-30>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.3}.\32xl\:divide-opacity-40>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.4}.\32xl\:divide-opacity-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.5}.\32xl\:divide-opacity-60>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.6}.\32xl\:divide-opacity-70>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.7}.\32xl\:divide-opacity-75>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.75}.\32xl\:divide-opacity-80>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.8}.\32xl\:divide-opacity-90>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.9}.\32xl\:divide-opacity-95>:not([hidden])~:not([hidden]){--tw-divide-opacity:0.95}.\32xl\:divide-opacity-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1}.\32xl\:place-self-auto{place-self:auto}.\32xl\:place-self-start{place-self:start}.\32xl\:place-self-end{place-self:end}.\32xl\:place-self-center{place-self:center}.\32xl\:place-self-stretch{place-self:stretch}.\32xl\:self-auto{align-self:auto}.\32xl\:self-start{align-self:flex-start}.\32xl\:self-end{align-self:flex-end}.\32xl\:self-center{align-self:center}.\32xl\:self-stretch{align-self:stretch}.\32xl\:self-baseline{align-self:baseline}.\32xl\:justify-self-auto{justify-self:auto}.\32xl\:justify-self-start{justify-self:start}.\32xl\:justify-self-end{justify-self:end}.\32xl\:justify-self-center{justify-self:center}.\32xl\:justify-self-stretch{justify-self:stretch}.\32xl\:overflow-auto{overflow:auto}.\32xl\:overflow-hidden{overflow:hidden}.\32xl\:overflow-visible{overflow:visible}.\32xl\:overflow-scroll{overflow:scroll}.\32xl\:overflow-x-auto{overflow-x:auto}.\32xl\:overflow-y-auto{overflow-y:auto}.\32xl\:overflow-x-hidden{overflow-x:hidden}.\32xl\:overflow-y-hidden{overflow-y:hidden}.\32xl\:overflow-x-visible{overflow-x:visible}.\32xl\:overflow-y-visible{overflow-y:visible}.\32xl\:overflow-x-scroll{overflow-x:scroll}.\32xl\:overflow-y-scroll{overflow-y:scroll}.\32xl\:overscroll-auto{overscroll-behavior:auto}.\32xl\:overscroll-contain{overscroll-behavior:contain}.\32xl\:overscroll-none{overscroll-behavior:none}.\32xl\:overscroll-y-auto{overscroll-behavior-y:auto}.\32xl\:overscroll-y-contain{overscroll-behavior-y:contain}.\32xl\:overscroll-y-none{overscroll-behavior-y:none}.\32xl\:overscroll-x-auto{overscroll-behavior-x:auto}.\32xl\:overscroll-x-contain{overscroll-behavior-x:contain}.\32xl\:overscroll-x-none{overscroll-behavior-x:none}.\32xl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\32xl\:overflow-ellipsis{text-overflow:ellipsis}.\32xl\:overflow-clip{text-overflow:clip}.\32xl\:whitespace-normal{white-space:normal}.\32xl\:whitespace-nowrap{white-space:nowrap}.\32xl\:whitespace-pre{white-space:pre}.\32xl\:whitespace-pre-line{white-space:pre-line}.\32xl\:whitespace-pre-wrap{white-space:pre-wrap}.\32xl\:break-normal{overflow-wrap:normal;word-break:normal}.\32xl\:break-words{overflow-wrap:break-word}.\32xl\:break-all{word-break:break-all}.\32xl\:rounded-none{border-radius:0}.\32xl\:rounded-sm{border-radius:.125rem}.\32xl\:rounded{border-radius:.25rem}.\32xl\:rounded-md{border-radius:.375rem}.\32xl\:rounded-lg{border-radius:.5rem}.\32xl\:rounded-xl{border-radius:.75rem}.\32xl\:rounded-2xl{border-radius:1rem}.\32xl\:rounded-3xl{border-radius:1.5rem}.\32xl\:rounded-full{border-radius:9999px}.\32xl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.\32xl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.\32xl\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.\32xl\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.\32xl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.\32xl\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.\32xl\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.\32xl\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.\32xl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.\32xl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.\32xl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.\32xl\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.\32xl\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.\32xl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.\32xl\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.\32xl\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.\32xl\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.\32xl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.\32xl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.\32xl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.\32xl\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.\32xl\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.\32xl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.\32xl\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.\32xl\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.\32xl\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.\32xl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.\32xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.\32xl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.\32xl\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.\32xl\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.\32xl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.\32xl\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.\32xl\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.\32xl\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.\32xl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.\32xl\:rounded-tl-none{border-top-left-radius:0}.\32xl\:rounded-tl-sm{border-top-left-radius:.125rem}.\32xl\:rounded-tl{border-top-left-radius:.25rem}.\32xl\:rounded-tl-md{border-top-left-radius:.375rem}.\32xl\:rounded-tl-lg{border-top-left-radius:.5rem}.\32xl\:rounded-tl-xl{border-top-left-radius:.75rem}.\32xl\:rounded-tl-2xl{border-top-left-radius:1rem}.\32xl\:rounded-tl-3xl{border-top-left-radius:1.5rem}.\32xl\:rounded-tl-full{border-top-left-radius:9999px}.\32xl\:rounded-tr-none{border-top-right-radius:0}.\32xl\:rounded-tr-sm{border-top-right-radius:.125rem}.\32xl\:rounded-tr{border-top-right-radius:.25rem}.\32xl\:rounded-tr-md{border-top-right-radius:.375rem}.\32xl\:rounded-tr-lg{border-top-right-radius:.5rem}.\32xl\:rounded-tr-xl{border-top-right-radius:.75rem}.\32xl\:rounded-tr-2xl{border-top-right-radius:1rem}.\32xl\:rounded-tr-3xl{border-top-right-radius:1.5rem}.\32xl\:rounded-tr-full{border-top-right-radius:9999px}.\32xl\:rounded-br-none{border-bottom-right-radius:0}.\32xl\:rounded-br-sm{border-bottom-right-radius:.125rem}.\32xl\:rounded-br{border-bottom-right-radius:.25rem}.\32xl\:rounded-br-md{border-bottom-right-radius:.375rem}.\32xl\:rounded-br-lg{border-bottom-right-radius:.5rem}.\32xl\:rounded-br-xl{border-bottom-right-radius:.75rem}.\32xl\:rounded-br-2xl{border-bottom-right-radius:1rem}.\32xl\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.\32xl\:rounded-br-full{border-bottom-right-radius:9999px}.\32xl\:rounded-bl-none{border-bottom-left-radius:0}.\32xl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.\32xl\:rounded-bl{border-bottom-left-radius:.25rem}.\32xl\:rounded-bl-md{border-bottom-left-radius:.375rem}.\32xl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.\32xl\:rounded-bl-xl{border-bottom-left-radius:.75rem}.\32xl\:rounded-bl-2xl{border-bottom-left-radius:1rem}.\32xl\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.\32xl\:rounded-bl-full{border-bottom-left-radius:9999px}.\32xl\:border-0{border-width:0}.\32xl\:border-2{border-width:2px}.\32xl\:border-4{border-width:4px}.\32xl\:border-8{border-width:8px}.\32xl\:border{border-width:1px}.\32xl\:border-t-0{border-top-width:0}.\32xl\:border-t-2{border-top-width:2px}.\32xl\:border-t-4{border-top-width:4px}.\32xl\:border-t-8{border-top-width:8px}.\32xl\:border-t{border-top-width:1px}.\32xl\:border-r-0{border-right-width:0}.\32xl\:border-r-2{border-right-width:2px}.\32xl\:border-r-4{border-right-width:4px}.\32xl\:border-r-8{border-right-width:8px}.\32xl\:border-r{border-right-width:1px}.\32xl\:border-b-0{border-bottom-width:0}.\32xl\:border-b-2{border-bottom-width:2px}.\32xl\:border-b-4{border-bottom-width:4px}.\32xl\:border-b-8{border-bottom-width:8px}.\32xl\:border-b{border-bottom-width:1px}.\32xl\:border-l-0{border-left-width:0}.\32xl\:border-l-2{border-left-width:2px}.\32xl\:border-l-4{border-left-width:4px}.\32xl\:border-l-8{border-left-width:8px}.\32xl\:border-l{border-left-width:1px}.\32xl\:border-solid{border-style:solid}.\32xl\:border-dashed{border-style:dashed}.\32xl\:border-dotted{border-style:dotted}.\32xl\:border-double{border-style:double}.\32xl\:border-none{border-style:none}.\32xl\:border-transparent{border-color:transparent}.\32xl\:border-current{border-color:currentColor}.\32xl\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.\32xl\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.\32xl\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.\32xl\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.\32xl\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.\32xl\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.\32xl\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.\32xl\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.\32xl\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.\32xl\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.\32xl\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.\32xl\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.\32xl\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.\32xl\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.\32xl\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.\32xl\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.\32xl\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.\32xl\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.\32xl\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.\32xl\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.\32xl\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.\32xl\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.\32xl\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.\32xl\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.\32xl\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.\32xl\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.\32xl\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.\32xl\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.\32xl\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.\32xl\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.\32xl\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.\32xl\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.\32xl\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.\32xl\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.\32xl\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.\32xl\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.\32xl\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.\32xl\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.\32xl\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.\32xl\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.\32xl\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.\32xl\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.\32xl\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.\32xl\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.\32xl\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.\32xl\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.\32xl\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.\32xl\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.\32xl\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.\32xl\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.\32xl\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.\32xl\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.\32xl\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.\32xl\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.\32xl\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.\32xl\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.\32xl\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.\32xl\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.\32xl\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.\32xl\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.\32xl\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.\32xl\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.\32xl\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.\32xl\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.\32xl\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.\32xl\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.\32xl\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.\32xl\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.\32xl\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.\32xl\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.\32xl\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.\32xl\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.\32xl\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.\32xl\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.\32xl\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.\32xl\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.\32xl\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.\32xl\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.\32xl\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.\32xl\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.\32xl\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.\32xl\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-transparent{border-color:transparent}.group:hover .\32xl\:group-hover\:border-current{border-color:currentColor}.group:hover .\32xl\:group-hover\:border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-500{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-gray-900{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-50{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-100{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-700{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-800{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-red-900{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-50{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-100{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-700{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-800{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-yellow-900{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-50{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-100{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-700{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-800{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-green-900{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-50{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-700{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-blue-900{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-50{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-100{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-400{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-500{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-600{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-700{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-800{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-indigo-900{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-50{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-400{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-600{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-700{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-800{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-purple-900{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-50{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-100{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-200{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-300{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-400{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-500{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-600{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-700{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-800{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.group:hover .\32xl\:group-hover\:border-pink-900{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.\32xl\:focus-within\:border-transparent:focus-within{border-color:transparent}.\32xl\:focus-within\:border-current:focus-within{border-color:currentColor}.\32xl\:focus-within\:border-black:focus-within{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.\32xl\:focus-within\:border-white:focus-within{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-50:focus-within{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-100:focus-within{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-200:focus-within{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-300:focus-within{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-400:focus-within{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-500:focus-within{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-600:focus-within{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-700:focus-within{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-800:focus-within{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.\32xl\:focus-within\:border-gray-900:focus-within{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-50:focus-within{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-200:focus-within{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-400:focus-within{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-500:focus-within{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-600:focus-within{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-700:focus-within{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-800:focus-within{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.\32xl\:focus-within\:border-red-900:focus-within{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-50:focus-within{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-100:focus-within{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-200:focus-within{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-300:focus-within{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-400:focus-within{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-500:focus-within{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-600:focus-within{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-700:focus-within{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-800:focus-within{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.\32xl\:focus-within\:border-yellow-900:focus-within{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-50:focus-within{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-100:focus-within{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-200:focus-within{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-300:focus-within{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-400:focus-within{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-500:focus-within{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-600:focus-within{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-700:focus-within{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-800:focus-within{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.\32xl\:focus-within\:border-green-900:focus-within{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-50:focus-within{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-100:focus-within{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-200:focus-within{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-300:focus-within{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-400:focus-within{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-600:focus-within{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-700:focus-within{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-800:focus-within{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.\32xl\:focus-within\:border-blue-900:focus-within{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-50:focus-within{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-100:focus-within{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-200:focus-within{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-300:focus-within{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-400:focus-within{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-500:focus-within{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-600:focus-within{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-700:focus-within{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-800:focus-within{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.\32xl\:focus-within\:border-indigo-900:focus-within{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-50:focus-within{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-100:focus-within{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-200:focus-within{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-300:focus-within{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-400:focus-within{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-500:focus-within{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-600:focus-within{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-700:focus-within{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-800:focus-within{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.\32xl\:focus-within\:border-purple-900:focus-within{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-50:focus-within{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-100:focus-within{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-200:focus-within{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-300:focus-within{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-400:focus-within{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-500:focus-within{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-600:focus-within{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-700:focus-within{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-800:focus-within{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.\32xl\:focus-within\:border-pink-900:focus-within{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.\32xl\:hover\:border-transparent:hover{border-color:transparent}.\32xl\:hover\:border-current:hover{border-color:currentColor}.\32xl\:hover\:border-black:hover{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.\32xl\:hover\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.\32xl\:hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.\32xl\:hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.\32xl\:hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.\32xl\:hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.\32xl\:hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.\32xl\:hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.\32xl\:hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.\32xl\:hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.\32xl\:hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.\32xl\:hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.\32xl\:hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.\32xl\:hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.\32xl\:hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.\32xl\:hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.\32xl\:hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.\32xl\:hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.\32xl\:hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.\32xl\:hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.\32xl\:hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.\32xl\:hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.\32xl\:hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.\32xl\:hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.\32xl\:hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.\32xl\:hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.\32xl\:hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.\32xl\:hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.\32xl\:focus\:border-transparent:focus{border-color:transparent}.\32xl\:focus\:border-current:focus{border-color:currentColor}.\32xl\:focus\:border-black:focus{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.\32xl\:focus\:border-white:focus{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-50:focus{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-100:focus{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-200:focus{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-400:focus{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-600:focus{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-700:focus{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-800:focus{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.\32xl\:focus\:border-gray-900:focus{--tw-border-opacity:1;border-color:rgba(17,24,39,var(--tw-border-opacity))}.\32xl\:focus\:border-red-50:focus{--tw-border-opacity:1;border-color:rgba(254,242,242,var(--tw-border-opacity))}.\32xl\:focus\:border-red-100:focus{--tw-border-opacity:1;border-color:rgba(254,226,226,var(--tw-border-opacity))}.\32xl\:focus\:border-red-200:focus{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.\32xl\:focus\:border-red-300:focus{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.\32xl\:focus\:border-red-400:focus{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.\32xl\:focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.\32xl\:focus\:border-red-600:focus{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.\32xl\:focus\:border-red-700:focus{--tw-border-opacity:1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.\32xl\:focus\:border-red-800:focus{--tw-border-opacity:1;border-color:rgba(153,27,27,var(--tw-border-opacity))}.\32xl\:focus\:border-red-900:focus{--tw-border-opacity:1;border-color:rgba(127,29,29,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-50:focus{--tw-border-opacity:1;border-color:rgba(255,251,235,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-100:focus{--tw-border-opacity:1;border-color:rgba(254,243,199,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-200:focus{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-300:focus{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-400:focus{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-500:focus{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-600:focus{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-700:focus{--tw-border-opacity:1;border-color:rgba(180,83,9,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-800:focus{--tw-border-opacity:1;border-color:rgba(146,64,14,var(--tw-border-opacity))}.\32xl\:focus\:border-yellow-900:focus{--tw-border-opacity:1;border-color:rgba(120,53,15,var(--tw-border-opacity))}.\32xl\:focus\:border-green-50:focus{--tw-border-opacity:1;border-color:rgba(236,253,245,var(--tw-border-opacity))}.\32xl\:focus\:border-green-100:focus{--tw-border-opacity:1;border-color:rgba(209,250,229,var(--tw-border-opacity))}.\32xl\:focus\:border-green-200:focus{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.\32xl\:focus\:border-green-300:focus{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.\32xl\:focus\:border-green-400:focus{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.\32xl\:focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.\32xl\:focus\:border-green-600:focus{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.\32xl\:focus\:border-green-700:focus{--tw-border-opacity:1;border-color:rgba(4,120,87,var(--tw-border-opacity))}.\32xl\:focus\:border-green-800:focus{--tw-border-opacity:1;border-color:rgba(6,95,70,var(--tw-border-opacity))}.\32xl\:focus\:border-green-900:focus{--tw-border-opacity:1;border-color:rgba(6,78,59,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-50:focus{--tw-border-opacity:1;border-color:rgba(239,246,255,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-100:focus{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-200:focus{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-700:focus{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-800:focus{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.\32xl\:focus\:border-blue-900:focus{--tw-border-opacity:1;border-color:rgba(30,58,138,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-50:focus{--tw-border-opacity:1;border-color:rgba(238,242,255,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-100:focus{--tw-border-opacity:1;border-color:rgba(224,231,255,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-200:focus{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-400:focus{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99,102,241,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-600:focus{--tw-border-opacity:1;border-color:rgba(79,70,229,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgba(67,56,202,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-800:focus{--tw-border-opacity:1;border-color:rgba(55,48,163,var(--tw-border-opacity))}.\32xl\:focus\:border-indigo-900:focus{--tw-border-opacity:1;border-color:rgba(49,46,129,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-50:focus{--tw-border-opacity:1;border-color:rgba(245,243,255,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-100:focus{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-200:focus{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-300:focus{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-400:focus{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-600:focus{--tw-border-opacity:1;border-color:rgba(124,58,237,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-700:focus{--tw-border-opacity:1;border-color:rgba(109,40,217,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-800:focus{--tw-border-opacity:1;border-color:rgba(91,33,182,var(--tw-border-opacity))}.\32xl\:focus\:border-purple-900:focus{--tw-border-opacity:1;border-color:rgba(76,29,149,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-50:focus{--tw-border-opacity:1;border-color:rgba(253,242,248,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-100:focus{--tw-border-opacity:1;border-color:rgba(252,231,243,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-200:focus{--tw-border-opacity:1;border-color:rgba(251,207,232,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-300:focus{--tw-border-opacity:1;border-color:rgba(249,168,212,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-400:focus{--tw-border-opacity:1;border-color:rgba(244,114,182,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-500:focus{--tw-border-opacity:1;border-color:rgba(236,72,153,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-600:focus{--tw-border-opacity:1;border-color:rgba(219,39,119,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-700:focus{--tw-border-opacity:1;border-color:rgba(190,24,93,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-800:focus{--tw-border-opacity:1;border-color:rgba(157,23,77,var(--tw-border-opacity))}.\32xl\:focus\:border-pink-900:focus{--tw-border-opacity:1;border-color:rgba(131,24,67,var(--tw-border-opacity))}.\32xl\:border-opacity-0{--tw-border-opacity:0}.\32xl\:border-opacity-5{--tw-border-opacity:0.05}.\32xl\:border-opacity-10{--tw-border-opacity:0.1}.\32xl\:border-opacity-20{--tw-border-opacity:0.2}.\32xl\:border-opacity-25{--tw-border-opacity:0.25}.\32xl\:border-opacity-30{--tw-border-opacity:0.3}.\32xl\:border-opacity-40{--tw-border-opacity:0.4}.\32xl\:border-opacity-50{--tw-border-opacity:0.5}.\32xl\:border-opacity-60{--tw-border-opacity:0.6}.\32xl\:border-opacity-70{--tw-border-opacity:0.7}.\32xl\:border-opacity-75{--tw-border-opacity:0.75}.\32xl\:border-opacity-80{--tw-border-opacity:0.8}.\32xl\:border-opacity-90{--tw-border-opacity:0.9}.\32xl\:border-opacity-95{--tw-border-opacity:0.95}.\32xl\:border-opacity-100{--tw-border-opacity:1}.group:hover .\32xl\:group-hover\:border-opacity-0{--tw-border-opacity:0}.group:hover .\32xl\:group-hover\:border-opacity-5{--tw-border-opacity:0.05}.group:hover .\32xl\:group-hover\:border-opacity-10{--tw-border-opacity:0.1}.group:hover .\32xl\:group-hover\:border-opacity-20{--tw-border-opacity:0.2}.group:hover .\32xl\:group-hover\:border-opacity-25{--tw-border-opacity:0.25}.group:hover .\32xl\:group-hover\:border-opacity-30{--tw-border-opacity:0.3}.group:hover .\32xl\:group-hover\:border-opacity-40{--tw-border-opacity:0.4}.group:hover .\32xl\:group-hover\:border-opacity-50{--tw-border-opacity:0.5}.group:hover .\32xl\:group-hover\:border-opacity-60{--tw-border-opacity:0.6}.group:hover .\32xl\:group-hover\:border-opacity-70{--tw-border-opacity:0.7}.group:hover .\32xl\:group-hover\:border-opacity-75{--tw-border-opacity:0.75}.group:hover .\32xl\:group-hover\:border-opacity-80{--tw-border-opacity:0.8}.group:hover .\32xl\:group-hover\:border-opacity-90{--tw-border-opacity:0.9}.group:hover .\32xl\:group-hover\:border-opacity-95{--tw-border-opacity:0.95}.group:hover .\32xl\:group-hover\:border-opacity-100{--tw-border-opacity:1}.\32xl\:focus-within\:border-opacity-0:focus-within{--tw-border-opacity:0}.\32xl\:focus-within\:border-opacity-5:focus-within{--tw-border-opacity:0.05}.\32xl\:focus-within\:border-opacity-10:focus-within{--tw-border-opacity:0.1}.\32xl\:focus-within\:border-opacity-20:focus-within{--tw-border-opacity:0.2}.\32xl\:focus-within\:border-opacity-25:focus-within{--tw-border-opacity:0.25}.\32xl\:focus-within\:border-opacity-30:focus-within{--tw-border-opacity:0.3}.\32xl\:focus-within\:border-opacity-40:focus-within{--tw-border-opacity:0.4}.\32xl\:focus-within\:border-opacity-50:focus-within{--tw-border-opacity:0.5}.\32xl\:focus-within\:border-opacity-60:focus-within{--tw-border-opacity:0.6}.\32xl\:focus-within\:border-opacity-70:focus-within{--tw-border-opacity:0.7}.\32xl\:focus-within\:border-opacity-75:focus-within{--tw-border-opacity:0.75}.\32xl\:focus-within\:border-opacity-80:focus-within{--tw-border-opacity:0.8}.\32xl\:focus-within\:border-opacity-90:focus-within{--tw-border-opacity:0.9}.\32xl\:focus-within\:border-opacity-95:focus-within{--tw-border-opacity:0.95}.\32xl\:focus-within\:border-opacity-100:focus-within{--tw-border-opacity:1}.\32xl\:hover\:border-opacity-0:hover{--tw-border-opacity:0}.\32xl\:hover\:border-opacity-5:hover{--tw-border-opacity:0.05}.\32xl\:hover\:border-opacity-10:hover{--tw-border-opacity:0.1}.\32xl\:hover\:border-opacity-20:hover{--tw-border-opacity:0.2}.\32xl\:hover\:border-opacity-25:hover{--tw-border-opacity:0.25}.\32xl\:hover\:border-opacity-30:hover{--tw-border-opacity:0.3}.\32xl\:hover\:border-opacity-40:hover{--tw-border-opacity:0.4}.\32xl\:hover\:border-opacity-50:hover{--tw-border-opacity:0.5}.\32xl\:hover\:border-opacity-60:hover{--tw-border-opacity:0.6}.\32xl\:hover\:border-opacity-70:hover{--tw-border-opacity:0.7}.\32xl\:hover\:border-opacity-75:hover{--tw-border-opacity:0.75}.\32xl\:hover\:border-opacity-80:hover{--tw-border-opacity:0.8}.\32xl\:hover\:border-opacity-90:hover{--tw-border-opacity:0.9}.\32xl\:hover\:border-opacity-95:hover{--tw-border-opacity:0.95}.\32xl\:hover\:border-opacity-100:hover{--tw-border-opacity:1}.\32xl\:focus\:border-opacity-0:focus{--tw-border-opacity:0}.\32xl\:focus\:border-opacity-5:focus{--tw-border-opacity:0.05}.\32xl\:focus\:border-opacity-10:focus{--tw-border-opacity:0.1}.\32xl\:focus\:border-opacity-20:focus{--tw-border-opacity:0.2}.\32xl\:focus\:border-opacity-25:focus{--tw-border-opacity:0.25}.\32xl\:focus\:border-opacity-30:focus{--tw-border-opacity:0.3}.\32xl\:focus\:border-opacity-40:focus{--tw-border-opacity:0.4}.\32xl\:focus\:border-opacity-50:focus{--tw-border-opacity:0.5}.\32xl\:focus\:border-opacity-60:focus{--tw-border-opacity:0.6}.\32xl\:focus\:border-opacity-70:focus{--tw-border-opacity:0.7}.\32xl\:focus\:border-opacity-75:focus{--tw-border-opacity:0.75}.\32xl\:focus\:border-opacity-80:focus{--tw-border-opacity:0.8}.\32xl\:focus\:border-opacity-90:focus{--tw-border-opacity:0.9}.\32xl\:focus\:border-opacity-95:focus{--tw-border-opacity:0.95}.\32xl\:focus\:border-opacity-100:focus{--tw-border-opacity:1}.\32xl\:bg-transparent{background-color:transparent}.\32xl\:bg-current{background-color:currentColor}.\32xl\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.\32xl\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.\32xl\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.\32xl\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.\32xl\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.\32xl\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.\32xl\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.\32xl\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.\32xl\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.\32xl\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.\32xl\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.\32xl\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.\32xl\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.\32xl\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.\32xl\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.\32xl\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.\32xl\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.\32xl\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.\32xl\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.\32xl\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.\32xl\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.\32xl\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.\32xl\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.\32xl\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.\32xl\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.\32xl\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.\32xl\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.\32xl\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.\32xl\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.\32xl\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.\32xl\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.\32xl\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.\32xl\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.\32xl\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.\32xl\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.\32xl\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.\32xl\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.\32xl\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.\32xl\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.\32xl\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.\32xl\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.\32xl\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.\32xl\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.\32xl\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.\32xl\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.\32xl\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.\32xl\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.\32xl\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.\32xl\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.\32xl\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.\32xl\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.\32xl\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.\32xl\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.\32xl\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.\32xl\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.\32xl\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.\32xl\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.\32xl\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.\32xl\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.\32xl\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.\32xl\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.\32xl\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.\32xl\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.\32xl\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.\32xl\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.\32xl\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.\32xl\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.\32xl\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.\32xl\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.\32xl\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.\32xl\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.\32xl\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.\32xl\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.\32xl\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.\32xl\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.\32xl\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.\32xl\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.\32xl\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.\32xl\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.\32xl\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.\32xl\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.\32xl\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-transparent{background-color:transparent}.group:hover .\32xl\:group-hover\:bg-current{background-color:currentColor}.group:hover .\32xl\:group-hover\:bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-300{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-800{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-red-900{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-700{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-green-900{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-200{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-300{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-400{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-700{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-800{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-purple-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-50{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-200{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-300{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-400{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-500{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-600{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-700{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-800{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.group:hover .\32xl\:group-hover\:bg-pink-900{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-transparent:focus-within{background-color:transparent}.\32xl\:focus-within\:bg-current:focus-within{background-color:currentColor}.\32xl\:focus-within\:bg-black:focus-within{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-100:focus-within{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-200:focus-within{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-300:focus-within{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-400:focus-within{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-500:focus-within{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-600:focus-within{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-700:focus-within{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-800:focus-within{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-gray-900:focus-within{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-50:focus-within{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-200:focus-within{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-400:focus-within{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-500:focus-within{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-600:focus-within{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-700:focus-within{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-800:focus-within{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-red-900:focus-within{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-50:focus-within{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-100:focus-within{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-200:focus-within{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-300:focus-within{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-400:focus-within{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-500:focus-within{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-600:focus-within{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-700:focus-within{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-800:focus-within{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-yellow-900:focus-within{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-50:focus-within{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-100:focus-within{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-200:focus-within{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-300:focus-within{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-400:focus-within{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-500:focus-within{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-600:focus-within{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-700:focus-within{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-800:focus-within{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-green-900:focus-within{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-50:focus-within{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-100:focus-within{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-200:focus-within{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-300:focus-within{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-400:focus-within{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-500:focus-within{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-600:focus-within{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-700:focus-within{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-800:focus-within{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-blue-900:focus-within{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-50:focus-within{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-100:focus-within{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-200:focus-within{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-300:focus-within{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-400:focus-within{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-500:focus-within{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-600:focus-within{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-700:focus-within{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-800:focus-within{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-indigo-900:focus-within{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-50:focus-within{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-100:focus-within{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-200:focus-within{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-300:focus-within{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-400:focus-within{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-500:focus-within{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-600:focus-within{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-700:focus-within{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-800:focus-within{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-purple-900:focus-within{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-50:focus-within{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-100:focus-within{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-200:focus-within{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-300:focus-within{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-400:focus-within{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-500:focus-within{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-600:focus-within{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-700:focus-within{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-800:focus-within{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.\32xl\:focus-within\:bg-pink-900:focus-within{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.\32xl\:hover\:bg-transparent:hover{background-color:transparent}.\32xl\:hover\:bg-current:hover{background-color:currentColor}.\32xl\:hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.\32xl\:hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.\32xl\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.\32xl\:hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.\32xl\:hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.\32xl\:hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.\32xl\:hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.\32xl\:hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.\32xl\:hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.\32xl\:hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.\32xl\:focus\:bg-transparent:focus{background-color:transparent}.\32xl\:focus\:bg-current:focus{background-color:currentColor}.\32xl\:focus\:bg-black:focus{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.\32xl\:focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-300:focus{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-400:focus{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-500:focus{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-600:focus{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-800:focus{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.\32xl\:focus\:bg-gray-900:focus{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-50:focus{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-100:focus{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-200:focus{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-300:focus{--tw-bg-opacity:1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-400:focus{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-500:focus{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-600:focus{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-800:focus{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.\32xl\:focus\:bg-red-900:focus{--tw-bg-opacity:1;background-color:rgba(127,29,29,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-50:focus{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-100:focus{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-200:focus{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-300:focus{--tw-bg-opacity:1;background-color:rgba(252,211,77,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-400:focus{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-500:focus{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-600:focus{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-700:focus{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-800:focus{--tw-bg-opacity:1;background-color:rgba(146,64,14,var(--tw-bg-opacity))}.\32xl\:focus\:bg-yellow-900:focus{--tw-bg-opacity:1;background-color:rgba(120,53,15,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-50:focus{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-100:focus{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-200:focus{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-300:focus{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-400:focus{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-500:focus{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-600:focus{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-700:focus{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-800:focus{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.\32xl\:focus\:bg-green-900:focus{--tw-bg-opacity:1;background-color:rgba(6,78,59,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-50:focus{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-100:focus{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-200:focus{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-300:focus{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-400:focus{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-500:focus{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-600:focus{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-700:focus{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-800:focus{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.\32xl\:focus\:bg-blue-900:focus{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-50:focus{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-200:focus{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-300:focus{--tw-bg-opacity:1;background-color:rgba(165,180,252,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-400:focus{--tw-bg-opacity:1;background-color:rgba(129,140,248,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-500:focus{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-600:focus{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-800:focus{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.\32xl\:focus\:bg-indigo-900:focus{--tw-bg-opacity:1;background-color:rgba(49,46,129,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-50:focus{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-100:focus{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-200:focus{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-300:focus{--tw-bg-opacity:1;background-color:rgba(196,181,253,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-400:focus{--tw-bg-opacity:1;background-color:rgba(167,139,250,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-500:focus{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-600:focus{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-700:focus{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-800:focus{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.\32xl\:focus\:bg-purple-900:focus{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-50:focus{--tw-bg-opacity:1;background-color:rgba(253,242,248,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-100:focus{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-200:focus{--tw-bg-opacity:1;background-color:rgba(251,207,232,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-300:focus{--tw-bg-opacity:1;background-color:rgba(249,168,212,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-400:focus{--tw-bg-opacity:1;background-color:rgba(244,114,182,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-500:focus{--tw-bg-opacity:1;background-color:rgba(236,72,153,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-600:focus{--tw-bg-opacity:1;background-color:rgba(219,39,119,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-700:focus{--tw-bg-opacity:1;background-color:rgba(190,24,93,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-800:focus{--tw-bg-opacity:1;background-color:rgba(157,23,77,var(--tw-bg-opacity))}.\32xl\:focus\:bg-pink-900:focus{--tw-bg-opacity:1;background-color:rgba(131,24,67,var(--tw-bg-opacity))}.\32xl\:bg-opacity-0{--tw-bg-opacity:0}.\32xl\:bg-opacity-5{--tw-bg-opacity:0.05}.\32xl\:bg-opacity-10{--tw-bg-opacity:0.1}.\32xl\:bg-opacity-20{--tw-bg-opacity:0.2}.\32xl\:bg-opacity-25{--tw-bg-opacity:0.25}.\32xl\:bg-opacity-30{--tw-bg-opacity:0.3}.\32xl\:bg-opacity-40{--tw-bg-opacity:0.4}.\32xl\:bg-opacity-50{--tw-bg-opacity:0.5}.\32xl\:bg-opacity-60{--tw-bg-opacity:0.6}.\32xl\:bg-opacity-70{--tw-bg-opacity:0.7}.\32xl\:bg-opacity-75{--tw-bg-opacity:0.75}.\32xl\:bg-opacity-80{--tw-bg-opacity:0.8}.\32xl\:bg-opacity-90{--tw-bg-opacity:0.9}.\32xl\:bg-opacity-95{--tw-bg-opacity:0.95}.\32xl\:bg-opacity-100{--tw-bg-opacity:1}.group:hover .\32xl\:group-hover\:bg-opacity-0{--tw-bg-opacity:0}.group:hover .\32xl\:group-hover\:bg-opacity-5{--tw-bg-opacity:0.05}.group:hover .\32xl\:group-hover\:bg-opacity-10{--tw-bg-opacity:0.1}.group:hover .\32xl\:group-hover\:bg-opacity-20{--tw-bg-opacity:0.2}.group:hover .\32xl\:group-hover\:bg-opacity-25{--tw-bg-opacity:0.25}.group:hover .\32xl\:group-hover\:bg-opacity-30{--tw-bg-opacity:0.3}.group:hover .\32xl\:group-hover\:bg-opacity-40{--tw-bg-opacity:0.4}.group:hover .\32xl\:group-hover\:bg-opacity-50{--tw-bg-opacity:0.5}.group:hover .\32xl\:group-hover\:bg-opacity-60{--tw-bg-opacity:0.6}.group:hover .\32xl\:group-hover\:bg-opacity-70{--tw-bg-opacity:0.7}.group:hover .\32xl\:group-hover\:bg-opacity-75{--tw-bg-opacity:0.75}.group:hover .\32xl\:group-hover\:bg-opacity-80{--tw-bg-opacity:0.8}.group:hover .\32xl\:group-hover\:bg-opacity-90{--tw-bg-opacity:0.9}.group:hover .\32xl\:group-hover\:bg-opacity-95{--tw-bg-opacity:0.95}.group:hover .\32xl\:group-hover\:bg-opacity-100{--tw-bg-opacity:1}.\32xl\:focus-within\:bg-opacity-0:focus-within{--tw-bg-opacity:0}.\32xl\:focus-within\:bg-opacity-5:focus-within{--tw-bg-opacity:0.05}.\32xl\:focus-within\:bg-opacity-10:focus-within{--tw-bg-opacity:0.1}.\32xl\:focus-within\:bg-opacity-20:focus-within{--tw-bg-opacity:0.2}.\32xl\:focus-within\:bg-opacity-25:focus-within{--tw-bg-opacity:0.25}.\32xl\:focus-within\:bg-opacity-30:focus-within{--tw-bg-opacity:0.3}.\32xl\:focus-within\:bg-opacity-40:focus-within{--tw-bg-opacity:0.4}.\32xl\:focus-within\:bg-opacity-50:focus-within{--tw-bg-opacity:0.5}.\32xl\:focus-within\:bg-opacity-60:focus-within{--tw-bg-opacity:0.6}.\32xl\:focus-within\:bg-opacity-70:focus-within{--tw-bg-opacity:0.7}.\32xl\:focus-within\:bg-opacity-75:focus-within{--tw-bg-opacity:0.75}.\32xl\:focus-within\:bg-opacity-80:focus-within{--tw-bg-opacity:0.8}.\32xl\:focus-within\:bg-opacity-90:focus-within{--tw-bg-opacity:0.9}.\32xl\:focus-within\:bg-opacity-95:focus-within{--tw-bg-opacity:0.95}.\32xl\:focus-within\:bg-opacity-100:focus-within{--tw-bg-opacity:1}.\32xl\:hover\:bg-opacity-0:hover{--tw-bg-opacity:0}.\32xl\:hover\:bg-opacity-5:hover{--tw-bg-opacity:0.05}.\32xl\:hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.\32xl\:hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.\32xl\:hover\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.\32xl\:hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.\32xl\:hover\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.\32xl\:hover\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.\32xl\:hover\:bg-opacity-60:hover{--tw-bg-opacity:0.6}.\32xl\:hover\:bg-opacity-70:hover{--tw-bg-opacity:0.7}.\32xl\:hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.\32xl\:hover\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.\32xl\:hover\:bg-opacity-90:hover{--tw-bg-opacity:0.9}.\32xl\:hover\:bg-opacity-95:hover{--tw-bg-opacity:0.95}.\32xl\:hover\:bg-opacity-100:hover{--tw-bg-opacity:1}.\32xl\:focus\:bg-opacity-0:focus{--tw-bg-opacity:0}.\32xl\:focus\:bg-opacity-5:focus{--tw-bg-opacity:0.05}.\32xl\:focus\:bg-opacity-10:focus{--tw-bg-opacity:0.1}.\32xl\:focus\:bg-opacity-20:focus{--tw-bg-opacity:0.2}.\32xl\:focus\:bg-opacity-25:focus{--tw-bg-opacity:0.25}.\32xl\:focus\:bg-opacity-30:focus{--tw-bg-opacity:0.3}.\32xl\:focus\:bg-opacity-40:focus{--tw-bg-opacity:0.4}.\32xl\:focus\:bg-opacity-50:focus{--tw-bg-opacity:0.5}.\32xl\:focus\:bg-opacity-60:focus{--tw-bg-opacity:0.6}.\32xl\:focus\:bg-opacity-70:focus{--tw-bg-opacity:0.7}.\32xl\:focus\:bg-opacity-75:focus{--tw-bg-opacity:0.75}.\32xl\:focus\:bg-opacity-80:focus{--tw-bg-opacity:0.8}.\32xl\:focus\:bg-opacity-90:focus{--tw-bg-opacity:0.9}.\32xl\:focus\:bg-opacity-95:focus{--tw-bg-opacity:0.95}.\32xl\:focus\:bg-opacity-100:focus{--tw-bg-opacity:1}.\32xl\:bg-none{background-image:none}.\32xl\:bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.\32xl\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.\32xl\:bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.\32xl\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.\32xl\:bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.\32xl\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.\32xl\:bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.\32xl\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.\32xl\:from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:from-current{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:from-black{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.\32xl\:from-gray-100{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.\32xl\:from-gray-200{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.\32xl\:from-gray-300{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.\32xl\:from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.\32xl\:from-gray-500{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.\32xl\:from-gray-600{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.\32xl\:from-gray-700{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.\32xl\:from-gray-800{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.\32xl\:from-gray-900{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.\32xl\:from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.\32xl\:from-red-100{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.\32xl\:from-red-200{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.\32xl\:from-red-300{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.\32xl\:from-red-400{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.\32xl\:from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.\32xl\:from-red-600{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.\32xl\:from-red-700{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.\32xl\:from-red-800{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.\32xl\:from-red-900{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.\32xl\:from-yellow-50{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.\32xl\:from-yellow-100{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.\32xl\:from-yellow-200{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.\32xl\:from-yellow-300{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.\32xl\:from-yellow-400{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.\32xl\:from-yellow-500{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.\32xl\:from-yellow-600{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.\32xl\:from-yellow-700{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.\32xl\:from-yellow-800{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.\32xl\:from-yellow-900{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.\32xl\:from-green-50{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.\32xl\:from-green-100{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.\32xl\:from-green-200{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.\32xl\:from-green-300{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.\32xl\:from-green-400{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.\32xl\:from-green-500{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.\32xl\:from-green-600{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.\32xl\:from-green-700{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.\32xl\:from-green-800{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.\32xl\:from-green-900{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.\32xl\:from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.\32xl\:from-blue-100{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.\32xl\:from-blue-200{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.\32xl\:from-blue-300{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.\32xl\:from-blue-400{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.\32xl\:from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.\32xl\:from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.\32xl\:from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.\32xl\:from-blue-800{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.\32xl\:from-blue-900{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.\32xl\:from-indigo-50{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.\32xl\:from-indigo-100{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.\32xl\:from-indigo-200{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.\32xl\:from-indigo-300{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.\32xl\:from-indigo-400{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.\32xl\:from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.\32xl\:from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.\32xl\:from-indigo-700{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.\32xl\:from-indigo-800{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.\32xl\:from-indigo-900{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.\32xl\:from-purple-50{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.\32xl\:from-purple-100{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.\32xl\:from-purple-200{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.\32xl\:from-purple-300{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.\32xl\:from-purple-400{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.\32xl\:from-purple-500{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.\32xl\:from-purple-600{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.\32xl\:from-purple-700{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.\32xl\:from-purple-800{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.\32xl\:from-purple-900{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.\32xl\:from-pink-50{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.\32xl\:from-pink-100{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.\32xl\:from-pink-200{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.\32xl\:from-pink-300{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.\32xl\:from-pink-400{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.\32xl\:from-pink-500{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.\32xl\:from-pink-600{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.\32xl\:from-pink-700{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.\32xl\:from-pink-800{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.\32xl\:from-pink-900{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.\32xl\:hover\:from-transparent:hover{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:hover\:from-current:hover{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:hover\:from-black:hover{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:hover\:from-white:hover{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:hover\:from-gray-50:hover{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.\32xl\:hover\:from-gray-100:hover{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.\32xl\:hover\:from-gray-200:hover{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.\32xl\:hover\:from-gray-300:hover{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.\32xl\:hover\:from-gray-400:hover{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.\32xl\:hover\:from-gray-500:hover{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.\32xl\:hover\:from-gray-600:hover{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.\32xl\:hover\:from-gray-700:hover{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.\32xl\:hover\:from-gray-800:hover{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.\32xl\:hover\:from-gray-900:hover{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.\32xl\:hover\:from-red-50:hover{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.\32xl\:hover\:from-red-100:hover{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.\32xl\:hover\:from-red-200:hover{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.\32xl\:hover\:from-red-300:hover{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.\32xl\:hover\:from-red-400:hover{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.\32xl\:hover\:from-red-500:hover{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.\32xl\:hover\:from-red-600:hover{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.\32xl\:hover\:from-red-700:hover{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.\32xl\:hover\:from-red-800:hover{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.\32xl\:hover\:from-red-900:hover{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.\32xl\:hover\:from-yellow-50:hover{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.\32xl\:hover\:from-yellow-100:hover{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.\32xl\:hover\:from-yellow-200:hover{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.\32xl\:hover\:from-yellow-300:hover{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.\32xl\:hover\:from-yellow-400:hover{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.\32xl\:hover\:from-yellow-500:hover{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.\32xl\:hover\:from-yellow-600:hover{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.\32xl\:hover\:from-yellow-700:hover{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.\32xl\:hover\:from-yellow-800:hover{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.\32xl\:hover\:from-yellow-900:hover{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.\32xl\:hover\:from-green-50:hover{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.\32xl\:hover\:from-green-100:hover{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.\32xl\:hover\:from-green-200:hover{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.\32xl\:hover\:from-green-300:hover{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.\32xl\:hover\:from-green-400:hover{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.\32xl\:hover\:from-green-500:hover{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.\32xl\:hover\:from-green-600:hover{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.\32xl\:hover\:from-green-700:hover{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.\32xl\:hover\:from-green-800:hover{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.\32xl\:hover\:from-green-900:hover{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.\32xl\:hover\:from-blue-50:hover{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.\32xl\:hover\:from-blue-100:hover{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.\32xl\:hover\:from-blue-200:hover{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.\32xl\:hover\:from-blue-300:hover{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.\32xl\:hover\:from-blue-400:hover{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.\32xl\:hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.\32xl\:hover\:from-blue-600:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.\32xl\:hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.\32xl\:hover\:from-blue-800:hover{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.\32xl\:hover\:from-blue-900:hover{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.\32xl\:hover\:from-indigo-50:hover{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.\32xl\:hover\:from-indigo-100:hover{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.\32xl\:hover\:from-indigo-200:hover{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.\32xl\:hover\:from-indigo-300:hover{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.\32xl\:hover\:from-indigo-400:hover{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.\32xl\:hover\:from-indigo-500:hover{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.\32xl\:hover\:from-indigo-600:hover{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.\32xl\:hover\:from-indigo-700:hover{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.\32xl\:hover\:from-indigo-800:hover{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.\32xl\:hover\:from-indigo-900:hover{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.\32xl\:hover\:from-purple-50:hover{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.\32xl\:hover\:from-purple-100:hover{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.\32xl\:hover\:from-purple-200:hover{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.\32xl\:hover\:from-purple-300:hover{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.\32xl\:hover\:from-purple-400:hover{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.\32xl\:hover\:from-purple-500:hover{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.\32xl\:hover\:from-purple-600:hover{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.\32xl\:hover\:from-purple-700:hover{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.\32xl\:hover\:from-purple-800:hover{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.\32xl\:hover\:from-purple-900:hover{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.\32xl\:hover\:from-pink-50:hover{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.\32xl\:hover\:from-pink-100:hover{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.\32xl\:hover\:from-pink-200:hover{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.\32xl\:hover\:from-pink-300:hover{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.\32xl\:hover\:from-pink-400:hover{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.\32xl\:hover\:from-pink-500:hover{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.\32xl\:hover\:from-pink-600:hover{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.\32xl\:hover\:from-pink-700:hover{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.\32xl\:hover\:from-pink-800:hover{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.\32xl\:hover\:from-pink-900:hover{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.\32xl\:focus\:from-transparent:focus{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:focus\:from-current:focus{--tw-gradient-from:currentColor;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:focus\:from-black:focus{--tw-gradient-from:#000;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:focus\:from-white:focus{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:focus\:from-gray-50:focus{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 250, 251, 0))}.\32xl\:focus\:from-gray-100:focus{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(243, 244, 246, 0))}.\32xl\:focus\:from-gray-200:focus{--tw-gradient-from:#e5e7eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(229, 231, 235, 0))}.\32xl\:focus\:from-gray-300:focus{--tw-gradient-from:#d1d5db;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 213, 219, 0))}.\32xl\:focus\:from-gray-400:focus{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(156, 163, 175, 0))}.\32xl\:focus\:from-gray-500:focus{--tw-gradient-from:#6b7280;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(107, 114, 128, 0))}.\32xl\:focus\:from-gray-600:focus{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(75, 85, 99, 0))}.\32xl\:focus\:from-gray-700:focus{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 65, 81, 0))}.\32xl\:focus\:from-gray-800:focus{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(31, 41, 55, 0))}.\32xl\:focus\:from-gray-900:focus{--tw-gradient-from:#111827;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(17, 24, 39, 0))}.\32xl\:focus\:from-red-50:focus{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 242, 242, 0))}.\32xl\:focus\:from-red-100:focus{--tw-gradient-from:#fee2e2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 226, 226, 0))}.\32xl\:focus\:from-red-200:focus{--tw-gradient-from:#fecaca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 202, 202, 0))}.\32xl\:focus\:from-red-300:focus{--tw-gradient-from:#fca5a5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 165, 165, 0))}.\32xl\:focus\:from-red-400:focus{--tw-gradient-from:#f87171;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(248, 113, 113, 0))}.\32xl\:focus\:from-red-500:focus{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 68, 68, 0))}.\32xl\:focus\:from-red-600:focus{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(220, 38, 38, 0))}.\32xl\:focus\:from-red-700:focus{--tw-gradient-from:#b91c1c;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(185, 28, 28, 0))}.\32xl\:focus\:from-red-800:focus{--tw-gradient-from:#991b1b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(153, 27, 27, 0))}.\32xl\:focus\:from-red-900:focus{--tw-gradient-from:#7f1d1d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(127, 29, 29, 0))}.\32xl\:focus\:from-yellow-50:focus{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(255, 251, 235, 0))}.\32xl\:focus\:from-yellow-100:focus{--tw-gradient-from:#fef3c7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(254, 243, 199, 0))}.\32xl\:focus\:from-yellow-200:focus{--tw-gradient-from:#fde68a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 230, 138, 0))}.\32xl\:focus\:from-yellow-300:focus{--tw-gradient-from:#fcd34d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 211, 77, 0))}.\32xl\:focus\:from-yellow-400:focus{--tw-gradient-from:#fbbf24;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 191, 36, 0))}.\32xl\:focus\:from-yellow-500:focus{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 158, 11, 0))}.\32xl\:focus\:from-yellow-600:focus{--tw-gradient-from:#d97706;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(217, 119, 6, 0))}.\32xl\:focus\:from-yellow-700:focus{--tw-gradient-from:#b45309;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(180, 83, 9, 0))}.\32xl\:focus\:from-yellow-800:focus{--tw-gradient-from:#92400e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(146, 64, 14, 0))}.\32xl\:focus\:from-yellow-900:focus{--tw-gradient-from:#78350f;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(120, 53, 15, 0))}.\32xl\:focus\:from-green-50:focus{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 253, 245, 0))}.\32xl\:focus\:from-green-100:focus{--tw-gradient-from:#d1fae5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(209, 250, 229, 0))}.\32xl\:focus\:from-green-200:focus{--tw-gradient-from:#a7f3d0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 243, 208, 0))}.\32xl\:focus\:from-green-300:focus{--tw-gradient-from:#6ee7b7;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(110, 231, 183, 0))}.\32xl\:focus\:from-green-400:focus{--tw-gradient-from:#34d399;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(52, 211, 153, 0))}.\32xl\:focus\:from-green-500:focus{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(16, 185, 129, 0))}.\32xl\:focus\:from-green-600:focus{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(5, 150, 105, 0))}.\32xl\:focus\:from-green-700:focus{--tw-gradient-from:#047857;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(4, 120, 87, 0))}.\32xl\:focus\:from-green-800:focus{--tw-gradient-from:#065f46;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 95, 70, 0))}.\32xl\:focus\:from-green-900:focus{--tw-gradient-from:#064e3b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(6, 78, 59, 0))}.\32xl\:focus\:from-blue-50:focus{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(239, 246, 255, 0))}.\32xl\:focus\:from-blue-100:focus{--tw-gradient-from:#dbeafe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 234, 254, 0))}.\32xl\:focus\:from-blue-200:focus{--tw-gradient-from:#bfdbfe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(191, 219, 254, 0))}.\32xl\:focus\:from-blue-300:focus{--tw-gradient-from:#93c5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(147, 197, 253, 0))}.\32xl\:focus\:from-blue-400:focus{--tw-gradient-from:#60a5fa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(96, 165, 250, 0))}.\32xl\:focus\:from-blue-500:focus{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(59, 130, 246, 0))}.\32xl\:focus\:from-blue-600:focus{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(37, 99, 235, 0))}.\32xl\:focus\:from-blue-700:focus{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(29, 78, 216, 0))}.\32xl\:focus\:from-blue-800:focus{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 64, 175, 0))}.\32xl\:focus\:from-blue-900:focus{--tw-gradient-from:#1e3a8a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(30, 58, 138, 0))}.\32xl\:focus\:from-indigo-50:focus{--tw-gradient-from:#eef2ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(238, 242, 255, 0))}.\32xl\:focus\:from-indigo-100:focus{--tw-gradient-from:#e0e7ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(224, 231, 255, 0))}.\32xl\:focus\:from-indigo-200:focus{--tw-gradient-from:#c7d2fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(199, 210, 254, 0))}.\32xl\:focus\:from-indigo-300:focus{--tw-gradient-from:#a5b4fc;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(165, 180, 252, 0))}.\32xl\:focus\:from-indigo-400:focus{--tw-gradient-from:#818cf8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(129, 140, 248, 0))}.\32xl\:focus\:from-indigo-500:focus{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(99, 102, 241, 0))}.\32xl\:focus\:from-indigo-600:focus{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(79, 70, 229, 0))}.\32xl\:focus\:from-indigo-700:focus{--tw-gradient-from:#4338ca;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(67, 56, 202, 0))}.\32xl\:focus\:from-indigo-800:focus{--tw-gradient-from:#3730a3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(55, 48, 163, 0))}.\32xl\:focus\:from-indigo-900:focus{--tw-gradient-from:#312e81;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(49, 46, 129, 0))}.\32xl\:focus\:from-purple-50:focus{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(245, 243, 255, 0))}.\32xl\:focus\:from-purple-100:focus{--tw-gradient-from:#ede9fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(237, 233, 254, 0))}.\32xl\:focus\:from-purple-200:focus{--tw-gradient-from:#ddd6fe;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(221, 214, 254, 0))}.\32xl\:focus\:from-purple-300:focus{--tw-gradient-from:#c4b5fd;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(196, 181, 253, 0))}.\32xl\:focus\:from-purple-400:focus{--tw-gradient-from:#a78bfa;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(167, 139, 250, 0))}.\32xl\:focus\:from-purple-500:focus{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(139, 92, 246, 0))}.\32xl\:focus\:from-purple-600:focus{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(124, 58, 237, 0))}.\32xl\:focus\:from-purple-700:focus{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(109, 40, 217, 0))}.\32xl\:focus\:from-purple-800:focus{--tw-gradient-from:#5b21b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(91, 33, 182, 0))}.\32xl\:focus\:from-purple-900:focus{--tw-gradient-from:#4c1d95;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(76, 29, 149, 0))}.\32xl\:focus\:from-pink-50:focus{--tw-gradient-from:#fdf2f8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(253, 242, 248, 0))}.\32xl\:focus\:from-pink-100:focus{--tw-gradient-from:#fce7f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(252, 231, 243, 0))}.\32xl\:focus\:from-pink-200:focus{--tw-gradient-from:#fbcfe8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(251, 207, 232, 0))}.\32xl\:focus\:from-pink-300:focus{--tw-gradient-from:#f9a8d4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(249, 168, 212, 0))}.\32xl\:focus\:from-pink-400:focus{--tw-gradient-from:#f472b6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(244, 114, 182, 0))}.\32xl\:focus\:from-pink-500:focus{--tw-gradient-from:#ec4899;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(236, 72, 153, 0))}.\32xl\:focus\:from-pink-600:focus{--tw-gradient-from:#db2777;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(219, 39, 119, 0))}.\32xl\:focus\:from-pink-700:focus{--tw-gradient-from:#be185d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(190, 24, 93, 0))}.\32xl\:focus\:from-pink-800:focus{--tw-gradient-from:#9d174d;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(157, 23, 77, 0))}.\32xl\:focus\:from-pink-900:focus{--tw-gradient-from:#831843;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to, rgba(131, 24, 67, 0))}.\32xl\:via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:via-current{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:via-black{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:via-gray-50{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.\32xl\:via-gray-100{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.\32xl\:via-gray-200{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.\32xl\:via-gray-300{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.\32xl\:via-gray-400{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.\32xl\:via-gray-500{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.\32xl\:via-gray-600{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.\32xl\:via-gray-700{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.\32xl\:via-gray-800{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.\32xl\:via-gray-900{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.\32xl\:via-red-50{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.\32xl\:via-red-100{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.\32xl\:via-red-200{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.\32xl\:via-red-300{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.\32xl\:via-red-400{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.\32xl\:via-red-500{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.\32xl\:via-red-600{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.\32xl\:via-red-700{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.\32xl\:via-red-800{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.\32xl\:via-red-900{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.\32xl\:via-yellow-50{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.\32xl\:via-yellow-100{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.\32xl\:via-yellow-200{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.\32xl\:via-yellow-300{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.\32xl\:via-yellow-400{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.\32xl\:via-yellow-500{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.\32xl\:via-yellow-600{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.\32xl\:via-yellow-700{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.\32xl\:via-yellow-800{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.\32xl\:via-yellow-900{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.\32xl\:via-green-50{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.\32xl\:via-green-100{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.\32xl\:via-green-200{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.\32xl\:via-green-300{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.\32xl\:via-green-400{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.\32xl\:via-green-500{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.\32xl\:via-green-600{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.\32xl\:via-green-700{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.\32xl\:via-green-800{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.\32xl\:via-green-900{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.\32xl\:via-blue-50{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.\32xl\:via-blue-100{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.\32xl\:via-blue-200{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.\32xl\:via-blue-300{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.\32xl\:via-blue-400{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.\32xl\:via-blue-500{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.\32xl\:via-blue-600{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.\32xl\:via-blue-700{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.\32xl\:via-blue-800{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.\32xl\:via-blue-900{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.\32xl\:via-indigo-50{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.\32xl\:via-indigo-100{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.\32xl\:via-indigo-200{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.\32xl\:via-indigo-300{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.\32xl\:via-indigo-400{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.\32xl\:via-indigo-500{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.\32xl\:via-indigo-600{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.\32xl\:via-indigo-700{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.\32xl\:via-indigo-800{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.\32xl\:via-indigo-900{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.\32xl\:via-purple-50{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.\32xl\:via-purple-100{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.\32xl\:via-purple-200{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.\32xl\:via-purple-300{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.\32xl\:via-purple-400{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.\32xl\:via-purple-500{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.\32xl\:via-purple-600{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.\32xl\:via-purple-700{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.\32xl\:via-purple-800{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.\32xl\:via-purple-900{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.\32xl\:via-pink-50{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.\32xl\:via-pink-100{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.\32xl\:via-pink-200{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.\32xl\:via-pink-300{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.\32xl\:via-pink-400{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.\32xl\:via-pink-500{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.\32xl\:via-pink-600{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.\32xl\:via-pink-700{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.\32xl\:via-pink-800{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.\32xl\:via-pink-900{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.\32xl\:hover\:via-transparent:hover{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:hover\:via-current:hover{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:hover\:via-black:hover{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:hover\:via-white:hover{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:hover\:via-gray-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.\32xl\:hover\:via-gray-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.\32xl\:hover\:via-gray-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.\32xl\:hover\:via-gray-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.\32xl\:hover\:via-gray-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.\32xl\:hover\:via-gray-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.\32xl\:hover\:via-gray-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.\32xl\:hover\:via-gray-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.\32xl\:hover\:via-gray-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.\32xl\:hover\:via-gray-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.\32xl\:hover\:via-red-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.\32xl\:hover\:via-red-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.\32xl\:hover\:via-red-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.\32xl\:hover\:via-red-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.\32xl\:hover\:via-red-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.\32xl\:hover\:via-red-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.\32xl\:hover\:via-red-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.\32xl\:hover\:via-red-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.\32xl\:hover\:via-red-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.\32xl\:hover\:via-red-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.\32xl\:hover\:via-yellow-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.\32xl\:hover\:via-yellow-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.\32xl\:hover\:via-yellow-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.\32xl\:hover\:via-yellow-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.\32xl\:hover\:via-yellow-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.\32xl\:hover\:via-yellow-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.\32xl\:hover\:via-yellow-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.\32xl\:hover\:via-yellow-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.\32xl\:hover\:via-yellow-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.\32xl\:hover\:via-yellow-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.\32xl\:hover\:via-green-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.\32xl\:hover\:via-green-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.\32xl\:hover\:via-green-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.\32xl\:hover\:via-green-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.\32xl\:hover\:via-green-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.\32xl\:hover\:via-green-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.\32xl\:hover\:via-green-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.\32xl\:hover\:via-green-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.\32xl\:hover\:via-green-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.\32xl\:hover\:via-green-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.\32xl\:hover\:via-blue-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.\32xl\:hover\:via-blue-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.\32xl\:hover\:via-blue-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.\32xl\:hover\:via-blue-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.\32xl\:hover\:via-blue-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.\32xl\:hover\:via-blue-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.\32xl\:hover\:via-blue-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.\32xl\:hover\:via-blue-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.\32xl\:hover\:via-blue-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.\32xl\:hover\:via-blue-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.\32xl\:hover\:via-indigo-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.\32xl\:hover\:via-indigo-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.\32xl\:hover\:via-indigo-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.\32xl\:hover\:via-indigo-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.\32xl\:hover\:via-indigo-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.\32xl\:hover\:via-indigo-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.\32xl\:hover\:via-indigo-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.\32xl\:hover\:via-indigo-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.\32xl\:hover\:via-indigo-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.\32xl\:hover\:via-indigo-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.\32xl\:hover\:via-purple-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.\32xl\:hover\:via-purple-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.\32xl\:hover\:via-purple-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.\32xl\:hover\:via-purple-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.\32xl\:hover\:via-purple-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.\32xl\:hover\:via-purple-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.\32xl\:hover\:via-purple-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.\32xl\:hover\:via-purple-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.\32xl\:hover\:via-purple-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.\32xl\:hover\:via-purple-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.\32xl\:hover\:via-pink-50:hover{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.\32xl\:hover\:via-pink-100:hover{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.\32xl\:hover\:via-pink-200:hover{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.\32xl\:hover\:via-pink-300:hover{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.\32xl\:hover\:via-pink-400:hover{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.\32xl\:hover\:via-pink-500:hover{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.\32xl\:hover\:via-pink-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.\32xl\:hover\:via-pink-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.\32xl\:hover\:via-pink-800:hover{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.\32xl\:hover\:via-pink-900:hover{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.\32xl\:focus\:via-transparent:focus{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:focus\:via-current:focus{--tw-gradient-stops:var(--tw-gradient-from),currentColor,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:focus\:via-black:focus{--tw-gradient-stops:var(--tw-gradient-from),#000,var(--tw-gradient-to, rgba(0, 0, 0, 0))}.\32xl\:focus\:via-white:focus{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to, rgba(255, 255, 255, 0))}.\32xl\:focus\:via-gray-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9fafb,var(--tw-gradient-to, rgba(249, 250, 251, 0))}.\32xl\:focus\:via-gray-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6,var(--tw-gradient-to, rgba(243, 244, 246, 0))}.\32xl\:focus\:via-gray-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb,var(--tw-gradient-to, rgba(229, 231, 235, 0))}.\32xl\:focus\:via-gray-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1d5db,var(--tw-gradient-to, rgba(209, 213, 219, 0))}.\32xl\:focus\:via-gray-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#9ca3af,var(--tw-gradient-to, rgba(156, 163, 175, 0))}.\32xl\:focus\:via-gray-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6b7280,var(--tw-gradient-to, rgba(107, 114, 128, 0))}.\32xl\:focus\:via-gray-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4b5563,var(--tw-gradient-to, rgba(75, 85, 99, 0))}.\32xl\:focus\:via-gray-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to, rgba(55, 65, 81, 0))}.\32xl\:focus\:via-gray-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to, rgba(31, 41, 55, 0))}.\32xl\:focus\:via-gray-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#111827,var(--tw-gradient-to, rgba(17, 24, 39, 0))}.\32xl\:focus\:via-red-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef2f2,var(--tw-gradient-to, rgba(254, 242, 242, 0))}.\32xl\:focus\:via-red-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fee2e2,var(--tw-gradient-to, rgba(254, 226, 226, 0))}.\32xl\:focus\:via-red-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fecaca,var(--tw-gradient-to, rgba(254, 202, 202, 0))}.\32xl\:focus\:via-red-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fca5a5,var(--tw-gradient-to, rgba(252, 165, 165, 0))}.\32xl\:focus\:via-red-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f87171,var(--tw-gradient-to, rgba(248, 113, 113, 0))}.\32xl\:focus\:via-red-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ef4444,var(--tw-gradient-to, rgba(239, 68, 68, 0))}.\32xl\:focus\:via-red-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#dc2626,var(--tw-gradient-to, rgba(220, 38, 38, 0))}.\32xl\:focus\:via-red-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b91c1c,var(--tw-gradient-to, rgba(185, 28, 28, 0))}.\32xl\:focus\:via-red-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#991b1b,var(--tw-gradient-to, rgba(153, 27, 27, 0))}.\32xl\:focus\:via-red-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d,var(--tw-gradient-to, rgba(127, 29, 29, 0))}.\32xl\:focus\:via-yellow-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fffbeb,var(--tw-gradient-to, rgba(255, 251, 235, 0))}.\32xl\:focus\:via-yellow-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fef3c7,var(--tw-gradient-to, rgba(254, 243, 199, 0))}.\32xl\:focus\:via-yellow-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fde68a,var(--tw-gradient-to, rgba(253, 230, 138, 0))}.\32xl\:focus\:via-yellow-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#fcd34d,var(--tw-gradient-to, rgba(252, 211, 77, 0))}.\32xl\:focus\:via-yellow-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbbf24,var(--tw-gradient-to, rgba(251, 191, 36, 0))}.\32xl\:focus\:via-yellow-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#f59e0b,var(--tw-gradient-to, rgba(245, 158, 11, 0))}.\32xl\:focus\:via-yellow-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#d97706,var(--tw-gradient-to, rgba(217, 119, 6, 0))}.\32xl\:focus\:via-yellow-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#b45309,var(--tw-gradient-to, rgba(180, 83, 9, 0))}.\32xl\:focus\:via-yellow-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#92400e,var(--tw-gradient-to, rgba(146, 64, 14, 0))}.\32xl\:focus\:via-yellow-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#78350f,var(--tw-gradient-to, rgba(120, 53, 15, 0))}.\32xl\:focus\:via-green-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#ecfdf5,var(--tw-gradient-to, rgba(236, 253, 245, 0))}.\32xl\:focus\:via-green-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#d1fae5,var(--tw-gradient-to, rgba(209, 250, 229, 0))}.\32xl\:focus\:via-green-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#a7f3d0,var(--tw-gradient-to, rgba(167, 243, 208, 0))}.\32xl\:focus\:via-green-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#6ee7b7,var(--tw-gradient-to, rgba(110, 231, 183, 0))}.\32xl\:focus\:via-green-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#34d399,var(--tw-gradient-to, rgba(52, 211, 153, 0))}.\32xl\:focus\:via-green-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#10b981,var(--tw-gradient-to, rgba(16, 185, 129, 0))}.\32xl\:focus\:via-green-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#059669,var(--tw-gradient-to, rgba(5, 150, 105, 0))}.\32xl\:focus\:via-green-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#047857,var(--tw-gradient-to, rgba(4, 120, 87, 0))}.\32xl\:focus\:via-green-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#065f46,var(--tw-gradient-to, rgba(6, 95, 70, 0))}.\32xl\:focus\:via-green-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#064e3b,var(--tw-gradient-to, rgba(6, 78, 59, 0))}.\32xl\:focus\:via-blue-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to, rgba(239, 246, 255, 0))}.\32xl\:focus\:via-blue-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#dbeafe,var(--tw-gradient-to, rgba(219, 234, 254, 0))}.\32xl\:focus\:via-blue-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#bfdbfe,var(--tw-gradient-to, rgba(191, 219, 254, 0))}.\32xl\:focus\:via-blue-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#93c5fd,var(--tw-gradient-to, rgba(147, 197, 253, 0))}.\32xl\:focus\:via-blue-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#60a5fa,var(--tw-gradient-to, rgba(96, 165, 250, 0))}.\32xl\:focus\:via-blue-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to, rgba(59, 130, 246, 0))}.\32xl\:focus\:via-blue-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to, rgba(37, 99, 235, 0))}.\32xl\:focus\:via-blue-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to, rgba(29, 78, 216, 0))}.\32xl\:focus\:via-blue-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e40af,var(--tw-gradient-to, rgba(30, 64, 175, 0))}.\32xl\:focus\:via-blue-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#1e3a8a,var(--tw-gradient-to, rgba(30, 58, 138, 0))}.\32xl\:focus\:via-indigo-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to, rgba(238, 242, 255, 0))}.\32xl\:focus\:via-indigo-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to, rgba(224, 231, 255, 0))}.\32xl\:focus\:via-indigo-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#c7d2fe,var(--tw-gradient-to, rgba(199, 210, 254, 0))}.\32xl\:focus\:via-indigo-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#a5b4fc,var(--tw-gradient-to, rgba(165, 180, 252, 0))}.\32xl\:focus\:via-indigo-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#818cf8,var(--tw-gradient-to, rgba(129, 140, 248, 0))}.\32xl\:focus\:via-indigo-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#6366f1,var(--tw-gradient-to, rgba(99, 102, 241, 0))}.\32xl\:focus\:via-indigo-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to, rgba(79, 70, 229, 0))}.\32xl\:focus\:via-indigo-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to, rgba(67, 56, 202, 0))}.\32xl\:focus\:via-indigo-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#3730a3,var(--tw-gradient-to, rgba(55, 48, 163, 0))}.\32xl\:focus\:via-indigo-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#312e81,var(--tw-gradient-to, rgba(49, 46, 129, 0))}.\32xl\:focus\:via-purple-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#f5f3ff,var(--tw-gradient-to, rgba(245, 243, 255, 0))}.\32xl\:focus\:via-purple-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#ede9fe,var(--tw-gradient-to, rgba(237, 233, 254, 0))}.\32xl\:focus\:via-purple-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#ddd6fe,var(--tw-gradient-to, rgba(221, 214, 254, 0))}.\32xl\:focus\:via-purple-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#c4b5fd,var(--tw-gradient-to, rgba(196, 181, 253, 0))}.\32xl\:focus\:via-purple-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#a78bfa,var(--tw-gradient-to, rgba(167, 139, 250, 0))}.\32xl\:focus\:via-purple-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#8b5cf6,var(--tw-gradient-to, rgba(139, 92, 246, 0))}.\32xl\:focus\:via-purple-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to, rgba(124, 58, 237, 0))}.\32xl\:focus\:via-purple-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to, rgba(109, 40, 217, 0))}.\32xl\:focus\:via-purple-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to, rgba(91, 33, 182, 0))}.\32xl\:focus\:via-purple-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#4c1d95,var(--tw-gradient-to, rgba(76, 29, 149, 0))}.\32xl\:focus\:via-pink-50:focus{--tw-gradient-stops:var(--tw-gradient-from),#fdf2f8,var(--tw-gradient-to, rgba(253, 242, 248, 0))}.\32xl\:focus\:via-pink-100:focus{--tw-gradient-stops:var(--tw-gradient-from),#fce7f3,var(--tw-gradient-to, rgba(252, 231, 243, 0))}.\32xl\:focus\:via-pink-200:focus{--tw-gradient-stops:var(--tw-gradient-from),#fbcfe8,var(--tw-gradient-to, rgba(251, 207, 232, 0))}.\32xl\:focus\:via-pink-300:focus{--tw-gradient-stops:var(--tw-gradient-from),#f9a8d4,var(--tw-gradient-to, rgba(249, 168, 212, 0))}.\32xl\:focus\:via-pink-400:focus{--tw-gradient-stops:var(--tw-gradient-from),#f472b6,var(--tw-gradient-to, rgba(244, 114, 182, 0))}.\32xl\:focus\:via-pink-500:focus{--tw-gradient-stops:var(--tw-gradient-from),#ec4899,var(--tw-gradient-to, rgba(236, 72, 153, 0))}.\32xl\:focus\:via-pink-600:focus{--tw-gradient-stops:var(--tw-gradient-from),#db2777,var(--tw-gradient-to, rgba(219, 39, 119, 0))}.\32xl\:focus\:via-pink-700:focus{--tw-gradient-stops:var(--tw-gradient-from),#be185d,var(--tw-gradient-to, rgba(190, 24, 93, 0))}.\32xl\:focus\:via-pink-800:focus{--tw-gradient-stops:var(--tw-gradient-from),#9d174d,var(--tw-gradient-to, rgba(157, 23, 77, 0))}.\32xl\:focus\:via-pink-900:focus{--tw-gradient-stops:var(--tw-gradient-from),#831843,var(--tw-gradient-to, rgba(131, 24, 67, 0))}.\32xl\:to-transparent{--tw-gradient-to:transparent}.\32xl\:to-current{--tw-gradient-to:currentColor}.\32xl\:to-black{--tw-gradient-to:#000}.\32xl\:to-white{--tw-gradient-to:#fff}.\32xl\:to-gray-50{--tw-gradient-to:#f9fafb}.\32xl\:to-gray-100{--tw-gradient-to:#f3f4f6}.\32xl\:to-gray-200{--tw-gradient-to:#e5e7eb}.\32xl\:to-gray-300{--tw-gradient-to:#d1d5db}.\32xl\:to-gray-400{--tw-gradient-to:#9ca3af}.\32xl\:to-gray-500{--tw-gradient-to:#6b7280}.\32xl\:to-gray-600{--tw-gradient-to:#4b5563}.\32xl\:to-gray-700{--tw-gradient-to:#374151}.\32xl\:to-gray-800{--tw-gradient-to:#1f2937}.\32xl\:to-gray-900{--tw-gradient-to:#111827}.\32xl\:to-red-50{--tw-gradient-to:#fef2f2}.\32xl\:to-red-100{--tw-gradient-to:#fee2e2}.\32xl\:to-red-200{--tw-gradient-to:#fecaca}.\32xl\:to-red-300{--tw-gradient-to:#fca5a5}.\32xl\:to-red-400{--tw-gradient-to:#f87171}.\32xl\:to-red-500{--tw-gradient-to:#ef4444}.\32xl\:to-red-600{--tw-gradient-to:#dc2626}.\32xl\:to-red-700{--tw-gradient-to:#b91c1c}.\32xl\:to-red-800{--tw-gradient-to:#991b1b}.\32xl\:to-red-900{--tw-gradient-to:#7f1d1d}.\32xl\:to-yellow-50{--tw-gradient-to:#fffbeb}.\32xl\:to-yellow-100{--tw-gradient-to:#fef3c7}.\32xl\:to-yellow-200{--tw-gradient-to:#fde68a}.\32xl\:to-yellow-300{--tw-gradient-to:#fcd34d}.\32xl\:to-yellow-400{--tw-gradient-to:#fbbf24}.\32xl\:to-yellow-500{--tw-gradient-to:#f59e0b}.\32xl\:to-yellow-600{--tw-gradient-to:#d97706}.\32xl\:to-yellow-700{--tw-gradient-to:#b45309}.\32xl\:to-yellow-800{--tw-gradient-to:#92400e}.\32xl\:to-yellow-900{--tw-gradient-to:#78350f}.\32xl\:to-green-50{--tw-gradient-to:#ecfdf5}.\32xl\:to-green-100{--tw-gradient-to:#d1fae5}.\32xl\:to-green-200{--tw-gradient-to:#a7f3d0}.\32xl\:to-green-300{--tw-gradient-to:#6ee7b7}.\32xl\:to-green-400{--tw-gradient-to:#34d399}.\32xl\:to-green-500{--tw-gradient-to:#10b981}.\32xl\:to-green-600{--tw-gradient-to:#059669}.\32xl\:to-green-700{--tw-gradient-to:#047857}.\32xl\:to-green-800{--tw-gradient-to:#065f46}.\32xl\:to-green-900{--tw-gradient-to:#064e3b}.\32xl\:to-blue-50{--tw-gradient-to:#eff6ff}.\32xl\:to-blue-100{--tw-gradient-to:#dbeafe}.\32xl\:to-blue-200{--tw-gradient-to:#bfdbfe}.\32xl\:to-blue-300{--tw-gradient-to:#93c5fd}.\32xl\:to-blue-400{--tw-gradient-to:#60a5fa}.\32xl\:to-blue-500{--tw-gradient-to:#3b82f6}.\32xl\:to-blue-600{--tw-gradient-to:#2563eb}.\32xl\:to-blue-700{--tw-gradient-to:#1d4ed8}.\32xl\:to-blue-800{--tw-gradient-to:#1e40af}.\32xl\:to-blue-900{--tw-gradient-to:#1e3a8a}.\32xl\:to-indigo-50{--tw-gradient-to:#eef2ff}.\32xl\:to-indigo-100{--tw-gradient-to:#e0e7ff}.\32xl\:to-indigo-200{--tw-gradient-to:#c7d2fe}.\32xl\:to-indigo-300{--tw-gradient-to:#a5b4fc}.\32xl\:to-indigo-400{--tw-gradient-to:#818cf8}.\32xl\:to-indigo-500{--tw-gradient-to:#6366f1}.\32xl\:to-indigo-600{--tw-gradient-to:#4f46e5}.\32xl\:to-indigo-700{--tw-gradient-to:#4338ca}.\32xl\:to-indigo-800{--tw-gradient-to:#3730a3}.\32xl\:to-indigo-900{--tw-gradient-to:#312e81}.\32xl\:to-purple-50{--tw-gradient-to:#f5f3ff}.\32xl\:to-purple-100{--tw-gradient-to:#ede9fe}.\32xl\:to-purple-200{--tw-gradient-to:#ddd6fe}.\32xl\:to-purple-300{--tw-gradient-to:#c4b5fd}.\32xl\:to-purple-400{--tw-gradient-to:#a78bfa}.\32xl\:to-purple-500{--tw-gradient-to:#8b5cf6}.\32xl\:to-purple-600{--tw-gradient-to:#7c3aed}.\32xl\:to-purple-700{--tw-gradient-to:#6d28d9}.\32xl\:to-purple-800{--tw-gradient-to:#5b21b6}.\32xl\:to-purple-900{--tw-gradient-to:#4c1d95}.\32xl\:to-pink-50{--tw-gradient-to:#fdf2f8}.\32xl\:to-pink-100{--tw-gradient-to:#fce7f3}.\32xl\:to-pink-200{--tw-gradient-to:#fbcfe8}.\32xl\:to-pink-300{--tw-gradient-to:#f9a8d4}.\32xl\:to-pink-400{--tw-gradient-to:#f472b6}.\32xl\:to-pink-500{--tw-gradient-to:#ec4899}.\32xl\:to-pink-600{--tw-gradient-to:#db2777}.\32xl\:to-pink-700{--tw-gradient-to:#be185d}.\32xl\:to-pink-800{--tw-gradient-to:#9d174d}.\32xl\:to-pink-900{--tw-gradient-to:#831843}.\32xl\:hover\:to-transparent:hover{--tw-gradient-to:transparent}.\32xl\:hover\:to-current:hover{--tw-gradient-to:currentColor}.\32xl\:hover\:to-black:hover{--tw-gradient-to:#000}.\32xl\:hover\:to-white:hover{--tw-gradient-to:#fff}.\32xl\:hover\:to-gray-50:hover{--tw-gradient-to:#f9fafb}.\32xl\:hover\:to-gray-100:hover{--tw-gradient-to:#f3f4f6}.\32xl\:hover\:to-gray-200:hover{--tw-gradient-to:#e5e7eb}.\32xl\:hover\:to-gray-300:hover{--tw-gradient-to:#d1d5db}.\32xl\:hover\:to-gray-400:hover{--tw-gradient-to:#9ca3af}.\32xl\:hover\:to-gray-500:hover{--tw-gradient-to:#6b7280}.\32xl\:hover\:to-gray-600:hover{--tw-gradient-to:#4b5563}.\32xl\:hover\:to-gray-700:hover{--tw-gradient-to:#374151}.\32xl\:hover\:to-gray-800:hover{--tw-gradient-to:#1f2937}.\32xl\:hover\:to-gray-900:hover{--tw-gradient-to:#111827}.\32xl\:hover\:to-red-50:hover{--tw-gradient-to:#fef2f2}.\32xl\:hover\:to-red-100:hover{--tw-gradient-to:#fee2e2}.\32xl\:hover\:to-red-200:hover{--tw-gradient-to:#fecaca}.\32xl\:hover\:to-red-300:hover{--tw-gradient-to:#fca5a5}.\32xl\:hover\:to-red-400:hover{--tw-gradient-to:#f87171}.\32xl\:hover\:to-red-500:hover{--tw-gradient-to:#ef4444}.\32xl\:hover\:to-red-600:hover{--tw-gradient-to:#dc2626}.\32xl\:hover\:to-red-700:hover{--tw-gradient-to:#b91c1c}.\32xl\:hover\:to-red-800:hover{--tw-gradient-to:#991b1b}.\32xl\:hover\:to-red-900:hover{--tw-gradient-to:#7f1d1d}.\32xl\:hover\:to-yellow-50:hover{--tw-gradient-to:#fffbeb}.\32xl\:hover\:to-yellow-100:hover{--tw-gradient-to:#fef3c7}.\32xl\:hover\:to-yellow-200:hover{--tw-gradient-to:#fde68a}.\32xl\:hover\:to-yellow-300:hover{--tw-gradient-to:#fcd34d}.\32xl\:hover\:to-yellow-400:hover{--tw-gradient-to:#fbbf24}.\32xl\:hover\:to-yellow-500:hover{--tw-gradient-to:#f59e0b}.\32xl\:hover\:to-yellow-600:hover{--tw-gradient-to:#d97706}.\32xl\:hover\:to-yellow-700:hover{--tw-gradient-to:#b45309}.\32xl\:hover\:to-yellow-800:hover{--tw-gradient-to:#92400e}.\32xl\:hover\:to-yellow-900:hover{--tw-gradient-to:#78350f}.\32xl\:hover\:to-green-50:hover{--tw-gradient-to:#ecfdf5}.\32xl\:hover\:to-green-100:hover{--tw-gradient-to:#d1fae5}.\32xl\:hover\:to-green-200:hover{--tw-gradient-to:#a7f3d0}.\32xl\:hover\:to-green-300:hover{--tw-gradient-to:#6ee7b7}.\32xl\:hover\:to-green-400:hover{--tw-gradient-to:#34d399}.\32xl\:hover\:to-green-500:hover{--tw-gradient-to:#10b981}.\32xl\:hover\:to-green-600:hover{--tw-gradient-to:#059669}.\32xl\:hover\:to-green-700:hover{--tw-gradient-to:#047857}.\32xl\:hover\:to-green-800:hover{--tw-gradient-to:#065f46}.\32xl\:hover\:to-green-900:hover{--tw-gradient-to:#064e3b}.\32xl\:hover\:to-blue-50:hover{--tw-gradient-to:#eff6ff}.\32xl\:hover\:to-blue-100:hover{--tw-gradient-to:#dbeafe}.\32xl\:hover\:to-blue-200:hover{--tw-gradient-to:#bfdbfe}.\32xl\:hover\:to-blue-300:hover{--tw-gradient-to:#93c5fd}.\32xl\:hover\:to-blue-400:hover{--tw-gradient-to:#60a5fa}.\32xl\:hover\:to-blue-500:hover{--tw-gradient-to:#3b82f6}.\32xl\:hover\:to-blue-600:hover{--tw-gradient-to:#2563eb}.\32xl\:hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8}.\32xl\:hover\:to-blue-800:hover{--tw-gradient-to:#1e40af}.\32xl\:hover\:to-blue-900:hover{--tw-gradient-to:#1e3a8a}.\32xl\:hover\:to-indigo-50:hover{--tw-gradient-to:#eef2ff}.\32xl\:hover\:to-indigo-100:hover{--tw-gradient-to:#e0e7ff}.\32xl\:hover\:to-indigo-200:hover{--tw-gradient-to:#c7d2fe}.\32xl\:hover\:to-indigo-300:hover{--tw-gradient-to:#a5b4fc}.\32xl\:hover\:to-indigo-400:hover{--tw-gradient-to:#818cf8}.\32xl\:hover\:to-indigo-500:hover{--tw-gradient-to:#6366f1}.\32xl\:hover\:to-indigo-600:hover{--tw-gradient-to:#4f46e5}.\32xl\:hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca}.\32xl\:hover\:to-indigo-800:hover{--tw-gradient-to:#3730a3}.\32xl\:hover\:to-indigo-900:hover{--tw-gradient-to:#312e81}.\32xl\:hover\:to-purple-50:hover{--tw-gradient-to:#f5f3ff}.\32xl\:hover\:to-purple-100:hover{--tw-gradient-to:#ede9fe}.\32xl\:hover\:to-purple-200:hover{--tw-gradient-to:#ddd6fe}.\32xl\:hover\:to-purple-300:hover{--tw-gradient-to:#c4b5fd}.\32xl\:hover\:to-purple-400:hover{--tw-gradient-to:#a78bfa}.\32xl\:hover\:to-purple-500:hover{--tw-gradient-to:#8b5cf6}.\32xl\:hover\:to-purple-600:hover{--tw-gradient-to:#7c3aed}.\32xl\:hover\:to-purple-700:hover{--tw-gradient-to:#6d28d9}.\32xl\:hover\:to-purple-800:hover{--tw-gradient-to:#5b21b6}.\32xl\:hover\:to-purple-900:hover{--tw-gradient-to:#4c1d95}.\32xl\:hover\:to-pink-50:hover{--tw-gradient-to:#fdf2f8}.\32xl\:hover\:to-pink-100:hover{--tw-gradient-to:#fce7f3}.\32xl\:hover\:to-pink-200:hover{--tw-gradient-to:#fbcfe8}.\32xl\:hover\:to-pink-300:hover{--tw-gradient-to:#f9a8d4}.\32xl\:hover\:to-pink-400:hover{--tw-gradient-to:#f472b6}.\32xl\:hover\:to-pink-500:hover{--tw-gradient-to:#ec4899}.\32xl\:hover\:to-pink-600:hover{--tw-gradient-to:#db2777}.\32xl\:hover\:to-pink-700:hover{--tw-gradient-to:#be185d}.\32xl\:hover\:to-pink-800:hover{--tw-gradient-to:#9d174d}.\32xl\:hover\:to-pink-900:hover{--tw-gradient-to:#831843}.\32xl\:focus\:to-transparent:focus{--tw-gradient-to:transparent}.\32xl\:focus\:to-current:focus{--tw-gradient-to:currentColor}.\32xl\:focus\:to-black:focus{--tw-gradient-to:#000}.\32xl\:focus\:to-white:focus{--tw-gradient-to:#fff}.\32xl\:focus\:to-gray-50:focus{--tw-gradient-to:#f9fafb}.\32xl\:focus\:to-gray-100:focus{--tw-gradient-to:#f3f4f6}.\32xl\:focus\:to-gray-200:focus{--tw-gradient-to:#e5e7eb}.\32xl\:focus\:to-gray-300:focus{--tw-gradient-to:#d1d5db}.\32xl\:focus\:to-gray-400:focus{--tw-gradient-to:#9ca3af}.\32xl\:focus\:to-gray-500:focus{--tw-gradient-to:#6b7280}.\32xl\:focus\:to-gray-600:focus{--tw-gradient-to:#4b5563}.\32xl\:focus\:to-gray-700:focus{--tw-gradient-to:#374151}.\32xl\:focus\:to-gray-800:focus{--tw-gradient-to:#1f2937}.\32xl\:focus\:to-gray-900:focus{--tw-gradient-to:#111827}.\32xl\:focus\:to-red-50:focus{--tw-gradient-to:#fef2f2}.\32xl\:focus\:to-red-100:focus{--tw-gradient-to:#fee2e2}.\32xl\:focus\:to-red-200:focus{--tw-gradient-to:#fecaca}.\32xl\:focus\:to-red-300:focus{--tw-gradient-to:#fca5a5}.\32xl\:focus\:to-red-400:focus{--tw-gradient-to:#f87171}.\32xl\:focus\:to-red-500:focus{--tw-gradient-to:#ef4444}.\32xl\:focus\:to-red-600:focus{--tw-gradient-to:#dc2626}.\32xl\:focus\:to-red-700:focus{--tw-gradient-to:#b91c1c}.\32xl\:focus\:to-red-800:focus{--tw-gradient-to:#991b1b}.\32xl\:focus\:to-red-900:focus{--tw-gradient-to:#7f1d1d}.\32xl\:focus\:to-yellow-50:focus{--tw-gradient-to:#fffbeb}.\32xl\:focus\:to-yellow-100:focus{--tw-gradient-to:#fef3c7}.\32xl\:focus\:to-yellow-200:focus{--tw-gradient-to:#fde68a}.\32xl\:focus\:to-yellow-300:focus{--tw-gradient-to:#fcd34d}.\32xl\:focus\:to-yellow-400:focus{--tw-gradient-to:#fbbf24}.\32xl\:focus\:to-yellow-500:focus{--tw-gradient-to:#f59e0b}.\32xl\:focus\:to-yellow-600:focus{--tw-gradient-to:#d97706}.\32xl\:focus\:to-yellow-700:focus{--tw-gradient-to:#b45309}.\32xl\:focus\:to-yellow-800:focus{--tw-gradient-to:#92400e}.\32xl\:focus\:to-yellow-900:focus{--tw-gradient-to:#78350f}.\32xl\:focus\:to-green-50:focus{--tw-gradient-to:#ecfdf5}.\32xl\:focus\:to-green-100:focus{--tw-gradient-to:#d1fae5}.\32xl\:focus\:to-green-200:focus{--tw-gradient-to:#a7f3d0}.\32xl\:focus\:to-green-300:focus{--tw-gradient-to:#6ee7b7}.\32xl\:focus\:to-green-400:focus{--tw-gradient-to:#34d399}.\32xl\:focus\:to-green-500:focus{--tw-gradient-to:#10b981}.\32xl\:focus\:to-green-600:focus{--tw-gradient-to:#059669}.\32xl\:focus\:to-green-700:focus{--tw-gradient-to:#047857}.\32xl\:focus\:to-green-800:focus{--tw-gradient-to:#065f46}.\32xl\:focus\:to-green-900:focus{--tw-gradient-to:#064e3b}.\32xl\:focus\:to-blue-50:focus{--tw-gradient-to:#eff6ff}.\32xl\:focus\:to-blue-100:focus{--tw-gradient-to:#dbeafe}.\32xl\:focus\:to-blue-200:focus{--tw-gradient-to:#bfdbfe}.\32xl\:focus\:to-blue-300:focus{--tw-gradient-to:#93c5fd}.\32xl\:focus\:to-blue-400:focus{--tw-gradient-to:#60a5fa}.\32xl\:focus\:to-blue-500:focus{--tw-gradient-to:#3b82f6}.\32xl\:focus\:to-blue-600:focus{--tw-gradient-to:#2563eb}.\32xl\:focus\:to-blue-700:focus{--tw-gradient-to:#1d4ed8}.\32xl\:focus\:to-blue-800:focus{--tw-gradient-to:#1e40af}.\32xl\:focus\:to-blue-900:focus{--tw-gradient-to:#1e3a8a}.\32xl\:focus\:to-indigo-50:focus{--tw-gradient-to:#eef2ff}.\32xl\:focus\:to-indigo-100:focus{--tw-gradient-to:#e0e7ff}.\32xl\:focus\:to-indigo-200:focus{--tw-gradient-to:#c7d2fe}.\32xl\:focus\:to-indigo-300:focus{--tw-gradient-to:#a5b4fc}.\32xl\:focus\:to-indigo-400:focus{--tw-gradient-to:#818cf8}.\32xl\:focus\:to-indigo-500:focus{--tw-gradient-to:#6366f1}.\32xl\:focus\:to-indigo-600:focus{--tw-gradient-to:#4f46e5}.\32xl\:focus\:to-indigo-700:focus{--tw-gradient-to:#4338ca}.\32xl\:focus\:to-indigo-800:focus{--tw-gradient-to:#3730a3}.\32xl\:focus\:to-indigo-900:focus{--tw-gradient-to:#312e81}.\32xl\:focus\:to-purple-50:focus{--tw-gradient-to:#f5f3ff}.\32xl\:focus\:to-purple-100:focus{--tw-gradient-to:#ede9fe}.\32xl\:focus\:to-purple-200:focus{--tw-gradient-to:#ddd6fe}.\32xl\:focus\:to-purple-300:focus{--tw-gradient-to:#c4b5fd}.\32xl\:focus\:to-purple-400:focus{--tw-gradient-to:#a78bfa}.\32xl\:focus\:to-purple-500:focus{--tw-gradient-to:#8b5cf6}.\32xl\:focus\:to-purple-600:focus{--tw-gradient-to:#7c3aed}.\32xl\:focus\:to-purple-700:focus{--tw-gradient-to:#6d28d9}.\32xl\:focus\:to-purple-800:focus{--tw-gradient-to:#5b21b6}.\32xl\:focus\:to-purple-900:focus{--tw-gradient-to:#4c1d95}.\32xl\:focus\:to-pink-50:focus{--tw-gradient-to:#fdf2f8}.\32xl\:focus\:to-pink-100:focus{--tw-gradient-to:#fce7f3}.\32xl\:focus\:to-pink-200:focus{--tw-gradient-to:#fbcfe8}.\32xl\:focus\:to-pink-300:focus{--tw-gradient-to:#f9a8d4}.\32xl\:focus\:to-pink-400:focus{--tw-gradient-to:#f472b6}.\32xl\:focus\:to-pink-500:focus{--tw-gradient-to:#ec4899}.\32xl\:focus\:to-pink-600:focus{--tw-gradient-to:#db2777}.\32xl\:focus\:to-pink-700:focus{--tw-gradient-to:#be185d}.\32xl\:focus\:to-pink-800:focus{--tw-gradient-to:#9d174d}.\32xl\:focus\:to-pink-900:focus{--tw-gradient-to:#831843}.\32xl\:decoration-slice{-webkit-box-decoration-break:slice;box-decoration-break:slice}.\32xl\:decoration-clone{-webkit-box-decoration-break:clone;box-decoration-break:clone}.\32xl\:bg-auto{background-size:auto}.\32xl\:bg-cover{background-size:cover}.\32xl\:bg-contain{background-size:contain}.\32xl\:bg-fixed{background-attachment:fixed}.\32xl\:bg-local{background-attachment:local}.\32xl\:bg-scroll{background-attachment:scroll}.\32xl\:bg-clip-border{background-clip:border-box}.\32xl\:bg-clip-padding{background-clip:padding-box}.\32xl\:bg-clip-content{background-clip:content-box}.\32xl\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.\32xl\:bg-bottom{background-position:bottom}.\32xl\:bg-center{background-position:center}.\32xl\:bg-left{background-position:left}.\32xl\:bg-left-bottom{background-position:left bottom}.\32xl\:bg-left-top{background-position:left top}.\32xl\:bg-right{background-position:right}.\32xl\:bg-right-bottom{background-position:right bottom}.\32xl\:bg-right-top{background-position:right top}.\32xl\:bg-top{background-position:top}.\32xl\:bg-repeat{background-repeat:repeat}.\32xl\:bg-no-repeat{background-repeat:no-repeat}.\32xl\:bg-repeat-x{background-repeat:repeat-x}.\32xl\:bg-repeat-y{background-repeat:repeat-y}.\32xl\:bg-repeat-round{background-repeat:round}.\32xl\:bg-repeat-space{background-repeat:space}.\32xl\:bg-origin-border{background-origin:border-box}.\32xl\:bg-origin-padding{background-origin:padding-box}.\32xl\:bg-origin-content{background-origin:content-box}.\32xl\:fill-current{fill:currentColor}.\32xl\:stroke-current{stroke:currentColor}.\32xl\:stroke-0{stroke-width:0}.\32xl\:stroke-1{stroke-width:1}.\32xl\:stroke-2{stroke-width:2}.\32xl\:object-contain{object-fit:contain}.\32xl\:object-cover{object-fit:cover}.\32xl\:object-fill{object-fit:fill}.\32xl\:object-none{object-fit:none}.\32xl\:object-scale-down{object-fit:scale-down}.\32xl\:object-bottom{object-position:bottom}.\32xl\:object-center{object-position:center}.\32xl\:object-left{object-position:left}.\32xl\:object-left-bottom{object-position:left bottom}.\32xl\:object-left-top{object-position:left top}.\32xl\:object-right{object-position:right}.\32xl\:object-right-bottom{object-position:right bottom}.\32xl\:object-right-top{object-position:right top}.\32xl\:object-top{object-position:top}.\32xl\:p-0{padding:0}.\32xl\:p-1{padding:.25rem}.\32xl\:p-2{padding:.5rem}.\32xl\:p-3{padding:.75rem}.\32xl\:p-4{padding:1rem}.\32xl\:p-5{padding:1.25rem}.\32xl\:p-6{padding:1.5rem}.\32xl\:p-7{padding:1.75rem}.\32xl\:p-8{padding:2rem}.\32xl\:p-9{padding:2.25rem}.\32xl\:p-10{padding:2.5rem}.\32xl\:p-11{padding:2.75rem}.\32xl\:p-12{padding:3rem}.\32xl\:p-14{padding:3.5rem}.\32xl\:p-16{padding:4rem}.\32xl\:p-20{padding:5rem}.\32xl\:p-24{padding:6rem}.\32xl\:p-28{padding:7rem}.\32xl\:p-32{padding:8rem}.\32xl\:p-36{padding:9rem}.\32xl\:p-40{padding:10rem}.\32xl\:p-44{padding:11rem}.\32xl\:p-48{padding:12rem}.\32xl\:p-52{padding:13rem}.\32xl\:p-56{padding:14rem}.\32xl\:p-60{padding:15rem}.\32xl\:p-64{padding:16rem}.\32xl\:p-72{padding:18rem}.\32xl\:p-80{padding:20rem}.\32xl\:p-96{padding:24rem}.\32xl\:p-px{padding:1px}.\32xl\:p-0\.5{padding:.125rem}.\32xl\:p-1\.5{padding:.375rem}.\32xl\:p-2\.5{padding:.625rem}.\32xl\:p-3\.5{padding:.875rem}.\32xl\:px-0{padding-left:0;padding-right:0}.\32xl\:px-1{padding-left:.25rem;padding-right:.25rem}.\32xl\:px-2{padding-left:.5rem;padding-right:.5rem}.\32xl\:px-3{padding-left:.75rem;padding-right:.75rem}.\32xl\:px-4{padding-left:1rem;padding-right:1rem}.\32xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.\32xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.\32xl\:px-7{padding-left:1.75rem;padding-right:1.75rem}.\32xl\:px-8{padding-left:2rem;padding-right:2rem}.\32xl\:px-9{padding-left:2.25rem;padding-right:2.25rem}.\32xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.\32xl\:px-11{padding-left:2.75rem;padding-right:2.75rem}.\32xl\:px-12{padding-left:3rem;padding-right:3rem}.\32xl\:px-14{padding-left:3.5rem;padding-right:3.5rem}.\32xl\:px-16{padding-left:4rem;padding-right:4rem}.\32xl\:px-20{padding-left:5rem;padding-right:5rem}.\32xl\:px-24{padding-left:6rem;padding-right:6rem}.\32xl\:px-28{padding-left:7rem;padding-right:7rem}.\32xl\:px-32{padding-left:8rem;padding-right:8rem}.\32xl\:px-36{padding-left:9rem;padding-right:9rem}.\32xl\:px-40{padding-left:10rem;padding-right:10rem}.\32xl\:px-44{padding-left:11rem;padding-right:11rem}.\32xl\:px-48{padding-left:12rem;padding-right:12rem}.\32xl\:px-52{padding-left:13rem;padding-right:13rem}.\32xl\:px-56{padding-left:14rem;padding-right:14rem}.\32xl\:px-60{padding-left:15rem;padding-right:15rem}.\32xl\:px-64{padding-left:16rem;padding-right:16rem}.\32xl\:px-72{padding-left:18rem;padding-right:18rem}.\32xl\:px-80{padding-left:20rem;padding-right:20rem}.\32xl\:px-96{padding-left:24rem;padding-right:24rem}.\32xl\:px-px{padding-left:1px;padding-right:1px}.\32xl\:px-0\.5{padding-left:.125rem;padding-right:.125rem}.\32xl\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.\32xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.\32xl\:px-3\.5{padding-left:.875rem;padding-right:.875rem}.\32xl\:py-0{padding-top:0;padding-bottom:0}.\32xl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.\32xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.\32xl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}.\32xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.\32xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.\32xl\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.\32xl\:py-8{padding-top:2rem;padding-bottom:2rem}.\32xl\:py-9{padding-top:2.25rem;padding-bottom:2.25rem}.\32xl\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.\32xl\:py-11{padding-top:2.75rem;padding-bottom:2.75rem}.\32xl\:py-12{padding-top:3rem;padding-bottom:3rem}.\32xl\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.\32xl\:py-16{padding-top:4rem;padding-bottom:4rem}.\32xl\:py-20{padding-top:5rem;padding-bottom:5rem}.\32xl\:py-24{padding-top:6rem;padding-bottom:6rem}.\32xl\:py-28{padding-top:7rem;padding-bottom:7rem}.\32xl\:py-32{padding-top:8rem;padding-bottom:8rem}.\32xl\:py-36{padding-top:9rem;padding-bottom:9rem}.\32xl\:py-40{padding-top:10rem;padding-bottom:10rem}.\32xl\:py-44{padding-top:11rem;padding-bottom:11rem}.\32xl\:py-48{padding-top:12rem;padding-bottom:12rem}.\32xl\:py-52{padding-top:13rem;padding-bottom:13rem}.\32xl\:py-56{padding-top:14rem;padding-bottom:14rem}.\32xl\:py-60{padding-top:15rem;padding-bottom:15rem}.\32xl\:py-64{padding-top:16rem;padding-bottom:16rem}.\32xl\:py-72{padding-top:18rem;padding-bottom:18rem}.\32xl\:py-80{padding-top:20rem;padding-bottom:20rem}.\32xl\:py-96{padding-top:24rem;padding-bottom:24rem}.\32xl\:py-px{padding-top:1px;padding-bottom:1px}.\32xl\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.\32xl\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.\32xl\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.\32xl\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.\32xl\:pt-0{padding-top:0}.\32xl\:pt-1{padding-top:.25rem}.\32xl\:pt-2{padding-top:.5rem}.\32xl\:pt-3{padding-top:.75rem}.\32xl\:pt-4{padding-top:1rem}.\32xl\:pt-5{padding-top:1.25rem}.\32xl\:pt-6{padding-top:1.5rem}.\32xl\:pt-7{padding-top:1.75rem}.\32xl\:pt-8{padding-top:2rem}.\32xl\:pt-9{padding-top:2.25rem}.\32xl\:pt-10{padding-top:2.5rem}.\32xl\:pt-11{padding-top:2.75rem}.\32xl\:pt-12{padding-top:3rem}.\32xl\:pt-14{padding-top:3.5rem}.\32xl\:pt-16{padding-top:4rem}.\32xl\:pt-20{padding-top:5rem}.\32xl\:pt-24{padding-top:6rem}.\32xl\:pt-28{padding-top:7rem}.\32xl\:pt-32{padding-top:8rem}.\32xl\:pt-36{padding-top:9rem}.\32xl\:pt-40{padding-top:10rem}.\32xl\:pt-44{padding-top:11rem}.\32xl\:pt-48{padding-top:12rem}.\32xl\:pt-52{padding-top:13rem}.\32xl\:pt-56{padding-top:14rem}.\32xl\:pt-60{padding-top:15rem}.\32xl\:pt-64{padding-top:16rem}.\32xl\:pt-72{padding-top:18rem}.\32xl\:pt-80{padding-top:20rem}.\32xl\:pt-96{padding-top:24rem}.\32xl\:pt-px{padding-top:1px}.\32xl\:pt-0\.5{padding-top:.125rem}.\32xl\:pt-1\.5{padding-top:.375rem}.\32xl\:pt-2\.5{padding-top:.625rem}.\32xl\:pt-3\.5{padding-top:.875rem}.\32xl\:pr-0{padding-right:0}.\32xl\:pr-1{padding-right:.25rem}.\32xl\:pr-2{padding-right:.5rem}.\32xl\:pr-3{padding-right:.75rem}.\32xl\:pr-4{padding-right:1rem}.\32xl\:pr-5{padding-right:1.25rem}.\32xl\:pr-6{padding-right:1.5rem}.\32xl\:pr-7{padding-right:1.75rem}.\32xl\:pr-8{padding-right:2rem}.\32xl\:pr-9{padding-right:2.25rem}.\32xl\:pr-10{padding-right:2.5rem}.\32xl\:pr-11{padding-right:2.75rem}.\32xl\:pr-12{padding-right:3rem}.\32xl\:pr-14{padding-right:3.5rem}.\32xl\:pr-16{padding-right:4rem}.\32xl\:pr-20{padding-right:5rem}.\32xl\:pr-24{padding-right:6rem}.\32xl\:pr-28{padding-right:7rem}.\32xl\:pr-32{padding-right:8rem}.\32xl\:pr-36{padding-right:9rem}.\32xl\:pr-40{padding-right:10rem}.\32xl\:pr-44{padding-right:11rem}.\32xl\:pr-48{padding-right:12rem}.\32xl\:pr-52{padding-right:13rem}.\32xl\:pr-56{padding-right:14rem}.\32xl\:pr-60{padding-right:15rem}.\32xl\:pr-64{padding-right:16rem}.\32xl\:pr-72{padding-right:18rem}.\32xl\:pr-80{padding-right:20rem}.\32xl\:pr-96{padding-right:24rem}.\32xl\:pr-px{padding-right:1px}.\32xl\:pr-0\.5{padding-right:.125rem}.\32xl\:pr-1\.5{padding-right:.375rem}.\32xl\:pr-2\.5{padding-right:.625rem}.\32xl\:pr-3\.5{padding-right:.875rem}.\32xl\:pb-0{padding-bottom:0}.\32xl\:pb-1{padding-bottom:.25rem}.\32xl\:pb-2{padding-bottom:.5rem}.\32xl\:pb-3{padding-bottom:.75rem}.\32xl\:pb-4{padding-bottom:1rem}.\32xl\:pb-5{padding-bottom:1.25rem}.\32xl\:pb-6{padding-bottom:1.5rem}.\32xl\:pb-7{padding-bottom:1.75rem}.\32xl\:pb-8{padding-bottom:2rem}.\32xl\:pb-9{padding-bottom:2.25rem}.\32xl\:pb-10{padding-bottom:2.5rem}.\32xl\:pb-11{padding-bottom:2.75rem}.\32xl\:pb-12{padding-bottom:3rem}.\32xl\:pb-14{padding-bottom:3.5rem}.\32xl\:pb-16{padding-bottom:4rem}.\32xl\:pb-20{padding-bottom:5rem}.\32xl\:pb-24{padding-bottom:6rem}.\32xl\:pb-28{padding-bottom:7rem}.\32xl\:pb-32{padding-bottom:8rem}.\32xl\:pb-36{padding-bottom:9rem}.\32xl\:pb-40{padding-bottom:10rem}.\32xl\:pb-44{padding-bottom:11rem}.\32xl\:pb-48{padding-bottom:12rem}.\32xl\:pb-52{padding-bottom:13rem}.\32xl\:pb-56{padding-bottom:14rem}.\32xl\:pb-60{padding-bottom:15rem}.\32xl\:pb-64{padding-bottom:16rem}.\32xl\:pb-72{padding-bottom:18rem}.\32xl\:pb-80{padding-bottom:20rem}.\32xl\:pb-96{padding-bottom:24rem}.\32xl\:pb-px{padding-bottom:1px}.\32xl\:pb-0\.5{padding-bottom:.125rem}.\32xl\:pb-1\.5{padding-bottom:.375rem}.\32xl\:pb-2\.5{padding-bottom:.625rem}.\32xl\:pb-3\.5{padding-bottom:.875rem}.\32xl\:pl-0{padding-left:0}.\32xl\:pl-1{padding-left:.25rem}.\32xl\:pl-2{padding-left:.5rem}.\32xl\:pl-3{padding-left:.75rem}.\32xl\:pl-4{padding-left:1rem}.\32xl\:pl-5{padding-left:1.25rem}.\32xl\:pl-6{padding-left:1.5rem}.\32xl\:pl-7{padding-left:1.75rem}.\32xl\:pl-8{padding-left:2rem}.\32xl\:pl-9{padding-left:2.25rem}.\32xl\:pl-10{padding-left:2.5rem}.\32xl\:pl-11{padding-left:2.75rem}.\32xl\:pl-12{padding-left:3rem}.\32xl\:pl-14{padding-left:3.5rem}.\32xl\:pl-16{padding-left:4rem}.\32xl\:pl-20{padding-left:5rem}.\32xl\:pl-24{padding-left:6rem}.\32xl\:pl-28{padding-left:7rem}.\32xl\:pl-32{padding-left:8rem}.\32xl\:pl-36{padding-left:9rem}.\32xl\:pl-40{padding-left:10rem}.\32xl\:pl-44{padding-left:11rem}.\32xl\:pl-48{padding-left:12rem}.\32xl\:pl-52{padding-left:13rem}.\32xl\:pl-56{padding-left:14rem}.\32xl\:pl-60{padding-left:15rem}.\32xl\:pl-64{padding-left:16rem}.\32xl\:pl-72{padding-left:18rem}.\32xl\:pl-80{padding-left:20rem}.\32xl\:pl-96{padding-left:24rem}.\32xl\:pl-px{padding-left:1px}.\32xl\:pl-0\.5{padding-left:.125rem}.\32xl\:pl-1\.5{padding-left:.375rem}.\32xl\:pl-2\.5{padding-left:.625rem}.\32xl\:pl-3\.5{padding-left:.875rem}.\32xl\:text-left{text-align:left}.\32xl\:text-center{text-align:center}.\32xl\:text-right{text-align:right}.\32xl\:text-justify{text-align:justify}.\32xl\:align-baseline{vertical-align:baseline}.\32xl\:align-top{vertical-align:top}.\32xl\:align-middle{vertical-align:middle}.\32xl\:align-bottom{vertical-align:bottom}.\32xl\:align-text-top{vertical-align:text-top}.\32xl\:align-text-bottom{vertical-align:text-bottom}.\32xl\:font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\32xl\:font-serif{font-family:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.\32xl\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.\32xl\:text-xs{font-size:.75rem;line-height:1rem}.\32xl\:text-sm{font-size:.875rem;line-height:1.25rem}.\32xl\:text-base{font-size:1rem;line-height:1.5rem}.\32xl\:text-lg{font-size:1.125rem;line-height:1.75rem}.\32xl\:text-xl{font-size:1.25rem;line-height:1.75rem}.\32xl\:text-2xl{font-size:1.5rem;line-height:2rem}.\32xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}.\32xl\:text-4xl{font-size:2.25rem;line-height:2.5rem}.\32xl\:text-5xl{font-size:3rem;line-height:1}.\32xl\:text-6xl{font-size:3.75rem;line-height:1}.\32xl\:text-7xl{font-size:4.5rem;line-height:1}.\32xl\:text-8xl{font-size:6rem;line-height:1}.\32xl\:text-9xl{font-size:8rem;line-height:1}.\32xl\:font-thin{font-weight:100}.\32xl\:font-extralight{font-weight:200}.\32xl\:font-light{font-weight:300}.\32xl\:font-normal{font-weight:400}.\32xl\:font-medium{font-weight:500}.\32xl\:font-semibold{font-weight:600}.\32xl\:font-bold{font-weight:700}.\32xl\:font-extrabold{font-weight:800}.\32xl\:font-black{font-weight:900}.\32xl\:uppercase{text-transform:uppercase}.\32xl\:lowercase{text-transform:lowercase}.\32xl\:capitalize{text-transform:capitalize}.\32xl\:normal-case{text-transform:none}.\32xl\:italic{font-style:italic}.\32xl\:not-italic{font-style:normal}.\32xl\:diagonal-fractions,.\32xl\:lining-nums,.\32xl\:oldstyle-nums,.\32xl\:ordinal,.\32xl\:proportional-nums,.\32xl\:slashed-zero,.\32xl\:stacked-fractions,.\32xl\:tabular-nums{--tw-ordinal:var(--tw-empty, );/*!*//*!*/--tw-slashed-zero:var(--tw-empty, );/*!*//*!*/--tw-numeric-figure:var(--tw-empty, );/*!*//*!*/--tw-numeric-spacing:var(--tw-empty, );/*!*//*!*/--tw-numeric-fraction:var(--tw-empty, );/*!*//*!*/font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.\32xl\:normal-nums{font-variant-numeric:normal}.\32xl\:ordinal{--tw-ordinal:ordinal}.\32xl\:slashed-zero{--tw-slashed-zero:slashed-zero}.\32xl\:lining-nums{--tw-numeric-figure:lining-nums}.\32xl\:oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.\32xl\:proportional-nums{--tw-numeric-spacing:proportional-nums}.\32xl\:tabular-nums{--tw-numeric-spacing:tabular-nums}.\32xl\:diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.\32xl\:stacked-fractions{--tw-numeric-fraction:stacked-fractions}.\32xl\:leading-3{line-height:.75rem}.\32xl\:leading-4{line-height:1rem}.\32xl\:leading-5{line-height:1.25rem}.\32xl\:leading-6{line-height:1.5rem}.\32xl\:leading-7{line-height:1.75rem}.\32xl\:leading-8{line-height:2rem}.\32xl\:leading-9{line-height:2.25rem}.\32xl\:leading-10{line-height:2.5rem}.\32xl\:leading-none{line-height:1}.\32xl\:leading-tight{line-height:1.25}.\32xl\:leading-snug{line-height:1.375}.\32xl\:leading-normal{line-height:1.5}.\32xl\:leading-relaxed{line-height:1.625}.\32xl\:leading-loose{line-height:2}.\32xl\:tracking-tighter{letter-spacing:-.05em}.\32xl\:tracking-tight{letter-spacing:-.025em}.\32xl\:tracking-normal{letter-spacing:0}.\32xl\:tracking-wide{letter-spacing:.025em}.\32xl\:tracking-wider{letter-spacing:.05em}.\32xl\:tracking-widest{letter-spacing:.1em}.\32xl\:text-transparent{color:transparent}.\32xl\:text-current{color:currentColor}.\32xl\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.\32xl\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.\32xl\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.\32xl\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.\32xl\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.\32xl\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.\32xl\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.\32xl\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.\32xl\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.\32xl\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.\32xl\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.\32xl\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.\32xl\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.\32xl\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.\32xl\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.\32xl\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.\32xl\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.\32xl\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.\32xl\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.\32xl\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.\32xl\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.\32xl\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.\32xl\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.\32xl\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.\32xl\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.\32xl\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.\32xl\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.\32xl\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.\32xl\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.\32xl\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.\32xl\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.\32xl\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.\32xl\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.\32xl\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.\32xl\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.\32xl\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.\32xl\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.\32xl\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.\32xl\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.\32xl\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.\32xl\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.\32xl\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.\32xl\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.\32xl\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.\32xl\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.\32xl\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.\32xl\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.\32xl\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.\32xl\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.\32xl\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.\32xl\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.\32xl\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.\32xl\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.\32xl\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.\32xl\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.\32xl\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.\32xl\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.\32xl\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.\32xl\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.\32xl\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.\32xl\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.\32xl\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.\32xl\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.\32xl\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.\32xl\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.\32xl\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.\32xl\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.\32xl\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.\32xl\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.\32xl\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.\32xl\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.\32xl\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.\32xl\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.\32xl\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.\32xl\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.\32xl\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.\32xl\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.\32xl\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.\32xl\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.\32xl\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.\32xl\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.\32xl\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-transparent{color:transparent}.group:hover .\32xl\:group-hover\:text-current{color:currentColor}.group:hover .\32xl\:group-hover\:text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-50{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-100{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-50{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-200{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-300{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-50{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-100{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-200{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-50{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-200{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-50{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-300{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-400{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-500{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-50{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-200{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-50{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-100{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-200{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-300{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-400{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-500{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-600{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-700{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.group:hover .\32xl\:group-hover\:text-pink-900{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.\32xl\:focus-within\:text-transparent:focus-within{color:transparent}.\32xl\:focus-within\:text-current:focus-within{color:currentColor}.\32xl\:focus-within\:text-black:focus-within{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.\32xl\:focus-within\:text-white:focus-within{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-50:focus-within{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-100:focus-within{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-200:focus-within{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-300:focus-within{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-400:focus-within{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-500:focus-within{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-600:focus-within{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-700:focus-within{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-800:focus-within{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.\32xl\:focus-within\:text-gray-900:focus-within{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-50:focus-within{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-100:focus-within{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-200:focus-within{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-300:focus-within{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-400:focus-within{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-500:focus-within{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-600:focus-within{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-700:focus-within{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-800:focus-within{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.\32xl\:focus-within\:text-red-900:focus-within{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-50:focus-within{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-100:focus-within{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-200:focus-within{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-300:focus-within{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-400:focus-within{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-500:focus-within{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-600:focus-within{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-700:focus-within{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-800:focus-within{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.\32xl\:focus-within\:text-yellow-900:focus-within{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-50:focus-within{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-100:focus-within{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-200:focus-within{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-300:focus-within{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-400:focus-within{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-500:focus-within{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-600:focus-within{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-700:focus-within{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-800:focus-within{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.\32xl\:focus-within\:text-green-900:focus-within{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-50:focus-within{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-100:focus-within{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-200:focus-within{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-300:focus-within{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-400:focus-within{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-500:focus-within{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-600:focus-within{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-700:focus-within{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-800:focus-within{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.\32xl\:focus-within\:text-blue-900:focus-within{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-50:focus-within{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-100:focus-within{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-200:focus-within{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-300:focus-within{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-400:focus-within{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-500:focus-within{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-600:focus-within{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-700:focus-within{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-800:focus-within{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.\32xl\:focus-within\:text-indigo-900:focus-within{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-50:focus-within{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-100:focus-within{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-200:focus-within{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-300:focus-within{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-400:focus-within{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-500:focus-within{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-600:focus-within{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-700:focus-within{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-800:focus-within{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.\32xl\:focus-within\:text-purple-900:focus-within{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-50:focus-within{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-100:focus-within{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-200:focus-within{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-300:focus-within{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-400:focus-within{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-500:focus-within{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-600:focus-within{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-700:focus-within{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-800:focus-within{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.\32xl\:focus-within\:text-pink-900:focus-within{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.\32xl\:hover\:text-transparent:hover{color:transparent}.\32xl\:hover\:text-current:hover{color:currentColor}.\32xl\:hover\:text-black:hover{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.\32xl\:hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.\32xl\:hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.\32xl\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.\32xl\:hover\:text-red-100:hover{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.\32xl\:hover\:text-red-200:hover{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.\32xl\:hover\:text-red-300:hover{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.\32xl\:hover\:text-red-400:hover{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.\32xl\:hover\:text-red-500:hover{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.\32xl\:hover\:text-red-600:hover{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.\32xl\:hover\:text-red-700:hover{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.\32xl\:hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.\32xl\:hover\:text-red-900:hover{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.\32xl\:hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.\32xl\:hover\:text-green-50:hover{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.\32xl\:hover\:text-green-100:hover{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.\32xl\:hover\:text-green-200:hover{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.\32xl\:hover\:text-green-300:hover{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.\32xl\:hover\:text-green-400:hover{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.\32xl\:hover\:text-green-500:hover{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.\32xl\:hover\:text-green-600:hover{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.\32xl\:hover\:text-green-700:hover{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.\32xl\:hover\:text-green-800:hover{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.\32xl\:hover\:text-green-900:hover{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.\32xl\:hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.\32xl\:hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.\32xl\:hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.\32xl\:hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.\32xl\:focus\:text-transparent:focus{color:transparent}.\32xl\:focus\:text-current:focus{color:currentColor}.\32xl\:focus\:text-black:focus{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.\32xl\:focus\:text-white:focus{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-50:focus{--tw-text-opacity:1;color:rgba(249,250,251,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-100:focus{--tw-text-opacity:1;color:rgba(243,244,246,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-200:focus{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-300:focus{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-400:focus{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-600:focus{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.\32xl\:focus\:text-gray-900:focus{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.\32xl\:focus\:text-red-50:focus{--tw-text-opacity:1;color:rgba(254,242,242,var(--tw-text-opacity))}.\32xl\:focus\:text-red-100:focus{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.\32xl\:focus\:text-red-200:focus{--tw-text-opacity:1;color:rgba(254,202,202,var(--tw-text-opacity))}.\32xl\:focus\:text-red-300:focus{--tw-text-opacity:1;color:rgba(252,165,165,var(--tw-text-opacity))}.\32xl\:focus\:text-red-400:focus{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.\32xl\:focus\:text-red-500:focus{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.\32xl\:focus\:text-red-600:focus{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.\32xl\:focus\:text-red-700:focus{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.\32xl\:focus\:text-red-800:focus{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.\32xl\:focus\:text-red-900:focus{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-50:focus{--tw-text-opacity:1;color:rgba(255,251,235,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-100:focus{--tw-text-opacity:1;color:rgba(254,243,199,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-200:focus{--tw-text-opacity:1;color:rgba(253,230,138,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-300:focus{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-400:focus{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-500:focus{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-600:focus{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-700:focus{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-800:focus{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.\32xl\:focus\:text-yellow-900:focus{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.\32xl\:focus\:text-green-50:focus{--tw-text-opacity:1;color:rgba(236,253,245,var(--tw-text-opacity))}.\32xl\:focus\:text-green-100:focus{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.\32xl\:focus\:text-green-200:focus{--tw-text-opacity:1;color:rgba(167,243,208,var(--tw-text-opacity))}.\32xl\:focus\:text-green-300:focus{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.\32xl\:focus\:text-green-400:focus{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.\32xl\:focus\:text-green-500:focus{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.\32xl\:focus\:text-green-600:focus{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.\32xl\:focus\:text-green-700:focus{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.\32xl\:focus\:text-green-800:focus{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.\32xl\:focus\:text-green-900:focus{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-50:focus{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-100:focus{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-200:focus{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-300:focus{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-400:focus{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-500:focus{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-600:focus{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-700:focus{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-800:focus{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.\32xl\:focus\:text-blue-900:focus{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-50:focus{--tw-text-opacity:1;color:rgba(238,242,255,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-100:focus{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-200:focus{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-300:focus{--tw-text-opacity:1;color:rgba(165,180,252,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-400:focus{--tw-text-opacity:1;color:rgba(129,140,248,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-500:focus{--tw-text-opacity:1;color:rgba(99,102,241,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-600:focus{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-700:focus{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.\32xl\:focus\:text-indigo-900:focus{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-50:focus{--tw-text-opacity:1;color:rgba(245,243,255,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-100:focus{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-200:focus{--tw-text-opacity:1;color:rgba(221,214,254,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-300:focus{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-400:focus{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-500:focus{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-600:focus{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-700:focus{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-800:focus{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.\32xl\:focus\:text-purple-900:focus{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-50:focus{--tw-text-opacity:1;color:rgba(253,242,248,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-100:focus{--tw-text-opacity:1;color:rgba(252,231,243,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-200:focus{--tw-text-opacity:1;color:rgba(251,207,232,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-300:focus{--tw-text-opacity:1;color:rgba(249,168,212,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-400:focus{--tw-text-opacity:1;color:rgba(244,114,182,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-500:focus{--tw-text-opacity:1;color:rgba(236,72,153,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-600:focus{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-700:focus{--tw-text-opacity:1;color:rgba(190,24,93,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-800:focus{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.\32xl\:focus\:text-pink-900:focus{--tw-text-opacity:1;color:rgba(131,24,67,var(--tw-text-opacity))}.\32xl\:text-opacity-0{--tw-text-opacity:0}.\32xl\:text-opacity-5{--tw-text-opacity:0.05}.\32xl\:text-opacity-10{--tw-text-opacity:0.1}.\32xl\:text-opacity-20{--tw-text-opacity:0.2}.\32xl\:text-opacity-25{--tw-text-opacity:0.25}.\32xl\:text-opacity-30{--tw-text-opacity:0.3}.\32xl\:text-opacity-40{--tw-text-opacity:0.4}.\32xl\:text-opacity-50{--tw-text-opacity:0.5}.\32xl\:text-opacity-60{--tw-text-opacity:0.6}.\32xl\:text-opacity-70{--tw-text-opacity:0.7}.\32xl\:text-opacity-75{--tw-text-opacity:0.75}.\32xl\:text-opacity-80{--tw-text-opacity:0.8}.\32xl\:text-opacity-90{--tw-text-opacity:0.9}.\32xl\:text-opacity-95{--tw-text-opacity:0.95}.\32xl\:text-opacity-100{--tw-text-opacity:1}.group:hover .\32xl\:group-hover\:text-opacity-0{--tw-text-opacity:0}.group:hover .\32xl\:group-hover\:text-opacity-5{--tw-text-opacity:0.05}.group:hover .\32xl\:group-hover\:text-opacity-10{--tw-text-opacity:0.1}.group:hover .\32xl\:group-hover\:text-opacity-20{--tw-text-opacity:0.2}.group:hover .\32xl\:group-hover\:text-opacity-25{--tw-text-opacity:0.25}.group:hover .\32xl\:group-hover\:text-opacity-30{--tw-text-opacity:0.3}.group:hover .\32xl\:group-hover\:text-opacity-40{--tw-text-opacity:0.4}.group:hover .\32xl\:group-hover\:text-opacity-50{--tw-text-opacity:0.5}.group:hover .\32xl\:group-hover\:text-opacity-60{--tw-text-opacity:0.6}.group:hover .\32xl\:group-hover\:text-opacity-70{--tw-text-opacity:0.7}.group:hover .\32xl\:group-hover\:text-opacity-75{--tw-text-opacity:0.75}.group:hover .\32xl\:group-hover\:text-opacity-80{--tw-text-opacity:0.8}.group:hover .\32xl\:group-hover\:text-opacity-90{--tw-text-opacity:0.9}.group:hover .\32xl\:group-hover\:text-opacity-95{--tw-text-opacity:0.95}.group:hover .\32xl\:group-hover\:text-opacity-100{--tw-text-opacity:1}.\32xl\:focus-within\:text-opacity-0:focus-within{--tw-text-opacity:0}.\32xl\:focus-within\:text-opacity-5:focus-within{--tw-text-opacity:0.05}.\32xl\:focus-within\:text-opacity-10:focus-within{--tw-text-opacity:0.1}.\32xl\:focus-within\:text-opacity-20:focus-within{--tw-text-opacity:0.2}.\32xl\:focus-within\:text-opacity-25:focus-within{--tw-text-opacity:0.25}.\32xl\:focus-within\:text-opacity-30:focus-within{--tw-text-opacity:0.3}.\32xl\:focus-within\:text-opacity-40:focus-within{--tw-text-opacity:0.4}.\32xl\:focus-within\:text-opacity-50:focus-within{--tw-text-opacity:0.5}.\32xl\:focus-within\:text-opacity-60:focus-within{--tw-text-opacity:0.6}.\32xl\:focus-within\:text-opacity-70:focus-within{--tw-text-opacity:0.7}.\32xl\:focus-within\:text-opacity-75:focus-within{--tw-text-opacity:0.75}.\32xl\:focus-within\:text-opacity-80:focus-within{--tw-text-opacity:0.8}.\32xl\:focus-within\:text-opacity-90:focus-within{--tw-text-opacity:0.9}.\32xl\:focus-within\:text-opacity-95:focus-within{--tw-text-opacity:0.95}.\32xl\:focus-within\:text-opacity-100:focus-within{--tw-text-opacity:1}.\32xl\:hover\:text-opacity-0:hover{--tw-text-opacity:0}.\32xl\:hover\:text-opacity-5:hover{--tw-text-opacity:0.05}.\32xl\:hover\:text-opacity-10:hover{--tw-text-opacity:0.1}.\32xl\:hover\:text-opacity-20:hover{--tw-text-opacity:0.2}.\32xl\:hover\:text-opacity-25:hover{--tw-text-opacity:0.25}.\32xl\:hover\:text-opacity-30:hover{--tw-text-opacity:0.3}.\32xl\:hover\:text-opacity-40:hover{--tw-text-opacity:0.4}.\32xl\:hover\:text-opacity-50:hover{--tw-text-opacity:0.5}.\32xl\:hover\:text-opacity-60:hover{--tw-text-opacity:0.6}.\32xl\:hover\:text-opacity-70:hover{--tw-text-opacity:0.7}.\32xl\:hover\:text-opacity-75:hover{--tw-text-opacity:0.75}.\32xl\:hover\:text-opacity-80:hover{--tw-text-opacity:0.8}.\32xl\:hover\:text-opacity-90:hover{--tw-text-opacity:0.9}.\32xl\:hover\:text-opacity-95:hover{--tw-text-opacity:0.95}.\32xl\:hover\:text-opacity-100:hover{--tw-text-opacity:1}.\32xl\:focus\:text-opacity-0:focus{--tw-text-opacity:0}.\32xl\:focus\:text-opacity-5:focus{--tw-text-opacity:0.05}.\32xl\:focus\:text-opacity-10:focus{--tw-text-opacity:0.1}.\32xl\:focus\:text-opacity-20:focus{--tw-text-opacity:0.2}.\32xl\:focus\:text-opacity-25:focus{--tw-text-opacity:0.25}.\32xl\:focus\:text-opacity-30:focus{--tw-text-opacity:0.3}.\32xl\:focus\:text-opacity-40:focus{--tw-text-opacity:0.4}.\32xl\:focus\:text-opacity-50:focus{--tw-text-opacity:0.5}.\32xl\:focus\:text-opacity-60:focus{--tw-text-opacity:0.6}.\32xl\:focus\:text-opacity-70:focus{--tw-text-opacity:0.7}.\32xl\:focus\:text-opacity-75:focus{--tw-text-opacity:0.75}.\32xl\:focus\:text-opacity-80:focus{--tw-text-opacity:0.8}.\32xl\:focus\:text-opacity-90:focus{--tw-text-opacity:0.9}.\32xl\:focus\:text-opacity-95:focus{--tw-text-opacity:0.95}.\32xl\:focus\:text-opacity-100:focus{--tw-text-opacity:1}.\32xl\:underline{text-decoration:underline}.\32xl\:line-through{text-decoration:line-through}.\32xl\:no-underline{text-decoration:none}.group:hover .\32xl\:group-hover\:underline{text-decoration:underline}.group:hover .\32xl\:group-hover\:line-through{text-decoration:line-through}.group:hover .\32xl\:group-hover\:no-underline{text-decoration:none}.\32xl\:focus-within\:underline:focus-within{text-decoration:underline}.\32xl\:focus-within\:line-through:focus-within{text-decoration:line-through}.\32xl\:focus-within\:no-underline:focus-within{text-decoration:none}.\32xl\:hover\:underline:hover{text-decoration:underline}.\32xl\:hover\:line-through:hover{text-decoration:line-through}.\32xl\:hover\:no-underline:hover{text-decoration:none}.\32xl\:focus\:underline:focus{text-decoration:underline}.\32xl\:focus\:line-through:focus{text-decoration:line-through}.\32xl\:focus\:no-underline:focus{text-decoration:none}.\32xl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.\32xl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.\32xl\:placeholder-transparent::placeholder{color:transparent}.\32xl\:placeholder-current::placeholder{color:currentColor}.\32xl\:placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.\32xl\:placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-50::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-100::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-200::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-300::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-600::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-700::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-800::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.\32xl\:placeholder-gray-900::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-50::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-200::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-400::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-500::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-600::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-700::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-800::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.\32xl\:placeholder-red-900::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-50::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-100::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-200::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-300::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-400::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-500::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-600::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-700::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-800::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.\32xl\:placeholder-yellow-900::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-50::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-100::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-200::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-300::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-400::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-500::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-600::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-700::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-800::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.\32xl\:placeholder-green-900::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-50::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-100::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-200::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-300::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-400::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-500::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-600::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-700::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-800::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.\32xl\:placeholder-blue-900::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-50::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-100::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-200::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-300::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-400::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-500::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-600::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-700::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-800::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.\32xl\:placeholder-indigo-900::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-50::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-100::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-200::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-300::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-400::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-500::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-600::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-700::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-800::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.\32xl\:placeholder-purple-900::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-50::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-100::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-200::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-300::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-400::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-500::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-600::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-700::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-800::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.\32xl\:placeholder-pink-900::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.\32xl\:focus\:placeholder-current:focus::placeholder{color:currentColor}.\32xl\:focus\:placeholder-black:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(0,0,0,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-white:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,255,255,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,250,251,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(243,244,246,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(229,231,235,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,213,219,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(75,85,99,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,65,81,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(31,41,55,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-gray-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(17,24,39,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,242,242,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,226,226,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,202,202,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,165,165,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(248,113,113,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,68,68,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(220,38,38,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(185,28,28,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(153,27,27,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-red-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(127,29,29,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(255,251,235,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(254,243,199,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,230,138,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,211,77,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,191,36,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,158,11,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(217,119,6,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(180,83,9,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(146,64,14,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-yellow-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(120,53,15,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,253,245,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(209,250,229,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,243,208,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(110,231,183,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(52,211,153,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(16,185,129,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(5,150,105,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(4,120,87,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,95,70,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-green-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(6,78,59,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(239,246,255,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,234,254,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(191,219,254,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(147,197,253,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(96,165,250,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(59,130,246,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(37,99,235,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(29,78,216,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,64,175,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-blue-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(30,58,138,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(238,242,255,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(224,231,255,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(199,210,254,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(165,180,252,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(129,140,248,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(99,102,241,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(79,70,229,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(67,56,202,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(55,48,163,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-indigo-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(49,46,129,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(245,243,255,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(237,233,254,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(221,214,254,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(196,181,253,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(167,139,250,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(139,92,246,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(124,58,237,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(109,40,217,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(91,33,182,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-purple-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-50:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(253,242,248,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-100:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(252,231,243,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-200:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(251,207,232,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-300:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(249,168,212,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-400:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(244,114,182,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-500:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(236,72,153,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-600:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(219,39,119,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-700:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(190,24,93,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-800:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(157,23,77,var(--tw-placeholder-opacity))}.\32xl\:focus\:placeholder-pink-900:focus::placeholder{--tw-placeholder-opacity:1;color:rgba(131,24,67,var(--tw-placeholder-opacity))}.\32xl\:placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.\32xl\:placeholder-opacity-5::placeholder{--tw-placeholder-opacity:0.05}.\32xl\:placeholder-opacity-10::placeholder{--tw-placeholder-opacity:0.1}.\32xl\:placeholder-opacity-20::placeholder{--tw-placeholder-opacity:0.2}.\32xl\:placeholder-opacity-25::placeholder{--tw-placeholder-opacity:0.25}.\32xl\:placeholder-opacity-30::placeholder{--tw-placeholder-opacity:0.3}.\32xl\:placeholder-opacity-40::placeholder{--tw-placeholder-opacity:0.4}.\32xl\:placeholder-opacity-50::placeholder{--tw-placeholder-opacity:0.5}.\32xl\:placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.\32xl\:placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.\32xl\:placeholder-opacity-75::placeholder{--tw-placeholder-opacity:0.75}.\32xl\:placeholder-opacity-80::placeholder{--tw-placeholder-opacity:0.8}.\32xl\:placeholder-opacity-90::placeholder{--tw-placeholder-opacity:0.9}.\32xl\:placeholder-opacity-95::placeholder{--tw-placeholder-opacity:0.95}.\32xl\:placeholder-opacity-100::placeholder{--tw-placeholder-opacity:1}.\32xl\:focus\:placeholder-opacity-0:focus::placeholder{--tw-placeholder-opacity:0}.\32xl\:focus\:placeholder-opacity-5:focus::placeholder{--tw-placeholder-opacity:0.05}.\32xl\:focus\:placeholder-opacity-10:focus::placeholder{--tw-placeholder-opacity:0.1}.\32xl\:focus\:placeholder-opacity-20:focus::placeholder{--tw-placeholder-opacity:0.2}.\32xl\:focus\:placeholder-opacity-25:focus::placeholder{--tw-placeholder-opacity:0.25}.\32xl\:focus\:placeholder-opacity-30:focus::placeholder{--tw-placeholder-opacity:0.3}.\32xl\:focus\:placeholder-opacity-40:focus::placeholder{--tw-placeholder-opacity:0.4}.\32xl\:focus\:placeholder-opacity-50:focus::placeholder{--tw-placeholder-opacity:0.5}.\32xl\:focus\:placeholder-opacity-60:focus::placeholder{--tw-placeholder-opacity:0.6}.\32xl\:focus\:placeholder-opacity-70:focus::placeholder{--tw-placeholder-opacity:0.7}.\32xl\:focus\:placeholder-opacity-75:focus::placeholder{--tw-placeholder-opacity:0.75}.\32xl\:focus\:placeholder-opacity-80:focus::placeholder{--tw-placeholder-opacity:0.8}.\32xl\:focus\:placeholder-opacity-90:focus::placeholder{--tw-placeholder-opacity:0.9}.\32xl\:focus\:placeholder-opacity-95:focus::placeholder{--tw-placeholder-opacity:0.95}.\32xl\:focus\:placeholder-opacity-100:focus::placeholder{--tw-placeholder-opacity:1}.\32xl\:opacity-0{opacity:0}.\32xl\:opacity-5{opacity:.05}.\32xl\:opacity-10{opacity:.1}.\32xl\:opacity-20{opacity:.2}.\32xl\:opacity-25{opacity:.25}.\32xl\:opacity-30{opacity:.3}.\32xl\:opacity-40{opacity:.4}.\32xl\:opacity-50{opacity:.5}.\32xl\:opacity-60{opacity:.6}.\32xl\:opacity-70{opacity:.7}.\32xl\:opacity-75{opacity:.75}.\32xl\:opacity-80{opacity:.8}.\32xl\:opacity-90{opacity:.9}.\32xl\:opacity-95{opacity:.95}.\32xl\:opacity-100{opacity:1}.group:hover .\32xl\:group-hover\:opacity-0{opacity:0}.group:hover .\32xl\:group-hover\:opacity-5{opacity:.05}.group:hover .\32xl\:group-hover\:opacity-10{opacity:.1}.group:hover .\32xl\:group-hover\:opacity-20{opacity:.2}.group:hover .\32xl\:group-hover\:opacity-25{opacity:.25}.group:hover .\32xl\:group-hover\:opacity-30{opacity:.3}.group:hover .\32xl\:group-hover\:opacity-40{opacity:.4}.group:hover .\32xl\:group-hover\:opacity-50{opacity:.5}.group:hover .\32xl\:group-hover\:opacity-60{opacity:.6}.group:hover .\32xl\:group-hover\:opacity-70{opacity:.7}.group:hover .\32xl\:group-hover\:opacity-75{opacity:.75}.group:hover .\32xl\:group-hover\:opacity-80{opacity:.8}.group:hover .\32xl\:group-hover\:opacity-90{opacity:.9}.group:hover .\32xl\:group-hover\:opacity-95{opacity:.95}.group:hover .\32xl\:group-hover\:opacity-100{opacity:1}.\32xl\:focus-within\:opacity-0:focus-within{opacity:0}.\32xl\:focus-within\:opacity-5:focus-within{opacity:.05}.\32xl\:focus-within\:opacity-10:focus-within{opacity:.1}.\32xl\:focus-within\:opacity-20:focus-within{opacity:.2}.\32xl\:focus-within\:opacity-25:focus-within{opacity:.25}.\32xl\:focus-within\:opacity-30:focus-within{opacity:.3}.\32xl\:focus-within\:opacity-40:focus-within{opacity:.4}.\32xl\:focus-within\:opacity-50:focus-within{opacity:.5}.\32xl\:focus-within\:opacity-60:focus-within{opacity:.6}.\32xl\:focus-within\:opacity-70:focus-within{opacity:.7}.\32xl\:focus-within\:opacity-75:focus-within{opacity:.75}.\32xl\:focus-within\:opacity-80:focus-within{opacity:.8}.\32xl\:focus-within\:opacity-90:focus-within{opacity:.9}.\32xl\:focus-within\:opacity-95:focus-within{opacity:.95}.\32xl\:focus-within\:opacity-100:focus-within{opacity:1}.\32xl\:hover\:opacity-0:hover{opacity:0}.\32xl\:hover\:opacity-5:hover{opacity:.05}.\32xl\:hover\:opacity-10:hover{opacity:.1}.\32xl\:hover\:opacity-20:hover{opacity:.2}.\32xl\:hover\:opacity-25:hover{opacity:.25}.\32xl\:hover\:opacity-30:hover{opacity:.3}.\32xl\:hover\:opacity-40:hover{opacity:.4}.\32xl\:hover\:opacity-50:hover{opacity:.5}.\32xl\:hover\:opacity-60:hover{opacity:.6}.\32xl\:hover\:opacity-70:hover{opacity:.7}.\32xl\:hover\:opacity-75:hover{opacity:.75}.\32xl\:hover\:opacity-80:hover{opacity:.8}.\32xl\:hover\:opacity-90:hover{opacity:.9}.\32xl\:hover\:opacity-95:hover{opacity:.95}.\32xl\:hover\:opacity-100:hover{opacity:1}.\32xl\:focus\:opacity-0:focus{opacity:0}.\32xl\:focus\:opacity-5:focus{opacity:.05}.\32xl\:focus\:opacity-10:focus{opacity:.1}.\32xl\:focus\:opacity-20:focus{opacity:.2}.\32xl\:focus\:opacity-25:focus{opacity:.25}.\32xl\:focus\:opacity-30:focus{opacity:.3}.\32xl\:focus\:opacity-40:focus{opacity:.4}.\32xl\:focus\:opacity-50:focus{opacity:.5}.\32xl\:focus\:opacity-60:focus{opacity:.6}.\32xl\:focus\:opacity-70:focus{opacity:.7}.\32xl\:focus\:opacity-75:focus{opacity:.75}.\32xl\:focus\:opacity-80:focus{opacity:.8}.\32xl\:focus\:opacity-90:focus{opacity:.9}.\32xl\:focus\:opacity-95:focus{opacity:.95}.\32xl\:focus\:opacity-100:focus{opacity:1}.\32xl\:bg-blend-normal{background-blend-mode:normal}.\32xl\:bg-blend-multiply{background-blend-mode:multiply}.\32xl\:bg-blend-screen{background-blend-mode:screen}.\32xl\:bg-blend-overlay{background-blend-mode:overlay}.\32xl\:bg-blend-darken{background-blend-mode:darken}.\32xl\:bg-blend-lighten{background-blend-mode:lighten}.\32xl\:bg-blend-color-dodge{background-blend-mode:color-dodge}.\32xl\:bg-blend-color-burn{background-blend-mode:color-burn}.\32xl\:bg-blend-hard-light{background-blend-mode:hard-light}.\32xl\:bg-blend-soft-light{background-blend-mode:soft-light}.\32xl\:bg-blend-difference{background-blend-mode:difference}.\32xl\:bg-blend-exclusion{background-blend-mode:exclusion}.\32xl\:bg-blend-hue{background-blend-mode:hue}.\32xl\:bg-blend-saturation{background-blend-mode:saturation}.\32xl\:bg-blend-color{background-blend-mode:color}.\32xl\:bg-blend-luminosity{background-blend-mode:luminosity}.\32xl\:mix-blend-normal{mix-blend-mode:normal}.\32xl\:mix-blend-multiply{mix-blend-mode:multiply}.\32xl\:mix-blend-screen{mix-blend-mode:screen}.\32xl\:mix-blend-overlay{mix-blend-mode:overlay}.\32xl\:mix-blend-darken{mix-blend-mode:darken}.\32xl\:mix-blend-lighten{mix-blend-mode:lighten}.\32xl\:mix-blend-color-dodge{mix-blend-mode:color-dodge}.\32xl\:mix-blend-color-burn{mix-blend-mode:color-burn}.\32xl\:mix-blend-hard-light{mix-blend-mode:hard-light}.\32xl\:mix-blend-soft-light{mix-blend-mode:soft-light}.\32xl\:mix-blend-difference{mix-blend-mode:difference}.\32xl\:mix-blend-exclusion{mix-blend-mode:exclusion}.\32xl\:mix-blend-hue{mix-blend-mode:hue}.\32xl\:mix-blend-saturation{mix-blend-mode:saturation}.\32xl\:mix-blend-color{mix-blend-mode:color}.\32xl\:mix-blend-luminosity{mix-blend-mode:luminosity}.\32xl\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .\32xl\:group-hover\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .\32xl\:group-hover\:shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .\32xl\:group-hover\:shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .\32xl\:group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .\32xl\:group-hover\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .\32xl\:group-hover\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .\32xl\:group-hover\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .\32xl\:group-hover\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus-within\:shadow-sm:focus-within{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus-within\:shadow:focus-within{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus-within\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus-within\:shadow-lg:focus-within{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus-within\:shadow-xl:focus-within{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus-within\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus-within\:shadow-inner:focus-within{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus-within\:shadow-none:focus-within{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:hover\:shadow:hover{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:hover\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus\:shadow-sm:focus{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus\:shadow:focus{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus\:shadow-xl:focus{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus\:shadow-2xl:focus{--tw-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.25);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus\:shadow-inner:focus{--tw-shadow:inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:focus\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\32xl\:outline-none{outline:2px solid transparent;outline-offset:2px}.\32xl\:outline-white{outline:2px dotted white;outline-offset:2px}.\32xl\:outline-black{outline:2px dotted black;outline-offset:2px}.\32xl\:focus-within\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.\32xl\:focus-within\:outline-white:focus-within{outline:2px dotted white;outline-offset:2px}.\32xl\:focus-within\:outline-black:focus-within{outline:2px dotted black;outline-offset:2px}.\32xl\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.\32xl\:focus\:outline-white:focus{outline:2px dotted white;outline-offset:2px}.\32xl\:focus\:outline-black:focus{outline:2px dotted black;outline-offset:2px}.\32xl\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus-within\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus-within\:ring-1:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus-within\:ring-4:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus-within\:ring-8:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus\:ring-8:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\32xl\:ring-inset{--tw-ring-inset:inset}.\32xl\:focus-within\:ring-inset:focus-within{--tw-ring-inset:inset}.\32xl\:focus\:ring-inset:focus{--tw-ring-inset:inset}.\32xl\:ring-transparent{--tw-ring-color:transparent}.\32xl\:ring-current{--tw-ring-color:currentColor}.\32xl\:ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.\32xl\:ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\32xl\:ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.\32xl\:ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.\32xl\:ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.\32xl\:ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.\32xl\:ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.\32xl\:ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.\32xl\:ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.\32xl\:ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.\32xl\:ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.\32xl\:ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.\32xl\:ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.\32xl\:ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.\32xl\:ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.\32xl\:ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.\32xl\:ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.\32xl\:ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.\32xl\:ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.\32xl\:ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.\32xl\:ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.\32xl\:ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.\32xl\:ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.\32xl\:ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.\32xl\:ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.\32xl\:ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.\32xl\:ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.\32xl\:ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.\32xl\:ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.\32xl\:ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.\32xl\:ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.\32xl\:ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.\32xl\:ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.\32xl\:ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.\32xl\:ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.\32xl\:ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.\32xl\:ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.\32xl\:ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.\32xl\:ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.\32xl\:ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.\32xl\:ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.\32xl\:ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.\32xl\:ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.\32xl\:ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.\32xl\:ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.\32xl\:ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.\32xl\:ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.\32xl\:ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.\32xl\:ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.\32xl\:ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.\32xl\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.\32xl\:ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.\32xl\:ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.\32xl\:ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.\32xl\:ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.\32xl\:ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.\32xl\:ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.\32xl\:ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.\32xl\:ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.\32xl\:ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.\32xl\:ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.\32xl\:ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.\32xl\:ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.\32xl\:ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.\32xl\:ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.\32xl\:ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.\32xl\:ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.\32xl\:ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.\32xl\:ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.\32xl\:ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.\32xl\:ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.\32xl\:ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.\32xl\:ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.\32xl\:ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.\32xl\:ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.\32xl\:ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.\32xl\:ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.\32xl\:ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.\32xl\:ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.\32xl\:ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.\32xl\:ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.\32xl\:ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-transparent:focus-within{--tw-ring-color:transparent}.\32xl\:focus-within\:ring-current:focus-within{--tw-ring-color:currentColor}.\32xl\:focus-within\:ring-black:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-white:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-gray-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-red-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-yellow-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-green-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-blue-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-indigo-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-purple-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-50:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-100:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-200:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-600:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-800:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.\32xl\:focus-within\:ring-pink-900:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.\32xl\:focus\:ring-transparent:focus{--tw-ring-color:transparent}.\32xl\:focus\:ring-current:focus{--tw-ring-color:currentColor}.\32xl\:focus\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(0, 0, 0, var(--tw-ring-opacity))}.\32xl\:focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 255, 255, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 250, 251, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(243, 244, 246, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(229, 231, 235, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 213, 219, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(156, 163, 175, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(107, 114, 128, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(75, 85, 99, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 65, 81, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(31, 41, 55, var(--tw-ring-opacity))}.\32xl\:focus\:ring-gray-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(17, 24, 39, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 242, 242, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 226, 226, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 202, 202, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 165, 165, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(248, 113, 113, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(220, 38, 38, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(185, 28, 28, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(153, 27, 27, var(--tw-ring-opacity))}.\32xl\:focus\:ring-red-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(127, 29, 29, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(255, 251, 235, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(254, 243, 199, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 230, 138, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 211, 77, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 191, 36, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 158, 11, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(217, 119, 6, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(180, 83, 9, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(146, 64, 14, var(--tw-ring-opacity))}.\32xl\:focus\:ring-yellow-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(120, 53, 15, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 253, 245, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(209, 250, 229, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 243, 208, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(110, 231, 183, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(52, 211, 153, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(16, 185, 129, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(5, 150, 105, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(4, 120, 87, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 95, 70, var(--tw-ring-opacity))}.\32xl\:focus\:ring-green-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(6, 78, 59, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 246, 255, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 234, 254, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(191, 219, 254, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(147, 197, 253, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(96, 165, 250, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(59, 130, 246, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(37, 99, 235, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(29, 78, 216, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 64, 175, var(--tw-ring-opacity))}.\32xl\:focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30, 58, 138, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(238, 242, 255, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(224, 231, 255, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(199, 210, 254, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(165, 180, 252, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(79, 70, 229, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(67, 56, 202, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(55, 48, 163, var(--tw-ring-opacity))}.\32xl\:focus\:ring-indigo-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(49, 46, 129, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(245, 243, 255, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(237, 233, 254, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(221, 214, 254, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(196, 181, 253, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(167, 139, 250, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(139, 92, 246, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(124, 58, 237, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(109, 40, 217, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(91, 33, 182, var(--tw-ring-opacity))}.\32xl\:focus\:ring-purple-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(76, 29, 149, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-50:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(253, 242, 248, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(252, 231, 243, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(251, 207, 232, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(249, 168, 212, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(244, 114, 182, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(236, 72, 153, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(219, 39, 119, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-700:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(190, 24, 93, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-800:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(157, 23, 77, var(--tw-ring-opacity))}.\32xl\:focus\:ring-pink-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(131, 24, 67, var(--tw-ring-opacity))}.\32xl\:ring-opacity-0{--tw-ring-opacity:0}.\32xl\:ring-opacity-5{--tw-ring-opacity:0.05}.\32xl\:ring-opacity-10{--tw-ring-opacity:0.1}.\32xl\:ring-opacity-20{--tw-ring-opacity:0.2}.\32xl\:ring-opacity-25{--tw-ring-opacity:0.25}.\32xl\:ring-opacity-30{--tw-ring-opacity:0.3}.\32xl\:ring-opacity-40{--tw-ring-opacity:0.4}.\32xl\:ring-opacity-50{--tw-ring-opacity:0.5}.\32xl\:ring-opacity-60{--tw-ring-opacity:0.6}.\32xl\:ring-opacity-70{--tw-ring-opacity:0.7}.\32xl\:ring-opacity-75{--tw-ring-opacity:0.75}.\32xl\:ring-opacity-80{--tw-ring-opacity:0.8}.\32xl\:ring-opacity-90{--tw-ring-opacity:0.9}.\32xl\:ring-opacity-95{--tw-ring-opacity:0.95}.\32xl\:ring-opacity-100{--tw-ring-opacity:1}.\32xl\:focus-within\:ring-opacity-0:focus-within{--tw-ring-opacity:0}.\32xl\:focus-within\:ring-opacity-5:focus-within{--tw-ring-opacity:0.05}.\32xl\:focus-within\:ring-opacity-10:focus-within{--tw-ring-opacity:0.1}.\32xl\:focus-within\:ring-opacity-20:focus-within{--tw-ring-opacity:0.2}.\32xl\:focus-within\:ring-opacity-25:focus-within{--tw-ring-opacity:0.25}.\32xl\:focus-within\:ring-opacity-30:focus-within{--tw-ring-opacity:0.3}.\32xl\:focus-within\:ring-opacity-40:focus-within{--tw-ring-opacity:0.4}.\32xl\:focus-within\:ring-opacity-50:focus-within{--tw-ring-opacity:0.5}.\32xl\:focus-within\:ring-opacity-60:focus-within{--tw-ring-opacity:0.6}.\32xl\:focus-within\:ring-opacity-70:focus-within{--tw-ring-opacity:0.7}.\32xl\:focus-within\:ring-opacity-75:focus-within{--tw-ring-opacity:0.75}.\32xl\:focus-within\:ring-opacity-80:focus-within{--tw-ring-opacity:0.8}.\32xl\:focus-within\:ring-opacity-90:focus-within{--tw-ring-opacity:0.9}.\32xl\:focus-within\:ring-opacity-95:focus-within{--tw-ring-opacity:0.95}.\32xl\:focus-within\:ring-opacity-100:focus-within{--tw-ring-opacity:1}.\32xl\:focus\:ring-opacity-0:focus{--tw-ring-opacity:0}.\32xl\:focus\:ring-opacity-5:focus{--tw-ring-opacity:0.05}.\32xl\:focus\:ring-opacity-10:focus{--tw-ring-opacity:0.1}.\32xl\:focus\:ring-opacity-20:focus{--tw-ring-opacity:0.2}.\32xl\:focus\:ring-opacity-25:focus{--tw-ring-opacity:0.25}.\32xl\:focus\:ring-opacity-30:focus{--tw-ring-opacity:0.3}.\32xl\:focus\:ring-opacity-40:focus{--tw-ring-opacity:0.4}.\32xl\:focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.\32xl\:focus\:ring-opacity-60:focus{--tw-ring-opacity:0.6}.\32xl\:focus\:ring-opacity-70:focus{--tw-ring-opacity:0.7}.\32xl\:focus\:ring-opacity-75:focus{--tw-ring-opacity:0.75}.\32xl\:focus\:ring-opacity-80:focus{--tw-ring-opacity:0.8}.\32xl\:focus\:ring-opacity-90:focus{--tw-ring-opacity:0.9}.\32xl\:focus\:ring-opacity-95:focus{--tw-ring-opacity:0.95}.\32xl\:focus\:ring-opacity-100:focus{--tw-ring-opacity:1}.\32xl\:ring-offset-0{--tw-ring-offset-width:0px}.\32xl\:ring-offset-1{--tw-ring-offset-width:1px}.\32xl\:ring-offset-2{--tw-ring-offset-width:2px}.\32xl\:ring-offset-4{--tw-ring-offset-width:4px}.\32xl\:ring-offset-8{--tw-ring-offset-width:8px}.\32xl\:focus-within\:ring-offset-0:focus-within{--tw-ring-offset-width:0px}.\32xl\:focus-within\:ring-offset-1:focus-within{--tw-ring-offset-width:1px}.\32xl\:focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.\32xl\:focus-within\:ring-offset-4:focus-within{--tw-ring-offset-width:4px}.\32xl\:focus-within\:ring-offset-8:focus-within{--tw-ring-offset-width:8px}.\32xl\:focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.\32xl\:focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.\32xl\:focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.\32xl\:focus\:ring-offset-4:focus{--tw-ring-offset-width:4px}.\32xl\:focus\:ring-offset-8:focus{--tw-ring-offset-width:8px}.\32xl\:ring-offset-transparent{--tw-ring-offset-color:transparent}.\32xl\:ring-offset-current{--tw-ring-offset-color:currentColor}.\32xl\:ring-offset-black{--tw-ring-offset-color:#000}.\32xl\:ring-offset-white{--tw-ring-offset-color:#fff}.\32xl\:ring-offset-gray-50{--tw-ring-offset-color:#f9fafb}.\32xl\:ring-offset-gray-100{--tw-ring-offset-color:#f3f4f6}.\32xl\:ring-offset-gray-200{--tw-ring-offset-color:#e5e7eb}.\32xl\:ring-offset-gray-300{--tw-ring-offset-color:#d1d5db}.\32xl\:ring-offset-gray-400{--tw-ring-offset-color:#9ca3af}.\32xl\:ring-offset-gray-500{--tw-ring-offset-color:#6b7280}.\32xl\:ring-offset-gray-600{--tw-ring-offset-color:#4b5563}.\32xl\:ring-offset-gray-700{--tw-ring-offset-color:#374151}.\32xl\:ring-offset-gray-800{--tw-ring-offset-color:#1f2937}.\32xl\:ring-offset-gray-900{--tw-ring-offset-color:#111827}.\32xl\:ring-offset-red-50{--tw-ring-offset-color:#fef2f2}.\32xl\:ring-offset-red-100{--tw-ring-offset-color:#fee2e2}.\32xl\:ring-offset-red-200{--tw-ring-offset-color:#fecaca}.\32xl\:ring-offset-red-300{--tw-ring-offset-color:#fca5a5}.\32xl\:ring-offset-red-400{--tw-ring-offset-color:#f87171}.\32xl\:ring-offset-red-500{--tw-ring-offset-color:#ef4444}.\32xl\:ring-offset-red-600{--tw-ring-offset-color:#dc2626}.\32xl\:ring-offset-red-700{--tw-ring-offset-color:#b91c1c}.\32xl\:ring-offset-red-800{--tw-ring-offset-color:#991b1b}.\32xl\:ring-offset-red-900{--tw-ring-offset-color:#7f1d1d}.\32xl\:ring-offset-yellow-50{--tw-ring-offset-color:#fffbeb}.\32xl\:ring-offset-yellow-100{--tw-ring-offset-color:#fef3c7}.\32xl\:ring-offset-yellow-200{--tw-ring-offset-color:#fde68a}.\32xl\:ring-offset-yellow-300{--tw-ring-offset-color:#fcd34d}.\32xl\:ring-offset-yellow-400{--tw-ring-offset-color:#fbbf24}.\32xl\:ring-offset-yellow-500{--tw-ring-offset-color:#f59e0b}.\32xl\:ring-offset-yellow-600{--tw-ring-offset-color:#d97706}.\32xl\:ring-offset-yellow-700{--tw-ring-offset-color:#b45309}.\32xl\:ring-offset-yellow-800{--tw-ring-offset-color:#92400e}.\32xl\:ring-offset-yellow-900{--tw-ring-offset-color:#78350f}.\32xl\:ring-offset-green-50{--tw-ring-offset-color:#ecfdf5}.\32xl\:ring-offset-green-100{--tw-ring-offset-color:#d1fae5}.\32xl\:ring-offset-green-200{--tw-ring-offset-color:#a7f3d0}.\32xl\:ring-offset-green-300{--tw-ring-offset-color:#6ee7b7}.\32xl\:ring-offset-green-400{--tw-ring-offset-color:#34d399}.\32xl\:ring-offset-green-500{--tw-ring-offset-color:#10b981}.\32xl\:ring-offset-green-600{--tw-ring-offset-color:#059669}.\32xl\:ring-offset-green-700{--tw-ring-offset-color:#047857}.\32xl\:ring-offset-green-800{--tw-ring-offset-color:#065f46}.\32xl\:ring-offset-green-900{--tw-ring-offset-color:#064e3b}.\32xl\:ring-offset-blue-50{--tw-ring-offset-color:#eff6ff}.\32xl\:ring-offset-blue-100{--tw-ring-offset-color:#dbeafe}.\32xl\:ring-offset-blue-200{--tw-ring-offset-color:#bfdbfe}.\32xl\:ring-offset-blue-300{--tw-ring-offset-color:#93c5fd}.\32xl\:ring-offset-blue-400{--tw-ring-offset-color:#60a5fa}.\32xl\:ring-offset-blue-500{--tw-ring-offset-color:#3b82f6}.\32xl\:ring-offset-blue-600{--tw-ring-offset-color:#2563eb}.\32xl\:ring-offset-blue-700{--tw-ring-offset-color:#1d4ed8}.\32xl\:ring-offset-blue-800{--tw-ring-offset-color:#1e40af}.\32xl\:ring-offset-blue-900{--tw-ring-offset-color:#1e3a8a}.\32xl\:ring-offset-indigo-50{--tw-ring-offset-color:#eef2ff}.\32xl\:ring-offset-indigo-100{--tw-ring-offset-color:#e0e7ff}.\32xl\:ring-offset-indigo-200{--tw-ring-offset-color:#c7d2fe}.\32xl\:ring-offset-indigo-300{--tw-ring-offset-color:#a5b4fc}.\32xl\:ring-offset-indigo-400{--tw-ring-offset-color:#818cf8}.\32xl\:ring-offset-indigo-500{--tw-ring-offset-color:#6366f1}.\32xl\:ring-offset-indigo-600{--tw-ring-offset-color:#4f46e5}.\32xl\:ring-offset-indigo-700{--tw-ring-offset-color:#4338ca}.\32xl\:ring-offset-indigo-800{--tw-ring-offset-color:#3730a3}.\32xl\:ring-offset-indigo-900{--tw-ring-offset-color:#312e81}.\32xl\:ring-offset-purple-50{--tw-ring-offset-color:#f5f3ff}.\32xl\:ring-offset-purple-100{--tw-ring-offset-color:#ede9fe}.\32xl\:ring-offset-purple-200{--tw-ring-offset-color:#ddd6fe}.\32xl\:ring-offset-purple-300{--tw-ring-offset-color:#c4b5fd}.\32xl\:ring-offset-purple-400{--tw-ring-offset-color:#a78bfa}.\32xl\:ring-offset-purple-500{--tw-ring-offset-color:#8b5cf6}.\32xl\:ring-offset-purple-600{--tw-ring-offset-color:#7c3aed}.\32xl\:ring-offset-purple-700{--tw-ring-offset-color:#6d28d9}.\32xl\:ring-offset-purple-800{--tw-ring-offset-color:#5b21b6}.\32xl\:ring-offset-purple-900{--tw-ring-offset-color:#4c1d95}.\32xl\:ring-offset-pink-50{--tw-ring-offset-color:#fdf2f8}.\32xl\:ring-offset-pink-100{--tw-ring-offset-color:#fce7f3}.\32xl\:ring-offset-pink-200{--tw-ring-offset-color:#fbcfe8}.\32xl\:ring-offset-pink-300{--tw-ring-offset-color:#f9a8d4}.\32xl\:ring-offset-pink-400{--tw-ring-offset-color:#f472b6}.\32xl\:ring-offset-pink-500{--tw-ring-offset-color:#ec4899}.\32xl\:ring-offset-pink-600{--tw-ring-offset-color:#db2777}.\32xl\:ring-offset-pink-700{--tw-ring-offset-color:#be185d}.\32xl\:ring-offset-pink-800{--tw-ring-offset-color:#9d174d}.\32xl\:ring-offset-pink-900{--tw-ring-offset-color:#831843}.\32xl\:focus-within\:ring-offset-transparent:focus-within{--tw-ring-offset-color:transparent}.\32xl\:focus-within\:ring-offset-current:focus-within{--tw-ring-offset-color:currentColor}.\32xl\:focus-within\:ring-offset-black:focus-within{--tw-ring-offset-color:#000}.\32xl\:focus-within\:ring-offset-white:focus-within{--tw-ring-offset-color:#fff}.\32xl\:focus-within\:ring-offset-gray-50:focus-within{--tw-ring-offset-color:#f9fafb}.\32xl\:focus-within\:ring-offset-gray-100:focus-within{--tw-ring-offset-color:#f3f4f6}.\32xl\:focus-within\:ring-offset-gray-200:focus-within{--tw-ring-offset-color:#e5e7eb}.\32xl\:focus-within\:ring-offset-gray-300:focus-within{--tw-ring-offset-color:#d1d5db}.\32xl\:focus-within\:ring-offset-gray-400:focus-within{--tw-ring-offset-color:#9ca3af}.\32xl\:focus-within\:ring-offset-gray-500:focus-within{--tw-ring-offset-color:#6b7280}.\32xl\:focus-within\:ring-offset-gray-600:focus-within{--tw-ring-offset-color:#4b5563}.\32xl\:focus-within\:ring-offset-gray-700:focus-within{--tw-ring-offset-color:#374151}.\32xl\:focus-within\:ring-offset-gray-800:focus-within{--tw-ring-offset-color:#1f2937}.\32xl\:focus-within\:ring-offset-gray-900:focus-within{--tw-ring-offset-color:#111827}.\32xl\:focus-within\:ring-offset-red-50:focus-within{--tw-ring-offset-color:#fef2f2}.\32xl\:focus-within\:ring-offset-red-100:focus-within{--tw-ring-offset-color:#fee2e2}.\32xl\:focus-within\:ring-offset-red-200:focus-within{--tw-ring-offset-color:#fecaca}.\32xl\:focus-within\:ring-offset-red-300:focus-within{--tw-ring-offset-color:#fca5a5}.\32xl\:focus-within\:ring-offset-red-400:focus-within{--tw-ring-offset-color:#f87171}.\32xl\:focus-within\:ring-offset-red-500:focus-within{--tw-ring-offset-color:#ef4444}.\32xl\:focus-within\:ring-offset-red-600:focus-within{--tw-ring-offset-color:#dc2626}.\32xl\:focus-within\:ring-offset-red-700:focus-within{--tw-ring-offset-color:#b91c1c}.\32xl\:focus-within\:ring-offset-red-800:focus-within{--tw-ring-offset-color:#991b1b}.\32xl\:focus-within\:ring-offset-red-900:focus-within{--tw-ring-offset-color:#7f1d1d}.\32xl\:focus-within\:ring-offset-yellow-50:focus-within{--tw-ring-offset-color:#fffbeb}.\32xl\:focus-within\:ring-offset-yellow-100:focus-within{--tw-ring-offset-color:#fef3c7}.\32xl\:focus-within\:ring-offset-yellow-200:focus-within{--tw-ring-offset-color:#fde68a}.\32xl\:focus-within\:ring-offset-yellow-300:focus-within{--tw-ring-offset-color:#fcd34d}.\32xl\:focus-within\:ring-offset-yellow-400:focus-within{--tw-ring-offset-color:#fbbf24}.\32xl\:focus-within\:ring-offset-yellow-500:focus-within{--tw-ring-offset-color:#f59e0b}.\32xl\:focus-within\:ring-offset-yellow-600:focus-within{--tw-ring-offset-color:#d97706}.\32xl\:focus-within\:ring-offset-yellow-700:focus-within{--tw-ring-offset-color:#b45309}.\32xl\:focus-within\:ring-offset-yellow-800:focus-within{--tw-ring-offset-color:#92400e}.\32xl\:focus-within\:ring-offset-yellow-900:focus-within{--tw-ring-offset-color:#78350f}.\32xl\:focus-within\:ring-offset-green-50:focus-within{--tw-ring-offset-color:#ecfdf5}.\32xl\:focus-within\:ring-offset-green-100:focus-within{--tw-ring-offset-color:#d1fae5}.\32xl\:focus-within\:ring-offset-green-200:focus-within{--tw-ring-offset-color:#a7f3d0}.\32xl\:focus-within\:ring-offset-green-300:focus-within{--tw-ring-offset-color:#6ee7b7}.\32xl\:focus-within\:ring-offset-green-400:focus-within{--tw-ring-offset-color:#34d399}.\32xl\:focus-within\:ring-offset-green-500:focus-within{--tw-ring-offset-color:#10b981}.\32xl\:focus-within\:ring-offset-green-600:focus-within{--tw-ring-offset-color:#059669}.\32xl\:focus-within\:ring-offset-green-700:focus-within{--tw-ring-offset-color:#047857}.\32xl\:focus-within\:ring-offset-green-800:focus-within{--tw-ring-offset-color:#065f46}.\32xl\:focus-within\:ring-offset-green-900:focus-within{--tw-ring-offset-color:#064e3b}.\32xl\:focus-within\:ring-offset-blue-50:focus-within{--tw-ring-offset-color:#eff6ff}.\32xl\:focus-within\:ring-offset-blue-100:focus-within{--tw-ring-offset-color:#dbeafe}.\32xl\:focus-within\:ring-offset-blue-200:focus-within{--tw-ring-offset-color:#bfdbfe}.\32xl\:focus-within\:ring-offset-blue-300:focus-within{--tw-ring-offset-color:#93c5fd}.\32xl\:focus-within\:ring-offset-blue-400:focus-within{--tw-ring-offset-color:#60a5fa}.\32xl\:focus-within\:ring-offset-blue-500:focus-within{--tw-ring-offset-color:#3b82f6}.\32xl\:focus-within\:ring-offset-blue-600:focus-within{--tw-ring-offset-color:#2563eb}.\32xl\:focus-within\:ring-offset-blue-700:focus-within{--tw-ring-offset-color:#1d4ed8}.\32xl\:focus-within\:ring-offset-blue-800:focus-within{--tw-ring-offset-color:#1e40af}.\32xl\:focus-within\:ring-offset-blue-900:focus-within{--tw-ring-offset-color:#1e3a8a}.\32xl\:focus-within\:ring-offset-indigo-50:focus-within{--tw-ring-offset-color:#eef2ff}.\32xl\:focus-within\:ring-offset-indigo-100:focus-within{--tw-ring-offset-color:#e0e7ff}.\32xl\:focus-within\:ring-offset-indigo-200:focus-within{--tw-ring-offset-color:#c7d2fe}.\32xl\:focus-within\:ring-offset-indigo-300:focus-within{--tw-ring-offset-color:#a5b4fc}.\32xl\:focus-within\:ring-offset-indigo-400:focus-within{--tw-ring-offset-color:#818cf8}.\32xl\:focus-within\:ring-offset-indigo-500:focus-within{--tw-ring-offset-color:#6366f1}.\32xl\:focus-within\:ring-offset-indigo-600:focus-within{--tw-ring-offset-color:#4f46e5}.\32xl\:focus-within\:ring-offset-indigo-700:focus-within{--tw-ring-offset-color:#4338ca}.\32xl\:focus-within\:ring-offset-indigo-800:focus-within{--tw-ring-offset-color:#3730a3}.\32xl\:focus-within\:ring-offset-indigo-900:focus-within{--tw-ring-offset-color:#312e81}.\32xl\:focus-within\:ring-offset-purple-50:focus-within{--tw-ring-offset-color:#f5f3ff}.\32xl\:focus-within\:ring-offset-purple-100:focus-within{--tw-ring-offset-color:#ede9fe}.\32xl\:focus-within\:ring-offset-purple-200:focus-within{--tw-ring-offset-color:#ddd6fe}.\32xl\:focus-within\:ring-offset-purple-300:focus-within{--tw-ring-offset-color:#c4b5fd}.\32xl\:focus-within\:ring-offset-purple-400:focus-within{--tw-ring-offset-color:#a78bfa}.\32xl\:focus-within\:ring-offset-purple-500:focus-within{--tw-ring-offset-color:#8b5cf6}.\32xl\:focus-within\:ring-offset-purple-600:focus-within{--tw-ring-offset-color:#7c3aed}.\32xl\:focus-within\:ring-offset-purple-700:focus-within{--tw-ring-offset-color:#6d28d9}.\32xl\:focus-within\:ring-offset-purple-800:focus-within{--tw-ring-offset-color:#5b21b6}.\32xl\:focus-within\:ring-offset-purple-900:focus-within{--tw-ring-offset-color:#4c1d95}.\32xl\:focus-within\:ring-offset-pink-50:focus-within{--tw-ring-offset-color:#fdf2f8}.\32xl\:focus-within\:ring-offset-pink-100:focus-within{--tw-ring-offset-color:#fce7f3}.\32xl\:focus-within\:ring-offset-pink-200:focus-within{--tw-ring-offset-color:#fbcfe8}.\32xl\:focus-within\:ring-offset-pink-300:focus-within{--tw-ring-offset-color:#f9a8d4}.\32xl\:focus-within\:ring-offset-pink-400:focus-within{--tw-ring-offset-color:#f472b6}.\32xl\:focus-within\:ring-offset-pink-500:focus-within{--tw-ring-offset-color:#ec4899}.\32xl\:focus-within\:ring-offset-pink-600:focus-within{--tw-ring-offset-color:#db2777}.\32xl\:focus-within\:ring-offset-pink-700:focus-within{--tw-ring-offset-color:#be185d}.\32xl\:focus-within\:ring-offset-pink-800:focus-within{--tw-ring-offset-color:#9d174d}.\32xl\:focus-within\:ring-offset-pink-900:focus-within{--tw-ring-offset-color:#831843}.\32xl\:focus\:ring-offset-transparent:focus{--tw-ring-offset-color:transparent}.\32xl\:focus\:ring-offset-current:focus{--tw-ring-offset-color:currentColor}.\32xl\:focus\:ring-offset-black:focus{--tw-ring-offset-color:#000}.\32xl\:focus\:ring-offset-white:focus{--tw-ring-offset-color:#fff}.\32xl\:focus\:ring-offset-gray-50:focus{--tw-ring-offset-color:#f9fafb}.\32xl\:focus\:ring-offset-gray-100:focus{--tw-ring-offset-color:#f3f4f6}.\32xl\:focus\:ring-offset-gray-200:focus{--tw-ring-offset-color:#e5e7eb}.\32xl\:focus\:ring-offset-gray-300:focus{--tw-ring-offset-color:#d1d5db}.\32xl\:focus\:ring-offset-gray-400:focus{--tw-ring-offset-color:#9ca3af}.\32xl\:focus\:ring-offset-gray-500:focus{--tw-ring-offset-color:#6b7280}.\32xl\:focus\:ring-offset-gray-600:focus{--tw-ring-offset-color:#4b5563}.\32xl\:focus\:ring-offset-gray-700:focus{--tw-ring-offset-color:#374151}.\32xl\:focus\:ring-offset-gray-800:focus{--tw-ring-offset-color:#1f2937}.\32xl\:focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:#111827}.\32xl\:focus\:ring-offset-red-50:focus{--tw-ring-offset-color:#fef2f2}.\32xl\:focus\:ring-offset-red-100:focus{--tw-ring-offset-color:#fee2e2}.\32xl\:focus\:ring-offset-red-200:focus{--tw-ring-offset-color:#fecaca}.\32xl\:focus\:ring-offset-red-300:focus{--tw-ring-offset-color:#fca5a5}.\32xl\:focus\:ring-offset-red-400:focus{--tw-ring-offset-color:#f87171}.\32xl\:focus\:ring-offset-red-500:focus{--tw-ring-offset-color:#ef4444}.\32xl\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.\32xl\:focus\:ring-offset-red-700:focus{--tw-ring-offset-color:#b91c1c}.\32xl\:focus\:ring-offset-red-800:focus{--tw-ring-offset-color:#991b1b}.\32xl\:focus\:ring-offset-red-900:focus{--tw-ring-offset-color:#7f1d1d}.\32xl\:focus\:ring-offset-yellow-50:focus{--tw-ring-offset-color:#fffbeb}.\32xl\:focus\:ring-offset-yellow-100:focus{--tw-ring-offset-color:#fef3c7}.\32xl\:focus\:ring-offset-yellow-200:focus{--tw-ring-offset-color:#fde68a}.\32xl\:focus\:ring-offset-yellow-300:focus{--tw-ring-offset-color:#fcd34d}.\32xl\:focus\:ring-offset-yellow-400:focus{--tw-ring-offset-color:#fbbf24}.\32xl\:focus\:ring-offset-yellow-500:focus{--tw-ring-offset-color:#f59e0b}.\32xl\:focus\:ring-offset-yellow-600:focus{--tw-ring-offset-color:#d97706}.\32xl\:focus\:ring-offset-yellow-700:focus{--tw-ring-offset-color:#b45309}.\32xl\:focus\:ring-offset-yellow-800:focus{--tw-ring-offset-color:#92400e}.\32xl\:focus\:ring-offset-yellow-900:focus{--tw-ring-offset-color:#78350f}.\32xl\:focus\:ring-offset-green-50:focus{--tw-ring-offset-color:#ecfdf5}.\32xl\:focus\:ring-offset-green-100:focus{--tw-ring-offset-color:#d1fae5}.\32xl\:focus\:ring-offset-green-200:focus{--tw-ring-offset-color:#a7f3d0}.\32xl\:focus\:ring-offset-green-300:focus{--tw-ring-offset-color:#6ee7b7}.\32xl\:focus\:ring-offset-green-400:focus{--tw-ring-offset-color:#34d399}.\32xl\:focus\:ring-offset-green-500:focus{--tw-ring-offset-color:#10b981}.\32xl\:focus\:ring-offset-green-600:focus{--tw-ring-offset-color:#059669}.\32xl\:focus\:ring-offset-green-700:focus{--tw-ring-offset-color:#047857}.\32xl\:focus\:ring-offset-green-800:focus{--tw-ring-offset-color:#065f46}.\32xl\:focus\:ring-offset-green-900:focus{--tw-ring-offset-color:#064e3b}.\32xl\:focus\:ring-offset-blue-50:focus{--tw-ring-offset-color:#eff6ff}.\32xl\:focus\:ring-offset-blue-100:focus{--tw-ring-offset-color:#dbeafe}.\32xl\:focus\:ring-offset-blue-200:focus{--tw-ring-offset-color:#bfdbfe}.\32xl\:focus\:ring-offset-blue-300:focus{--tw-ring-offset-color:#93c5fd}.\32xl\:focus\:ring-offset-blue-400:focus{--tw-ring-offset-color:#60a5fa}.\32xl\:focus\:ring-offset-blue-500:focus{--tw-ring-offset-color:#3b82f6}.\32xl\:focus\:ring-offset-blue-600:focus{--tw-ring-offset-color:#2563eb}.\32xl\:focus\:ring-offset-blue-700:focus{--tw-ring-offset-color:#1d4ed8}.\32xl\:focus\:ring-offset-blue-800:focus{--tw-ring-offset-color:#1e40af}.\32xl\:focus\:ring-offset-blue-900:focus{--tw-ring-offset-color:#1e3a8a}.\32xl\:focus\:ring-offset-indigo-50:focus{--tw-ring-offset-color:#eef2ff}.\32xl\:focus\:ring-offset-indigo-100:focus{--tw-ring-offset-color:#e0e7ff}.\32xl\:focus\:ring-offset-indigo-200:focus{--tw-ring-offset-color:#c7d2fe}.\32xl\:focus\:ring-offset-indigo-300:focus{--tw-ring-offset-color:#a5b4fc}.\32xl\:focus\:ring-offset-indigo-400:focus{--tw-ring-offset-color:#818cf8}.\32xl\:focus\:ring-offset-indigo-500:focus{--tw-ring-offset-color:#6366f1}.\32xl\:focus\:ring-offset-indigo-600:focus{--tw-ring-offset-color:#4f46e5}.\32xl\:focus\:ring-offset-indigo-700:focus{--tw-ring-offset-color:#4338ca}.\32xl\:focus\:ring-offset-indigo-800:focus{--tw-ring-offset-color:#3730a3}.\32xl\:focus\:ring-offset-indigo-900:focus{--tw-ring-offset-color:#312e81}.\32xl\:focus\:ring-offset-purple-50:focus{--tw-ring-offset-color:#f5f3ff}.\32xl\:focus\:ring-offset-purple-100:focus{--tw-ring-offset-color:#ede9fe}.\32xl\:focus\:ring-offset-purple-200:focus{--tw-ring-offset-color:#ddd6fe}.\32xl\:focus\:ring-offset-purple-300:focus{--tw-ring-offset-color:#c4b5fd}.\32xl\:focus\:ring-offset-purple-400:focus{--tw-ring-offset-color:#a78bfa}.\32xl\:focus\:ring-offset-purple-500:focus{--tw-ring-offset-color:#8b5cf6}.\32xl\:focus\:ring-offset-purple-600:focus{--tw-ring-offset-color:#7c3aed}.\32xl\:focus\:ring-offset-purple-700:focus{--tw-ring-offset-color:#6d28d9}.\32xl\:focus\:ring-offset-purple-800:focus{--tw-ring-offset-color:#5b21b6}.\32xl\:focus\:ring-offset-purple-900:focus{--tw-ring-offset-color:#4c1d95}.\32xl\:focus\:ring-offset-pink-50:focus{--tw-ring-offset-color:#fdf2f8}.\32xl\:focus\:ring-offset-pink-100:focus{--tw-ring-offset-color:#fce7f3}.\32xl\:focus\:ring-offset-pink-200:focus{--tw-ring-offset-color:#fbcfe8}.\32xl\:focus\:ring-offset-pink-300:focus{--tw-ring-offset-color:#f9a8d4}.\32xl\:focus\:ring-offset-pink-400:focus{--tw-ring-offset-color:#f472b6}.\32xl\:focus\:ring-offset-pink-500:focus{--tw-ring-offset-color:#ec4899}.\32xl\:focus\:ring-offset-pink-600:focus{--tw-ring-offset-color:#db2777}.\32xl\:focus\:ring-offset-pink-700:focus{--tw-ring-offset-color:#be185d}.\32xl\:focus\:ring-offset-pink-800:focus{--tw-ring-offset-color:#9d174d}.\32xl\:focus\:ring-offset-pink-900:focus{--tw-ring-offset-color:#831843}.\32xl\:filter{--tw-blur:var(--tw-empty, );/*!*//*!*/--tw-brightness:var(--tw-empty, );/*!*//*!*/--tw-contrast:var(--tw-empty, );/*!*//*!*/--tw-grayscale:var(--tw-empty, );/*!*//*!*/--tw-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-invert:var(--tw-empty, );/*!*//*!*/--tw-saturate:var(--tw-empty, );/*!*//*!*/--tw-sepia:var(--tw-empty, );/*!*//*!*/--tw-drop-shadow:var(--tw-empty, );/*!*//*!*/filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\32xl\:filter-none{filter:none}.\32xl\:blur-0{--tw-blur:blur(0)}.\32xl\:blur-none{--tw-blur:blur(0)}.\32xl\:blur-sm{--tw-blur:blur(4px)}.\32xl\:blur{--tw-blur:blur(8px)}.\32xl\:blur-md{--tw-blur:blur(12px)}.\32xl\:blur-lg{--tw-blur:blur(16px)}.\32xl\:blur-xl{--tw-blur:blur(24px)}.\32xl\:blur-2xl{--tw-blur:blur(40px)}.\32xl\:blur-3xl{--tw-blur:blur(64px)}.\32xl\:brightness-0{--tw-brightness:brightness(0)}.\32xl\:brightness-50{--tw-brightness:brightness(.5)}.\32xl\:brightness-75{--tw-brightness:brightness(.75)}.\32xl\:brightness-90{--tw-brightness:brightness(.9)}.\32xl\:brightness-95{--tw-brightness:brightness(.95)}.\32xl\:brightness-100{--tw-brightness:brightness(1)}.\32xl\:brightness-105{--tw-brightness:brightness(1.05)}.\32xl\:brightness-110{--tw-brightness:brightness(1.1)}.\32xl\:brightness-125{--tw-brightness:brightness(1.25)}.\32xl\:brightness-150{--tw-brightness:brightness(1.5)}.\32xl\:brightness-200{--tw-brightness:brightness(2)}.\32xl\:contrast-0{--tw-contrast:contrast(0)}.\32xl\:contrast-50{--tw-contrast:contrast(.5)}.\32xl\:contrast-75{--tw-contrast:contrast(.75)}.\32xl\:contrast-100{--tw-contrast:contrast(1)}.\32xl\:contrast-125{--tw-contrast:contrast(1.25)}.\32xl\:contrast-150{--tw-contrast:contrast(1.5)}.\32xl\:contrast-200{--tw-contrast:contrast(2)}.\32xl\:drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,0.05))}.\32xl\:drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06))}.\32xl\:drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.\32xl\:drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1))}.\32xl\:drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0, 0, 0, 0.03)) drop-shadow(0 8px 5px rgba(0, 0, 0, 0.08))}.\32xl\:drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15))}.\32xl\:drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.\32xl\:grayscale-0{--tw-grayscale:grayscale(0)}.\32xl\:grayscale{--tw-grayscale:grayscale(100%)}.\32xl\:hue-rotate-0{--tw-hue-rotate:hue-rotate(0deg)}.\32xl\:hue-rotate-15{--tw-hue-rotate:hue-rotate(15deg)}.\32xl\:hue-rotate-30{--tw-hue-rotate:hue-rotate(30deg)}.\32xl\:hue-rotate-60{--tw-hue-rotate:hue-rotate(60deg)}.\32xl\:hue-rotate-90{--tw-hue-rotate:hue-rotate(90deg)}.\32xl\:hue-rotate-180{--tw-hue-rotate:hue-rotate(180deg)}.\32xl\:-hue-rotate-180{--tw-hue-rotate:hue-rotate(-180deg)}.\32xl\:-hue-rotate-90{--tw-hue-rotate:hue-rotate(-90deg)}.\32xl\:-hue-rotate-60{--tw-hue-rotate:hue-rotate(-60deg)}.\32xl\:-hue-rotate-30{--tw-hue-rotate:hue-rotate(-30deg)}.\32xl\:-hue-rotate-15{--tw-hue-rotate:hue-rotate(-15deg)}.\32xl\:invert-0{--tw-invert:invert(0)}.\32xl\:invert{--tw-invert:invert(100%)}.\32xl\:saturate-0{--tw-saturate:saturate(0)}.\32xl\:saturate-50{--tw-saturate:saturate(.5)}.\32xl\:saturate-100{--tw-saturate:saturate(1)}.\32xl\:saturate-150{--tw-saturate:saturate(1.5)}.\32xl\:saturate-200{--tw-saturate:saturate(2)}.\32xl\:sepia-0{--tw-sepia:sepia(0)}.\32xl\:sepia{--tw-sepia:sepia(100%)}.\32xl\:backdrop-filter{--tw-backdrop-blur:var(--tw-empty, );/*!*//*!*/--tw-backdrop-brightness:var(--tw-empty, );/*!*//*!*/--tw-backdrop-contrast:var(--tw-empty, );/*!*//*!*/--tw-backdrop-grayscale:var(--tw-empty, );/*!*//*!*/--tw-backdrop-hue-rotate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-invert:var(--tw-empty, );/*!*//*!*/--tw-backdrop-opacity:var(--tw-empty, );/*!*//*!*/--tw-backdrop-saturate:var(--tw-empty, );/*!*//*!*/--tw-backdrop-sepia:var(--tw-empty, );/*!*//*!*/-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\32xl\:backdrop-filter-none{-webkit-backdrop-filter:none;backdrop-filter:none}.\32xl\:backdrop-blur-0{--tw-backdrop-blur:blur(0)}.\32xl\:backdrop-blur-none{--tw-backdrop-blur:blur(0)}.\32xl\:backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.\32xl\:backdrop-blur{--tw-backdrop-blur:blur(8px)}.\32xl\:backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.\32xl\:backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.\32xl\:backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.\32xl\:backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.\32xl\:backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.\32xl\:backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.\32xl\:backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.\32xl\:backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.\32xl\:backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.\32xl\:backdrop-brightness-95{--tw-backdrop-brightness:brightness(.95)}.\32xl\:backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.\32xl\:backdrop-brightness-105{--tw-backdrop-brightness:brightness(1.05)}.\32xl\:backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.\32xl\:backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}.\32xl\:backdrop-brightness-150{--tw-backdrop-brightness:brightness(1.5)}.\32xl\:backdrop-brightness-200{--tw-backdrop-brightness:brightness(2)}.\32xl\:backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.\32xl\:backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.\32xl\:backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.\32xl\:backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.\32xl\:backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}.\32xl\:backdrop-contrast-150{--tw-backdrop-contrast:contrast(1.5)}.\32xl\:backdrop-contrast-200{--tw-backdrop-contrast:contrast(2)}.\32xl\:backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.\32xl\:backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.\32xl\:backdrop-hue-rotate-0{--tw-backdrop-hue-rotate:hue-rotate(0deg)}.\32xl\:backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(15deg)}.\32xl\:backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(30deg)}.\32xl\:backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(60deg)}.\32xl\:backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(90deg)}.\32xl\:backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(180deg)}.\32xl\:-backdrop-hue-rotate-180{--tw-backdrop-hue-rotate:hue-rotate(-180deg)}.\32xl\:-backdrop-hue-rotate-90{--tw-backdrop-hue-rotate:hue-rotate(-90deg)}.\32xl\:-backdrop-hue-rotate-60{--tw-backdrop-hue-rotate:hue-rotate(-60deg)}.\32xl\:-backdrop-hue-rotate-30{--tw-backdrop-hue-rotate:hue-rotate(-30deg)}.\32xl\:-backdrop-hue-rotate-15{--tw-backdrop-hue-rotate:hue-rotate(-15deg)}.\32xl\:backdrop-invert-0{--tw-backdrop-invert:invert(0)}.\32xl\:backdrop-invert{--tw-backdrop-invert:invert(100%)}.\32xl\:backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.\32xl\:backdrop-opacity-5{--tw-backdrop-opacity:opacity(0.05)}.\32xl\:backdrop-opacity-10{--tw-backdrop-opacity:opacity(0.1)}.\32xl\:backdrop-opacity-20{--tw-backdrop-opacity:opacity(0.2)}.\32xl\:backdrop-opacity-25{--tw-backdrop-opacity:opacity(0.25)}.\32xl\:backdrop-opacity-30{--tw-backdrop-opacity:opacity(0.3)}.\32xl\:backdrop-opacity-40{--tw-backdrop-opacity:opacity(0.4)}.\32xl\:backdrop-opacity-50{--tw-backdrop-opacity:opacity(0.5)}.\32xl\:backdrop-opacity-60{--tw-backdrop-opacity:opacity(0.6)}.\32xl\:backdrop-opacity-70{--tw-backdrop-opacity:opacity(0.7)}.\32xl\:backdrop-opacity-75{--tw-backdrop-opacity:opacity(0.75)}.\32xl\:backdrop-opacity-80{--tw-backdrop-opacity:opacity(0.8)}.\32xl\:backdrop-opacity-90{--tw-backdrop-opacity:opacity(0.9)}.\32xl\:backdrop-opacity-95{--tw-backdrop-opacity:opacity(0.95)}.\32xl\:backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}.\32xl\:backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.\32xl\:backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.\32xl\:backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.\32xl\:backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.\32xl\:backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}.\32xl\:backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.\32xl\:backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.\32xl\:transition-none{transition-property:none}.\32xl\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.\32xl\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.\32xl\:transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.\32xl\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.\32xl\:transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.\32xl\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.\32xl\:delay-75{transition-delay:75ms}.\32xl\:delay-100{transition-delay:0.1s}.\32xl\:delay-150{transition-delay:150ms}.\32xl\:delay-200{transition-delay:0.2s}.\32xl\:delay-300{transition-delay:0.3s}.\32xl\:delay-500{transition-delay:0.5s}.\32xl\:delay-700{transition-delay:0.7s}.\32xl\:delay-1000{transition-delay:1s}.\32xl\:duration-75{transition-duration:75ms}.\32xl\:duration-100{transition-duration:.1s}.\32xl\:duration-150{transition-duration:150ms}.\32xl\:duration-200{transition-duration:.2s}.\32xl\:duration-300{transition-duration:.3s}.\32xl\:duration-500{transition-duration:.5s}.\32xl\:duration-700{transition-duration:.7s}.\32xl\:duration-1000{transition-duration:1s}.\32xl\:ease-linear{transition-timing-function:linear}.\32xl\:ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.\32xl\:ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.\32xl\:ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}} \ No newline at end of file diff --git a/web/pryzes/PrYzes/src/static/img/prizes.jpg b/web/pryzes/PrYzes/src/static/img/prizes.jpg new file mode 100644 index 0000000..12d49dd Binary files /dev/null and b/web/pryzes/PrYzes/src/static/img/prizes.jpg differ diff --git a/web/pryzes/PrYzes/src/static/js/brython.min.js b/web/pryzes/PrYzes/src/static/js/brython.min.js new file mode 100644 index 0000000..2e9ebf1 --- /dev/null +++ b/web/pryzes/PrYzes/src/static/js/brython.min.js @@ -0,0 +1 @@ +var __BRYTHON__=globalThis.__BRYTHON__||{};try{eval("async function* f(){}")}catch(err){console.warn("Your browser is not fully supported. If you are using "+"Microsoft Edge, please upgrade to the latest version")}(function($B){$B.isWebWorker="undefined"!==typeof WorkerGlobalScope&&"function"===typeof importScripts&&navigator instanceof WorkerNavigator;$B.isNode=typeof process!=="undefined"&&process.release.name==="node"&&process.__nwjs!==1;var _window=globalThis;_window.location||={href:"",origin:"",pathname:""};_window.navigator||={userLanguage:""};_window.document||={getElementsByTagName:()=>[{src:"http://localhost/"}],currentScript:{src:"http://localhost/"},querySelectorAll:()=>[]};_window.HTMLElement||=class HTMLElement{};_window.MutationObserver||=function(){this.observe=()=>{}};_window.customElements||={define:()=>{}};var href=_window.location.href;$B.protocol=href.split(":")[0];$B.BigInt=_window.BigInt;$B.indexedDB=_window.indexedDB;if($B.brython_path===undefined){var this_url;if($B.isWebWorker){this_url=_window.location.href;if(this_url.startsWith("blob:")){this_url=this_url.substr(5)}}else{this_url=document.currentScript.src}var elts=this_url.split("/");elts.pop();$B.brython_path=elts.join("/")+"/"}else{if(!$B.brython_path.endsWith("/")){$B.brython_path+="/"}}var parts_re=new RegExp("(.*?)://(.*?)/(.*)"),mo=parts_re.exec($B.brython_path);if(mo){$B.full_url={protocol:mo[1],host:mo[2],address:mo[3]};if(["http","https"].includes(mo[1])){$B.domain=mo[1]+"://"+mo[2]}}var path=_window.location.origin+_window.location.pathname,path_elts=path.split("/");path_elts.pop();$B.script_dir=path_elts.join("/");mo=parts_re.exec($B.script_dir);if(mo){if(["http","https"].includes(mo[1])){$B.script_domain=mo[1]+"://"+mo[2]}}else{var parts_re_root=new RegExp("(.*?)://(.*?)"),mo=parts_re_root.exec($B.script_dir);if(mo&&["http","https"].includes(mo[1])){$B.script_domain=$B.script_dir}}$B.strip_host=function(url){var parts_re=new RegExp("(.*?)://([^/]*)?[/#]?(.*)"),mo=parts_re.exec(url);if(mo){return mo[3]}console.log(Error().stack);throw Error("not a url: "+url)};$B.__ARGV=[];$B.webworkers={};$B.file_cache={};$B.url2name={};$B.scripts={};$B.import_info={};$B.imported={};$B.precompiled={};$B.frame_obj=null;$B.builtins=Object.create(null);$B.builtins_scope={id:"__builtins__",module:"__builtins__",binding:{}};$B.builtin_funcs={};$B.builtin_classes=[];$B.__getattr__=function(attr){return this[attr]};$B.__setattr__=function(attr,value){if(["debug","stdout","stderr"].indexOf(attr)>-1){$B[attr]=value}else{throw $B.builtins.AttributeError.$factory("__BRYTHON__ object has no attribute "+attr)}};$B.language=_window.navigator.userLanguage||_window.navigator.language;$B.locale="C";var date=new Date;var formatter=new Intl.DateTimeFormat($B.language,{timeZoneName:"short"}),short=formatter.format(date);formatter=new Intl.DateTimeFormat($B.language,{timeZoneName:"long"});var long=formatter.format(date);var ix=0,minlen=Math.min(short.length,long.length);while(ix>":"rshift","+":"add","-":"sub","*":"mul","/":"truediv","%":"mod","@":"matmul"},augmented_assigns:{"//=":"ifloordiv",">>=":"irshift","<<=":"ilshift","**=":"ipow","+=":"iadd","-=":"isub","*=":"imul","/=":"itruediv","%=":"imod","&=":"iand","|=":"ior","^=":"ixor","@=":"imatmul"},binary:{"&":"and","|":"or","~":"invert","^":"xor"},comparisons:{"<":"lt",">":"gt","<=":"le",">=":"ge","==":"eq","!=":"ne"},boolean:{or:"or",and:"and",in:"in",not:"not",is:"is"},subset:function(){var res={},keys=[];if(arguments[0]=="all"){keys=Object.keys($B.op2method);keys.splice(keys.indexOf("subset"),1)}else{for(var arg of arguments){keys.push(arg)}}for(var key of keys){var ops=$B.op2method[key];if(ops===undefined){throw Error(key)}for(var attr in ops){res[attr]=ops[attr]}}return res}};$B.method_to_op={};for(var category in $B.op2method){for(var op in $B.op2method[category]){var method=`__${$B.op2method[category][op]}__`;$B.method_to_op[method]=op}}$B.special_string_repr={8:"\\x08",9:"\\t",10:"\\n",11:"\\x0b",12:"\\x0c",13:"\\r",92:"\\\\",160:"\\xa0"};$B.$py_next_hash=Math.pow(2,53)-1;$B.$py_UUID=Math.floor(Math.random()*2**50);$B.lambda_magic=Math.random().toString(36).substr(2,8);$B.set_func_names=function(klass,module){for(var attr in klass){if(typeof klass[attr]=="function"){klass[attr].$infos={__doc__:klass[attr].__doc__||"",__module__:module,__qualname__:klass.__qualname__+"."+attr,__name__:attr};if(klass[attr].$type=="classmethod"){klass[attr].__class__=$B.method}}}klass.__module__=module};var has_storage=typeof Storage!=="undefined";if(has_storage){$B.has_local_storage=false;try{if(localStorage){$B.local_storage=localStorage;$B.has_local_storage=true}}catch(err){}$B.has_session_storage=false;try{if(sessionStorage){$B.session_storage=sessionStorage;$B.has_session_storage=true}}catch(err){}}else{$B.has_local_storage=false;$B.has_session_storage=false}$B.globals=function(){return $B.frame_obj.frame[3]};$B.scripts={};$B.$options={};$B.builtins_repr_check=function(builtin,args){var $=$B.args("__repr__",1,{self:null},["self"],args,{},null,null),self=$.self;if(!$B.$isinstance(self,builtin)){console.log("builtins repr check, self",self,"self.__class__",self.__class__,"builtin",builtin);var _b_=$B.builtins;throw _b_.TypeError.$factory("descriptor '__repr__' requires a "+`'${builtin.__name__}' object but received a `+`'${$B.class_name(self)}'`)}};$B.update_VFS=function(scripts){$B.VFS=$B.VFS||{};var vfs_timestamp=scripts.$timestamp;if(vfs_timestamp!==undefined){delete scripts.$timestamp}for(var script in scripts){if($B.VFS.hasOwnProperty(script)){console.warn("Virtual File System: duplicate entry "+script)}$B.VFS[script]=scripts[script];$B.VFS[script].timestamp=vfs_timestamp}$B.stdlib_module_names=Object.keys($B.VFS)};$B.add_files=function(files){$B.files=$B.files||{};for(var file in files){$B.files[file]=files[file]}};$B.has_file=function(file){return $B.files&&$B.files.hasOwnProperty(file)};$B.show_tokens=function(src,mode){for(var token of $B.tokenizer(src,"",mode||"file")){console.log(token.type,$B.builtins.repr(token.string),token.start,token.end,token.line)}};function from_py(src,script_id){if(!$B.options_parsed){$B.parse_options()}script_id=script_id||"python_script_"+$B.UUID();var filename=$B.script_path+"#"+script_id;$B.url2name[filename]=script_id;$B.imported[script_id]={};var root=__BRYTHON__.py2js({src:src,filename:filename},script_id,script_id,__BRYTHON__.builtins_scope);return root.to_js()}$B.getPythonModule=function(name){return $B.imported[name]};$B.python_to_js=function(src,script_id){return"(function() {\n"+from_py(src,script_id)+"\nreturn locals}())"};$B.pythonToJS=$B.python_to_js;var fakeScript=$B.fakeScript=function(filename){this.options={}};fakeScript.prototype.getAttribute=function(key){return this.options[key]??null};fakeScript.prototype.dispatchEvent=function(){};$B.runPythonSource=function(src,options){var script_id;if(options){if(typeof options=="string"){script_id=options}else if(options.constructor===Object){if(options.hasOwnProperty("id")){script_id=options.id;delete options.id}}else{console.debug("invalid options argument:",options)}}var script=new fakeScript,url=$B.script_path=globalThis.location.href.split("#")[0];if(options){for(var[key,value]of Object.entries(options)){script.options[key]=value}}script_id=script_id??"python_script_"+$B.UUID();$B.run_script(script,src,script_id,url,true);return $B.imported[script_id]}})(__BRYTHON__);__BRYTHON__.ast_classes={Add:"",And:"",AnnAssign:"target,annotation,value?,simple",Assert:"test,msg?",Assign:"targets*,value,type_comment?",AsyncFor:"target,iter,body*,orelse*,type_comment?",AsyncFunctionDef:"name,args,body*,decorator_list*,returns?,type_comment?,type_params*",AsyncWith:"items*,body*,type_comment?",Attribute:"value,attr,ctx",AugAssign:"target,op,value",Await:"value",BinOp:"left,op,right",BitAnd:"",BitOr:"",BitXor:"",BoolOp:"op,values*",Break:"",Call:"func,args*,keywords*",ClassDef:"name,bases*,keywords*,body*,decorator_list*,type_params*",Compare:"left,ops*,comparators*",Constant:"value,kind?",Continue:"",Del:"",Delete:"targets*",Dict:"keys*,values*",DictComp:"key,value,generators*",Div:"",Eq:"",ExceptHandler:"type?,name?,body*",Expr:"value",Expression:"body",FloorDiv:"",For:"target,iter,body*,orelse*,type_comment?",FormattedValue:"value,conversion,format_spec?",FunctionDef:"name,args,body*,decorator_list*,returns?,type_comment?,type_params*",FunctionType:"argtypes*,returns",GeneratorExp:"elt,generators*",Global:"names*",Gt:"",GtE:"",If:"test,body*,orelse*",IfExp:"test,body,orelse",Import:"names*",ImportFrom:"module?,names*,level?",In:"",Interactive:"body*",Invert:"",Is:"",IsNot:"",JoinedStr:"values*",LShift:"",Lambda:"args,body",List:"elts*,ctx",ListComp:"elt,generators*",Load:"",Lt:"",LtE:"",MatMult:"",Match:"subject,cases*",MatchAs:"pattern?,name?",MatchClass:"cls,patterns*,kwd_attrs*,kwd_patterns*",MatchMapping:"keys*,patterns*,rest?",MatchOr:"patterns*",MatchSequence:"patterns*",MatchSingleton:"value",MatchStar:"name?",MatchValue:"value",Mod:"",Module:"body*,type_ignores*",Mult:"",Name:"id,ctx",NamedExpr:"target,value",Nonlocal:"names*",Not:"",NotEq:"",NotIn:"",Or:"",ParamSpec:"name",Pass:"",Pow:"",RShift:"",Raise:"exc?,cause?",Return:"value?",Set:"elts*",SetComp:"elt,generators*",Slice:"lower?,upper?,step?",Starred:"value,ctx",Store:"",Sub:"",Subscript:"value,slice,ctx",Try:"body*,handlers*,orelse*,finalbody*",TryStar:"body*,handlers*,orelse*,finalbody*",Tuple:"elts*,ctx",TypeAlias:"name,type_params*,value",TypeIgnore:"lineno,tag",TypeVar:"name,bound?",TypeVarTuple:"name",UAdd:"",USub:"",UnaryOp:"op,operand",While:"test,body*,orelse*",With:"items*,body*,type_comment?",Yield:"value?",YieldFrom:"value",alias:"name,asname?",arg:"arg,annotation?,type_comment?",arguments:"posonlyargs*,args*,vararg?,kwonlyargs*,kw_defaults*,kwarg?,defaults*",boolop:["And","Or"],cmpop:["Eq","NotEq","Lt","LtE","Gt","GtE","Is","IsNot","In","NotIn"],comprehension:"target,iter,ifs*,is_async",excepthandler:["ExceptHandler"],expr:["BoolOp","NamedExpr","BinOp","UnaryOp","Lambda","IfExp","Dict","Set","ListComp","SetComp","DictComp","GeneratorExp","Await","Yield","YieldFrom","Compare","Call","FormattedValue","JoinedStr","Constant","Attribute","Subscript","Starred","Name","List","Tuple","Slice"],expr_context:["Load","Store","Del"],keyword:"arg?,value",match_case:"pattern,guard?,body*",mod:["Module","Interactive","Expression","FunctionType"],operator:["Add","Sub","Mult","MatMult","Div","Mod","Pow","LShift","RShift","BitOr","BitXor","BitAnd","FloorDiv"],pattern:["MatchValue","MatchSingleton","MatchSequence","MatchMapping","MatchClass","MatchStar","MatchAs","MatchOr"],stmt:["FunctionDef","AsyncFunctionDef","ClassDef","Return","Delete","Assign","TypeAlias","AugAssign","AnnAssign","For","AsyncFor","While","If","With","AsyncWith","Match","Raise","Try","TryStar","Assert","Import","ImportFrom","Global","Nonlocal","Expr","Pass","Break","Continue"],type_ignore:["TypeIgnore"],type_param:["TypeVar","ParamSpec","TypeVarTuple"],unaryop:["Invert","Not","UAdd","USub"],withitem:"context_expr,optional_vars?"};(function($B){$B.stdlib={};var pylist=["VFS_import","__future__","_aio","_codecs","_codecs_jp","_collections","_collections_abc","_compat_pickle","_compression","_contextvars","_csv","_dummy_thread","_frozen_importlib","_functools","_imp","_io","_markupbase","_multibytecodec","_operator","_py_abc","_pydatetime","_pydecimal","_queue","_signal","_socket","_sre","_struct","_sysconfigdata","_sysconfigdata_0_brython_","_testcapi","_thread","_threading_local","_typing","_weakref","_weakrefset","abc","antigravity","argparse","ast","asyncio","atexit","base64","bdb","binascii","bisect","browser.ajax","browser.highlight","browser.idbcache","browser.indexed_db","browser.local_storage","browser.markdown","browser.object_storage","browser.session_storage","browser.svg","browser.template","browser.timer","browser.ui","browser.webcomponent","browser.websocket","browser.worker","calendar","cmath","cmd","code","codecs","codeop","colorsys","configparser","contextlib","contextvars","copy","copyreg","csv","dataclasses","datetime","decimal","difflib","doctest","enum","errno","external_import","faulthandler","fnmatch","formatter","fractions","functools","gc","genericpath","getopt","getpass","gettext","glob","gzip","heapq","hmac","imp","inspect","interpreter","io","ipaddress","itertools","keyword","linecache","locale","mimetypes","nntplib","ntpath","numbers","opcode","operator","optparse","os","pathlib","pdb","pickle","pkgutil","platform","posixpath","pprint","profile","pwd","py_compile","pyclbr","pydoc","queue","quopri","random","re","re1","reprlib","secrets","select","selectors","shlex","shutil","signal","site","site-packages.__future__","site-packages.docs","site-packages.header","site-packages.test_sp","socket","sre_compile","sre_constants","sre_parse","stat","statistics","string","stringprep","struct","subprocess","symtable","sys","sysconfig","tabnanny","tarfile","tb","tempfile","test.namespace_pkgs.module_and_namespace_package.a_test","textwrap","this","threading","time","timeit","token","tokenize","traceback","turtle","types","typing","uu","uuid","warnings","weakref","webbrowser","zipfile","zipimport","zlib"];for(var i=0;i":"RARROW",".":"DOT","...":"ELLIPSIS","/":"SLASH","//":"DOUBLESLASH","//=":"DOUBLESLASHEQUAL","/=":"SLASHEQUAL",":":"COLON",":=":"COLONEQUAL",";":"SEMI","<":"LESS","<<":"LEFTSHIFT","<<=":"LEFTSHIFTEQUAL","<=":"LESSEQUAL","=":"EQUAL","==":"EQEQUAL",">":"GREATER",">=":"GREATEREQUAL",">>":"RIGHTSHIFT",">>=":"RIGHTSHIFTEQUAL","@":"AT","@=":"ATEQUAL","[":"LSQB","]":"RSQB","^":"CIRCUMFLEX","^=":"CIRCUMFLEXEQUAL","{":"LBRACE","|":"VBAR","|=":"VBAREQUAL","}":"RBRACE","~":"TILDE"};function ISTERMINAL(x){return x=NT_OFFSET}function ISEOF(x){return x==ENDMARKER}})(__BRYTHON__);(function($B){var _b_=$B.builtins;function is_whitespace(char){return" \n\r\t\f".includes(char)}var unprintable_re=/\p{Cc}|\p{Cf}|\p{Co}|\p{Cs}|\p{Zl}|\p{Zp}|\p{Zs}/u;const Other_ID_Start=[6277,6278,8472,8494,12443,12444].map((x=>String.fromCodePoint(x)));function is_ID_Start(char){return/\p{Letter}/u.test(char)||/\p{Nl}/u.test(char)||char=="_"||Other_ID_Start.includes(char)}const Other_ID_Continue=[183,903,4969,4976,4977,6618,8204,8205,12539,65381].map((x=>String.fromCodePoint(x)));function is_ID_Continue(char){return is_ID_Start(char)||/\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}/u.test(char)||Other_ID_Continue.includes(char)}$B.is_XID_Start=function(cp){let char=String.fromCodePoint(cp);if(!is_ID_Start(char)){return false}var norm=char.normalize("NFKC");if(!is_ID_Start(norm[0])){return false}for(let char of norm.substr(1)){if(!is_ID_Continue(char)){return false}}return true};$B.is_XID_Continue=function(cp){let char=String.fromCodePoint(cp);if(!is_ID_Continue(char)){return false}var norm=char.normalize("NFKC");for(let char of norm.substr(1)){if(!is_ID_Continue(char)){return false}}return true};$B.in_unicode_category=function(category,cp){if(isNaN(cp)){return false}try{var re=new RegExp("\\p{"+category+"}","u");return re.test(String.fromCodePoint(cp))}catch(err){return in_unicode_category(category,cp)}};function in_unicode_category(category,cp){var table=$B.unicode[category],start=0,end=table.length-1,len=table.length,ix=Math.floor(len/2),nb=0;var first=table[start],item=typeof first=="number"?first:first[0];if(cplast){return false}}else if(last[0]+last[1]100){console.log("infinite loop for",cp);alert()}item=table[ix];if(typeof item!="number"){item=item[0]}if(item==cp){return true}else if(item>cp){end=ix}else{start=ix}len=Math.floor((end-start)/2);if(end-start==1){break}ix=start+len}var step=table[start][2];if(step===undefined){return table[start][0]+table[start][1]>cp}return table[start][0]+step*table[start][1]>cp&&(cp-table[start][0])%step==0}const FSTRING_START="FSTRING_START",FSTRING_MIDDLE="FSTRING_MIDDLE",FSTRING_END="FSTRING_END";function ord(char){if(char.length==1){return char.charCodeAt(0)}var code=65536;code+=(char.charCodeAt(0)&1023)<<10;code+=char.charCodeAt(1)&1023;return code}function $last(array){return array[array.length-1]}var ops=".,:;+-*/%~^|&=<>[](){}@",op2=["**","//",">>","<<"],augm_op="+-*/%^|&=<>@",closing={"}":"{","]":"[",")":"("};function Token(type,string,lineno,col_offset,end_lineno,end_col_offset,line){var res={type:type,string:string,line:line,lineno:lineno,col_offset:col_offset,end_lineno:end_lineno,end_col_offset:end_col_offset};res.num_type=$B.py_tokens[type];if(type=="OP"){res.num_type=$B.py_tokens[$B.EXACT_TOKEN_TYPES[string]]}else if(type=="NAME"&&["async","await"].includes(string)){res.num_type=$B.py_tokens[string.toUpperCase()]}else if(type=="ENCODING"){res.num_type=$B.py_tokens.ENCODING}res.bytes=res.string;return res}function get_comment(parser,src,pos,line_num,line_start,token_name,line){var start=pos,ix;var t=[];while(true){if(pos>=src.length||(ix="\r\n".indexOf(src[pos]))>-1){if(parser&&parser.flags&$B.PyCF_TYPE_COMMENTS){var comment=src.substring(start-1,pos),mo=/^#\s*type\s*:(.*)/.exec(comment);if(mo){var is_type_ignore=false;if(mo[1].startsWith("ignore")){if(mo[1].length==6){is_type_ignore=true}else{var char=mo[1][6];if(char.charCodeAt(0)<=128&&/[a-zA-Z0-9]/.exec(char)===null){is_type_ignore=true}}}if(is_type_ignore){t.push(Token("TYPE_IGNORE",comment,line_num,start-line_start,line_num,pos-line_start+1,line))}else{t.push(Token("TYPE_COMMENT",comment,line_num,start-line_start,line_num,pos-line_start+1,line))}return{t:t,pos:pos}}}t.push(Token("COMMENT",src.substring(start-1,pos),line_num,start-line_start,line_num,pos-line_start+1,line));if(ix!==undefined){var nb=1;if(src[pos]=="\r"&&src[pos+1]=="\n"){nb++}else if(src[pos]===undefined){nb=0}t.push(Token(token_name,src.substr(pos,nb),line_num,pos-line_start+1,line_num,pos-line_start+nb+1,line));if(src[pos]===undefined){t.push(Token("NEWLINE","\n",line_num,pos-line_start+1,line_num,pos-line_start+2,""))}pos+=nb}return{t:t,pos:pos}}pos++}}function test_num(num_type,char){switch(num_type){case"":return $B.in_unicode_category("Nd",ord(char));case"x":return"0123456789abcdef".includes(char.toLowerCase());case"b":return"01".includes(char);case"o":return"01234567".includes(char);default:throw Error("unknown num type "+num_type)}}function nesting_level(token_modes){var ix=token_modes.length-1;while(ix>=0){var mode=token_modes[ix];if(mode.nesting!==undefined){return mode.nesting}ix--}}$B.tokenizer=function*(src,filename,mode,parser){var string_prefix=/^(r|u|R|U|f|F|fr|Fr|fR|FR|rf|rF|Rf|RF)$/,bytes_prefix=/^(b|B|br|Br|bR|BR|rb|rB|Rb|RB)$/;src=src.replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(mode!="eval"&&!src.endsWith("\n")){src+="\n"}var lines=src.split("\n"),linenum=0,line_at={};for(let i=0,len=src.length;i=55296&&cp<=56319){cp=ord(src.substr(pos,2));char=src.substr(pos,2);pos++}pos++;if(token_mode!=save_mode){if(token_mode=="fstring"){fstring_buffer="";fstring_escape=false}else if(token_mode=="format_specifier"){format_specifier=""}}save_mode=token_mode;if(token_mode=="fstring"){if(char==token_mode.quote){if(fstring_escape){fstring_buffer+="\\"+char;fstring_escape=false;continue}if(token_mode.triple_quote){if(src.substr(pos,2)!=token_mode.quote.repeat(2)){fstring_buffer+=char;continue}char=token_mode.quote.repeat(3);pos+=2}if(fstring_buffer.length>0){yield Token(FSTRING_MIDDLE,fstring_buffer,line_num,fstring_start,line_num,fstring_start+fstring_buffer.length,line)}yield Token(FSTRING_END,char,line_num,pos,line_num,pos,line);token_modes.pop();token_mode=$B.last(token_modes);state=null;continue}else if(char=="{"){if(src.charAt(pos)=="{"){fstring_buffer+=char;pos++;continue}else{if(fstring_buffer.length>0){yield Token(FSTRING_MIDDLE,fstring_buffer,line_num,fstring_start,line_num,fstring_start+fstring_buffer.length,line)}token_mode="regular_within_fstring";fstring_expr_start=pos-line_start;state=null;token_modes.push(token_mode)}}else if(char=="}"){if(src.charAt(pos)=="}"){fstring_buffer+=char;pos++;continue}else{yield Token("OP",char,line_num,pos-line_start,line_num,pos-line_start+1,line);continue}}else if(char=="\\"){if(token_mode.raw){fstring_buffer+=char+char}else{if(fstring_escape){fstring_buffer+="\\"+char}fstring_escape=!fstring_escape}continue}else{if(fstring_escape){fstring_buffer+="\\"}fstring_buffer+=char;fstring_escape=false;if(char=="\n"){line_num++}continue}}else if(token_mode=="format_specifier"){if(char==quote){if(format_specifier.length>0){yield Token(FSTRING_MIDDLE,format_specifier,line_num,fstring_start,line_num,fstring_start+format_specifier.length,line);token_modes.pop();token_mode=$B.last(token_modes);continue}}else if(char=="{"){yield Token(FSTRING_MIDDLE,format_specifier,line_num,fstring_start,line_num,fstring_start+format_specifier.length,line);token_mode="regular_within_fstring";fstring_expr_start=pos-line_start;state=null;token_modes.push(token_mode)}else if(char=="}"){yield Token(FSTRING_MIDDLE,format_specifier,line_num,fstring_start,line_num,fstring_start+format_specifier.length,line);yield Token("OP",char,line_num,pos-line_start,line_num,pos-line_start+1,line);if(braces.length==0||$B.last(braces).char!=="{"){throw Error("wrong braces")}braces.pop();token_modes.pop();token_mode=$B.last(token_modes);continue}else{format_specifier+=char;continue}}switch(state){case"line_start":line=get_line_at(pos-1);line_start=pos;line_num++;if(mo=/^\f?(\r\n|\r|\n)/.exec(src.substr(pos-1))){yield Token("NL",mo[0],line_num,0,line_num,mo[0].length,line);pos+=mo[0].length-1;continue}else if(char=="#"){comment=get_comment(parser,src,pos,line_num,line_start,"NL",line);for(var item of comment.t){yield item}pos=comment.pos;state="line_start";continue}indent=0;if(char==" "){indent=1}else if(char=="\t"){indent=8}if(indent){var broken=false;while(pos0&&" \t".includes(src[pos])){console.log("indentation error 479");$B.raise_error_known_location(_b_.IndentationError,filename,line_num,pos-line_start,line_num,pos-line_start+1,line,"unindent does not match any outer indentation level")}if(src[pos]==" "){indent++}else if(src[pos]=="\t"){indent+=8}else if(src[pos]=="\\"&&src[pos+1]=="\n"){pos++;line_start=pos+2;line_num++;line=get_line_at(pos+2);broken=true}else{break}pos++}if(pos==src.length){line_num--;break}if(src[pos]=="#"){comment=get_comment(parser,src,pos+1,line_num,line_start,"NL",line);for(var item of comment.t){yield item}pos=comment.pos;continue}else if(src[pos]=="\\"){if(/^\f?(\r\n|\r|\n)/.exec(src[pos+1])){line_num++;pos++;continue}else{$B.raise_error_known_location(_b_.SyntaxError,filename,line_num,pos+2-line_start,line_num,pos+3-line_start,line,"unexpected character after line continuation character")}}else if(mo=/^\f?(\r\n|\r|\n)/.exec(src.substr(pos))){yield Token("NL","",line_num,pos-line_start+1,line_num,pos-line_start+1+mo[0].length,line);pos+=mo[0].length;continue}if(indents.length==0||indent>$last(indents)){indents.push(indent);yield Token("INDENT","",line_num,0,line_num,indent,line)}else if(indent<$last(indents)){var ix=indents.indexOf(indent);if(ix==-1){var message="unindent does not match "+"any outer indentation level";$B.raise_error_known_location(_b_.IndentationError,filename,line_num,0,line_num,0,line,message)}for(var i=indents.length-1;i>ix;i--){indents.pop();yield Token("DEDENT","",line_num,indent,line_num,indent,line)}}state=null}else{while(indents.length>0){indents.pop();yield Token("DEDENT","",line_num,indent,line_num,indent,line)}state=null;pos--}break;case null:switch(char){case'"':case"'":quote=char;triple_quote=src[pos]==char&&src[pos+1]==char;string_start=[line_num,pos-line_start,line_start];if(triple_quote){pos+=2}escaped=false;state="STRING";string="";prefix="";break;case"#":var token_name=braces.length>0?"NL":"NEWLINE";comment=get_comment(parser,src,pos,line_num,line_start,token_name,line);for(var item of comment.t){yield item}pos=comment.pos;if(braces.length==0){state="line_start"}else{state=null;line_num++;line_start=pos+1;line=get_line_at(pos)}break;case"0":state="NUMBER";number=char;num_type="";if(src[pos]&&"xbo".includes(src[pos].toLowerCase())){number+=src[pos];num_type=src[pos].toLowerCase();pos++}else if(src[pos]){var pos1=pos;while(pos1=3){yield Token("OP","...",line_num,dot_pos,line_num,dot_pos+3,line);op=op.substr(3)}for(var i=0;i0?"NL":"NEWLINE";mo=/^\f?(\r\n|\r|\n)/.exec(src.substr(pos-1));yield Token(token_name,mo[0],line_num,pos-line_start,line_num,pos-line_start+mo[0].length,line);pos+=mo[0].length-1;if(token_name=="NEWLINE"){state="line_start"}else{line_num++;line_start=pos+1;line=get_line_at(pos)}break;default:if($B.is_XID_Start(ord(char))){state="NAME";name=char}else if($B.in_unicode_category("Nd",ord(char))){state="NUMBER";num_type="";number=char}else if(ops.includes(char)){if(token_mode=="regular_within_fstring"&&(char==":"||char=="}")){if(char==":"){if(nesting_level(token_modes)==braces.length-1){let colon=Token("OP",char,line_num,pos-line_start-op.length+1,line_num,pos-line_start+1,line);colon.metadata=src.substr(line_start+fstring_expr_start,pos-line_start-fstring_expr_start-1);yield colon;token_modes.pop();token_mode="format_specifier";token_modes.push(token_mode);continue}}else{let closing_brace=Token("OP",char,line_num,pos-line_start-op.length+1,line_num,pos-line_start+1,line);closing_brace.metadata=src.substring(line_start+fstring_expr_start,pos-1);yield closing_brace;token_modes.pop();token_mode=token_modes[token_modes.length-1];if(braces.length==0||$B.last(braces).char!=="{"){throw Error("wrong braces")}braces.pop();continue}}var op=char;if(op2.includes(char+src[pos])){op=char+src[pos];pos++}if(src[pos]=="="&&(op.length==2||augm_op.includes(op))){op+=src[pos];pos++}else if(char=="-"&&src[pos]==">"||char==":"&&src[pos]=="="){op+=src[pos];pos++}if("[({".includes(char)){braces.push({char:char,pos:pos,line_num:line_num,line_start:line_start,line:line})}else if("])}".includes(char)){if(braces.length&&$last(braces).char==closing[char]){braces.pop()}else{braces.push({char:char,pos:pos,line_num:line_num,line_start:line_start,line:line})}}yield Token("OP",op,line_num,pos-line_start-op.length+1,line_num,pos-line_start+1,line)}else if(char=="!"){if(src[pos]=="="){yield Token("OP","!=",line_num,pos-line_start,line_num,pos-line_start+2,line);pos++}else{let token=Token("OP",char,line_num,pos-line_start,line_num,pos-line_start+1,line);token.metadata=src.substring(line_start+fstring_start+2,pos-1);yield token}}else if(char==" "||char=="\t"){}else{var cp=char.codePointAt(0),err_msg="invalid";if(unprintable_re.exec(char)){err_msg+=" non-printable"}var unicode=cp.toString(16).toUpperCase();while(unicode.length<4){unicode="0"+unicode}err_msg+=` character '${char}' (U+${unicode})`;if(char=="$"||char=="`"){err_msg="invalid syntax"}var err_token=Token("ERRORTOKEN",char,line_num,pos-line_start,line_num,pos-line_start+1,line);$B.raise_error_known_token(_b_.SyntaxError,filename,err_token,err_msg)}}break;case"NAME":if($B.is_XID_Continue(ord(char))){name+=char}else if(char=='"'||char=="'"){if(string_prefix.exec(name)||bytes_prefix.exec(name)){state="STRING";quote=char;triple_quote=src[pos]==quote&&src[pos+1]==quote;prefix=name;if(triple_quote){pos+=2}if(prefix.toLowerCase().includes("f")){fstring_start=pos-line_start-name.length;token_mode=new String("fstring");token_mode.nesting=braces.length;token_mode.quote=quote;token_mode.triple_quote=triple_quote;token_mode.raw=prefix.toLowerCase().includes("r");token_modes.push(token_mode);var s=triple_quote?quote.repeat(3):quote;var end_col=fstring_start+name.length+s.length;yield Token(FSTRING_START,prefix+s,line_num,fstring_start,line_num,end_col,line);continue}escaped=false;string_start=[line_num,pos-line_start-name.length,line_start];string=""}else{yield Token("NAME",name,line_num,pos-line_start-name.length,line_num,pos-line_start,line);state=null;pos--}}else{yield Token("NAME",name,line_num,pos-line_start-name.length,line_num,pos-line_start,line);state=null;pos--}break;case"STRING":switch(char){case quote:if(!escaped){var string_line=line;if(line_num>string_start[0]){string_line=src.substring(string_start[2]-1,pos+2)}var full_string;if(!triple_quote){full_string=prefix+quote+string+quote;yield Token("STRING",full_string,string_start[0],string_start[1],line_num,pos-line_start+1,string_line);state=null}else if(char+src.substr(pos,2)==quote.repeat(3)){full_string=prefix+quote.repeat(3)+string+quote.repeat(3);yield Token("STRING",full_string,string_start[0],string_start[1],line_num,pos-line_start+3,string_line);pos+=2;state=null}else{string+=char}}else{string+=char}escaped=false;break;case"\r":case"\n":if(!escaped&&!triple_quote){var msg=`unterminated string literal `+`(detected at line ${line_num})`,line_num=string_start[0],col_offset=string_start[1];$B.raise_error_known_location(_b_.SyntaxError,filename,line_num,col_offset,line_num,col_offset,line,msg)}string+=char;line_num++;line_start=pos+1;if(char=="\r"&&src[pos]=="\n"){string+=src[pos];line_start++;pos++}line=get_line_at(pos);escaped=false;break;case"\\":string+=char;escaped=!escaped;break;default:escaped=false;string+=char;break}break;case"NUMBER":if(test_num(num_type,char)){number+=char}else if(char=="_"&&!number.endsWith(".")){if(number.endsWith("_")){throw SyntaxError("consecutive _ in number")}else if(src[pos]===undefined||!test_num(num_type,src[pos])){yield Token("NUMBER",number,line_num,pos-line_start-number.length,line_num,pos-line_start,line);state=null;pos--}else{number+=char}}else if(char=="."&&!number.includes(char)){number+=char}else if(char.toLowerCase()=="e"&&!number.toLowerCase().includes("e")){if("+-".includes(src[pos])||$B.in_unicode_category("Nd",ord(src[pos]))){number+=char}else{yield Token("NUMBER",number,line_num,pos-line_start-number.length,line_num,pos-line_start,line);state=null;pos--}}else if((char=="+"||char=="-")&&number.toLowerCase().endsWith("e")){number+=char}else if(char.toLowerCase()=="j"){number+=char;yield Token("NUMBER",number,line_num,pos-line_start-number.length+1,line_num,pos-line_start+1,line);state=null}else if(char.match(/\p{Letter}/u)){$B.raise_error_known_location(_b_.SyntaxError,filename,line_num,pos-line_start-number.length,line_num,pos-line_start,line,"invalid decimal literal")}else{yield Token("NUMBER",number,line_num,pos-line_start-number.length,line_num,pos-line_start,line);state=null;pos--}break}}switch(state){case"line_start":line_num++;break;case"NAME":yield Token("NAME",name,line_num,pos-line_start-name.length+1,line_num,pos-line_start+1,line);break;case"NUMBER":yield Token("NUMBER",number,line_num,pos-line_start-number.length+1,line_num,pos-line_start+1,line);break;case"STRING":line_num=string_start[0];line=lines[line_num-1];var msg=`unterminated ${triple_quote?"triple-quoted ":""}`+`string literal (detected at line ${line_num})`,col_offset=string_start[1];$B.raise_error_known_location(_b_.SyntaxError,filename,line_num,col_offset,line_num,col_offset,line,msg)}if(!src.endsWith("\n")&&state!=line_start){yield Token("NEWLINE","",line_num,pos-line_start+1,line_num,pos-line_start+1,line+"\n");line_num++}while(indents.length>0){indents.pop();yield Token("DEDENT","",line_num,0,line_num,0,"")}yield Token("ENDMARKER","",line_num,0,line_num,0,"")}})(__BRYTHON__);(function($B){var binary_ops={"+":"Add","-":"Sub","*":"Mult","/":"Div","//":"FloorDiv","%":"Mod","**":"Pow","<<":"LShift",">>":"RShift","|":"BitOr","^":"BitXor","&":"BitAnd","@":"MatMult"};var boolean_ops={and:"And",or:"Or"};var comparison_ops={"==":"Eq","!=":"NotEq","<":"Lt","<=":"LtE",">":"Gt",">=":"GtE",is:"Is",is_not:"IsNot",in:"In",not_in:"NotIn"};var unary_ops={unary_inv:"Invert",unary_pos:"UAdd",unary_neg:"USub",unary_not:"Not"};var op_types=$B.op_types=[binary_ops,boolean_ops,comparison_ops,unary_ops];var _b_=$B.builtins;var ast=$B.ast={};for(var kl in $B.ast_classes){var args=$B.ast_classes[kl],body="";if(typeof args=="string"){if(args.length>0){for(var arg of args.split(",")){if(arg.endsWith("*")){arg=arg.substr(0,arg.length-1);body+=` this.${arg} = ${arg} === undefined ? [] : ${arg}\n`}else if(arg.endsWith("?")){arg=arg.substr(0,arg.length-1);body+=` this.${arg} = ${arg}\n`}else{body+=` this.${arg} = ${arg}\n`}}}var arg_list=args.replace(/[*?]/g,"").split(",");ast[kl]=Function(...arg_list,body);ast[kl]._fields=args.split(",")}else{ast[kl]=args.map((x=>ast[x]))}ast[kl].$name=kl}$B.ast_js_to_py=function(obj){$B.create_python_ast_classes();if(obj===undefined){return _b_.None}else if(Array.isArray(obj)){return obj.map($B.ast_js_to_py)}else{var class_name=obj.constructor.$name,py_class=$B.python_ast_classes[class_name],py_ast_obj={__class__:py_class};if(py_class===undefined){return obj}for(var field of py_class._fields){py_ast_obj[field]=$B.ast_js_to_py(obj[field])}py_ast_obj._attributes=$B.fast_tuple([]);for(var loc of["lineno","col_offset","end_lineno","end_col_offset"]){if(obj[loc]!==undefined){py_ast_obj[loc]=obj[loc];py_ast_obj._attributes.push(loc)}}return py_ast_obj}};$B.ast_py_to_js=function(obj){if(obj===undefined||obj===_b_.None){return undefined}else if(Array.isArray(obj)){return obj.map($B.ast_py_to_js)}else if(typeof obj=="string"){return obj}else{var class_name=$B.class_name(obj),js_class=$B.ast[class_name];if(js_class===undefined){return obj}var js_ast_obj=new js_class;for(var field of js_class._fields){if(field.endsWith("?")||field.endsWith("*")){field=field.substr(0,field.length-1)}js_ast_obj[field]=$B.ast_py_to_js(obj[field])}for(var loc of["lineno","col_offset","end_lineno","end_col_offset"]){if(obj[loc]!==undefined){js_ast_obj[loc]=obj[loc]}}return js_ast_obj}};$B.create_python_ast_classes=function(){if($B.python_ast_classes){return}$B.python_ast_classes={};for(var klass in $B.ast_classes){$B.python_ast_classes[klass]=function(kl){var _fields,raw_fields;if(typeof $B.ast_classes[kl]=="string"){if($B.ast_classes[kl]==""){raw_fields=_fields=[]}else{raw_fields=$B.ast_classes[kl].split(",");_fields=raw_fields.map((x=>x.endsWith("*")||x.endsWith("?")?x.substr(0,x.length-1):x))}}var cls=$B.make_class(kl),$defaults={},slots={},nb_args=0;if(raw_fields){for(let i=0,len=_fields.length;i2){console.log("wrong js indent");console.log(res)}level=0}try{res+=(add_spaces?indentation.repeat(level):"")+line+"\n"}catch(err){console.log(res);throw err}if(line.endsWith("{")){level++}else if(add_closing_brace){level--;if(level<0){level=0}try{res+=indentation.repeat(level)+"}\n"}catch(err){console.log(res);throw err}}last_is_backslash=line.endsWith("\\");last_is_var_and_comma=line.endsWith(",")&&(line.startsWith("var ")||last_is_var_and_comma)}return res};function get_docstring(node){var doc_string=_b_.None;if(node.body.length>0){var firstchild=node.body[0];if(firstchild instanceof $B.ast.Constant&&typeof firstchild.value=="string"){doc_string=firstchild.value}}return doc_string}var s_escaped='abfnrtvxuU"0123456789'+"'"+"\\",is_escaped={};for(var i=0;i>10)+String.fromCharCode(56320|value&1023)}function test_escape(text,antislash_pos){var seq_end,mo;mo=/^[0-7]{1,3}/.exec(text.substr(antislash_pos+1));if(mo){return[String.fromCharCode(parseInt(mo[0],8)),1+mo[0].length]}switch(text[antislash_pos+1]){case"x":mo=/^[0-9A-F]{0,2}/i.exec(text.substr(antislash_pos+2));if(mo[0].length!=2){seq_end=antislash_pos+mo[0].length+1;$token.value.start[1]=seq_end;throw Error("(unicode error) 'unicodeescape' codec can't decode "+`bytes in position ${antislash_pos}-${seq_end}: truncated `+"\\xXX escape")}else{return[String.fromCharCode(parseInt(mo[0],16)),2+mo[0].length]}break;case"u":mo=/^[0-9A-F]{0,4}/i.exec(text.substr(antislash_pos+2));if(mo[0].length!=4){seq_end=antislash_pos+mo[0].length+1;$token.value.start[1]=seq_end;throw Error("(unicode error) 'unicodeescape' codec can't decode "+`bytes in position ${antislash_pos}-${seq_end}: truncated `+"\\uXXXX escape")}else{return[String.fromCharCode(parseInt(mo[0],16)),2+mo[0].length]}break;case"U":mo=/^[0-9A-F]{0,8}/i.exec(text.substr(antislash_pos+2));if(mo[0].length!=8){seq_end=antislash_pos+mo[0].length+1;$token.value.start[1]=seq_end;throw Error("(unicode error) 'unicodeescape' codec can't decode "+`bytes in position ${antislash_pos}-${seq_end}: truncated `+"\\uXXXX escape")}else{let value=parseInt(mo[0],16);if(value>1114111){throw Error("invalid unicode escape "+mo[0])}else if(value>=65536){return[SurrogatePair(value),2+mo[0].length]}else{return[String.fromCharCode(value),2+mo[0].length]}}}}$B.test_escape=test_escape;function unindent(src){var lines=src.split("\n"),line,global_indent,indent,first,unindented_lines=[];var min_indent;for(var line of lines){if(/^\s*$/.exec(line)){continue}indent=line.match(/^\s*/)[0].length;if(indent==0){return src}if(min_indent===undefined){min_indent=indent}if(indent0;options.python_extension=options.python_extension||".py";if($B.$options.args){$B.__ARGV=$B.$options.args}else{$B.__ARGV=_b_.list.$factory([])}$B.options_parsed=true;return options};if(!($B.isWebWorker||$B.isNode)){var startup_observer=new MutationObserver((function(mutations){for(var mutation of mutations){for(var addedNode of mutation.addedNodes){addPythonScript(addedNode)}}}));startup_observer.observe(document.documentElement,{childList:true,subtree:true})}var brython_options=$B.brython_options={};var python_scripts=[];if(!$B.isWebWorker){python_scripts=python_scripts.concat(Array.from(document.querySelectorAll('script[type="text/python"]'))).concat(Array.from(document.querySelectorAll('script[type="text/python3"]')));var onload;addEventListener("DOMContentLoaded",(function(ev){if(ev.target.body){onload=ev.target.body.onload}if(!onload){ev.target.body.onload=function(){return brython()}}else{ev.target.body.onload=function(){onload();if(!status.brython_called){brython()}}}}));class BrythonOptions extends HTMLElement{constructor(){super()}connectedCallback(){for(var attr of this.getAttributeNames()){brython_options[attr]=convert_option(attr,this.getAttribute(attr))}}}customElements.define("brython-options",BrythonOptions)}var defined_ids={},script_to_id=new Map,id_to_script={};function addPythonScript(addedNode){if(addedNode.tagName=="SCRIPT"&&(addedNode.type=="text/python"||addedNode.type=="text/python3")){python_scripts.push(addedNode)}}var status={brython_called:false,first_unnamed_script:true};$B.dispatch_load_event=function(script){script.dispatchEvent(new Event("load"))};function injectPythonScript(addedNode){if(addedNode.tagName=="SCRIPT"&&addedNode.type=="text/python"){set_script_id(addedNode);run_scripts([addedNode])}}function set_script_id(script){if(script_to_id.has(script)){}else if(script.id){if(defined_ids[script.id]){throw Error("Brython error : Found 2 scripts with the "+"same id '"+script.id+"'")}else{defined_ids[script.id]=true}script_to_id.set(script,script.id)}else{if(script.className==="webworker"){throw _b_.AttributeError.$factory("webworker script has no attribute 'id'")}if(status.first_unnamed_script){script_to_id.set(script,"__main__");status.first_unnamed_script=false}else{script_to_id.set(script,"__main__"+$B.UUID())}}var id=script_to_id.get(script);id_to_script[id]=script;return id}var brython=$B.parser.brython=function(options){$B.$options=$B.parse_options(options);if(!($B.isWebWorker||$B.isNode)){if(!status.brython_called){status.brython_called=true;startup_observer.disconnect();var inject_observer=new MutationObserver((function(mutations){for(var mutation of mutations){for(var addedNode of mutation.addedNodes){injectPythonScript(addedNode)}}}));inject_observer.observe(document.documentElement,{childList:true,subtree:true})}}else if($B.isNode){return}for(var python_script of python_scripts){set_script_id(python_script)}var scripts=[];$B.script_path=_window.location.href.split("#")[0];var $href=$B.script_path=_window.location.href.split("#")[0],$href_elts=$href.split("/");$href_elts.pop();if($B.isWebWorker||$B.isNode){$href_elts.pop()}$B.curdir=$href_elts.join("/");var kk=Object.keys(_window);var ids=$B.get_page_option("ids");if(ids!==undefined){if(!Array.isArray(ids)){throw _b_.ValueError.$factory("ids is not a list")}if(ids.length==0){}for(var id of ids){var script=document.querySelector(`script[id="${id}"]`);if(script){set_script_id(script);scripts.push(script)}else{console.log(`no script with id '${id}'`);throw _b_.KeyError.$factory(`no script with id '${id}'`)}}}else if($B.isWebWorker){}else{scripts=python_scripts.slice()}run_scripts(scripts)};function convert_option(option,value){if(option=="debug"){if(typeof value=="string"&&value.match(/^\d+$/)){return parseInt(value)}else if(typeof value=="number"){return value}else{if(value!==null&&value!==undefined){console.debug(`Invalid value for debug: ${value}`)}}}else if(option=="cache"||option=="indexeddb"||option=="static_stdlib_import"){if(value=="1"||value.toLowerCase()=="true"){return true}else if(value=="0"||value.toLowerCase()=="false"){return false}else{console.debug(`Invalid value for ${option}: ${value}`)}}else if(option=="ids"||option=="pythonpath"||option=="args"){if(typeof value=="string"){if(value.trim().length==0){return[]}return value.trim().split(/\s+/)}}return value}const default_option={args:[],cache:false,debug:1,indexeddb:true,python_extension:".py",static_stdlib_import:true};$B.get_filename=function(){if($B.count_frames()>0){return $B.get_frame_at(0).__file__}};$B.get_filename_for_import=function(){var filename=$B.get_filename();if($B.import_info[filename]===undefined){$B.make_import_paths(filename)}return filename};$B.get_page_option=function(option){option=option.toLowerCase();if($B.$options.hasOwnProperty(option)){return $B.$options[option]}else if(brython_options.hasOwnProperty(option)){return brython_options[option]}else{return default_option[option]}};$B.get_option=function(option,err){var filename=$B.script_filename;if(err&&err.$frame_obj){filename=$B.get_frame_at(0,err.$frame_obj).__file__}else{filename=$B.get_filename()}return $B.get_option_from_filename(option,filename)};$B.get_option_from_filename=function(option,filename){if(filename===undefined||!$B.scripts[filename]){return $B.get_page_option(option)}var value=$B.scripts[filename].getAttribute(option);if(value!==null){return convert_option(option,value)}else{return $B.get_page_option(option)}};function run_scripts(_scripts){var webworkers=_scripts.filter((script=>script.className==="webworker")),scripts=_scripts.filter((script=>script.className!=="webworker"));var module_name,filename;if(scripts.length>0||$B.isWebWorker){if($B.get_page_option("indexedDB")&&$B.has_indexedDB&&$B.hasOwnProperty("VFS")){$B.tasks.push([$B.idb_open])}}var src;for(var worker of webworkers){if(worker.src){$B.tasks.push([$B.ajax_load_script,{script:worker,name:worker.id,url:worker.src,is_ww:true}])}else{$B.webworkers[worker.id]=worker;filename=$B.script_filename=$B.strip_host($B.script_path+"#"+worker.id);var source=worker.innerText||worker.textContent;source=unindent(source);source=source.replace(/^\n/,"");$B.url2name[filename]=worker.id;$B.file_cache[filename]=source;$B.scripts[filename]=worker;$B.dispatch_load_event(worker)}}for(var script of scripts){module_name=script_to_id.get(script);if(script.src){$B.tasks.push([$B.ajax_load_script,{script:script,name:module_name,url:script.src,id:script.id}])}else{filename=$B.script_filename=$B.strip_host($B.script_path+"#"+module_name);src=script.innerHTML||script.textContent;src=unindent(src);src=src.replace(/^\n/,"");if(src.endsWith("\n")){src=src.substr(0,src.length-1)}$B.tasks.push([$B.run_script,script,src,module_name,$B.script_path,true])}}$B.loop()}$B.run_script=function(script,src,name,url,run_loop){var filename=$B.script_filename=$B.strip_host(url+"#"+name);var script_elts=url.split("/");script_elts.pop();$B.script_dir=script_elts.join("/");$B.file_cache[filename]=src;$B.url2name[filename]=name;$B.scripts[filename]=script;$B.make_import_paths(filename);_b_.__debug__=$B.get_option("debug")>0;var root,js;try{root=$B.py2js({src:src,filename:filename},name,name);js=root.to_js();if($B.get_option_from_filename("debug",filename)>1){console.log($B.format_indent(js,0))}}catch(err){console.log("err",err);return $B.handle_error($B.exception(err))}var _script={__doc__:get_docstring(root._ast),js:js,__name__:name,__file__:url,script_element:script};$B.tasks.push(["execute",_script]);if(run_loop){$B.loop()}};$B.brython=brython})(__BRYTHON__);globalThis.brython=__BRYTHON__.brython;if(__BRYTHON__.isNode){global.__BRYTHON__=__BRYTHON__;module.exports={__BRYTHON__:__BRYTHON__}}(function($B){var _b_=$B.builtins;if($B.VFS_timestamp&&$B.VFS_timestamp>$B.timestamp){$B.timestamp=$B.VFS_timestamp}function idb_load(evt,module){var res=evt.target.result;var debug=$B.get_page_option("debug");if(res===undefined||res.timestamp!=$B.timestamp||$B.VFS[module]&&res.source_ts!==$B.VFS[module].timestamp){if($B.VFS[module]!==undefined){var elts=$B.VFS[module],ext=elts[0],source=elts[1];if(ext==".py"){var is_package=elts.length==4,__package__;if(is_package){__package__=module}else{var parts=module.split(".");parts.pop();__package__=parts.join(".")}$B.imported[module]=$B.module.$factory(module,"",__package__);$B.url2name[module]=module;try{$B.py2js({src:source,filename:module},module,module)}catch(err){$B.handle_error(err)}delete $B.imported[module];if(debug>1){console.log("precompile",module)}}else{console.log("bizarre",module,ext)}}else{}}else{if(res.is_package){$B.precompiled[module]=[res.content]}else{$B.precompiled[module]=res.content}if(res.imports.length>0){if(debug>1){console.log(module,"imports",res.imports)}var subimports=res.imports.split(",");for(var i=0;i1){console.info("using indexedDB for stdlib modules cache")}var tx=db.transaction("modules","readwrite"),store=tx.objectStore("modules"),record,outdated=[];var openCursor=store.openCursor();openCursor.onerror=function(evt){console.log("open cursor error",evt)};openCursor.onsuccess=function(evt){var cursor=evt.target.result;if(cursor){record=cursor.value;if(record.timestamp==$B.timestamp){if(!$B.VFS||!$B.VFS[record.name]||$B.VFS[record.name].timestamp==record.source_ts){if(record.is_package){$B.precompiled[record.name]=[record.content]}else{$B.precompiled[record.name]=record.content}if($B.get_page_option("debug")>1){console.info("load from cache",record.name)}}else{outdated.push(record.name)}}else{outdated.push(record.name)}cursor.continue()}else{if($B.get_page_option("debug")>1){console.log("done")}$B.outdated=outdated;loop()}}}};idb_cx.onupgradeneeded=function(){console.info("upgrade needed");var db=idb_cx.result,store=db.createObjectStore("modules",{keyPath:"name"});store.onsuccess=loop};idb_cx.onerror=function(){console.info("could not open indexedDB database");$B.idb_cx=null;$B.idb_name=null;$B.$options.indexeddb=false;loop()}};$B.ajax_load_script=function(s){var script=s.script,url=s.url,name=s.name,rel_path=url.substr($B.script_dir.length+1);if($B.files&&$B.files.hasOwnProperty(rel_path)){var src=atob($B.files[rel_path].content);$B.tasks.splice(0,0,[$B.run_script,script,src,name,url,true]);loop()}else if($B.protocol!="file"){var filename=$B.script_filename=$B.strip_host(url);$B.scripts[filename]=script;var req=new XMLHttpRequest,cache=$B.get_option("cache"),qs=cache?"":(url.search(/\?/)>-1?"&":"?")+Date.now();req.open("GET",url+qs,true);req.onreadystatechange=function(){if(this.readyState==4){if(this.status==200){var src=this.responseText;if(s.is_ww){$B.webworkers[name]=script;$B.file_cache[filename]=src;$B.dispatch_load_event(script)}else{$B.tasks.splice(0,0,[$B.run_script,script,src,name,url,true])}loop()}else if(this.status==404){throw Error(url+" not found")}}};req.send()}else{throw _b_.IOError.$factory("can't load external script at "+script.url+" (Ajax calls not supported with protocol file:///)")}};function add_jsmodule(module,source){source+="\nvar $locals_"+module.replace(/\./g,"_")+" = $module";$B.precompiled[module]=source}$B.inImported=function(module){if($B.imported.hasOwnProperty(module)){}else if(__BRYTHON__.VFS&&__BRYTHON__.VFS.hasOwnProperty(module)){var elts=__BRYTHON__.VFS[module];if(elts===undefined){console.log("bizarre",module)}var ext=elts[0],source=elts[1];if(ext==".py"){if($B.idb_cx&&!$B.idb_cx.$closed){$B.tasks.splice(0,0,[idb_get,module])}}else{add_jsmodule(module,source)}}else{console.log("bizarre",module)}loop()};function report_precompile(mod){if(!$B.isWebWorker){document.dispatchEvent(new CustomEvent("precompile",{detail:"remove outdated "+mod+" from cache"}))}}function report_close(){if(!$B.isWebWorker){document.dispatchEvent(new CustomEvent("precompile",{detail:"close"}))}}function report_done(){if(!$B.isWebWorker){document.dispatchEvent(new CustomEvent("brython_done",{detail:_b_.dict.$from_js($B.$options)}))}}var loop=$B.loop=function(){if($B.tasks.length==0){if($B.idb_cx&&!$B.idb_cx.$closed){var db=$B.idb_cx.result,tx=db.transaction("modules","readwrite"),store=tx.objectStore("modules");while($B.outdated.length>0){let module=$B.outdated.pop(),req=store.delete(module);req.onsuccess=function(mod){return function(){if($B.get_page_option("debug")>1){console.info("delete outdated",mod)}report_precompile(mod)}}(module)}report_close();$B.idb_cx.result.close();$B.idb_cx.$closed=true}report_done();return}var task=$B.tasks.shift(),func=task[0],args=task.slice(1);if(func=="execute"){let script=task[1],script_id=script.__name__.replace(/\./g,"_"),module=$B.module.$factory(script.__name__);module.__file__=script.__file__;module.__doc__=script.__doc__;$B.imported[script_id]=module;try{var modobj=new Function(script.js+`\nreturn locals`)();for(var key in modobj){if(!key.startsWith("$")){module[key]=modobj[key]}}$B.dispatch_load_event(script.script_element)}catch(err){if(err.__class__===undefined){if(err.$py_exc){err=err.$py_exc}else{$B.freeze(err);var stack=err.$stack,frame_obj=err.$frame_obj,linenums=err.$linenums;var lineNumber=err.lineNumber;if(lineNumber!==undefined){console.log("around line",lineNumber);console.log(script.js.split("\n").slice(lineNumber-4,lineNumber).join("\n"))}$B.print_stack();err=_b_.RuntimeError.$factory(err+"");err.$stack=stack;err.$frame_obj=frame_obj;err.$linenums=linenums}}$B.handle_error(err)}loop()}else{try{func.apply(null,args)}catch(err){$B.handle_error(err)}}};$B.tasks=[];$B.has_indexedDB=self.indexedDB!==undefined})(__BRYTHON__);(function($B){var _b_=$B.builtins,_window=globalThis,isWebWorker="undefined"!==typeof WorkerGlobalScope&&"function"===typeof importScripts&&navigator instanceof WorkerNavigator;function missing_required_kwonly(fname,args){var plural=args.length==1?"":"s",arg_list;args=args.map((x=>`'${x}'`));if(args.length==1){arg_list=args[0]}else if(args.length==2){arg_list=args[0]+" and "+args[1]}else{arg_list=args.slice(0,args.length-1).join(", ")+", and "+args[args.length-1]}throw _b_.TypeError.$factory(fname+"() "+`missing ${args.length} required keyword-only argument${plural}: `+arg_list)}function missing_required_pos(fname,args){var plural=args.length==1?"":"s",arg_list;args=args.map((x=>`'${x}'`));if(args.length==1){arg_list=args[0]}else if(args.length==2){arg_list=args[0]+" and "+args[1]}else{arg_list=args.slice(0,args.length-1).join(", ")+", and "+args[args.length-1]}throw _b_.TypeError.$factory(fname+"() "+`missing ${args.length} required positional argument${plural}: `+arg_list)}function multiple_values(fname,arg){throw _b_.TypeError.$factory(fname+"() "+`got multiple values for argument '${arg}'`)}function pos_only_passed_as_keyword(fname,arg){return _b_.TypeError.$factory(fname+`() got some positional-only arguments passed as keyword arguments:`+` '${arg}'`)}function too_many_pos_args(fname,kwarg,arg_names,nb_kwonly,defaults,args,slots){var nb_pos=args.length,last=$B.last(args);if(last!==null&&last!==undefined&&last.$kw){if(!kwarg){var kw=$B.parse_kwargs(last.$kw,fname);for(var k in kw){if(!slots.hasOwnProperty(k)){var suggestion=$B.offer_suggestions_for_unexpected_keyword_error(arg_names,k);throw unexpected_keyword(fname,k,suggestion)}}}nb_pos--}var nb_def=defaults.length;var expected=arg_names.length-nb_kwonly,plural=expected==1?"":"s";if(nb_def){expected=`from ${expected-nb_def} to ${expected}`;plural="s"}var verb=nb_pos==1?"was":"were";return _b_.TypeError.$factory(fname+"() takes "+`${expected} positional argument${plural} but ${nb_pos} ${verb} given`)}function unexpected_keyword(fname,k,suggestion){var msg=`${fname}() got an unexpected keyword argument '${k}'`;if(suggestion!==_b_.None){msg+=`. Did you mean: '${suggestion}'?`}return _b_.TypeError.$factory(msg)}var empty={};function args0(f,args){var arg_names=f.$infos.arg_names,code=f.$infos.__code__,slots={};for(var arg_name of arg_names){slots[arg_name]=empty}return $B.parse_args(args,f.$infos.__name__,code.co_argcount,slots,arg_names,f.$infos.__defaults__,f.$infos.__kwdefaults__,f.$infos.vararg,f.$infos.kwarg,code.co_posonlyargcount,code.co_kwonlyargcount)}function args0_NEW(fct,args){const LAST_ARGS=args[args.length-1];const HAS_KW=LAST_ARGS!==undefined&&LAST_ARGS!==null&&LAST_ARGS.$kw!==undefined;let ARGS_POS_COUNT=args.length,ARGS_NAMED=null;if(HAS_KW){--ARGS_POS_COUNT;ARGS_NAMED=LAST_ARGS.$kw}const result={};const $INFOS=fct.$infos,$CODE=$INFOS.__code__,PARAMS_NAMES=$INFOS.arg_names,PARAMS_POS_COUNT=$CODE.co_argcount,PARAMS_NAMED_COUNT=$CODE.co_kwonlyargcount,PARAMS_VARARGS_NAME=$INFOS.vararg,PARAMS_KWARGS_NAME=$INFOS.kwarg,PARAMS_POS_DEFAULTS=$INFOS.__defaults__,PARAMS_POS_DEFAULTS_COUNT=PARAMS_POS_DEFAULTS.length,PARAMS_POS_DEFAULTS_OFFSET=PARAMS_POS_COUNT-PARAMS_POS_DEFAULTS_COUNT;const min=Math.min(ARGS_POS_COUNT,PARAMS_POS_COUNT);let offset=0;for(;offsetPARAMS_POS_COUNT){args0(fct,args);throw new Error("Too much positional arguments given (args0 should have raised an error) !")}if(ARGS_NAMED===null){if(offset=nb_pos_or_kw){if(vararg){varargs.push(arg)}else{throw too_many_pos_args(fname,kwarg,arg_names,nb_kwonly,defaults,args,slots)}}else{if(i0){throw missing_required_kwonly(fname,missing_kwonly)}if(!kwarg){for(var k in kw){if(!slots.hasOwnProperty(k)){var suggestion=$B.offer_suggestions_for_unexpected_keyword_error(arg_names,k);throw unexpected_keyword(fname,k,suggestion)}}}for(var k in kw){if(kw[k]===empty){continue}if(!slots.hasOwnProperty(k)){if(kwarg){extra_kw[k]=kw[k]}}else if(slots[k]!==empty){if(posonly_set[k]&&kwarg){extra_kw[k]=kw[k]}else{throw multiple_values(fname,k)}}else{slots[k]=kw[k]}}if(kwarg){slots[kwarg]=_b_.dict.$from_js(extra_kw)}if(vararg){slots[vararg]=$B.fast_tuple(varargs)}return slots};$B.parse_kwargs=function(kw_args,fname){var kwa=kw_args[0];for(var i=1,len=kw_args.length;i0||y!==undefined&&y.$kw){throw _b_.TypeError.$factory(name+"() takes no keyword arguments")}};$B.check_nb_args_no_kw=function(name,expected,args){var len=args.length,last=args[len-1];if(last&&last.$kw){if(last.$kw.length==2&&Object.keys(last.$kw[0]).length==0){len--}else{throw _b_.TypeError.$factory(name+"() takes no keyword arguments")}}if(len!=expected){if(expected==0){throw _b_.TypeError.$factory(name+"() takes no argument"+" ("+len+" given)")}else{throw _b_.TypeError.$factory(name+"() takes exactly "+expected+" argument"+(expected<2?"":"s")+" ("+len+" given)")}}};$B.get_class=function(obj){if(obj===null){return $B.imported.javascript.NullType}if(obj===undefined){return $B.imported.javascript.UndefinedType}var klass=obj.__class__||obj.$tp_class;if(klass===undefined){switch(typeof obj){case"number":if(Number.isInteger(obj)){return _b_.int}break;case"string":return _b_.str;case"boolean":return _b_.bool;case"function":if(!obj.$js_func){return $B.function}case"object":if(Array.isArray(obj)){if(obj.$is_js_array){return $B.js_array}else if(Object.getPrototypeOf(obj)===Array.prototype){obj.__class__=_b_.list;return _b_.list}}else if(obj instanceof $B.str_dict){return _b_.dict}else if(typeof Node!=="undefined"&&obj instanceof Node){if(obj.tagName){return $B.imported["browser.html"][obj.tagName]||$B.DOMNode}return $B.DOMNode}else if(obj instanceof Event){return $B.DOMEvent}break}}if(klass===undefined){return $B.get_jsobj_class(obj)}return klass};$B.class_name=function(obj){var klass=$B.get_class(obj);if(klass===$B.JSObj){return"Javascript "+obj.constructor.name}else{return klass.__name__}};$B.unpack_mapping=function*(func,obj){var klass=$B.get_class(obj);var getitem=$B.$getattr(klass,"__getitem__",null);if(getitem===null){throw _b_.TypeError.$factory(`'${$B.class_name(obj)}' object `+"is not subscriptable")}getitem=$B.$call(getitem);var key_func=$B.$getattr(klass,"keys",null);if(key_func===null){var f=`${func.$infos.__module__}.${func.$infos.__name__}`;throw _b_.TypeError.$factory(`${f}() argument after **`+` must be a mapping, not ${$B.class_name(obj)}`)}var keys=$B.$call($B.$getattr(klass,"keys"))(obj);for(var key of $B.make_js_iterator(keys)){if(!_b_.isinstance(key,_b_.str)){throw _b_.TypeError.$factory("keywords must be strings")}yield{key:key,value:getitem(obj,key)}}};$B.make_js_iterator=function(iterator,frame,lineno){var set_lineno=$B.set_lineno;if(frame===undefined){if($B.frame_obj===null){function set_lineno(){}}else{frame=$B.frame_obj.frame;lineno=frame.$lineno}}if(iterator.__class__===_b_.range){var obj={ix:iterator.start};if(iterator.step>0){return{[Symbol.iterator](){return this},next(){set_lineno(frame,lineno);if(obj.ix>=iterator.stop){return{done:true,value:null}}var value=obj.ix;obj.ix+=iterator.step;return{done:false,value:value}}}}else{return{[Symbol.iterator](){return this},next(){set_lineno(frame,lineno);if(obj.ix<=iterator.stop){return{done:true,value:null}}var value=obj.ix;obj.ix+=iterator.step;return{done:false,value:value}}}}}if(iterator[Symbol.iterator]&&!iterator.$is_js_array){var it=iterator[Symbol.iterator]();return{[Symbol.iterator](){return this},next(){set_lineno(frame,lineno);return it.next()}}}var next_func=$B.$getattr(_b_.iter(iterator),"__next__",null);if(next_func!==null){next_func=$B.$call(next_func);return{[Symbol.iterator](){return this},next(){set_lineno(frame,lineno);try{var value=next_func();return{done:false,value:value}}catch(err){if($B.is_exc(err,[_b_.StopIteration])){return{done:true,value:null}}throw err}}}}};$B.unpacker=function(obj,nb_targets,has_starred){var position,position_rank=3;if(has_starred){var nb_after_starred=arguments[3];position_rank++}position=$B.decode_position(arguments[position_rank]);var t=_b_.list.$factory(obj),right_length=t.length,left_length=nb_targets+(has_starred?nb_after_starred-1:0);if(!has_starred&&right_lengthleft_length){var exc=_b_.ValueError.$factory("too many values to unpack "+`(expected ${left_length})`);if(position){$B.set_exception_offsets(exc,position)}throw exc}t.index=-1;t.read_one=function(){t.index++;return t[t.index]};t.read_rest=function(){t.index++;var res=t.slice(t.index,t.length-nb_after_starred);t.index=t.length-nb_after_starred-1;return res};return t};$B.set_lineno=function(frame,lineno){frame.$lineno=lineno;if(frame.$f_trace!==_b_.None){$B.trace_line()}return true};$B.get_method_class=function(method,ns,qualname,refs){var klass=ns;if(method.$infos&&method.$infos.$class){return method.$infos.$class}for(var ref of refs){if(klass[ref]===undefined){return $B.make_class(qualname)}klass=klass[ref]}return klass};$B.warn=function(klass,message,filename,token){var warning=klass.$factory(message);warning.filename=filename;if(klass===_b_.SyntaxWarning){warning.lineno=token.start[0];warning.offset=token.start[1];warning.end_lineno=token.end[0];warning.end_offset=token.end[1];warning.text=token.line;warning.args[1]=$B.fast_tuple([filename,warning.lineno,warning.offset,warning.text,warning.end_lineno,warning.end_offset])}$B.imported._warnings.warn(warning)};function index_error(obj){var type=typeof obj=="string"?"string":"list";throw _b_.IndexError.$factory(type+" index out of range")}$B.$getitem=function(obj,item,position){var is_list=Array.isArray(obj)&&obj.__class__===_b_.list,is_dict=obj.__class__===_b_.dict&&!obj.$jsobj;if(typeof item=="number"){if(is_list||typeof obj=="string"){item=item>=0?item:obj.length+item;if(obj[item]!==undefined){return obj[item]}else{index_error(obj)}}}else if(item.valueOf&&typeof item.valueOf()=="string"&&is_dict){return _b_.dict.$getitem(obj,item)}if(obj.$is_class){var class_gi=$B.$getattr(obj,"__class_getitem__",_b_.None);if(class_gi!==_b_.None){return $B.$call(class_gi)(item)}else if(obj.__class__){class_gi=$B.$getattr(obj.__class__,"__getitem__",_b_.None);if(class_gi!==_b_.None){return class_gi(obj,item)}else{throw _b_.TypeError.$factory("'"+$B.class_name(obj.__class__)+"' object is not subscriptable")}}}if(is_list){return _b_.list.$getitem(obj,item)}if(is_dict){return _b_.dict.$getitem(obj,item)}var gi=$B.$getattr(obj.__class__||$B.get_class(obj),"__getitem__",_b_.None);if(gi!==_b_.None){return gi(obj,item)}var exc=_b_.TypeError.$factory("'"+$B.class_name(obj)+"' object is not subscriptable");if(position){$B.set_exception_offsets(exc,$B.decode_position(position))}throw exc};$B.getitem_slice=function(obj,slice){var res;if(Array.isArray(obj)&&obj.__class__===_b_.list){if(slice.start===_b_.None&&slice.stop===_b_.None){if(slice.step===_b_.None||slice.step==1){res=obj.slice()}else if(slice.step==-1){res=obj.slice().reverse()}}else if(slice.step===_b_.None){if(slice.start===_b_.None){slice.start=0}if(slice.stop===_b_.None){slice.stop=obj.length}if(typeof slice.start=="number"&&typeof slice.stop=="number"){if(slice.start<0){slice.start+=obj.length}if(slice.stop<0){slice.stop+=obj.length}res=obj.slice(slice.start,slice.stop)}}if(res){res.__class__=obj.__class__;return res}else{return _b_.list.$getitem(obj,slice)}}else if(typeof obj=="string"){return _b_.str.__getitem__(obj,slice)}return $B.$getattr($B.get_class(obj),"__getitem__")(obj,slice)};$B.$getattr_pep657=function(obj,attr,position){try{return $B.$getattr(obj,attr)}catch(err){$B.set_exception_offsets(err,$B.decode_position(position));throw err}};$B.set_list_slice=function(obj,start,stop,value){if(start===null){start=0}else{start=$B.$GetInt(start);if(start<0){start=Math.max(0,start+obj.length)}}if(stop===null){stop=obj.length}stop=$B.$GetInt(stop);if(stop<0){stop=Math.max(0,stop+obj.length)}var res=_b_.list.$factory(value);obj.splice.apply(obj,[start,stop-start].concat(res))};$B.set_list_slice_step=function(obj,start,stop,step,value){if(step===null||step==1){return $B.set_list_slice(obj,start,stop,value)}if(step==0){throw _b_.ValueError.$factory("slice step cannot be zero")}step=$B.$GetInt(step);if(start===null){start=step>0?0:obj.length-1}else{start=$B.$GetInt(start)}if(stop===null){stop=step>0?obj.length:-1}else{stop=$B.$GetInt(stop)}var repl=_b_.list.$factory(value),j=0,test,nb=0;if(step>0){test=function(i){return istop}}for(var i=start;test(i);i+=step){nb++}if(nb!=repl.length){throw _b_.ValueError.$factory("attempt to assign sequence of size "+repl.length+" to extended slice of size "+nb)}for(var i=start;test(i);i+=step){obj[i]=repl[j];j++}};$B.$setitem=function(obj,item,value){if(Array.isArray(obj)&&obj.__class__===undefined&&!obj.$is_js_array&&typeof item=="number"&&!$B.$isinstance(obj,_b_.tuple)){if(item<0){item+=obj.length}if(obj[item]===undefined){throw _b_.IndexError.$factory("list assignment index out of range")}obj[item]=value;return}else if(obj.__class__===_b_.dict){_b_.dict.$setitem(obj,item,value);return}else if(obj.__class__===_b_.list){return _b_.list.$setitem(obj,item,value)}var si=$B.$getattr(obj.__class__||$B.get_class(obj),"__setitem__",null);if(si===null||typeof si!="function"){throw _b_.TypeError.$factory("'"+$B.class_name(obj)+"' object does not support item assignment")}return si(obj,item,value)};$B.$delitem=function(obj,item){if(Array.isArray(obj)&&obj.__class__===_b_.list&&typeof item=="number"&&!$B.$isinstance(obj,_b_.tuple)){if(item<0){item+=obj.length}if(obj[item]===undefined){throw _b_.IndexError.$factory("list deletion index out of range")}obj.splice(item,1);return}else if(obj.__class__===_b_.dict){if(obj.$is_namespace){Object.defineProperty(obj.$jsobj,item,{get(){throw $B.name_error(item)},set(value){Object.defineProperty(obj.$jsobj,item,{value:value});return _b_.None}})}else{_b_.dict.__delitem__(obj,item)}return}else if(obj.__class__===_b_.list){return _b_.list.__delitem__(obj,item)}var di=$B.$getattr(obj.__class__||$B.get_class(obj),"__delitem__",null);if(di===null){throw _b_.TypeError.$factory("'"+$B.class_name(obj)+"' object doesn't support item deletion")}return di(obj,item)};function num_result_type(x,y){var is_int,is_float,x_num,y_num;if(typeof x=="number"){x_num=x;if(typeof y=="number"){is_int=true;y_num=y}else if(y.__class__===_b_.float){is_float=true;y_num=y.value}}else if(x.__class__===_b_.float){x_num=x.value;if(typeof y=="number"){y_num=y;is_float=true}else if(y.__class__===_b_.float){is_float=true;y_num=y.value}}return{is_int:is_int,is_float:is_float,x:x_num,y:y_num}}$B.augm_assign=function(left,op,right){var res_type=num_result_type(left,right);if(res_type.is_int||res_type.is_float){var z;switch(op){case"+=":z=res_type.x+res_type.y;break;case"-=":z=res_type.x-res_type.y;break;case"*=":z=res_type.x*res_type.y;break;case"/=":z=res_type.x/res_type.y;break}if(z){if(res_type.is_int&&Number.isSafeInteger(z)){return z}else if(res_type.res_is_float){return $B.fast_float(z)}}}else if(op=="*="){if(typeof left=="number"&&typeof right=="string"){return left<=0?"":right.repeat(left)}else if(typeof left=="string"&&typeof right=="number"){return right<=0?"":left.repeat(right)}}else if(op=="+="){if(typeof left=="string"&&typeof right=="string"){return left+right}}var op1=op.substr(0,op.length-1),method=$B.op2method.augmented_assigns[op],augm_func=$B.$getattr(left,"__"+method+"__",null);if(augm_func!==null){var res=$B.$call(augm_func)(right);if(res===_b_.NotImplemented){throw _b_.TypeError.$factory(`unsupported operand type(s)`+` for ${op}: '${$B.class_name(left)}' `+`and '${$B.class_name(right)}'`)}return res}else{var method1=$B.op2method.operations[op1];if(method1===undefined){method1=$B.op2method.binary[op1]}return $B.rich_op(`__${method1}__`,left,right)}};$B.$is=function(a,b){if((a===undefined||a===$B.Undefined)&&(b===undefined||b===$B.Undefined)){return true}if(a===null){return b===null}if(b===null){return a===null}if(a.__class__===_b_.float&&b.__class__===_b_.float){if(isNaN(a.value)&&isNaN(b.value)){return true}return a.value==b.value}if(a===_b_.int&&b==$B.long_int||a===$B.long_int&&b===_b_.int){return true}return a===b};$B.is_or_equals=function(x,y){return $B.$is(x,y)||$B.rich_comp("__eq__",x,y)};$B.member_func=function(obj){var klass=$B.get_class(obj),contains=$B.$getattr(klass,"__contains__",null);if(contains!==null){contains=$B.$call(contains);return contains.bind(null,obj)}try{var iterator=$B.make_js_iterator(obj);return function(key){try{for(var item of iterator){if($B.is_or_equals(key,item)){return true}}return false}catch(err){return false}}}catch(err){var getitem=$B.$getattr(klass,"__getitem__",null);if(getitem!==null){return function(key){var i=-1;while(true){i++;try{var item=getitem(obj,i);if($B.is_or_equals(key,item)){return true}}catch(err){if($B.$is_exc(err,[_b_.StopIteration])){return false}throw err}}}}else{throw _b_.TypeError.$factory("argument of type "+`'${$B.class_name(obj)}' is not iterable`)}}};$B.$is_member=function(item,_set){return $B.member_func(_set)(item)};$B.$call=function(callable,position){callable=$B.$call1(callable);if(position){return function(){try{return callable.apply(null,arguments)}catch(exc){position=$B.decode_position(position);$B.set_exception_offsets(exc,position);throw exc}}}return callable};$B.$call1=function(callable){if(callable.__class__===$B.method){return callable}else if(callable.$factory){return callable.$factory}else if(callable.$is_class){return callable.$factory=$B.$instance_creator(callable)}else if(callable.$is_js_class){return callable.$factory=function(){return new callable(...arguments)}}else if(callable.$in_js_module){return function(){var res=callable(...arguments);return res===undefined?_b_.None:res}}else if(callable.$is_func||typeof callable=="function"){if(callable.$infos&&callable.$infos.__code__&&callable.$infos.__code__.co_flags&32){$B.frame_obj.frame.$has_generators=true}return callable}try{return $B.$getattr(callable,"__call__")}catch(err){throw _b_.TypeError.$factory("'"+$B.class_name(callable)+"' object is not callable")}};var r_opnames=["add","sub","mul","truediv","floordiv","mod","pow","lshift","rshift","and","xor","or"];var ropsigns=["+","-","*","/","//","%","**","<<",">>","&","^","|"];$B.make_rmethods=function(klass){for(var r_opname of r_opnames){if(klass["__r"+r_opname+"__"]===undefined&&klass["__"+r_opname+"__"]){klass["__r"+r_opname+"__"]=function(name){return function(self,other){return klass["__"+name+"__"](other,self)}}(r_opname)}}};$B.UUID=function(){return $B.$py_UUID++};$B.$GetInt=function(value){if(typeof value=="number"||value.constructor===Number){return value}else if(typeof value==="boolean"){return value?1:0}else if($B.$isinstance(value,_b_.int)){return value}else if($B.$isinstance(value,_b_.float)){return value.valueOf()}if(!value.$is_class){try{var v=$B.$getattr(value,"__int__")();return v}catch(e){}try{var v=$B.$getattr(value,"__index__")();return v}catch(e){}}throw _b_.TypeError.$factory("'"+$B.class_name(value)+"' object cannot be interpreted as an integer")};$B.to_num=function(obj,methods){var expected_class={__complex__:_b_.complex,__float__:_b_.float,__index__:_b_.int,__int__:_b_.int};var klass=obj.__class__||$B.get_class(obj);for(var i=0;i$B.recursion_limit){var exc=_b_.RecursionError.$factory("maximum recursion depth exceeded");$B.set_exc(exc,frame);throw exc}frame.__class__=$B.frame;$B.frame_obj={prev:$B.frame_obj,frame:frame,count:count+1};if($B.tracefunc!==_b_.None){if(frame[4]===$B.tracefunc||$B.tracefunc.$infos&&frame[4]&&frame[4]===$B.tracefunc.$infos.__func__){$B.tracefunc.$frame_id=frame[0];return _b_.None}else{var frame_obj=$B.frame_obj;while(frame_obj!==null){if(frame_obj.frame[0]==$B.tracefunc.$frame_id){return _b_.None}frame_obj=frame_obj.prev}try{var res=$B.tracefunc(frame,"call",_b_.None);var frame_obj=$B.frame_obj;while(frame_obj!==null){if(frame_obj.frame[4]==res){return _b_.None}frame_obj=frame_obj.prev}return res}catch(err){$B.set_exc(err,frame);$B.frame_obj=$B.frame_obj.prev;err.$in_trace_func=true;throw err}}}return _b_.None};$B.trace_exception=function(){var frame=$B.frame_obj.frame;if(frame[0]==$B.tracefunc.$current_frame_id){return _b_.None}var trace_func=frame.$f_trace,exc=frame[1].$current_exception;return trace_func(frame,"exception",$B.fast_tuple([exc.__class__,exc,$B.traceback.$factory(exc)]))};$B.trace_line=function(){var frame=$B.frame_obj.frame;if(frame[0]==$B.tracefunc.$current_frame_id){return _b_.None}var trace_func=frame.$f_trace;if(trace_func===undefined){console.log("trace line, frame",frame)}return trace_func(frame,"line",_b_.None)};$B.trace_return=function(value){var frame=$B.frame_obj.frame,trace_func=frame.$f_trace;if(frame[0]==$B.tracefunc.$current_frame_id){return _b_.None}trace_func(frame,"return",value)};$B.leave_frame=function(arg){if($B.frame_obj===null){return}if(arg&&arg.value!==undefined&&$B.tracefunc!==_b_.None){if($B.frame_obj.frame.$f_trace===undefined){$B.frame_obj.frame.$f_trace=$B.tracefunc}if($B.frame_obj.frame.$f_trace!==_b_.None){$B.trace_return(arg.value)}}var frame=$B.frame_obj.frame;$B.frame_obj=$B.frame_obj.prev;if(frame.$has_generators){for(var key in frame[1]){if(frame[1][key]&&frame[1][key].__class__===$B.generator){var gen=frame[1][key];if(gen.$frame===undefined){continue}var ctx_managers=gen.$frame[1].$context_managers;if(ctx_managers){for(var cm of ctx_managers){$B.$call($B.$getattr(cm,"__exit__"))(_b_.None,_b_.None,_b_.None)}}}}}delete frame[1].$current_exception;return _b_.None};$B.trace_return_and_leave=function(frame,return_value){if(frame.$f_trace!==_b_.None){$B.trace_return(return_value)}return $B.leave_frame()};$B.push_frame=function(frame){var count=$B.frame_obj===null?0:$B.frame_obj.count;return{prev:$B.frame_obj,frame:frame,count:count+1}};var reversed_op={__lt__:"__gt__",__le__:"__ge__",__gt__:"__lt__",__ge__:"__le__"};var method2comp={__lt__:"<",__le__:"<=",__gt__:">",__ge__:">="};$B.rich_comp=function(op,x,y){if(x===undefined){throw _b_.RuntimeError.$factory("error in rich comp")}var x1=x!==null&&x.valueOf?x.valueOf():x,y1=y!==null&&y.valueOf?y.valueOf():y;if(typeof x1=="number"&&typeof y1=="number"&&x.__class__===undefined&&y.__class__===undefined){switch(op){case"__eq__":return x1==y1;case"__ne__":return x1!=y1;case"__le__":return x1<=y1;case"__lt__":return x1=y1;case"__gt__":return x1>y1}}var res;if(x!==null&&(x.$is_class||x.$factory)){if(op=="__eq__"){return x===y}else if(op=="__ne__"){return!(x===y)}else{throw _b_.TypeError.$factory("'"+method2comp[op]+"' not supported between instances of '"+$B.class_name(x)+"' and '"+$B.class_name(y)+"'")}}var x_class_op=$B.$call($B.$getattr($B.get_class(x),op)),rev_op=reversed_op[op]||op,y_rev_func;if(x!==null&&x.__class__&&y!==null&&y.__class__){if(y.__class__.__mro__.indexOf(x.__class__)>-1){y_rev_func=$B.$getattr(y,rev_op);res=$B.$call(y_rev_func)(x);if(res!==_b_.NotImplemented){return res}}}res=x_class_op(x,y);if(res!==_b_.NotImplemented){return res}if(y_rev_func===undefined){y_rev_func=$B.$call($B.$getattr($B.get_class(y),rev_op));res=y_rev_func(y,x);if(res!==_b_.NotImplemented){return res}}if(op=="__eq__"){return _b_.False}else if(op=="__ne__"){return _b_.True}throw _b_.TypeError.$factory("'"+method2comp[op]+"' not supported between instances of '"+$B.class_name(x)+"' and '"+$B.class_name(y)+"'")};var opname2opsign={__sub__:"-",__xor__:"^",__mul__:"*"};$B.rich_op=function(op,x,y,position){try{return $B.rich_op1(op,x,y)}catch(exc){if(position){$B.set_exception_offsets(exc,$B.decode_position(position))}throw exc}};$B.rich_op1=function(op,x,y){var res_is_int,res_is_float,x_num,y_num;if(typeof x=="number"){x_num=x;if(typeof y=="number"){res_is_int=true;y_num=y}else if(y.__class__===_b_.float){res_is_float=true;y_num=y.value}}else if(x.__class__===_b_.float){x_num=x.value;if(typeof y=="number"){y_num=y;res_is_float=true}else if(y.__class__===_b_.float){res_is_float=true;y_num=y.value}}if(res_is_int||res_is_float){var z;switch(op){case"__add__":z=x_num+y_num;break;case"__sub__":z=x_num-y_num;break;case"__mul__":z=x_num*y_num;break;case"__pow__":if(res_is_int&&y_num>=0){return _b_.int.$int_or_long(BigInt(x_num)**BigInt(y_num))}break;case"__truediv__":if(y_num==0){throw _b_.ZeroDivisionError.$factory("division by zero")}z=x_num/y_num;return{__class__:_b_.float,value:z}}if(z){if(res_is_int&&Number.isSafeInteger(z)){return z}else if(res_is_float){return{__class__:_b_.float,value:z}}}}else if(typeof x=="string"&&typeof y=="string"&&op=="__add__"){return x+y}var x_class=x.__class__||$B.get_class(x),y_class=y.__class__||$B.get_class(y),rop="__r"+op.substr(2),method;if(x_class===y_class){if(x_class===_b_.int){return _b_.int[op](x,y)}else if(x_class===_b_.bool){return(_b_.bool[op]||_b_.int[op])(x,y)}try{method=$B.$call($B.$getattr(x_class,op))}catch(err){if(err.__class__===_b_.AttributeError){var kl_name=$B.class_name(x);throw _b_.TypeError.$factory("unsupported operand type(s) "+"for "+opname2opsign[op]+": '"+kl_name+"' and '"+kl_name+"'")}throw err}return method(x,y)}if(_b_.issubclass(y_class,x_class)){var reflected_left=$B.$getattr(x_class,rop,false),reflected_right=$B.$getattr(y_class,rop,false);if(reflected_right&&reflected_left&&reflected_right!==reflected_left){return reflected_right(y,x)}}var res;try{var attr=$B.$getattr(x,op);method=$B.$getattr(x_class,op)}catch(err){if(err.__class__!==_b_.AttributeError){throw err}res=$B.$call($B.$getattr(y,rop))(x);if(res!==_b_.NotImplemented){return res}throw _b_.TypeError.$factory(`unsupported operand type(s) for ${$B.method_to_op[op]}:`+` '${$B.class_name(x)}' and '${$B.class_name(y)}'`)}if((op=="__add__"||op=="__mul__")&&(Array.isArray(x)||typeof x=="string"||$B.$isinstance(x,[_b_.str,_b_.bytes,_b_.bytearray,_b_.memoryview]))){try{res=method(x,y)}catch(err){res=_b_.NotImplemented}}else{res=method(x,y)}if(res===_b_.NotImplemented){try{method=$B.$getattr(y_class,rop)}catch(err){if(err.__class__!==_b_.AttributeError){throw err}throw _b_.TypeError.$factory(`unsupported operand type(s) for ${$B.method_to_op[op]}:`+` '${$B.class_name(x)}' and '${$B.class_name(y)}'`)}res=method(y,x);if(res===_b_.NotImplemented){throw _b_.TypeError.$factory(`unsupported operand type(s) for ${$B.method_to_op[op]}:`+` '${$B.class_name(x)}' and '${$B.class_name(y)}'`)}return res}else{return res}};$B.is_none=function(o){return o===undefined||o===null||o==_b_.None};var repr_stack=new Set;$B.repr={enter:function(obj){var obj_id=_b_.id(obj);if(repr_stack.has(obj_id)){return true}else{repr_stack.add(obj_id);if(repr_stack.size>$B.recursion_limit){repr_stack.clear();throw _b_.RecursionError.$factory("maximum recursion depth "+"exceeded while getting the repr of an object")}}},leave:function(obj){repr_stack.delete(_b_.id(obj))}}})(__BRYTHON__);(function($B){var _b_=$B.builtins;var object={__name__:"object",__qualname__:"object",$is_class:true,$native:true};object.__delattr__=function(self,attr){if(self.__dict__&&$B.$isinstance(self.__dict__,_b_.dict)&&_b_.dict.$contains_string(self.__dict__,attr)){_b_.dict.$delete_string(self.__dict__,attr);return _b_.None}else if(self.__dict__===undefined&&self[attr]!==undefined){delete self[attr];return _b_.None}else{var klass=self.__class__;if(klass){var prop=$B.$getattr(klass,attr);if(prop.__class__===_b_.property){if(prop.__delete__!==undefined){prop.__delete__(self);return _b_.None}}}}throw $B.attr_error(attr,self)};object.__dir__=function(self){var objects;if(self.$is_class){objects=[self].concat(self.__mro__)}else{var klass=self.__class__||$B.get_class(self);objects=[self,klass].concat(klass.__mro__)}var res=[];for(var i=0,len=objects.length;i2){console.log("error in get.apply",err);console.log("get attr",attr,"of",obj);console.log("res",res);console.log("__get__",__get__);console.log(__get__+"")}throw err}}if(__get__===null&&typeof res=="function"){__get__=function(x){return x}}if(__get__!==null){res.__name__=attr;if(attr=="__new__"||res.__class__===$B.builtin_function_or_method){res.$type="staticmethod"}var res1=__get__.apply(null,[res,obj,klass]);if($test){console.log("res",res,"res1",res1)}if(typeof res1=="function"){if(res1.__class__===$B.method){return res}if(res.$type=="staticmethod"){return res}else{var self=res.__class__===$B.method?klass:obj,method=function(){var args=[self];for(var i=0,len=arguments.length;i0){throw _b_.TypeError.$factory("object() takes no parameters")}var res=Object.create(null);res.__class__=cls;res.__dict__=$B.obj_dict({});return res}};object.$no_new_init=function(cls){var res=Object.create(null);res.__class__=cls;res.__dict__=$B.obj_dict({});return res};object.__new__=function(cls,...args){if(cls===undefined){throw _b_.TypeError.$factory("object.__new__(): not enough arguments")}var init_func=$B.$getattr(cls,"__init__");if(init_func===object.__init__){if(args.length>0){throw _b_.TypeError.$factory("object() takes no parameters")}}var res=Object.create(null);$B.update_obj(res,{__class__:cls,__dict__:$B.obj_dict({})});return res};object.__ne__=function(self,other){if(self===other){return false}var eq=$B.$getattr(self.__class__||$B.get_class(self),"__eq__",null);if(eq!==null){var res=$B.$call(eq)(self,other);if(res===_b_.NotImplemented){return res}return!$B.$bool(res)}return _b_.NotImplemented};object.__reduce__=function(self){if(!self.__dict__){throw _b_.TypeError.$factory(`cannot pickle '${$B.class_name(self)}' object`)}if($B.imported.copyreg===undefined){$B.$import("copyreg")}var res=[$B.imported.copyreg._reconstructor];var D=$B.get_class(self),B=object;for(var klass of D.__mro__){if(klass.__module__=="builtins"){B=klass;break}}var args=[D,B];if(B===object){args.push(_b_.None)}else{args.push($B.$call(B)(self))}res.push($B.fast_tuple(args));var d=$B.empty_dict();for(var attr of _b_.dict.$keys_string(self.__dict__)){_b_.dict.$setitem(d,attr,_b_.dict.$getitem_string(self.__dict__,attr))}res.push(d);return _b_.tuple.$factory(res)};function getNewArguments(self,klass){var newargs_ex=$B.$getattr(self,"__getnewargs_ex__",null);if(newargs_ex!==null){let newargs=newargs_ex();if(!newargs||newargs.__class__!==_b_.tuple){throw _b_.TypeError.$factory("__getnewargs_ex__ should "+`return a tuple, not '${$B.class_name(newargs)}'`)}if(newargs.length!=2){throw _b_.ValueError.$factory("__getnewargs_ex__ should "+`return a tuple of length 2, not ${newargs.length}`)}let args=newargs[0],kwargs=newargs[1];if(!args||args.__class__!==_b_.tuple){throw _b_.TypeError.$factory("first item of the tuple returned "+`by __getnewargs_ex__ must be a tuple, not '${$B.class_name(args)}'`)}if(!kwargs||kwargs.__class__!==_b_.dict){throw _b_.TypeError.$factory("second item of the tuple returned "+`by __getnewargs_ex__ must be a dict, not '${$B.class_name(kwargs)}'`)}return{args:args,kwargs:kwargs}}let newargs=klass.$getnewargs,args;if(!newargs){newargs=$B.$getattr(klass,"__getnewargs__",null)}if(newargs){args=newargs(self);if(!args||args.__class__!==_b_.tuple){throw _b_.TypeError.$factory("__getnewargs__ should "+`return a tuple, not '${$B.class_name(args)}'`)}return{args:args}}}object.__reduce_ex__=function(self,protocol){var klass=$B.get_class(self);if($B.imported.copyreg===undefined){$B.$import("copyreg")}if(protocol<2){return $B.$call($B.imported.copyreg._reduce_ex)(self,protocol)}var reduce=$B.$getattr(klass,"__reduce__");if(reduce!==object.__reduce__){return $B.$call(reduce)(self)}var res=[$B.imported.copyreg.__newobj__];var arg2=[klass];var newargs=getNewArguments(self,klass);if(newargs){arg2=arg2.concat(newargs.args)}res.push($B.fast_tuple(arg2));var d=$B.empty_dict(),nb=0;if(self.__dict__){for(var item of _b_.dict.$iter_items(self.__dict__)){if(item.key=="__class__"||item.key.startsWith("$")){continue}_b_.dict.$setitem(d,item.key,item.value);nb++}}if(nb==0){d=_b_.None}res.push(d);var list_like_iterator=_b_.None;if($B.$getattr(klass,"append",null)!==null&&$B.$getattr(klass,"extend",null)!==null){list_like_iterator=_b_.iter(self)}res.push(list_like_iterator);var key_value_iterator=_b_.None;if($B.$isinstance(self,_b_.dict)){key_value_iterator=_b_.dict.items(self)}res.push(key_value_iterator);return _b_.tuple.$factory(res)};object.__repr__=function(self){if(self===object){return""}if(self.__class__===_b_.type){return""}var module=self.__class__.__module__;if(module!==undefined&&!module.startsWith("$")&&module!=="builtins"){return"<"+self.__class__.__module__+"."+$B.class_name(self)+" object>"}else{return"<"+$B.class_name(self)+" object>"}};object.__setattr__=function(self,attr,val){if(val===undefined){throw _b_.TypeError.$factory("can't set attributes of built-in/extension type 'object'")}else if(self.__class__===object){if(object[attr]===undefined){throw $B.attr_error(attr,self)}else{throw _b_.AttributeError.$factory("'object' object attribute '"+attr+"' is read-only")}}if(self.__dict__){_b_.dict.$setitem(self.__dict__,attr,val)}else{self[attr]=val}return _b_.None};object.__setattr__.__get__=function(obj){return function(attr,val){object.__setattr__(obj,attr,val)}};object.__setattr__.__str__=function(){return"method object.setattr"};object.__str__=function(self){if(self===undefined||self.$kw){throw _b_.TypeError.$factory("descriptor '__str__' of 'object' "+"object needs an argument")}var klass=self.__class__||$B.get_class(self);var repr_func=$B.$getattr(klass,"__repr__");return $B.$call(repr_func).apply(null,arguments)};object.__subclasshook__=function(){return _b_.NotImplemented};object.$factory=function(){if(arguments.length>0||arguments.length==1&&arguments[0].$kw&&Object.keys(arguments[0].$kw).length>0){throw _b_.TypeError.$factory("object() takes no arguments")}var res={__class__:object},args=[res];object.__init__.apply(null,args);return res};$B.set_func_names(object,"builtins");_b_.object=object})(__BRYTHON__);(function($B){var _b_=$B.builtins;const TPFLAGS={STATIC_BUILTIN:1<<1,MANAGED_WEAKREF:1<<3,MANAGED_DICT:1<<4,SEQUENCE:1<<5,MAPPING:1<<6,DISALLOW_INSTANTIATION:1<<7,IMMUTABLETYPE:1<<8,HEAPTYPE:1<<9,BASETYPE:1<<10,HAVE_VECTORCALL:1<<11,READY:1<<12,READYING:1<<13,HAVE_GC:1<<14,METHOD_DESCRIPTOR:1<<17,VALID_VERSION_TAG:1<<19,IS_ABSTRACT:1<<20,MATCH_SELF:1<<22,LONG_SUBCLASS:1<<24,LIST_SUBCLASS:1<<25,TUPLE_SUBCLASS:1<<26,BYTES_SUBCLASS:1<<27,UNICODE_SUBCLASS:1<<28,DICT_SUBCLASS:1<<29,BASE_EXC_SUBCLASS:1<<30,TYPE_SUBCLASS:1<<31,HAVE_FINALIZE:1<<0,HAVE_VERSION_TAG:1<<18};$B.$class_constructor=function(class_name,class_obj_proxy,metaclass,resolved_bases,bases,kwargs){var dict;if(class_obj_proxy instanceof $B.str_dict){dict=$B.empty_dict();dict.$strings=class_obj_proxy}else{dict=class_obj_proxy.$target}var module=class_obj_proxy.__module__;for(var base of bases){if(base.__flags__!==undefined&&!(base.__flags__&TPFLAGS.BASETYPE)){throw _b_.TypeError.$factory("type 'bool' is not an acceptable base type")}}var extra_kwargs={};if(kwargs){for(let i=0;i0){if(bases[0].__class__===undefined){if(typeof bases[0]=="function"){if(bases.length!=1){throw _b_.TypeError.$factory("A Brython class "+"can inherit at most 1 Javascript constructor")}$B.set_func_names(bases[0],module);return $B.JSMeta}else{throw _b_.TypeError.$factory("Argument of "+class_name+" is not a class (type '"+$B.class_name(bases[0])+"')")}}for(var base of bases){var mc=base.__class__;if(metaclass===undefined){metaclass=mc}else if(mc===metaclass||_b_.issubclass(metaclass,mc)){}else if(_b_.issubclass(mc,metaclass)){metaclass=mc}else if(metaclass.__bases__&&metaclass.__bases__.indexOf(mc)==-1){throw _b_.TypeError.$factory("metaclass conflict: the "+"metaclass of a derived class must be a (non-"+"strict) subclass of the metaclasses of all its bases")}}}else{metaclass=metaclass||_b_.type}return metaclass};function set_attr_if_absent(dict,attr,value){try{$B.$getitem(dict,attr)}catch(err){$B.$setitem(dict,attr,value)}}$B.make_class_namespace=function(metaclass,class_name,module,qualname,bases){var class_dict=_b_.dict.$literal([["__module__",module],["__qualname__",qualname]]);if(metaclass!==_b_.type){var prepare=$B.$getattr(metaclass,"__prepare__",_b_.None);if(prepare!==_b_.None){class_dict=$B.$call(prepare)(class_name,bases);set_attr_if_absent(class_dict,"__module__",module);set_attr_if_absent(class_dict,"__qualname__",qualname)}}if(class_dict.__class__===_b_.dict){if(class_dict.$all_str){return class_dict.$strings}return new Proxy(class_dict,{get:function(target,prop){if(prop=="__class__"){return _b_.dict}else if(prop=="$target"){return target}console.log("get attr",prop,"of",target);if(_b_.dict.$contains_string(target,prop)){return _b_.dict.$getitem_string(target,prop)}return undefined},set:function(target,prop,value){_b_.dict.$setitem(target,prop,value)}})}else{var setitem=$B.$getattr(class_dict,"__setitem__"),getitem=$B.$getattr(class_dict,"__getitem__");return new Proxy(class_dict,{get:function(target,prop){if(prop=="__class__"){return $B.get_class(target)}else if(prop=="$target"){return target}try{return getitem(prop)}catch(err){return undefined}},set:function(target,prop,value){setitem(prop,value);return _b_.None}})}};$B.resolve_mro_entries=function(bases){var new_bases=[],has_mro_entries=false;for(var base of bases){if(!$B.$isinstance(base,_b_.type)){var mro_entries=$B.$getattr(base,"__mro_entries__",_b_.None);if(mro_entries!==_b_.None){has_mro_entries=true;var entries=_b_.list.$factory(mro_entries(bases));new_bases=new_bases.concat(entries)}else{new_bases.push(base)}}else{new_bases.push(base)}}return has_mro_entries?new_bases:bases};$B.make_class=function(qualname,factory){var A={__class__:type,__bases__:[_b_.object],__mro__:[_b_.object],__name__:qualname,__qualname__:qualname,$is_class:true};A.$factory=factory;return A};var type=$B.make_class("type",(function(){var missing={},$=$B.args("type",3,{kls:null,bases:null,cl_dict:null},["kls","bases","cl_dict"],arguments,{bases:missing,cl_dict:missing},null,"kw"),kls=$.kls,bases=$.bases,cl_dict=$.cl_dict,kw=$.kw;var kwarg={};for(var item of _b_.dict.$iter_items(kw)){kwarg[item.key]=item.value}var kwargs={$kw:[kwarg]};if(cl_dict===missing){if(bases!==missing){throw _b_.TypeError.$factory("type() takes 1 or 3 arguments")}var res=$B.get_class(kls);if(res===$B.long_int){return _b_.int}return res}else{var module=$B.frame_obj.frame[2],resolved_bases=$B.resolve_mro_entries(bases),metaclass=$B.get_metaclass(kls,module,resolved_bases);return type.__call__(metaclass,kls,resolved_bases,cl_dict,kwargs)}}));type.__class__=type;var classmethod=_b_.classmethod=$B.make_class("classmethod",(function(func){$B.check_nb_args_no_kw("classmethod",1,arguments);return{__class__:classmethod,__func__:func}}));classmethod.__get__=function(){var $=$B.args("classmethod",3,{self:null,obj:null,cls:null},["self","obj","cls"],arguments,{cls:_b_.None},null,null),self=$.self,obj=$.obj,cls=$.cls;if(cls===_b_.None||cls===undefined){cls=$B.get_class(obj)}var func_class=$B.get_class(self.__func__),candidates=[func_class].concat(func_class.__mro__);for(var candidate of candidates){if(candidate===$B.function){break}if(candidate.__get__){return candidate.__get__(self.__func__,cls,cls)}}return $B.method.$factory(self.__func__,cls)};$B.set_func_names(classmethod,"builtins");var staticmethod=_b_.staticmethod=$B.make_class("staticmethod",(function(func){return{__class__:staticmethod,__func__:func}}));staticmethod.__call__=function(self){return $B.$call(self.__func__)};staticmethod.__get__=function(self){return self.__func__};$B.set_func_names(staticmethod,"builtins");$B.getset_descriptor=$B.make_class("getset_descriptor",(function(klass,attr,getter,setter){var res={__class__:$B.getset_descriptor,__doc__:_b_.None,cls:klass,attr:attr,getter:getter,setter:setter};return res}));$B.getset_descriptor.__get__=function(self,obj,klass){console.log("__get__",self,obj,klass);if(obj===_b_.None){return self}return self.getter(self,obj,klass)};$B.getset_descriptor.__set__=function(self,klass,value){return self.setter(self,klass,value)};$B.getset_descriptor.__repr__=function(self){return``};$B.set_func_names($B.getset_descriptor,"builtins");type.$call=function(klass,new_func,init_func){return function(){var instance=new_func.bind(null,klass).apply(null,arguments);if($B.$isinstance(instance,klass)){init_func.bind(null,instance).apply(null,arguments)}return instance}};type.$call_no_new_init=function(klass,init_func){return function(){var instance=_b_.object.$no_new_init(klass);init_func(instance,...arguments);return instance}};type.$call_no_init=function(klass,new_func){return new_func.bind(null,klass)};type.__call__=function(){var extra_args=[],klass=arguments[0];for(var i=1,len=arguments.length;i1){console.log("warning: no attribute $infos for",res,"klass",klass,"attr",attr)}if($test){console.log("res is function",res)}if(attr=="__new__"||res.__class__===$B.builtin_function_or_method){res.$type="staticmethod"}if((attr=="__class_getitem__"||attr=="__init_subclass__")&&res.__class__!==_b_.classmethod){res=_b_.classmethod.$factory(res);return _b_.classmethod.__get__(res,_b_.None,klass)}if(res.__class__===$B.method){return res.__get__(null,klass)}else{if($test){console.log("return res",res)}return res}}else{return res}}};type.__hash__=function(cls){return _b_.hash(cls)};type.__init__=function(){if(arguments.length==0){throw _b_.TypeError.$factory("descriptor '__init__' of 'type' "+"object needs an argument")}};type.__init_subclass__=function(){var $=$B.args("__init_subclass__",1,{cls:null},["cls"],arguments,{},"args","kwargs");if($.args.length>0){throw _b_.TypeError.$factory(`${$.cls.__qualname__}.__init_subclass__ takes no arguments `+`(${$.args.length} given)`)}if(_b_.dict.__len__($.kwargs)>0){throw _b_.TypeError.$factory(`${$.cls.__qualname__}.__init_subclass__() `+`takes no keyword arguments`)}return _b_.None};_b_.object.__init_subclass__=type.__init_subclass__;type.__instancecheck__=function(cls,instance){var kl=instance.__class__||$B.get_class(instance);if(kl===cls){return true}else{for(var i=0;i"};type.__ror__=function(){var len=arguments.length;if(len!=1){throw _b_.TypeError.$factory(`expected 1 argument, got ${len}`)}return _b_.NotImplemented};function update_subclasses(kls,name,alias,value){for(var subclass of kls.$subclasses){if(!subclass.hasOwnProperty(name)){subclass[alias]=value;update_subclasses(subclass,name,alias,value)}}}type.__setattr__=function(kls,attr,value){var $test=false;if($test){console.log("kls is class",type)}if(type[attr]&&type[attr].__get__&&type[attr].__set__){type[attr].__set__(kls,value);return _b_.None}if(kls.__module__=="builtins"){throw _b_.TypeError.$factory(`cannot set '${attr}' attribute of immutable type '`+kls.__qualname__+"'")}kls[attr]=value;var mp=kls.__dict__||$B.$getattr(kls,"__dict__");_b_.dict.$setitem(mp,attr,value);switch(attr){case"__init__":case"__new__":kls.$factory=$B.$instance_creator(kls);break;case"__bases__":kls.__mro__=_b_.type.mro(kls);break;case"__setattr__":var initial_value=kls.$tp_setattr;kls.$tp_setattr=value;update_subclasses(kls,"__setattr__","$tp_setattr",value);break}if($test){console.log("after setattr",kls)}return _b_.None};type.mro=function(cls){if(cls===undefined){throw _b_.TypeError.$factory("unbound method type.mro() needs an argument")}var bases=cls.__bases__,seqs=[],pos1=0;for(var base of bases){let bmro=[],pos=0;if(base===undefined||base.__mro__===undefined){if(base.__class__===undefined){return[_b_.object]}else{console.log("error for base",base);console.log("cls",cls)}}bmro[pos++]=base;var _tmp=base.__mro__;if(_tmp){if(_tmp[0]===base){_tmp.splice(0,1)}for(var k=0;k<_tmp.length;k++){bmro[pos++]=_tmp[k]}}seqs[pos1++]=bmro}seqs[pos1++]=bases.slice();var mro=[cls],mpos=1;while(1){let non_empty=[],pos=0;for(let i=0;i0){non_empty[pos++]=seqs[i]}}if(non_empty.length==0){break}let candidate;for(let i=0;i-1){not_head[pos++]=s}}if(not_head.length>0){candidate=null}else{break}}if(candidate===null){throw _b_.TypeError.$factory("inconsistent hierarchy, no C3 MRO is possible")}mro[mpos++]=candidate;for(let i=0;i-1};$B.set_func_names(type,"builtins");type.__init_subclass__=_b_.classmethod.$factory(type.__init_subclass__);_b_.type=type;var property=_b_.property=$B.make_class("property",(function(fget,fset,fdel,doc){var res={__class__:property};property.__init__(res,fget,fset,fdel,doc);return res}));property.__init__=function(){var $=$B.args("__init__",5,{self:null,fget:null,fset:null,fdel:null,doc:null},["self","fget","fset","fdel","doc"],arguments,{fget:_b_.None,fset:_b_.None,fdel:_b_.None,doc:_b_.None},null,null),self=$.self,fget=$.fget,fset=$.fset,fdel=$.fdel,doc=$.doc;self.__doc__=doc;if($B.$getattr&&doc===_b_.None){self.__doc__=$B.$getattr(fget,"__doc__",doc)}self.$type=fget.$type;self.fget=fget;self.fset=fset;self.fdel=fdel;self.$is_property=true;if(fget&&fget.$attrs){for(var key in fget.$attrs){self[key]=fget.$attrs[key]}}self.__delete__=fdel;self.getter=function(fget){return property.$factory(fget,self.fset,self.fdel,self.__doc__)};self.setter=function(fset){return property.$factory(self.fget,fset,self.fdel,self.__doc__)};self.deleter=function(fdel){return property.$factory(self.fget,self.fset,fdel,self.__doc__)}};property.__get__=function(self,kls){if(self.fget===undefined){throw _b_.AttributeError.$factory("unreadable attribute")}return $B.$call(self.fget)(kls)};property.__new__=function(cls){return{__class__:cls}};property.__set__=function(self,obj,value){if(self.fset===undefined){var name=self.fget.$infos.__name__;var msg=`property '${name}' of '${$B.class_name(obj)}' object `+"has no setter";throw _b_.AttributeError.$factory(msg)}$B.$getattr(self.fset,"__call__")(obj,value)};$B.set_func_names(property,"builtins");var wrapper_descriptor=$B.wrapper_descriptor=$B.make_class("wrapper_descriptor");wrapper_descriptor.__text_signature__={__get__:function(){return"(self, /, *args, **kwargs)"}};$B.set_func_names(wrapper_descriptor,"builtins");type.__call__.__class__=wrapper_descriptor;$B.$instance_creator=function(klass){var test=false;if(test){console.log("instance creator of",klass)}if(klass.prototype&&klass.prototype.constructor==klass){return function(){return new klass(...arguments)}}if(klass.__abstractmethods__&&$B.$bool(klass.__abstractmethods__)){return function(){var ams=Array.from($B.make_js_iterator(klass.__abstractmethods__));ams.sort();var msg=(ams.length>1?"s ":" ")+ams.join(", ");throw _b_.TypeError.$factory("Can't instantiate abstract class interface "+"with abstract method"+msg)}}var metaclass=klass.__class__||$B.get_class(klass),call_func,factory;if(metaclass===_b_.type){var new_func=type.__getattribute__(klass,"__new__"),init_func=type.__getattribute__(klass,"__init__");if(init_func===_b_.object.__init__){if(new_func===_b_.object.__new__){factory=_b_.object.$new(klass)}else{factory=new_func.bind(null,klass)}}else if(new_func===_b_.object.__new__){factory=type.$call_no_new_init(klass,init_func)}else{factory=type.$call(klass,new_func,init_func)}}else{call_func=_b_.type.__getattribute__(metaclass,"__call__");if(call_func.$is_class){factory=$B.$call(call_func)}else{factory=call_func.bind(null,klass)}}factory.__class__=$B.function;factory.$infos={__name__:klass.__name__,__module__:klass.__module__};return factory};var method_wrapper=$B.method_wrapper=$B.make_class("method_wrapper",(function(attr,klass,method){var f=function(){return method.apply(null,arguments)};f.$infos={__name__:attr,__module__:klass.__module__};return f}));method_wrapper.__str__=method_wrapper.__repr__=function(self){return""};var member_descriptor=$B.member_descriptor=$B.make_class("member_descriptor",(function(attr,cls){return{__class__:member_descriptor,cls:cls,attr:attr}}));member_descriptor.__delete__=function(self,kls){if(kls.$slot_values===undefined||!kls.$slot_values.hasOwnProperty(self.attr)){throw _b_.AttributeError.$factory(self.attr)}kls.$slot_values.delete(self.attr)};member_descriptor.__get__=function(self,kls){if(kls===_b_.None){return self}if(kls.$slot_values===undefined||!kls.$slot_values.has(self.attr)){throw $B.attr_error(self.attr,kls)}return kls.$slot_values.get(self.attr)};member_descriptor.__set__=function(self,kls,value){if(kls.$slot_values===undefined){kls.$slot_values=new Map}kls.$slot_values.set(self.attr,value)};member_descriptor.__str__=member_descriptor.__repr__=function(self){return""};$B.set_func_names(member_descriptor,"builtins");var method=$B.method=$B.make_class("method",(function(func,cls){var f=function(){return $B.$call(func).bind(null,cls).apply(null,arguments)};f.__class__=method;if(typeof func!=="function"){console.log("method from func w-o $infos",func,"all",$B.$call(func))}f.$infos=func.$infos||{};f.$infos.__func__=func;f.$infos.__self__=cls;f.$infos.__dict__=$B.empty_dict();return f}));method.__eq__=function(self,other){return self.$infos!==undefined&&other.$infos!==undefined&&self.$infos.__func__===other.$infos.__func__&&self.$infos.__self__===other.$infos.__self__};method.__ne__=function(self,other){return!$B.method.__eq__(self,other)};method.__get__=function(self){var f=function(){return self(...arguments)};f.__class__=$B.method_wrapper;f.$infos=method.$infos;return f};method.__getattribute__=function(self,attr){var infos=self.$infos;if(infos&&infos[attr]){if(attr=="__code__"){var res={__class__:$B.Code};for(var key in infos.__code__){res[key]=infos.__code__[key]}return res}else{return infos[attr]}}else if(method.hasOwnProperty(attr)){return _b_.object.__getattribute__(self,attr)}else{return $B.function.__getattribute__(self.$infos.__func__,attr)}};method.__repr__=method.__str__=function(self){return""};method.__setattr__=function(self,key){if(key=="__class__"){throw _b_.TypeError.$factory("__class__ assignment only supported "+"for heap types or ModuleType subclasses")}throw $B.attr_error(key,self)};$B.set_func_names(method,"builtins");$B.method_descriptor=$B.make_class("method_descriptor");$B.classmethod_descriptor=$B.make_class("classmethod_descriptor");_b_.object.__class__=type;$B.make_iterator_class=function(name){var klass={__class__:_b_.type,__mro__:[_b_.object],__name__:name,__qualname__:name,$factory:function(items){return{__class__:klass,__dict__:$B.empty_dict(),counter:-1,items:items,len:items.length,$builtin_iterator:true}},$is_class:true,$iterator_class:true,__iter__:function(self){self.counter=self.counter===undefined?-1:self.counter;self.len=self.items.length;return self},__len__:function(self){return self.items.length},__next__:function(self){if(typeof self.test_change=="function"){var message=self.test_change();if(message){throw _b_.RuntimeError.$factory(message)}}self.counter++;if(self.counter$B.fast_tuple(self.items)));$B.GenericAlias.__call__=function(self,...args){return self.origin_class.$factory.apply(null,args)};$B.GenericAlias.__eq__=function(self,other){if(!$B.$isinstance(other,$B.GenericAlias)){return false}return $B.rich_comp("__eq__",self.origin_class,other.origin_class)&&$B.rich_comp("__eq__",self.items,other.items)};$B.GenericAlias.__getitem__=function(self,item){throw _b_.TypeError.$factory("descriptor '__getitem__' for '"+self.origin_class.__name__+"' objects doesn't apply to a '"+$B.class_name(item)+"' object")};$B.GenericAlias.__mro_entries__=function(self){return $B.fast_tuple([self.origin_class])};$B.GenericAlias.__new__=function(origin_class,items){var res={__class__:$B.GenericAlias,__mro__:[origin_class],origin_class:origin_class,items:items,$is_class:true};return res};$B.GenericAlias.__or__=function(){var $=$B.args("__or__",2,{self:null,other:null},["self","other"],arguments,{},null,null);return $B.UnionType.$factory([$.self,$.other])};$B.GenericAlias.__origin__=_b_.property.$factory((self=>self.origin_class));$B.GenericAlias.__parameters__=_b_.property.$factory((function(){return $B.fast_tuple([])}));$B.GenericAlias.__repr__=function(self){var items=Array.isArray(self.items)?self.items:[self.items];var reprs=[];for(var item of items){if(item===_b_.Ellipsis){reprs.push("...")}else{if(item.$is_class){reprs.push(item.__name__)}else{reprs.push(_b_.repr(item))}}}return self.origin_class.__qualname__+"["+reprs.join(", ")+"]"};$B.set_func_names($B.GenericAlias,"types");$B.UnionType=$B.make_class("UnionType",(function(items){return{__class__:$B.UnionType,items:items}}));$B.UnionType.__args__=_b_.property.$factory((self=>$B.fast_tuple(self.items)));$B.UnionType.__eq__=function(self,other){if(!$B.$isinstance(other,$B.UnionType)){return _b_.NotImplemented}return _b_.list.__eq__(self.items,other.items)};$B.UnionType.__or__=function(self,other){var items=self.items.slice();if(!items.includes(other)){items.push(other)}return $B.UnionType.$factory(items)};$B.UnionType.__parameters__=_b_.property.$factory((()=>$B.fast_tuple([])));$B.UnionType.__repr__=function(self){var t=[];for(var item of self.items){if(item.$is_class){var s=item.__name__;if(item.__module__!=="builtins"){s=item.__module__+"."+s}t.push(s)}else{t.push(_b_.repr(item))}}return t.join(" | ")};$B.set_func_names($B.UnionType,"types")})(__BRYTHON__);(function($B){var _b_=$B.builtins;_b_.__debug__=false;$B.$comps={">":"gt",">=":"ge","<":"lt","<=":"le"};$B.$inv_comps={">":"lt",">=":"le","<":"gt","<=":"ge"};var check_nb_args=$B.check_nb_args,check_no_kw=$B.check_no_kw,check_nb_args_no_kw=$B.check_nb_args_no_kw;var NoneType=$B.NoneType={$factory:function(){return None},__bool__:function(){return False},__class__:_b_.type,__hash__:function(){return 0},__module__:"builtins",__mro__:[_b_.object],__name__:"NoneType",__qualname__:"NoneType",__repr__:function(){return"None"},__str__:function(){return"None"},$is_class:true};NoneType.__setattr__=function(self,attr){return no_set_attr(NoneType,attr)};var None=_b_.None={__class__:NoneType};None.__doc__=None;NoneType.__doc__=None;for(var $op in $B.$comps){var key=$B.$comps[$op];switch(key){case"ge":case"gt":case"le":case"lt":NoneType["__"+key+"__"]=function(){return function(){return _b_.NotImplemented}}($op)}}for(var $func in None){if(typeof None[$func]=="function"){None[$func].__str__=function(f){return function(){return""}}($func)}}$B.set_func_names(NoneType,"builtins");_b_.__build_class__=function(){throw _b_.NotImplementedError.$factory("__build_class__")};_b_.abs=function(obj){check_nb_args_no_kw("abs",1,arguments);var klass=obj.__class__||$B.get_class(obj);try{var method=$B.$getattr(klass,"__abs__")}catch(err){if(err.__class__===_b_.AttributeError){throw _b_.TypeError.$factory("Bad operand type for abs(): '"+$B.class_name(obj)+"'")}throw err}return $B.$call(method)(obj)};_b_.aiter=function(async_iterable){return $B.$call($B.$getattr(async_iterable,"__aiter__"))()};_b_.all=function(obj){check_nb_args_no_kw("all",1,arguments);var iterable=iter(obj);while(1){try{var elt=next(iterable);if(!$B.$bool(elt)){return false}}catch(err){return true}}};_b_.anext=function(){var missing={},$=$B.args("anext",2,{async_iterator:null,_default:null},["async_iterator","_default"],arguments,{_default:missing},null,null);var awaitable=$B.$call($B.$getattr($.async_iterator,"__anext__"))();return awaitable.catch((function(err){if($B.is_exc(err,[_b_.StopAsyncIteration])){if($._default!==missing){return $._default}}throw err}))};_b_.any=function(obj){check_nb_args_no_kw("any",1,arguments);for(var elt of $B.make_js_iterator(obj)){if($B.$bool(elt)){return true}}return false};_b_.ascii=function(obj){check_nb_args_no_kw("ascii",1,arguments);var res=repr(obj),res1="",cp;for(var i=0;i=0){return prefix+value.toString(base)}return"-"+prefix+(-value).toString(base)}function bin_hex_oct(base,obj){if($B.$isinstance(obj,_b_.int)){return $builtin_base_convert_helper(obj,base)}else{try{var klass=obj.__class__||$B.get_class(obj),method=$B.$getattr(klass,"__index__")}catch(err){if(err.__class__===_b_.AttributeError){throw _b_.TypeError.$factory("'"+$B.class_name(obj)+"' object cannot be interpreted as an integer")}throw err}var res=$B.$call(method)(obj);return $builtin_base_convert_helper(res,base)}}_b_.bin=function(obj){check_nb_args_no_kw("bin",1,arguments);return bin_hex_oct(2,obj)};_b_.breakpoint=function(){$B.$import("sys",[]);var missing={},hook=$B.$getattr($B.imported.sys,"breakpointhook",missing);if(hook===missing){throw _b_.RuntimeError.$factory("lost sys.breakpointhook")}return $B.$call(hook).apply(null,arguments)};_b_.callable=function(obj){check_nb_args_no_kw("callable",1,arguments);return _b_.hasattr(obj,"__call__")};_b_.chr=function(i){check_nb_args_no_kw("chr",1,arguments);i=$B.PyNumber_Index(i);if(i<0||i>1114111){throw _b_.ValueError.$factory("Outside valid range")}else if(i>=65536&&i<=1114111){var code=i-65536,s=String.fromCodePoint(55296|code>>10)+String.fromCodePoint(56320|code&1023);return $B.make_String(s,[0])}else{return String.fromCodePoint(i)}};var code=_b_.code=$B.make_class("code");code.__repr__=code.__str__=function(_self){return``};code.__getattribute__=function(self,attr){return self[attr]};$B.set_func_names(code,"builtins");_b_.compile=function(){var $=$B.args("compile",7,{source:null,filename:null,mode:null,flags:null,dont_inherit:null,optimize:null,_feature_version:null},["source","filename","mode","flags","dont_inherit","optimize","_feature_version"],arguments,{flags:0,dont_inherit:false,optimize:-1,_feature_version:0},null,null);var module_name="$exec_"+$B.UUID();$.__class__=code;$.co_flags=$.flags;$.co_name="";var filename=$.co_filename=$.filename;var interactive=$.mode=="single"&&$.flags&512;$B.file_cache[filename]=$.source;$B.url2name[filename]=module_name;if($.flags&$B.PyCF_TYPE_COMMENTS){}if($B.$isinstance($.source,_b_.bytes)){var encoding="utf-8",lfpos=$.source.source.indexOf(10),first_line,second_line;if(lfpos==-1){first_line=$.source}else{first_line=_b_.bytes.$factory($.source.source.slice(0,lfpos))}first_line=_b_.bytes.decode(first_line,"latin-1");var encoding_re=/^[\t\f]*#.*?coding[:=][\t]*([-_.a-zA-Z0-9]+)/;var mo=first_line.match(encoding_re);if(mo){encoding=mo[1]}else if(lfpos>-1){var rest=$.source.source.slice(lfpos+1);lfpos=rest.indexOf(10);if(lfpos>-1){second_line=_b_.bytes.$factory(rest.slice(0,lfpos))}else{second_line=_b_.bytes.$factory(rest)}second_line=_b_.bytes.decode(second_line,"latin-1");mo=second_line.match(encoding_re);if(mo){encoding=mo[1]}}$.source=_b_.bytes.decode($.source,encoding)}if(!$B.$isinstance(filename,[_b_.bytes,_b_.str])){$B.warn(_b_.DeprecationWarning,`path should be string, bytes, or os.PathLike, `+`not ${$B.class_name(filename)}`)}if(interactive&&!$.source.endsWith("\n")){var lines=$.source.split("\n"),last_line=$B.last(lines);if(last_line.startsWith(" ")){var msg="unexpected EOF while parsing",exc=_b_.SyntaxError.$factory();exc.filename=filename;exc.lineno=exc.end_lineno=lines.length-1;exc.offset=0;exc.end_offset=last_line.length-1;exc.text=last_line;exc.args=[msg,$B.fast_tuple([filename,exc.lineno,exc.offset,exc.text,exc.end_lineno,exc.end_offset])];throw exc}}if($.source.__class__&&$.source.__class__.__module__=="ast"){$B.imported._ast._validate($.source);$._ast=$.source;delete $.source;return $}var _ast,parser;try{var parser_mode=$.mode=="eval"?"eval":"file";parser=new $B.Parser($.source,filename,parser_mode);parser.flags=$.flags;_ast=$B._PyPegen.run_parser(parser)}catch(err){if($.mode=="single"){var tester=parser.tokens[parser.tokens.length-2];if(tester&&(tester.type=="NEWLINE"&&$.flags&16384||tester.type=="DEDENT"&&$.flags&512)){err.__class__=_b_.SyntaxError;err.args[0]="incomplete input"}}throw err}if($.mode=="single"&&_ast.body.length==1&&_ast.body[0]instanceof $B.ast.Expr){parser=new $B.Parser($.source,filename,"eval");_ast=$B._PyPegen.run_parser(parser);$.single_expression=true}if($.flags==$B.PyCF_ONLY_AST){delete $B.url2name[filename];let res=$B.ast_js_to_py(_ast);res.$js_ast=_ast;return res}delete $B.url2name[filename];$._ast=$B.ast_js_to_py(_ast);$._ast.$js_ast=_ast;var future=$B.future_features(_ast,filename);var symtable=$B._PySymtable_Build(_ast,filename,future);$B.js_from_root({ast:_ast,symtable:symtable,filename:filename,src:$.source});return $};_b_.debug=$B.debug>0;_b_.delattr=function(obj,attr){check_nb_args_no_kw("delattr",2,arguments);if(typeof attr!="string"){throw _b_.TypeError.$factory("attribute name must be string, not '"+$B.class_name(attr)+"'")}return $B.$getattr(obj,"__delattr__")(attr)};$B.$delete=function(name,is_global){function del(obj){if(obj.__class__===$B.generator){obj.js_gen.return()}}var found=false,frame=$B.frame_obj.frame;if(!is_global){if(frame[1][name]!==undefined){found=true;del(frame[1][name]);delete frame[1][name]}}else{if(frame[2]!=frame[0]&&frame[3][name]!==undefined){found=true;del(frame[3][name]);delete frame[3][name]}}if(!found){throw $B.name_error(name)}};_b_.dir=function(obj){if(obj===undefined){var locals=_b_.locals();return _b_.sorted(locals)}check_nb_args_no_kw("dir",1,arguments);var klass=obj.__class__||$B.get_class(obj);if(obj.$is_class){var dir_func=$B.$getattr(obj.__class__,"__dir__");return $B.$call(dir_func)(obj)}try{let res=$B.$call($B.$getattr(klass,"__dir__"))(obj);res=_b_.list.$factory(res);return res}catch(err){if($B.get_option("debug")>2){console.log("error in dir, obj",obj,"klass",klass,$B.$getattr(klass,"__dir__"),err.message)}throw err}};_b_.divmod=function(x,y){check_nb_args_no_kw("divmod",2,arguments);try{return $B.rich_op("__divmod__",x,y)}catch(err){if($B.is_exc(err,[_b_.TypeError])){return _b_.tuple.$factory([$B.rich_op("__floordiv__",x,y),$B.rich_op("__mod__",x,y)])}throw err}};var enumerate=_b_.enumerate=$B.make_class("enumerate",(function(){var $ns=$B.args("enumerate",2,{iterable:null,start:null},["iterable","start"],arguments,{start:0},null,null),_iter=iter($ns["iterable"]),start=$ns["start"];return{__class__:enumerate,__name__:"enumerate iterator",counter:start-1,iter:_iter,start:start}}));enumerate.__iter__=function(self){self.counter=self.start-1;return self};enumerate.__next__=function(self){self.counter++;return $B.fast_tuple([self.counter,next(self.iter)])};$B.set_func_names(enumerate,"builtins");var $$eval=_b_.eval=function(){var $=$B.args("eval",4,{src:null,globals:null,locals:null,mode:null},["src","globals","locals","mode"],arguments,{globals:_b_.None,locals:_b_.None,mode:"eval"},null,null,4),src=$.src,_globals=$.globals,_locals=$.locals,mode=$.mode;if($.src.mode&&$.src.mode=="single"&&["",""].indexOf($.src.filename)>-1){_b_.print(">",$.src.source.trim())}var filename="";if(src.__class__===code){filename=src.filename}else if(!src.valueOf||typeof src.valueOf()!=="string"){throw _b_.TypeError.$factory(`${mode}() arg 1 must be a string,`+" bytes or code object")}else{src=src.valueOf()}var __name__="exec";if(_globals!==_b_.None&&_globals.__class__==_b_.dict&&_b_.dict.$contains_string(_globals,"__name__")){__name__=_b_.dict.$getitem_string(_globals,"__name__")}$B.url2name[filename]=__name__;var frame=$B.frame_obj.frame;$B.exec_scope=$B.exec_scope||{};if(typeof src=="string"&&src.endsWith("\\\n")){var exc=_b_.SyntaxError.$factory("unexpected EOF while parsing");var lines=src.split("\n"),line=lines[lines.length-2];exc.args=["unexpected EOF while parsing",[filename,lines.length-1,1,line]];exc.filename=filename;exc.text=line;throw exc}var local_name=("locals_"+__name__).replace(/\./g,"_"),global_name=("globals_"+__name__).replace(/\./g,"_"),exec_locals={},exec_globals={};if(_globals===_b_.None){if(frame[1]===frame[3]){global_name+="_globals";exec_locals=exec_globals=frame[3]}else{if(mode=="exec"){exec_locals=$B.clone(frame[1]);for(var attr in frame[3]){exec_locals[attr]=frame[3][attr]}exec_globals=exec_locals}else{exec_locals=frame[1];exec_globals=frame[3]}}}else{if(_globals.__class__!==_b_.dict){throw _b_.TypeError.$factory(`${mode}() globals must be `+"a dict, not "+$B.class_name(_globals))}exec_globals={};if(_globals.$jsobj){exec_globals=_globals.$jsobj}else{exec_globals=_globals.$jsobj={};for(var key of _b_.dict.$keys_string(_globals)){_globals.$jsobj[key]=_b_.dict.$getitem_string(_globals,key);if(key=="__name__"){__name__=_globals.$jsobj[key]}}_globals.$all_str=false}if(exec_globals.__builtins__===undefined){exec_globals.__builtins__=_b_.__builtins__}if(_locals===_b_.None){exec_locals=exec_globals}else{if(_locals===_globals){global_name+="_globals";exec_locals=exec_globals}else if(_locals.$jsobj){for(let key in _locals.$jsobj){exec_globals[key]=_locals.$jsobj[key]}}else{if(_locals.$jsobj){exec_locals=_locals.$jsobj}else{var klass=$B.get_class(_locals),getitem=$B.$call($B.$getattr(klass,"__getitem__")),setitem=$B.$call($B.$getattr(klass,"__setitem__"));exec_locals=new Proxy(_locals,{get(target,prop){if(prop=="$target"){return target}try{return getitem(target,prop)}catch(err){return undefined}},set(target,prop,value){return setitem(target,prop,value)}})}}}}var save_frame_obj=$B.frame_obj;var _ast;frame=[__name__,exec_locals,__name__,exec_globals];frame.is_exec_top=true;frame.__file__=filename;frame.$f_trace=$B.enter_frame(frame);var _frame_obj=$B.frame_obj;frame.$lineno=1;if(src.__class__===code){_ast=src._ast;if(_ast.$js_ast){_ast=_ast.$js_ast}else{_ast=$B.ast_py_to_js(_ast)}}try{if(!_ast){var _mode=mode=="eval"?"eval":"file";var parser=new $B.Parser(src,filename,_mode);_ast=$B._PyPegen.run_parser(parser)}var future=$B.future_features(_ast,filename),symtable=$B._PySymtable_Build(_ast,filename,future),js_obj=$B.js_from_root({ast:_ast,symtable:symtable,filename:filename,src:src,namespaces:{local_name:local_name,exec_locals:exec_locals,global_name:global_name,exec_globals:exec_globals}}),js=js_obj.js}catch(err){if(err.args){if(err.args[1]){exec_locals.$lineno=err.args[1][1]}}else{console.log("JS Error",err.message)}$B.frame_obj=save_frame_obj;throw err}if(mode=="eval"){js=`var __file__ = '${filename}'\n`+`var locals = ${local_name}\nreturn ${js}`}else if(src.single_expression){js=`var __file__ = '${filename}'\n`+`var result = ${js}\n`+`if(result !== _b_.None){\n`+`_b_.print(result)\n`+`}`}try{var exec_func=new Function("$B","_b_",local_name,global_name,"frame","_frame_obj",js)}catch(err){if($B.get_option("debug")>1){console.log("eval() error\n",$B.format_indent(js,0));console.log("-- python source\n",src)}$B.frame_obj=save_frame_obj;throw err}try{var res=exec_func($B,_b_,exec_locals,exec_globals,frame,_frame_obj)}catch(err){if($B.get_option("debug")>2){console.log("Python code\n",src,"\nexec func",$B.format_indent(exec_func+"",0),"\n filename",filename,"\n name from filename",$B.url2name[filename],"\n local_name",local_name,"\n exec_locals",exec_locals,"\n global_name",global_name,"\n exec_globals",exec_globals,"\n frame",frame,"\n _ast",_ast,"\n js",js,"\n err",err.__class__,err.args,err.$frame_obj)}$B.frame_obj=save_frame_obj;throw err}if(_globals!==_b_.None&&!_globals.$jsobj){for(var _key in exec_globals){if(!_key.startsWith("$")){_b_.dict.$setitem(_globals,_key,exec_globals[_key])}}}$B.frame_obj=save_frame_obj;return res};$$eval.$is_func=true;var exec=_b_.exec=function(){var $=$B.args("exec",3,{src:null,globals:null,locals:null},["src","globals","locals"],arguments,{globals:_b_.None,locals:_b_.None},null,null,3),src=$.src,globals=$.globals,locals=$.locals;$$eval(src,globals,locals,"exec");return _b_.None};exec.$is_func=true;var exit=_b_.exit=function(){throw _b_.SystemExit};exit.__repr__=exit.__str__=function(){return"Use exit() or Ctrl-Z plus Return to exit"};var filter=_b_.filter=$B.make_class("filter",(function(func,iterable){check_nb_args_no_kw("filter",2,arguments);iterable=iter(iterable);if(func===_b_.None){func=$B.$bool}return{__class__:filter,func:func,iterable:iterable}}));filter.__iter__=function(self){return self};filter.__next__=function(self){while(true){var _item=next(self.iterable);if(self.func(_item)){return _item}}};$B.set_func_names(filter,"builtins");_b_.format=function(){var $=$B.args("format",2,{value:null,format_spec:null},["value","format_spec"],arguments,{format_spec:""},null,null),value=$.value;var klass=value.__class__||$B.get_class(value);try{var method=$B.$getattr(klass,"__format__")}catch(err){if(err.__class__===_b_.AttributeError){throw _b_.NotImplementedError("__format__ is not implemented "+"for object '"+_b_.str.$factory(value)+"'")}throw err}return $B.$call(method)(value,$.format_spec)};function attr_error(attr,obj){var cname=$B.get_class(obj);var msg="bad operand type for unary #: '"+cname+"'";switch(attr){case"__neg__":throw _b_.TypeError.$factory(msg.replace("#","-"));case"__pos__":throw _b_.TypeError.$factory(msg.replace("#","+"));case"__invert__":throw _b_.TypeError.$factory(msg.replace("#","~"));case"__call__":throw _b_.TypeError.$factory("'"+cname+"'"+" object is not callable");default:throw $B.attr_error(attr,obj)}}_b_.getattr=function(){var missing={};var $=$B.args("getattr",3,{obj:null,attr:null,_default:null},["obj","attr","_default"],arguments,{_default:missing},null,null);if(!$B.$isinstance($.attr,_b_.str)){throw _b_.TypeError.$factory("attribute name must be string, "+`not '${$B.class_name($.attr)}'`)}return $B.$getattr($.obj,_b_.str.$to_string($.attr),$._default===missing?undefined:$._default)};$B.search_in_mro=function(klass,attr){if(klass.hasOwnProperty(attr)){return klass[attr]}var mro=klass.__mro__;for(var i=0,len=mro.length;i-1}))}break;case"__mro__":if(obj.__mro__){return _b_.tuple.$factory([obj].concat(obj.__mro__))}else if(obj.__dict__&&_b_.dict.$contains_string(obj.__dict__,"__mro__")){return _b_.dict.$getitem_string(obj.__dict__,"__mro__")}throw $B.attr_error(attr,obj);case"__subclasses__":if(klass.$factory||klass.$is_class){var subclasses=obj.$subclasses||[];return function(){return subclasses}}break}if(typeof obj=="function"){var value=obj[attr];if(value!==undefined){if(attr=="__module__"){return value}}}if(!is_class&&klass.$native){if(obj.$method_cache&&obj.$method_cache[attr]){return obj.$method_cache[attr]}if($test){console.log("native class",klass,klass[attr])}if(klass[attr]===undefined){var object_attr=_b_.object[attr];if($test){console.log("object attr",object_attr)}if(object_attr!==undefined){klass[attr]=object_attr}else{if($test){console.log("obj[attr]",obj[attr])}var attrs=obj.__dict__;if(attrs&&_b_.dict.$contains_string(attrs,attr)){return _b_.dict.$getitem_string(attrs,attr)}if(_default===undefined){throw $B.attr_error(attr,obj)}return _default}}else if(["__name__","__qualname__"].includes(attr)){attr_error(attr,obj)}if(klass.$descriptors&&klass.$descriptors[attr]!==undefined){return klass[attr](obj)}if(typeof klass[attr]=="function"){var func=klass[attr];if(attr=="__new__"){func.$type="staticmethod"}if(func.$type=="staticmethod"){return func}var self=klass[attr].__class__==$B.method?klass:obj,method=klass[attr].bind(null,self);method.__class__=$B.method;method.$infos={__func__:func,__name__:attr,__self__:self,__qualname__:klass.__qualname__+"."+attr};if(typeof obj=="object"){obj.__class__=klass;obj.$method_cache=obj.$method_cache||{};if(obj.$method_cache){obj.$method_cache[attr]=method}}return method}else if(klass[attr].__class__===_b_.classmethod){return _b_.classmethod.__get__(klass[attr],obj,klass)}else if(klass[attr]!==undefined){return klass[attr]}attr_error(rawname,klass)}var attr_func;if(is_class){if($test){console.log("obj is class",obj);console.log("is a type ?",_b_.isinstance(klass,_b_.type));console.log("is type",klass===_b_.type);console.log("suspect",klass.__name__==="type",klass.__class__===klass)}if(klass===_b_.type){attr_func=_b_.type.__getattribute__}else if(klass.__class__===klass&&klass.__name__=="type"){attr_func=_b_.type.__getattribute__}else{attr_func=$B.$call($B.$getattr(klass,"__getattribute__"))}if($test){console.log("attr func",attr_func)}}else{attr_func=klass.__getattribute__;if(attr_func===undefined){for(var cls of klass.__mro__){attr_func=cls["__getattribute__"];if(attr_func!==undefined){break}}}if($test){console.log("attr func",attr_func)}}if(typeof attr_func!=="function"){console.log(attr+" is not a function "+attr_func,klass)}var odga=_b_.object.__getattribute__;if($test){console.log("attr_func is odga ?",attr_func,attr_func===odga,"\n","\nobj[attr]",obj[attr])}if(attr_func===odga){res=obj[attr];if(Array.isArray(obj)&&Array.prototype[attr]!==undefined){res=undefined}else if(res===null){return null}else if(res!==undefined){if($test){console.log(obj,attr,obj[attr],res.__set__||res.$is_class)}if(res.$is_property){return _b_.property.__get__(res)}if(res.__set__===undefined||res.$is_class){if($test){console.log("return",res,res+"",res.__set__,res.$is_class)}return res}}}var getattr;try{res=attr_func(obj,attr);if($test){console.log("result of attr_func",res)}}catch(err){if($test){console.log("attr_func raised error",err.args,err.name)}if(klass===$B.module){getattr=obj.__getattr__;if($test){console.log("use module getattr",getattr);console.log(getattr+"")}if(getattr){try{return getattr(attr)}catch(err){if($test){console.log("encore erreur",err)}if(_default!==undefined){return _default}throw err}}}getattr=$B.search_in_mro(klass,"__getattr__");if($test){console.log("try getattr",getattr)}if(getattr){if($test){console.log("try with getattr",getattr)}try{return getattr(obj,attr)}catch(err){if(_default!==undefined){return _default}throw err}}if(_default!==undefined){return _default}throw err}if(res!==undefined){return res}if(_default!==undefined){return _default}attr_error(rawname,is_class?obj:klass)};_b_.globals=function(){check_nb_args_no_kw("globals",0,arguments);var res=$B.obj_dict($B.frame_obj.frame[3]);res.$jsobj.__BRYTHON__=$B.jsobj2pyobj($B);res.$is_namespace=true;return res};_b_.hasattr=function(obj,attr){check_nb_args_no_kw("hasattr",2,arguments);try{$B.$getattr(obj,attr);return true}catch(err){return false}};_b_.hash=function(obj){check_nb_args_no_kw("hash",1,arguments);return $B.$hash(obj)};$B.$hash=function(obj){if(obj.__hashvalue__!==undefined){return obj.__hashvalue__}if(typeof obj==="boolean"){return obj?1:0}if(obj.$is_class||obj.__class__===_b_.type||obj.__class__===$B.function){return obj.__hashvalue__=$B.$py_next_hash--}if(typeof obj=="string"){return _b_.str.__hash__(obj)}else if(typeof obj=="number"){return obj}else if(typeof obj=="boolean"){return obj?1:0}else if(obj.__class__===_b_.float){return _b_.float.$hash_func(obj)}var klass=obj.__class__||$B.get_class(obj);if(klass===undefined){throw _b_.TypeError.$factory("unhashable type: '"+_b_.str.$factory($B.jsobj2pyobj(obj))+"'")}var hash_method=_b_.type.__getattribute__(klass,"__hash__",_b_.None);if(hash_method===_b_.None){throw _b_.TypeError.$factory("unhashable type: '"+$B.class_name(obj)+"'")}function check_int(v){if(!Number.isInteger(v)&&!$B.$isinstance(v,_b_.int)){throw _b_.TypeError.$factory("__hash__ method should return an integer")}return v}var res;if(hash_method.$infos.__func__===_b_.object.__hash__){if(_b_.type.__getattribute__(klass,"__eq__")!==_b_.object.__eq__){throw _b_.TypeError.$factory("unhashable type: '"+$B.class_name(obj)+"'","hash")}else{return obj.__hashvalue__=check_int(_b_.object.__hash__(obj))}}else{return check_int($B.$call(hash_method)(obj))}};var help=_b_.help=function(obj){if(obj===undefined){obj="help"}if(typeof obj=="string"){var lib_url="https://docs.python.org/3/library";var parts=obj.split("."),head=[],url;while(parts.length>0){head.push(parts.shift());if($B.stdlib[head.join(".")]){url=head.join(".")}else{break}}if(url){var doc_url;if(["browser","javascript","interpreter"].indexOf(obj.split(".")[0])>-1){doc_url="/static_doc/"+($B.language=="fr"?"fr":"en")}else{doc_url=lib_url}window.open(`${doc_url}/${url}.html#`+obj);return}if(_b_[obj]){if(obj==obj.toLowerCase()){url=lib_url+`/functions.html#${obj}`}else if(["False","True","None","NotImplemented","Ellipsis","__debug__"].indexOf(obj)>-1){url=lib_url+`/constants.html#${obj}`}else if(_b_[obj].$is_class&&_b_[obj].__bases__.indexOf(_b_.Exception)>-1){url=lib_url+`/exceptions.html#${obj}`}if(url){window.open(url);return}}$B.$import("pydoc");return $B.$call($B.$getattr($B.imported.pydoc,"help"))(obj)}if(obj.__class__===$B.module){return help(obj.__name__)}try{_b_.print($B.$getattr(obj,"__doc__"))}catch(err){return""}};help.__repr__=help.__str__=function(){return"Type help() for interactive help, or help(object) "+"for help about object."};_b_.hex=function(obj){check_nb_args_no_kw("hex",1,arguments);return bin_hex_oct(16,obj)};_b_.id=function(obj){check_nb_args_no_kw("id",1,arguments);if(obj.$id!==undefined){return obj.$id}else if($B.$isinstance(obj,[_b_.str,_b_.int,_b_.float])&&!$B.$isinstance(obj,$B.long_int)){return $B.$getattr(_b_.str.$factory(obj),"__hash__")()}else{return obj.$id=$B.UUID()}};_b_.__import__=function(){var $=$B.args("__import__",5,{name:null,globals:null,locals:null,fromlist:null,level:null},["name","globals","locals","fromlist","level"],arguments,{globals:None,locals:None,fromlist:_b_.tuple.$factory(),level:0},null,null);return $B.$__import__($.name,$.globals,$.locals,$.fromlist)};_b_.input=function(msg){var res=prompt(msg||"")||"";if($B.imported["sys"]&&$B.imported["sys"].ps1){var ps1=$B.imported["sys"].ps1,ps2=$B.imported["sys"].ps2;if(msg==ps1||msg==ps2){console.log(msg,res)}}return res};_b_.isinstance=function(obj,cls){check_nb_args_no_kw("isinstance",2,arguments);return $B.$isinstance(obj,cls)};$B.$isinstance=function(obj,cls){if(obj===null){return cls===$B.imported.javascript.NullType}if(obj===undefined){return false}var kls;if(Array.isArray(cls)){for(kls of cls){if($B.$isinstance(obj,kls)){return true}}return false}if(cls.__class__===$B.UnionType){for(kls of cls.items){if($B.$isinstance(obj,kls)){return true}}return false}if(cls.__class__===$B.GenericAlias){throw _b_.TypeError.$factory("isinstance() arg 2 cannot be a parameterized generic")}if(!cls.__class__&&!cls.$is_class){if(!$B.$getattr(cls,"__instancecheck__",false)){throw _b_.TypeError.$factory("isinstance() arg 2 must be a type "+"or tuple of types")}}if(cls===_b_.int&&(obj===True||obj===False)){return true}if(cls===_b_.bool){switch(typeof obj){case"string":return false;case"number":return false;case"boolean":return true}}var klass=obj.__class__;if(klass==undefined){if(typeof obj=="string"){if(cls==_b_.str){return true}else if($B.builtin_classes.includes(cls)){return false}}else if(typeof obj=="number"&&Number.isFinite(obj)){if(Number.isFinite(obj)&&cls==_b_.int){return true}}klass=$B.get_class(obj)}if(klass===undefined){return false}if(klass===cls){return true}var mro=klass.__mro__;for(var i=0;i-1){return true}var sch=$B.$getattr(classinfo.__class__||$B.get_class(classinfo),"__subclasscheck__",_b_.None);if(sch==_b_.None){return false}return sch(classinfo,klass)};var iterator_class=$B.make_class("iterator",(function(getitem){return{__class__:iterator_class,getitem:getitem,counter:-1}}));iterator_class.__next__=function(self){self.counter++;try{return self.getitem(self.counter)}catch(err){throw _b_.StopIteration.$factory("")}};$B.set_func_names(iterator_class,"builtins");const callable_iterator=$B.make_class("callable_iterator",(function(func,sentinel){return{__class__:callable_iterator,func:func,sentinel:sentinel}}));callable_iterator.__iter__=function(self){return self};callable_iterator.__next__=function(self){var res=self.func();if($B.rich_comp("__eq__",res,self.sentinel)){throw _b_.StopIteration.$factory()}return res};$B.set_func_names(callable_iterator,"builtins");$B.$iter=function(obj,sentinel){if(sentinel===undefined){var klass=obj.__class__||$B.get_class(obj);try{var _iter=$B.$call($B.$getattr(klass,"__iter__"))}catch(err){if(err.__class__===_b_.AttributeError){try{var gi_method=$B.$call($B.$getattr(klass,"__getitem__")),gi=function(i){return gi_method(obj,i)},len;return iterator_class.$factory(gi)}catch(err){throw _b_.TypeError.$factory("'"+$B.class_name(obj)+"' object is not iterable")}}throw err}var res=$B.$call(_iter)(obj);try{$B.$getattr(res,"__next__")}catch(err){if($B.$isinstance(err,_b_.AttributeError)){throw _b_.TypeError.$factory("iter() returned non-iterator of type '"+$B.class_name(res)+"'")}}return res}else{return callable_iterator.$factory(obj,sentinel)}};var iter=_b_.iter=function(){var $=$B.args("iter",1,{obj:null},["obj"],arguments,{},"args","kw"),sentinel;if($.args.length>0){sentinel=$.args[0]}return $B.$iter($.obj,sentinel)};var len=_b_.len=function(obj){check_nb_args_no_kw("len",1,arguments);var klass=obj.__class__||$B.get_class(obj);try{var method=$B.$getattr(klass,"__len__")}catch(err){throw _b_.TypeError.$factory("object of type '"+$B.class_name(obj)+"' has no len()")}let res=$B.$call(method)(obj);if(!$B.$isinstance(res,_b_.int)){throw _b_.TypeError.$factory(`'${$B.class_name(res)}' object cannot be interpreted as an integer`)}if(!$B.rich_comp("__ge__",res,0)){throw _b_.ValueError.$factory("ValueError: __len__() should return >= 0")}return res};_b_.locals=function(){check_nb_args("locals",0,arguments);var locals_obj=$B.frame_obj.frame[1];var class_locals=locals_obj.$target;if(class_locals){return class_locals}var res=$B.obj_dict($B.clone(locals_obj),(function(key){return key.startsWith("$")}));res.$is_namespace=true;return res};var map=_b_.map=$B.make_class("map",(function(){var $=$B.args("map",2,{func:null,it1:null},["func","it1"],arguments,{},"args",null),func=$B.$call($.func);var iter_args=[$B.make_js_iterator($.it1)];for(var arg of $.args){iter_args.push($B.make_js_iterator(arg))}return{__class__:map,args:iter_args,func:func}}));map.__iter__=function(self){return self};map.__next__=function(self){var args=[];for(var iter of self.args){var arg=iter.next();if(arg.done){throw _b_.StopIteration.$factory("")}args.push(arg.value)}return self.func.apply(null,args)};$B.set_func_names(map,"builtins");function $extreme(args,op){var $op_name="min";if(op==="__gt__"){$op_name="max"}var $=$B.args($op_name,0,{},[],args,{},"args","kw");var has_default=false,func=false;for(var item of _b_.dict.$iter_items($.kw)){switch(item.key){case"key":func=item.value;func=func===_b_.None?func:$B.$call(func);break;case"default":var default_value=item.value;has_default=true;break;default:throw _b_.TypeError.$factory("'"+item.key+"' is an invalid keyword argument for this function")}}if(!func||func===_b_.None){func=x=>x}if($.args.length==0){throw _b_.TypeError.$factory($op_name+" expected 1 arguments, got 0")}else if($.args.length==1){var $iter=$B.make_js_iterator($.args[0]),res=null,x_value,extr_value;for(var x of $iter){if(res===null){extr_value=func(x);res=x}else{x_value=func(x);if($B.rich_comp(op,x_value,extr_value)){res=x;extr_value=x_value}}}if(res===null){if(has_default){return default_value}else{throw _b_.ValueError.$factory($op_name+"() arg is an empty sequence")}}else{return res}}else{if(has_default){throw _b_.TypeError.$factory("Cannot specify a default for "+$op_name+"() with multiple positional arguments")}var _args;if($B.last(args).$kw){_args=[$.args].concat($B.last(args))}else{_args=[$.args]}return $extreme.call(null,_args,op)}}_b_.max=function(){return $extreme(arguments,"__gt__")};var memoryview=_b_.memoryview=$B.make_class("memoryview",(function(obj){check_nb_args_no_kw("memoryview",1,arguments);if(obj.__class__===memoryview){return obj}if($B.get_class(obj).$buffer_protocol){return{__class__:memoryview,obj:obj,format:"B",itemsize:1,ndim:1,shape:_b_.tuple.$factory([_b_.len(obj)]),strides:_b_.tuple.$factory([1]),suboffsets:_b_.tuple.$factory([]),c_contiguous:true,f_contiguous:true,contiguous:true}}else{throw _b_.TypeError.$factory("memoryview: a bytes-like object "+"is required, not '"+$B.class_name(obj)+"'")}}));memoryview.$match_sequence_pattern=true,memoryview.$buffer_protocol=true;memoryview.$not_basetype=true;memoryview.__eq__=function(self,other){if(other.__class__!==memoryview){return false}return $B.$getattr(self.obj,"__eq__")(other.obj)};memoryview.__getitem__=function(self,key){var res;if($B.$isinstance(key,_b_.int)){var start=key*self.itemsize;if(self.format=="I"){res=self.obj.source[start];var coef=256;for(var i=1;i<4;i++){res+=self.obj.source[start+i]*coef;coef*=256}return res}else if("B".indexOf(self.format)>-1){if(key>self.obj.source.length-1){throw _b_.KeyError.$factory(key)}return self.obj.source[key]}else{return self.obj.source[key]}}res=self.obj.__class__.__getitem__(self.obj,key);if(key.__class__===_b_.slice){return memoryview.$factory(res)}};memoryview.__len__=function(self){return len(self.obj)/self.itemsize};memoryview.__setitem__=function(self,key,value){try{$B.$setitem(self.obj,key,value)}catch(err){throw _b_.TypeError.$factory("cannot modify read-only memory")}};memoryview.cast=function(self,format){switch(format){case"B":return memoryview.$factory(self.obj);case"I":var res=memoryview.$factory(self.obj),objlen=len(self.obj);res.itemsize=4;res.format="I";if(objlen%4!=0){throw _b_.TypeError.$factory("memoryview: length is not "+"a multiple of itemsize")}return res}};memoryview.hex=function(self){var res="",bytes=_b_.bytes.$factory(self);bytes.source.forEach((function(item){res+=item.toString(16)}));return res};memoryview.tobytes=function(self){return{__class__:_b_.bytes,source:self.obj.source}};memoryview.tolist=function(self){if(self.itemsize==1){return _b_.list.$factory(_b_.bytes.$factory(self.obj))}else if(self.itemsize==4){if(self.format=="I"){var res=[];for(var i=0;i=65536&&code<=131071||code>=131072&&code<=196607||code>=196608&&code<=262143||code>=851968&&code<=917503||code>=917504&&code<=1048575){return code}}throw _b_.TypeError.$factory("ord() expected a character, but "+"string of length "+c.length+" found")}switch($B.get_class(c)){case _b_.str:if(c.length==1){return c.charCodeAt(0)}throw _b_.TypeError.$factory("ord() expected a character, but "+"string of length "+c.length+" found");case _b_.bytes:case _b_.bytearray:if(c.source.length==1){return c.source[0]}throw _b_.TypeError.$factory("ord() expected a character, but "+"string of length "+c.source.length+" found");default:throw _b_.TypeError.$factory("ord() expected a character, but "+$B.class_name(c)+" was found")}};var complex_modulo=()=>_b_.ValueError.$factory("complex modulo");var all_ints=()=>_b_.TypeError.$factory("pow() 3rd argument not "+"allowed unless all arguments are integers");_b_.pow=function(){var $=$B.args("pow",3,{x:null,y:null,mod:null},["x","y","mod"],arguments,{mod:None},null,null),x=$.x,y=$.y,z=$.mod;if(z===_b_.None){return $B.rich_op("__pow__",x,y)}else{if($B.$isinstance(x,_b_.int)){if($B.$isinstance(y,_b_.float)){throw all_ints()}else if($B.$isinstance(y,_b_.complex)){throw complex_modulo()}else if($B.$isinstance(y,_b_.int)){if($B.$isinstance(z,_b_.complex)){throw complex_modulo()}else if(!$B.$isinstance(z,_b_.int)){throw all_ints()}}return _b_.int.__pow__(x,y,z)}else if($B.$isinstance(x,_b_.float)){throw all_ints()}else if($B.$isinstance(x,_b_.complex)){throw complex_modulo()}}};var $print=_b_.print=function(){var $ns=$B.args("print",0,{},[],arguments,{},"args","kw");var kw=$ns["kw"],end=_b_.dict.get(kw,"end","\n"),sep=_b_.dict.get(kw,"sep"," "),file=_b_.dict.get(kw,"file",$B.get_stdout());var args=$ns["args"],writer=$B.$getattr(file,"write");for(var i=0,len=args.length;i-1){has_slot=true;break}}}if(!has_slot){throw $B.attr_error(attr,klass)}}}if($test){console.log("attr",attr,"use _setattr",_setattr)}if(!_setattr){if(obj[attr]!==undefined){obj[attr]=value}else if(obj.__dict__===undefined){throw _b_.AttributeError.$factory(`'${$B.class_name(obj)}' `+`object has no attribute '${attr}' and no __dict__ for `+`setting new attributes`)}else{_b_.dict.$setitem(obj.__dict__,attr,value)}if($test){console.log("no setattr, obj",obj)}}else{if($test){console.log("apply _setattr",obj,attr)}_setattr(obj,attr,value)}return None};_b_.sorted=function(){var $=$B.args("sorted",1,{iterable:null},["iterable"],arguments,{},null,"kw");var _list=_b_.list.$factory($.iterable),args=[_list].concat(Array.from(arguments).slice(1));_b_.list.sort.apply(null,args);return _list};_b_.sum=function(){var $=$B.args("sum",2,{iterable:null,start:null},["iterable","start"],arguments,{start:0},null,null),iterable=$.iterable,start=$.start;if($B.$isinstance(start,[_b_.str,_b_.bytes])){throw _b_.TypeError.$factory("sum() can't sum bytes"+" [use b''.join(seq) instead]")}var res=start;iterable=iter(iterable);while(true){try{var _item=next(iterable);res=$B.rich_op("__add__",res,_item)}catch(err){if(err.__class__===_b_.StopIteration){break}else{throw err}}}return res};$B.missing_super2=function(obj){obj.$missing=true;return obj};var $$super=_b_.super=$B.make_class("super",(function(_type,object_or_type){var no_object_or_type=object_or_type===undefined;if(_type===undefined&&object_or_type===undefined){var frame=$B.frame_obj.frame,pyframe=$B.imported["_sys"]._getframe(),code=$B.frame.f_code.__get__(pyframe),co_varnames=code.co_varnames;if(co_varnames.length>0){_type=frame[1].__class__;if(_type===undefined){throw _b_.RuntimeError.$factory("super(): no arguments")}object_or_type=frame[1][code.co_varnames[0]]}else{throw _b_.RuntimeError.$factory("super(): no arguments")}}if(!no_object_or_type&&Array.isArray(object_or_type)){object_or_type=object_or_type[0]}var $arg2;if(object_or_type!==undefined){if(object_or_type===_type||object_or_type.$is_class&&_b_.issubclass(object_or_type,_type)){$arg2="type"}else if($B.$isinstance(object_or_type,_type)){$arg2="object"}else{throw _b_.TypeError.$factory("super(type, obj): obj must be an instance "+"or subtype of type")}}return{__class__:$$super,__thisclass__:_type,__self_class__:object_or_type,$arg2:$arg2}}));$$super.__get__=function(self,instance){return $$super.$factory(self.__thisclass__,instance)};$$super.__getattribute__=function(self,attr){if(self.__thisclass__.$is_js_class){if(attr=="__init__"){return function(){mro[0].$js_func.call(self.__self_class__,...arguments)}}}var object_or_type=self.__self_class__,mro=self.$arg2=="type"?object_or_type.__mro__:$B.get_class(object_or_type).__mro__;var search_start=mro.indexOf(self.__thisclass__)+1,search_classes=mro.slice(search_start);var $test=attr=="new";if($test){console.log("super.__ga__, self",self,"search classes",search_classes)}var f;for(var klass of search_classes){if(klass===undefined){console.log("klass undef in super",self);console.log("mro",mro)}if(klass[attr]!==undefined){f=klass[attr];break}}if(f===undefined){if($$super[attr]!==undefined){return function(x){return function(){var args=[x];for(var i=0,len=arguments.length;i";if(self.__self_class__!==undefined){res+=", <"+self.__self_class__.__class__.__name__+" object>"}else{res+=", NULL"}return res+">"};$B.set_func_names($$super,"builtins");_b_.vars=function(){var def={},$=$B.args("vars",1,{obj:null},["obj"],arguments,{obj:def},null,null);if($.obj===def){return _b_.locals()}else{try{return $B.$getattr($.obj,"__dict__")}catch(err){if(err.__class__===_b_.AttributeError){throw _b_.TypeError.$factory("vars() argument must have __dict__ attribute")}throw err}}};var $Reader=$B.make_class("Reader");$Reader.__bool__=function(){return true};$Reader.__enter__=function(self){return self};$Reader.__exit__=function(self){$Reader.close(self)};$Reader.__init__=function(_self,initial_value=""){_self.$content=initial_value;_self.$counter=0};$Reader.__iter__=function(self){return iter($Reader.readlines(self))};$Reader.__len__=function(self){return self.lines.length};$Reader.__new__=function(cls){return{__class__:cls}};$Reader.close=function(self){self.closed=true};$Reader.flush=function(){return None};$Reader.read=function(){var $=$B.args("read",2,{self:null,size:null},["self","size"],arguments,{size:-1},null,null),self=$.self,size=$B.$GetInt($.size);if(self.closed===true){throw _b_.ValueError.$factory("I/O operation on closed file")}var len=_b_.len(self.$content);if(size<0){size=len-self.$counter}var res;if(self.$binary){res=_b_.bytes.$factory(self.$content.source.slice(self.$counter,self.$counter+size))}else{res=self.$content.substr(self.$counter,size)}self.$counter+=size;return res};$Reader.readable=function(){return true};function make_lines(self){if(self.$lines===undefined){if(!self.$binary){self.$lines=self.$content.split("\n");if($B.last(self.$lines)==""){self.$lines.pop()}self.$lines=self.$lines.map((x=>x+"\n"))}else{var lines=[],pos=0,source=self.$content.source,len=source.length;while(pos-1){rest=rest.slice(0,size)}self.$counter=self.$content.source.length;return _b_.bytes.$factory(rest)}else{var line_source=self.$content.source.slice(self.$counter,ix+1);if(size>-1){line_source=line_source.slice(0,size)}result={__class__:_b_.bytes,source:line_source};self.$counter=ix+1;return result}}else{if(self.$counter==self.$content.length){return""}ix=self.$content.indexOf("\n",self.$counter);if(ix==-1){rest=self.$content.substr(self.$counter);if(size>-1){rest=rest.substr(0,size)}self.$counter=self.$content.length;return rest}else{result=self.$content.substring(self.$counter,ix+1);if(size>-1){result=result.substr(0,size)}self.$counter=ix+1;self.$lc+=1;return result}}};$Reader.readlines=function(){var $=$B.args("readlines",2,{self:null,hint:null},["self","hint"],arguments,{hint:-1},null,null),self=$.self,hint=$B.$GetInt($.hint);var nb_read=0;if(self.closed===true){throw _b_.ValueError.$factory("I/O operation on closed file")}self.$lc=self.$lc===undefined?-1:self.$lc;make_lines(self);var lines;if(hint<0){lines=self.$lines.slice(self.$lc+1)}else{lines=[];while(self.$lc-1;if(mode.search("w")>-1){result={$binary:is_binary,$content:is_binary?_b_.bytes.$factory():"",$encoding:encoding,closed:False,mode:mode,name:file};result.__class__=is_binary?$BufferedReader:$TextIOWrapper;$B.file_cache[file]=result.$content;return result}else if(["r","rb"].indexOf(mode)==-1){throw _b_.ValueError.$factory("Invalid mode '"+mode+"'")}if($B.$isinstance(file,_b_.str)){if($B.file_cache.hasOwnProperty($.file)){var f=$B.file_cache[$.file];result.content=f;if(is_binary&&typeof f=="string"){result.content=_b_.str.encode(f,"utf-8")}else if(f.__class__===_b_.bytes&&!is_binary){result.content=_b_.bytes.decode(f,encoding)}}else if($B.files&&$B.files.hasOwnProperty($.file)){var $res=atob($B.files[$.file].content);var source=[];for(const char of $res){source.push(char.charCodeAt(0))}result.content=_b_.bytes.$factory(source);if(!is_binary){try{result.content=_b_.bytes.decode(result.content,encoding)}catch(error){result.error=error}}}else if($B.protocol!="file"){var req=new XMLHttpRequest;req.overrideMimeType("text/plain;charset=x-user-defined");req.onreadystatechange=function(){if(this.readyState!=4){return}var status=this.status;if(status==404){result.error=_b_.FileNotFoundError.$factory(file)}else if(status!=200){result.error=_b_.IOError.$factory("Could not open file "+file+" : status "+status)}else{var bytes=[];for(var i=0,len=this.response.length;i63232){cp-=63232}bytes.push(cp)}result.content=_b_.bytes.$factory(bytes);if(!is_binary){try{result.content=_b_.bytes.decode(result.content,encoding)}catch(error){result.error=error}}}};var cache=$B.get_option("cache"),fake_qs=cache?"":"?foo="+(new Date).getTime();req.open("GET",encodeURI(file+fake_qs),false);req.send()}else{throw _b_.FileNotFoundError.$factory("cannot use 'open()' with protocol 'file'")}if(result.error!==undefined){throw result.error}var res={$binary:is_binary,$content:result.content,$counter:0,$encoding:encoding,$length:is_binary?result.content.source.length:result.content.length,closed:False,mode:mode,name:file};res.__class__=is_binary?$BufferedReader:$TextIOWrapper;return res}else{throw _b_.TypeError.$factory("invalid argument for open(): "+_b_.str.$factory(file))}};var zip=_b_.zip=$B.make_class("zip",(function(){var res={__class__:zip,items:[]};if(arguments.length==0){return res}var $ns=$B.args("zip",0,{},[],arguments,{},"args","kw");var _args=$ns["args"],strict=$B.$bool(_b_.dict.get($ns.kw,"strict",false));var iters=[];for(var arg of _args){iters.push($B.make_js_iterator(arg))}return{__class__:zip,iters:iters,strict:strict}}));zip.__iter__=function(self){return self};zip.__next__=function(self){var res=[],len=self.iters.length;for(var i=0;i0){throw _b_.ValueError.$factory(`zip() argument ${i+1} is longer than argument ${i}`)}else{for(var j=1;j!x.startsWith("$")))};$B.function.__get__=function(self,obj){if(obj===_b_.None){return self}return $B.method.$factory(self,obj)};$B.function.__getattribute__=function(self,attr){if(self.$infos&&self.$infos[attr]!==undefined){if(attr=="__code__"){var res={__class__:code};for(var _attr in self.$infos.__code__){res[_attr]=self.$infos.__code__[_attr]}res.name=self.$infos.__name__;res.filename=self.$infos.__code__.co_filename;res.co_code=self+"";return res}else if(attr=="__annotations__"){return $B.obj_dict(self.$infos[attr])}else if(self.$infos.hasOwnProperty(attr)){return self.$infos[attr]}}else if(self.$infos&&self.$infos.__dict__&&_b_.dict.$contains_string(self.$infos.__dict__,attr)){return _b_.dict.$getitem_string(self.$infos.__dict__,attr)}else if(attr=="__closure__"){var free_vars=self.$infos.__code__.co_freevars;if(free_vars.length==0){return None}var cells=[];for(var i=0;i"}else{return""}};$B.function.__mro__=[_b_.object];$B.make_function_infos=function(f,__module__,__defaults__,__kwdefaults__,__doc__,arg_names,vararg,kwarg,co_argcount,co_filename,co_firstlineno,co_flags,co_freevars,co_kwonlyargcount,co_name,co_nlocals,co_posonlyargcount,co_qualname,co_varnames){f.$is_func=true;f.$infos={__module__:__module__,__defaults__:__defaults__,__kwdefaults__:__kwdefaults__,__doc__:__doc__,arg_names:arg_names,vararg:vararg,kwarg:kwarg};f.$infos.__name__=co_name;f.$infos.__qualname__=co_qualname;co_freevars.__class__=_b_.tuple;co_varnames.__class__=_b_.tuple;f.$infos.__code__={co_argcount:co_argcount,co_filename:co_filename,co_firstlineno:co_firstlineno,co_flags:co_flags,co_freevars:co_freevars,co_kwonlyargcount:co_kwonlyargcount,co_name:co_name,co_nlocals:co_nlocals,co_posonlyargcount:co_posonlyargcount,co_qualname:co_qualname,co_varnames:co_varnames}};$B.make_args_parser=function(f){if(f.$infos===undefined||f.$infos.__code__===undefined){throw _b_.AttributeError.$factory(`cannot set defauts to ${_b_.str.$factory(f)}`)}const varnames=f.$infos.__code__.co_varnames,value=f.$infos.__defaults__,offset=f.$infos.__code__.co_argcount-value.length,$kwdefaults=new Map;var nb_kw_defaults=f.$infos.__kwdefaults__===_b_.None?0:_b_.dict.__len__(f.$infos.__kwdefaults__);if(f.$infos.__kwdefaults__!==_b_.None){const kwdef=f.$infos.__kwdefaults__;for(let kw of $B.make_js_iterator(kwdef)){$kwdefaults.set(kw,$B.$getitem(kwdef,kw))}}f.$kwdefaults=$kwdefaults;f.$kwdefaults_values=[...$kwdefaults.values()];f.$hasParams=new Set;var nb_args=f.$infos.__code__.co_argcount+f.$infos.__code__.co_kwonlyargcount+(f.$infos.kwargs?1:0);for(let i=0;i0){named_defaults=PARAMS_NAMED_DEFAULTS_COUNT>=PARAMS_NAMED_COUNT?DEFAULTS.ALL:DEFAULTS.SOME}const PARAMS_POSONLY_COUNT=$CODE.co_posonlyargcount;const PARAMS_POS_COUNT=$CODE.co_argcount-PARAMS_POSONLY_COUNT;let pos_defaults=DEFAULTS.NONE;if(PARAMS_POS_COUNT!==0&&value.length>0){pos_defaults=value.length>=PARAMS_POS_COUNT?DEFAULTS.ALL:DEFAULTS.SOME}let posonly_defaults=DEFAULTS.NONE;if(value.length>PARAMS_POS_COUNT){posonly_defaults=value.length>=$CODE.co_argcount?DEFAULTS.ALL:DEFAULTS.SOME}f.$args_parser=f.$infos.args_parser=$B.getArgs0(PARAMS_POSONLY_COUNT!==0,posonly_defaults,PARAMS_POS_COUNT!==0,pos_defaults,$INFOS.vararg!==null,PARAMS_NAMED_COUNT!==0,named_defaults,$INFOS.kwarg!==null);return f.$args_parser};$B.function.__setattr__=function(self,attr,value){if(attr=="__closure__"){throw _b_.AttributeError.$factory("readonly attribute")}else if(attr=="__defaults__"){if(value===_b_.None){value=[]}else if(!$B.$isinstance(value,_b_.tuple)){throw _b_.TypeError.$factory("__defaults__ must be set to a tuple object")}if(self.$infos){self.$infos.__defaults__=value;$B.make_args_parser(self)}else{throw _b_.AttributeError.$factory("cannot set attribute "+attr+" of "+_b_.str.$factory(self))}}else if(attr=="__kwdefaults__"){if(value===_b_.None){value=$B.empty_dict}else if(!$B.$isinstance(value,_b_.dict)){throw _b_.TypeError.$factory("__kwdefaults__ must be set to a dict object")}if(self.$infos){self.$infos.__kwdefaults__=value;$B.make_args_parser(self)}else{throw _b_.AttributeError.$factory("cannot set attribute "+attr+" of "+_b_.str.$factory(self))}}if(self.$infos[attr]!==undefined){self.$infos[attr]=value}else{self.$attrs=self.$attrs||{};self.$attrs[attr]=value}};$B.function.$factory=function(){};$B.set_func_names($B.function,"builtins");_b_.__BRYTHON__=__BRYTHON__;$B.builtin_funcs=["__build_class__","abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dir","divmod","eval","exec","exit","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","locals","max","min","next","oct","open","ord","pow","print","quit","repr","round","setattr","sorted","sum","vars"];var builtin_function=$B.builtin_function_or_method=$B.make_class("builtin_function_or_method",(function(f){f.__class__=builtin_function;return f}));builtin_function.__getattribute__=$B.function.__getattribute__;builtin_function.__reduce_ex__=builtin_function.__reduce__=function(self){return self.$infos.__name__};builtin_function.__repr__=builtin_function.__str__=function(self){return""};$B.set_func_names(builtin_function,"builtins");var method_wrapper=$B.make_class("method_wrapper");method_wrapper.__repr__=method_wrapper.__str__=function(self){return""};$B.set_func_names(method_wrapper,"builtins");$B.builtin_classes=["bool","bytearray","bytes","classmethod","complex","dict","enumerate","filter","float","frozenset","int","list","map","memoryview","object","property","range","reversed","set","slice","staticmethod","str","super","tuple","type","zip"];var other_builtins=["Ellipsis","False","None","True","__debug__","__import__","copyright","credits","license","NotImplemented"];var builtin_names=$B.builtin_funcs.concat($B.builtin_classes).concat(other_builtins);for(var name of builtin_names){try{if($B.builtin_funcs.indexOf(name)>-1){_b_[name].__class__=builtin_function;_b_[name].$infos={__module__:"builtins",__name__:name,__qualname__:name}}}catch(err){}}_b_.object.__init__.__class__=$B.wrapper_descriptor;_b_.object.__new__.__class__=builtin_function})(__BRYTHON__);(function($B){var _b_=$B.builtins;var DEFAULT_MIN_MERGE=32;var DEFAULT_MIN_GALLOPING=7;var DEFAULT_TMP_STORAGE_LENGTH=256;var POWERS_OF_TEN=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function log10(x){if(x<1e5){if(x<100){return x<10?0:1}if(x<1e4){return x<1e3?2:3}return 4}if(x<1e7){return x<1e6?5:6}if(x<1e9){return x<1e8?7:8}return 9}function alphabeticalCompare(a,b){if(a===b){return 0}if(~~a===a&&~~b===b){if(a===0||b===0){return a=0){return-1}if(a>=0){return 1}a=-a;b=-b}var al=log10(a),bl=log10(b);var t=0;if(albl){b*=POWERS_OF_TEN[al-bl-1];a/=10;t=1}if(a===b){return t}return a=DEFAULT_MIN_MERGE){r|=n&1;n>>=1}return n+r}function makeAscendingRun(array,lo,hi,compare){var runHi=lo+1;if(runHi===hi){return 1}if(compare(array[runHi++],array[lo])<0){while(runHi=0){runHi++}}return runHi-lo}function reverseRun(array,lo,hi){hi--;while(lo>>1;if(compare(pivot,array[mid])<0){right=mid}else{left=mid+1}}var n=start-left;switch(n){case 3:array[left+3]=array[left+2];case 2:array[left+2]=array[left+1];case 1:array[left+1]=array[left];break;default:while(n>0){array[left+n]=array[left+n-1];n--}}array[left]=pivot}}function gallopLeft(value,array,start,length,hint,compare){var lastOffset=0,maxOffset=0,offset=1;if(compare(value,array[start+hint])>0){maxOffset=length-hint;while(offset0){lastOffset=offset;offset=(offset<<1)+1;if(offset<=0){offset=maxOffset}}if(offset>maxOffset){offset=maxOffset}lastOffset+=hint;offset+=hint}else{maxOffset=hint+1;while(offsetmaxOffset){offset=maxOffset}var tmp=lastOffset;lastOffset=hint-offset;offset=hint-tmp}lastOffset++;while(lastOffset>>1);if(compare(value,array[start+m])>0){lastOffset=m+1}else{offset=m}}return offset}function gallopRight(value,array,start,length,hint,compare){var lastOffset=0,maxOffset=0,offset=1;if(compare(value,array[start+hint])<0){maxOffset=hint+1;while(offsetmaxOffset){offset=maxOffset}var tmp=lastOffset;lastOffset=hint-offset;offset=hint-tmp}else{maxOffset=length-hint;while(offset=0){lastOffset=offset;offset=(offset<<1)+1;if(offset<=0){offset=maxOffset}}if(offset>maxOffset){offset=maxOffset}lastOffset+=hint;offset+=hint}lastOffset++;while(lastOffset>>1);if(compare(value,array[start+m])<0){offset=m}else{lastOffset=m+1}}return offset}var TIM_SORT_ASSERTION="TimSortAssertion";var TimSortAssertion=function(message){this.name=TIM_SORT_ASSERTION;this.message=message};var TimSort=function(array,compare){var self={array:array,compare:compare,minGallop:DEFAULT_MIN_GALLOPING,length:array.length,tmpStorageLength:DEFAULT_TMP_STORAGE_LENGTH,stackLength:0,runStart:null,runLength:null,stackSize:0,pushRun:function(runStart,runLength){this.runStart[this.stackSize]=runStart;this.runLength[this.stackSize]=runLength;this.stackSize+=1},mergeRuns:function(){while(this.stackSize>1){var n=this.stackSize-2;if(n>=1&&this.runLength[n-1]<=this.runLength[n]+this.runLength[n+1]||n>=2&&this.runLength[n-2]<=this.runLength[n]+this.runLength[n-1]){if(this.runLength[n-1]this.runLength[n+1]){break}this.mergeAt(n)}},forceMergeRuns:function(){while(this.stackSize>1){var n=this.stackSize-2;if(n>0&&this.runLength[n-1]=DEFAULT_MIN_GALLOPING||count2>=DEFAULT_MIN_GALLOPING);if(exit){break}if(minGallop<0){minGallop=0}minGallop+=2}this.minGallop=minGallop;if(minGallop<1){this.minGallop=1}if(length1===1){for(let i=0;i=0;i--){array[customDest+i]=array[customCursor+i]}array[dest]=tmp[cursor2];return}var minGallop=this.minGallop;while(true){let count1=0,count2=0,exit=false;do{if(compare(tmp[cursor2],array[cursor1])<0){array[dest--]=array[cursor1--];count1++;count2=0;if(--length1===0){exit=true;break}}else{array[dest--]=tmp[cursor2--];count2++;count1=0;if(--length2===1){exit=true;break}}}while((count1|count2)=0;i--){array[customDest+i]=array[customCursor+i]}if(length1===0){exit=true;break}}array[dest--]=tmp[cursor2--];if(--length2===1){exit=true;break}count2=length2-gallopLeft(array[cursor1],tmp,0,length2,length2-1,compare);if(count2!==0){dest-=count2;cursor2-=count2;length2-=count2;customDest=dest+1;customCursor=cursor2+1;for(let i=0;i=DEFAULT_MIN_GALLOPING||count2>=DEFAULT_MIN_GALLOPING);if(exit){break}if(minGallop<0){minGallop=0}minGallop+=2}this.minGallop=minGallop;if(minGallop<1){this.minGallop=1}if(length2===1){dest-=length1;cursor1-=length1;customDest=dest+1;customCursor=cursor1+1;for(let i=length1-1;i>=0;i--){array[customDest+i]=array[customCursor+i]}array[dest]=tmp[cursor2]}else if(length2==0){throw new TimSortAssertion("mergeHigh preconditions were not respected")}else{customCursor=dest-(length2-1);for(let i=0;i>>1}self.tmp=new Array(self.tmpStorageLength);self.stackLength=self.length<120?5:self.length<1542?10:self.length<119151?19:40;self.runStart=new Array(self.stackLength);self.runLength=new Array(self.stackLength);return self};function tim_sort(array,compare,lo,hi){if(!Array.isArray(array)){throw _b_.TypeError.$factory("Can only sort arrays")}if(!compare){compare=alphabeticalCompare}else if(typeof compare!=="function"){hi=lo;lo=compare;compare=alphabeticalCompare}if(!lo){lo=0}if(!hi){hi=array.length}var remaining=hi-lo;if(remaining<2){return}var runLength=0;if(remainingminRun){force=minRun}binaryInsertionSort(array,lo,lo+force,lo+runLength,compare);runLength=force}ts.pushRun(lo,runLength);ts.mergeRuns();remaining-=runLength;lo+=runLength}while(remaining!==0);ts.forceMergeRuns()}function tim_sort_safe(array,compare){try{tim_sort(array,compare,0,array.length)}catch(e){if(e.name==TIM_SORT_ASSERTION){array.sort(compare)}else{throw e}}}$B.$TimSort=tim_sort_safe;$B.$AlphabeticalCompare=alphabeticalCompare})(__BRYTHON__);(function($B){var _b_=$B.builtins;$B.del_exc=function(frame){delete frame[1].$current_exception};$B.set_exc=function(exc,frame){if(frame===undefined){var msg="Internal error: no frame for exception "+_b_.repr(exc);console.error(["Traceback (most recent call last):",$B.print_stack(exc.$frame_obj),msg].join("\n"));if($B.get_option("debug",exc)>1){console.log(exc.args);console.log(exc.stack)}throw Error(msg)}else{frame[1].$current_exception=$B.exception(exc)}};$B.set_exc_and_trace=function(frame,exc){$B.set_exc(exc,frame);if(!exc.$in_trace_func&&frame.$f_trace!==_b_.None){frame.$f_trace=$B.trace_exception()}};$B.set_exc_and_leave=function(frame,exc){$B.set_exc_and_trace(frame,exc);$B.leave_frame()};$B.get_exc=function(){var frame=$B.frame_obj.frame;return frame[1].$current_exception};$B.set_exception_offsets=function(exc,position){exc.$positions=exc.$positions||{};exc.$positions[$B.frame_obj.count-1]=position;return exc};$B.$raise=function(arg,cause){var active_exc=$B.get_exc();if(arg===undefined){if(active_exc!==undefined){throw active_exc}throw _b_.RuntimeError.$factory("No active exception to reraise")}else{if($B.$isinstance(arg,_b_.BaseException)){if(arg.__class__===_b_.StopIteration&&$B.frame_obj.frame.$is_generator){arg=_b_.RuntimeError.$factory("generator raised StopIteration")}arg.__context__=active_exc===undefined?_b_.None:active_exc;arg.__cause__=cause||_b_.None;arg.__suppress_context__=cause!==undefined;throw arg}else if(arg.$is_class&&_b_.issubclass(arg,_b_.BaseException)){if(arg===_b_.StopIteration){if($B.frame_obj.frame[1].$is_generator){throw _b_.RuntimeError.$factory("generator raised StopIteration")}}var exc=$B.$call(arg)();exc.__context__=active_exc===undefined?_b_.None:active_exc;exc.__cause__=cause||_b_.None;exc.__suppress_context__=cause!==undefined;throw exc}else{throw _b_.TypeError.$factory("exceptions must derive from BaseException")}}};$B.print_stack=function(frame_obj){var stack=make_frames_stack(frame_obj||$B.frame_obj);var trace=[];for(var frame of stack){var lineno=frame.$lineno,filename=frame.__file__;if(lineno!==undefined){var local=frame[0]==frame[2]?"":frame[0];trace.push(` File "${filename}" line ${lineno}, in ${local}`);var src=$B.file_cache[filename];if(src){var lines=src.split("\n"),line=lines[lineno-1];trace.push(" "+line.trim())}}}return trace.join("\n")};$B.last_frame=function(){var frame=$B.frame_obj.frame;return`file ${frame.__file__} line ${frame.$lineno}`};$B.count_frames=function(frame_obj){frame_obj=frame_obj||$B.frame_obj;return frame_obj==null?0:frame_obj.count};$B.get_frame_at=function(pos,frame_obj){frame_obj=frame_obj||$B.frame_obj;var nb=frame_obj.count-pos-1;for(var i=0;i"};frame.f_builtins={__get__:function(_self){return $B.$getattr(_self[3].__builtins__,"__dict__")}};frame.f_code={__get__:function(_self){var res;if(_self[4]){res=_self[4].$infos.__code__}else if(_self.f_code){res=_self.f_code}else{res={co_name:_self[0]==_self[2]?"":_self[0],co_filename:_self.__file__,co_varnames:$B.fast_tuple([])};res.co_qualname=res.co_name}res.__class__=_b_.code;return res}};frame.f_globals={__get__:function(_self){if(_self.f_globals){return _self.f_globals}else if(_self.f_locals&&_self[1]==_self[3]){return _self.f_globals=_self.f_locals}else{return _self.f_globals=$B.obj_dict(_self[3])}}};frame.f_lineno={__get__:function(_self){return _self.$lineno}};frame.f_locals={__get__:function(_self){if(_self.f_locals){return _self.f_locals}else if(_self.f_globals&&_self[1]==_self[3]){return _self.f_locals=_self.f_globals}else{return _self.f_locals=$B.obj_dict(_self[1])}}};frame.f_trace={__get__:function(_self){return _self.$f_trace}};$B.set_func_names(frame,"builtins");$B._frame=frame;$B.deep_copy=function(stack){var res=[];for(const s of stack){var item=[s[0],{},s[2],{}];if(s[4]!==undefined){item.push(s[4])}for(const i of[1,3]){for(var key in s[i]){item[i][key]=s[i][key]}}res.push(item)}return res};$B.restore_frame_obj=function(frame_obj,locals){$B.frame_obj=frame_obj;$B.frame_obj.frame[1]=locals};$B.make_linenums=function(frame_obj){var res=[];frame_obj=frame_obj||$B.frame_obj;while(frame_obj!==null){res.push(frame_obj.frame.$lineno);frame_obj=frame_obj.prev}return res.reverse()};var make_frames_stack=$B.make_frames_stack=function(frame_obj){var stack=[];while(frame_obj!==null){stack[stack.length]=frame_obj.frame;frame_obj=frame_obj.prev}stack.reverse();return stack};$B.freeze=function(err){if(err.$frame_obj===undefined){err.$frame_obj=$B.frame_obj;err.$linenums=$B.make_linenums()}err.__traceback__=traceback.$factory(err)};$B.exception=function(js_exc){var exc;if(!js_exc.__class__){if(js_exc.$py_exc){return js_exc.$py_exc}if($B.get_option("debug",exc)>1){console.log("Javascript error",js_exc)}var msg=js_exc.name+": "+js_exc.message;exc=_b_.JavascriptError.$factory(msg);exc.$js_exc=js_exc;if($B.is_recursion_error(js_exc)){msg="maximum recursion depth exceeded";exc=_b_.RecursionError.$factory(msg)}exc.__cause__=_b_.None;exc.__context__=_b_.None;exc.__suppress_context__=false;exc.args=_b_.tuple.$factory([msg]);exc.$py_error=true;js_exc.$py_exc=exc;$B.freeze(exc)}else{exc=js_exc;$B.freeze(exc)}return exc};$B.is_exc=function(exc,exc_list){if(exc.__class__===undefined){exc=$B.exception(exc)}var this_exc_class=exc.$is_class?exc:exc.__class__;for(var i=0;i1){res+=", "+_b_.repr($B.fast_tuple(self.args.slice(1)))}return res+")"};_b_.BaseException.__str__=function(self){if(self.args.length>0&&self.args[0]!==_b_.None){return _b_.str.$factory(self.args[0])}return""};_b_.BaseException.__new__=function(cls){var err=_b_.BaseException.$factory();err.__class__=cls;err.__dict__=$B.empty_dict();return err};_b_.BaseException.__getattr__=function(self,attr){if(attr=="__context__"){var frame=$B.frame_obj.frame,ctx=frame[1].$current_exception;return ctx||_b_.None}else{throw $B.attr_error(attr,self)}};_b_.BaseException.add_note=function(self,note){if(!$B.$isinstance(note,_b_.str)){throw _b_.TypeError.$factory("note must be a str, not "+`'${$B.class_name(note)}'`)}if(self.__notes__!==undefined){self.__notes__.push(note)}else{self.__notes__=[note]}};_b_.BaseException.with_traceback=function(_self,tb){_self.__traceback__=tb;return _self};$B.set_func_names(_b_.BaseException,"builtins");make_builtin_exception(["SystemExit","KeyboardInterrupt","GeneratorExit","Exception"],_b_.BaseException);make_builtin_exception("JavascriptError",_b_.Exception);make_builtin_exception(["ArithmeticError","AssertionError","BufferError","EOFError","LookupError","MemoryError","OSError","ReferenceError","RuntimeError","SystemError","TypeError","ValueError","Warning"],_b_.Exception);make_builtin_exception("StopIteration",_b_.Exception,"value");make_builtin_exception("StopAsyncIteration",_b_.Exception,"value");make_builtin_exception("ImportError",_b_.Exception,"name");make_builtin_exception("SyntaxError",_b_.Exception,"msg");make_builtin_exception(["FloatingPointError","OverflowError","ZeroDivisionError"],_b_.ArithmeticError);make_builtin_exception("ModuleNotFoundError",_b_.ImportError,"name");make_builtin_exception(["IndexError","KeyError"],_b_.LookupError);make_builtin_exception(["BlockingIOError","ChildProcessError","ConnectionError","FileExistsError","FileNotFoundError","InterruptedError","IsADirectoryError","NotADirectoryError","PermissionError","ProcessLookupError","TimeoutError"],_b_.OSError);make_builtin_exception(["BrokenPipeError","ConnectionAbortedError","ConnectionRefusedError","ConnectionResetError"],_b_.ConnectionError);make_builtin_exception(["NotImplementedError","RecursionError"],_b_.RuntimeError);make_builtin_exception("IndentationError",_b_.SyntaxError,"msg");make_builtin_exception("TabError",_b_.IndentationError);make_builtin_exception("UnicodeError",_b_.ValueError);make_builtin_exception(["UnicodeDecodeError","UnicodeEncodeError","UnicodeTranslateError"],_b_.UnicodeError);make_builtin_exception(["DeprecationWarning","PendingDeprecationWarning","RuntimeWarning","SyntaxWarning","UserWarning","FutureWarning","ImportWarning","UnicodeWarning","BytesWarning","ResourceWarning","EncodingWarning"],_b_.Warning);make_builtin_exception(["EnvironmentError","IOError","VMSError","WindowsError"],_b_.OSError);_b_.AttributeError=$B.make_class("AttributeError",(function(){var $=$B.args("AttributeError",3,{msg:null,name:null,obj:null},["msg","name","obj"],arguments,{msg:_b_.None,name:_b_.None,obj:_b_.None},"*",null);var err=Error();err.__class__=_b_.AttributeError;err.__traceback__=_b_.None;err.$py_error=true;err.$frame_obj=$B.frame_obj;err.$linenums=$B.make_linenums();err.args=$B.fast_tuple($.msg===_b_.None?[]:[$.msg]);err.name=$.name;err.obj=$.obj;if(err.obj===undefined){console.log("pas de obj",$)}err.__cause__=_b_.None;err.__context__=_b_.None;err.__suppress_context__=false;return err}));_b_.AttributeError.__bases__=[_b_.Exception];_b_.AttributeError.__mro__=_b_.type.mro(_b_.AttributeError);_b_.AttributeError.__str__=function(self){return self.args[0]};$B.set_func_names(_b_.AttributeError,"builtins");$B.attr_error=function(name,obj){var msg;if(obj.$is_class){msg=`type object '${obj.__name__}'`}else{msg=`'${$B.class_name(obj)}' object`}msg+=` has no attribute '${name}'`;return _b_.AttributeError.$factory({$kw:[{name:name,obj:obj,msg:msg}]})};_b_.NameError=$B.make_class("NameError",(function(){var $=$B.args("NameError",2,{message:null,name:null},["message","name"],arguments,{message:_b_.None,name:_b_.None},"*",null,1);var err=Error();err.__class__=_b_.NameError;err.__traceback__=_b_.None;err.$py_error=true;err.$frame_obj=$B.frame_obj;err.$linenums=$B.make_linenums();err.args=$B.fast_tuple($.message===_b_.None?[]:[$.message]);err.name=$.name;err.__cause__=_b_.None;err.__context__=_b_.None;err.__suppress_context__=false;return err}));_b_.NameError.__bases__=[_b_.Exception];_b_.NameError.__mro__=_b_.type.mro(_b_.NameError).slice(1);_b_.NameError.__str__=function(self){return self.args[0]};$B.set_func_names(_b_.NameError,"builtins");make_builtin_exception("UnboundLocalError",_b_.NameError);_b_.UnboundLocalError.__str__=function(self){return self.args[0]};$B.set_func_names(_b_.UnboundLocalError,"builtins");$B.name_error=function(name){var exc=_b_.NameError.$factory(`name '${name}' is not defined`);exc.name=name;exc.$frame_obj=$B.frame_obj;return exc};$B.recursion_error=function(frame){var exc=_b_.RecursionError.$factory("maximum recursion depth exceeded");$B.set_exc(exc,frame);$B.freeze(exc);return exc};var MAX_CANDIDATE_ITEMS=750,MOVE_COST=2,CASE_COST=1,SIZE_MAX=65535;function LEAST_FIVE_BITS(n){return n&31}function levenshtein_distance(a,b,max_cost){if(a==b){return 0}if(a.lengthmax_cost){return max_cost+1}var buffer=[];for(var i=0;imax_cost){return max_cost+1}}return result}function substitution_cost(a,b){if(LEAST_FIVE_BITS(a)!=LEAST_FIVE_BITS(b)){return MOVE_COST}if(a==b){return 0}if(a.toLowerCase()==b.toLowerCase()){return CASE_COST}return MOVE_COST}function calculate_suggestions(dir,name){if(dir.length>=MAX_CANDIDATE_ITEMS){return null}var suggestion_distance=2**52,suggestion=null;for(var item of dir){var max_distance=(name.length+item.length+3)*MOVE_COST/6;max_distance=Math.min(max_distance,suggestion_distance-1);var current_distance=levenshtein_distance(name,item,max_distance);if(current_distance>max_distance){continue}if(!suggestion||current_distance!x.startsWith("$")));var suggestion=calculate_suggestions(locals,name);if(suggestion){return suggestion}if(frame[2]!=frame[0]){var globals=Object.keys(frame[3]).filter((x=>!x.startsWith("$")));suggestion=calculate_suggestions(globals,name);if(suggestion){return suggestion}}if(frame[4]&&frame[4].$is_method){var instance_name=frame[4].$infos.__code__.co_varnames[0],instance=frame[1][instance_name];if(_b_.hasattr(instance,name)){return`self.${name}`}}return _b_.None};$B.offer_suggestions_for_unexpected_keyword_error=function(arg_names,key){if(key===_b_.None){return _b_.None}var suggestions=calculate_suggestions(arg_names,key);return suggestions||_b_.None};_b_.BaseExceptionGroup=$B.make_class("BaseExceptionGFroup",(function(){var missing={},$=$B.args("BaseExceptionGroup",2,{message:null,exceptions:null},["message","exceptions"],arguments,{exceptions:missing},null,null);var err=Error();err.args=$B.fast_tuple(Array.from(arguments));err.__class__=_b_.BaseExceptionGroup;err.__traceback__=_b_.None;err.$py_error=true;err.$frame_obj=$B.frame_obj;err.$linenums=$B.make_linenums();err.message=$.message;err.exceptions=$.exceptions===missing?[]:$.exceptions;if(err.exceptions!==_b_.None){var exc_list=_b_.list.$factory(err.exceptions);var all_exceptions=true;for(var exc of exc_list){if(!$B.$isinstance(exc,_b_.Exception)){all_exceptions=false;break}}if(all_exceptions){err.__class__=_b_.ExceptionGroup}}err.__cause__=_b_.None;err.__context__=_b_.None;err.__suppress_context__=false;return err}));_b_.BaseExceptionGroup.__bases__=[_b_.BaseException];_b_.BaseExceptionGroup.__mro__=_b_.type.mro(_b_.BaseExceptionGroup);_b_.BaseExceptionGroup.__str__=function(self){return`${self.message} (${self.exceptions.length} sub-exception`+`${self.exceptions.length>1?"s":""})`};_b_.BaseExceptionGroup.split=function(self,condition){var matching_excs=[],non_matching_excs=[];for(var exc of self.exceptions){if($B.$isinstance(exc,_b_.BaseExceptionGroup)){var subsplit=_b_.BaseExceptionGroup.split(exc,condition),matching=subsplit[0],non_matching=subsplit[1];if(matching===_b_.None){non_matching_excs.push(exc)}else if(matching.exceptions.length==exc.exceptions.length){matching_excs.push(exc)}else{if(matching.exceptions.length>0){matching_excs=matching_excs.concat(matching)}if(non_matching.exceptions.length>0){non_matching_excs=non_matching_excs.concat(non_matching)}}}else if(condition(exc)){matching_excs.push(exc)}else{non_matching_excs.push(exc)}}if(matching_excs.length==0){matching_excs=_b_.None}if(non_matching_excs.length==0){non_matching_excs=_b_.None}var res=[];for(var item of[matching_excs,non_matching_excs]){var eg=_b_.BaseExceptionGroup.$factory(self.message,item);eg.__cause__=self.__cause__;eg.__context__=self.__context__;eg.__traceback__=self.__traceback__;res.push(eg)}return $B.fast_tuple(res)};_b_.BaseExceptionGroup.subgroup=function(self,condition){return _b_.BaseExceptionGroup.split(self,condition)[0]};$B.set_func_names(_b_.BaseExceptionGroup,"builtins");_b_.ExceptionGroup=$B.make_class("ExceptionGFroup",(function(){var missing={},$=$B.args("ExceptionGroup",2,{message:null,exceptions:null},["message","exceptions"],arguments,{exceptions:missing},null,null);var err=Error();err.args=$B.fast_tuple(Array.from(arguments));err.__class__=_b_.ExceptionGroup;err.__traceback__=_b_.None;err.$py_error=true;err.$frame_obj=$B.frame_obj;err.$linenums=$B.make_linenums();err.message=$.message;err.exceptions=$.exceptions===missing?[]:$.exceptions;if(err.exceptions!==_b_.None){var exc_list=_b_.list.$factory(err.exceptions);for(var exc of exc_list){if(!$B.$isinstance(exc,_b_.Exception)){throw _b_.TypeError.$factory("Cannot nest BaseExceptions in an ExceptionGroup")}}}err.__cause__=_b_.None;err.__context__=_b_.None;err.__suppress_context__=false;return err}));_b_.ExceptionGroup.__bases__=[_b_.BaseExceptionGroup,_b_.Exception];_b_.ExceptionGroup.__mro__=_b_.type.mro(_b_.ExceptionGroup);$B.set_func_names(_b_.ExceptionGroup,"builtins");function trace_from_stack(err){function handle_repeats(src,count_repeats){if(count_repeats>0){var len=trace.length;for(var i=0;i<2;i++){if(src){trace.push(trace[len-2]);trace.push(trace[len-1])}else{trace.push(trace[len-1])}count_repeats--;if(count_repeats==0){break}}if(count_repeats>0){trace.push(`[Previous line repeated ${count_repeats} more`+` time${count_repeats>1?"s":""}]`)}}}var trace=[],save_filename,save_lineno,save_scope,count_repeats=0,stack=err.$frame_obj===undefined?[]:make_frames_stack(err.$frame_obj),linenos=err.$linenums;for(let frame_num=0,len=stack.length;frame_num":frame[0];if(filename==save_filename&&scope==save_scope&&lineno==save_lineno){count_repeats++;continue}handle_repeats(src,count_repeats);save_filename=filename;save_lineno=lineno;save_scope=scope;count_repeats=0;var src=$B.file_cache[filename];trace.push(` File "${filename}", line ${lineno}, in `+(frame[0]==frame[2]?"":frame[0]));if(src){var lines=src.split("\n"),line=lines[lineno-1];if(line){trace.push(" "+line.trim())}else{console.log("no line",line);console.log("lineno",lineno);console.log("filename",filename)}if(err.$positions!==undefined&&line){var position=err.$positions[frame_num],trace_line="";if(position&&(position[1]!=position[0]||position[2]-position[1]!=line.trim().length||position[3])){var indent=line.length-line.trimLeft().length;var paddings=[position[0]-indent,position[1]-position[0],position[2]-position[1]];for(var padding in paddings){if(padding<0){console.log("wrong values, position",position,"indent",indent);paddings[paddings.indexOf(padding)]=0}}trace_line+=" "+" ".repeat(paddings[0])+"~".repeat(paddings[1])+"^".repeat(paddings[2]);if(position[3]!==undefined){trace_line+="~".repeat(position[3]-position[2])}trace.push(trace_line)}}}else{console.log("no src for filename",filename)}}if(count_repeats>1){let len=trace.length;for(let i=0;i<2;i++){if(src){trace.push(trace[len-2]);trace.push(trace[len-1])}else{trace.push(trace[len-1])}}trace.push(`[Previous line repeated ${count_repeats-2} more times]`)}return trace.join("\n")+"\n"}$B.error_trace=function(err){var trace="",stack=err.$frame_obj===undefined?[]:make_frames_stack(err.$frame_obj);if($B.get_option("debug",err)>1){console.log("handle error",err.__class__,err.args);console.log("stack",stack);console.log(err.stack)}if(stack.length>0){trace="Traceback (most recent call last):\n"}if(err.__class__===_b_.SyntaxError||err.__class__===_b_.IndentationError){err.$frame_obj=err.$frame_obj===null?null:err.$frame_obj.prev;trace+=trace_from_stack(err);var filename=err.filename,line=err.text,indent=line.length-line.trimLeft().length;trace+=` File "${filename}", line ${err.args[1][1]}\n`+` ${line.trim()}\n`;if(err.__class__!==_b_.IndentationError&&err.text){if($B.get_option("debug",err)>1){console.log("error args",err.args[1]);console.log("err line",line);console.log("indent",indent)}var start=err.offset-indent-1,end_offset=err.end_offset-1+(err.end_offset==err.offset?1:0),marks=" "+" ".repeat(Math.max(0,start)),nb_marks=1;if(err.end_lineno){if(err.end_lineno>err.lineno){nb_marks=line.length-start-indent}else{nb_marks=end_offset-start-indent}if(nb_marks==0&&err.end_offset==line.substr(indent).length){nb_marks=1}}marks+="^".repeat(nb_marks)+"\n";trace+=marks}trace+=`${err.__class__.__name__}: ${err.args[0]}`}else if(err.__class__!==undefined){var name=$B.class_name(err);trace+=trace_from_stack(err);var args_str=_b_.str.$factory(err);trace+=name+(args_str?": "+args_str:"");var save_frame_obj=$B.frame_obj;$B.frame_obj=err.$frame_obj;if(err.__class__===_b_.NameError){let suggestion=$B.offer_suggestions_for_name_error(err);if(suggestion!==_b_.None&&suggestion!==err.name){trace+=`. Did you mean: '${suggestion}'?`}if($B.stdlib_module_names.indexOf(err.name)>-1){trace+=`. Did you forget to import '${err.name}'?`}}else if(err.__class__===_b_.AttributeError){let suggestion=$B.offer_suggestions_for_attribute_error(err);if(suggestion!==_b_.None){trace+=`. Did you mean: '${suggestion}'?`}}else if(err.__class__===_b_.ImportError){if(err.$suggestion!==_b_.None){trace+=`. Did you mean: '${err.$suggestion}'?`}}$B.frame_obj=save_frame_obj}else{trace=err+""}if(err.$js_exc){trace+="\n";if($B.get_option("debug",err)>1){trace+=err.$js_exc.stack}}return trace};$B.get_stderr=function(){if($B.imported.sys){return $B.imported.sys.stderr}return $B.imported._sys.stderr};$B.get_stdout=function(){if($B.imported.sys){return $B.imported.sys.stdout}return $B.imported._sys.stdout};$B.show_error=function(err){var trace=$B.error_trace($B.exception(err));try{var stderr=$B.get_stderr();$B.$getattr(stderr,"write")(trace);var flush=$B.$getattr(stderr,"flush",_b_.None);if(flush!==_b_.None){flush()}}catch(print_exc_err){console.debug(trace)}};$B.handle_error=function(err){if(err.$handled){return}err.$handled=true;$B.show_error(err);throw err}})(__BRYTHON__);(function($B){var _b_=$B.builtins,None=_b_.None,range={__class__:_b_.type,__mro__:[_b_.object],__qualname__:"range",$is_class:true,$native:true,$match_sequence_pattern:true,$not_basetype:true,$descriptors:{start:true,step:true,stop:true}};range.__contains__=function(self,other){if(range.__len__(self)==0){return false}try{other=$B.int_or_bool(other)}catch(err){try{range.index(self,other);return true}catch(err){return false}}var start=_b_.int.$to_bigint(self.start),stop=_b_.int.$to_bigint(self.stop),step=_b_.int.$to_bigint(self.step);other=_b_.int.$to_bigint(other);var sub=other-start,fl=sub/step,res=step*fl;if(res==sub){if(stop>start){return other>=start&&stop>other}else{return start>=other&&other>stop}}else{return false}};range.__delattr__=function(){throw _b_.AttributeError.$factory("readonly attribute")};range.__eq__=function(self,other){if($B.$isinstance(other,range)){var len=range.__len__(self);if(!$B.rich_comp("__eq__",len,range.__len__(other))){return false}if(len==0){return true}if(!$B.rich_comp("__eq__",self.start,other.start)){return false}if(len==1){return true}return $B.rich_comp("__eq__",self.step,other.step)}return false};function compute_item(r,i){var len=range.__len__(r);if(len==0){return r.start}else if(i>len){return r.stop}return $B.rich_op("__add__",r.start,$B.rich_op("__mul__",r.step,i))}range.__getitem__=function(self,rank){if($B.$isinstance(rank,_b_.slice)){var norm=_b_.slice.$conv_for_seq(rank,range.__len__(self)),substep=$B.rich_op("__mul__",self.step,norm.step),substart=compute_item(self,norm.start),substop=compute_item(self,norm.stop);return range.$factory(substart,substop,substep)}if(typeof rank!="number"){rank=$B.$GetInt(rank)}if($B.rich_comp("__gt__",0,rank)){rank=$B.rich_op("__add__",rank,range.__len__(self))}var res=$B.rich_op("__add__",self.start,$B.rich_op("__mul__",rank,self.step));if($B.rich_comp("__gt__",self.step,0)&&($B.rich_comp("__ge__",res,self.stop)||$B.rich_comp("__gt__",self.start,res))||$B.rich_comp("__gt__",0,self.step)&&($B.rich_comp("__ge__",self.stop,res)||$B.rich_comp("__gt__",res,self.start))){throw _b_.IndexError.$factory("range object index out of range")}return res};range.__hash__=function(self){var len=range.__len__(self);if(len==0){return _b_.hash(_b_.tuple.$factory([0,None,None]))}if(len==1){return _b_.hash(_b_.tuple.$factory([1,self.start,None]))}return _b_.hash(_b_.tuple.$factory([len,self.start,self.step]))};var RangeIterator=$B.make_class("range_iterator",(function(obj){return{__class__:RangeIterator,obj:obj}}));RangeIterator.__iter__=function(self){return self};RangeIterator.__next__=function(self){return _b_.next(self.obj)};$B.set_func_names(RangeIterator,"builtins");range.__iter__=function(self){var res={__class__:range,start:self.start,stop:self.stop,step:self.step};if(self.$safe){res.$counter=self.start-self.step}else{res.$counter=$B.rich_op("__sub__",self.start,self.step)}return RangeIterator.$factory(res)};range.__len__=function(self){var len,start=_b_.int.$to_bigint(self.start),stop=_b_.int.$to_bigint(self.stop),step=_b_.int.$to_bigint(self.step);if(self.step>0){if(self.start>=self.stop){return 0}len=1n+(stop-start-1n)/step}else{if(self.stop>=self.start){return 0}len=1n+(start-stop-1n)/-step}return _b_.int.$int_or_long(len)};range.__next__=function(self){if(self.$safe){self.$counter+=self.step;if(self.step>0&&self.$counter>=self.stop||self.step<0&&self.$counter<=self.stop){throw _b_.StopIteration.$factory("")}}else{self.$counter=$B.rich_op("__add__",self.$counter,self.step);if($B.rich_comp("__gt__",self.step,0)&&$B.rich_comp("__ge__",self.$counter,self.stop)||$B.rich_comp("__gt__",0,self.step)&&$B.rich_comp("__ge__",self.stop,self.$counter)){throw _b_.StopIteration.$factory("")}}return self.$counter};range.__reversed__=function(self){var n=$B.rich_op("__sub__",range.__len__(self),1);return range.$factory($B.rich_op("__add__",self.start,$B.rich_op("__mul__",n,self.step)),$B.rich_op("__sub__",self.start,self.step),$B.rich_op("__mul__",-1,self.step))};range.__repr__=function(self){$B.builtins_repr_check(range,arguments);var res="range("+_b_.str.$factory(self.start)+", "+_b_.str.$factory(self.stop);if(self.step!=1){res+=", "+_b_.str.$factory(self.step)}return res+")"};range.__setattr__=function(){throw _b_.AttributeError.$factory("readonly attribute")};range.start=function(self){return self.start};range.step=function(self){return self.step},range.stop=function(self){return self.stop};range.count=function(self,ob){if($B.$isinstance(ob,[_b_.int,_b_.float,_b_.bool])){return _b_.int.$factory(range.__contains__(self,ob))}else{var comp=function(other){return $B.rich_comp("__eq__",ob,other)},it=range.__iter__(self),_next=RangeIterator.__next__,nb=0;while(true){try{if(comp(_next(it))){nb++}}catch(err){if($B.$isinstance(err,_b_.StopIteration)){return nb}throw err}}}};range.index=function(){var $=$B.args("index",2,{self:null,other:null},["self","other"],arguments,{},null,null),self=$.self,other=$.other;try{other=$B.int_or_bool(other)}catch(err){var comp=function(x){return $B.rich_comp("__eq__",other,x)},it=range.__iter__(self),_next=RangeIterator.__next__,nb=0;while(true){try{if(comp(_next(it))){return nb}nb++}catch(err){if($B.$isinstance(err,_b_.StopIteration)){throw _b_.ValueError.$factory(_b_.str.$factory(other)+" not in range")}throw err}}}var sub=$B.rich_op("__sub__",other,self.start),fl=$B.rich_op("__floordiv__",sub,self.step),res=$B.rich_op("__mul__",self.step,fl);if($B.rich_comp("__eq__",res,sub)){if($B.rich_comp("__gt__",self.stop,self.start)&&$B.rich_comp("__ge__",other,self.start)&&$B.rich_comp("__gt__",self.stop,other)||$B.rich_comp("__ge__",self.start,self.stop)&&$B.rich_comp("__ge__",self.start,other)&&$B.rich_comp("__gt__",other,self.stop)){return fl}else{throw _b_.ValueError.$factory(_b_.str.$factory(other)+" not in range")}}else{throw _b_.ValueError.$factory(_b_.str.$factory(other)+" not in range")}};range.$factory=function(){var $=$B.args("range",3,{start:null,stop:null,step:null},["start","stop","step"],arguments,{start:null,stop:null,step:null},null,null),start=$.start,stop=$.stop,step=$.step,safe;if(stop===null&&step===null){if(start==null){throw _b_.TypeError.$factory("range expected 1 arguments, got 0")}stop=$B.PyNumber_Index(start);safe=typeof stop==="number";return{__class__:range,start:0,stop:stop,step:1,$is_range:true,$safe:safe}}if(step===null){step=1}start=$B.PyNumber_Index(start);stop=$B.PyNumber_Index(stop);step=$B.PyNumber_Index(step);if(step==0){throw _b_.ValueError.$factory("range arg 3 must not be zero")}safe=typeof start=="number"&&typeof stop=="number"&&typeof step=="number";return{__class__:range,start:start,stop:stop,step:step,$is_range:true,$safe:safe}};$B.set_func_names(range,"builtins");var slice={__class__:_b_.type,__mro__:[_b_.object],__qualname__:"slice",$is_class:true,$native:true,$not_basetype:true,$descriptors:{start:true,step:true,stop:true}};slice.__eq__=function(self,other){var conv1=conv_slice(self),conv2=conv_slice(other);return conv1[0]==conv2[0]&&conv1[1]==conv2[1]&&conv1[2]==conv2[2]};slice.__repr__=function(self){$B.builtins_repr_check(slice,arguments);return"slice("+_b_.str.$factory(self.start)+", "+_b_.str.$factory(self.stop)+", "+_b_.str.$factory(self.step)+")"};slice.__setattr__=function(){throw _b_.AttributeError.$factory("readonly attribute")};function conv_slice(self){var attrs=["start","stop","step"],res=[];for(var i=0;i=0;i--){if(cars.indexOf(self.source[i])==-1){break}}return bytes.$factory(self.source.slice(0,i+1))}function invalid(other){return!$B.$isinstance(other,[bytes,bytearray])}var bytearray={__class__:_b_.type,__mro__:[_b_.object],__qualname__:"bytearray",$buffer_protocol:true,$is_class:true};var mutable_methods=["__delitem__","clear","copy","count","index","pop","remove","reverse"];for(var method of mutable_methods){bytearray[method]=function(m){return function(self){var args=[self.source],pos=1;for(var i=1,len=arguments.length;i255){throw _b_.ValueError.$factory("byte must be in range(0, 256)")}var pos=arg;if(arg<0){pos=self.source.length+pos}if(pos>=0&&pos=0;i--){if(!$B.$isinstance($temp[i],_b_.int)){throw _b_.TypeError.$factory("an integer is required")}else if($temp[i]>255){throw _b_.ValueError.$factory("byte must be in range(0, 256)")}self.source.splice(start,0,$temp[i])}}catch(err){throw _b_.TypeError.$factory("can only assign an iterable")}}else{throw _b_.TypeError.$factory("list indices must be integer, not "+$B.class_name(arg))}};bytearray.append=function(self,b){if(arguments.length!=2){throw _b_.TypeError.$factory("append takes exactly one argument ("+(arguments.length-1)+" given)")}if(!$B.$isinstance(b,_b_.int)){throw _b_.TypeError.$factory("an integer is required")}if(b>255){throw _b_.ValueError.$factory("byte must be in range(0, 256)")}self.source[self.source.length]=b};bytearray.extend=function(self,b){if(self.in_iteration){throw _b_.BufferError.$factory("Existing exports of data: object "+"cannot be re-sized")}if(b.__class__===bytearray||b.__class__===bytes){self.source=self.source.concat(b.source);return _b_.None}for(var item of $B.make_js_iterator(b)){bytearray.append(self,$B.PyNumber_Index(item))}return _b_.None};bytearray.insert=function(self,pos,b){if(arguments.length!=3){throw _b_.TypeError.$factory("insert takes exactly 2 arguments ("+(arguments.length-1)+" given)")}if(!$B.$isinstance(b,_b_.int)){throw _b_.TypeError.$factory("an integer is required")}if(b>255){throw _b_.ValueError.$factory("byte must be in range(0, 256)")}_b_.list.insert(self.source,pos,b)};bytearray.$factory=function(){var args=[bytearray];for(var i=0,len=arguments.length;i-1}if(self.source.length=0&&pos0){stop=Math.min(stop,self.source.length);if(stop<=start){return bytes.$factory([])}for(let i=start;i=start){return bytes.$factory([])}stop=Math.max(0,stop);for(let i=start;i>=stop;i+=step){res[pos++]=self.source[i]}}return bytes.$factory(res)}else if($B.$isinstance(arg,_b_.bool)){return self.source.__getitem__(_b_.int.$factory(arg))}};bytes.$getnewargs=function(self){return $B.fast_tuple([bytes_value(self)])};bytes.__getnewargs__=function(){return bytes.$getnewargs($B.single_arg("__getnewargs__","self",arguments))};bytes.__gt__=function(self,other){if(invalid(other)){return _b_.NotImplemented}return _b_.list.__gt__(self.source,other.source)};bytes.__hash__=function(self){if(self===undefined){return bytes.__hashvalue__||$B.$py_next_hash--}var hash=1;for(var i=0,len=self.source.length;i=0&&item<256){source.push(item)}else{throw _b_.ValueError.$factory("bytes must be in range (0, 256)")}}}return{__class__:$.cls,source:source}};bytes.$new=function(cls,source,encoding,errors){var self={__class__:cls},int_list=[],pos=0;if(source===undefined){}else if(typeof source=="number"||$B.$isinstance(source,_b_.int)){let i=source;while(i--){int_list[pos++]=0}}else{if(typeof source=="string"||$B.$isinstance(source,_b_.str)){if(encoding===undefined){throw _b_.TypeError.$factory("string argument without an encoding")}int_list=encode(source,encoding||"utf-8",errors||"strict")}else{if(encoding!==undefined){console.log("encoding",encoding);throw _b_.TypeError.$factory("encoding without a string argument")}if(Array.isArray(source)){int_list=source}else{try{int_list=_b_.list.$factory(source)}catch(err){var bytes_method=$B.$getattr(source,"__bytes__",_b_.None);if(bytes_method===_b_.None){throw _b_.TypeError.$factory("cannot convert "+`'${$B.class_name(source)}' object to bytes`)}var res=$B.$call(bytes_method)();if(!$B.$isinstance(res,_b_.bytes)){throw _b_.TypeError.$factory(`__bytes__ returned `+`non-bytes (type ${$B.class_name(res)})`)}return res}for(let i=0;i255){throw _b_.ValueError.$factory("bytes must be in range"+"(0, 256)")}}}}}self.source=int_list;self.encoding=encoding;self.errors=errors;return self};bytes.__repr__=bytes.__str__=function(self){var t=$B.special_string_repr,res="";for(var i=0,len=self.source.length;i=128){var hx=s.toString(16);hx=(hx.length==1?"0":"")+hx;res+="\\x"+hx}else if(s=="\\".charCodeAt(0)){res+="\\\\"}else{res+=String.fromCharCode(s)}}if(res.indexOf("'")>-1&&res.indexOf('"')==-1){return'b"'+res+'"'}else{return"b'"+res.replace(new RegExp("'","g"),"\\'")+"'"}};bytes.capitalize=function(self){var src=self.source,len=src.length,buffer=src.slice();if(buffer[0]>96&&buffer[0]<123){buffer[0]-=32}for(var i=1;i64&&buffer[i]<91){buffer[i]+=32}}return bytes.$factory(buffer)};bytes.center=function(){var $=$B.args("center",3,{self:null,width:null,fillbyte:null},["self","width","fillbyte"],arguments,{fillbyte:bytes.$factory([32])},null,null);var diff=$.width-$.self.source.length;if(diff<=0){return bytes.$factory($.self.source)}var ljust=bytes.ljust($.self,$.self.source.length+Math.floor(diff/2),$.fillbyte);return bytes.rjust(ljust,$.width,$.fillbyte)};bytes.count=function(){var $=$B.args("count",4,{self:null,sub:null,start:null,end:null},["self","sub","start","end"],arguments,{start:0,end:-1},null,null);var n=0,index=-1,len=0;if(typeof $.sub=="number"){if($.sub<0||$.sub>255)throw _b_.ValueError.$factory("byte must be in range(0, 256)");len=1}else if(!$.sub.__class__){throw _b_.TypeError.$factory("first argument must be a bytes-like "+"object, not '"+$B.class_name($.sub)+"'")}else if(!$.sub.__class__.$buffer_protocol){throw _b_.TypeError.$factory("first argument must be a bytes-like "+"object, not '"+$B.class_name($.sub)+"'")}else{len=$.sub.source.length}do{index=bytes.find($.self,$.sub,Math.max(index+len,$.start),$.end);if(index!=-1){n++}}while(index!=-1);return n};bytes.decode=function(){var $=$B.args("decode",3,{self:null,encoding:null,errors:null},["self","encoding","errors"],arguments,{encoding:"utf-8",errors:"strict"},null,null);switch($.errors){case"strict":case"ignore":case"replace":case"surrogateescape":case"surrogatepass":case"xmlcharrefreplace":case"backslashreplace":return decode($.self,$.encoding,$.errors);default:}};bytes.endswith=function(){var $=$B.args("endswith",4,{self:null,suffix:null,start:null,end:null},["self","suffix","start","end"],arguments,{start:-1,end:-1},null,null);if($B.$isinstance($.suffix,bytes)){var end=$.end==-1?$.self.source.length:$.end;var res=true;for(let i=$.suffix.source.length-1,len=$.suffix.source.length;i>=0&&res;--i){res=$.self.source[end-len+i]==$.suffix.source[i]}return res}else if($B.$isinstance($.suffix,_b_.tuple)){for(let i=0;i<$.suffix.length;++i){if($B.$isinstance($.suffix[i],bytes)){if(bytes.endswith($.self,$.suffix[i],$.start,$.end)){return true}}else{throw _b_.TypeError.$factory("endswith first arg must be "+"bytes or a tuple of bytes, not "+$B.class_name($.suffix))}}return false}else{throw _b_.TypeError.$factory("endswith first arg must be bytes "+"or a tuple of bytes, not "+$B.class_name($.suffix))}};bytes.expandtabs=function(){var $=$B.args("expandtabs",2,{self:null,tabsize:null},["self","tabsize"],arguments,{tabsize:8},null,null);var tab_spaces=[];for(let i=0;i<$.tabsize;++i){tab_spaces.push(32)}var buffer=$.self.source.slice();for(let i=0;i255){throw _b_.ValueError.$factory("byte must be in range(0, 256)")}return self.source.slice(0,end==-1?undefined:end).indexOf(sub,start)}else if(!sub.__class__){throw _b_.TypeError.$factory("first argument must be a bytes-like "+"object, not '"+$B.class_name(sub)+"'")}else if(!sub.__class__.$buffer_protocol){throw _b_.TypeError.$factory("first argument must be a bytes-like "+"object, not '"+$B.class_name(sub)+"'")}end=end==-1?self.source.length:Math.min(self.source.length,end);var len=sub.source.length;for(var i=start;i<=end-len;i++){var chunk=self.source.slice(i,i+len),found=true;for(var j=0;jstring.length){throw _b_.ValueError.$factory("non-hexadecimal number found "+"in fromhex() arg")}source.push(_b_.int.$factory(string.substr(i,2),16))}return $.cls.$factory(source)};bytes.hex=function(){var $=$B.args("hex",3,{self:null,sep:null,bytes_per_sep:null},["self","sep","bytes_per_sep"],arguments,{sep:"",bytes_per_sep:1},null,null),self=$.self,sep=$.sep,bytes_per_sep=$.bytes_per_sep,res="",digits="0123456789abcdef",bps=bytes_per_sep,jstart=bps,len=self.source.length;if(bytes_per_sep<0){bps=-bytes_per_sep;jstart=bps}else if(bytes_per_sep==0){sep=""}else{jstart=len%bps;if(jstart==0){jstart=bps}}for(var i=0,j=jstart;i>4];res+=digits[c&15]}return res};bytes.index=function(){var $=$B.args("index",4,{self:null,sub:null,start:null,end:null},["self","sub","start","end"],arguments,{start:0,end:-1},null,null);var index=bytes.find($.self,$.sub,$.start,$.end);console.log("index",index);if(index==-1){throw _b_.ValueError.$factory("subsection not found")}return index};bytes.isalnum=function(){var $=$B.args("isalnum",1,{self:null},["self"],arguments,{},null,null),self=$.self;var src=self.source,len=src.length,res=len>0;for(var i=0;i96&&src[i]<123||src[i]>64&&src[i]<91||src[i]>47&&src[i]<58}return res};bytes.isalpha=function(){var $=$B.args("isalpha",1,{self:null},["self"],arguments,{},null,null),self=$.self;var src=self.source,len=src.length,res=len>0;for(var i=0;i96&&src[i]<123||src[i]>64&&src[i]<91}return res};bytes.isdigit=function(){var $=$B.args("isdigit",1,{self:null},["self"],arguments,{},null,null),self=$.self;var src=self.source,len=src.length,res=len>0;for(let i=0;i47&&src[i]<58}return res};bytes.islower=function(){var $=$B.args("islower",1,{self:null},["self"],arguments,{},null,null),self=$.self;var src=self.source,len=src.length,res=false;for(let i=0;i96&&src[i]<123;if(src[i]>64&&src[i]<91){return false}}return res};bytes.isspace=function(){var $=$B.args("isspace",1,{self:null},["self"],arguments,{},null,null),self=$.self;var src=self.source,len=src.length;for(let i=0;i64&&src[i]<91;if(src[i]>96&&src[i]<123){return false}}return res};bytes.istitle=function(){var $=$B.args("istitle",1,{self:null},["self"],arguments,{},null,null),self=$.self;var src=self.source,len=src.length,current_char_is_letter=false,prev_char_was_letter=false,is_uppercase=false,is_lowercase=false;for(var i=0;i96&&src[i]<123;is_uppercase=src[i]>64&&src[i]<91;current_char_is_letter=is_lowercase||is_uppercase;if(current_char_is_letter&&(prev_char_was_letter&&is_uppercase)||!prev_char_was_letter&&is_lowercase){return false}prev_char_was_letter=current_char_is_letter}return true};bytes.join=function(){var $ns=$B.args("join",2,{self:null,iterable:null},["self","iterable"],arguments,{}),self=$ns["self"],iterable=$ns["iterable"];var next_func=$B.$getattr(_b_.iter(iterable),"__next__"),res=self.__class__.$factory(),empty=true;while(true){try{var item=next_func();if(empty){empty=false}else{res=bytes.__add__(res,self)}res=bytes.__add__(res,item)}catch(err){if($B.$isinstance(err,_b_.StopIteration)){break}throw err}}return res};var _lower=function(char_code){if(char_code>=65&&char_code<=90){return char_code+32}else{return char_code}};bytes.lower=function(self){var _res=[],pos=0;for(var i=0,len=self.source.length;i=0?$.count:src.length;if(!$.old.__class__){throw _b_.TypeError.$factory("first argument must be a bytes-like "+"object, not '"+$B.class_name($.old)+"'")}else if(!$.old.__class__.$buffer_protocol){throw _b_.TypeError.$factory("first argument must be a bytes-like "+"object, not '"+$B.class_name($.sep)+"'")}if(!$.new.__class__){throw _b_.TypeError.$factory("second argument must be a bytes-like "+"object, not '"+$B.class_name($.old)+"'")}else if(!$.new.__class__.$buffer_protocol){throw _b_.TypeError.$factory("second argument must be a bytes-like "+"object, not '"+$B.class_name($.sep)+"'")}for(var i=0;i255){throw _b_.ValueError.$factory("byte must be in range(0, 256)")}return $.self.source.slice(start,$.end==-1?undefined:$.end).lastIndexOf(sub)+start}else if(!sub.__class__){throw _b_.TypeError.$factory("first argument must be a bytes-like "+"object, not '"+$B.class_name($.sub)+"'")}else if(!sub.__class__.$buffer_protocol){throw _b_.TypeError.$factory("first argument must be a bytes-like "+"object, not '"+$B.class_name(sub)+"'")}end=end==-1?self.source.length:Math.min(self.source.length,end);var len=sub.source.length;for(var i=end-len;i>=start;--i){var chunk=self.source.slice(i,i+len),found=true;for(var j=0;jstart){res.push(bytes.$factory(src.slice(start,stop)))}return res};bytes.splitlines=function(){var $=$B.args("splitlines",2,{self:null,keepends:null},["self","keepends"],arguments,{keepends:false},null,null);if(!$B.$isinstance($.keepends,[_b_.bool,_b_.int])){throw _b_.TypeError("integer argument expected, got "+$B.get_class($.keepends).__name)}var keepends=_b_.int.$factory($.keepends),res=[],source=$.self.source,start=0,pos=0;if(!source.length){return res}while(pos96&&buffer[i]<123){buffer[i]-=32}else if(buffer[i]>64&&buffer[i]<91){buffer[i]+=32}}return bytes.$factory(buffer)};bytes.title=function(self){var src=self.source,len=src.length,buffer=src.slice(),current_char_is_letter=false,prev_char_was_letter=false,is_uppercase=false,is_lowercase=false;for(var i=0;i96&&buffer[i]<123;is_uppercase=buffer[i]>64&&buffer[i]<91;current_char_is_letter=is_lowercase||is_uppercase;if(current_char_is_letter){if(prev_char_was_letter&&is_uppercase){buffer[i]+=32}else if(!prev_char_was_letter&&is_lowercase){buffer[i]-=32}}prev_char_was_letter=current_char_is_letter}return bytes.$factory(buffer)};bytes.translate=function(self,table,_delete){if(_delete===undefined){_delete=[]}else if($B.$isinstance(_delete,bytes)){_delete=_delete.source}else{throw _b_.TypeError.$factory("Type "+$B.get_class(_delete).__name+" doesn't support the buffer API")}var res=[],pos=0;if($B.$isinstance(table,bytes)&&table.source.length==256){for(var i=0,len=self.source.length;i-1){continue}res[pos++]=table.source[self.source[i]]}}return bytes.$factory(res)};var _upper=function(char_code){if(char_code>=97&&char_code<=122){return char_code-32}else{return char_code}};bytes.upper=function(self){var _res=[],pos=0;for(var i=0,len=self.source.length;i>5==6){if(b[pos+1]===undefined){err_info=[byte,pos,"end"]}else if((b[pos+1]&192)!=128){err_info=[byte,pos,"continuation"]}if(err_info!==null){if(errors=="ignore"){pos++}else{throw _b_.UnicodeDecodeError.$factory("'utf-8' codec can't decode byte 0x"+err_info[0].toString(16)+" in position "+err_info[1]+(err_info[2]=="end"?": unexpected end of data":": invalid continuation byte"))}}else{let cp=byte&31;cp<<=6;cp+=b[pos+1]&63;s+=String.fromCodePoint(cp);pos+=2}}else if(byte>>4==14){if(b[pos+1]===undefined){err_info=[byte,pos,"end",pos+1]}else if((b[pos+1]&192)!=128){err_info=[byte,pos,"continuation",pos+2]}else if(b[pos+2]===undefined){err_info=[byte,pos+"-"+(pos+1),"end",pos+2]}else if((b[pos+2]&192)!=128){err_info=[byte,pos,"continuation",pos+3]}if(err_info!==null){if(errors=="ignore"){pos=err_info[3]}else if(errors=="surrogateescape"){for(let i=pos;i>3==30){if(b[pos+1]===undefined){err_info=[byte,pos,"end",pos+1]}else if((b[pos+1]&192)!=128){err_info=[byte,pos,"continuation",pos+2]}else if(b[pos+2]===undefined){err_info=[byte,pos+"-"+(pos+1),"end",pos+2]}else if((b[pos+2]&192)!=128){err_info=[byte,pos,"continuation",pos+3]}else if(b[pos+3]===undefined){err_info=[byte,pos+"-"+(pos+1)+"-"+(pos+2),"end",pos+3]}if(err_info!==null){if(errors=="ignore"){pos=err_info[3]}else if(errors=="surrogateescape"){for(let i=pos;i")}}return decoded}return s};var encode=$B.encode=function(){var $=$B.args("encode",3,{s:null,encoding:null,errors:null},["s","encoding","errors"],arguments,{encoding:"utf-8",errors:"strict"},null,null),s=$.s,encoding=$.encoding,errors=$.errors;var t=[],pos=0,enc=normalise(encoding);switch(enc){case"utf-8":case"utf_8":case"utf8":if(globalThis.TextEncoder){var encoder=new TextEncoder("utf-8",{fatal:true});try{var array=encoder.encode(s);return fast_bytes(Array.from(array))}catch(err){}}for(let i=0,len=s.length;i>6),128+(cp&63))}else if(cp<=65535){t.push(224+(cp>>12),128+((cp&4095)>>6),128+(cp&63))}else{console.log("4 bytes")}}break;case"latin":case"latin1":case"latin-1":case"latin_1":case"L1":case"iso8859_1":case"iso_8859_1":case"8859":case"cp819":case"windows1252":for(let i=0,len=s.length;i>2>other_size){return set_copy_and_difference(so,other)}var result=make_new_set();if(other_is_dict){for(let entry of set_iter_with_hash(so)){if(!_b_.dict.$lookup_by_key(other,entry.item,entry.hash).found){set_add(result,entry.item,entry.hash)}}return result}for(let entry of set_iter_with_hash(so)){if(!set_contains(other,entry.item,entry.hash)){set_add(result,entry.item,entry.hash)}}result.__class__=so.__class__;return result}function set_difference_update(so,other){if(so===other){return set.clear(so)}if($B.$isinstance(other,[set,frozenset])){for(let entry of set_iter_with_hash(other)){set_discard_entry(so,entry.item,entry.hash)}}else if($B.$isinstance(other,_b_.dict)){for(let entry of _b_.dict.$iter_items(other)){set_discard_entry(so,entry.key,entry.hash)}}else{var iterator=$B.make_js_iterator(other);for(let key of iterator){set_discard_key(so,key)}}}const DISCARD_NOTFOUND=0;function set_discard_entry(so,key,hash){var entry=set_lookkey(so,key,hash);if(!entry){return DISCARD_NOTFOUND}if(so.$store[entry.hash]!==undefined){set_remove(so,entry.hash,entry.index)}}function set_discard_key(so,key){return set_discard_entry(so,key)}function*set_iter(so){var ordered_keys=Object.keys(so.$store).sort();for(var hash of ordered_keys){if(so.$store[hash]!==undefined){for(var item of so.$store[hash]){yield item}}}}function*set_iter_with_hash(so){for(var hash in so.$store){if(so.$store[hash]!==undefined){for(var item of so.$store[hash]){yield{item:item,hash:hash}}}}}function set_remove(so,hash,index){so.$store[hash].splice(index,1);if(so.$store[hash].length==0){delete so.$store[hash]}so.$used--}function set_intersection(so,other){if(so===other){return set_copy(so)}var result=make_new_set_base_type(so);if($B.$isinstance(other,[set,frozenset])){if(other.$used>so.$used){var tmp=so;so=other;other=tmp}for(let entry of set_iter_with_hash(other)){if(set_contains(so,entry.item,entry.hash)){set_add(result,entry.item,entry.hash)}}}else if($B.$isinstance(other,_b_.dict)){for(let entry of _b_.dict.$iter_items(other)){if(set_contains(so,entry.key,entry.hash)){set_add(result,entry.key,entry.hash)}}}else{let iterator=$B.make_js_iterator(other);for(var other_item of iterator){var test=set_contains(so,other_item);if(test){set_add(result,other_item)}}}return result}function set_intersection_multi(so,args){var result=set_copy(so);if(args.length==0){return result}for(var other of args){result=set_intersection(result,other)}return result}function set_lookkey(so,key,hash){if(hash===undefined){try{hash=$B.$hash(key)}catch(err){if($B.$isinstance(key,set)){hash=$B.$hash(frozenset.$factory(key))}else{throw err}}}var items=so.$store[hash];if(items===undefined){return false}for(var index=0,len=so.$store[hash].length;index0){set.clear(self)}set.update(self,iterable);return _b_.None};var set_iterator=$B.make_class("set_iterator",(function(so){return{__class__:set_iterator,so:so,it:set_iter(so),version:so.$version}}));set_iterator.__iter__=function(self){return self};set_iterator.__length_hint__=function(self){return self.so.$used};set_iterator.__next__=function(self){var res=self.it.next();if(res.done){throw _b_.StopIteration.$factory()}if(self.so.$version!=self.version){throw _b_.RuntimeError.$factory("Set changed size during iteration")}return res.value};set_iterator.__reduce_ex__=function(self){return $B.fast_tuple([_b_.iter,$B.fast_tuple([set_make_items(self.so)])])};$B.set_func_names(set_iterator,"builtins");set.__iter__=function(self){return set_iterator.$factory(self)};function set_make_items(so){var items=[];for(var hash in so.$store){items=items.concat(so.$store[hash])}return items}set.__le__=function(self,other){if($B.$isinstance(other,[set,frozenset])){return set.issubset(self,other)}return _b_.NotImplemented};set.__len__=function(self){return self.$used};set.__lt__=function(self,other){if($B.$isinstance(other,[set,frozenset])){return set.__le__(self,other)&&set.__len__(self)set.__len__(other)){return false}for(let entry of set_iter_with_hash(self)){if(!set_lookkey(other,entry.item,entry.hash)){return false}}return true}else if($B.$isinstance(other,_b_.dict)){for(let entry of _b_.dict.$iter_items(self)){if(!set_lookkey(other,entry.key,entry.hash)){return false}}return true}else{var member_func=$B.member_func(other);for(let entry of set_iter_with_hash(self)){if(!member_func(entry.item)){return false}}return true}};set.issuperset=function(){var $=$B.args("issuperset",2,{self:null,other:null},["self","other"],arguments,{},"args",null),self=$.self,other=$.other;if($B.$isinstance(other,[set,frozenset])){return set.issubset(other,self)}else{return set.issubset(set.$factory(other),self)}};set.__iand__=function(self,other){if(!$B.$isinstance(other,[set,frozenset])){return _b_.NotImplemented}set.intersection_update(self,other);return self};set.__isub__=function(self,other){if(!$B.$isinstance(other,[set,frozenset])){return _b_.NotImplemented}set_difference_update(self,other);return self};set.__ixor__=function(self,other){if(!$B.$isinstance(other,[set,frozenset])){return _b_.NotImplemented}set.symmetric_difference_update(self,other);return self};set.__ior__=function(self,other){if(!$B.$isinstance(other,[set,frozenset])){return _b_.NotImplemented}set.update(self,other);return self};set.$literal=function(items){let res=make_new_set(set);for(let item of items){if(item.constant){set_add(res,item.constant[0],item.constant[1])}else if(item.starred){for(let _item of $B.make_js_iterator(item.starred)){set_add(res,_item)}}else{set_add(res,item.item)}}return res};set.$factory=function(){var args=[set].concat(Array.from(arguments)),self=set.__new__.apply(null,args);set.__init__(self,...arguments);return self};$B.set_func_names(set,"builtins");set.__class_getitem__=_b_.classmethod.$factory(set.__class_getitem__);var frozenset=$B.make_class("frozenset");frozenset.$native=true;for(var attr in set){switch(attr){case"add":case"clear":case"discard":case"pop":case"remove":case"update":break;default:if(frozenset[attr]==undefined){if(typeof set[attr]=="function"){frozenset[attr]=function(x){return function(){return set[x].apply(null,arguments)}}(attr)}else{frozenset[attr]=set[attr]}}}}frozenset.__hash__=function(self){if(self===undefined){return frozenset.__hashvalue__||$B.$py_next_hash--}if(self.__hashvalue__!==undefined){return self.__hashvalue__}var _hash=1927868237;_hash*=self.$used;for(var entry of set_iter_with_hash(self)){var _h=entry.hash;_hash^=(_h^89869747^_h<<16)*3644798167}_hash=_hash*69069+907133923;if(_hash==-1){_hash=590923713}return self.__hashvalue__=_hash};frozenset.__init__=function(){return _b_.None};frozenset.__new__=function(cls,iterable){if(cls===undefined){throw _b_.TypeError.$factory("frozenset.__new__(): not enough arguments")}var self=make_new_set(cls);if(iterable===undefined){return self}$B.check_nb_args_no_kw("__new__",2,arguments);if(cls===frozenset&&iterable.__class__===frozenset){return iterable}set.update(self,iterable);return self};frozenset.__repr__=function(self){$B.builtins_repr_check(frozenset,arguments);return set_repr(self)};frozenset.copy=function(self){if(self.__class__===frozenset){return self}return set_copy(self)};frozenset.$factory=function(){var args=[frozenset].concat(Array.from(arguments)),self=frozenset.__new__.apply(null,args);frozenset.__init__(self,...arguments);return self};$B.set_func_names(frozenset,"builtins");_b_.set=set;_b_.frozenset=frozenset})(__BRYTHON__);(function($B){var _b_=$B.builtins,_window=globalThis;var Module=$B.module=$B.make_class("module",(function(name,doc,$package){return{$tp_class:Module,__builtins__:_b_.__builtins__,__name__:name,__doc__:doc||_b_.None,__package__:$package||_b_.None}}));Module.__dir__=function(self){if(self.__dir__){return $B.$call(self.__dir__)()}var res=[];for(var key in self){if(key.startsWith("$")||key=="__class__"){continue}res[res.length]=key}return res.sort()};Module.__new__=function(cls,name,doc,$package){return{__class__:cls,__builtins__:_b_.__builtins__,__name__:name,__doc__:doc||_b_.None,__package__:$package||_b_.None}};Module.__repr__=Module.__str__=function(self){var res=""};Module.__setattr__=function(self,attr,value){if(self.__name__=="__builtins__"){$B.builtins[attr]=value}else{self[attr]=value}};$B.set_func_names(Module,"builtins");$B.make_import_paths=function(filename){var filepath=$B.script_domain?$B.script_domain+"/"+filename:filename;var elts=filepath.split("/");elts.pop();var script_dir=elts.join("/"),path=[$B.brython_path+"Lib",$B.brython_path+"libs",script_dir,$B.brython_path+"Lib/site-packages"];var meta_path=[],path_hooks=[];if($B.use_VFS){meta_path.push($B.finders.VFS)}var static_stdlib_import=$B.get_option_from_filename("static_stdlib_import",filename);if(static_stdlib_import!==false&&$B.protocol!="file"){meta_path.push($B.finders.stdlib_static);if(path.length>3){path.shift();path.shift()}}var pythonpath=$B.get_option_from_filename("pythonpath",filename);if(pythonpath){var ix=path.indexOf(script_dir);if(ix===-1){console.log("bizarre, script_dir",script_dir,"not in path",path)}else{var fullpaths=[];for(var p of pythonpath){if(p=="."){fullpaths.push(script_dir)}else if(p.startsWith("/")){fullpaths.push($B.script_domain+p)}else if(!p.startsWith($B.script_domain)){fullpaths.push(script_dir+"/"+p)}else{fullpaths.push(p)}}path.splice(ix,1,...fullpaths)}}if($B.protocol!=="file"){meta_path.push($B.finders.path);path_hooks.push($B.url_hook)}$B.import_info[filename]={meta_path:meta_path,path_hooks:path_hooks,path:path}};function $download_module(mod,url){var xhr=new XMLHttpRequest,fake_qs="?v="+(new Date).getTime(),res=null,mod_name=mod.__name__;if($B.get_option("cache")){xhr.open("GET",url,false)}else{xhr.open("GET",url+fake_qs,false)}var timer=_window.setTimeout((function(){xhr.abort()}),5e3);xhr.send();if($B.$CORS){if(xhr.status==200||xhr.status==0){res=xhr.responseText}else{res=_b_.ModuleNotFoundError.$factory("No module named '"+mod_name+"'")}}else{if(xhr.readyState==4){if(xhr.status==200){res=xhr.responseText;mod.$last_modified=xhr.getResponseHeader("Last-Modified")}else{console.info("Trying to import "+mod_name+", not found at url "+url);res=_b_.ModuleNotFoundError.$factory("No module named '"+mod_name+"'")}}}_window.clearTimeout(timer);if(res==null){throw _b_.ModuleNotFoundError.$factory("No module named '"+mod_name+"' (res is null)")}if(res.constructor===Error){throw res}return res}$B.$download_module=$download_module;$B.addToImported=function(name,modobj){$B.imported[name]=modobj;if(modobj===undefined){throw _b_.ImportError.$factory("imported not set by module")}modobj.__class__=Module;modobj.__name__=name;for(var attr in modobj){if(typeof modobj[attr]=="function"){modobj[attr].$infos={__module__:name,__name__:attr,__qualname__:attr};modobj[attr].$in_js_module=true}else if($B.$isinstance(modobj[attr],_b_.type)&&!modobj[attr].hasOwnProperty("__module__")){modobj[attr].__module__=name}}};function run_js(module_contents,path,_module){try{new Function(module_contents)()}catch(err){throw $B.exception(err)}var modobj=$B.imported[_module.__name__];if(modobj===undefined){throw _b_.ImportError.$factory("imported not set by module")}modobj.__class__=Module;modobj.__name__=_module.__name__;for(var attr in modobj){if(typeof modobj[attr]=="function"){modobj[attr].$infos={__module__:_module.__name__,__name__:attr,__qualname__:attr};modobj[attr].$in_js_module=true}else if($B.$isinstance(modobj[attr],_b_.type)&&!modobj[attr].hasOwnProperty("__module__")){modobj[attr].__module__=_module.__name__}}return true}function run_py(module_contents,path,module,compiled){var filename=module.__file__;$B.file_cache[filename]=module_contents;$B.url2name[filename]=module.__name__;var root,js,mod_name=module.__name__,src;if(!compiled){src={src:module_contents,filename:filename,imported:true};try{root=$B.py2js(src,module,module.__name__,$B.builtins_scope)}catch(err){err.$frame_obj=$B.frame_obj;if($B.get_option("debug",err)>1){console.log("error in imported module",module);console.log("stack",$B.make_frames_stack(err.$frame_obj))}throw err}}try{js=compiled?module_contents:root.to_js();if($B.get_option("debug")==10){console.log("code for module "+module.__name__);console.log($B.format_indent(js,0))}src=js;js="var $module = (function(){\n"+js;var prefix="locals_";js+="return "+prefix;js+=module.__name__.replace(/\./g,"_")+"})(__BRYTHON__)\n"+"return $module";var module_id=prefix+module.__name__.replace(/\./g,"_");var mod=new Function(module_id,js)(module)}catch(err){err.$frame_obj=err.$frame_obj||$B.frame_obj;if($B.get_option("debug",err)>2){console.log(err+" for module "+module.__name__);console.log("module",module);console.log(root);if($B.get_option("debug",err)>1){console.log($B.format_indent(js,0))}for(let attr in err){console.log(attr,err[attr])}console.log("message: "+err.$message);console.log("filename: "+err.fileName);console.log("linenum: "+err.lineNumber);console.log(js.split("\n").slice(err.lineNumber-3,err.lineNumber+3).join("\n"));console.log(err.stack)}throw err}var imports=Object.keys(root.imports).join(",");try{for(let attr in mod){module[attr]=mod[attr]}module.__initializing__=false;$B.imported[module.__name__]=module;return{content:src,name:mod_name,imports:imports,is_package:module.$is_package,path:path,timestamp:$B.timestamp,source_ts:module.__spec__.loader_state.timestamp}}catch(err){console.log(""+err+" "+" for module "+module.__name__);for(let attr in err){console.log(attr+" "+err[attr])}if($B.get_option("debug")>0){console.log("line info "+__BRYTHON__.line_info)}throw err}}$B.run_py=run_py;$B.run_js=run_js;function save_in_indexedDB(record){if(dbUpdater&&$B.get_page_option("indexeddb")&&$B.indexedDB){dbUpdater.postMessage(record)}}var ModuleSpec=$B.make_class("ModuleSpec",(function(fields){fields.__class__=ModuleSpec;return fields}));ModuleSpec.__str__=ModuleSpec.__repr__=function(self){var res=`ModuleSpec(name='${self.name}', `+`loader=${_b_.str.$factory(self.loader)}, `+`origin='${self.origin}'`;if(self.submodule_search_locations!==_b_.None){res+=`, submodule_search_locations=`+`${_b_.str.$factory(self.submodule_search_locations)}`}return res+")"};$B.set_func_names(ModuleSpec,"builtins");function parent_package(mod_name){var parts=mod_name.split(".");parts.pop();return parts.join(".")}var VFSFinder=$B.make_class("VFSFinder",(function(){return{__class__:VFSFinder}}));VFSFinder.find_spec=function(cls,fullname){var stored,is_package,timestamp;if(!$B.use_VFS){return _b_.None}stored=$B.VFS[fullname];if(stored===undefined){return _b_.None}is_package=stored[3]||false;timestamp=stored.timestamp;if(stored){var is_builtin=$B.builtin_module_names.indexOf(fullname)>-1;return ModuleSpec.$factory({name:fullname,loader:VFSLoader.$factory(),origin:is_builtin?"built-in":"brython_stdlib",submodule_search_locations:is_package?[]:_b_.None,loader_state:{stored:stored,timestamp:timestamp},cached:_b_.None,parent:is_package?fullname:parent_package(fullname),has_location:_b_.False})}};$B.set_func_names(VFSFinder,"");for(let method in VFSFinder){if(typeof VFSFinder[method]=="function"){VFSFinder[method]=_b_.classmethod.$factory(VFSFinder[method])}}const VFSLoader=$B.make_class("VFSLoader",(function(){return{__class__:VFSLoader}}));VFSLoader.create_module=function(){return _b_.None};VFSLoader.exec_module=function(self,modobj){var stored=modobj.__spec__.loader_state.stored,timestamp=modobj.__spec__.loader_state.timestamp;var ext=stored[0],module_contents=stored[1],imports=stored[2];modobj.$is_package=stored[3]||false;var path="VFS."+modobj.__name__;path+=modobj.$is_package?"/__init__.py":ext;modobj.__file__=path;$B.file_cache[modobj.__file__]=$B.VFS[modobj.__name__][1];$B.url2name[modobj.__file__]=modobj.__name__;if(ext==".js"){run_js(module_contents,modobj.__path__,modobj)}else if($B.precompiled.hasOwnProperty(modobj.__name__)){if($B.get_option("debug")>1){console.info("load",modobj.__name__,"from precompiled")}var parts=modobj.__name__.split(".");for(var i=0;i";mod.__package__=parent;mod.$is_package=true}else{let elts=parent.split(".");elts.pop();mod.__package__=elts.join(".")}mod.__file__=path;try{var parent_id=parent.replace(/\./g,"_"),prefix="locals_";mod_js+="return "+prefix+parent_id;var $module=new Function(prefix+parent_id,mod_js)(mod)}catch(err){if($B.get_option("debug")>1){console.log("error in module",mod);console.log(err);for(var k in err){console.log(k,err[k])}console.log(Object.keys($B.imported));console.log(modobj,"mod_js",mod_js)}throw err}for(var attr in $module){mod[attr]=$module[attr]}$module.__file__=path;if(i>0){$B.builtins.setattr($B.imported[parts.slice(0,i).join(".")],parts[i],$module)}}return $module}else{var mod_name=modobj.__name__;if($B.get_option("debug")>1){console.log("run Python code from VFS",mod_name)}var path=$B.brython_path+"/"+modobj.__file__;var record=run_py(module_contents,path,modobj);record.imports=imports.join(",");record.is_package=modobj.$is_package;record.timestamp=$B.timestamp;record.source_ts=timestamp;$B.precompiled[mod_name]=record.is_package?[record.content]:record.content;let elts=mod_name.split(".");if(elts.length>1){elts.pop()}if($B.get_page_option("indexeddb")&&$B.indexedDB&&$B.idb_name){var idb_cx=indexedDB.open($B.idb_name);idb_cx.onsuccess=function(evt){var db=evt.target.result,tx=db.transaction("modules","readwrite"),store=tx.objectStore("modules"),request=store.put(record);request.onsuccess=function(){if($B.get_option("debug")>1){console.info(modobj.__name__,"stored in db")}};request.onerror=function(){console.info("could not store "+modobj.__name__)}}}}};$B.set_func_names(VFSLoader,"builtins");var StdlibStaticFinder=$B.make_class("StdlibStaticFinder",(function(){return{__class__:StdlibStaticFinder}}));StdlibStaticFinder.find_spec=function(self,fullname){if($B.stdlib&&$B.get_option("static_stdlib_import")){var address=$B.stdlib[fullname];if(address===undefined){var elts=fullname.split(".");if(elts.length>1){elts.pop();var $package=$B.stdlib[elts.join(".")];if($package&&$package[1]){address=["py"]}}}if(address!==undefined){var ext=address[0],is_pkg=address[1]!==undefined,path=$B.brython_path+(ext=="py"?"Lib/":"libs/")+fullname.replace(/\./g,"/"),metadata={ext:ext,is_package:is_pkg,path:path+(is_pkg?"/__init__.py":ext=="py"?".py":".js"),address:address},_module=Module.$factory(fullname);metadata.code=$download_module(_module,metadata.path);var res=ModuleSpec.$factory({name:fullname,loader:PathLoader.$factory(),origin:metadata.path,submodule_search_locations:is_pkg?[path]:_b_.None,loader_state:metadata,cached:_b_.None,parent:is_pkg?fullname:parent_package(fullname),has_location:_b_.True});return res}}return _b_.None};$B.set_func_names(StdlibStaticFinder,"");for(let method in StdlibStaticFinder){if(typeof StdlibStaticFinder[method]=="function"){StdlibStaticFinder[method]=_b_.classmethod.$factory(StdlibStaticFinder[method])}}StdlibStaticFinder.$factory=function(){return{__class__:StdlibStaticFinder}};var PathFinder=$B.make_class("PathFinder",(function(){return{__class__:PathFinder}}));PathFinder.find_spec=function(cls,fullname,path){if($B.VFS&&$B.VFS[fullname]){return _b_.None}if($B.is_none(path)){path=get_info("path")}for(var i=0,li=path.length;i");for(let method in PathFinder){if(typeof PathFinder[method]=="function"){PathFinder[method]=_b_.classmethod.$factory(PathFinder[method])}}var PathEntryFinder=$B.make_class("PathEntryFinder",(function(path_entry,hint){return{__class__:PathEntryFinder,path_entry:path_entry,hint:hint}}));PathEntryFinder.find_spec=function(self,fullname){var loader_data={},notfound=true,hint=self.hint,base_path=self.path_entry+fullname.match(/[^.]+$/g)[0],modpaths=[],py_ext=$B.get_option("python_extension");var tryall=hint===undefined;if(tryall||hint=="py"){modpaths=modpaths.concat([[base_path+py_ext,"py",false],[base_path+"/__init__"+py_ext,"py",true]])}for(var j=0;notfound&&j-1){meta_path.splice(path_ix,1)}}for(var i=0,len=meta_path.length;i0;if(modobj==_b_.None){import_error(mod_name)}if(modobj===undefined){if($B.is_none(fromlist)){fromlist=[]}for(var i=0,modsep="",_mod_name="",len=parsed_name.length-1,__path__=_b_.None;i<=len;++i){var _parent_name=_mod_name;_mod_name+=modsep+parsed_name[i];modsep=".";modobj=$B.imported[_mod_name];if($test){console.log("iter",i,_mod_name,"\nmodobj",modobj,"\n__path__",__path__,Array.isArray(__path__));alert()}if(modobj==_b_.None){import_error(_mod_name)}else if(modobj===undefined){try{import_engine(_mod_name,__path__,from_stdlib)}catch(err){delete $B.imported[_mod_name];throw err}if($B.is_none($B.imported[_mod_name])){import_error(_mod_name)}else{if(_parent_name){_b_.setattr($B.imported[_parent_name],parsed_name[i],$B.imported[_mod_name])}}}else if($B.imported[_parent_name]&&$B.imported[_parent_name][parsed_name[i]]===undefined){_b_.setattr($B.imported[_parent_name],parsed_name[i],$B.imported[_mod_name])}if(i0){return $B.imported[mod_name]}else{let package_name=mod_name;while(parsed_name.length>1){var module=parsed_name.pop();package_name=parsed_name.join(".");if($B.imported[package_name]===undefined){$B.$import(package_name,[],{},locals);$B.imported[package_name][module]=$B.imported[mod_name];mod_name=module}}return $B.imported[package_name]}};$B.$import=function(mod_name,fromlist,aliases,locals){var test=false;if(test){console.log("import",mod_name,fromlist,aliases)}if(mod_name=="_frozen_importlib_external"){let alias=aliases[mod_name]||mod_name;$B.$import_from("importlib",["_bootstrap_external"],{_bootstrap_external:alias},0,locals);let _bootstrap=$B.imported.importlib._bootstrap,_bootstrap_external=$B.imported.importlib["_bootstrap_external"];_bootstrap_external._set_bootstrap_module(_bootstrap);_bootstrap._bootstap_external=_bootstrap_external;let _frozen_importlib=$B.imported._frozen_importlib;if(_frozen_importlib){_frozen_importlib._bootstrap_external=_bootstrap_external}return}var level=0,frame=$B.frame_obj.frame,current_module=frame[2],parts=current_module.split(".");while(mod_name.length>0&&mod_name.startsWith(".")){level++;mod_name=mod_name.substr(1);if(parts.length==0){throw _b_.ImportError.$factory("Parent module '' not loaded, "+"cannot perform relative import")}current_module=parts.join(".");parts.pop()}if(level>0){mod_name=current_module+(mod_name.length>0?"."+mod_name:"")}parts=mod_name.split(".");if(mod_name[mod_name.length-1]=="."){parts.pop()}var norm_parts=[],prefix=true;for(var p of parts){if(prefix&&p==""){var elt=norm_parts.pop();if(elt===undefined){throw _b_.ImportError.$factory("Parent module '' not loaded, "+"cannot perform relative import")}}else{prefix=false;norm_parts.push(p)}}mod_name=norm_parts.join(".");fromlist=fromlist===undefined?[]:fromlist;aliases=aliases===undefined?{}:aliases;locals=locals===undefined?{}:locals;if(test){console.log("step 2, mod_name",mod_name,"fromlist",fromlist)}if($B.get_option("debug")==10){console.log("$import "+mod_name);console.log("use VFS ? "+$B.use_VFS);console.log("use static stdlib paths ? "+$B.get_option("static_stdlib_import"))}var current_frame=$B.frame_obj.frame,_globals=current_frame[3],__import__=_globals["__import__"],globals=$B.obj_dict(_globals);if(__import__===undefined){__import__=$B.$__import__}var importer=typeof __import__=="function"?__import__:$B.$getattr(__import__,"__call__");if(test){console.log("use importer",importer,"mod_name",mod_name,"fromlist",fromlist)}var modobj=importer(mod_name,globals,undefined,fromlist,0);if(test){console.log("step 3, mod_name",mod_name,"fromlist",fromlist);console.log("modobj",modobj)}if(!fromlist||fromlist.length==0){let alias=aliases[mod_name];if(alias){locals[alias]=$B.imported[mod_name]}else{locals[norm_parts[0]]=modobj}}else{var __all__=fromlist,thunk={};if(fromlist&&fromlist[0]=="*"){if(test){console.log("import *",modobj)}__all__=$B.$getattr(modobj,"__all__",thunk);if(__all__!==thunk){aliases={}}}if(__all__===thunk){for(var attr in modobj){if(attr[0]!=="_"){locals[attr]=modobj[attr]}}}else{for(let name of __all__){var alias=aliases[name]||name;try{locals[alias]=$B.$getattr(modobj,name);if(locals[alias]&&locals[alias].$js_func){locals[alias]=locals[alias].$js_func}}catch($err1){if(!$B.is_exc($err1,[_b_.AttributeError])){throw $err1}try{$B.$getattr(__import__,"__call__")(mod_name+"."+name,globals,undefined,[],0);locals[alias]=$B.$getattr(modobj,name)}catch($err3){if(mod_name==="__future__"){var exc=_b_.SyntaxError.$factory("future feature "+name+" is not defined");throw exc}var $frame=[mod_name,modobj,mod_name,modobj],suggestion=$B.offer_suggestions_for_name_error({name:name},$frame);if($err3.$py_error){$err3.__class__=_b_.ImportError;$err3.args[0]=`cannot import name '${name}' `+`from '${mod_name}'`;if(modobj.__file__){$err3.args[0]+=` (${modobj.__file__})`}$err3.$suggestion=suggestion;throw $err3}if($B.get_option("debug")>1){console.log($err3);console.log($B.frame_obj.frame)}throw _b_.ImportError.$factory("cannot import name '"+name+"'")}}}}return locals}};$B.$import_from=function(module,names,aliases,level,locals){var current_module_name=$B.frame_obj.frame[2],parts=current_module_name.split("."),relative=level>0,current_module;if(relative){current_module=$B.imported[parts.join(".")];if(current_module===undefined){throw _b_.ImportError.$factory("attempted relative import with no known parent package")}if(!current_module.$is_package){if(parts.length==1){throw _b_.ImportError.$factory("attempted relative import with no known parent package")}else{parts.pop();current_module=$B.imported[parts.join(".")]}}while(level>0){current_module=$B.imported[parts.join(".")];if(!current_module.$is_package){throw _b_.ImportError.$factory("attempted relative import with no known parent package")}level--;parts.pop()}if(module){var submodule=current_module.__name__+"."+module;$B.$import(submodule,[],{},{});current_module=$B.imported[submodule]}if(names.length>0&&names[0]=="*"){for(var key in current_module){if(key.startsWith("$")||key.startsWith("_")){continue}locals[key]=current_module[key]}}else{for(var name of names){var alias=aliases[name]||name;if(current_module[name]!==undefined){locals[alias]=current_module[name]}else{var sub_module=current_module.__name__+"."+name;$B.$import(sub_module,[],{},{});locals[alias]=$B.imported[sub_module]}}}}else{$B.$import(module,names,aliases,locals)}};$B.import_all=function(locals,module){for(var attr in module){if("_$".indexOf(attr.charAt(0))==-1){locals[attr]=module[attr]}}};$B.$meta_path=[VFSFinder,StdlibStaticFinder,PathFinder];$B.finders={VFS:VFSFinder,stdlib_static:StdlibStaticFinder,path:PathFinder};function optimize_import_for_path(path,filetype){if(path.slice(-1)!="/"){path=path+"/"}var value=filetype=="none"?_b_.None:url_hook(path,filetype);$B.path_importer_cache[path]=value}var Loader={__class__:$B.$type,__mro__:[_b_.object],__name__:"Loader"};var _importlib_module={__class__:Module,__name__:"_importlib",Loader:Loader,VFSFinder:VFSFinder,StdlibStatic:StdlibStaticFinder,ImporterPath:PathFinder,UrlPathFinder:url_hook,optimize_import_for_path:optimize_import_for_path};_importlib_module.__repr__=_importlib_module.__str__=function(){return""};$B.imported["_importlib"]=_importlib_module})(__BRYTHON__);(function($B){var _b_=$B.builtins;var escape2cp=$B.escape2cp={b:"\b",f:"\f",n:"\n",r:"\r",t:"\t",v:"\v"};$B.surrogates=function(s){var s1="",escaped=false;for(var char of s){if(escaped){var echar=escape2cp[char];if(echar!==undefined){s1+=echar}else{s1+="\\"+char}escaped=false}else if(char=="\\"){escaped=true}else{s1+=char}}var surrogates=[],j=0;for(var i=0,len=s1.length;i=65536){surrogates.push(j);i++}j++}return surrogates};$B.String=function(s){var srg=$B.surrogates(s);return srg.length==0?s:$B.make_String(s,srg)};$B.make_String=function(s,surrogates){var res=new String(s);res.__class__=str;res.surrogates=surrogates;return res};function pypos2jspos(s,pypos){if(s.surrogates===undefined){return pypos}var nb=0;while(s.surrogates[nb]' requires "+"string as left operand, not "+$B.class_name(item))}[_self,item]=to_string([_self,item]);return _self.includes(item)};str.__delitem__=function(){throw _b_.TypeError.$factory("'str' object doesn't support item deletion")};str.__dir__=_b_.object.__dir__;str.__eq__=function(_self,other){if($B.$isinstance(other,str)){[_self,other]=to_string([_self,other]);return _self+""==other+""}return _b_.NotImplemented};function preformat(_self,fmt){if(fmt.empty){return _b_.str.$factory(_self)}if(fmt.type&&fmt.type!="s"){throw _b_.ValueError.$factory("Unknown format code '"+fmt.type+"' for object of type 'str'")}return _self}str.__format__=function(_self,format_spec){[_self,format_spec]=to_string([_self,format_spec]);var fmt=new $B.parse_format_spec(format_spec,_self);if(fmt.sign!==undefined){throw _b_.ValueError.$factory("Sign not allowed in string format specifier")}if(fmt.precision){_self=_self.substr(0,fmt.precision)}fmt.align=fmt.align||"<";return $B.format_width(preformat(_self,fmt),fmt)};str.__getitem__=function(_self,arg){_self=to_string(_self);if($B.$isinstance(arg,_b_.int)){var len=str.__len__(_self);var pos=arg;if(arg<0){pos+=len}if(pos>=0&&pos=65536){return $B.String(_self.substr(jspos,2))}else{return _self[jspos]}}throw _b_.IndexError.$factory("string index out of range")}if($B.$isinstance(arg,_b_.slice)){return _b_.str.$getitem_slice(_self,arg)}if($B.$isinstance(arg,_b_.bool)){return _self.__getitem__(_b_.int.$factory(arg))}throw _b_.TypeError.$factory("string indices must be integers")};str.$getitem_slice=function(_self,slice){var len=str.__len__(_self),s=_b_.slice.$conv_for_seq(slice,len),start=pypos2jspos(_self,s.start),stop=pypos2jspos(_self,s.stop),step=s.step;var res="";if(step>0){if(stop<=start){return""}for(let i=start;i=start){return""}for(let i=start;i>stop;i+=step){res+=_self[i]}}return $B.String(res)};var prefix=2,suffix=3;str.$getnewargs=function(self){return $B.fast_tuple([to_string(self)])};str.__getnewargs__=function(){return str.$getnewargs($B.single_arg("__getnewargs__","self",arguments))};str.__hash__=function(_self){var s=to_string(_self);for(var i=0,h=0,len=s.length;imax_precision){throw _b_.OverflowError.$factory("precision too large")}var s;if(val.__class__===$B.long_int){s=$B.long_int.to_base(val,10)}else{s=val.toString()}if(precision-s.length>max_repeat){throw _b_.OverflowError.$factory("precision too large")}if(s[0]==="-"){return"-"+"0".repeat(Math.max(0,precision-s.length+1))+s.slice(1)}return"0".repeat(Math.max(0,precision-s.length))+s};var format_float_precision=function(val,upper,flags,modifier){var precision=flags.precision;if(isFinite(val)){return modifier(val,precision,flags,upper)}if(val===Infinity){val="inf"}else if(val===-Infinity){val="-inf"}else{val="nan"}if(upper){return val.toUpperCase()}return val};var format_sign=function(val,flags){if(flags.sign){if(val>=0||isNaN(val)||val===Number.POSITIVE_INFINITY){return"+"}}else if(flags.space){if(val>=0||isNaN(val)){return" "}}return""};var str_format=function(val,flags){flags.pad_char=" ";return format_padding(str.$factory(val),flags)};var num_format=function(val,flags){number_check(val,flags);if($B.$isinstance(val,_b_.float)){val=parseInt(val.value)}else if(!$B.$isinstance(val,_b_.int)){val=parseInt(val)}else if($B.$isinstance(val,_b_.bool)){val=val?1:0}var s=format_int_precision(val,flags);if(flags.pad_char==="0"){if(val<0){s=s.substring(1);return"-"+format_padding(s,flags,true)}var sign=format_sign(val,flags);if(sign!==""){return sign+format_padding(s,flags,true)}}return format_padding(format_sign(val,flags)+s,flags)};var repr_format=function(val,flags){flags.pad_char=" ";return format_padding(_b_.repr(val),flags)};var ascii_format=function(val,flags,type){flags.pad_char=" ";var ascii;if(type=="bytes"){var repr=_b_.repr(val);ascii=_b_.str.encode(repr,"ascii","backslashreplace");ascii=_b_.bytes.decode(ascii,"ascii")}else{ascii=_b_.ascii(val)}return format_padding(ascii,flags)};var _float_helper=function(val,flags){number_check(val,flags);if(flags.precision===undefined){if(!flags.decimal_point){flags.precision=6}else{flags.precision=0}}else{flags.precision=parseInt(flags.precision,10);validate_precision(flags.precision)}return $B.$isinstance(val,_b_.int)?val:val.value};var validate_precision=function(precision){if(precision>20){precision=20}};function handle_special_values(value,upper){var special;if(isNaN(value)){special=upper?"NAN":"nan"}else if(value==Number.POSITIVE_INFINITY){special=upper?"INF":"inf"}else if(value==Number.NEGATIVE_INFINITY){special=upper?"-INF":"-inf"}return special}var floating_point_format=function(val,upper,flags){val=_float_helper(val,flags);var special=handle_special_values(val,upper);if(special){return format_padding(format_sign(val,flags)+special,flags)}var p=flags.precision;if(p==0){p=1}var exp_format=val.toExponential(p-1),e_index=exp_format.indexOf("e"),exp=parseInt(exp_format.substr(e_index+1)),res;function remove_zeros(v){if(flags.alternate){return v}if(v.indexOf(".")>-1){while(v.endsWith("0")){v=v.substr(0,v.length-1)}if(v.endsWith(".")){v=v.substr(0,v.length-1)}}return v}if(-4<=exp&&exp-1){return BigInt(v).toString()}const mul=Math.pow(10,d);var is_neg=v<0;if(is_neg){v=-v}var res_floor=(Math.floor(v*mul)/mul).toFixed(d),res_ceil=(Math.ceil(v*mul)/mul).toFixed(d),res;if(v-res_floor==res_ceil-v){var last=res_floor[res_floor.length-1];res=last.match(/[02468]/)?res_floor:res_ceil}else{res=v-res_floor1){mant+="."+parts[0].substr(1)+(parts[1]||"")}else if(parts[1]){mant+="."+parts[1]}}mant=parseFloat(mant);mant=roundDownToFixed(parseFloat(mant),precision);if(parseFloat(mant)==10){parts=mant.split(".");parts[0]="1";mant=parts.join(".");exp=parseInt(exp)+(exp_sign=="+"?1:-1);if(exp==0){exp_sign="+"}}if(flags.alternate&&mant.indexOf(".")==-1){mant+="."}if(exp.toString().length==1){exp="0"+exp}return`${is_neg?"-":""}${mant}${upper?"E":"e"}${exp_sign}${exp}`};var floating_point_exponential_format=function(val,upper,flags){val=_float_helper(val,flags);return format_padding(format_sign(val,flags)+format_float_precision(val,upper,flags,_floating_exp_helper),flags)};$B.formatters={floating_point_format:floating_point_format,floating_point_decimal_format:floating_point_decimal_format,floating_point_exponential_format:floating_point_exponential_format};var signed_hex_format=function(val,upper,flags){var ret;if(!$B.$isinstance(val,_b_.int)){throw _b_.TypeError.$factory(`%X format: an integer is required, not ${$B.class_name(val)}`)}else if($B.$isinstance(val,_b_.bool)){val=val?1:0}if(val.__class__===$B.long_int){ret=val.value.toString(16)}else{ret=parseInt(val);ret=ret.toString(16)}ret=format_int_precision(ret,flags);if(upper){ret=ret.toUpperCase()}if(flags.pad_char==="0"){if(val<0){ret=ret.substring(1);ret="-"+format_padding(ret,flags,true)}var sign=format_sign(val,flags);if(sign!==""){ret=sign+format_padding(ret,flags,true)}}if(flags.alternate){if(ret.charAt(0)==="-"){if(upper){ret="-0X"+ret.slice(1)}else{ret="-0x"+ret.slice(1)}}else{if(upper){ret="0X"+ret}else{ret="0x"+ret}}}return format_padding(format_sign(val,flags)+ret,flags)};var octal_format=function(val,flags){number_check(val,flags);var ret;if(val.__class__===$B.long_int){ret=$B.long_int.to_base(8)}else{ret=parseInt(val);ret=ret.toString(8)}ret=format_int_precision(ret,flags);if(flags.pad_char==="0"){if(val<0){ret=ret.substring(1);ret="-"+format_padding(ret,flags,true)}var sign=format_sign(val,flags);if(sign!==""){ret=sign+format_padding(ret,flags,true)}}if(flags.alternate){if(ret.charAt(0)==="-"){ret="-0o"+ret.slice(1)}else{ret="0o"+ret}}return format_padding(ret,flags)};function series_of_bytes(val,flags){if(val.__class__&&val.__class__.$buffer_protocol){var it=_b_.iter(val),ints=[];while(true){try{ints.push(_b_.next(it))}catch(err){if(err.__class__===_b_.StopIteration){var b=_b_.bytes.$factory(ints);return format_padding(_b_.bytes.decode(b,"ascii"),flags)}throw err}}}else{try{var bytes_obj=$B.$getattr(val,"__bytes__")();return format_padding(_b_.bytes.decode(bytes_obj),flags)}catch(err){if(err.__class__===_b_.AttributeError){throw _b_.TypeError.$factory("%b does not accept '"+$B.class_name(val)+"'")}throw err}}}var single_char_format=function(val,flags,type){if(type=="bytes"){if($B.$isinstance(val,_b_.int)){if(val.__class__===$B.long_int||val<0||val>255){throw _b_.OverflowError.$factory("%c arg not in range(256)")}}else if($B.$isinstance(val,[_b_.bytes,_b_.bytearray])){if(val.source.length>1){throw _b_.TypeError.$factory("%c requires an integer in range(256) or a single byte")}val=val.source[0]}}else{if($B.$isinstance(val,_b_.str)){if(_b_.str.__len__(val)==1){return val}throw _b_.TypeError.$factory("%c requires int or char")}else if(!$B.$isinstance(val,_b_.int)){throw _b_.TypeError.$factory("%c requires int or char")}if(val.__class__===$B.long_int&&(val.value<0||val.value>=1114112)||(val<0||val>=1114112)){throw _b_.OverflowError.$factory("%c arg not in range(0x110000)")}}return format_padding(_b_.chr(val),flags)};var num_flag=function(c,flags){if(c==="0"&&!flags.padding&&!flags.decimal_point&&!flags.left){flags.pad_char="0";return}if(!flags.decimal_point){flags.padding=(flags.padding||"")+c}else{flags.precision=(flags.precision||"")+c}};var decimal_point_flag=function(val,flags){if(flags.decimal_point){throw new UnsupportedChar}flags.decimal_point=true};var neg_flag=function(val,flags){flags.pad_char=" ";flags.left=true};var space_flag=function(val,flags){flags.space=true};var sign_flag=function(val,flags){flags.sign=true};var alternate_flag=function(val,flags){flags.alternate=true};var char_mapping={b:series_of_bytes,s:str_format,d:num_format,i:num_format,u:num_format,o:octal_format,r:repr_format,a:ascii_format,g:function(val,flags){return floating_point_format(val,false,flags)},G:function(val,flags){return floating_point_format(val,true,flags)},f:function(val,flags){return floating_point_decimal_format(val,false,flags)},F:function(val,flags){return floating_point_decimal_format(val,true,flags)},e:function(val,flags){return floating_point_exponential_format(val,false,flags)},E:function(val,flags){return floating_point_exponential_format(val,true,flags)},x:function(val,flags){return signed_hex_format(val,false,flags)},X:function(val,flags){return signed_hex_format(val,true,flags)},c:single_char_format,0:function(val,flags){return num_flag("0",flags)},1:function(val,flags){return num_flag("1",flags)},2:function(val,flags){return num_flag("2",flags)},3:function(val,flags){return num_flag("3",flags)},4:function(val,flags){return num_flag("4",flags)},5:function(val,flags){return num_flag("5",flags)},6:function(val,flags){return num_flag("6",flags)},7:function(val,flags){return num_flag("7",flags)},8:function(val,flags){return num_flag("8",flags)},9:function(val,flags){return num_flag("9",flags)},"-":neg_flag," ":space_flag,"+":sign_flag,".":decimal_point_flag,"#":alternate_flag};var UnsupportedChar=function(){this.name="UnsupportedChar"};const conversion_flags="#0- +",length_modifiers="hlL",conversion_types="diouxXeEfFgGcrsa";function parse_mod_format(s,type,pos){var flags={pad_char:" "},len=s.length,start_pos=pos,mo;pos++;while(pos-1){flags.conversion_flag=char;if(char=="#"){flags.alternate=true}else if(char=="-"){flags.left=true}else if(char=="+"){flags.sign="+"}else if(char=="0"){flags.pad_char="0"}else if(char==" "){flags.space=true}pos++}else if(char=="*"){flags.padding="*";pos++}else if(mo=/^\d+/.exec(s.substr(pos))){flags.padding=mo[0];pos+=mo[0].length}else if(char=="."){pos++;if(s[pos]=="*"){flags.precision="*";pos++}else if(mo=/^\d+/.exec(s.substr(pos))){flags.precision=mo[0];pos+=mo[0].length}else{flags.precision="0"}}else if(length_modifiers.indexOf(char)>-1){flags.length_modifier=char;pos++}else if(conversion_types.indexOf(char)>-1||char=="b"&&type=="bytes"){if(type=="bytes"){if(char=="s"){char="b"}else if(char=="r"){char="a"}}flags.conversion_type=char;flags.end=pos;flags.string=s.substring(start_pos,pos+1);if(flags.left&&flags.pad_char=="0"){flags.pad_char=" "}return flags}else{throw _b_.ValueError.$factory(`invalid character in format: ${char}`)}}throw _b_.ValueError.$factory("invalid format")}function is_mapping(obj){return _b_.hasattr(obj,"keys")&&_b_.hasattr(obj,"__getitem__")}$B.printf_format=function(s,type,args){var argpos=null,getitem;if($B.$isinstance(args,_b_.tuple)){argpos=0}else{getitem=$B.$getattr(args,"__getitem__",_b_.None)}var ret="",nbph=0,pos=0,len=s.length;while(pos1){if(!$B.$isinstance(args,_b_.tuple)&&!is_mapping(args)){throw _b_.TypeError.$factory("not enough arguments for format string")}}var fmt=parse_mod_format(s,type,pos);pos=fmt.end+1;if(fmt.padding=="*"){if(args[argpos]===undefined){throw _b_.ValueError.$factory("no value for field width *")}fmt.padding=args[argpos];argpos++}if(fmt.precision=="*"){if(args[argpos]===undefined){throw _b_.ValueError.$factory("no value for precision *")}fmt.precision=args[argpos];argpos++}var func=char_mapping[fmt.conversion_type],value;if(fmt.mapping_key!==undefined){value=getitem(fmt.mapping_key)}else{if(argpos===null){value=args}else{value=args[argpos];if(value===undefined){throw _b_.TypeError.$factory("not enough arguments for format string")}argpos++}}ret+=func(value,fmt,type)}}if(argpos!==null){if(args.length>argpos){throw _b_.TypeError.$factory("not enough arguments for format string")}else if(args.length=127&&cp<160){cp=cp.toString(16);if(cp.length<2){cp="0"+cp}repl+="\\x"+cp}else if(cp>=768&&cp<=879){repl+="​"+chars[i]+" "}else if(cp.toString(16)=="feff"){repl+="\\ufeff"}else{repl+=chars[i]}}var res=repl;if(res.search('"')==-1&&res.search("'")==-1){return"'"+res+"'"}else if(_self.search('"')==-1){return'"'+res+'"'}var qesc=new RegExp("'","g");res="'"+res.replace(qesc,"\\'")+"'";return res};str.__rmod__=function(){var $=$B.args("__rmod__",2,{self:null,other:null},["self","other"],arguments,{},null,null);if(!$B.$isinstance($.other,str)){return _b_.NotImplemented}return str.__mod__($.other,$.self)};str.__rmul__=function(_self,other){_self=to_string(_self);if($B.$isinstance(other,_b_.int)){other=_b_.int.numerator(other);var res="";while(other>0){res+=_self;other--}return res}return _b_.NotImplemented};str.__setattr__=function(_self,attr,value){if(typeof _self==="string"){if(str.hasOwnProperty(attr)){throw _b_.AttributeError.$factory("'str' object attribute '"+attr+"' is read-only")}else{throw _b_.AttributeError.$factory("'str' object has no attribute '"+attr+"'")}}_b_.dict.$setitem(_self.__dict__,attr,value);return _b_.None};str.__setitem__=function(){throw _b_.TypeError.$factory("'str' object does not support item assignment")};var combining=[];for(var cp=768;cp<=879;cp++){combining.push(String.fromCharCode(cp))}var combining_re=new RegExp("("+combining.join("|")+")","g");str.__str__=function(_self){_self=to_string(_self);var repl="",chars=to_chars(_self);if(chars.length==_self.length){return _self.replace(combining_re,"​$1")}for(var i=0;i=768&&cp<=879){repl+="​"+chars[i]}else{repl+=chars[i]}}return repl};var body=`var _b_ = __BRYTHON__.builtins\nif(typeof other !== typeof _self){\n return _b_.NotImplemented}else if(typeof _self == "string"){\n return _self > other}else{\n return _self.$brython_value > other.$brython_value}`;var comps={">":"gt",">=":"ge","<":"lt","<=":"le"};for(var op in comps){str[`__${comps[op]}__`]=Function("_self","other",body.replace(/>/gm,op))}str.capitalize=function(){var $=$B.args("capitalize",1,{self:self},["self"],arguments,{},null,null),_self=to_string($.self);if(_self.length==0){return""}return _self.charAt(0).toUpperCase()+_self.substr(1).toLowerCase()};str.casefold=function(){var $=$B.args("casefold",1,{self:self},["self"],arguments,{},null,null),res="",char,cf,_self=to_string($.self),chars=to_chars(_self);for(var i=0,len=chars.length;i=0){n++;pos+=sub.length}else{break}}return n};str.encode=function(){var $=$B.args("encode",3,{self:null,encoding:null,errors:null},["self","encoding","errors"],arguments,{encoding:"utf-8",errors:"strict"},null,null),_self=to_string($.self);if($.encoding=="rot13"||$.encoding=="rot_13"){var res="";for(var i=0,len=_self.length;i0){res+=" ";col++}break;case"\r":case"\n":res+=car;col=0;break;default:res+=car;col++;break}pos++}return res};str.find=function(){var $=$B.args("str.find",4,{self:null,sub:null,start:null,end:null},["self","sub","start","end"],arguments,{start:0,end:null},null,null),_self,sub;check_str($.sub);normalize_start_end($);[_self,sub]=to_string([$.self,$.sub]);var len=str.__len__(_self),sub_len=str.__len__(sub);if(sub_len==0&&$.start==len){return len}if(len+sub_len==0){return-1}var js_start=pypos2jspos(_self,$.start),js_end=pypos2jspos(_self,$.end),ix=_self.slice(js_start,js_end).indexOf(sub);if(ix==-1){return-1}return jspos2pypos(_self,js_start+ix)};$B.parse_format=function(fmt_string){var elts=fmt_string.split(":"),name,conv,spec,name_ext=[];if(elts.length==1){name=fmt_string}else{name=elts[0];spec=elts.splice(1).join(":")}elts=name.split("!");if(elts.length>1){name=elts[0];conv=elts[1]}if(name!==undefined){function name_repl(match){name_ext.push(match);return""}var name_ext_re=/\.[_a-zA-Z][_a-zA-Z0-9]*|\[[_a-zA-Z][_a-zA-Z0-9]*\]|\[[0-9]+\]/g;name=name.replace(name_ext_re,name_repl)}return{name:name,name_ext:name_ext,conv:conv,spec:spec||"",string:fmt_string}};$B.split_format=function(s){var pos=0,_len=s.length,car,text="",parts=[],rank=0;while(pos<_len){car=s.charAt(pos);if(car=="{"&&s.charAt(pos+1)=="{"){text+="{";pos+=2}else if(car=="}"&&s.charAt(pos+1)=="}"){text+="}";pos+=2}else if(car=="{"){parts.push(text);var end=pos+1,nb=1;while(end<_len){if(s.charAt(end)=="{"){nb++;end++}else if(s.charAt(end)=="}"){nb--;end++;if(nb==0){var fmt_string=s.substring(pos+1,end-1);var fmt_obj=$B.parse_format(fmt_string);fmt_obj.raw_name=fmt_obj.name;fmt_obj.raw_spec=fmt_obj.spec;if(!fmt_obj.name){fmt_obj.name=rank+"";rank++}if(fmt_obj.spec!==undefined){function replace_nested(name,key){if(key==""){return"{"+rank+++"}"}return"{"+key+"}"}fmt_obj.spec=fmt_obj.spec.replace(/\{(.*?)\}/g,replace_nested)}parts.push(fmt_obj);text="";break}}else{end++}}if(nb>0){throw _b_.ValueError.$factory("wrong format "+s)}pos=end}else{text+=car;pos++}}if(text){parts.push(text)}return parts};str.format=function(){var last_arg=$B.last(arguments),$,mapping,getitem;if(last_arg.$nat=="mapping"){mapping=last_arg.mapping;getitem=$B.$getattr(mapping,"__getitem__");var args=[];for(let i=0,len=arguments.length-1;i-1){let pos=parseInt(fmt.name);value=_b_.tuple.__getitem__($.$args,pos)}else{value=getitem(fmt.name)}for(var j=0;j-1){key=parseInt(key)}value=$B.$getattr(value,"__getitem__")(key)}}if(fmt.conv=="a"){value=_b_.ascii(value)}else if(fmt.conv=="r"){value=_b_.repr(value)}else if(fmt.conv=="s"){value=_b_.str.$factory(value)}if(value.$is_class||value.$factory){res+=value.__class__.__format__(value,fmt.spec)}else{res+=$B.$getattr(value,"__format__")(fmt.spec)}}return res};str.format_map=function(){var $=$B.args("format_map",2,{self:null,mapping:null},["self","mapping"],arguments,{},null,null),_self=to_string($.self);return str.format(_self,{$nat:"mapping",mapping:$.mapping})};str.index=function(){var res=str.find.apply(null,arguments);if(res===-1){throw _b_.ValueError.$factory("substring not found")}return res};str.isascii=function(){var $=$B.args("isascii",1,{self:null},["self"],arguments,{},null,null),_self=to_string($.self);for(var i=0,len=_self.length;i127){return false}}return true};var unicode_categories_contain_character=function(categories,cp){for(var cat of categories){console.log(cat,cp);if($B.in_unicode_category(cat,cp)){return true}}return false};var alpha_categories=["Ll","Lu","Lm","Lt","Lo"];var alnum_categories=["Ll","Lu","Lm","Lt","Lo","Nd"];str.isalnum=function(){var $=$B.args("isalnum",1,{self:null},["self"],arguments,{},null,null);var _self=to_string($.self);if(_self.length==0){return false}for(var char of _self){if(!unicode_categories_contain_character(alnum_categories,_b_.ord(char))){return false}}return true};str.isalpha=function(){var $=$B.args("isalpha",1,{self:null},["self"],arguments,{},null,null);var _self=to_string($.self);if(_self.length==0){return false}for(var char of _self){if(!unicode_categories_contain_character(alpha_categories,_b_.ord(char))){return false}}return true};str.isdecimal=function(){var $=$B.args("isdecimal",1,{self:null},["self"],arguments,{},null,null),cp,_self=to_string($.self);for(var char of _self){cp=_b_.ord(char);if(!$B.in_unicode_category("Nd",cp)){return false}}return _self.length>0};str.isdigit=function(){var $=$B.args("isdigit",1,{self:null},["self"],arguments,{},null,null),cp,_self=to_string($.self);for(var char of _self){if(/\p{Nd}/u.test(char)){continue}cp=_b_.ord(char);if(!$B.in_unicode_category("No_digits",cp)){return false}}return _self.length>0};str.isidentifier=function(){var $=$B.args("isidentifier",1,{self:null},["self"],arguments,{},null,null),_self=to_string($.self);if(_self.length==0){return false}var chars=to_chars(_self);if(!$B.is_XID_Start(_b_.ord(chars[0]))){return false}else{for(var char of chars){var cp=_b_.ord(char);if(!$B.is_XID_Continue(cp)){return false}}}return true};str.islower=function(){var $=$B.args("islower",1,{self:null},["self"],arguments,{},null,null),has_cased=false,cp,_self=to_string($.self);for(var char of _self){cp=_b_.ord(char);if($B.in_unicode_category("Ll",cp)){has_cased=true;continue}else if($B.in_unicode_category("Lu",cp)||$B.in_unicode_category("Lt",cp)){return false}}return has_cased};const numeric_re=/\p{Nd}|\p{Nl}|\p{No}/u;str.isnumeric=function(){var $=$B.args("isnumeric",1,{self:null},["self"],arguments,{},null,null),_self=to_string($.self);for(var char of _self){if(!numeric_re.test(char)&&!$B.in_unicode_category("Lo_numeric",_b_.ord(char))){return false}}return _self.length>0};var unprintable_re=/\p{Cc}|\p{Cf}|\p{Co}|\p{Cs}|\p{Zl}|\p{Zp}|\p{Zs}/u;str.isprintable=function(){var $=$B.args("isprintable",1,{self:null},["self"],arguments,{},null,null),_self=to_string($.self);for(var char of _self){if(char==" "){continue}if(unprintable_re.test(char)){return false}}return true};str.isspace=function(){var $=$B.args("isspace",1,{self:null},["self"],arguments,{},null,null),cp,_self=to_string($.self);for(var char of _self){cp=_b_.ord(char);if(!$B.in_unicode_category("Zs",cp)&&$B.unicode_bidi_whitespace.indexOf(cp)==-1){return false}}return _self.length>0};str.istitle=function(){var $=$B.args("istitle",1,{self:null},["self"],arguments,{},null,null),_self=to_string($.self);return _self.length>0&&str.title(_self)==_self};str.isupper=function(){var $=$B.args("islower",1,{self:null},["self"],arguments,{},null,null),is_upper=false,cp,_self=to_string($.self);for(var char of _self){cp=_b_.ord(char);if($B.in_unicode_category("Lu",cp)){is_upper=true;continue}else if($B.in_unicode_category("Ll",cp)||$B.in_unicode_category("Lt",cp)){return false}}return is_upper};str.join=function(){var $=$B.args("join",2,{self:null,iterable:null},["self","iterable"],arguments,{},null,null),_self=to_string($.self);var iterable=_b_.iter($.iterable),res=[],count=0;while(1){try{var obj2=_b_.next(iterable);if(!$B.$isinstance(obj2,str)){throw _b_.TypeError.$factory("sequence item "+count+": expected str instance, "+$B.class_name(obj2)+" found")}res.push(obj2)}catch(err){if($B.$isinstance(err,_b_.StopIteration)){break}else{throw err}}}return res.join(_self)};str.ljust=function(){var $=$B.args("ljust",3,{self:null,width:null,fillchar:null},["self","width","fillchar"],arguments,{fillchar:" "},null,null),_self=to_string($.self),len=str.__len__(_self);if($.width<=len){return _self}return _self+$.fillchar.repeat($.width-len)};str.lower=function(){var $=$B.args("lower",1,{self:null},["self"],arguments,{},null,null),_self=to_string($.self);return _self.toLowerCase()};str.lstrip=function(){var $=$B.args("lstrip",2,{self:null,chars:null},["self","chars"],arguments,{chars:_b_.None},null,null),_self=$.self,chars=$.chars;if(chars===_b_.None){return _self.trimStart()}[_self,chars]=to_string([_self,chars]);while(_self.length>0){var flag=false;for(var char of chars){if(_self.startsWith(char)){_self=_self.substr(char.length);flag=true;break}}if(!flag){return $.self.surrogates?$B.String(_self):_self}}return""};str.maketrans=function(){var $=$B.args("maketrans",3,{x:null,y:null,z:null},["x","y","z"],arguments,{y:null,z:null},null,null);var _t=$B.empty_dict();if($.y===null&&$.z===null){if(!$B.$isinstance($.x,_b_.dict)){throw _b_.TypeError.$factory("maketrans only argument must be a dict")}var items=_b_.list.$factory(_b_.dict.items($.x));for(let i=0,len=items.length;i0&&str.endswith(_self,suffix)){return _self.substr(0,_self.length-suffix.length)}return _self.substr(0)};str.replace=function(){var $=$B.args("replace",4,{self:null,old:null,new:null,count:null},["self","old","new","count"],arguments,{count:-1},null,null),count=$.count,_self=$.self,old=$.old,_new=$.new;check_str(old,"replace() argument 1 ");check_str(_new,"replace() argument 2 ");if(!$B.$isinstance(count,[_b_.int,_b_.float])){throw _b_.TypeError.$factory("'"+$B.class_name(count)+"' object cannot be interpreted as an integer")}else if($B.$isinstance(count,_b_.float)){throw _b_.TypeError.$factory("integer argument expected, got float")}if(count==0){return _self}if(count.__class__==$B.long_int){count=parseInt(count.value)}[old,_new]=to_string([old,_new]);var elts;if(old==""){if(_new==""){return _self}if(_self==""){return _new}elts=_self.split("");if(count>-1&&elts.length>=count){var rest=elts.slice(count).join("");return _new+elts.slice(0,count).join(_new)+rest}else{return _new+elts.join(_new)+_new}}else{elts=str.split(_self,old,count)}var res=_self,pos=-1;if(old.length==0){res=_new;for(var i=0;i0){pos=res.indexOf(old,pos);if(pos<0){break}res=res.substr(0,pos)+_new+res.substr(pos+old.length);pos=pos+_new.length;count--}return res};str.rfind=function(){var $=$B.args("rfind",4,{self:null,sub:null,start:null,end:null},["self","sub","start","end"],arguments,{start:0,end:null},null,null),_self,sub;normalize_start_end($);check_str($.sub);[_self,sub]=to_string([$.self,$.sub]);var len=str.__len__(_self),sub_len=str.__len__(sub);if(sub_len==0){if($.js_start>len){return-1}else{return str.__len__(_self)}}var js_start=pypos2jspos(_self,$.start),js_end=pypos2jspos(_self,$.end),ix=_self.substring(js_start,js_end).lastIndexOf(sub);if(ix==-1){return-1}return jspos2pypos(_self,js_start+ix)-$.start};str.rindex=function(){var res=str.rfind.apply(null,arguments);if(res==-1){throw _b_.ValueError.$factory("substring not found")}return res};str.rjust=function(){var $=$B.args("rjust",3,{self:null,width:null,fillchar:null},["self","width","fillchar"],arguments,{fillchar:" "},null,null),_self=to_string($.self);var len=str.__len__(_self);if($.width<=len){return _self}return $B.String($.fillchar.repeat($.width-len)+_self)};str.rpartition=function(self,sep){var $=$B.args("rpartition",2,{self:null,sep:null},["self","sep"],arguments,{},null,null),_self;check_str($.sep);[_self,sep]=[$.self,$.sep];_self=reverse(_self),sep=reverse(sep);var items=str.partition(_self,sep).reverse();for(var i=0;i0){var flag=false;for(var char of chars){if(_self.endsWith(char)){_self=_self.substr(0,_self.length-char.length);flag=true;break}}if(!flag){return _self.surrogates?$B.String(_self):_self}}return""};str.split=function(){var $=$B.args("split",3,{self:null,sep:null,maxsplit:null},["self","sep","maxsplit"],arguments,{sep:_b_.None,maxsplit:-1},null,null),maxsplit=$.maxsplit,sep=$.sep,pos=0,_self=to_string($.self);if(maxsplit.__class__===$B.long_int){maxsplit=parseInt(maxsplit.value)}if(sep==""){throw _b_.ValueError.$factory("empty separator")}if(sep===_b_.None){let res=[];while(pos<_self.length&&_self.charAt(pos).search(/\s/)>-1){pos++}if(pos===_self.length-1){return[_self]}let name="";while(1){if(_self.charAt(pos).search(/\s/)==-1){if(name==""){name=_self.charAt(pos)}else{name+=_self.charAt(pos)}}else{if(name!==""){res.push(name);if(maxsplit!==-1&&res.length==maxsplit+1){res.pop();res.push(name+_self.substr(pos));return res}name=""}}pos++;if(pos>_self.length-1){if(name){res.push(name)}break}}return res.map($B.String)}else{sep=to_string(sep);let res=[],s="",seplen=sep.length;if(maxsplit==0){return[$.self]}while(pos<_self.length){if(_self.substr(pos,seplen)==sep){res.push(s);pos+=seplen;if(maxsplit>-1&&res.length>=maxsplit){res.push(_self.substr(pos));return res.map($B.String)}s=""}else{s+=_self.charAt(pos);pos++}}res.push(s);return res.map($B.String)}};str.splitlines=function(){var $=$B.args("splitlines",2,{self:null,keepends:null},["self","keepends"],arguments,{keepends:false},null,null);if(!$B.$isinstance($.keepends,[_b_.bool,_b_.int])){throw _b_.TypeError("integer argument expected, got "+$B.get_class($.keepends).__name)}var keepends=_b_.int.$factory($.keepends),res=[],start=0,pos=0,_self=to_string($.self);if(!_self.length){return res}while(pos<_self.length){if(_self.substr(pos,2)=="\r\n"){res.push(_self.slice(start,keepends?pos+2:pos));start=pos=pos+2}else if(_self[pos]=="\r"||_self[pos]=="\n"){res.push(_self.slice(start,keepends?pos+1:pos));start=pos=pos+1}else{pos++}}if(start<_self.length){res.push(_self.slice(start))}return res.map($B.String)};str.startswith=function(){var $=$B.args("startswith",4,{self:null,prefix:null,start:null,end:null},["self","prefix","start","end"],arguments,{start:0,end:null},null,null),_self;normalize_start_end($);var prefixes=$.prefix;if(!$B.$isinstance(prefixes,_b_.tuple)){prefixes=[prefixes]}_self=to_string($.self);prefixes=to_string(prefixes);var s=_self.substring($.start,$.end);for(var prefix of prefixes){if(!$B.$isinstance(prefix,str)){throw _b_.TypeError.$factory("endswith first arg must be str "+"or a tuple of str, not int")}if(s.substr(0,prefix.length)==prefix){return true}}return false};str.strip=function(){var $=$B.args("strip",2,{self:null,chars:null},["self","chars"],arguments,{chars:_b_.None},null,null);if($.chars===_b_.None){return $.self.trim()}return str.rstrip(str.lstrip($.self,$.chars),$.chars)};str.swapcase=function(self){var $=$B.args("swapcase",1,{self:self},["self"],arguments,{},null,null),res="",cp,_self=to_string($.self);for(var char of _self){cp=_b_.ord(char);if($B.in_unicode_category("Ll",cp)){res+=char.toUpperCase()}else if($B.in_unicode_category("Lu",cp)){res+=char.toLowerCase()}else{res+=char}}return res};str.title=function(self){var $=$B.args("title",1,{self:self},["self"],arguments,{},null,null),state,cp,res="",_self=to_string($.self);for(var char of _self){cp=_b_.ord(char);if($B.in_unicode_category("Ll",cp)){if(!state){res+=char.toUpperCase();state="word"}else{res+=char}}else if($B.in_unicode_category("Lu",cp)||$B.in_unicode_category("Lt",cp)){res+=state?char.toLowerCase():char;state="word"}else{state=null;res+=char}}return res};str.translate=function(){var $=$B.args("translate",2,{self:null,table:null},["self","table"],arguments,{},null,null),table=$.table,res=[],getitem=$B.$getattr(table,"__getitem__"),cp,_self=to_string($.self);for(var char of _self){cp=_b_.ord(char);try{var repl=getitem(cp);if(repl!==_b_.None){if(typeof repl=="string"){res.push(repl)}else if(typeof repl=="number"){res.push(String.fromCharCode(repl))}}}catch(err){res.push(char)}}return res.join("")};str.upper=function(){var $=$B.args("upper",1,{self:null},["self"],arguments,{},null,null),_self=to_string($.self);return _self.toUpperCase()};str.zfill=function(){var $=$B.args("zfill",2,{self:null,width:null},["self","width"],arguments,{},null,null),_self=to_string($.self);var len=str.__len__(_self);if($.width<=len){return _self}switch(_self.charAt(0)){case"+":case"-":return _self.charAt(0)+"0".repeat($.width-len)+_self.substr(1);default:return"0".repeat($.width-len)+_self}};str.$factory=function(arg,encoding){if(arguments.length==0){return""}if(arg===undefined){return $B.UndefinedType.__str__()}else if(arg===null){return""}if(encoding!==undefined){var $=$B.args("str",3,{arg:null,encoding:null,errors:null},["arg","encoding","errors"],arguments,{encoding:"utf-8",errors:"strict"},null,null);encoding=$.encoding}if(typeof arg=="string"||arg instanceof String){return arg.toString()}else if(typeof arg=="number"&&Number.isInteger(arg)){return arg.toString()}try{if(arg.__class__&&arg.__class__===_b_.bytes&&encoding!==undefined){return _b_.bytes.decode(arg,$.encoding,$.errors)}var klass=arg.__class__||$B.get_class(arg);if(klass===undefined){return $B.JSObj.__str__($B.jsobj2pyobj(arg))}var method=$B.$getattr(klass,"__str__",null);if(method===null){method=$B.$getattr(klass,"__repr__")}}catch(err){console.log("no __str__ for",arg);console.log("err ",err);if($B.get_option("debug")>1){console.log(err)}console.log("Warning - no method __str__ or __repr__, "+"default to toString",arg);throw err}var res=$B.$call(method)(arg);if(typeof res=="string"||$B.$isinstance(res,str)){return res}throw _b_.TypeError.$factory("__str__ returned non-string "+`(type ${$B.class_name(res)})`)};$B.set_func_names(str,"builtins");_b_.str=str;$B.parse_format_spec=function(spec,obj){if(spec==""){this.empty=true}else{var pos=0,aligns="<>=^",digits="0123456789",types="bcdeEfFgGnosxX%",align_pos=aligns.indexOf(spec.charAt(0));if(align_pos!=-1){if(spec.charAt(1)&&aligns.indexOf(spec.charAt(1))!=-1){this.fill=spec.charAt(0);this.align=spec.charAt(1);pos=2}else{this.align=aligns[align_pos];this.fill=" ";pos++}}else{align_pos=aligns.indexOf(spec.charAt(1));if(spec.charAt(1)&&align_pos!=-1){this.align=aligns[align_pos];this.fill=spec.charAt(0);pos=2}}var car=spec.charAt(pos);if(car=="+"||car=="-"||car==" "){this.sign=car;pos++;car=spec.charAt(pos)}if(car=="z"){this.z=true;pos++;car=spec.charAt(pos)}if(car=="#"){this.alternate=true;pos++;car=spec.charAt(pos)}if(car=="0"){this.fill="0";if(align_pos==-1){this.align="="}pos++;car=spec.charAt(pos)}while(car&&digits.indexOf(car)>-1){if(this.width===undefined){this.width=car}else{this.width+=car}pos++;car=spec.charAt(pos)}if(this.width!==undefined){this.width=parseInt(this.width)}if(this.width===undefined&&car=="{"){var end_param_pos=spec.substr(pos).search("}");this.width=spec.substring(pos,end_param_pos);pos+=end_param_pos+1}if(car==","||car=="_"){this.comma=true;this.grouping_option=car;pos++;car=spec.charAt(pos);if(car==","||car=="_"){if(car==this.grouping_option){throw _b_.ValueError.$factory(`Cannot specify '${car}' with '${car}'.`)}else{throw _b_.ValueError.$factory("Cannot specify both ',' and '_'.")}}}if(car=="."){if(digits.indexOf(spec.charAt(pos+1))==-1){throw _b_.ValueError.$factory("Missing precision in format spec")}this.precision=spec.charAt(pos+1);pos+=2;car=spec.charAt(pos);while(car&&digits.indexOf(car)>-1){this.precision+=car;pos++;car=spec.charAt(pos)}this.precision=parseInt(this.precision)}if(car&&types.indexOf(car)>-1){this.type=car;pos++;car=spec.charAt(pos)}if(pos!==spec.length){var err_msg=`Invalid format specifier '${spec}'`;if(obj){err_msg+=` for object of type '${$B.class_name(obj)}'`}throw _b_.ValueError.$factory(err_msg)}}this.toString=function(){return(this.fill===undefined?"":_b_.str.$factory(this.fill))+(this.align||"")+(this.sign||"")+(this.alternate?"#":"")+(this.sign_aware?"0":"")+(this.width||"")+(this.comma?",":"")+(this.precision?"."+this.precision:"")+(this.type||"")}};$B.format_width=function(s,fmt){if(fmt.width&&s.length":return fill.repeat(missing)+s;case"=":if("+-".indexOf(s.charAt(0))>-1){return s.charAt(0)+fill.repeat(missing)+s.substr(1)}else{return fill.repeat(missing)+s}case"^":var left=parseInt(missing/2);return fill.repeat(left)+s+fill.repeat(missing-left)}}return s};function fstring_expression(start){this.type="expression";this.start=start;this.expression="";this.conversion=null;this.fmt=null}function fstring_error(msg,pos){var error=Error(msg);error.position=pos;throw error}$B.parse_fstring=function(string){var elts=[],pos=0,current="",ctype=null,nb_braces=0,expr_start,car;while(pos-1){if(current.expression.length==0){throw Error("f-string: empty expression not allowed")}if("ars".indexOf(string.charAt(i+1))==-1){throw Error("f-string: invalid conversion character:"+" expected 's', 'r', or 'a'")}else{current.conversion=string.charAt(i+1);i+=2}}else if(car=="("||car=="["){nb_paren++;current.expression+=car;i++}else if(car==")"||car=="]"){nb_paren--;current.expression+=car;i++}else if(car=='"'){if(string.substr(i,3)=='"""'){let end=string.indexOf('"""',i+3);if(end==-1){fstring_error("f-string: unterminated string",pos)}else{var trs=string.substring(i,end+3);trs=trs.replace("\n","\\n\\");current.expression+=trs;i=end+3}}else{let end=string.indexOf('"',i+1);if(end==-1){fstring_error("f-string: unterminated string",pos)}else{current.expression+=string.substring(i,end+1);i=end+1}}}else if(nb_paren==0&&car==":"){current.fmt=true;var cb=0,fmt_complete=false;for(var j=i+1;j-1?"\\":"")+last_char;if(ce.length==0||nb_paren>0||string.charAt(i+1)=="="||"=!<>:".search(last_char_re)>-1){current.expression+=car;i+=1}else{var tail=car;while(string.charAt(i+1).match(/\s/)){tail+=string.charAt(i+1);i++}elts.push(current.expression+tail);while(ce.match(/\s$/)){ce=ce.substr(0,ce.length-1)}current.expression=ce;ctype="debug";i++}}else{current.expression+=car;i++}}if(nb_braces>0){fstring_error("f-string: expected '}'",pos)}}}if(current.length>0){elts.push(current)}for(var elt of elts){if(typeof elt=="object"){if(elt.fmt_pos!==undefined&&elt.expression.charAt(elt.fmt_pos)!=":"){throw Error()}}}return elts};$B.codepoint2jsstring=function(i){if(i>=65536&&i<=1114111){var code=i-65536;return String.fromCodePoint(55296|code>>10)+String.fromCodePoint(56320|code&1023)}else{return String.fromCodePoint(i)}};$B.jsstring2codepoint=function(c){if(c.length==1){return c.charCodeAt(0)}var code=65536;code+=(c.charCodeAt(0)&1023)<<10;code+=c.charCodeAt(1)&1023;return code}})(__BRYTHON__);(function($B){var _b_=$B.builtins;function $err(op,other){var msg="unsupported operand type(s) for "+op+" : 'int' and '"+$B.class_name(other)+"'";throw _b_.TypeError.$factory(msg)}function int_value(obj){if(typeof obj=="boolean"){return obj?1:0}return obj.$brython_value!==undefined?obj.$brython_value:obj}function bigint_value(obj){if(typeof obj=="boolean"){return obj?1n:0n}else if(typeof obj=="number"){return BigInt(obj)}else if(obj.__class__===$B.long_int){return obj.value}else if($B.$isinstance(obj,_b_.int)){return bigint_value(obj.$brython_value)}}var int={__class__:_b_.type,__dir__:_b_.object.__dir__,__mro__:[_b_.object],__qualname__:"int",$is_class:true,$native:true,$descriptors:{numerator:true,denominator:true,imag:true,real:true},$is_int_subclass:true};var int_or_long=int.$int_or_long=function(bigint){var res=Number(bigint);return Number.isSafeInteger(res)?res:$B.fast_long_int(bigint)};int.$to_js_number=function(obj){if(typeof obj=="number"){return obj}else if(obj.__class__===$B.long_int){return Number(obj.value)}else if($B.$isinstance(obj,_b_.int)){return int.$to_js_value(obj.$brython_value)}return null};int.$to_bigint=bigint_value;int.$int_value=int_value;int.as_integer_ratio=function(){var $=$B.args("as_integer_ratio",1,{self:null},["self"],arguments,{},null,null);return $B.fast_tuple([$.self,1])};int.from_bytes=function(){var $=$B.args("from_bytes",3,{bytes:null,byteorder:null,signed:null},["bytes","byteorder","signed"],arguments,{byteorder:"big",signed:false},null,null);var x=$.bytes,byteorder=$.byteorder,signed=$.signed,_bytes,_len;if($B.$isinstance(x,[_b_.bytes,_b_.bytearray])){_bytes=x.source;_len=x.source.length}else{_bytes=_b_.list.$factory(x);_len=_bytes.length;for(let i=0;i<_len;i++){_b_.bytes.$factory([_bytes[i]])}}if(byteorder=="big"){_bytes.reverse()}else if(byteorder!="little"){throw _b_.ValueError.$factory("byteorder must be either 'little' or 'big'")}var num=_bytes[0];if(signed&&num>=128){num=num-256}num=BigInt(num);var _mult=256n;for(let i=1;i<_len;i++){num+=_mult*BigInt(_bytes[i]);_mult*=256n}if(!signed){return int_or_long(num)}if(_bytes[_len-1]<128){return int_or_long(num)}return int_or_long(num-_mult)};int.to_bytes=function(){var $=$B.args("to_bytes",3,{self:null,len:null,byteorder:null,signed:null},["self","len","byteorder","signed"],arguments,{len:1,byteorder:"big",signed:false},null,null),self=$.self,len=$.len,byteorder=$.byteorder,signed=$.signed;if(!$B.$isinstance(len,_b_.int)){throw _b_.TypeError.$factory("integer argument expected, got "+$B.class_name(len))}if(["little","big"].indexOf(byteorder)==-1){throw _b_.ValueError.$factory("byteorder must be either 'little' or 'big'")}if($B.$isinstance(self,$B.long_int)){return $B.long_int.to_bytes(self,len,byteorder,signed)}if(self<0){if(!signed){throw _b_.OverflowError.$factory("can't convert negative int to unsigned")}self=Math.pow(256,len)+self}var res=[],value=self;while(value>0){var quotient=Math.floor(value/256),rest=value-256*quotient;res.push(rest);if(res.length>len){throw _b_.OverflowError.$factory("int too big to convert")}value=quotient}while(res.length=0){res=fmt.sign+res}}return res}int.__format__=function(self,format_spec){var fmt=new $B.parse_format_spec(format_spec,self);if(fmt.type&&"eEfFgG%".indexOf(fmt.type)!=-1){return _b_.float.__format__($B.fast_float(self),format_spec)}fmt.align=fmt.align||">";var res=preformat(self,fmt);if(fmt.comma){var sign=res[0]=="-"?"-":"",rest=res.substr(sign.length),len=rest.length,nb=Math.ceil(rest.length/3),chunks=[];for(var i=0;iint_value(self);int.__init__=()=>_b_.None;int.__int__=self=>self;int.__invert__=function(self){if(Math.abs(self)<2**31){return~self}return $B.rich_op("__sub__",$B.rich_op("__mul__",self,-1),1)};int.__mod__=function(self,other){if($B.$isinstance(other,_b_.tuple)&&other.length==1){other=other[0]}if(other.__class__===$B.long_int){self=BigInt(self);other=other.value;if(other==0){throw _b_.ZeroDivisionError.$factory("integer division or modulo by zero")}return int_or_long((self%other+other)%other)}if($B.$isinstance(other,int)){other=int_value(other);if(other===false){other=0}else if(other===true){other=1}if(other==0){throw _b_.ZeroDivisionError.$factory("integer division or modulo by zero")}return(self%other+other)%other}return _b_.NotImplemented};int.__mul__=Function("self","other",op_model.replace(/\+/g,"*").replace(/add/g,"mul"));int.__ne__=function(self,other){var res=int.__eq__(self,other);return res===_b_.NotImplemented?res:!res};int.__neg__=function(self){var self_as_int=int_value(self);if(self_as_int.__class__===$B.long_int){return $B.long_int.__neg__(self_as_int)}return-self};int.__new__=function(cls,value,base){if(cls===undefined){throw _b_.TypeError.$factory("int.__new__(): not enough arguments")}else if(!$B.$isinstance(cls,_b_.type)){throw _b_.TypeError.$factory("int.__new__(X): X is not a type object")}if(cls===int){return int.$factory(value,base)}if(cls===bool){throw _b_.TypeError.$factory("int.__new__(bool) is not safe, use bool.__new__()")}return{__class__:cls,__dict__:$B.empty_dict(),$brython_value:int.$factory(value,base),toString:function(){return value}}};int.__pos__=function(self){return self};function extended_euclidean(a,b){var d,u,v;if(b==0){return[a,1n,0n]}else{[d,u,v]=extended_euclidean(b,a%b);return[d,v,u-a/b*v]}}int.__pow__=function(self,other,z){if(!$B.$isinstance(other,int)){return _b_.NotImplemented}if(typeof other=="boolean"){other=other?1:0}if(typeof other=="number"||$B.$isinstance(other,int)){if(z!==undefined&&z!==_b_.None){self=bigint_value(self);other=bigint_value(other);z=bigint_value(z);if(z==1){return 0}var result=1n,exponent=other,base=self%z;if(base<0){base+=z}if(exponent<0){var gcd,inv,_;[gcd,inv,_]=extended_euclidean(self,z);if(gcd!=1){throw _b_.ValueError.$factory("not relative primes: "+self+" and "+z)}return int.__pow__(int_or_long(inv),int_or_long(-exponent),int_or_long(z))}while(exponent>0){if(exponent%2n==1n){result=result*base%z}exponent=exponent>>1n;base=base*base%z}return int_or_long(result)}else{if(typeof other=="number"){if(other>=0){return int_or_long(BigInt(self)**BigInt(other))}else{return $B.fast_float(Math.pow(self,other))}}else if(other.__class__===$B.long_int){if(other.value>=0){return int_or_long(BigInt(self)**other.value)}else{return $B.fast_float(Math.pow(self,other))}}else if($B.$isinstance(other,_b_.int)){return int_or_long(int.__pow__(self,other.$brython_value))}return _b_.NotImplemented}}if($B.$isinstance(other,_b_.float)){other=_b_.float.numerator(other);if(self>=0){return $B.fast_float(Math.pow(self,other))}else{return _b_.complex.__pow__($B.make_complex(self,0),other)}}else if($B.$isinstance(other,_b_.complex)){var preal=Math.pow(self,other.$real),ln=Math.log(self);return $B.make_complex(preal*Math.cos(ln),preal*Math.sin(ln))}var rpow=$B.$getattr(other,"__rpow__",_b_.None);if(rpow!==_b_.None){return rpow(self)}$err("**",other)};int.__repr__=function(self){$B.builtins_repr_check(int,arguments);var value=int_value(self),x=value.__class__===$B.long_int?value.value:value;if($B.int_max_str_digits!=0&&x>=10n**BigInt($B.int_max_str_digits)){throw _b_.ValueError.$factory(`Exceeds the limit `+`(${$B.int_max_str_digits}) for integer string conversion`)}return x.toString()};int.__setattr__=function(self,attr,value){if(typeof self=="number"||typeof self=="boolean"){var cl_name=$B.class_name(self);if(_b_.dir(self).indexOf(attr)>-1){throw _b_.AttributeError.$factory("attribute '"+attr+`' of '${cl_name}' objects is not writable`)}else{throw _b_.AttributeError.$factory(`'${cl_name}' object`+` has no attribute '${attr}'`)}}_b_.dict.$setitem(self.__dict__,attr,value);return _b_.None};int.__sub__=Function("self","other",op_model.replace(/\+/g,"-").replace(/__add__/g,"__sub__"));int.__truediv__=function(self,other){if($B.$isinstance(other,int)){other=int_value(other);if(other==0){throw _b_.ZeroDivisionError.$factory("division by zero")}if(other.__class__===$B.long_int){return $B.fast_float(self/parseInt(other.value))}return $B.fast_float(self/other)}return _b_.NotImplemented};int.bit_count=function(self){var s=_b_.bin(_b_.abs(self)),nb=0;for(var x of s){if(x=="1"){nb++}}return nb};int.bit_length=function(self){var s=_b_.bin(self);s=$B.$getattr(s,"lstrip")("-0b");return s.length};int.numerator=self=>int_value(self);int.denominator=()=>1;int.imag=()=>0;int.real=self=>self;for(var attr of["numerator","denominator","imag","real"]){int[attr].setter=function(x){return function(self){throw _b_.AttributeError.$factory(`attribute '${x}' of `+`'${$B.class_name(self)}' objects is not writable`)}}(attr)}var model=`var _b_ = __BRYTHON__.builtins\nif(typeof other == "number"){\n // transform into BigInt: JS converts numbers to 32 bits\n return _b_.int.$int_or_long(BigInt(self) & BigInt(other))}else if(typeof other == "boolean"){\n return self & (other ? 1 : 0)}else if(other.__class__ === $B.long_int){\n return _b_.int.$int_or_long(BigInt(self) & other.value)}else if($B.$isinstance(other, _b_.int)){\n // int subclass\n return _b_.int.__and__(self, other.$brython_value)}\nreturn _b_.NotImplemented`;int.__and__=Function("self","other",model);int.__lshift__=Function("self","other",model.replace(/&/g,"<<").replace(/__and__/g,"__lshift__"));int.__rshift__=Function("self","other",model.replace(/&/g,">>").replace(/__and__/g,"__rshift__"));int.__or__=Function("self","other",model.replace(/&/g,"|").replace(/__and__/g,"__or__"));int.__xor__=Function("self","other",model.replace(/&/g,"^").replace(/__and__/g,"__xor__"));int.__ge__=function(self,other){self=int_value(self);if(typeof other=="number"){return self>=other}else if(other!==null&&other.__class__===$B.long_int){return self>=other.value}else if(typeof other=="boolean"){return self>=other?1:0}else if($B.$isinstance(other,_b_.int)){return self>=other.$brython_value}return _b_.NotImplemented};int.__gt__=function(self,other){var res=int.__le__(self,other);return res===_b_.NotImplemented?res:!res};int.__le__=function(self,other){self=int_value(self);if(typeof other=="number"){return self<=other}else if(other!==null&&other.__class__===$B.long_int){return self<=other.value}else if(typeof other=="boolean"){return self<=other?1:0}else if($B.$isinstance(other,_b_.int)){return self<=other.$brython_value}return _b_.NotImplemented};int.__lt__=function(self,other){var res=int.__ge__(self,other);return res===_b_.NotImplemented?res:!res};var r_opnames=["add","sub","mul","truediv","floordiv","mod","pow","lshift","rshift","and","xor","or","divmod"];for(var r_opname of r_opnames){if(int["__r"+r_opname+"__"]===undefined&&int["__"+r_opname+"__"]){int["__r"+r_opname+"__"]=function(name){return function(self,other){if($B.$isinstance(other,int)){other=int_value(other);return int["__"+name+"__"](other,self)}return _b_.NotImplemented}}(r_opname)}}var $valid_digits=function(base){var digits="";if(base===0){return"0"}if(base<10){for(let i=0;i=2&&base<=36)){if(base!=0){throw _b_.ValueError.$factory("invalid base")}}function invalid(base){throw _b_.ValueError.$factory("invalid literal for int() with base "+base+": "+_b_.repr(initial_value))}if(typeof value!="string"){value=_b_.str.$to_string(value)}var _value=value.trim(),sign="";if(_value.startsWith("+")||_value.startsWith("-")){sign=_value[0];_value=_value.substr(1)}if(_value.length==2&&base==0&&(_value=="0b"||_value=="0o"||_value=="0x")){throw _b_.ValueError.$factory("invalid value")}if(_value.endsWith("_")){invalid(base)}if(value.indexOf("__")>-1){invalid(base)}if(_value.length>2){let _pre=_value.substr(0,2).toUpperCase();if(base==0){if(_pre=="0B"){base=2}else if(_pre=="0O"){base=8}else if(_pre=="0X"){base=16}else if(_value.startsWith("0")){_value=_value.replace(/_/g,"");if(_value.match(/^0+$/)){return 0}invalid(base)}}else if(_pre=="0X"&&base!=16){invalid(base)}else if(_pre=="0O"&&base!=8){invalid(base)}if(_pre=="0B"&&base==2||_pre=="0O"||_pre=="0X"){_value=_value.substr(2);if(_value.startsWith("_")){_value=_value.substr(1)}}}if(base==0){base=10}var _digits=$valid_digits(base),_re=new RegExp("^[+-]?["+_digits+"]"+"["+_digits+"_]*$","i"),match=_re.exec(_value),res;if(match===null){res=0;var digit;for(var char of _value){if(/\p{Nd}/u.test(char)){let cp=char.codePointAt(0);for(let start of $B.digits_starts){if(cp-start<10){digit=cp-start;break}}}else{if(base>10&&_digits.indexOf(char.toUpperCase())>-1){digit=char.toUpperCase().charCodeAt(0)-55}else{invalid(base)}}if(digit$B.int_max_str_digits){throw _b_.ValueError.$factory("Exceeds the limit "+`(${$B.int_max_str_digits}) for integer string conversion: `+`value has ${value.length} digits; use `+"sys.set_int_max_str_digits() to increase the limit.")}if(base==10){res=BigInt(_value)}else{base=BigInt(base);res=0n;let coef=1n,char;for(let i=_value.length-1;i>=0;i--){char=_value[i].toUpperCase();res+=coef*BigInt(_digits.indexOf(char));coef*=base}}}if(sign=="-"){res=-res}return int_or_long(res)};$B.set_func_names(int,"builtins");_b_.int=int;$B.$bool=function(obj,bool_class){if(obj===null||obj===undefined){return false}switch(typeof obj){case"boolean":return obj;case"number":case"string":if(obj){return true}return false;default:if(obj.$is_class){return true}var klass=$B.get_class(obj),missing={},bool_method=bool_class?$B.$getattr(klass,"__bool__",missing):$B.$getattr(obj,"__bool__",missing);var test=false;if(test){console.log("bool(obj)",obj,"bool_class",bool_class,"klass",klass,"apply bool method",bool_method);console.log("$B.$call(bool_method)",bool_method+"")}if(bool_method===missing){var len_method=$B.$getattr(klass,"__len__",missing);if(len_method===missing){return true}return _b_.len(obj)>0}else{var res=bool_class?$B.$call(bool_method)(obj):$B.$call(bool_method)();if(res!==true&&res!==false){throw _b_.TypeError.$factory("__bool__ should return "+"bool, returned "+$B.class_name(res))}if(test){console.log("bool method returns",res)}return res}}};var bool={__bases__:[int],__class__:_b_.type,__mro__:[int,_b_.object],__qualname__:"bool",$is_class:true,$not_basetype:true,$native:true,$descriptors:{numerator:true,denominator:true,imag:true,real:true}};bool.__and__=function(self,other){if($B.$isinstance(other,bool)){return self&&other}else if($B.$isinstance(other,int)){return int.__and__(bool.__index__(self),int.__index__(other))}return _b_.NotImplemented};bool.__float__=function(self){return self?$B.fast_float(1):$B.fast_float(0)};bool.__hash__=bool.__index__=bool.__int__=function(self){if(self.valueOf())return 1;return 0};bool.__neg__=function(self){return-$B.int_or_bool(self)};bool.__or__=function(self,other){if($B.$isinstance(other,bool)){return self||other}else if($B.$isinstance(other,int)){return int.__or__(bool.__index__(self),int.__index__(other))}return _b_.NotImplemented};bool.__pos__=$B.int_or_bool;bool.__repr__=function(self){$B.builtins_repr_check(bool,arguments);return self?"True":"False"};bool.__xor__=function(self,other){if($B.$isinstance(other,bool)){return self^other?true:false}else if($B.$isinstance(other,int)){return int.__xor__(bool.__index__(self),int.__index__(other))}return _b_.NotImplemented};bool.__invert__=function(self){$B.warn(_b_.DeprecationWarning,`Bitwise inversion '~' on bool is deprecated.This returns the bitwise inversion of the underlying int object and is usually not what you expect from negating a bool.Use the 'not' operator for boolean negation or ~int(x) if you really want the bitwise inversion of the underlying int.`);return int.__invert__(self)};bool.$factory=function(){var $=$B.args("bool",1,{x:null},["x"],arguments,{x:false},null,null,1);return $B.$bool($.x,true)};bool.__new__=function(cls,value){if(cls===undefined){throw _b_.TypeError.$factory("bool.__new__(): not enough arguments")}else if(!$B.$isinstance(cls,_b_.type)){throw _b_.TypeError.$factory(`bool.__new__(X): X is not a type object (${$B.class_name(cls)})`)}else if(!_b_.issubclass(cls,bool)){let class_name=$B.class_name(cls);throw _b_.TypeError.$factory(`bool.__new__(${class_name}): ${class_name} is not a subtype of bool`)}if(arguments.length>2){throw _b_.TypeError.$factory(`bool expected at most 1 argument, got ${arguments.length-1}`)}return bool.$factory(value)};bool.from_bytes=function(){var $=$B.args("from_bytes",3,{bytes:null,byteorder:null,signed:null},["bytes","byteorder","signed"],arguments,{byteorder:"big",signed:false},null,null);let int_result=int.from_bytes($.bytes,$.byteorder,$.signed);return bool.$factory(int_result)};bool.numerator=int.numerator;bool.denominator=int.denominator;bool.real=self=>self?1:0;bool.imag=int.imag;for(var attr of["real"]){bool[attr].setter=function(x){return function(self){throw _b_.AttributeError.$factory(`attribute '${x}' of `+`'${$B.class_name(self)}' objects is not writable`)}}(attr)}_b_.bool=bool;$B.set_func_names(bool,"builtins")})(__BRYTHON__);(function($B){var _b_=$B.builtins;var long_int={__class__:_b_.type,__mro__:[_b_.int,_b_.object],__qualname__:"int",$infos:{__module__:"builtins",__name__:"int"},$is_class:true,$native:true,$descriptors:{numerator:true,denominator:true,imag:true,real:true}};var int_or_long=_b_.int.$int_or_long;function preformat(self,fmt){if(fmt.empty){return _b_.str.$factory(self)}if(fmt.type&&"bcdoxXn".indexOf(fmt.type)==-1){throw _b_.ValueError.$factory("Unknown format code '"+fmt.type+"' for object of type 'int'")}var res;switch(fmt.type){case undefined:case"d":res=self.toString();break;case"b":res=(fmt.alternate?"0b":"")+BigInt(self.value).toString(2);break;case"c":res=_b_.chr(self);break;case"o":res=(fmt.alternate?"0o":"")+BigInt(self.value).toString(8);break;case"x":res=(fmt.alternate?"0x":"")+BigInt(self.value).toString(16);break;case"X":res=(fmt.alternate?"0X":"")+BigInt(self.value).toString(16).toUpperCase();break;case"n":return self}if(fmt.sign!==undefined){if((fmt.sign==" "||fmt.sign=="+")&&self>=0){res=fmt.sign+res}}return res}long_int.$to_js_number=function(self){return Number(self.value)};long_int.__format__=function(self,format_spec){var fmt=new $B.parse_format_spec(format_spec,self);if(fmt.type&&"eEfFgG%".indexOf(fmt.type)!=-1){return _b_.float.__format__(self,format_spec)}fmt.align=fmt.align||">";var res=preformat(self,fmt);if(fmt.comma){var sign=res[0]=="-"?"-":"",rest=res.substr(sign.length),len=rest.length,nb=Math.ceil(rest.length/3),chunks=[];for(var i=0;i0?self.value:-self.value)};long_int.__add__=function(self,other){if(typeof other=="number"){return int_or_long(self.value+BigInt(other))}else if(other.__class__===$B.long_int){return int_or_long(self.value+other.value)}else if(typeof other=="boolean"){return int_or_long(self.value+(other?1n:0n))}else if($B.$isinstance(other,_b_.int)){return long_int.__add__(self,other.$brython_value)}return _b_.NotImplemented};long_int.__divmod__=function(self,other){var a=self.value,b=_b_.int.$to_bigint(other),quotient;if(a>=0&&b>0||a<=0&&b<0){quotient=a/b}else{quotient=a/b-1n}var rest=a-quotient*b;return $B.fast_tuple([int_or_long(quotient),int_or_long(rest)])};long_int.__eq__=function(self,other){if(other.__class__===$B.long_int){return self.value==other.value}else if(typeof other=="number"||typeof other=="boolean"){return false}else if($B.$isinstance(other,_b_.int)){return long_int.__eq__(self,other.$brython_value)}return _b_.NotImplemented};long_int.__float__=function(self){if(!isFinite(Number(self.value))){throw _b_.OverflowError.$factory("int too large to convert to float")}return $B.fast_float(Number(self.value))};long_int.__floordiv__=function(self,other){if(typeof other=="number"){return int_or_long(self.value/BigInt(other))}else if(other.__class__===$B.long_int){return int_or_long(self.value/other.value)}else if(typeof other=="boolean"){return int_or_long(self.value/(other?1n:0n))}else if($B.$isinstance(other,_b_.int)){return int_or_long(self.value/other.$brython_value)}return _b_.NotImplemented};long_int.__ge__=function(self,other){if(typeof other=="number"){return self.value>=other}else if(other.__class__===$B.long_int){return self.value>=other.value}else if(typeof other=="boolean"){return self.value>=(other?1:0)}else if($B.$isinstance(other,_b_.int)){return self.value>=other.$brython_value}return _b_.NotImplemented};long_int.__gt__=function(self,other){var res=long_int.__le__(self,other);return res===_b_.NotImplemented?res:!res};long_int.__hash__=function(self){var modulus=2305843009213693951n,sign=self.value>=0?1n:-1n,self_pos=self.value*sign;var _hash=sign*(self_pos%modulus);return self.__hashvalue__=int_or_long(_hash)};long_int.__index__=function(self){return self};long_int.__invert__=function(self){return int_or_long(-1n-self.value)};long_int.__le__=function(self,other){if(typeof other=="number"){return self.value<=other}else if(other.__class__===$B.long_int){return self.value<=other.value}else if(typeof other=="boolean"){return self.value<=(other?1:0)}else if($B.$isinstance(other,_b_.int)){return self.value<=other.$brython_value}return _b_.NotImplemented};long_int.__lt__=function(self,other){var res=long_int.__ge__(self,other);return res===_b_.NotImplemented?res:!res};long_int.__lshift__=function(self,other){if(typeof other=="number"){return int_or_long(self.value<>BigInt(other))}else if(other.__class__===$B.long_int){return int_or_long(self.value>>other.value)}else if(typeof other=="boolean"){return int_or_long(self.value>>(other?1n:0n))}else if($B.$isinstance(other,_b_.int)){return long_int.__rshift__(self,other.$brython_value)}return _b_.NotImplemented};long_int.__repr__=function(self){$B.builtins_repr_check($B.long_int,arguments);if($B.int_max_str_digits!=0&&self.value>=10n**BigInt($B.int_max_str_digits)){throw _b_.ValueError.$factory(`Exceeds the limit `+`(${$B.int_max_str_digits}) for integer string conversion`)}return self.value.toString()};long_int.__sub__=function(self,other){if(typeof other=="number"){return int_or_long(self.value-BigInt(other))}else if(typeof other=="boolean"){return int_or_long(self.value-(other?1n:0n))}else if(other.__class__===$B.long_int){return int_or_long(self.value-other.value)}else if($B.$isinstance(other,_b_.int)){return long_int.__sub__(self,other.$brython_value)}return _b_.NotImplemented};long_int.__truediv__=function(self,other){if(typeof other=="number"){return $B.fast_float(Number(self.value)/other)}else if(typeof other=="boolean"){return $B.fast_float(Number(self.value)*(other?1:0))}else if(other.__class__===$B.long_int){return $B.fast_float(Number(self.value)/Number(other.value))}else if($B.$isinstance(other,_b_.int)){return long_int.__truediv__(self,other.$brython_value)}return _b_.NotImplemented};long_int.bit_count=function(self){var s=self.value.toString(2),nb=0;for(var x of s){if(x=="1"){nb++}}return nb};long_int.bit_length=function(self){return self.value.toString(2).length};function _infos(self){var nbits=$B.long_int.bit_length(self),pow2=2n**BigInt(nbits-1),rest=BigInt(self.value)-pow2,relative_rest=new Number(rest/pow2);return{nbits:nbits,pow2:pow2,rest:rest,relative_rest:relative_rest}}long_int.$log2=function(x){if(x.value<0){throw _b_.ValueError.$factory("math domain error")}var infos=_infos(x);return _b_.float.$factory(infos.nbits-1+Math.log(1+infos.relative_rest/Math.LN2))};long_int.$log10=function(x){if(x.value<0){throw _b_.ValueError.$factory("math domain error")}var x_string=x.value.toString(),exp=x_string.length-1,mant=parseFloat(x_string[0]+"."+x_string.substr(1));return _b_.float.$factory(exp+Math.log10(mant))};long_int.numerator=self=>self;long_int.denominator=()=>1;long_int.imag=()=>0;long_int.real=self=>self;var body=`var $B = __BRYTHON__,\n _b_ = $B.builtins\nif(typeof other == "number"){\n return _b_.int.$int_or_long(self.value & BigInt(other))}else if(typeof other == "boolean"){\n return _b_.int.$int_or_long(self.value & (other ? 1n : 0n))}else if(other.__class__ === $B.long_int){\n return _b_.int.$int_or_long(self.value & other.value)}else if($B.$isinstance(other, _b_.int)){\n // int subclass\n return $B.long_int.__and__(self, other.$brython_value)}\nreturn _b_.NotImplemented`;long_int.__and__=Function("self","other",body);long_int.__or__=Function("self","other",body.replace(/&/g,"|").replace(/__and__/g,"__or__"));long_int.__xor__=Function("self","other",body.replace(/&/g,"^").replace(/__and__/g,"__xor__"));long_int.to_bytes=function(self,len,byteorder,signed){var res=[],v=self.value;if(!$B.$bool(signed)&&v<0){throw _b_.OverflowError.$factory("can't convert negative int to unsigned")}while(v>0){var quot=v/256n,rest=v-quot*256n;v=quot;res.push(Number(rest));if(res.length>len){throw _b_.OverflowError.$factory("int too big to convert")}}while(res.length10){for(let i=0;i0}};long_int.$factory=function(value,base){var is_digits=digits(base);for(let i=0;i=0;i--){char=value[i].toUpperCase();res+=coef*BigInt(is_digits[char]);coef*=base}}return{__class__:$B.long_int,value:res}};function extended_euclidean_algorithm(a,b){var s=0,old_s=1,t=1,old_t=0,r=b,old_r=a,quotient,tmp;while($B.rich_comp("__ne__",r,0)){quotient=$B.rich_op("__floordiv__",old_r,r);tmp=$B.rich_op("__sub__",old_r,$B.rich_op("__mul__",quotient,r));old_r=r;r=tmp;tmp=$B.rich_op("__sub__",old_s,$B.rich_op("__mul__",quotient,s));old_s=s;s=tmp;tmp=$B.rich_op("__sub__",old_t,$B.rich_op("__mul__",quotient,t));old_t=t;t=tmp}return[old_r,old_s,old_t]}function inverse_of(n,p){var gcd,x,y;[gcd,x,y]=extended_euclidean_algorithm(n,p);if($B.rich_comp("__ne__",gcd,1)){throw Error(`${n} has no multiplicative inverse '\n 'modulo ${p}`)}else{return $B.rich_op("__mod__",x,p)}}$B.inverse_of=inverse_of;$B.set_func_names(long_int,"builtins");$B.long_int=long_int;$B.fast_long_int=function(value){if(typeof value!=="bigint"){console.log("expected bigint, got",value);throw Error("not a big int")}return{__class__:$B.long_int,value:value}}})(__BRYTHON__);(function($B){var _b_=$B.builtins;function float_value(obj){return obj.__class__===float?obj:fast_float(obj.value)}var float={__class__:_b_.type,__dir__:_b_.object.__dir__,__qualname__:"float",$is_class:true,$native:true,$descriptors:{numerator:true,denominator:true,imag:true,real:true}};float.$float_value=float_value;float.$to_js_number=function(self){if(self.__class__===float){return self.value}else{return float.$to_js_number(self.value)}};float.numerator=self=>self;float.denominator=()=>1;float.imag=()=>0;float.real=self=>self;float.__float__=function(self){return self};$B.shift1_cache={};float.as_integer_ratio=function(self){if(isinf(self)){throw _b_.OverflowError.$factory("Cannot pass infinity to "+"float.as_integer_ratio.")}if(isnan(self)){throw _b_.ValueError.$factory("Cannot pass NaN to "+"float.as_integer_ratio.")}var tmp=frexp(self),fp=tmp[0],exponent=tmp[1];for(var i=0;i<300;i++){if(fp==Math.floor(fp)){break}else{fp*=2;exponent--}}var numerator=_b_.int.$factory(fp),py_exponent=_b_.abs(exponent),denominator=1,x;if($B.shift1_cache[py_exponent]!==undefined){x=$B.shift1_cache[py_exponent]}else{x=$B.$getattr(1,"__lshift__")(py_exponent);$B.shift1_cache[py_exponent]=x}py_exponent=x;if(exponent>0){numerator=$B.rich_op("__mul__",numerator,py_exponent)}else{denominator=py_exponent}return $B.fast_tuple([_b_.int.$factory(numerator),_b_.int.$factory(denominator)])};function check_self_is_float(x,method){if(x.__class__===_b_.float||$B.$isinstance(x,_b_.float)){return true}throw _b_.TypeError.$factory(`descriptor '${method}' requires a `+`'float' object but received a '${$B.class_name(x)}'`)}float.__abs__=function(self){check_self_is_float(self,"__abs__");return fast_float(Math.abs(self.value))};float.__bool__=function(self){check_self_is_float(self,"__bool__");return _b_.bool.$factory(self.value)};float.__ceil__=function(self){check_self_is_float(self,"__ceil__");if(isnan(self)){throw _b_.ValueError.$factory("cannot convert float NaN to integer")}else if(isinf(self)){throw _b_.OverflowError.$factory("cannot convert float infinity to integer")}return Math.ceil(self.value)};float.__divmod__=function(self,other){check_self_is_float(self,"__divmod__");if(!$B.$isinstance(other,[_b_.int,float])){return _b_.NotImplemented}return $B.fast_tuple([float.__floordiv__(self,other),float.__mod__(self,other)])};float.__eq__=function(self,other){check_self_is_float(self,"__eq__");if(isNaN(self.value)&&($B.$isinstance(other,float)&&isNaN(other.value))){return false}if($B.$isinstance(other,_b_.int)){return self.value==other}if($B.$isinstance(other,float)){return self.value==other.value}if($B.$isinstance(other,_b_.complex)){if(!$B.rich_comp("__eq__",0,other.$imag)){return false}return float.__eq__(self,other.$real)}return _b_.NotImplemented};float.__floor__=function(self){check_self_is_float(self,"__floor__");if(isnan(self)){throw _b_.ValueError.$factory("cannot convert float NaN to integer")}else if(isinf(self)){throw _b_.OverflowError.$factory("cannot convert float infinity to integer")}return Math.floor(self.value)};float.__floordiv__=function(self,other){check_self_is_float(self,"__floordiv__");if($B.$isinstance(other,float)){if(other.value==0){throw _b_.ZeroDivisionError.$factory("division by zero")}return fast_float(Math.floor(self.value/other.value))}if($B.$isinstance(other,_b_.int)){if(other.valueOf()==0){throw _b_.ZeroDivisionError.$factory("division by zero")}return fast_float(Math.floor(self.value/other))}return _b_.NotImplemented};const DBL_MANT_DIG=53,LONG_MAX=$B.MAX_VALUE,DBL_MAX_EXP=2**10,LONG_MIN=$B.MIN_VALUE,DBL_MIN_EXP=-1021;float.fromhex=function(klass,s){function hex_from_char(char){return parseInt(char,16)}function finished(){while(s[pos]&&s[pos].match(/\s/)){pos++}if(pos!=s.length){throw parse_error()}if(negate){x=float.__neg__(x)}return klass===_b_.float?x:$B.$call(klass)(x)}function overflow_error(){throw _b_.OverflowError.$factory("hexadecimal value too large to represent as a float")}function parse_error(){throw _b_.ValueError.$factory("invalid hexadecimal floating-point string")}function insane_length_error(){throw _b_.ValueError.$factory("hexadecimal string too long to convert")}s=s.trim();if(s.match(/^\+?inf(inity)?$/i)){return INF}else if(s.match(/^-inf(inity)?$/i)){return NINF}else if(s.match(/^[+-]?nan$/i)){return NAN}var pos=0,negate,ldexp=_b_.float.$funcs.ldexp;if(s[pos]=="-"){pos++;negate=1}else if(s[pos]=="+"){pos++}if(s.substr(pos,2).toLowerCase()=="0x"){pos+=2}var coeff_start=pos,coeff_end;while(hex_from_char(s[pos])>=0){pos++}var save_pos=pos;if(s[pos]=="."){pos++;while(hex_from_char(s[pos])>=0){pos++}coeff_end=pos-1}else{coeff_end=pos}var ndigits=coeff_end-coeff_start,fdigits=coeff_end-save_pos;if(ndigits==0){throw parse_error()}if(ndigits>Math.min(DBL_MIN_EXP-DBL_MANT_DIG-LONG_MIN/2,LONG_MAX/2+1-DBL_MAX_EXP)/4){throw insane_length_error()}var exp;if(s[pos]=="p"||s[pos]=="P"){pos++;var exp_start=pos;if(s[pos]=="-"||s[pos]=="+"){pos++}if(!("0"<=s[pos]&&s[pos]<="9")){throw parse_error()}pos++;while("0"<=s[pos]&&s[pos]<="9"){pos++}exp=parseInt(s.substr(exp_start))}else{exp=0}function HEX_DIGIT(j){if(!Number.isInteger(j)){throw Error("j pas entier")}return hex_from_char(s[j0&&HEX_DIGIT(ndigits-1)==0){ndigits--}if(ndigits==0||expLONG_MAX/2){console.log("overflow, exp",exp);throw overflow_error()}exp=exp-4*fdigits;var top_exp=exp+4*(ndigits-1);for(let digit=BigInt(HEX_DIGIT(ndigits-1));digit!=0;digit/=2n){top_exp++}if(top_expDBL_MAX_EXP){throw overflow_error()}var lsb=Math.max(top_exp,DBL_MIN_EXP)-DBL_MANT_DIG;var x=0;if(exp>=lsb){for(let i=ndigits-1;i>=0;i--){x=16*x+HEX_DIGIT(i)}x=ldexp($B.fast_float(x),exp);return finished()}var half_eps=1<<(lsb-exp-1)%4,key_digit=parseInt((lsb-exp-1)/4);for(let i=ndigits-1;i>key_digit;i--){x=16*x+HEX_DIGIT(i)}let digit=HEX_DIGIT(key_digit);x=16*x+(digit&16-2*half_eps);if((digit&half_eps)!=0){var round_up=0;if((digit&3*half_eps-1)!=0||half_eps==8&&key_digit+1=0;i--){if(HEX_DIGIT(i)!=0){round_up=1;break}}}if(round_up){x+=2*half_eps;if(top_exp==DBL_MAX_EXP&&x==ldexp(2*half_eps,DBL_MANT_DIG).value){throw overflow_error()}}}x=ldexp(x,exp+4*key_digit);return finished()};float.__getformat__=function(arg){if(arg=="double"||arg=="float"){return"IEEE, little-endian"}if(typeof arg!=="string"){throw _b_.TypeError.$factory(" __getformat__() argument must be str, not "+$B.class_name(arg))}throw _b_.ValueError.$factory("__getformat__() argument 1 must be "+"'double' or 'float'")};var format_sign=function(val,flags){switch(flags.sign){case"+":return val>=0||isNaN(val)?"+":"";case"-":return"";case" ":return val>=0||isNaN(val)?" ":""}if(flags.space){if(val>=0){return" "}}return""};function preformat(self,fmt){var value=self.value;if(fmt.empty){return _b_.str.$factory(self)}if(fmt.type&&"eEfFgGn%".indexOf(fmt.type)==-1){throw _b_.ValueError.$factory("Unknown format code '"+fmt.type+"' for object of type 'float'")}var special;if(isNaN(value)){special="efg".indexOf(fmt.type)>-1?"nan":"NAN"}else if(value==Number.POSITIVE_INFINITY){special="efg".indexOf(fmt.type)>-1?"inf":"INF"}else if(value==Number.NEGATIVE_INFINITY){special="efg".indexOf(fmt.type)>-1?"-inf":"-INF"}if(special){return format_sign(value,fmt)+special}if(fmt.precision===undefined&&fmt.type!==undefined){fmt.precision=6}if(fmt.type=="%"){value*=100}if(fmt.type=="e"){let res=value.toExponential(fmt.precision),exp=parseInt(res.substr(res.search("e")+1));if(Math.abs(exp)<10){res=res.substr(0,res.length-1)+"0"+res.charAt(res.length-1)}return res}var res;if(fmt.precision!==undefined){let prec=fmt.precision;if(prec==0){return Math.round(value)+""}res=$B.roundDownToFixed(value,prec);let pt_pos=res.indexOf(".");if(fmt.type!==undefined&&(fmt.type=="%"||fmt.type.toLowerCase()=="f")){if(pt_pos==-1){res+="."+"0".repeat(fmt.precision)}else{var missing=fmt.precision-res.length+pt_pos+1;if(missing>0){res+="0".repeat(missing)}}}else if(fmt.type&&fmt.type.toLowerCase()=="g"){let exp_fmt=preformat(self,{type:"e"}).split("e"),exp=parseInt(exp_fmt[1]);if(-4<=exp&&exp0){while(signif.endsWith("0")){signif=signif.substr(0,signif.length-1)}}if(signif.endsWith(".")){signif=signif.substr(0,signif.length-1)}parts[0]=signif}res=parts.join("e");if(fmt.type=="G"){res=res.toUpperCase()}return res}else if(fmt.type===undefined){fmt.type="g";res=preformat(self,fmt);if(res.indexOf(".")==-1){let exp=res.length-1;exp=exp<10?"0"+exp:exp;let is_neg=res.startsWith("-"),point_pos=is_neg?2:1,mant=res.substr(0,point_pos)+"."+res.substr(point_pos);return`${mant}e+${exp}`}fmt.type=undefined}else{let res1=value.toExponential(fmt.precision-1),exp=parseInt(res1.substr(res1.search("e")+1));if(exp<-4||exp>=fmt.precision-1){var elts=res1.split("e");while(elts[0].endsWith("0")){elts[0]=elts[0].substr(0,elts[0].length-1)}res=elts.join("e")}}}else{res=_b_.str.$factory(self)}if(fmt.type===undefined||"gGn".indexOf(fmt.type)!=-1){if(res.search("e")==-1){while(res.charAt(res.length-1)=="0"){res=res.substr(0,res.length-1)}}if(res.charAt(res.length-1)=="."){if(fmt.type===undefined){res+="0"}else{res=res.substr(0,res.length-1)}}}if(fmt.sign!==undefined){if((fmt.sign==" "||fmt.sign=="+")&&value>0){res=fmt.sign+res}}if(fmt.type=="%"){res+="%"}return res}float.__format__=function(self,format_spec){check_self_is_float(self,"__format__");var fmt=new $B.parse_format_spec(format_spec,self);return float.$format(self,fmt)};float.$format=function(self,fmt){fmt.align=fmt.align||">";var pf=preformat(self,fmt);if(fmt.z&&Object.is(parseFloat(pf),-0)){pf=pf.substr(1)}var raw=pf.split("."),_int=raw[0];if(fmt.comma){var len=_int.length,nb=Math.ceil(_int.length/3),chunks=[];for(var i=0;i0?float.$factory(x):float.$factory(-x)}function frexp(x){var x1=x;if($B.$isinstance(x,float)){if(isnan(x)||isinf(x)){return[x,0]}x1=float_value(x).value}else if($B.$isinstance(x,$B.long_int)){var exp=x.value.toString(2).length,power=2n**BigInt(exp);return[$B.fast_float(Number(x.value)/Number(power)),exp]}if(x1==0){return[0,0]}var sign=1,ex=0,man=x1;if(man<0){sign=-sign;man=-man}while(man<.5){man*=2;ex--}while(man>=1){man*=.5;ex++}man*=sign;return[man,ex]}function ldexp(mantissa,exponent){if(isninf(mantissa)){return NINF}else if(isinf(mantissa)){return INF}if($B.$isinstance(mantissa,_b_.float)){mantissa=mantissa.value}if(mantissa==0){return ZERO}else if(isNaN(mantissa)){return NAN}if($B.$isinstance(exponent,$B.long_int)){if(exponent.value<0){return ZERO}else{throw _b_.OverflowError.$factory("overflow")}}else if(!isFinite(mantissa*Math.pow(2,exponent))){throw _b_.OverflowError.$factory("overflow")}var steps=Math.min(3,Math.ceil(Math.abs(exponent)/1023));var result=mantissa;for(var i=0;i=0){if(Number.isInteger(other)&&other%2==1){return self}return fast_float(0)}else if(self.value==Number.NEGATIVE_INFINITY&&!isNaN(other)){if(other%2==-1){return fast_float(-0)}else if(other<0){return fast_float(0)}else if(other%2==1){return fast_float(Number.NEGATIVE_INFINITY)}else{return fast_float(Number.POSITIVE_INFINITY)}}else if(self.value==Number.POSITIVE_INFINITY&&!isNaN(other)){return other>0?self:fast_float(0)}if(other==Number.NEGATIVE_INFINITY&&!isNaN(self.value)){return Math.abs(self.value)<1?fast_float(Number.POSITIVE_INFINITY):fast_float(0)}else if(other==Number.POSITIVE_INFINITY&&!isNaN(self.value)){return Math.abs(self.value)<1?fast_float(0):fast_float(Number.POSITIVE_INFINITY)}if(self.value<0&&!Number.isInteger(other)){return _b_.complex.__pow__($B.make_complex(self.value,0),fast_float(other))}return fast_float(Math.pow(self.value,other))}return _b_.NotImplemented};float.__repr__=function(self){$B.builtins_repr_check(float,arguments);self=self.value;if(self==Infinity){return"inf"}else if(self==-Infinity){return"-inf"}else if(isNaN(self)){return"nan"}else if(self===0){if(1/self===-Infinity){return"-0.0"}return"0.0"}var res=self+"";if(res.search(/[.eE]/)==-1){res+=".0"}var split_e=res.split(/e/i);if(split_e.length==2){let mant=split_e[0],exp=split_e[1];if(exp.startsWith("-")){let exp_str=parseInt(exp.substr(1))+"";if(exp_str.length<2){exp_str="0"+exp_str}return mant+"e-"+exp_str}}var x,y;[x,y]=res.split(".");var sign="";if(x[0]=="-"){x=x.substr(1);sign="-"}if(x.length>16){let exp=x.length-1,int_part=x[0],dec_part=x.substr(1)+y;while(dec_part.endsWith("0")){dec_part=dec_part.substr(0,dec_part.length-1)}let mant=int_part;if(dec_part.length>0){mant+="."+dec_part}return sign+mant+"e+"+exp}else if(x=="0"){let exp=0;while(exp3){let rest=y.substr(exp);exp=(exp+1).toString();while(rest.endsWith("0")){rest=rest.substr(0,res.length-1)}let mant=rest[0];if(rest.length>1){mant+="."+rest.substr(1)}if(exp.length==1){exp="0"+exp}return sign+mant+"e-"+exp}}return _b_.str.$factory(res)};float.__round__=function(){var $=$B.args("__round__",2,{self:null,ndigits:null},["self","ndigits"],arguments,{ndigits:_b_.None},null,null);return float.$round($.self,$.ndigits)};float.$round=function(x,ndigits){function overflow(){throw _b_.OverflowError.$factory("cannot convert float infinity to integer")}var no_digits=ndigits===_b_.None;if(isnan(x)){if(ndigits===_b_.None){throw _b_.ValueError.$factory("cannot convert float NaN to integer")}return NAN}else if(isninf(x)){return ndigits===_b_.None?overflow():NINF}else if(isinf(x)){return ndigits===_b_.None?overflow():INF}x=float_value(x);ndigits=ndigits===_b_.None?0:ndigits;if(ndigits==0){var res=Math.round(x.value);if(Math.abs(x.value-res)==.5){if(res%2){return res-1}}if(no_digits){return res}return $B.fast_float(res)}if(ndigits.__class__===$B.long_int){ndigits=Number(ndigits.value)}var pow1,pow2,y,z;if(ndigits>=0){if(ndigits>22){pow1=10**(ndigits-22);pow2=1e22}else{pow1=10**ndigits;pow2=1}y=x.value*pow1*pow2;if(!isFinite(y)){return x}}else{pow1=10**-ndigits;pow2=1;if(isFinite(pow1)){y=x.value/pow1}else{return ZERO}}z=Math.round(y);if(fabs(y-z).value==.5){z=2*Math.round(y/2)}if(ndigits>=0){z=z/pow2/pow1}else{z*=pow1}if(!isFinite(z)){throw _b_.OverflowError.$factory("overflow occurred during round")}return fast_float(z)};float.__setattr__=function(self,attr,value){if(self.__class__===float){if(float[attr]===undefined){throw _b_.AttributeError.$factory("'float' object has no attribute '"+attr+"'")}else{throw _b_.AttributeError.$factory("'float' object attribute '"+attr+"' is read-only")}}self[attr]=value;return _b_.None};float.__truediv__=function(self,other){if($B.$isinstance(other,_b_.int)){if(other.valueOf()==0){throw _b_.ZeroDivisionError.$factory("division by zero")}else if($B.$isinstance(other,$B.long_int)){return float.$factory(self.value/Number(other.value))}return float.$factory(self.value/other)}else if($B.$isinstance(other,float)){if(other.value==0){throw _b_.ZeroDivisionError.$factory("division by zero")}return float.$factory(self.value/other.value)}return _b_.NotImplemented};var op_func_body=`var $B = __BRYTHON__,\n _b_ = __BRYTHON__.builtins\n if($B.$isinstance(other, _b_.int)){\n if(typeof other == "boolean"){\n return other ? $B.fast_float(self.value - 1) : self\n }else if(other.__class__ === $B.long_int){\n return _b_.float.$factory(self.value - parseInt(other.value))\n }else{\n return $B.fast_float(self.value - other)\n }\n }\n if($B.$isinstance(other, _b_.float)){\n return $B.fast_float(self.value - other.value)\n }\n return _b_.NotImplemented`;var ops={"+":"add","-":"sub"};for(let op in ops){let body=op_func_body.replace(/-/gm,op);float[`__${ops[op]}__`]=Function("self","other",body)}var comp_func_body=`\nvar $B = __BRYTHON__,\n _b_ = $B.builtins\nif($B.$isinstance(other, _b_.int)){\n if(other.__class__ === $B.long_int){\n return self.value > parseInt(other.value)\n }\n return self.value > other.valueOf()}\nif($B.$isinstance(other, _b_.float)){\n return self.value > other.value}\nif($B.$isinstance(other, _b_.bool)) {\n return self.value > _b_.bool.__hash__(other)}\nif(_b_.hasattr(other, "__int__") || _b_.hasattr(other, "__index__")) {\n return _b_.int.__gt__(self.value, $B.$GetInt(other))}\n// See if other has the opposite operator, eg <= for >\nvar inv_op = $B.$getattr(other, "__le__", _b_.None)\nif(inv_op !== _b_.None){\n return inv_op(self)}\nthrow _b_.TypeError.$factory(\n "unorderable types: float() > " + $B.class_name(other) + "()")\n`;for(let op in $B.$comps){let body=comp_func_body.replace(/>/gm,op).replace(/__gt__/gm,`__${$B.$comps[op]}__`).replace(/__le__/,`__${$B.$inv_comps[op]}__`);float[`__${$B.$comps[op]}__`]=Function("self","other",body)}var r_opnames=["add","sub","mul","truediv","floordiv","mod","pow","lshift","rshift","and","xor","or","divmod"];for(var r_opname of r_opnames){if(float["__r"+r_opname+"__"]===undefined&&float["__"+r_opname+"__"]){float["__r"+r_opname+"__"]=function(name){return function(self,other){var other_as_num=_b_.int.$to_js_number(other);if(other_as_num!==null){var other_as_float=$B.fast_float(other_as_num);return float["__"+name+"__"](other_as_float,self)}return _b_.NotImplemented}}(r_opname)}}function $FloatClass(value){return new Number(value)}function to_digits(s){var arabic_digits="٠١٢٣٤٥٦٧٨٩",res="";for(var i=0;i-1){res+=x}else{res+=s[i]}}return res}const fast_float=$B.fast_float=function(value){return{__class__:_b_.float,value:value}};float.$factory=function(value){if(value===undefined){return fast_float(0)}$B.check_nb_args_no_kw("float",1,arguments);switch(value){case true:return fast_float(1);case false:return fast_float(0)}var original_value=value;if(typeof value=="number"){return fast_float(value)}if(value.__class__===float){return value}if($B.$isinstance(value,_b_.memoryview)){value=_b_.memoryview.tobytes(value)}if($B.$isinstance(value,_b_.bytes)){try{value=$B.$getattr(value,"decode")("utf-8")}catch(err){throw _b_.ValueError.$factory("could not convert string to float: "+_b_.repr(original_value))}}if(typeof value=="string"){if(value.trim().length==0){throw _b_.ValueError.$factory(`could not convert string to float: ${_b_.repr(value)}`)}value=value.trim();switch(value.toLowerCase()){case"+inf":case"inf":case"+infinity":case"infinity":return fast_float(Number.POSITIVE_INFINITY);case"-inf":case"-infinity":return fast_float(Number.NEGATIVE_INFINITY);case"+nan":case"nan":return fast_float(Number.NaN);case"-nan":return fast_float(-Number.NaN);default:var parts=value.split("e");if(parts[1]){if(parts[1].startsWith("+")||parts[1].startsWith("-")){parts[1]=parts[1].substr(1)}}parts=parts[0].split(".").concat(parts.splice(1));for(var part of parts){if(part.startsWith("_")||part.endsWith("_")){throw _b_.ValueError.$factory("invalid float literal "+value)}}if(value.indexOf("__")>-1){throw _b_.ValueError.$factory("invalid float literal "+value)}value=value.charAt(0)+value.substr(1).replace(/_/g,"");value=to_digits(value);if(isFinite(value)){return fast_float(parseFloat(value))}else{throw _b_.TypeError.$factory("could not convert string to float: "+_b_.repr(original_value))}}}let klass=$B.get_class(value),float_method=$B.$getattr(klass,"__float__",null);if(float_method===null){var index_method=$B.$getattr(klass,"__index__",null);if(index_method===null){throw _b_.TypeError.$factory("float() argument must be a string or a "+"real number, not '"+$B.class_name(value)+"'")}let index=$B.$call(index_method)(value),index_klass=$B.get_class(index);if(index_klass===_b_.int){return fast_float(index)}else if(index_klass===$B.long_int){return $B.long_int.__float__(index)}else if(index_klass.__mro__.indexOf(_b_.int)>-1){let msg=`${$B.class_name(value)}.__index__ returned `+`non-int (type ${$B.class_name(index)}). The `+"ability to return an instance of a strict subclass"+" of int is deprecated, and may be removed in a "+"future version of Python.";$B.warn(_b_.DeprecationWarning,msg);return fast_float(index)}throw _b_.TypeError.$factory("__index__ returned non-int"+` (type ${$B.class_name(index)})`)}let res=$B.$call(float_method)(value);klass=$B.get_class(res);if(klass!==_b_.float){if(klass.__mro__.indexOf(_b_.float)>-1){let msg=`${$B.class_name(value)}.__float__ returned `+`non-float (type ${$B.class_name(res)}). The `+"ability to return an instance of a strict subclass"+" of float is deprecated, and may be removed in a "+"future version of Python.";$B.warn(_b_.DeprecationWarning,msg);return float.$factory(res.value)}throw _b_.TypeError.$factory("__float__ returned non-float"+` (type ${$B.class_name(res)})`)}return res};$B.$FloatClass=$FloatClass;$B.set_func_names(float,"builtins");float.fromhex=_b_.classmethod.$factory(float.fromhex);_b_.float=float;$B.MAX_VALUE=fast_float(Number.MAX_VALUE);$B.MIN_VALUE=fast_float(22250738585072014e-324);const NINF=fast_float(Number.NEGATIVE_INFINITY),INF=fast_float(Number.POSITIVE_INFINITY),NAN=fast_float(Number.NaN),ZERO=fast_float(0)})(__BRYTHON__);(function($B){var _b_=$B.builtins;function $UnsupportedOpType(op,class1,class2){throw _b_.TypeError.$factory("unsupported operand type(s) for "+op+": '"+class1+"' and '"+class2+"'")}var complex={__class__:_b_.type,__dir__:_b_.object.__dir__,__qualname__:"complex",$is_class:true,$native:true,$descriptors:{real:true,imag:true}};complex.__abs__=function(self){var _rf=isFinite(self.$real.value),_if=isFinite(self.$imag.value);if(_rf&&isNaN(self.$imag.value)||_if&&isNaN(self.$real.value)||isNaN(self.$imag.value)&&isNaN(self.$real.value)){return $B.fast_float(NaN)}if(!_rf||!_if){return $B.fast_float(Infinity)}var mag=Math.sqrt(Math.pow(self.$real.value,2)+Math.pow(self.$imag.value,2));if(!isFinite(mag)&&_rf&&_if){throw _b_.OverflowError.$factory("absolute value too large")}return $B.fast_float(mag)};complex.__add__=function(self,other){if($B.$isinstance(other,complex)){return make_complex(self.$real.value+other.$real.value,self.$imag.value+other.$imag.value)}if($B.$isinstance(other,_b_.int)){other=_b_.int.numerator(other);return make_complex($B.rich_op("__add__",self.$real,other).value,self.$imag.value)}if($B.$isinstance(other,_b_.float)){return make_complex(self.$real.value+other.value,self.$imag.value)}return _b_.NotImplemented};complex.__bool__=function(self){return!$B.rich_comp("__eq__",self.$real,0)||!$B.rich_comp("__eq__",self.$imag,0)};complex.__complex__=function(self){if(self.__class__===complex){return self}return $B.make_complex(self.$real,self.$imag)};complex.__eq__=function(self,other){if($B.$isinstance(other,complex)){return self.$real.value==other.$real.value&&self.$imag.value==other.$imag.value}if($B.$isinstance(other,_b_.int)){if(self.$imag.value!=0){return false}return self.$real.value==other.valueOf()}if($B.$isinstance(other,_b_.float)){if(!$B.rich_comp("__eq__",0,self.$imag)){return false}return self.$real.value==other.value}return _b_.NotImplemented};const max_precision=2**31-4;complex.__format__=function(self,format_spec){if(format_spec.length==0){return _b_.str.$factory(self)}var fmt=new $B.parse_format_spec(format_spec,self),type=fmt.conversion_type;var skip_re,add_parens;if(type===undefined||"eEfFgGn".indexOf(type)>-1){if(fmt.precision>max_precision){throw _b_.ValueError.$factory("precision too big")}if(fmt.fill_char=="0"){throw _b_.ValueError.$factory("Zero padding is not allowed in complex format specifier")}if(fmt.align=="="){throw _b_.ValueError.$factory("'=' alignment flag is not allowed in complex format "+"specifier")}var re=self.$real.value,precision=parseInt(fmt.precision,10);if(type===undefined){type="r";if(re==0&&Object.is(re,0)){skip_re=1}else{add_parens=1}}else if(type=="n"){type="g"}if(precision<0){precision=6}else if(type=="r"){type="g"}var format=$B.clone(fmt);format.conversion_type=type;format.precision=precision;var res="";if(!skip_re){res+=_b_.float.$format(self.$real,format);if(self.$imag.value>=0){res+="+"}}var formatted_im=_b_.float.$format(self.$imag,format);var pos=-1,last_num;for(var char of formatted_im){pos++;if(char.match(/\d/)){last_num=pos}}formatted_im=formatted_im.substr(0,last_num+1)+"j"+formatted_im.substr(last_num+1);res+=formatted_im;if(add_parens){res="("+res+")"}return res}throw _b_.ValueError.$factory(`invalid type for complex: ${type}`)};complex.$getnewargs=function(self){return $B.fast_tuple([self.$real,self.$imag])};complex.__getnewargs__=function(){return complex.$getnewargs($B.single_arg("__getnewargs__","self",arguments))};complex.__hash__=function(self){return $B.$hash(self.$real)+$B.$hash(self.$imag)*1000003};complex.__init__=function(){return _b_.None};complex.__invert__=function(self){return~self};complex.__mro__=[_b_.object];complex.__mul__=function(self,other){if($B.$isinstance(other,complex)){return make_complex(self.$real.value*other.$real.value-self.$imag.value*other.$imag.value,self.$imag.value*other.$real.value+self.$real.value*other.$imag.value)}else if($B.$isinstance(other,_b_.int)){return make_complex(self.$real.value*other.valueOf(),self.$imag.value*other.valueOf())}else if($B.$isinstance(other,_b_.float)){return make_complex(self.$real.value*other.value,self.$imag.value*other.value)}else if($B.$isinstance(other,_b_.bool)){if(other.valueOf()){return self}return make_complex(0,0)}$UnsupportedOpType("*",complex,other)};complex.__ne__=function(self,other){var res=complex.__eq__(self,other);return res===_b_.NotImplemented?res:!res};complex.__neg__=function(self){return make_complex(-self.$real.value,-self.$imag.value)};complex.__new__=function(cls){if(cls===undefined){throw _b_.TypeError.$factory("complex.__new__(): not enough arguments")}var res,missing={},$=$B.args("complex",3,{cls:null,real:null,imag:null},["cls","real","imag"],arguments,{real:0,imag:missing},null,null);cls=$.cls;var first=$.real,second=$.imag;if(typeof first=="string"){if(second!==missing){throw _b_.TypeError.$factory("complex() can't take second arg "+"if first is a string")}else{var arg=first;first=first.trim();if(first.startsWith("(")&&first.endsWith(")")){first=first.substr(1);first=first.substr(0,first.length-1)}var complex_re=/^\s*([+-]*[0-9_]*\.?[0-9_]*(e[+-]*[0-9_]*)?)([+-]?)([0-9_]*\.?[0-9_]*(e[+-]*[0-9_]*)?)(j?)\s*$/i;var parts=complex_re.exec(first);function to_num(s){var res=parseFloat(s.charAt(0)+s.substr(1).replace(/_/g,""));if(isNaN(res)){throw _b_.ValueError.$factory("could not convert string "+"to complex: '"+arg+"'")}return res}if(parts===null){throw _b_.ValueError.$factory("complex() arg is a malformed string")}if(parts[_real]&&parts[_imag].startsWith(".")&&parts[_sign]==""){throw _b_.ValueError.$factory("complex() arg is a malformed string")}else if(parts[_real]=="."||parts[_imag]=="."||parts[_real]==".e"||parts[_imag]==".e"||parts[_real]=="e"||parts[_imag]=="e"){throw _b_.ValueError.$factory("complex() arg is a malformed string")}else if(parts[_j]!=""){if(parts[_sign]==""){first=0;if(parts[_real]=="+"||parts[_real]==""){second=1}else if(parts[_real]=="-"){second=-1}else{second=to_num(parts[_real])}}else{first=to_num(parts[_real]);second=parts[_imag]==""?1:to_num(parts[_imag]);second=parts[_sign]=="-"?-second:second}}else{if(parts[_sign]&&parts[_imag]==""){throw _b_.ValueError.$factory("complex() arg is a malformed string")}first=to_num(parts[_real]);second=0}res=make_complex(first,second);res.__class__=cls;res.__dict__=$B.empty_dict();return res}}if(first.__class__===complex&&cls===complex&&second===missing){return first}var arg1=_convert(first),r,i;if(arg1===null){throw _b_.TypeError.$factory("complex() first argument must be a "+`string or a number, not '${$B.class_name(first)}'`)}if(typeof second=="string"){throw _b_.TypeError.$factory("complex() second arg can't be a string")}var arg2=_convert(second===missing?0:second);if(arg2===null){throw _b_.TypeError.$factory("complex() second argument must be a "+`number, not '${$B.class_name(second)}'`)}if(arg1.method=="__complex__"){if(arg2.method=="__complex__"){r=$B.rich_op("__sub__",arg1.result.$real,arg2.result.$imag);i=$B.rich_op("__add__",arg1.result.$imag,arg2.result.$real)}else{r=arg1.result.$real;i=$B.rich_op("__add__",arg1.result.$imag,arg2.result)}}else{if(arg2.method=="__complex__"){r=$B.rich_op("__sub__",arg1.result,arg2.result.$imag);i=arg2.result.$real}else{r=arg1.result;i=arg2.result}}res=make_complex(r,i);res.__class__=cls;res.__dict__=$B.empty_dict();return res};complex.__pos__=function(self){return self};function complex2expo(cx){var norm=Math.sqrt(cx.$real.value*cx.$real.value+cx.$imag.value*cx.$imag.value),sin=cx.$imag.value/norm,cos=cx.$real.value/norm,angle;if(cos==0){angle=sin==1?Math.PI/2:3*Math.PI/2}else if(sin==0){angle=cos==1?0:Math.PI}else{angle=Math.atan(sin/cos)}return{norm:norm,angle:angle}}function c_powi(x,n){if(n>0){return c_powu(x,n)}else{return c_quot(c_1,c_powu(x,-n))}}function c_powu(x,n){var mask=1,r=c_1,p=x;while(mask>0&&n>=mask){if(n&mask){r=c_prod(r,p)}mask<<=1;p=c_prod(p,p)}return r}function c_prod(a,b){return make_complex(a.$real.value*b.$real.value-a.$imag.value*b.$imag.value,a.$real.value*b.$imag.value+a.$imag.value*b.$real.value)}function c_quot(a,b){var abs_breal=Math.abs(b.$real.value),abs_bimag=Math.abs(b.$imag.value);if($B.rich_comp("__ge__",abs_breal,abs_bimag)){if(abs_breal==0){throw _b_.ZeroDivisionError.$factory()}else{let ratio=b.$imag.value/b.$real.value,denom=b.$real.value+b.$imag.value*ratio;return make_complex((a.$real.value+a.$imag.value*ratio)/denom,(a.$imag.value-a.$real.value*ratio)/denom)}}else if(abs_bimag>=abs_breal){let ratio=b.$real.value/b.$imag.value,denom=b.$real.value*ratio+b.$imag.value;if(b.$imag.value==0){throw _b_.ZeroDivisionError.$factory()}return make_complex((a.$real.value*ratio+a.$imag.value)/denom,(a.$imag.value*ratio-a.$real.value)/denom)}else{return $B.make_complex("nan","nan")}}complex.__pow__=function(self,other,mod){if(mod!==undefined&&mod!==_b_.None){throw _b_.ValueError.$factory("complex modulo")}if($B.rich_comp("__eq__",other,1)){var funcs=_b_.float.$funcs;if(funcs.isinf(self.$real)||funcs.isninf(self.$real)||funcs.isinf(self.$imag)||funcs.isninf(self.$imag)){throw _b_.OverflowError.$factory("complex exponentiation")}return self}var small_int=null;if($B.$isinstance(other,_b_.int)&&_b_.abs(other)<100){small_int=other}else if($B.$isinstance(other,_b_.float)&&Number.isInteger(other.value)&&Math.abs(other.value<100)){small_int=other.value}else if($B.$isinstance(other,complex)&&other.$imag.value==0&&Number.isInteger(other.$real.value)&&Math.abs(other.$real.value)<100){small_int=other.$real.value}if(small_int!==null){return c_powi(self,small_int)}if($B.$isinstance(other,_b_.float)){other=_b_.float.$to_js_number(other)}if(self.$real.value==0&&self.$imag.value==0){if($B.$isinstance(other,complex)&&(other.$imag.value!=0||other.$real.value<0)){throw _b_.ZeroDivisionError.$factory("0.0 to a negative or complex power")}return $B.make_complex(0,0)}var exp=complex2expo(self),angle=exp.angle,res=Math.pow(exp.norm,other);if($B.$isinstance(other,_b_.int)){return make_complex(res*Math.cos(angle*other),res*Math.sin(angle*other))}else if($B.$isinstance(other,_b_.float)){return make_complex(res*Math.cos(angle*other.value),res*Math.sin(angle*other.value))}else if($B.$isinstance(other,complex)){var x=other.$real.value,y=other.$imag.value;var pw=Math.pow(exp.norm,x)*Math.pow(Math.E,-y*angle),theta=y*Math.log(exp.norm)-x*angle;if(pw==Number.POSITIVE_INFINITY||pw===Number.NEGATIVE_INFINITY){throw _b_.OverflowError.$factory("complex exponentiation")}return make_complex(pw*Math.cos(theta),pw*Math.sin(theta))}else{throw _b_.TypeError.$factory("unsupported operand type(s) "+"for ** or pow(): 'complex' and '"+$B.class_name(other)+"'")}};complex.__radd__=function(self,other){if($B.$isinstance(other,_b_.bool)){other=other?1:0}if($B.$isinstance(other,_b_.int)){return make_complex(other+self.$real.value,self.$imag.value)}else if($B.$isinstance(other,_b_.float)){return make_complex(other.value+self.$real.value,self.$imag.value)}return _b_.NotImplemented};complex.__repr__=function(self){$B.builtins_repr_check(complex,arguments);var real=Number.isInteger(self.$real.value)?self.$real.value+"":_b_.str.$factory(self.$real),imag=Number.isInteger(self.$imag.value)?self.$imag.value+"":_b_.str.$factory(self.$imag);if(imag.endsWith(".0")){imag=imag.substr(0,imag.length-2)}if(Object.is(self.$imag.value,-0)){imag="-0"}var sign=imag.startsWith("-")?"":"+";if(self.$real.value==0){if(Object.is(self.$real.value,-0)){return"(-0"+sign+imag+"j)"}else{return imag+"j"}}if(self.$imag.value>0||isNaN(self.$imag.value)){return"("+real+"+"+imag+"j)"}if(self.$imag.value==0){if(1/self.$imag.value<0){return"("+real+"-0j)"}return"("+real+"+0j)"}return"("+real+sign+imag+"j)"};complex.__rmul__=function(self,other){if($B.$isinstance(other,_b_.bool)){other=other?1:0}if($B.$isinstance(other,_b_.int)){return make_complex(other*self.$real.value,other*self.$imag.value)}else if($B.$isinstance(other,_b_.float)){return make_complex(other.value*self.$real.value,other.value*self.$imag.value)}return _b_.NotImplemented};complex.__sub__=function(self,other){if($B.$isinstance(other,complex)){return make_complex(self.$real.value-other.$real.value,self.$imag.value-other.$imag.value)}if($B.$isinstance(other,_b_.int)){other=_b_.int.numerator(other);return make_complex(self.$real.value-other.valueOf(),self.$imag.value)}if($B.$isinstance(other,_b_.float)){return make_complex(self.$real.value-other.value,self.$imag.value)}return _b_.NotImplemented};complex.__truediv__=function(self,other){if($B.$isinstance(other,complex)){if(other.$real.value==0&&other.$imag.value==0){throw _b_.ZeroDivisionError.$factory("division by zero")}var _num=self.$real.value*other.$real.value+self.$imag.value*other.$imag.value,_div=other.$real.value*other.$real.value+other.$imag.value*other.$imag.value;var _num2=self.$imag.value*other.$real.value-self.$real.value*other.$imag.value;return make_complex(_num/_div,_num2/_div)}if($B.$isinstance(other,_b_.int)){if(!other.valueOf()){throw _b_.ZeroDivisionError.$factory("division by zero")}return complex.__truediv__(self,complex.$factory(other.valueOf()))}if($B.$isinstance(other,_b_.float)){if(!other.value){throw _b_.ZeroDivisionError.$factory("division by zero")}return complex.__truediv__(self,complex.$factory(other.value))}$UnsupportedOpType("//","complex",other.__class__)};complex.conjugate=function(self){return make_complex(self.$real.value,-self.$imag.value)};complex.__ior__=complex.__or__;var r_opnames=["add","sub","mul","truediv","floordiv","mod","pow","lshift","rshift","and","xor","or"];for(var r_opname of r_opnames){if(complex["__r"+r_opname+"__"]===undefined&&complex["__"+r_opname+"__"]){complex["__r"+r_opname+"__"]=function(name){return function(self,other){if($B.$isinstance(other,_b_.int)){other=make_complex(other,0);return complex["__"+name+"__"](other,self)}else if($B.$isinstance(other,_b_.float)){other=make_complex(other.value,0);return complex["__"+name+"__"](other,self)}else if($B.$isinstance(other,complex)){return complex["__"+name+"__"](other,self)}return _b_.NotImplemented}}(r_opname)}}var comp_func_body=`\n var _b_ = __BRYTHON__.builtins\n if(other === undefined || other == _b_.None){\n return _b_.NotImplemented\n }\n throw _b_.TypeError.$factory("no ordering relation " +\n "is defined for complex numbers")`;for(var $op in $B.$comps){complex["__"+$B.$comps[$op]+"__"]=Function("self","other",comp_func_body.replace(/>/gm,$op))}complex.real=function(self){return self.$real};complex.real.setter=function(){throw _b_.AttributeError.$factory("readonly attribute")};complex.imag=function(self){return self.$imag};complex.imag.setter=function(){throw _b_.AttributeError.$factory("readonly attribute")};var _real=1,_real_mantissa=2,_sign=3,_imag=4,_imag_mantissa=5,_j=6;var expected_class={__complex__:complex,__float__:_b_.float,__index__:_b_.int};function _convert(obj){var klass=obj.__class__||$B.get_class(obj);for(var method_name in expected_class){var missing={},method=$B.$getattr(klass,method_name,missing);if(method!==missing){var res=method(obj);if(!$B.$isinstance(res,expected_class[method_name])){throw _b_.TypeError.$factory(method_name+"returned non-"+expected_class[method_name].__name__+"(type "+$B.get_class(res)+")")}if(method_name=="__index__"&&$B.rich_comp("__gt__",res,__BRYTHON__.MAX_VALUE)){throw _b_.OverflowError.$factory("int too large to convert to float")}if(method_name=="__complex__"&&res.__class__!==complex){$B.warn(_b_.DeprecationWarning,"__complex__ returned "+`non-complex (type ${$B.class_name(res)}). `+"The ability to return an instance of a strict subclass "+"of complex is deprecated, and may be removed in a future "+"version of Python.")}return{result:res,method:method_name}}}return null}var make_complex=$B.make_complex=function(real,imag){return{__class__:complex,$real:_b_.float.$factory(real),$imag:_b_.float.$factory(imag)}};var c_1=make_complex(1,0);complex.$factory=function(){return complex.__new__(complex,...arguments)};$B.set_func_names(complex,"builtins");_b_.complex=complex})(__BRYTHON__);(function($B){var _b_=$B.builtins;var set_ops=["eq","le","lt","ge","gt","sub","rsub","and","rand","or","ror","xor","rxor"];function is_sublist(t1,t2){for(var i=0,ilen=t1.length;i-1){continue}else if(!_b_.hasattr(v.__class__,"__hash__")){return false}}return true};dict.$iter_items=function*(d){if(d.$all_str){for(let key in d.$strings){if(key!="$dict_strings"){yield{key:key,value:d.$strings[key]}}}}if(d.$jsobj){for(let key in d.$jsobj){if(!d.$exclude||!d.$exclude(key)){yield{key:key,value:d.$jsobj[key]}}}}else{var version=d.$version;for(var i=0,len=d._keys.length;i0};dict.__class_getitem__=function(cls,item){if(!Array.isArray(item)){item=[item]}return $B.GenericAlias.$factory(cls,item)};dict.$lookup_by_key=function(d,key,hash){hash=hash===undefined?_b_.hash(key):hash;var indices=d.table[hash],index;if(indices!==undefined){for(var i=0,len=indices.length;ix!==undefined)))}return res};dict.$setitem_string=function(self,key,value){if(self.$all_str){self.$strings[key]=value;return _b_.None}else{var h=_b_.hash(key),indices=self.table[h];if(indices!==undefined){self._values[indices[0]]=value;return _b_.None}}var index=self._keys.length;self.$strings[key]=index;self._keys.push(key);self._values.push(value);self.$version++;return _b_.None};dict.$getitem=function(self,key,ignore_missing){if(self.$all_str){if(typeof key=="string"){if(self.$strings.hasOwnProperty(key)){return self.$strings[key]}}else{var hash_method=$B.$getattr($B.get_class(key),"__hash__");if(hash_method!==_b_.object.__hash__){convert_all_str(self);let lookup=dict.$lookup_by_key(self,key);if(lookup.found){return lookup.value}}}}else if(self.$jsobj){if(self.$exclude&&self.$exclude(key)){throw _b_.KeyError.$factory(key)}if(self.$jsobj.hasOwnProperty(key)){return self.$jsobj[key]}if(!self.table){throw _b_.KeyError.$factory(key)}}else{let lookup=dict.$lookup_by_key(self,key);if(lookup.found){return lookup.value}}if(!ignore_missing){if(self.__class__!==dict&&!ignore_missing){try{var missing_method=$B.$getattr(self.__class__,"__missing__",_b_.None)}catch(err){console.log(err)}if(missing_method!==_b_.None){return missing_method(self,key)}}}throw _b_.KeyError.$factory(key)};dict.__hash__=_b_.None;function init_from_list(self,args){var i=0;for(var item of args){if(item.length!=2){throw _b_.ValueError.$factory("dictionary "+`update sequence element #${i} has length ${item.length}; 2 is required`)}dict.$setitem(self,item[0],item[1]);i++}}dict.$set_string_no_duplicate=function(d,keys,string,value){if(typeof string!=="string"){throw _b_.TypeError.$factory("keywords must be strings")}if(keys.has(string)){throw _b_.TypeError.$factory("dict() got multiple values for keyword "+`argument '${string}'`)}d.$strings[string]=value;keys.add(string)};function add_mapping(d,obj){for(var entry of _b_.dict.$iter_items(obj)){dict.$setitem(d,entry.key,entry.value,entry.hash)}}function add_iterable(d,js_iterable){var i=0;for(var entry of js_iterable){var items=Array.from($B.make_js_iterator(entry));if(items.length!==2){throw _b_.ValueError.$factory("dictionary "+`update sequence element #${i} has length ${items.length}; 2 is required`)}dict.$setitem(d,items[0],items[1]);i++}}dict.__init__=function(self,first,second){if(first===undefined){return _b_.None}if(second===undefined){if(!first.$kw&&$B.$isinstance(first,$B.JSObj)){for(let key in first){dict.$setitem(self,key,first[key])}return _b_.None}else if(first.$kw){var keys=new Set;for(let item of first.$kw){if($B.$isinstance(item,dict)){for(let subitem of dict.$iter_items(item)){dict.$set_string_no_duplicate(self,keys,subitem.key,subitem.value)}}else{for(let key in item){dict.$set_string_no_duplicate(self,keys,key,item[key])}}}return _b_.None}else if(first[Symbol.iterator]){init_from_list(self,first);return _b_.None}else if(first.__class__===$B.generator){init_from_list(self,first.js_gen);return _b_.None}}var $=$B.args("dict",1,{self:null},["self"],arguments,{},"first","second");var args=$.first;if(args.length>1){if($B._experimental_dict){console.log("try dict(*args)");for(var arg of args){if(_b_.isinstance(arg,_b_.dict)){add_mapping(self,arg)}else{try{var js_iterable=$B.make_js_iterator(arg)}catch(err){console.log(arg);console.log(err);throw _b_.TypeError.$factory("expected mapping or "+`iterable, got ${$B.class_name(arg)}`)}add_iterable(self,js_iterable)}}}else{throw _b_.TypeError.$factory("dict expected at most 1 argument"+`, got ${args.length}`)}}else if(args.length==1){args=args[0];if(args.__class__===dict){for(let entry of dict.$iter_items(args)){dict.$setitem(self,entry.key,entry.value,entry.hash)}}else{var keys=$B.$getattr(args,"keys",null);if(keys!==null){var gi=$B.$getattr(args,"__getitem__",null);if(gi!==null){gi=$B.$call(gi);let kiter=_b_.iter($B.$call(keys)());while(true){try{let key=_b_.next(kiter),value=gi(key);dict.__setitem__(self,key,value)}catch(err){if(err.__class__===_b_.StopIteration){break}throw err}}}}else{if(!Array.isArray(args)){args=_b_.list.$factory(args)}init_from_list(self,args)}}}for(let item of _b_.dict.$iter_items($.second)){dict.$setitem(self,item.key,item.value)}return _b_.None};dict.__iter__=function(self){return _b_.iter(dict.keys(self))};dict.__ior__=function(self,other){dict.update(self,other);return self};dict.__len__=function(self){var _count=0;if(self.$all_str){return Object.keys(self.$strings).length}if(self.$jsobj){for(var attr in self.$jsobj){if(attr.charAt(0)!="$"&&(!self.$exclude||!self.$exclude(attr))){_count++}}return _count}for(var d of self._keys){if(d!==undefined){_count++}}return _count};dict.__ne__=function(self,other){var res=dict.__eq__(self,other);return res===_b_.NotImplemented?res:!res};dict.__new__=function(cls){if(cls===undefined){throw _b_.TypeError.$factory("int.__new__(): not enough arguments")}var instance=$B.empty_dict();instance.__class__=cls;if(cls!==dict){instance.__dict__=$B.empty_dict()}return instance};dict.__or__=function(self,other){if(!$B.$isinstance(other,dict)){return _b_.NotImplemented}var res=dict.copy(self);dict.update(res,other);return res};dict.__repr__=function(self){$B.builtins_repr_check(dict,arguments);if(self.$jsobj){return dict.__repr__(jsobj2dict(self.$jsobj,self.$exclude))}if($B.repr.enter(self)){return"{...}"}let res=[];for(let entry of dict.$iter_items(self)){res.push(_b_.repr(entry.key)+": "+_b_.repr(entry.value))}$B.repr.leave(self);return"{"+res.join(", ")+"}"};dict.$iter_items_reversed=function*(d){var version=d.$version;if(d.$all_str){for(var item of Object.entries(d.$strings).reverse()){yield $B.fast_tuple(item);if(d.$version!==version){throw _b_.RuntimeError.$factory("changed in iteration")}}}else{for(var i=d._keys.length-1;i>=0;i--){var key=d._keys[i];if(key!==undefined){yield $B.fast_tuple([key,d._values[i]]);if(d.$version!==version){throw _b_.RuntimeError.$factory("changed in iteration")}}}}if(d.$version!==version){throw _b_.RuntimeError.$factory("changed in iteration")}};dict.$iter_keys_reversed=function*(d){for(var entry of dict.$iter_items_reversed(d)){yield entry[0]}};dict.$iter_values_reversed=function*(d){for(var entry of dict.$iter_items_reversed(d)){yield entry[1]}};function make_reverse_iterator(name,iter_func){var klass=$B.make_class(name,(function(d){return{__class__:klass,d:d,iter:iter_func(d),make_iter:function(){return iter_func(d)}}}));klass.__iter__=function(self){self[Symbol.iterator]=self.make_iter;return self};klass.__next__=function(self){var res=self.iter.next();if(res.done){throw _b_.StopIteration.$factory("")}return res.value};klass.__reduce_ex__=function(self){return $B.fast_tuple([_b_.iter,$B.fast_tuple([Array.from(self.make_iter())])])};$B.set_func_names(klass,"builtins");return klass}const dict_reversekeyiterator=make_reverse_iterator("dict_reversekeyiterator",dict.$iter_keys_reversed);dict.__reversed__=function(self){return dict_reversekeyiterator.$factory(self)};dict.__ror__=function(self,other){if(!$B.$isinstance(other,dict)){return _b_.NotImplemented}var res=dict.copy(other);dict.update(res,self);return res};dict.__setitem__=function(){var $=$B.args("__setitem__",3,{self:null,key:null,value:null},["self","key","value"],arguments,{},null,null);return dict.$setitem($.self,$.key,$.value)};function convert_all_str(d){d.$all_str=false;for(var key in d.$strings){dict.$setitem(d,key,d.$strings[key])}}dict.$setitem=function(self,key,value,$hash,from_setdefault){if(self[$B.JSOBJ]){self[$B.JSOBJ][key]=$B.pyobj2jsobj(value)}if(self.$all_str){if(typeof key=="string"){var int=parseInt(key);if(isNaN(int)||int>=0){self.$strings[key]=value;return _b_.None}else{convert_all_str(self)}}else{convert_all_str(self)}}if(self.$jsobj){if(self.$from_js){value=$B.pyobj2jsobj(value)}if(self.$jsobj.__class__===_b_.type){self.$jsobj[key]=value;if(key=="__init__"||key=="__new__"){self.$jsobj.$factory=$B.$instance_creator(self.$jsobj)}}else{self.$jsobj[key]=value}return _b_.None}if(key instanceof String){key=key.valueOf()}var hash=$hash!==undefined?$hash:$B.$hash(key);var index;if(self.table[hash]===undefined){index=self._keys.length;self.table[hash]=[index]}else{if(!from_setdefault){var lookup=dict.$lookup_by_key(self,key,hash);if(lookup.found){self._values[lookup.index]=value;return _b_.None}}index=self._keys.length;if(self.table[hash]===undefined){self.table[hash]=[index]}else{self.table[hash].push(index)}}self._keys.push(key);self._values.push(value);self._hashes.push(hash);self.$version++;return _b_.None};$B.make_rmethods(dict);dict.clear=function(){var $=$B.args("clear",1,{self:null},["self"],arguments,{},null,null),self=$.self;self.table=Object.create(null);self._keys=[];self._values=[];self.$all_str=true;self.$strings=new $B.str_dict;if(self.$jsobj){for(var attr in self.$jsobj){if(attr.charAt(0)!=="$"&&attr!=="__class__"){delete self.$jsobj[attr]}}}self.$version++;return _b_.None};dict.copy=function(){var $=$B.args("copy",1,{self:null},["self"],arguments,{},null,null),self=$.self,res=$B.empty_dict();if(self.__class__===_b_.dict){$copy_dict(res,self);return res}var it=$B.make_js_iterator(self);for(var k of it){console.log("iteration yields key",k)}return res};dict.fromkeys=function(){var $=$B.args("fromkeys",3,{cls:null,keys:null,value:null},["cls","keys","value"],arguments,{value:_b_.None},null,null),keys=$.keys,value=$.value;var cls=$.cls,res=$B.$call(cls)(),klass=$B.get_class(res),keys_iter=$B.$iter(keys),setitem=klass===dict?dict.$setitem:$B.$getattr(klass,"__setitem__");while(1){try{var key=_b_.next(keys_iter);setitem(res,key,value)}catch(err){if($B.is_exc(err,[_b_.StopIteration])){return res}throw err}}};dict.get=function(){var $=$B.args("get",3,{self:null,key:null,_default:null},["self","key","_default"],arguments,{_default:_b_.None},null,null);try{return dict.$getitem($.self,$.key,true)}catch(err){if($B.$isinstance(err,_b_.KeyError)){return $._default}else{throw err}}};var dict_items=$B.make_class("dict_items",(function(d){return{__class__:dict_items,dict:d,make_iter:function*(){for(var entry of dict.$iter_items(d)){yield $B.fast_tuple([entry.key,entry.value])}}}}));dict_items.__iter__=function(self){return dict_itemiterator.$factory(self.make_iter)};dict_items.__len__=function(self){return dict.__len__(self.dict)};dict_items.__reduce__=function(self){var items=Array.from(self.make_iter());return $B.fast_tuple([_b_.iter,$B.fast_tuple([items])])};dict_items.__repr__=function(self){var items=Array.from(self.make_iter());items=items.map($B.fast_tuple);return"dict_items("+_b_.repr(items)+")"};const dict_reverseitemiterator=make_reverse_iterator("dict_reverseitemiterator",dict.$iter_items_reversed);dict_items.__reversed__=function(self){return dict_reverseitemiterator.$factory(self.dict)};make_view_comparison_methods(dict_items);$B.set_func_names(dict_items,"builtins");var dict_itemiterator=$B.make_class("dict_itemiterator",(function(make_iter){return{__class__:dict_itemiterator,iter:make_iter(),make_iter:make_iter}}));dict_itemiterator.__iter__=function(self){self[Symbol.iterator]=function(){return self.iter};return self};dict_itemiterator.__next__=function(self){var res=self.iter.next();if(res.done){throw _b_.StopIteration.$factory("")}return $B.fast_tuple(res.value)};dict_itemiterator.__reduce_ex__=function(self){return $B.fast_tuple([_b_.iter,$B.fast_tuple([Array.from(self.make_iter())])])};$B.set_func_names(dict_itemiterator,"builtins");dict.items=function(self){$B.args("items",1,{self:null},["self"],arguments,{},null,null);return dict_items.$factory(self)};var dict_keys=$B.make_class("dict_keys",(function(d){return{__class__:dict_keys,dict:d,make_iter:function(){return dict.$iter_keys_check(d)}}}));dict_keys.__iter__=function(self){return dict_keyiterator.$factory(self.make_iter)};dict_keys.__len__=function(self){return dict.__len__(self.dict)};dict_keys.__reduce__=function(self){var items=Array.from(self.make_iter());return $B.fast_tuple([_b_.iter,$B.fast_tuple([items])])};dict_keys.__repr__=function(self){var items=Array.from(self.make_iter());return"dict_keys("+_b_.repr(items)+")"};dict_keys.__reversed__=function(self){return dict_reversekeyiterator.$factory(self.dict)};make_view_comparison_methods(dict_keys);$B.set_func_names(dict_keys,"builtins");var dict_keyiterator=$B.make_class("dict_keyiterator",(function(make_iter){return{__class__:dict_keyiterator,iter:make_iter(),make_iter:make_iter}}));dict_keyiterator.__iter__=function(self){self[Symbol.iterator]=function(){return self.iter};return self};dict_keyiterator.__next__=function(self){var res=self.iter.next();if(res.done){throw _b_.StopIteration.$factory("")}return res.value};dict_keyiterator.__reduce_ex__=function(self){return $B.fast_tuple([_b_.iter,$B.fast_tuple([Array.from(self.make_iter())])])};$B.set_func_names(dict_keyiterator,"builtins");dict.keys=function(self){$B.args("keys",1,{self:null},["self"],arguments,{},null,null);return dict_keys.$factory(self)};dict.pop=function(){var missing={},$=$B.args("pop",3,{self:null,key:null,_default:null},["self","key","_default"],arguments,{_default:missing},null,null),self=$.self,key=$.key,_default=$._default;try{var res=dict.__getitem__(self,key);dict.__delitem__(self,key);return res}catch(err){if(err.__class__===_b_.KeyError){if(_default!==missing){return _default}throw err}throw err}};dict.popitem=function(self){$B.check_nb_args_no_kw("popitem",1,arguments);if(dict.__len__(self)==0){throw _b_.KeyError.$factory("'popitem(): dictionary is empty'")}if(self.$all_str){for(var key in self.$strings){}let res=$B.fast_tuple([key,self.$strings[key]]);delete self.$strings[key];self.$version++;return res}var index=self._keys.length-1;while(index>=0){if(self._keys[index]!==undefined){let res=$B.fast_tuple([self._keys[index],self._values[index]]);delete self._keys[index];delete self._values[index];self.$version++;return res}index--}};dict.setdefault=function(){var $=$B.args("setdefault",3,{self:null,key:null,_default:null},["self","key","_default"],arguments,{_default:_b_.None},null,null),self=$.self,key=$.key,_default=$._default;_default=_default===undefined?_b_.None:_default;if(self.$all_str){if(!self.$strings.hasOwnProperty(key)){self.$strings[key]=_default}return self.$strings[key]}if(self.$jsobj){if(!self.$jsobj.hasOwnProperty(key)){self.$jsobj[key]=_default}return self.$jsobj[key]}var lookup=dict.$lookup_by_key(self,key);if(lookup.found){return lookup.value}var hash=lookup.hash;dict.$setitem(self,key,_default,hash,true);return _default};dict.update=function(){var $=$B.args("update",1,{self:null},["self"],arguments,{},"args","kw"),self=$.self,args=$.args,kw=$.kw;if(args.length>0){var o=args[0];if($B.$isinstance(o,dict)){if(o.$jsobj){o=jsobj2dict(o.$jsobj)}$copy_dict(self,o)}else if(_b_.hasattr(o,"keys")){var _keys=_b_.list.$factory($B.$call($B.$getattr(o,"keys"))());for(let i=0,len=_keys.length;i-1){continue}if(typeof dict[attr]=="function"){mappingproxy[attr]=function(key){return function(){return dict[key].apply(null,arguments)}}(attr)}else{mappingproxy[attr]=dict[attr]}}$B.set_func_names(mappingproxy,"builtins");function jsobj2dict(x,exclude){exclude=exclude||function(){return false};var d=$B.empty_dict();for(var attr in x){if(attr.charAt(0)!="$"&&!exclude(attr)){if(x[attr]===null){dict.$setitem(d,attr,_b_.None)}else if(x[attr]===undefined){continue}else if(x[attr].$jsobj===x){dict.$setitem(d,attr,d)}else{dict.$setitem(d,attr,$B.jsobj2pyobj(x[attr]))}}}return d}$B.obj_dict=function(obj,exclude){var klass=obj.__class__||$B.get_class(obj);if(klass!==undefined&&klass.$native){throw $B.attr_error("__dict__",obj)}var res={__class__:dict,$jsobj:obj,$exclude:exclude||function(){return false}};return res}})(__BRYTHON__);(function($B){var _b_=$B.builtins,isinstance=$B.$isinstance;function check_not_tuple(self,attr){if(self.__class__===tuple){throw $B.attr_error(attr,self)}}var list={__class__:_b_.type,__qualname__:"list",__mro__:[_b_.object],$is_class:true,$native:true,$match_sequence_pattern:true,__dir__:_b_.object.__dir__};list.__add__=function(self,other){if($B.get_class(self)!==$B.get_class(other)){var this_name=$B.class_name(self);var radd=$B.$getattr(other,"__radd__",null);if(radd===null){throw _b_.TypeError.$factory("can only concatenate "+this_name+' (not "'+$B.class_name(other)+'") to '+this_name)}return _b_.NotImplemented}var res=self.slice(),is_js=other.$is_js_array;for(const item of other){res.push(is_js?$B.$pyobj2jsobj(item):item)}if(isinstance(self,tuple)){res=tuple.$factory(res)}return res};list.__bool__=function(self){return list.__len__(self)>0};list.__class_getitem__=function(cls,item){if(!Array.isArray(item)){item=[item]}return $B.GenericAlias.$factory(cls,item)};list.__contains__=function(){var $=$B.args("__contains__",2,{self:null,item:null},["self","item"],arguments,{},null,null),self=$.self,item=$.item;for(var _item of self){if($B.is_or_equals(_item,item)){return true}}return false};list.__delitem__=function(self,arg){if(isinstance(arg,_b_.int)){let pos=arg;if(arg<0){pos=self.length+pos}if(pos>=0&&pos0?0:self.length}var stop=arg.stop;if(stop===_b_.None){stop=step>0?self.length:0}if(start<0){start=self.length+start}if(stop<0){stop=self.length+stop}let res=[],pos=0;if(step>0){if(stop>start){for(let i=start;istop;i+=step){if(self[i]!==undefined){res[pos++]=i}}res.reverse()}}let i=res.length;while(i--){self.splice(res[i],1)}return _b_.None}if(_b_.hasattr(arg,"__int__")||_b_.hasattr(arg,"__index__")){list.__delitem__(self,_b_.int.$factory(arg));return _b_.None}throw _b_.TypeError.$factory($B.class_name(self)+" indices must be integer, not "+$B.class_name(arg))};list.__eq__=function(self,other){if(other[$B.PYOBJ]){other=other[$B.PYOBJ]}var klass=isinstance(self,list)?list:tuple;if(isinstance(other,klass)){if(other.length==self.length){var i=self.length;while(i--){if(!$B.is_or_equals(self[i],other[i])){return false}}return true}return false}return _b_.NotImplemented};list.__getitem__=function(self,key){$B.check_nb_args_no_kw("__getitem__",2,arguments);return list.$getitem(self,key)};list.$getitem=function(self,key){var klass=self.__class__||$B.get_class(self);var factory=function(list_res){list_res.__class__=klass;return list_res};var int_key;try{int_key=$B.PyNumber_Index(key)}catch(err){}if(int_key!==undefined){let items=self.valueOf(),pos=int_key;if(int_key<0){pos=items.length+pos}if(pos>=0&&pos0){if(stop<=start){return factory(res)}for(let i=start;istart){return factory(res)}for(let i=start;i>stop;i+=step){res[pos++]=items[i]}return factory(res)}}throw _b_.TypeError.$factory($B.class_name(self)+" indices must be integer, not "+$B.class_name(key))};list.__ge__=function(self,other){if(!isinstance(other,list)){return _b_.NotImplemented}var res=list.__le__(other,self);if(res===_b_.NotImplemented){return res}return res};list.__gt__=function(self,other){if(!isinstance(other,list)){return _b_.NotImplemented}var res=list.__lt__(other,self);if(res===_b_.NotImplemented){return res}return res};list.__hash__=_b_.None;list.__iadd__=function(){var $=$B.args("__iadd__",2,{self:null,x:null},["self","x"],arguments,{},null,null);var x=list.$factory($B.$iter($.x));for(var i=0;i1){throw _b_.TypeError.$factory("expected at most 1 argument, got "+args.length)}if(_b_.dict.__len__(kw)>0){throw _b_.TypeError.$factory("list() takes no keyword arguments")}while(self.length>0){self.pop()}var arg=args[0];if(arg===undefined){return _b_.None}var pos=0;for(var item of $B.make_js_iterator(arg)){self[pos++]=item}return _b_.None};var list_iterator=$B.make_iterator_class("list_iterator");list_iterator.__reduce__=list_iterator.__reduce_ex__=function(self){return $B.fast_tuple([_b_.iter,$B.fast_tuple([list.$factory(self)]),0])};list.__iter__=function(self){return list_iterator.$factory(self)};list.__le__=function(self,other){if(!isinstance(other,[list,_b_.tuple])){return _b_.NotImplemented}var i=0;while(i$B.max_array_size/other){throw _b_.OverflowError.$factory(`cannot fit `+`'${$B.class_name(other)}' into an index-sized integer`)}var res=[],$temp=self.slice(),len=$temp.length;for(var i=0;i=0&&pos0){if(args.length==1){for(var item of $B.make_js_iterator(args[0])){self.push(item)}}else{throw _b_.TypeError.$factory("tuple expected at most 1 "+`argument, got ${args.length}`)}}if(cls===tuple&&_b_.dict.__len__(kw)>0){throw _b_.TypeError.$factory("tuple() takes no keyword arguments")}return self};tuple.__repr__=function(self){$B.builtins_repr_check(tuple,arguments);return list_repr(self)};$B.set_func_names(tuple,"builtins");_b_.list=list;_b_.tuple=tuple;_b_.object.__bases__=tuple.$factory();_b_.type.__bases__=$B.fast_tuple([_b_.object])})(__BRYTHON__);(function($B){var _b_=$B.builtins;function to_simple(value){switch(typeof value){case"string":case"number":return value;case"boolean":return value?"true":"false";case"object":if(value===_b_.None){return"null"}else if(value instanceof Number){return value.valueOf()}else if(value instanceof String){return value.valueOf()}break;default:throw _b_.TypeError.$factory("keys must be str, int, "+"float, bool or None, not "+$B.class_name(value))}}$B.pyobj2structuredclone=function(obj,strict){strict=strict===undefined?true:strict;if(typeof obj=="boolean"||typeof obj=="number"||typeof obj=="string"||obj instanceof String){return obj}else if(obj.__class__===_b_.float){return obj.value}else if(obj===_b_.None){return null}else if(Array.isArray(obj)||obj.__class__===_b_.list||obj.__class__===_b_.tuple){let res=new Array(obj.length);for(var i=0,len=obj.length;i`}var js_repr=Object.prototype.toString.call(_self);return``};$B.JSObj.bind=function(_self,evt,func){var js_func=function(ev){try{return func(jsobj2pyobj(ev))}catch(err){if(err.__class__!==undefined){$B.handle_error(err)}else{try{$B.$getattr($B.get_stderr(),"write")(err)}catch(err1){console.log(err)}}}};Object.defineProperty(_self,"$brython_events",{value:_self.$brython_events||{},writable:true});if(_self.$brython_events){_self.$brython_events[evt]=_self.$brython_events[evt]||[];_self.$brython_events[evt].push([func,js_func])}_self.addEventListener(evt,js_func);return _b_.None};$B.JSObj.bindings=function(_self){var res=$B.empty_dict();if(_self.$brython_events){for(var key in _self.$brython_events){_b_.dict.$setitem(res,key,$B.fast_tuple(_self.$brython_events[key].map((x=>x[0]))))}}return res};$B.JSObj.unbind=function(_self,evt,func){if(!_self.$brython_events){return _b_.None}if(!_self.$brython_events[evt]){return _b_.None}var events=_self.$brython_events[evt];if(func===undefined){for(var item of events){_self.removeEventListener(evt,item[1])}delete _self.$brython_events[evt]}else{for(var i=0,len=events.length;i-1){return function(){var args=new Array(arguments.length);args[0]=arguments[0];for(var i=1,len=arguments.length;i-1){return function(){var pylist=$B.$list(arguments[0].map(jsobj2pyobj));return jsobj2pyobj(_b_.list[attr].call(null,pylist,...Array.from(arguments).slice(1)))}}return function(){var js_array=arguments[0],t=jsobj2pyobj(js_array),args=[t];return _b_.list[attr].apply(null,args)}};$B.set_func_names(js_list_meta,"builtins");$B.SizedJSObj=$B.make_class("SizedJavascriptObject");$B.SizedJSObj.__bases__=[$B.JSObj];$B.SizedJSObj.__mro__=[$B.JSObj,_b_.object];$B.SizedJSObj.__len__=function(_self){return _self.length};$B.set_func_names($B.SizedJSObj,"builtins");$B.IterableJSObj=$B.make_class("IterableJavascriptObject");$B.IterableJSObj.__bases__=[$B.JSObj];$B.IterableJSObj.__mro__=[$B.JSObj,_b_.object];$B.IterableJSObj.__contains__=function(self,key){if(self.contains!==undefined&&typeof self.contains=="function"){return self.contains(key)}else{for(var item of $B.IterableJSObj.__iter__(self).it){if($B.is_or_equals(item,key)){return true}}return false}};$B.IterableJSObj.__iter__=function(_self){return{__class__:$B.IterableJSObj,it:_self[Symbol.iterator]()}};$B.IterableJSObj.__len__=function(_self){return _self.length};$B.IterableJSObj.__next__=function(_self){var value=_self.it.next();if(!value.done){return jsobj2pyobj(value.value)}throw _b_.StopIteration.$factory("")};$B.set_func_names($B.IterableJSObj,"builtins");var js_array=$B.js_array=$B.make_class("Array");js_array.__class__=js_list_meta;js_array.__mro__=[$B.JSObj,_b_.object];js_array.__getattribute__=function(_self,attr){if(_b_.list[attr]===undefined){var proto=Object.getPrototypeOf(_self),res=proto[attr];if(res!==undefined){return jsobj2pyobj(res,_self)}if(_self.hasOwnProperty(attr)){return jsobj2pyobj(_self[attr])}throw $B.attr_error(attr,_self)}return function(){var args=pyobj2jsobj(Array.from(arguments));return _b_.list[attr].call(null,_self,...args)}};js_array.__getitem__=function(_self,i){i=$B.PyNumber_Index(i);return jsobj2pyobj(_self[i])};var js_array_iterator=$B.make_class("JSArray_iterator",(function(obj){return{__class__:js_array_iterator,it:obj[Symbol.iterator]()}}));js_array_iterator.__next__=function(_self){var v=_self.it.next();if(v.done){throw _b_.StopIteration.$factory("")}return jsobj2pyobj(v.value)};$B.set_func_names(js_array_iterator,"builtins");js_array.__iter__=function(_self){return js_array_iterator.$factory(_self)};js_array.__repr__=function(_self){if($B.repr.enter(_self)){return"[...]"}var _r=new Array(_self.length),res;for(var i=0;i<_self.length;++i){_r[i]=_b_.str.$factory(_self[i])}res="["+_r.join(", ")+"]";$B.repr.leave(_self);return res};$B.set_func_names(js_array,"javascript");$B.get_jsobj_class=function(obj){if(typeof obj=="function"){return $B.JSObj}var proto=Object.getPrototypeOf(obj);if(proto===null){return $B.JSObj}if(proto[Symbol.iterator]!==undefined){return $B.IterableJSObj}else if(Object.getOwnPropertyNames(proto).indexOf("length")>-1){return $B.SizedJSObj}return $B.JSObj};$B.JSMeta=$B.make_class("JSMeta");$B.JSMeta.__call__=function(cls){var extra_args=new Array(arguments.length-1),klass=arguments[0];for(var i=1,len=arguments.length;i`};$B.generator.close=function(self){var save_frame_obj=$B.frame_obj;if(self.$frame){$B.frame_obj=$B.push_frame(self.$frame)}try{$B.generator.throw(self,_b_.GeneratorExit.$factory())}catch(err){if(!$B.is_exc(err,[_b_.GeneratorExit,_b_.StopIteration])){$B.frame_obj=save_frame_obj;throw _b_.RuntimeError.$factory("generator ignored GeneratorExit")}}$B.frame_obj=save_frame_obj};$B.generator.send=function(self,value){var gen=self.js_gen;gen.$has_run=true;if(gen.$finished){throw _b_.StopIteration.$factory(value)}if(gen.gi_running===true){throw _b_.ValueError.$factory("generator already executing")}gen.gi_running=true;var save_frame_obj=$B.frame_obj;if(self.$frame){$B.frame_obj=$B.push_frame(self.$frame)}try{var res=gen.next(value)}catch(err){gen.$finished=true;$B.frame_obj=save_frame_obj;throw err}if($B.frame_obj!==null&&$B.frame_obj.frame===self.$frame){$B.leave_frame()}$B.frame_obj=save_frame_obj;if(res.value&&res.value.__class__===$GeneratorReturn){gen.$finished=true;throw _b_.StopIteration.$factory(res.value.value)}gen.gi_running=false;if(res.done){throw _b_.StopIteration.$factory(res.value)}return res.value};$B.generator.throw=function(){var $=$B.args("throw",4,{self:null,type:null,value:null,traceback:null},["self","type","value","traceback"],arguments,{value:_b_.None,traceback:_b_.None},null,null),self=$.self,type=$.type,value=$.value,traceback=$.traceback;var gen=self.js_gen,exc=type;if(exc.$is_class){if(!_b_.issubclass(type,_b_.BaseException)){throw _b_.TypeError.$factory("exception value must be an "+"instance of BaseException")}else if(value===undefined||value===_b_.None){exc=$B.$call(exc)()}else if($B.$isinstance(value,type)){exc=value}}else{if(value===_b_.None){value=exc}else{exc=$B.$call(exc)(value)}}if(traceback!==_b_.None){exc.$traceback=traceback}var save_frame_obj=$B.frame_obj;if(self.$frame){$B.frame_obj=$B.push_frame(self.$frame)}var res=gen.throw(exc);$B.frame_obj=save_frame_obj;if(res.done){throw _b_.StopIteration.$factory(res.value)}return res.value};$B.set_func_names($B.generator,"builtins");$B.async_generator=$B.make_class("async_generator",(function(func){var f=function(){var gen=func.apply(null,arguments);var res=Object.create(null);res.__class__=$B.async_generator;res.js_gen=gen;return res};return f}));$B.async_generator.__aiter__=function(self){return self};$B.async_generator.__anext__=function(self){return $B.async_generator.asend(self,_b_.None)};$B.async_generator.aclose=function(self){self.js_gen.$finished=true;return _b_.None};$B.async_generator.asend=async function(self,value){var gen=self.js_gen;if(gen.$finished){throw _b_.StopAsyncIteration.$factory(value)}if(gen.ag_running===true){throw _b_.ValueError.$factory("generator already executing")}gen.ag_running=true;var save_frame_obj=$B.frame_obj;if(self.$frame){$B.frame_obj=$B.push_frame(self.$frame)}try{var res=await gen.next(value)}catch(err){gen.$finished=true;$B.frame_obj=save_frame_obj;throw err}if($B.frame_obj!==null&&$B.frame_obj.frame===self.$frame){$B.leave_frame()}$B.frame_obj=save_frame_obj;if(res.done){throw _b_.StopAsyncIteration.$factory(value)}if(res.value.__class__===$GeneratorReturn){gen.$finished=true;throw _b_.StopAsyncIteration.$factory(res.value.value)}gen.ag_running=false;return res.value};$B.async_generator.athrow=async function(self,type,value,traceback){var gen=self.js_gen,exc=type;if(exc.$is_class){if(!_b_.issubclass(type,_b_.BaseException)){throw _b_.TypeError.$factory("exception value must be an "+"instance of BaseException")}else if(value===undefined){value=$B.$call(exc)()}}else{if(value===undefined){value=exc}else{exc=$B.$call(exc)(value)}}if(traceback!==undefined){exc.$traceback=traceback}var save_frame_obj=$B.frame_obj;if(self.$frame){$B.frame_obj=$B.push_frame(self.$frame)}await gen.throw(value);$B.frame_obj=save_frame_obj};$B.set_func_names($B.async_generator,"builtins")})(__BRYTHON__);(function($B){var _b_=$B.builtins,object=_b_.object,_window=globalThis;function convertDomValue(v){if(v===null||v===undefined){return _b_.None}return $B.jsobj2pyobj(v)}var py_immutable_to_js=$B.py_immutable_to_js=function(pyobj){if($B.$isinstance(pyobj,_b_.float)){return pyobj.value}else if($B.$isinstance(pyobj,$B.long_int)){return $B.long_int.$to_js_number(pyobj)}return pyobj};function js_immutable_to_py(jsobj){if(typeof jsobj=="number"){if(Number.isSafeInteger(jsobj)){return jsobj}else if(Number.isInteger(jsobj)){return $B.fast_long_int(BigInt(jsobj+""))}else{return $B.fast_float(jsobj)}}return jsobj}function $getPosition(e){var left=0,top=0,width=e.width||e.offsetWidth,height=e.height||e.offsetHeight;while(e.offsetParent){left+=e.offsetLeft;top+=e.offsetTop;e=e.offsetParent}left+=e.offsetLeft||0;top+=e.offsetTop||0;if(e.parentElement){var parent_pos=$getPosition(e.parentElement);left+=parent_pos.left;top+=parent_pos.top}return{left:left,top:top,width:width,height:height}}var $mouseCoords=$B.$mouseCoords=function(ev){if(ev.type.startsWith("touch")){let res={};res.x=_b_.int.$factory(ev.touches[0].screenX);res.y=_b_.int.$factory(ev.touches[0].screenY);res.__getattr__=function(attr){return this[attr]};res.__class__="MouseCoords";return res}var posx=0,posy=0;if(!ev){ev=_window.event}if(ev.pageX||ev.pageY){posx=ev.pageX;posy=ev.pageY}else if(ev.clientX||ev.clientY){posx=ev.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;posy=ev.clientY+document.body.scrollTop+document.documentElement.scrollTop}let res={};res.x=_b_.int.$factory(posx);res.y=_b_.int.$factory(posy);res.__getattr__=function(attr){return this[attr]};res.__class__="MouseCoords";return res};$B.$isNode=function(o){return typeof Node==="object"?o instanceof Node:o&&typeof o==="object"&&typeof o.nodeType==="number"&&typeof o.nodeName==="string"};$B.$isNodeList=function(nodes){try{var result=Object.prototype.toString.call(nodes);var re=new RegExp("^\\[object (HTMLCollection|NodeList)\\]$");return typeof nodes==="object"&&re.exec(result)!==null&&nodes.length!==undefined&&(nodes.length==0||typeof nodes[0]==="object"&&nodes[0].nodeType>0)}catch(err){return false}};var $DOMEventAttrs_W3C=["NONE","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","type","target","currentTarget","eventPhase","bubbles","cancelable","timeStamp","stopPropagation","preventDefault","initEvent"];var $DOMEventAttrs_IE=["altKey","altLeft","button","cancelBubble","clientX","clientY","contentOverflow","ctrlKey","ctrlLeft","data","dataFld","dataTransfer","fromElement","keyCode","nextPage","offsetX","offsetY","origin","propertyName","reason","recordset","repeat","screenX","screenY","shiftKey","shiftLeft","source","srcElement","srcFilter","srcUrn","toElement","type","url","wheelDelta","x","y"];$B.$isEvent=function(obj){var flag=true;for(let attr of $DOMEventAttrs_W3C){if(obj[attr]===undefined){flag=false;break}}if(flag){return true}for(let attr of $DOMEventAttrs_IE){if(obj[attr]===undefined){return false}}return true};var $NodeTypes={1:"ELEMENT",2:"ATTRIBUTE",3:"TEXT",4:"CDATA_SECTION",5:"ENTITY_REFERENCE",6:"ENTITY",7:"PROCESSING_INSTRUCTION",8:"COMMENT",9:"DOCUMENT",10:"DOCUMENT_TYPE",11:"DOCUMENT_FRAGMENT",12:"NOTATION"};var Attributes=$B.make_class("Attributes",(function(elt){return{__class__:Attributes,elt:elt}}));Attributes.__contains__=function(){var $=$B.args("__getitem__",2,{self:null,key:null},["self","key"],arguments,{},null,null);if($.self.elt instanceof SVGElement){return $.self.elt.hasAttributeNS(null,$.key)}else if(typeof $.self.elt.hasAttribute=="function"){return $.self.elt.hasAttribute($.key)}return false};Attributes.__delitem__=function(){var $=$B.args("__getitem__",2,{self:null,key:null},["self","key"],arguments,{},null,null);if(!Attributes.__contains__($.self,$.key)){throw _b_.KeyError.$factory($.key)}if($.self.elt instanceof SVGElement){$.self.elt.removeAttributeNS(null,$.key);return _b_.None}else if(typeof $.self.elt.hasAttribute=="function"){$.self.elt.removeAttribute($.key);return _b_.None}};Attributes.__getitem__=function(){var $=$B.args("__getitem__",2,{self:null,key:null},["self","key"],arguments,{},null,null);if($.self.elt instanceof SVGElement&&$.self.elt.hasAttributeNS(null,$.key)){return $.self.elt.getAttributeNS(null,$.key)}else if(typeof $.self.elt.hasAttribute=="function"&&$.self.elt.hasAttribute($.key)){return $.self.elt.getAttribute($.key)}throw _b_.KeyError.$factory($.key)};Attributes.__iter__=function(self){self.$counter=0;var attrs=self.elt.attributes,items=[];for(var i=0;i");var DOMEvent=$B.DOMEvent=$B.make_class("DOMEvent",(function(evt_name){return DOMEvent.__new__(DOMEvent,evt_name)}));DOMEvent.__new__=function(cls,evt_name){var ev=new Event(evt_name);ev.__class__=DOMEvent;if(ev.preventDefault===undefined){ev.preventDefault=function(){ev.returnValue=false}}if(ev.stopPropagation===undefined){ev.stopPropagation=function(){ev.cancelBubble=true}}return ev};DOMEvent.__setattr__=function(self,attr,value){self[attr]=value};function dom2svg(svg_elt,coords){var pt=svg_elt.createSVGPoint();pt.x=coords.x;pt.y=coords.y;return pt.matrixTransform(svg_elt.getScreenCTM().inverse())}DOMEvent.__getattribute__=function(ev,attr){switch(attr){case"__repr__":case"__str__":return function(){return""};case"x":return $mouseCoords(ev).x;case"y":return $mouseCoords(ev).y;case"data":if(ev.dataTransfer!==null&&ev.dataTransfer!==undefined){return Clipboard.$factory(ev.dataTransfer)}else if(typeof Worker!=="undefined"&&ev.target instanceof Worker){return $B.structuredclone2pyobj(ev.data)}else if(typeof DedicatedWorkerGlobalScope!=="undefined"&&ev.target instanceof DedicatedWorkerGlobalScope){return $B.structuredclone2pyobj(ev.data)}return convertDomValue(ev.data);case"target":if(ev.target!==undefined){return DOMNode.$factory(ev.target)}break;case"char":return String.fromCharCode(ev.which);case"svgX":if(ev.target instanceof SVGSVGElement){return Math.floor(dom2svg(ev.target,$mouseCoords(ev)).x)}throw _b_.AttributeError.$factory("event target is not an SVG "+"element");case"svgY":if(ev.target instanceof SVGSVGElement){return Math.floor(dom2svg(ev.target,$mouseCoords(self)).y)}throw _b_.AttributeError.$factory("event target is not an SVG "+"element")}var res=ev[attr];if(res!==undefined){if(typeof res=="function"){var func=function(){var args=[];for(var i=0;i");var dom={File:function(){},FileReader:function(){}};dom.File.__class__=_b_.type;dom.File.__str__=function(){return""};dom.FileReader.__class__=_b_.type;dom.FileReader.__str__=function(){return""};var DOMNode=$B.make_class("DOMNode",(function(elt){return elt}));DOMNode.__add__=function(self,other){var res=TagSum.$factory();res.children=[self];var pos=1;if($B.$isinstance(other,TagSum)){res.children=res.children.concat(other.children)}else if($B.$isinstance(other,[_b_.str,_b_.int,_b_.float,_b_.list,_b_.dict,_b_.set,_b_.tuple])){res.children[pos++]=DOMNode.$factory(document.createTextNode(_b_.str.$factory(other)))}else if($B.$isinstance(other,DOMNode)){res.children[pos++]=other}else{try{res.children=res.children.concat(_b_.list.$factory(other))}catch(err){throw _b_.TypeError.$factory("can't add '"+$B.class_name(other)+"' object to DOMNode instance")}}return res};DOMNode.__bool__=function(){return true};DOMNode.__contains__=function(self,key){if(self.nodeType==9&&typeof key=="string"){return document.getElementById(key)!==null}if(self.length!==undefined&&typeof self.item=="function"){for(var i=0,len=self.length;i-1){return function(selector){if(selector===undefined){self.select();return _b_.None}return DOMNode.select(self,selector)}}if(attr=="query"&&self.nodeType==9){let res={__class__:Query,_keys:[],_values:{}};let qs=location.search.substr(1).split("&");if(location.search!=""){for(let i=0;i-1){res._values[key].push(value)}else{res._keys.push(key);res._values[key]=[value]}}}return res}var klass=$B.get_class(self);var property=self[attr];if(property!==undefined&&self.__class__&&klass.__module__!="browser.html"&&klass.__module__!="browser.svg"&&!klass.$webcomponent){var from_class=$B.$getattr(klass,attr,null);if(from_class!==null){property=from_class;if(typeof from_class==="function"){return property.bind(self,self)}}else{var bases=self.__class__.__bases__;var show_message=true;for(var base of bases){if(base.__module__=="browser.html"){show_message=false;break}}if(show_message){from_class=$B.$getattr(self.__class__,attr,_b_.None);if(from_class!==_b_.None){var frame=$B.frame_obj.frame,line=frame.$lineno;console.info("Warning: line "+line+", "+self.tagName+" element has instance attribute '"+attr+"' set."+" Attribute of class "+$B.class_name(self)+" is ignored.")}}}}if(property===undefined){if(self.tagName){var ce=customElements.get(self.tagName.toLowerCase());if(ce!==undefined&&ce.$cls!==undefined){var save_class=self.__class__;self.__class__=ce.$cls;try{let res=_b_.object.__getattribute__(self,attr);self.__class__=save_class;return res}catch(err){self.__class__=save_class;if(!$B.is_exc(err,[_b_.AttributeError])){throw err}}}}else{return object.__getattribute__(self,attr)}}var res=property;if(res!==undefined){if(res===null){return res}if(typeof res==="function"){if(self.__class__&&self.__class__.$webcomponent){var method=$B.$getattr(self.__class__,attr,null);if(method!==null){return res.bind(self)}}if(res.$is_func){return res}var func=function(f,elt){return function(){var args=[];for(var i=0;i0){var res=TagSum.$factory();var pos=res.children.length;for(var i=0;i"}var res=""};DOMNode.__setattr__=function(self,attr,value){switch(attr){case"left":case"top":case"width":case"height":if($B.$isinstance(value,[_b_.int,_b_.float])&&self.nodeType==1){self.style[attr]=value+"px";return _b_.None}else{throw _b_.ValueError.$factory(attr+" value should be"+" an integer or float, not "+$B.class_name(value))}}if(DOMNode["set_"+attr]!==undefined){return DOMNode["set_"+attr](self,value)}function warn(msg){console.log(msg);var frame=$B.frame_obj.frame;if(!frame){return}if($B.get_option("debug")>0){var file=frame.__file__,lineno=frame.$lineno;console.log("module",frame[2],"line",lineno);if($B.file_cache.hasOwnProperty(file)){var src=$B.file_cache[file];console.log(src.split("\n")[lineno-1])}}else{console.log("module",frame[2])}}var proto=Object.getPrototypeOf(self),nb=0;while(!!proto&&proto!==Object.prototype&&nb++<10){var descriptors=Object.getOwnPropertyDescriptors(proto);if(!!descriptors&&typeof descriptors.hasOwnProperty=="function"){if(descriptors.hasOwnProperty(attr)){if(!descriptors[attr].writable&&descriptors[attr].set===undefined){warn("Warning: property '"+attr+"' is not writable. Use element.attrs['"+attr+"'] instead.")}break}}else{break}proto=Object.getPrototypeOf(proto)}if(self.style&&self.style[attr]!==undefined&&attr!="src"){warn("Warning: '"+attr+"' is a property of element.style")}self[attr]=py_immutable_to_js(value);return _b_.None};DOMNode.__setitem__=function(self,key,value){if(typeof key=="number"){self.childNodes[key]=value}else if(typeof key=="string"){if(self.attributes){if(self instanceof SVGElement){self.setAttributeNS(null,key,value)}else if(typeof self.setAttribute=="function"){self.setAttribute(key,value)}}}};DOMNode.abs_left={__get__:function(self){return $getPosition(self).left},__set__:function(){throw _b_.AttributeError.$factory("'DOMNode' objectattribute "+"'abs_left' is read-only")}};DOMNode.abs_top={__get__:function(self){return $getPosition(self).top},__set__:function(){throw _b_.AttributeError.$factory("'DOMNode' objectattribute "+"'abs_top' is read-only")}};DOMNode.attach=DOMNode.__le__;DOMNode.bind=function(){var $=$B.args("bind",4,{self:null,event:null,func:null,options:null},["self","event","func","options"],arguments,{func:_b_.None,options:_b_.None},null,null),self=$.self,event=$.event,func=$.func,options=$.options;if(func===_b_.None){return function(f){return DOMNode.bind(self,event,f)}}var callback=function(f){return function(ev){try{return $B.$call(f)($DOMEvent(ev))}catch(err){if(err.__class__!==undefined){$B.handle_error(err)}else{try{$B.$getattr($B.get_stderr(),"write")(err)}catch(err1){console.log(err)}}}}}(func);callback.$infos=func.$infos;callback.$attrs=func.$attrs||{};callback.$func=func;if(typeof options=="boolean"){self.addEventListener(event,callback,options)}else if(options.__class__===_b_.dict){self.addEventListener(event,callback,_b_.dict.$to_obj(options))}else if(options===_b_.None){self.addEventListener(event,callback,false)}self.$events=self.$events||{};self.$events[event]=self.$events[event]||[];self.$events[event].push([func,callback]);return self};DOMNode.children=function(self){var res=[];if(self.nodeType==9){self=self.body}for(var child of self.children){res.push(DOMNode.$factory(child))}return res};DOMNode.child_nodes=function(self){var res=[];if(self.nodeType==9){self=self.body}for(var child of self.childNodes){res.push(DOMNode.$factory(child))}return res};DOMNode.clear=function(){var $=$B.args("clear",1,{self:null},["self"],arguments,{},null,null),self=$.self;if(self.nodeType==9){self=self.body}while(self.firstChild){self.removeChild(self.firstChild)}};DOMNode.Class=function(self){if(self.className!==undefined){return self.className}return _b_.None};DOMNode.class_name=function(self){return DOMNode.Class(self)};DOMNode.clone=function(self){var res=DOMNode.$factory(self.cloneNode(true));var events=self.$events||{};for(var event in events){var evt_list=events[event];evt_list.forEach((function(evt){var func=evt[0];DOMNode.bind(res,event,func)}))}return res};DOMNode.closest=function(){var $=$B.args("closest",2,{self:null,selector:null},["self","selector"],arguments,{},null,null),self=$.self,selector=$.selector;var res=self.closest(selector);if(res===null){throw _b_.KeyError.$factory("no parent with selector "+selector)}return DOMNode.$factory(res)};DOMNode.bindings=function(self){var res=$B.empty_dict();for(var key in self.$events){_b_.dict.$setitem(res,key,self.$events[key].map((x=>x[1])))}return res};DOMNode.events=function(self,event){self.$events=self.$events||{};var evt_list=self.$events[event]=self.$events[event]||[],callbacks=[];evt_list.forEach((function(evt){callbacks.push(evt[1])}));return callbacks};function make_list(node_list){var res=[];for(var i=0;i-1};Query.__getitem__=function(self,key){var result=self._values[key];if(result===undefined){throw _b_.KeyError.$factory(key)}else if(result.length==1){return result[0]}return result};var Query_iterator=$B.make_iterator_class("query string iterator");Query.__iter__=function(self){return Query_iterator.$factory(self._keys)};Query.__setitem__=function(self,key,value){self._values[key]=[value];return _b_.None};Query.__str__=Query.__repr__=function(self){var elts=[];for(var key in self._values){for(const val of self._values[key]){elts.push(encodeURIComponent(key)+"="+encodeURIComponent(val))}}if(elts.length==0){return""}else{return"?"+elts.join("&")}};Query.getfirst=function(self,key,_default){var result=self._values[key];if(result===undefined){if(_default===undefined){return _b_.None}return _default}return result[0]};Query.getlist=function(self,key){var result=self._values[key];if(result===undefined){return[]}return result};Query.getvalue=function(self,key,_default){try{return Query.__getitem__(self,key)}catch(err){if(_default===undefined){return _b_.None}return _default}};Query.keys=function(self){return self._keys};$B.set_func_names(Query,"");var TagSum=$B.make_class("TagSum",(function(){return{__class__:TagSum,children:[],toString:function(){return"(TagSum)"}}}));TagSum.appendChild=function(self,child){self.children.push(child)};TagSum.__add__=function(self,other){if($B.get_class(other)===TagSum){self.children=self.children.concat(other.children)}else if($B.$isinstance(other,[_b_.str,_b_.int,_b_.float,_b_.dict,_b_.set,_b_.list])){self.children=self.children.concat(DOMNode.$factory(document.createTextNode(other)))}else{self.children.push(other)}return self};TagSum.__radd__=function(self,other){var res=TagSum.$factory();res.children=self.children.slice();res.children.splice(0,0,DOMNode.$factory(document.createTextNode(other)));return res};TagSum.__repr__=function(self){var res=" ";for(var i=0;i");$B.TagSum=TagSum;$B.DOMNode=DOMNode})(__BRYTHON__);(function($B){$B.pattern_match=function(subject,pattern){var _b_=$B.builtins,frame=$B.frame_obj.frame,locals=frame[1];function bind(pattern,subject){if(pattern.alias){locals[pattern.alias]=subject}}if(pattern.sequence){if($B.$isinstance(subject,[_b_.str,_b_.bytes,_b_.bytearray])){return false}let Sequence;if($B.imported["collections.abc"]){Sequence=$B.imported["collections.abc"].Sequence}let deque;if($B.imported["collections"]){deque=$B.imported["collections"].deque}let supported=false;let klass=subject.__class__||$B.get_class(subject);for(let base of[klass].concat(klass.__bases__||[])){if(base.$match_sequence_pattern){supported=true;break}else if(base===Sequence||base==deque){supported=true;break}}if(!supported&&Sequence){supported=_b_.issubclass(klass,Sequence)}if(!supported){return false}if(pattern.sequence.length==1&&pattern.sequence[0].capture_starred=="_"){return true}let subject_length=_b_.len(subject),nb_fixed_length=0;for(let item of pattern.sequence){if(!item.capture_starred){nb_fixed_length++}}if(subject_length0){if([_b_.bool,_b_.bytearray,_b_.bytes,_b_.dict,_b_.float,_b_.frozenset,_b_.int,_b_.list,_b_.set,_b_.str,_b_.tuple].indexOf(klass)>-1){if(pattern.args.length>1){throw _b_.TypeError.$factory("for builtin type "+$B.class_name(subject)+", a single positional "+"subpattern is accepted")}return $B.pattern_match(subject,pattern.args[0])}else{let match_args=$B.$getattr(klass,"__match_args__",$B.fast_tuple([]));if(!$B.$isinstance(match_args,_b_.tuple)){throw _b_.TypeError.$factory("__match_args__() did not return a tuple")}if(pattern.args.length>match_args.length){throw _b_.TypeError.$factory("__match_args__() returns "+match_args.length+" names but "+pattern.args.length+" positional "+"arguments were passed")}for(let i=0,len=pattern.args.length;i"}else{return""}};$B.set_func_names(coroutine,"builtins");$B.make_async=func=>{if(func.$is_genfunc){return func}var f=function(){var args=arguments;return{__class__:coroutine,$args:args,$func:func}};f.$infos=func.$infos;f.$is_func=true;f.$is_async=true;return f};$B.promise=function(obj){if(obj.__class__===coroutine){obj.$frame_obj=$B.frame_obj;return coroutine.send(obj)}if(typeof obj=="function"){return obj()}if(obj instanceof Promise||typeof obj.then=="function"){obj.frame_obj=$B.frame_obj;return obj.then((function(x){$B.frame_obj=obj.frame_obj;return $B.jsobj2pyobj(x)})).catch((function(err){$B.frame_obj=obj.frame_obj;throw $B.exception(err)}))}var awaitable=$B.$getattr(obj,"__await__",null);if(awaitable!==null){awaitable=$B.$call(awaitable)();if($B.$getattr(awaitable,"__next__",null)===null){throw _b_.TypeError.$factory("__await__() returned non-iterator"+` of type '${$B.class_name(awaitable)}'`)}return awaitable}throw _b_.TypeError.$factory(`object ${$B.class_name(obj)} `+`can't be used in 'await' expression`)}})(__BRYTHON__);(function($B){$B.builtin_class_flags={builtins:{1074287874:["FileNotFoundError","ConnectionRefusedError","ModuleNotFoundError","ConnectionResetError","ProcessLookupError","UserWarning","Warning","ZeroDivisionError","BytesWarning","InterruptedError","NotADirectoryError","SyntaxError","UnicodeError","UnicodeEncodeError","AssertionError","UnicodeTranslateError","ConnectionError","IOError","LookupError","RecursionError","BaseException","GeneratorExit","Exception","IndentationError","BrokenPipeError","KeyboardInterrupt","ImportWarning","SystemError","UnicodeDecodeError","ValueError","NotImplementedError","RuntimeWarning","AttributeError","BlockingIOError","FileExistsError","ConnectionAbortedError","ArithmeticError","OSError","EnvironmentError","EncodingWarning","UnboundLocalError","TabError","BufferError","ImportError","MemoryError","StopIteration","PermissionError","TypeError","IsADirectoryError","DeprecationWarning","OverflowError","BaseExceptionGroup","FloatingPointError","NameError","ResourceWarning","StopAsyncIteration","TimeoutError","ReferenceError","KeyError","SystemExit","WindowsError","IndexError","EOFError","PendingDeprecationWarning","ChildProcessError","FutureWarning","UnicodeWarning","SyntaxWarning","RuntimeError"],1073763848:["ExceptionGroup"],21500162:["bool"],4723970:["float","bytearray"],138941698:["bytes"],546050:["property","enumerate","filter","staticmethod","zip","classmethod","reversed","map","super"],529666:["complex","object"],541611330:["dict"],4740354:["set","frozenset"],21501186:["int"],38294818:["list"],545058:["memoryview"],528674:["range"],545026:["slice"],273159426:["str"],71849250:["tuple"],2156420354:["type"]},types:{545154:["member_descriptor","method-wrapper","classmethod_descriptor","generator","async_generator","getset_descriptor","frame","coroutine"],547202:["builtin_function_or_method"],545026:["traceback","cell"],528642:["code","ellipsis","NoneType","NotImplementedType"],678146:["function"],545090:["mappingproxy"],678274:["method_descriptor"],547074:["method"],546050:["module"],676226:["wrapper_descriptor"]}}})(__BRYTHON__);(function($B){var _b_=$B.builtins;var update=$B.update_obj=function(mod,data){for(let attr in data){mod[attr]=data[attr]}};var modules={};var win=$B.jsobj2pyobj(globalThis);var browser={$package:true,$is_package:true,__initialized__:true,__package__:"browser",__file__:$B.brython_path.replace(new RegExp("/*$","g"),"")+"/Lib/browser/__init__.py",bind:function(){var $=$B.args("bind",3,{elt:null,evt:null,options:null},["elt","evt","options"],arguments,{options:_b_.None},null,null);var options=$.options;if(typeof options=="boolean"){}else if(options.__class__===_b_.dict){var _options={};for(var key of _b_.dict.$keys_string(options)){_options[key]=_b_.dict.$getitem_string(options,key)}options=_options}else{options==false}return function(callback){if($B.get_class($.elt)===$B.JSObj){function f(ev){try{return callback($B.jsobj2pyobj(ev))}catch(err){$B.handle_error(err)}}$.elt.addEventListener($.evt,f,options);return callback}else if($B.$isinstance($.elt,$B.DOMNode)){$B.DOMNode.bind($.elt,$.evt,callback,options);return callback}else if($B.$isinstance($.elt,_b_.str)){var items=document.querySelectorAll($.elt);for(var i=0;i1){console.log(err,err.__class__,err.args);console.log("first",first);console.log(arguments)}throw err}}}}for(var item of _b_.dict.$iter_items($ns.kw)){var arg=item.key,value=item.value;if(arg.toLowerCase().substr(0,2)=="on"){$B.DOMNode.__setattr__(self,arg,value)}else if(arg.toLowerCase()=="style"){$B.DOMNode.set_style(self,value)}else{if(value!==false){try{arg=$B.imported["browser.html"].attribute_mapper(arg);self.setAttribute(arg,$B.pyobj2jsobj(value))}catch(err){throw _b_.ValueError.$factory("can't set attribute "+arg)}}}}};dict.__mro__=[$B.DOMNode,$B.builtins.object];dict.__new__=function(cls){var res=document.createElement(tagName);if(cls!==html[tagName]){res.__class__=cls}return res};dict.__rmul__=function(self,num){return $B.DOMNode.__mul__(self,num)};$B.set_func_names(dict,"browser.html");return dict}function makeFactory(klass){return function(k){return function(){var res;if(k.__name__=="SVG"){res=$B.DOMNode.$factory(document.createElementNS("http://www.w3.org/2000/svg","svg"),true)}else{try{res=document.createElement(k.__name__)}catch(err){console.log("error "+err);console.log("creating element",k.__name__);throw err}}var init=$B.$getattr(k,"__init__",null);if(init!==null){init(res,...arguments)}return res}}(klass)}var tags=["A","ABBR","ACRONYM","ADDRESS","APPLET","AREA","B","BASE","BASEFONT","BDO","BIG","BLOCKQUOTE","BODY","BR","BUTTON","CAPTION","CENTER","CITE","CODE","COL","COLGROUP","DD","DEL","DFN","DIR","DIV","DL","DT","EM","FIELDSET","FONT","FORM","FRAME","FRAMESET","H1","H2","H3","H4","H5","H6","HEAD","HR","HTML","I","IFRAME","IMG","INPUT","INS","ISINDEX","KBD","LABEL","LEGEND","LI","LINK","MAP","MENU","META","NOFRAMES","NOSCRIPT","OBJECT","OL","OPTGROUP","OPTION","P","PARAM","PRE","Q","S","SAMP","SCRIPT","SELECT","SMALL","SPAN","STRIKE","STRONG","STYLE","SUB","SUP","SVG","TABLE","TBODY","TD","TEXTAREA","TFOOT","TH","THEAD","TITLE","TR","TT","U","UL","VAR","ARTICLE","ASIDE","AUDIO","BDI","CANVAS","COMMAND","DATA","DATALIST","EMBED","FIGCAPTION","FIGURE","FOOTER","HEADER","KEYGEN","MAIN","MARK","MATH","METER","NAV","OUTPUT","PROGRESS","RB","RP","RT","RTC","RUBY","SECTION","SOURCE","TEMPLATE","TIME","TRACK","VIDEO","WBR","DETAILS","DIALOG","MENUITEM","PICTURE","SUMMARY"];var html={};html.tags=$B.empty_dict();function maketag(tagName,ComponentClass){if(!(typeof tagName=="string")){throw _b_.TypeError.$factory("html.maketag expects a string as argument")}if(html[tagName]!==undefined){throw _b_.ValueError.$factory("cannot reset class for "+tagName)}var klass=makeTagDict(tagName);klass.$factory=makeFactory(klass,ComponentClass);html[tagName]=klass;_b_.dict.$setitem(html.tags,tagName,html[tagName]);return klass}for(var tagName of tags){maketag(tagName)}html.maketag=maketag;html.attribute_mapper=function(attr){return attr.replace(/_/g,"-")};return html}(__BRYTHON__)}modules["browser"]=browser;$B.UndefinedType=$B.make_class("UndefinedType",(function(){return $B.Undefined}));$B.UndefinedType.__mro__=[_b_.object];$B.UndefinedType.__bool__=function(){return false};$B.UndefinedType.__repr__=function(){return""};$B.UndefinedType.__str__=$B.UndefinedType.__repr__;$B.Undefined={__class__:$B.UndefinedType};$B.set_func_names($B.UndefinedType,"javascript");var super_class=$B.make_class("JavascriptSuper",(function(){var res=_b_.super.$factory();var js_constr=res.__thisclass__.__bases__[0];return function(){var obj=new js_constr.$js_func(...arguments);console.log("obj from js constr",obj);for(var attr in obj){console.log("attr",attr);res.__self_class__.__dict__[attr]=$B.jsobj2pyobj(obj[attr])}return obj}}));super_class.__getattribute__=function(self,attr){if(attr=="__init__"||attr=="__call__"){return self.__init__}return $B.$getattr(self.__self_class__,attr)};$B.set_func_names(super_class,"javascript");modules["javascript"]={this:function(){if($B.js_this===undefined){return $B.builtins.None}return $B.jsobj2pyobj($B.js_this)},Array:$B.js_array,Date:self.Date&&$B.jsobj2pyobj(self.Date),extends:function(js_constr){if(!js_constr.$js_func||!js_constr.$js_func.toString().startsWith("class ")){console.log(js_constr);throw _b_.TypeError.$factory("argument of extend must be a Javascript class")}js_constr.__class__=_b_.type;return function(obj){obj.__bases__.splice(0,0,js_constr);obj.__mro__.splice(0,0,js_constr);return obj}},import_js:function(){var $=$B.args("import_js",2,{url:null,alias:null},["url","alias"],arguments,{alias:_b_.None},null,null),url=$.url,alias=$.alias;var xhr=new XMLHttpRequest,result;xhr.open("GET",url,false);xhr.onreadystatechange=function(){if(this.readyState==4){if(this.status==200){var js=this.responseText+"\nreturn $module",f=new Function(js);var $module=f();if(typeof $module!=="undefined"){result=$B.module.$factory(alias);for(var key in $module){result[key]=$B.jsobj2pyobj($module[key])}result.__file__=url}else{console.log(this.responseText);result=_b_.ImportError.$factory("Javascript "+`module at ${url} doesn't define $module`)}}else{result=_b_.ModuleNotFoundError.$factory(url)}}};xhr.send();if($B.$isinstance(result,_b_.BaseException)){$B.handle_error(result)}else{if(alias===_b_.None){var name=url.split(".");if(name.length>1){name.pop()}alias=name.join(".");result.__name__=alias}$B.imported[alias]=result;var frame=$B.frame_obj.frame;frame[1][alias]=result}},import_modules:function(refs,callback,loaded){if(loaded===undefined){loaded=[]}if(!Array.isArray(refs)){throw _b_.TypeError.$factory(`first argument must be a list, got ${$B.class_name(refs)}`)}if(refs.length>1){var ref=refs.shift();import(ref).then((function(module){loaded.push(module);$B.imported.javascript.import_modules(refs,callback,loaded)})).catch($B.show_error)}else{import(refs[0]).then((function(module){loaded.push(module);return $B.$call(callback).apply(null,loaded)})).catch($B.show_error)}},import_scripts:function(refs,callback,loaded){console.log("import scripts",refs);if(loaded===undefined){loaded=[]}if(!Array.isArray(refs)){throw _b_.TypeError.$factory(`first argument must be a list, got ${$B.class_name(refs)}`)}if(refs.length>0){var ref=refs.shift();var script=document.createElement("script");script.src=ref;script.addEventListener("load",(function(){loaded.push(script);$B.imported.javascript.import_scripts(refs,callback,loaded)}));document.body.appendChild(script)}else{console.log("appel callback",loaded);return $B.$call(callback).apply(null,loaded)}},JSObject:$B.JSObj,JSON:{__class__:$B.make_class("JSON"),parse:function(){return $B.structuredclone2pyobj(JSON.parse.apply(this,arguments))},stringify:function(obj,replacer,space){return JSON.stringify($B.pyobj2structuredclone(obj,false),$B.jsobj2pyobj(replacer),space)}},jsobj2pyobj:function(obj){return $B.jsobj2pyobj(obj)},load:function(script_url){console.log('"javascript.load" is deprecrated. '+"Use browser.load instead.");var file_obj=$B.builtins.open(script_url);var content=$B.$getattr(file_obj,"read")();eval(content)},Math:self.Math&&$B.jsobj2pyobj(self.Math),NULL:null,NullType:$B.make_class("NullType"),Number:self.Number&&$B.jsobj2pyobj(self.Number),py2js:function(src,module_name){if(module_name===undefined){module_name="__main__"+$B.UUID()}var js=$B.py2js({src:src,filename:""},module_name,module_name,$B.builtins_scope).to_js();return $B.format_indent(js,0)},pyobj2jsobj:function(obj){return $B.pyobj2jsobj(obj)},RegExp:self.RegExp&&$B.jsobj2pyobj(self.RegExp),String:self.String&&$B.jsobj2pyobj(self.String),super:super_class,UNDEFINED:$B.Undefined,UndefinedType:$B.UndefinedType};modules.javascript.NullType.__module__="javascript";modules.javascript.NullType.__eq__=function(_self,other){return other===null||other===$B.Undefined};modules.javascript.NullType.__repr__=function(_self){return""};$B.set_func_names(modules.javascript.NullType,"javascript");modules.javascript.UndefinedType.__module__="javascript";var $io=$B.$io=$B.make_class("io",(function(out){return{__class__:$io,__dict__:$B.empty_dict(),out:out,encoding:"utf-8"}}));$io.flush=function(self){if(self.buf){var s=self.buf.join(""),chr0=String.fromCodePoint(0);s=s.replace(new RegExp(chr0,"g")," ");console[self.out](s);self.buf=[]}};$io.write=function(self,msg){if(self.buf===undefined){self.buf=[]}if(typeof msg!="string"){throw _b_.TypeError.$factory("write() argument must be str, not "+$B.class_name(msg))}self.buf.push(msg);return _b_.None};modules["_sys"]={_getframe:function(){var $=$B.args("_getframe",1,{depth:null},["depth"],arguments,{depth:0},null,null),depth=$.depth,frame_obj=$B.frame_obj;for(var i=0;i0){var lines=headers.trim().split(/[\r\n]+/);lines.forEach((function(line){var parts=line.split(": ");var header=parts.shift();var value=parts.join(": ");_b_.dict.$setitem(res,header,value)}))}return res}));var Future=$B.make_class("Future",(function(){var methods={};var promise=new Promise((function(resolve,reject){methods.resolve=resolve;methods.reject=reject}));promise._methods=methods;promise._done=false;promise.__class__=Future;return promise}));Future.done=function(){var $=$B.args("done",1,{self:null},["self"],arguments,{},null,null);return!!$.self._done};Future.set_result=function(){var $=$B.args("set_result",2,{self:null,value:null},["self","value"],arguments,{},null,null);$.self._done=true;$.self._methods.resolve($.value);return _b_.None};Future.set_exception=function(){var $=$B.args("set_exception",2,{self:null,exception:null},["self","exception"],arguments,{},null,null);$.self._done=true;$.self._methods.reject($.exception);return _b_.None};$B.set_func_names(Future,"browser.aio");modules["browser.aio"]={ajax:function(){var $=$B.args("ajax",2,{method:null,url:null},["method","url"],arguments,{},null,"kw"),method=$.method.toUpperCase(),url=$.url,kw=$.kw;var args=handle_kwargs(kw,"get");if(method=="GET"&&!args.cache){url=url+"?ts"+(new Date).getTime()+"=0"}if(args.body&&method=="GET"){url=url+(args.cache?"?":"&")+args.body}var func=function(){return new Promise((function(resolve){var xhr=new XMLHttpRequest;xhr.open(method,url,true);for(var key in args.headers){xhr.setRequestHeader(key,args.headers[key])}xhr.format=args.format;xhr.responseType=responseType[args.format];xhr.onreadystatechange=function(){if(this.readyState==4){this.__class__=HTTPRequest;resolve(this)}};if(args.body&&["POST","PUT","DELETE","PATCH"].indexOf(method)>-1){xhr.send(args.body)}else{xhr.send()}}))};func.$infos={__name__:"ajax_"+method};return{__class__:$B.coroutine,$args:[url,args],$func:func}},event:function(){var $=$B.args("event",1,{element:null},["element"],arguments,{},"names",null),element=$.element,names=$.names;return new Promise((function(resolve){var callbacks=[];names.forEach((function(name){var callback=function(evt){callbacks.forEach((function(items){$B.DOMNode.unbind(element,items[0],items[1])}));resolve($B.$DOMEvent(evt))};callbacks.push([name,callback]);$B.DOMNode.bind(element,name,callback)}))}))},get:function(){return $B.imported["browser.aio"].ajax.bind(null,"GET").apply(null,arguments)},iscoroutine:function(f){return f.__class__===$B.coroutine},iscoroutinefunction:function(f){return(f.$infos.__code__.co_flags&128)!=0},post:function(){return $B.imported["browser.aio"].ajax.bind(null,"POST").apply(null,arguments)},run:function(){var handle_success=function(){$B.leave_frame()},handle_error=$B.show_error;var $=$B.args("run",3,{coro:null,onsuccess:null,onerror:null},["coro","onsuccess","onerror"],arguments,{onsuccess:handle_success,onerror:handle_error},null,null),coro=$.coro,onsuccess=$.onsuccess,onerror=$.onerror;var save_frame_obj=$B.frame_obj;$B.coroutine.send(coro).then(onsuccess).catch(onerror);$B.frame_obj=save_frame_obj;return _b_.None},sleep:function(seconds){if(seconds.__class__===_b_.float){seconds=seconds.value}else if(typeof seconds!="number"){throw _b_.TypeError.$factory("'sleep' argument must be "+"int or float, not "+$B.class_name(seconds))}var func=function(){return new Promise((resolve=>setTimeout((function(){resolve(_b_.None)}),1e3*seconds)))};func.$infos={__name__:"sleep"};return{__class__:$B.coroutine,$args:[seconds],$func:func}},Future:Future,__getattr__:function(attr){$B.$import("_aio");return $B.$getattr($B.imported._aio,attr)}};function load(name,module_obj){module_obj.__class__=$B.module;module_obj.__name__=name;$B.imported[name]=module_obj;for(var attr in module_obj){if(typeof module_obj[attr]=="function"){module_obj[attr].$infos={__module__:name,__name__:attr,__qualname__:name+"."+attr}}}}for(let attr in modules){load(attr,modules[attr])}if(!($B.isWebWorker||$B.isNode)){modules["browser"].html=modules["browser.html"];modules["browser"].aio=modules["browser.aio"]}_b_.__builtins__=$B.module.$factory("__builtins__","Python builtins");for(let attr in _b_){_b_.__builtins__[attr]=_b_[attr];$B.builtins_scope.binding[attr]=true;if(_b_[attr].$is_class){if(_b_[attr].__bases__){_b_[attr].__bases__.__class__=_b_.tuple}else{_b_[attr].__bases__=$B.fast_tuple([_b_.object])}}}_b_.__builtins__.__setattr__=function(attr,value){_b_[attr]=value};$B.method_descriptor.__getattribute__=$B.function.__getattribute__;$B.wrapper_descriptor.__getattribute__=$B.function.__getattribute__;var tp_dict=_b_.type.__dict__=$B.empty_dict(),setitem=_b_.dict.$setitem;for(let method in _b_.type){if(method.startsWith("__")&&method.endsWith("__")){setitem(tp_dict,method,_b_.type[method])}}setitem(tp_dict,"__mro__",{__get__:function(cls){return $B.fast_tuple([cls].concat(cls.__mro__))}});for(var name in _b_){var builtin=_b_[name];if(_b_[name].__class__===_b_.type){_b_[name].__qualname__=name;_b_[name].__module__="builtins";_b_[name].__name__=name;_b_[name].$is_builtin_class=true;$B.builtin_classes.push(_b_[name]);for(var key in _b_[name]){var value=_b_[name][key];if(value===undefined||value.__class__||typeof value!="function"){continue}else if(key=="__new__"){value.__class__=$B.builtin_function_or_method}else if(key.startsWith("__")){value.__class__=$B.wrapper_descriptor}else{value.__class__=$B.method_descriptor}value.__objclass__=_b_[name]}}else if(typeof builtin=="function"){builtin.$infos={__name__:name,__qualname__:name}}}for(let attr in $B){if(Array.isArray($B[attr])){$B[attr].__class__=_b_.list}}$B.cell=$B.make_class("cell",(function(value){return{__class__:$B.cell,$cell_contents:value}}));$B.cell.cell_contents=$B.$call(_b_.property)((function(self){if(self.$cell_contents===null){throw _b_.ValueError.$factory("empty cell")}return self.$cell_contents}),(function(self,value){self.$cell_contents=value}));var $comps=Object.values($B.$comps).concat(["eq","ne"]);$comps.forEach((function(comp){var op="__"+comp+"__";$B.cell[op]=function(op){return function(self,other){if(!$B.$isinstance(other,$B.cell)){return _b_.NotImplemented}if(self.$cell_contents===null){if(other.$cell_contents===null){return op=="__eq__"}else{return["__ne__","__lt__","__le__"].indexOf(op)>-1}}else if(other.$cell_contents===null){return["__ne__","__gt__","__ge__"].indexOf(op)>-1}return $B.rich_comp(op,self.$cell_contents,other.$cell_contents)}}(op)}));$B.set_func_names($B.cell,"builtins");for(let flag in $B.builtin_class_flags.builtins){for(let key of $B.builtin_class_flags.builtins[flag]){if(_b_[key]){_b_[key].__flags__=parseInt(flag)}else{console.log("not in _b_",key)}}}for(let flag in $B.builtin_class_flags.types){for(let key of $B.builtin_class_flags.types[flag]){if($B[key]){$B[key].__flags__=parseInt(flag)}}}$B.AST={__class__:_b_.type,__mro__:[_b_.object],__name__:"AST",__qualname__:"AST",$is_class:true,$convert:function(js_node){if(js_node===undefined){return _b_.None}var constr=js_node.constructor;if(constr&&constr.$name){$B.create_python_ast_classes();return $B.python_ast_classes[constr.$name].$factory(js_node)}else if(Array.isArray(js_node)){return js_node.map($B.AST.$convert)}else if(js_node.type){switch(js_node.type){case"int":var value=js_node.value[1],base=js_node.value[0];var res=parseInt(value,base);if(!Number.isSafeInteger(res)){res=$B.long_int.$factory(value,base)}return res;case"float":return $B.fast_float(parseFloat(js_node.value));case"imaginary":return $B.make_complex(0,$B.AST.$convert(js_node.value));case"ellipsis":return _b_.Ellipsis;case"str":if(js_node.is_bytes){return _b_.bytes.$factory(js_node.value,"latin-1")}return js_node.value;case"id":if(["False","None","True"].indexOf(js_node.value)>-1){return _b_[js_node.value]}break}}else if(["string","number"].indexOf(typeof js_node)>-1){return js_node}else if(js_node.$name){return js_node.$name+"()"}else if([_b_.None,_b_.True,_b_.False].indexOf(js_node)>-1){return js_node}else if(js_node.__class__){return js_node}else{console.log("cannot handle",js_node);return js_node}}};$B.stdin={__class__:$io,__original__:true,closed:false,len:1,pos:0,read:function(){return""},readline:function(){return""}};$B.tracefunc=_b_.None})(__BRYTHON__);(function($B){var _b_=$B.builtins;function ast_dump(tree,indent){var attr,value;indent=indent||0;if(tree===_b_.None){return"None"}else if(typeof tree=="string"){return`'${tree}'`}else if(typeof tree=="number"){return tree+""}else if(tree.imaginary){return tree.value+"j"}else if(Array.isArray(tree)){if(tree.length==0){return"[]"}res="[\n";var items=[];for(var x of tree){try{items.push(ast_dump(x,indent+1))}catch(err){console.log("error",tree);console.log("for item",x);throw err}}res+=items.join(",\n");return res+"]"}else if(tree.$name){return tree.$name+"()"}else if(tree instanceof ast.MatchSingleton){return`MatchSingleton(value=${$B.AST.$convert(tree.value)})`}else if(tree instanceof ast.Constant){value=tree.value;if(value.imaginary){return`Constant(value=${_b_.repr(value.value)}j)`}return`Constant(value=${$B.AST.$convert(value)})`}var proto=Object.getPrototypeOf(tree).constructor;var res=" ".repeat(indent)+proto.$name+"(";if($B.ast_classes[proto.$name]===undefined){console.log("no ast class",proto)}var attr_names=$B.ast_classes[proto.$name].split(","),attrs=[];attr_names=attr_names.map((x=>x.endsWith("*")||x.endsWith("?")?x.substr(0,x.length-1):x));if([ast.Name].indexOf(proto)>-1){for(attr of attr_names){if(tree[attr]!==undefined){attrs.push(`${attr}=${ast_dump(tree[attr])}`)}}return res+attrs.join(", ")+")"}for(attr of attr_names){if(tree[attr]!==undefined){value=tree[attr];attrs.push(attr+"="+ast_dump(tree[attr],indent+1).trimStart())}}if(attrs.length>0){res+="\n";res+=attrs.map((x=>" ".repeat(indent+1)+x)).join(",\n")}res+=")";return res}function string_from_ast_value(value){return value.replace(new RegExp("\\\\'","g"),"'")}function compiler_error(ast_obj,message,end){var exc=_b_.SyntaxError.$factory(message);exc.filename=state.filename;if(exc.filename!=""){var src=$B.file_cache[exc.filename],lines=src.split("\n"),line=lines[ast_obj.lineno-1];exc.text=line}else{exc.text=_b_.None}exc.lineno=ast_obj.lineno;exc.offset=ast_obj.col_offset+1;end=end||ast_obj;exc.end_lineno=end.end_lineno;exc.end_offset=end.end_col_offset+1;exc.args[1]=[exc.filename,exc.lineno,exc.offset,exc.text,exc.end_lineno,exc.end_offset];exc.$frame_obj=$B.frame_obj;if($B.frame_obj===null){}throw exc}function fast_id(obj){if(obj.$id!==undefined){return obj.$id}return obj.$id=$B.UUID()}function copy_position(target,origin){target.lineno=origin.lineno;target.col_offset=origin.col_offset;target.end_lineno=origin.end_lineno;target.end_col_offset=origin.end_col_offset}function encode_position(a,b,c,d){if(d===undefined){return`[${[a,b,c]}]`}else{return`[${[a,b,c,d]}]`}}$B.decode_position=function(pos){return pos};function get_source_from_position(src,ast_obj){var lines=src.split("\n"),start_line=lines[ast_obj.lineno-1];if(ast_obj.end_lineno==ast_obj.lineno){return start_line.substring(ast_obj.col_offset,ast_obj.end_col_offset)}else{var res=start_line.substr(ast_obj.col_offset),line_num=ast_obj.lineno+1;while(line_num-1){_scopes=scopes.slice(0,ix+1)}else{_scopes=scopes.concat(scope)}}var names=[];for(var _scope of _scopes){if(!_scope.parent){names.push(_scope.name)}}return names.join("_").replace(/\./g,"_")}function module_name(scopes){var _scopes=scopes.slice();var names=[];for(var _scope of _scopes){if(!_scope.parent){names.push(_scope.name)}}return names.join(".")}function make_scope_name(scopes,scope){if(scope===builtins_scope){return`_b_`}return"locals_"+qualified_scope_name(scopes,scope)}function make_search_namespaces(scopes){var namespaces=[];for(var scope of scopes.slice().reverse()){if(scope.parent||scope.type=="class"){continue}else if(scope.is_exec_scope){namespaces.push("$B.exec_scope")}namespaces.push(make_scope_name(scopes,scope))}namespaces.push("_b_");return namespaces}function mangle(scopes,scope,name){if(name.startsWith("__")&&!name.endsWith("__")){var ix=scopes.indexOf(scope);while(ix>=0){if(scopes[ix].ast instanceof $B.ast.ClassDef){var scope_name=scopes[ix].name;while(scope_name.length>0&&scope_name.startsWith("_")){scope_name=scope_name.substr(1)}if(scope_name.length==0){return name}return"_"+scope_name+name}ix--}}return name}function reference(scopes,scope,name){return make_scope_name(scopes,scope)+"."+mangle(scopes,scope,name)}function bind(name,scopes){var scope=$B.last(scopes),up_scope=last_scope(scopes);name=mangle(scopes,up_scope,name);if(up_scope.globals&&up_scope.globals.has(name)){scope=scopes[0]}else if(up_scope.nonlocals.has(name)){for(var i=scopes.indexOf(up_scope)-1;i>=0;i--){if(scopes[i].locals.has(name)){return scopes[i]}}}scope.locals.add(name);return scope}var CELL=5,FREE=4,LOCAL=1,SCOPE_MASK=15,SCOPE_OFF=12;var TYPE_CLASS=1,TYPE_MODULE=2;var DEF_LOCAL=2,DEF_PARAM=2<<1,DEF_COMP_ITER=2<<8;function name_reference(name,scopes,position){var scope=name_scope(name,scopes);return make_ref(name,scopes,scope,position)}function make_ref(name,scopes,scope,position){if(scope.found){return reference(scopes,scope.found,name)}else if(scope.resolve=="all"){var scope_names=make_search_namespaces(scopes);return`$B.resolve_in_scopes('${name}', [${scope_names}], [${position}])`}else if(scope.resolve=="local"){return`$B.resolve_local('${name}', [${position}])`}else if(scope.resolve=="global"){return`$B.resolve_global('${name}', _frame_obj)`}else if(Array.isArray(scope.resolve)){return`$B.resolve_in_scopes('${name}', [${scope.resolve}], [${position}])`}else if(scope.resolve=="own_class_name"){return`$B.own_class_name('${name}')`}}function local_scope(name,scope){var s=scope;while(true){if(s.locals.has(name)){return{found:true,scope:s}}if(!s.parent){return{found:false}}s=s.parent}}function name_scope(name,scopes){var test=false;if(test){console.log("name scope",name,scopes.slice());alert()}var flags,block;if(scopes.length==0){return{found:false,resolve:"all"}}var scope=$B.last(scopes),up_scope=last_scope(scopes);name=mangle(scopes,scope,name);if(up_scope.ast===undefined){console.log("no ast",scope)}block=scopes.symtable.table.blocks.get(fast_id(up_scope.ast));if(block===undefined){console.log("no block",scope,scope.ast,"id",fast_id(up_scope.ast));console.log("scopes",scopes.slice());console.log("symtable",scopes.symtable)}try{flags=_b_.dict.$getitem_string(block.symbols,name)}catch(err){console.log("name",name,"not in symbols of block",block);console.log("symtables",scopes.symtable);console.log("scopes",scopes.slice());return{found:false,resolve:"all"}}let __scope=flags>>SCOPE_OFF&SCOPE_MASK,is_local=[LOCAL,CELL].indexOf(__scope)>-1;if(test){console.log("block",block,"is local",is_local,"__scope",__scope)}if(up_scope.ast instanceof $B.ast.ClassDef&&name==up_scope.name){return{found:false,resolve:"own_class_name"}}if(name=="__annotations__"){if(block.type==TYPE_CLASS&&up_scope.has_annotation){is_local=true}else if(block.type==TYPE_MODULE){is_local=true}}if(is_local){var l_scope=local_scope(name,scope);if(!l_scope.found){if(block.type==TYPE_CLASS){scope.needs_frames=true;return{found:false,resolve:"global"}}else if(block.type==TYPE_MODULE){scope.needs_frames=true;return{found:false,resolve:"global"}}return{found:false,resolve:"local"}}else{return{found:l_scope.scope}}}else if(scope.globals.has(name)){var global_scope=scopes[0];if(global_scope.locals.has(name)){return{found:global_scope}}scope.needs_frames=true;return{found:false,resolve:"global"}}else if(scope.nonlocals.has(name)){for(let i=scopes.length-2;i>=0;i--){block=scopes.symtable.table.blocks.get(fast_id(scopes[i].ast));if(block&&_b_.dict.$contains_string(block.symbols,name)){var fl=_b_.dict.$getitem_string(block.symbols,name),local_to_block=[LOCAL,CELL].indexOf(fl>>SCOPE_OFF&SCOPE_MASK)>-1;if(!local_to_block){continue}return{found:scopes[i]}}}}if(scope.has_import_star){if(!is_local){scope.needs_frames=true}return{found:false,resolve:is_local?"all":"global"}}for(let i=scopes.length-2;i>=0;i--){block=undefined;if(scopes[i].ast){block=scopes.symtable.table.blocks.get(fast_id(scopes[i].ast))}if(scopes[i].globals.has(name)){scope.needs_frames=true;return{found:false,resolve:"global"}}if(scopes[i].locals.has(name)&&scopes[i].type!="class"){return{found:scopes[i]}}else if(block&&_b_.dict.$contains_string(block.symbols,name)){flags=_b_.dict.$getitem_string(block.symbols,name);let __scope=flags>>SCOPE_OFF&SCOPE_MASK;if([LOCAL,CELL].indexOf(__scope)>-1){return{found:false,resolve:"all"}}}if(scopes[i].has_import_star){return{found:false,resolve:"all"}}}if(builtins_scope.locals.has(name)){return{found:builtins_scope}}var scope_names=make_search_namespaces(scopes);return{found:false,resolve:scope_names}}function resolve_in_namespace(name,ns){if(ns.$proxy){return ns[name]===undefined?{found:false}:{found:true,value:ns[name]}}if(!ns.hasOwnProperty){if(ns[name]!==undefined){return{found:true,value:ns[name]}}}else if(ns.hasOwnProperty(name)){return{found:true,value:ns[name]}}else if(ns.$dict){try{return{found:true,value:ns.$getitem(ns.$dict,name)}}catch(err){if(ns.$missing){try{return{found:true,value:$B.$call(ns.$missing)(ns.$dict,name)}}catch(err){if(!$B.is_exc(err,[_b_.KeyError])){throw err}}}}}return{found:false}}$B.resolve=function(name){var checked=new Set,current_globals,frame_obj=$B.frame_obj,frame;while(frame_obj!==null){frame=frame_obj.frame;if(current_globals===undefined){current_globals=frame[3]}else if(frame[3]!==current_globals){let v=resolve_in_namespace(name,current_globals);if(v.found){return v.value}checked.add(current_globals);current_globals=frame[3]}let v=resolve_in_namespace(name,frame[1]);if(v.found){return v.value}frame_obj=frame_obj.prev}if(!checked.has(frame[3])){var v=resolve_in_namespace(name,frame[3]);if(v.found){return v.value}}if(builtins_scope.locals.has(name)){return _b_[name]}throw $B.name_error(name)};$B.resolve_local=function(name,position){if($B.frame_obj!==null){var frame=$B.frame_obj.frame;if(frame[1].hasOwnProperty){if(frame[1].hasOwnProperty(name)){return frame[1][name]}}else{var value=frame[1][name];if(value!==undefined){return value}}}var exc=_b_.UnboundLocalError.$factory(`cannot access local variable `+`'${name}' where it is not associated with a value`);if(position&&$B.frame_obj){$B.set_exception_offsets(exc,position)}throw exc};$B.resolve_in_scopes=function(name,namespaces,position){for(var ns of namespaces){if(ns===$B.exec_scope){var exec_top,frame_obj=$B.frame_obj,frame;while(frame_obj!==null){frame=frame_obj.frame;if(frame.is_exec_top){exec_top=frame;break}frame_obj=frame_obj.prev}if(exec_top){for(var ns1 of[exec_top[1],exec_top[3]]){let v=resolve_in_namespace(name,ns1);if(v.found){return v.value}}}}else{let v=resolve_in_namespace(name,ns);if(v.found){return v.value}}}var exc=$B.name_error(name);if(position){$B.set_exception_offsets(exc,position)}throw exc};$B.resolve_global=function(name,frame_obj){while(frame_obj!==null){var frame=frame_obj.frame,v=resolve_in_namespace(name,frame[3]);if(v.found){return v.value}if(frame.is_exec_top){break}frame_obj=frame_obj.prev}if(builtins_scope.locals.has(name)){return _b_[name]}throw $B.name_error(name)};$B.own_class_name=function(name){throw $B.name_error(name)};var $operators=$B.op2method.subset("all");var opname2opsign={};for(var key in $operators){opname2opsign[$operators[key]]=key}var opclass2dunder={};for(var op_type of $B.op_types){for(var operator in op_type){opclass2dunder[op_type[operator]]="__"+$operators[operator]+"__"}}opclass2dunder["UAdd"]="__pos__";opclass2dunder["USub"]="__neg__";opclass2dunder["Invert"]="__invert__";var builtins_scope=new Scope("__builtins__");for(var name in $B.builtins){builtins_scope.locals.add(name)}function mark_parents(node){if(node.body&&node.body instanceof Array){for(let child of node.body){child.$parent=node;mark_parents(child)}}else if(node.handlers){var p={$parent:node,type:"except_handler"};for(let child of node.handlers){child.$parent=p;mark_parents(child)}}}function add_body(body,scopes){var res="";let js;for(var item of body){js=$B.js_from_ast(item,scopes);if(js.length>0){res+=js+"\n"}}return res.trimRight()}function extract_docstring(ast_obj,scopes){var js="_b_.None";if(ast_obj.body.length&&ast_obj.body[0]instanceof $B.ast.Expr&&ast_obj.body[0].value instanceof $B.ast.Constant){var value=ast_obj.body[0].value.value;if(typeof value=="string"){js=ast_obj.body[0].value.to_js(scopes);ast_obj.body.shift()}}return js}function init_comprehension(comp,scopes){if(comp.type=="genexpr"){return init_genexpr(comp,scopes)}return`var next_func_${comp.id} = $B.make_js_iterator(expr, frame, ${comp.ast.lineno})\n`}function init_genexpr(comp,scopes){var varnames=Object.keys(comp.varnames||{}).map((x=>`'${x}'`)).join(", ");return`var ${comp.locals_name} = {},\n`+`locals = ${comp.locals_name}\n`+`locals['.0'] = expr\n`+`var frame = ["<${comp.type.toLowerCase()}>", ${comp.locals_name}, `+`"${comp.module_name}", ${comp.globals_name}]\n`+`frame.$has_generators = true\n`+`frame.__file__ = '${scopes.filename}'\n`+`frame.$lineno = ${comp.ast.lineno}\n`+`frame.f_code = {\n`+`co_argcount: 1,\n`+`co_firstlineno:${comp.ast.lineno},\n`+`co_name: "<${comp.type.toLowerCase()}>",\n`+`co_filename: "${scopes.filename}",\n`+`co_flags: ${comp.type=="genexpr"?115:83},\n`+`co_freevars: $B.fast_tuple([]),\n`+`co_kwonlyargcount: 0,\n`+`co_posonlyargount: 0,\n`+`co_qualname: "<${comp.type.toLowerCase()}>",\n`+`co_varnames: $B.fast_tuple(['.0', ${varnames}])\n`+`}\n`+`var next_func_${comp.id} = $B.make_js_iterator(expr, frame, ${comp.ast.lineno})\n`+`frame.$f_trace = _b_.None\n`+`var _frame_obj = $B.frame_obj\n`}function make_comp(scopes){var id=$B.UUID(),type=this.constructor.$name,symtable_block=scopes.symtable.table.blocks.get(fast_id(this)),varnames=symtable_block.varnames.map((x=>`"${x}"`)),comp_iter,comp_scope=$B.last(scopes),upper_comp_scope=comp_scope;while(upper_comp_scope.parent){upper_comp_scope=upper_comp_scope.parent}var initial_nb_await_in_scope=upper_comp_scope.nb_await===undefined?0:upper_comp_scope.nb_await;for(var symbol of _b_.dict.$iter_items(symtable_block.symbols)){if(symbol.value&DEF_COMP_ITER){comp_iter=symbol.key}}var comp_iter_scope=name_scope(comp_iter,scopes);var first_for=this.generators[0],outmost_expr=$B.js_from_ast(first_for.iter,scopes),nb_paren=1;var comp={ast:this,id:id,type:type,varnames:varnames,module_name:scopes[0].name,locals_name:make_scope_name(scopes),globals_name:make_scope_name(scopes,scopes[0])};var js=init_comprehension(comp,scopes);if(comp_iter_scope.found){js+=`var save_comp_iter = ${name_reference(comp_iter,scopes)}\n`}if(this instanceof $B.ast.ListComp){js+=`var result_${id} = []\n`}else if(this instanceof $B.ast.SetComp){js+=`var result_${id} = _b_.set.$factory()\n`}else if(this instanceof $B.ast.DictComp){js+=`var result_${id} = $B.empty_dict()\n`}var first=this.generators[0];js+=`try{\n`+`for(var next_${id} of next_func_${id}){\n`;var name=new $B.ast.Name(`next_${id}`,new $B.ast.Load);copy_position(name,first_for.iter);name.to_js=function(){return`next_${id}`};var assign=new $B.ast.Assign([first.target],name);assign.lineno=this.lineno;js+=assign.to_js(scopes)+"\n";for(let _if of first.ifs){nb_paren++;js+=`if($B.$bool(${$B.js_from_ast(_if,scopes)})){\n`}for(var comprehension of this.generators.slice(1)){js+=comprehension.to_js(scopes);nb_paren++;for(let _if of comprehension.ifs){nb_paren++}}if(this instanceof $B.ast.DictComp){var key=$B.js_from_ast(this.key,scopes),value=$B.js_from_ast(this.value,scopes)}else{var elt=$B.js_from_ast(this.elt,scopes)}var final_nb_await_in_scope=upper_comp_scope.nb_await===undefined?0:upper_comp_scope.nb_await;var has_await=final_nb_await_in_scope>initial_nb_await_in_scope;js=`(${has_await?"async ":""}function(expr){\n`+js;js+=has_await?"var save_frame_obj = $B.frame_obj;\n":"";if(this instanceof $B.ast.ListComp){js+=`result_${id}.push(${elt})\n`}else if(this instanceof $B.ast.SetComp){js+=`_b_.set.add(result_${id}, ${elt})\n`}else if(this instanceof $B.ast.DictComp){js+=`_b_.dict.$setitem(result_${id}, ${key}, ${value})\n`}for(var i=0;i")){name="exec"}else{name=filename.replace(/\./g,"_")}var top_scope=new Scope(name,`${type}`,this),block=scopes.symtable.table.blocks.get(fast_id(this));if(block&&block.$has_import_star){top_scope.has_import_star=true}scopes.push(top_scope);var namespaces=scopes.namespaces;if(namespaces){top_scope.is_exec_scope=true;for(let key in namespaces.exec_globals){if(!key.startsWith("$")){top_scope.globals.add(key)}}if(namespaces.exec_locals!==namespaces.exec_globals){for(let key in namespaces.exec_locals){if(!key.startsWith("$")){top_scope.locals.add(key)}}}}return name}function compiler_check(obj){var check_func=Object.getPrototypeOf(obj)._check;if(check_func){obj._check()}}function check_assign_or_delete(obj,target,action){action=action??"assign to";if(target instanceof $B.ast.Attribute){if(target.attr=="__debug__"){compiler_error(obj,`cannot ${action} __debug__`,target)}}else if(target instanceof $B.ast.Name){if(target.id=="__debug__"){compiler_error(obj,`cannot ${action} __debug__`,target)}}else if(target instanceof $B.ast.Tuple){for(var elt of target.elts){check_assign_or_delete(elt,elt,action)}}else if(target instanceof $B.ast.Starred){check_assign_or_delete(obj,target.value,action)}}$B.ast.Assert.prototype.to_js=function(scopes){var test=$B.js_from_ast(this.test,scopes),msg=this.msg?$B.js_from_ast(this.msg,scopes):"";return`if($B.set_lineno(frame, ${this.lineno}) && !$B.$bool(${test})){\n`+`throw _b_.AssertionError.$factory(${msg})}\n`};function annotation_to_str(obj,scopes){return get_source_from_position(scopes.src,obj)}$B.ast.AnnAssign.prototype.to_js=function(scopes){compiler_check(this);var postpone_annotation=scopes.symtable.table.future.features&$B.CO_FUTURE_ANNOTATIONS;var scope=last_scope(scopes);var js="";if(!scope.has_annotation){js+="locals.__annotations__ = locals.__annotations__ || $B.empty_dict()\n";scope.has_annotation=true;scope.locals.add("__annotations__")}if(this.target instanceof $B.ast.Name){var ann_value=postpone_annotation?`'${annotation_to_str(this.annotation,scopes)}'`:$B.js_from_ast(this.annotation,scopes)}if(this.value){js+=`var ann = ${$B.js_from_ast(this.value,scopes)}\n`;if(this.target instanceof $B.ast.Name&&this.simple){let scope=bind(this.target.id,scopes),mangled=mangle(scopes,scope,this.target.id);if(scope.type!="def"){js+=`$B.$setitem(locals.__annotations__, `+`'${mangled}', ${ann_value})\n`}let target_ref=name_reference(this.target.id,scopes);js+=`${target_ref} = ann`}else if(this.target instanceof $B.ast.Attribute){js+=`$B.$setattr(${$B.js_from_ast(this.target.value,scopes)}`+`, "${this.target.attr}", ann)`}else if(this.target instanceof $B.ast.Subscript){js+=`$B.$setitem(${$B.js_from_ast(this.target.value,scopes)}`+`, ${$B.js_from_ast(this.target.slice,scopes)}, ann)`}}else{if(this.target instanceof $B.ast.Name){if(this.simple&&scope.type!="def"){let mangled=mangle(scopes,scope,this.target.id);js+=`$B.$setitem(locals.__annotations__, `+`'${mangled}', ${ann_value})`}}}return`$B.set_lineno(frame, ${this.lineno})\n`+js};$B.ast.AnnAssign.prototype._check=function(){check_assign_or_delete(this,this.target)};$B.ast.Assign.prototype.to_js=function(scopes){compiler_check(this);var js=this.lineno?`$B.set_lineno(frame, ${this.lineno})\n`:"",value=$B.js_from_ast(this.value,scopes);function assign_one(target,value){if(target instanceof $B.ast.Name){return $B.js_from_ast(target,scopes)+" = "+value}else if(target instanceof $B.ast.Starred){return assign_one(target.value,value)}else if(target instanceof $B.ast.Subscript){return`$B.$setitem(${$B.js_from_ast(target.value,scopes)}`+`, ${$B.js_from_ast(target.slice,scopes)}, ${value})`}else if(target instanceof $B.ast.Attribute){var attr=mangle(scopes,last_scope(scopes),target.attr);return`$B.$setattr(${$B.js_from_ast(target.value,scopes)}`+`, "${attr}", ${value})`}}function assign_many(target,value){var js="";var nb_targets=target.elts.length,has_starred=false,nb_after_starred;for(var i=0,len=nb_targets;ithis.lineno){end_col_offset=this.col_offset+1}var position=encode_position(this.col_offset,this.col_offset,end_col_offset);js+=`, ${position}`;js+=")";var args=make_args.bind(this)(scopes);return js+(args.has_starred?`.apply(null, ${args.js})`:`(${args.js})`)};$B.ast.Call.prototype._check=function(){for(var kw of this.keywords){if(kw.arg=="__debug__"){compiler_error(this,"cannot assign to __debug__",kw)}}};function make_args(scopes){var js="",named_args=[],named_kwargs=[],starred_kwargs=[],has_starred=false;for(let arg of this.args){if(arg instanceof $B.ast.Starred){arg.$handled=true;has_starred=true}else{named_args.push($B.js_from_ast(arg,scopes))}}var kwds=new Set;for(var keyword of this.keywords){if(keyword.arg){if(kwds.has(keyword.arg)){compiler_error(keyword,`keyword argument repeated: ${keyword.arg}`)}kwds.add(keyword.arg);named_kwargs.push(`${keyword.arg}: ${$B.js_from_ast(keyword.value,scopes)}`)}else{starred_kwargs.push($B.js_from_ast(keyword.value,scopes))}}var args="";named_args=named_args.join(", ");if(!has_starred){args+=`${named_args}`}else{var start=true,not_starred=[];for(let arg of this.args){if(arg instanceof $B.ast.Starred){if(not_starred.length>0){let arg_list=not_starred.map((x=>$B.js_from_ast(x,scopes)));if(start){args+=`[${arg_list.join(", ")}]`}else{args+=`.concat([${arg_list.join(", ")}])`}not_starred=[]}else if(args==""){args="[]"}var starred_arg=$B.js_from_ast(arg.value,scopes);args+=`.concat(_b_.list.$factory(${starred_arg}))`;start=false}else{not_starred.push(arg)}}if(not_starred.length>0){let arg_list=not_starred.map((x=>$B.js_from_ast(x,scopes)));if(start){args+=`[${arg_list.join(", ")}]`;start=false}else{args+=`.concat([${arg_list.join(", ")}])`}}if(args[0]=="."){console.log("bizarre",args)}}if(named_kwargs.length+starred_kwargs.length==0){return{has_starred:has_starred,js:js+`${args}`}}else{var kw=`{${named_kwargs.join(", ")}}`;for(var starred_kwarg of starred_kwargs){kw+=`, ${starred_kwarg}`}kw=`{$kw:[${kw}]}`;if(args.length>0){if(has_starred){kw=`.concat([${kw}])`}else{kw=", "+kw}}return{has_starred:has_starred,js:js+`${args}${kw}`}}}$B.ast.ClassDef.prototype.to_js=function(scopes){var enclosing_scope=bind(this.name,scopes);var class_scope=new Scope(this.name,"class",this);var js="",locals_name=make_scope_name(scopes,class_scope),ref=this.name+$B.UUID(),glob=scopes[0].name,globals_name=make_scope_name(scopes,scopes[0]),decorators=[],decorated=false;for(let dec of this.decorator_list){decorated=true;var dec_id="decorator"+$B.UUID();decorators.push(dec_id);js+=`$B.set_lineno(frame, ${dec.lineno})\n`+`var ${dec_id} = ${$B.js_from_ast(dec,scopes)}\n`}js+=`$B.set_lineno(frame, ${this.lineno})\n`;var qualname=this.name;var ix=scopes.length-1;while(ix>=0){if(scopes[ix].parent){ix--}else if(scopes[ix].ast instanceof $B.ast.ClassDef){qualname=scopes[ix].name+"."+qualname;ix--}else{break}}var bases=this.bases.map((x=>$B.js_from_ast(x,scopes)));var has_type_params=this.type_params.length>0;if(has_type_params){js+=`$B.$import('_typing')\n`+`var _typing = $B.imported._typing\n`;var params=[];for(let item of this.type_params){if(item instanceof $B.ast.TypeVar){params.push(`$B.$call(_typing.TypeVar)('${item.name}')`)}else if(item instanceof $B.ast.TypeVarTuple){params.push(`$B.$call($B.$getattr(_typing.Unpack, '__getitem__'))($B.$call(_typing.TypeVarTuple)('${item.name.id}'))`)}else if(item instanceof $B.ast.ParamSpec){params.push(`$B.$call(_typing.ParamSpec)('${item.name.id}')`)}}bases.push(`_typing.Generic.__class_getitem__(_typing.Generic,`+` $B.fast_tuple([${params}]))`);for(let item of this.type_params){var name,param_type=item.constructor.$name;if(param_type=="TypeVar"){name=item.name}else{name=item.name.id}js+=`locals.${name} = $B.$call(_typing.${param_type})('${name}')\n`}}var keywords=[],metaclass;for(var keyword of this.keywords){if(keyword.arg=="metaclass"){metaclass=keyword.value}keywords.push(`["${keyword.arg}", `+$B.js_from_ast(keyword.value,scopes)+"]")}var docstring=extract_docstring(this,scopes);js+=`var ${ref} = (function(name, module, bases){\n`+`var _frame_obj = $B.frame_obj,\n`+`resolved_bases = $B.resolve_mro_entries(bases),\n`+`metaclass = $B.get_metaclass(name, module, `+`resolved_bases`;if(metaclass){js+=`, ${metaclass.to_js(scopes)}`}js+=")\n";js+=`var ${locals_name} = $B.make_class_namespace(metaclass, `+`name, module ,"${qualname}", resolved_bases),\n`;js+=`locals = ${locals_name}\n`+`if(resolved_bases !== bases){\nlocals.__orig_bases__ = bases}\n`+`locals.__doc__ = ${docstring}\n`+`var frame = [name, locals, module, ${globals_name}]\n`+`frame.__file__ = __file__\n`+`frame.$lineno = ${this.lineno}\n`+`frame.$f_trace = $B.enter_frame(frame)\n`+`var _frame_obj = $B.frame_obj\n`+`if(frame.$f_trace !== _b_.None){\n$B.trace_line()}\n`;scopes.push(class_scope);js+=add_body(this.body,scopes);scopes.pop();js+="\n$B.trace_return_and_leave(frame, _b_.None)\n"+`return $B.$class_constructor('${this.name}', locals, metaclass, `+`resolved_bases, bases, [${keywords.join(", ")}])\n`+`})('${this.name}',${globals_name}.__name__ ?? '${glob}', $B.fast_tuple([${bases}]))\n`;var class_ref=reference(scopes,enclosing_scope,this.name);if(decorated){class_ref=`decorated${$B.UUID()}`;js+="var "}js+=`${class_ref} = ${ref}\n`;if(decorated){js+=reference(scopes,enclosing_scope,this.name)+" = ";var decorate=class_ref;for(let dec of decorators.reverse()){decorate=`$B.$call(${dec})(${decorate})`}js+=decorate+"\n"}return js};$B.ast.Compare.prototype.to_js=function(scopes){var left=$B.js_from_ast(this.left,scopes),comps=[];var len=this.ops.length,prefix=len>1?"locals.$op = ":"";for(var i=0;i1){left="locals.$op"}}return comps.join(" && ")};$B.ast.comprehension.prototype.to_js=function(scopes){var id=$B.UUID(),iter=$B.js_from_ast(this.iter,scopes);var js=`var next_func_${id} = $B.make_js_iterator(${iter}, frame, ${this.lineno})\n`+`for(var next_${id} of next_func_${id}){\n`;var name=new $B.ast.Name(`next_${id}`,new $B.ast.Load);copy_position(name,this.target);name.to_js=function(){return`next_${id}`};var assign=new $B.ast.Assign([this.target],name);copy_position(assign,this.target);js+=assign.to_js(scopes)+" // assign to target\n";for(var _if of this.ifs){js+=`if($B.$bool(${$B.js_from_ast(_if,scopes)})){\n`}return js};$B.ast.Constant.prototype.to_js=function(){if(this.value===true||this.value===false){return this.value+""}else if(this.value===_b_.None){return"_b_.None"}else if(typeof this.value=="string"){var s=this.value,srg=$B.surrogates(s);if(srg.length==0){return`'${s}'`}return`$B.make_String('${s}', [${srg}])`}else if(this.value.__class__===_b_.bytes){return`_b_.bytes.$factory([${this.value.source}])`}else if(typeof this.value=="number"){if(Number.isInteger(this.value)){return this.value}else{return`({__class__: _b_.float, value: ${this.value}})`}}else if(this.value.__class__===$B.long_int){return`$B.fast_long_int(${this.value.value}n)`}else if(this.value.__class__===_b_.float){return`({__class__: _b_.float, value: ${this.value.value}})`}else if(this.value.__class__===_b_.complex){return`$B.make_complex(${this.value.$real.value}, ${this.value.$imag.value})`}else if(this.value===_b_.Ellipsis){return`_b_.Ellipsis`}else{console.log("invalid value",this.value);throw SyntaxError("bad value",this.value)}};$B.ast.Continue.prototype.to_js=function(scopes){if(!in_loop(scopes)){compiler_error(this,"'continue' not properly in loop")}return"continue"};$B.ast.Delete.prototype.to_js=function(scopes){compiler_check(this);var js="";for(var target of this.targets){if(target instanceof $B.ast.Name){var scope=name_scope(target.id,scopes);if(scope.found){scope.found.locals.delete(target.id)}js+=`$B.$delete("${target.id}")\n`}else if(target instanceof $B.ast.Subscript){js+=`$B.$delitem(${$B.js_from_ast(target.value,scopes)}, `+`${$B.js_from_ast(target.slice,scopes)})\n`}else if(target instanceof $B.ast.Attribute){js+=`_b_.delattr(${$B.js_from_ast(target.value,scopes)}, `+`'${target.attr}')\n`}}return`$B.set_lineno(frame, ${this.lineno})\n`+js};$B.ast.Delete.prototype._check=function(){for(var target of this.targets){check_assign_or_delete(this,target,"delete")}};$B.ast.Dict.prototype.to_js=function(scopes){var items=[],keys=this.keys,has_packed=false;function no_key(i){return keys[i]===_b_.None||keys[i]===undefined}for(let i=0,len=this.keys.length;i0){js+=`\nif(no_break_${id}){\n`+add_body(this.orelse,scopes)+"}\n"}return js};$B.ast.FormattedValue.prototype.to_js=function(scopes){var value=$B.js_from_ast(this.value,scopes);if(this.conversion==114){value=`_b_.repr(${value})`}else if(this.conversion==115){value=`_b_.str.$factory(${value})`}else if(this.conversion==97){value=`_b_.ascii(${value})`}if(this.format_spec){value=`_b_.str.format('{0:' + `+$B.js_from_ast(this.format_spec,scopes)+` + '}', ${value})`}else if(this.conversion==-1){value=`_b_.str.$factory(${value})`}return value};function transform_args(scopes){var has_posonlyargs=this.args.posonlyargs.length>0,_defaults=[],nb_defaults=this.args.defaults.length,positional=this.args.posonlyargs.concat(this.args.args),ix=positional.length-nb_defaults,default_names=[],kw_defaults=[],annotations;for(let arg of positional.concat(this.args.kwonlyargs).concat([this.args.vararg,this.args.kwarg])){if(arg&&arg.annotation){annotations=annotations||{};annotations[arg.arg]=arg.annotation}}for(var i=ix;i ${PARAMS_POS_COUNT} ) {\n $B.args0_old(fct, args);\n throw new Error('Too much positional arguments given (args0 should have raised an error) !');\n }\n`;if(hasPosOnly||hasPos){fct+=`\n for( ; offset < ARGS_POS_COUNT ; ++offset)\n result[ PARAMS_NAMES[offset] ] = args[offset];\n`}}if(!hasPos&&!hasNamedOnly&&!hasKWargs){fct+=`\n if( HAS_KW === true ) {\n for(let argname in ARGS_NAMED[0] ) {\n $B.args0_old(fct, args);\n throw new Error('No named arguments expected !!!');\n }\n for(let id = 1; id < ARGS_NAMED.length; ++id ) {\n const kargs = ARGS_NAMED[id];\n for(let argname of $B.unpack_mapping( fct, kargs) ) { //TODO: not optimal\n $B.args0_old(fct, args);\n throw new Error('No named arguments expected !!!');\n }\n }\n }\n`}else{fct+=`\n if( HAS_KW === false ) {\n `}if(hasPos||hasPosOnly){if(posOnlyDefaults!==DEFAULTS.ALL&&posDefaults!==DEFAULTS.ALL){fct+=`\n if( offset < ${PARAMS_POS_DEFAULTS_OFFSET} ) {\n $B.args0_old(fct, args);\n throw new Error('Not enough positional arguments given (args0 should have raised an error) !');\n }\n`}if(posOnlyDefaults!==DEFAULTS.NONE||posDefaults!==DEFAULTS.NONE){fct+=`\n for(let i = offset - PARAMS_POS_DEFAULTS_OFFSET;\n i < PARAMS_POS_DEFAULTS_COUNT;\n ++i)\n result[ PARAMS_NAMES[offset++] ] = PARAMS_POS_DEFAULTS[i];`}}if(hasKWargs){fct+=`\n result[$INFOS.kwarg] = __BRYTHON__.empty_dict();`}if(hasNamedOnly&&namedOnlyDefaults!==DEFAULTS.ALL){fct+=`\n $B.args0_old(fct, args);\n throw new Error('Named argument expected (args0 should have raised an error) !');\n`}else if(namedOnlyDefaults!==DEFAULTS.NONE){fct+=`\n const kwargs_defaults_values = fct.$kwdefaults_values;\n for(let i = 0; i < kwargs_defaults_values.length; ++i )\n result[ PARAMS_NAMES[offset++] ] = kwargs_defaults_values[i];\n`}fct+=`\n return result;\n`;if(!hasPos&&!hasNamedOnly&&!hasKWargs){return fct}else{fct+=`\n }\n`}if(namedOnlyDefaults!==DEFAULTS.NONE){fct+=`\n const kwargs_defaults = fct.$kwdefaults;\n`}if(hasPosOnly){fct+=`\n const PARAMS_POSONLY_COUNT = $CODE.co_posonlyargcount;\n if( offset < PARAMS_POSONLY_COUNT ) {\n `;if(posOnlyDefaults!==DEFAULTS.SOME){fct+=`\n if( offset < ${PARAMS_POS_DEFAULTS_OFFSET} ) {\n $B.args0_old(fct, args);\n throw new Error('Not enough positional parameters given (args0 should have raised an error) !');\n }\n`}if(posOnlyDefaults===DEFAULTS.NONE){fct+=`\n $B.args0_old(fct, args);\n throw new Error('Not enough positional parameters given (args0 should have raised an error) !');\n`}fct+=`\n const max = ${PARAMS_POS_DEFAULTS_COUNT} - (${PARAMS_POS_COUNT} - PARAMS_POSONLY_COUNT);\n // default parameters\n for(let i = offset - ${PARAMS_POS_DEFAULTS_OFFSET};\n i < max;\n ++i)\n result[ PARAMS_NAMES[offset++] ] = PARAMS_POS_DEFAULTS[i];\n }\n`}if(hasKWargs){fct+=`\n const extra = {};\n let nb_extra_args = 0;\n`;if(hasPos||hasNamedOnly){fct+=`\n const HAS_PARAMS = fct.$hasParams;\n`}}fct+=`\n let nb_named_args = 0;\n const kargs = ARGS_NAMED[0];\n for(let argname in kargs) {\n `;if(!hasKWargs){fct+=`\n result[ argname ] = kargs[argname];\n ++nb_named_args;\n`}if(hasKWargs){if(!hasNamedOnly&&!hasPos){fct+=`\n extra[ argname ] = kargs[argname];\n ++nb_extra_args;\n`}else{fct+=`\n if( HAS_PARAMS.has(argname) ) {\n result[ argname ] = kargs[argname];\n ++nb_named_args;\n } else {\n extra[ argname ] = kargs[argname];\n ++nb_extra_args;\n }\n`}}fct+=`\n }\n for(let id = 1; id < ARGS_NAMED.length; ++id ) {\n const kargs = ARGS_NAMED[id];\n for(let item of $B.unpack_mapping(fct, kargs) ) {\n let argname = item.key\n if( typeof argname !== "string") {\n $B.args0_old(fct, args);\n throw new Error('Non string key passed in **kargs');\n }\n `;if(!hasKWargs){fct+=`\n result[ argname ] = item.value;\n ++nb_named_args;\n`}if(hasKWargs){if(!hasNamedOnly&&!hasPos){fct+=`\n extra[ argname ] = $B.$getitem(kargs, argname);\n ++nb_extra_args;\n`}else{fct+=`\n if( HAS_PARAMS.has(argname) ) {\n result[ argname ] = $B.$getitem(kargs, argname);\n ++nb_named_args;\n } else {\n extra[ argname ] = $B.$getitem(kargs, argname);\n ++nb_extra_args;\n }\n`}}fct+=`\n }\n }\n`;fct+=`\n let found = 0;\n let ioffset = offset;\n`;if((hasPosOnly||hasPos)&&(!hasPosOnly||posOnlyDefaults!==DEFAULTS.ALL)&&(!hasPos||posDefaults!==DEFAULTS.ALL)){fct+=`\n for( ; ioffset < ${PARAMS_POS_DEFAULTS_OFFSET}; ++ioffset) {\n const key = PARAMS_NAMES[ioffset];\n if( key in result ) // maybe could be speed up using "!(key in result)"\n continue;\n $B.args0_old(fct, args);\n throw new Error('Missing a named arguments (args0 should have raised an error) !');\n }\n`}if(hasPosOnly&&posOnlyDefaults!==DEFAULTS.NONE||hasPos&&posDefaults!==DEFAULTS.NONE){fct+=`\n for( ; ioffset < PARAMS_POS_COUNT; ++ioffset) {\n const key = PARAMS_NAMES[ioffset];\n if( key in result )\n continue;\n result[key] = PARAMS_POS_DEFAULTS[ioffset - ${PARAMS_POS_DEFAULTS_OFFSET}];\n ++found;\n }\n`}if(hasNamedOnly){fct+=`\n for( ; ioffset < PARAMS_NAMES.length; ++ioffset) {\n const key = PARAMS_NAMES[ioffset];\n if( key in result )\n continue;\n`;if(namedOnlyDefaults===DEFAULTS.SOME){fct+=`\n if( ! kwargs_defaults.has(key) ) {\n $B.args0_old(fct, args);\n throw new Error('Missing a named arguments (args0 should have raised an error) !');\n }\n`}if(namedOnlyDefaults===DEFAULTS.NONE){fct+=`\n $B.args0_old(fct, args);\n throw new Error('Missing a named arguments (args0 should have raised an error) !');\n`}if(namedOnlyDefaults!==DEFAULTS.NONE){fct+=`\n result[key] = kwargs_defaults.get(key);\n ++found;\n`}fct+=`\n }\n`}if(hasNamedOnly||hasPos)fct+=`\n if( found + nb_named_args !== PARAMS_NAMES.length - offset) {\n $B.args0_old(fct, args);\n throw new Error('Inexistant or duplicate named arguments (args0 should have raised an error) !');\n }\n`;if(hasKWargs){fct+=`\n if( Object.keys(extra).length !== nb_extra_args ) {\n $B.args0_old(fct, args);\n throw new Error('Duplicate name given to **kargs parameter (args0 should have raised an error) !');\n }\n result[$INFOS.kwarg] = __BRYTHON__.builtins.dict.$from_js(extra);\n`}fct+=`\n return result\n `;return fct}function type_param_in_def(tp,ref,scopes){var gname=scopes[0].name,globals_name=make_scope_name(scopes,scopes[0]);var js="";var name,param_type=tp.constructor.$name;if(param_type=="TypeVar"){name=tp.name}else{name=tp.name.id}bind(name,scopes);if(tp.bound){var typevarscope=new Scope(name,"typevarbound",tp);scopes.push(typevarscope);js+=`function BOUND_OF_${name}(){\n`+`var current_frame = $B.frame_obj.frame,\n`+`frame = ['BOUND_OF_${name}', {}, '${gname}', ${globals_name}]\n`+`frame.$f_trace = $B.enter_frame(frame)\n`+`frame.__file__ = '${scopes.filename}'\n`+`frame.$lineno = ${tp.bound.lineno}\n`+`try{\n`+`var res = ${tp.bound.to_js(scopes)}\n`+`$B.leave_frame()\nreturn res\n`+`}catch(err){\n`+`$B.leave_frame()\n`+`throw err\n}\n}\n`;scopes.pop()}js+=`locals_${ref}.${name} = `+`$B.$call(_typing.${param_type})('${name}')\n`+`type_params.push(locals_${ref}.${name})\n`;if(tp.bound){if(!tp.bound.elts){js+=`_typing.${param_type}._set_lazy_eval(locals_${ref}.${name}, `+`'__bound__', BOUND_OF_${name})\n`}else{js+=`_typing.${param_type}._set_lazy_eval(locals_${ref}.${name}, `+`'__constraints__', BOUND_OF_${name})\n`}}return js}$B.make_args_parser_and_parse=function make_args_parser_and_parse(fct,args){return $B.make_args_parser(fct)(fct,args)};$B.ast.FunctionDef.prototype.to_js=function(scopes){compiler_check(this);var symtable_block=scopes.symtable.table.blocks.get(fast_id(this));var in_class=last_scope(scopes).ast instanceof $B.ast.ClassDef,is_async=this instanceof $B.ast.AsyncFunctionDef,mangle_arg=x=>x;if(in_class){var class_scope=last_scope(scopes);mangle_arg=x=>mangle(scopes,class_scope,x)}var func_name_scope=bind(this.name,scopes);var gname=scopes[0].name,globals_name=make_scope_name(scopes,scopes[0]);var decorators=[],decorated=false,decs_declare=this.decorator_list.length>0?"// declare decorators\n":"";for(let dec of this.decorator_list){decorated=true;var dec_id="decorator"+$B.UUID();decorators.push(dec_id);decs_declare+=`$B.set_lineno(frame, ${dec.lineno})\n`;decs_declare+=`var ${dec_id} = ${$B.js_from_ast(dec,scopes)}\n`}var docstring=extract_docstring(this,scopes);var parsed_args=transform_args.bind(this)(scopes),positional=parsed_args.positional,kw_defaults=parsed_args.kw_defaults,kw_default_names=parsed_args.kw_default_names;var defaults=`$B.fast_tuple([${this.args.defaults.map((x=>x.to_js(scopes)))}])`;kw_defaults=kw_default_names.length==0?"_b_.None":`_b_.dict.$from_js({${kw_defaults.join(", ")}})`;var id=$B.UUID(),name2=this.name+id;var has_type_params=this.type_params.length>0,type_params="";if(has_type_params){var tp_name=`type_params_${name2}`;var type_params_scope=new Scope(tp_name,"type_params",this.type_params);scopes.push(type_params_scope);var type_params_ref=qualified_scope_name(scopes,type_params_scope);var type_params_func=`function TYPE_PARAMS_OF_${name2}(){\n`;type_params=`$B.$import('_typing')\n`+`var _typing = $B.imported._typing\n`+`var locals_${type_params_ref} = {\n},\n`+`locals = locals_${type_params_ref},\n`+`frame = ['${type_params_ref}', locals, '${gname}', ${globals_name}],\n`+`type_params = []\n`+`frame.$f_trace = $B.enter_frame(frame)\n`+`frame.__file__ = '${scopes.filename}'\n`;for(var item of this.type_params){type_params+=type_param_in_def(item,type_params_ref,scopes)}type_params_func+=type_params}var func_scope=new Scope(this.name,"def",this);scopes.push(func_scope);var args=positional.concat(this.args.kwonlyargs),slots=[],arg_names=[];for(let arg of args){slots.push(arg.arg+": null");bind(arg.arg,scopes)}for(let arg of this.args.posonlyargs){arg_names.push(`'${mangle_arg(arg.arg)}'`)}for(let arg of this.args.args.concat(this.args.kwonlyargs)){arg_names.push(`'${mangle_arg(arg.arg)}'`)}if(this.args.vararg){bind(mangle_arg(this.args.vararg.arg),scopes)}if(this.args.kwarg){bind(mangle_arg(this.args.kwarg.arg),scopes)}var function_body;if(this.$is_lambda){var _return=new $B.ast.Return(this.body);copy_position(_return,this.body);var body=[_return];function_body=add_body(body,scopes)}else{function_body=add_body(this.body,scopes)}var is_generator=symtable_block.generator;var parse_args=[name2];var js=`$B.set_lineno(frame, ${this.lineno})\n`;if(is_async&&!is_generator){js+="async "}js+=`function ${name2}(){\n`;var locals_name=make_scope_name(scopes,func_scope);js+=`var ${locals_name},\n locals\n`;parse_args.push("arguments");var args_vararg=this.args.vararg===undefined?"null":"'"+mangle_arg(this.args.vararg.arg)+"'",args_kwarg=this.args.kwarg===undefined?"null":"'"+mangle_arg(this.args.kwarg.arg)+"'";if(positional.length==0&&slots.length==0&&this.args.vararg===undefined&&this.args.kwarg===undefined){js+=`${locals_name} = locals = {};\n`;js+=`if(arguments.length !== 0) ${name2}.$args_parser(${parse_args.join(", ")})\n;`}else{js+=`${locals_name} = locals = ${name2}.$args_parser(${parse_args.join(", ")})\n`}js+=`var frame = ["${this.$is_lambda?"":this.name}", `+`locals, "${gname}", ${globals_name}, ${name2}]\n if(locals.$has_generators){\n frame.$has_generators = true\n }\n frame.__file__ = __file__\n frame.$lineno = ${this.lineno}\n frame.$f_trace = $B.enter_frame(frame)\n`;if(func_scope.needs_stack_length){js+=`var stack_length = $B.count_frames()\n`}if(func_scope.needs_frames||is_async){js+=`var _frame_obj = $B.frame_obj\n`+`_linenums = $B.make_linenums()\n`}if(is_async){js+="frame.$async = true\n"}if(is_generator){js+=`locals.$is_generator = true\n`;if(is_async){js+=`var gen_${id} = $B.async_generator.$factory(async function*(){\n`}else{js+=`var gen_${id} = $B.generator.$factory(function*(){\n`}}js+=`try{\n$B.js_this = this\n`;if(in_class){var ix=scopes.indexOf(class_scope),parent=scopes[ix-1];var scope_ref=make_scope_name(scopes,parent),class_ref=class_scope.name,refs=class_ref.split(".").map((x=>`'${x}'`));bind("__class__",scopes);js+=`locals.__class__ = `+`$B.get_method_class(${name2}, ${scope_ref}, "${class_ref}", [${refs}])\n`}js+=function_body+"\n";if(!this.$is_lambda&&!($B.last(this.body)instanceof $B.ast.Return)){js+="var result = _b_.None\n"+"$B.trace_return_and_leave(frame, result)\n"+"return result\n"}js+=`}catch(err){\n`;if(func_scope.needs_frames){js+=`$B.set_exc_and_trace(frame, err)\n`+`err.$frame_obj = _frame_obj\n`+`_linenums[_linenums.length - 1] = frame.$lineno\n`+`err.$linenums = _linenums\n`+`$B.leave_frame()\n`}else{js+=`$B.set_exc_and_leave(frame, err)\n`}js+=`throw err\n }\n }\n`;if(is_generator){js+=`, '${this.name}')\n`+`var _gen_${id} = gen_${id}()\n`+`_gen_${id}.$frame = frame\n`+`$B.leave_frame()\n`+`return _gen_${id}}\n`}scopes.pop();var qualname=in_class?`${func_name_scope.name}.${this.name}`:this.name;var flags=3;if(this.args.vararg){flags|=4}if(this.args.kwarg){flags|=8}if(is_generator){flags|=32}if(is_async){flags|=128}var parameters=[],locals=[],identifiers=_b_.dict.$keys_string(symtable_block.symbols);var free_vars=[];for(var ident of identifiers){var flag=_b_.dict.$getitem_string(symtable_block.symbols,ident),_scope=flag>>SCOPE_OFF&SCOPE_MASK;if(_scope==FREE){free_vars.push(`'${ident}'`)}if(flag&DEF_PARAM){parameters.push(`'${ident}'`)}else if(flag&DEF_LOCAL){locals.push(`'${ident}'`)}}var varnames=parameters.concat(locals);if(in_class){js+=`${name2}.$is_method = true\n`}if(is_async){js+=`${name2}.$is_async = true\n`}js+=`$B.make_function_infos(${name2}, `+`'${gname}', `+`${defaults}, `+`${kw_defaults}, `+`${docstring}, `+`[${arg_names}], `+`${args_vararg}, `+`${args_kwarg},\n`+`${positional.length}, `+`__file__, `+`${this.lineno}, `+`${flags}, `+`[${free_vars}], `+`${this.args.kwonlyargs.length}, `+`'${this.$is_lambda?"":this.name}', `+`${varnames.length}, `+`${this.args.posonlyargs.length}, `+`'${this.$is_lambda?"":qualname}', `+`[${varnames}])\n`;if(is_async&&!is_generator){js+=`${name2} = $B.make_async(${name2})\n`}js+=`${name2}.$args_parser = $B.make_args_parser_and_parse\n`;var mangled=mangle(scopes,func_name_scope,this.name),func_ref=`${make_scope_name(scopes,func_name_scope)}.${mangled}`;if(decorated){func_ref=`decorated${$B.UUID()}`;js+="var "}js+=`${func_ref} = ${name2}\n`;if(this.returns||parsed_args.annotations){var features=scopes.symtable.table.future.features,postponed=features&$B.CO_FUTURE_ANNOTATIONS;if(postponed){var src=scopes.src;if(src===undefined){console.log("no src, filename",scopes)}}var ann_items=[];if(parsed_args.annotations){for(var arg_ann in parsed_args.annotations){var ann_ast=parsed_args.annotations[arg_ann];if(in_class){arg_ann=mangle(scopes,class_scope,arg_ann)}if(postponed){var ann_str=annotation_to_str(ann_ast,scopes);ann_items.push(`['${arg_ann}', '${ann_str}']`)}else{var value=ann_ast.to_js(scopes);ann_items.push(`['${arg_ann}', ${value}]`)}}}if(this.returns){if(postponed){var ann_str=annotation_to_str(this.returns,scopes);ann_items.push(`['return', '${ann_str}']`)}else{ann_items.push(`['return', ${this.returns.to_js(scopes)}]`)}}js+=`${func_ref}.__annotations__ = _b_.dict.$factory([${ann_items.join(", ")}])\n`}else{js+=`${func_ref}.__annotations__ = $B.empty_dict()\n`}if(has_type_params){scopes.pop()}if(decorated&&!has_type_params){js+=`${make_scope_name(scopes,func_name_scope)}.${mangled} = `;let decorate=func_ref;for(let dec of decorators.reverse()){decorate=`$B.$call(${dec})(${decorate})`}js+=decorate}if(has_type_params){type_params_func+="\n"+js+"\n"+`${name2}.__type_params__ = $B.fast_tuple(type_params)\n`+`$B.leave_frame()\n`+`return ${name2}\n}\n`;js=type_params_func;if(decorated){js+=`var ${func_ref} = TYPE_PARAMS_OF_${name2}()\n`+`${make_scope_name(scopes,func_name_scope)}.${mangled} = `;let decorate=func_ref;for(let dec of decorators.reverse()){decorate=`$B.$call(${dec})(${decorate})`}js+=decorate}else{js+=`var locals_${type_params_ref} = TYPE_PARAMS_OF_${name2}()\n`}}js=decs_declare+js;return js};$B.ast.FunctionDef.prototype._check=function(){for(var arg of this.args.args){if(arg instanceof $B.ast.arg){if(arg.arg=="__debug__"){compiler_error(arg,"cannot assign to __debug__")}}}for(var arg of this.args.kwonlyargs){if(arg instanceof $B.ast.arg){if(arg.arg=="__debug__"){compiler_error(arg,"cannot assign to __debug__")}}}if(this.args.kwarg&&this.args.kwarg.arg=="__debug__"){compiler_error(this.args.kwarg,"cannot assign to __debug__")}};$B.ast.GeneratorExp.prototype.to_js=function(scopes){var id=$B.UUID(),symtable_block=scopes.symtable.table.blocks.get(fast_id(this)),varnames=symtable_block.varnames.map((x=>`"${x}"`));var first_for=this.generators[0],outmost_expr=$B.js_from_ast(first_for.iter,scopes),nb_paren=1;var comp_scope=new Scope(`genexpr_${id}`,"comprehension",this);scopes.push(comp_scope);var comp={ast:this,id:id,type:"genexpr",varnames:varnames,module_name:scopes[0].name,locals_name:make_scope_name(scopes),globals_name:make_scope_name(scopes,scopes[0])};var head=init_comprehension(comp,scopes);var first=this.generators[0];var js=`$B.enter_frame(frame)\n`+`var next_func_${id} = $B.make_js_iterator(expr, frame, ${this.lineno})\n`+`for(var next_${id} of next_func_${id}){\n`+`frame.$f_trace = $B.enter_frame(frame)\n`;var name=new $B.ast.Name(`next_${id}`,new $B.ast.Load);copy_position(name,first_for.iter);name.to_js=function(){return`next_${id}`};var assign=new $B.ast.Assign([first.target],name);assign.lineno=this.lineno;js+=assign.to_js(scopes)+"\n";for(let _if of first.ifs){nb_paren++;js+=`if($B.$bool(${$B.js_from_ast(_if,scopes)})){\n`}for(var comprehension of this.generators.slice(1)){js+=comprehension.to_js(scopes);nb_paren++;for(let _if of comprehension.ifs){nb_paren++}}var elt=$B.js_from_ast(this.elt,scopes),has_await=comp_scope.has_await;js=`var gen${id} = $B.generator.$factory(${has_await?"async ":""}function*(expr){\n`+js;js+=has_await?"var save_frame_obj = $B.frame_obj;\n":"";js+=`try{\n`+` yield ${elt}\n`+`}catch(err){\n`+(has_await?"$B.restore_frame_obj(save_frame_obj, locals)\n":"")+`$B.leave_frame()\nthrow err\n}\n`+(has_await?"\n$B.restore_frame_obj(save_frame_obj, locals);":"");for(var i=0;i")(expr)\n';scopes.pop();var func=`${head}\n${js}\nreturn gen${id}`;return`(function(expr){\n${func}\n})(${outmost_expr})\n`};$B.ast.Global.prototype.to_js=function(scopes){var scope=last_scope(scopes);for(var name of this.names){scope.globals.add(name)}return""};$B.ast.If.prototype.to_js=function(scopes){var scope=$B.last(scopes),new_scope=copy_scope(scope,this);var js=`if($B.set_lineno(frame, ${this.lineno}) && `;if(this.test instanceof $B.ast.BoolOp){this.test.$dont_evaluate=true;js+=`${$B.js_from_ast(this.test,scopes)}){\n`}else{js+=`$B.$bool(${$B.js_from_ast(this.test,scopes)})){\n`}scopes.push(new_scope);js+=add_body(this.body,scopes)+"\n}";scopes.pop();if(this.orelse.length>0){if(this.orelse[0]instanceof $B.ast.If&&this.orelse.length==1){js+="else "+$B.js_from_ast(this.orelse[0],scopes)+add_body(this.orelse.slice(1),scopes)}else{js+="\nelse{\n"+add_body(this.orelse,scopes)+"\n}"}}return js};$B.ast.IfExp.prototype.to_js=function(scopes){return"($B.$bool("+$B.js_from_ast(this.test,scopes)+") ? "+$B.js_from_ast(this.body,scopes)+": "+$B.js_from_ast(this.orelse,scopes)+")"};$B.ast.Import.prototype.to_js=function(scopes){var js=`$B.set_lineno(frame, ${this.lineno})\n`;for(var alias of this.names){js+=`$B.$import("${alias.name}", [], `;if(alias.asname){js+=`{'${alias.name}' : '${alias.asname}'}, `;bind(alias.asname,scopes)}else{js+="{}, ";bind(alias.name,scopes)}var parts=alias.name.split(".");for(var i=0;i`"${x.name}"`)).join(", "),aliases=[];for(var name of this.names){if(name.asname){aliases.push(`${name.name}: '${name.asname}'`)}}js+=`[${names}], {${aliases.join(", ")}}, ${this.level}, locals);`;for(var alias of this.names){if(alias.asname){bind(alias.asname,scopes)}else if(alias.name=="*"){last_scope(scopes).blurred=true;js+=`\n$B.import_all(locals, module)`}else{bind(alias.name,scopes)}}return js};$B.ast.Interactive.prototype.to_js=function(scopes){mark_parents(this);var name=init_scopes.bind(this)("module",scopes);var module_id=name,global_name=make_scope_name(scopes),mod_name=module_name(scopes);var js=`// Javascript code generated from ast\n`+`var $B = __BRYTHON__,\n_b_ = $B.builtins,\n`;js+=`${global_name} = {}, // $B.imported["${mod_name}"],\n`+`locals = ${global_name},\n`+`frame = ["${module_id}", locals, "${module_id}", locals]`;js+=`\nvar __file__ = frame.__file__ = '${scopes.filename??""}'\n`+`locals.__name__ = '${name}'\n`+`locals.__doc__ = ${extract_docstring(this,scopes)}\n`;if(!scopes.imported){js+=`locals.__annotations__ = locals.__annotations__ || $B.empty_dict()\n`}js+=`frame.$f_trace = $B.enter_frame(frame)\n`;js+=`$B.set_lineno(frame, 1)\n`+"\nvar _frame_obj = $B.frame_obj\n";js+="var stack_length = $B.count_frames()\n";js+=`try{\n`+add_body(this.body,scopes)+"\n"+`$B.leave_frame({locals, value: _b_.None})\n`+`}catch(err){\n`+`$B.set_exc_and_trace(frame, err)\n`+`$B.leave_frame({locals, value: _b_.None})\n`+"throw err\n"+`}`;scopes.pop();console.log("Interactive",js);return js};$B.ast.JoinedStr.prototype.to_js=function(scopes){var items=this.values.map((s=>$B.js_from_ast(s,scopes)));if(items.length==0){return"''"}return items.join(" + ")};$B.ast.Lambda.prototype.to_js=function(scopes){var id=$B.UUID(),name="lambda_"+$B.lambda_magic+"_"+id;var f=new $B.ast.FunctionDef(name,this.args,this.body,[]);f.lineno=this.lineno;f.$id=fast_id(this);f.$is_lambda=true;var js=f.to_js(scopes),lambda_ref=reference(scopes,last_scope(scopes),name);return`(function(){ ${js}\n`+`return ${lambda_ref}\n})()`};function list_or_tuple_to_js(func,scopes){if(this.elts.filter((x=>x instanceof $B.ast.Starred)).length>0){var parts=[],simple=[];for(var elt of this.elts){if(elt instanceof $B.ast.Starred){elt.$handled=true;parts.push(`[${simple.join(", ")}]`);simple=[];parts.push(`_b_.list.$factory(${$B.js_from_ast(elt,scopes)})`)}else{simple.push($B.js_from_ast(elt,scopes))}}if(simple.length>0){parts.push(`[${simple.join(", ")}]`)}var js=parts[0];for(var part of parts.slice(1)){js+=`.concat(${part})`}return`${func}(${js})`}var elts=this.elts.map((x=>$B.js_from_ast(x,scopes)));return`${func}([${elts.join(", ")}])`}$B.ast.List.prototype.to_js=function(scopes){return list_or_tuple_to_js.bind(this)("$B.$list",scopes)};$B.ast.ListComp.prototype.to_js=function(scopes){compiler_check(this);return make_comp.bind(this)(scopes)};$B.ast.match_case.prototype.to_js=function(scopes){var js=`($B.set_lineno(frame, ${this.lineno}) && `+`$B.pattern_match(subject, {`+`${$B.js_from_ast(this.pattern,scopes)}})`;if(this.guard){js+=` && $B.$bool(${$B.js_from_ast(this.guard,scopes)})`}js+=`){\n`;js+=add_body(this.body,scopes)+"\n}";return js};function is_irrefutable(pattern){switch(pattern.constructor){case $B.ast.MatchAs:if(pattern.pattern===undefined){return pattern}else{return is_irrefutable(pattern.pattern)}case $B.ast.MatchOr:for(var i=0;i-1){compiler_error(this,`multiple assignment to name '${name}' in pattern`)}scope.bindings.push(name)}return params};$B.ast.MatchClass.prototype.to_js=function(scopes){var names=[];for(let pattern of this.patterns.concat(this.kwd_patterns)){let name=pattern.name;if(name){if(names.indexOf(name)>-1){compiler_error(pattern,`multiple assignment to name '${name}' in pattern`)}names.push(name)}}names=[];for(let i=0;i-1){compiler_error(this.kwd_patterns[i],`attribute name repeated in class pattern: ${kwd_attr}`)}names.push(kwd_attr)}var cls=$B.js_from_ast(this.cls,scopes),patterns=this.patterns.map((x=>`{${$B.js_from_ast(x,scopes)}}`));var kw=[];for(let i=0,len=this.kwd_patterns.length;i-1){compiler_error(pattern,`multiple assignments to name '${pattern.name}' in pattern`)}names.push(pattern.name)}}var items=[];for(let i=0,len=this.keys.length;i-1){compiler_error(pattern,`multiple assignments to name '${pattern.name}' in pattern`)}names.push(pattern.name)}items.push("{"+$B.js_from_ast(pattern,scopes)+"}")}return`sequence: [${items.join(", ")}]`};$B.ast.MatchSingleton.prototype.to_js=function(){var value=this.value===true?"_b_.True":this.value===false?"_b_.False":"_b_.None";return`literal: ${value}`};$B.ast.MatchStar.prototype.to_js=function(){var name=this.name===undefined?"_":this.name;return`capture_starred: '${name}'`};$B.ast.MatchValue.prototype.to_js=function(scopes){if(this.value instanceof $B.ast.Constant){return`literal: ${$B.js_from_ast(this.value,scopes)}`}else if(this.value instanceof $B.ast.Constant||this.value instanceof $B.ast.UnaryOp||this.value instanceof $B.ast.BinOp||this.value instanceof $B.ast.Attribute){return`value: ${$B.js_from_ast(this.value,scopes)}`}else{compiler_error(this,"patterns may only match literals and attribute lookups")}};$B.ast.Module.prototype.to_js=function(scopes){mark_parents(this);var name=init_scopes.bind(this)("module",scopes),namespaces=scopes.namespaces;var module_id=name,global_name=make_scope_name(scopes),mod_name=module_name(scopes);var js=`// Javascript code generated from ast\n`+`var $B = __BRYTHON__,\n_b_ = $B.builtins,\n`;if(!namespaces){js+=`${global_name} = $B.imported["${mod_name}"],\n`+`locals = ${global_name},\n`+`frame = ["${module_id}", locals, "${module_id}", locals]`}else{js+=`locals = ${namespaces.local_name},\n`+`globals = ${namespaces.global_name}`;if(name){let local_name=("locals_"+name).replace(/\./g,"_");js+=`,\n${local_name} = locals`}}js+=`\nvar __file__ = frame.__file__ = '${scopes.filename??""}'\n`+`locals.__name__ = '${name}'\n`+`locals.__doc__ = ${extract_docstring(this,scopes)}\n`;if(!scopes.imported){js+=`locals.__annotations__ = locals.__annotations__ || $B.empty_dict()\n`}if(!namespaces){js+=`frame.$f_trace = $B.enter_frame(frame)\n`;js+=`$B.set_lineno(frame, 1)\n`+"\nvar _frame_obj = $B.frame_obj\n"}js+="var stack_length = $B.count_frames()\n";js+=`try{\n`+add_body(this.body,scopes)+"\n"+`$B.leave_frame({locals, value: _b_.None})\n`+`}catch(err){\n`+`$B.set_exc_and_trace(frame, err)\n`+`$B.leave_frame({locals, value: _b_.None})\n`+"throw err\n"+`}`;scopes.pop();return js};$B.ast.Name.prototype.to_js=function(scopes){if(this.ctx instanceof $B.ast.Store){var scope=bind(this.id,scopes);if(scope===$B.last(scopes)&&scope.freevars.has(this.id)){scope.freevars.delete(this.id)}return reference(scopes,scope,this.id)}else if(this.ctx instanceof $B.ast.Load){var res=name_reference(this.id,scopes,[this.col_offset,this.col_offset,this.end_col_offset]);if(this.id=="__debugger__"&&res.startsWith("$B.resolve_in_scopes")){return"debugger"}return res}};$B.ast.NamedExpr.prototype.to_js=function(scopes){compiler_check(this);var i=scopes.length-1;while(scopes[i].type=="comprehension"){i--}var enclosing_scopes=scopes.slice(0,i+1);enclosing_scopes.symtable=scopes.symtable;bind(this.target.id,enclosing_scopes);return"("+$B.js_from_ast(this.target,enclosing_scopes)+" = "+$B.js_from_ast(this.value,scopes)+")"};$B.ast.NamedExpr.prototype._check=function(){check_assign_or_delete(this,this.target)};$B.ast.Nonlocal.prototype.to_js=function(scopes){var scope=$B.last(scopes);for(var name of this.names){scope.nonlocals.add(name)}return""};$B.ast.Pass.prototype.to_js=function(){return`$B.set_lineno(frame, ${this.lineno})\n`+"void(0)"};$B.ast.Raise.prototype.to_js=function(scopes){var js=`$B.set_lineno(frame, ${this.lineno})\n`+"$B.$raise(";if(this.exc){js+=$B.js_from_ast(this.exc,scopes)}if(this.cause){js+=", "+$B.js_from_ast(this.cause,scopes)}return js+")"};$B.ast.Return.prototype.to_js=function(scopes){if(last_scope(scopes).type!="def"){compiler_error(this,"'return' outside function")}compiler_check(this);var js=`$B.set_lineno(frame, ${this.lineno})\n`+"var result = "+(this.value?$B.js_from_ast(this.value,scopes):" _b_.None")+"\n"+`$B.trace_return_and_leave(frame, result)\nreturn result\n`;return js};function remove_escapes(value){for(var key in $B.escape2cp){value=value.replace(new RegExp("\\\\"+key,"g"),$B.escape2cp[key])}return value}$B.ast.Set.prototype.to_js=function(scopes){var elts=[];for(var elt of this.elts){var js;if(elt instanceof $B.ast.Constant){var v=elt.value;if(typeof v=="string"){v=remove_escapes(v)}js=`{constant: [${$B.js_from_ast(elt,scopes)}, `+`${$B.$hash(v)}]}`}else if(elt instanceof $B.ast.Starred){js=`{starred: ${$B.js_from_ast(elt.value,scopes)}}`}else{js=`{item: ${$B.js_from_ast(elt,scopes)}}`}elts.push(js)}return`_b_.set.$literal([${elts.join(", ")}])`};$B.ast.SetComp.prototype.to_js=function(scopes){return make_comp.bind(this)(scopes)};$B.ast.Slice.prototype.to_js=function(scopes){var lower=this.lower?$B.js_from_ast(this.lower,scopes):"_b_.None",upper=this.upper?$B.js_from_ast(this.upper,scopes):"_b_.None",step=this.step?$B.js_from_ast(this.step,scopes):"_b_.None";return`_b_.slice.$fast_slice(${lower}, ${upper}, ${step})`};$B.ast.Starred.prototype.to_js=function(scopes){if(this.$handled){return`_b_.list.$unpack(${$B.js_from_ast(this.value,scopes)})`}if(this.ctx instanceof $B.ast.Store){compiler_error(this,"starred assignment target must be in a list or tuple")}else{compiler_error(this,"can't use starred expression here")}};$B.ast.Subscript.prototype.to_js=function(scopes){var value=$B.js_from_ast(this.value,scopes),slice=$B.js_from_ast(this.slice,scopes);if(this.slice instanceof $B.ast.Slice){return`$B.getitem_slice(${value}, ${slice})`}else{var position=encode_position(this.value.col_offset,this.slice.col_offset,this.slice.end_col_offset);return`$B.$getitem(${value}, ${slice},${position})`}};$B.ast.Try.prototype.to_js=function(scopes){compiler_check(this);var id=$B.UUID(),has_except_handlers=this.handlers.length>0,has_else=this.orelse.length>0,has_finally=this.finalbody.length>0;var js=`$B.set_lineno(frame, ${this.lineno})\ntry{\n`;js+=`var stack_length_${id} = $B.count_frames()\n`;if(has_finally){js+=`var save_frame_obj_${id} = $B.frames_obj\n`}if(has_else){js+=`var failed${id} = false\n`}var try_scope=copy_scope($B.last(scopes));scopes.push(try_scope);js+=add_body(this.body,scopes)+"\n";if(has_except_handlers){var err="err"+id;js+="}\n";js+=`catch(${err}){\n`+`$B.set_exc_and_trace(frame, ${err})\n`;if(has_else){js+=`failed${id} = true\n`}var first=true,has_untyped_except=false;for(var handler of this.handlers){if(first){js+="if";first=false}else{js+="}else if"}js+=`($B.set_lineno(frame, ${handler.lineno})`;if(handler.type){js+=` && $B.is_exc(${err}, `;if(handler.type instanceof $B.ast.Tuple){js+=`${$B.js_from_ast(handler.type,scopes)}`}else{js+=`[${$B.js_from_ast(handler.type,scopes)}]`}js+=`)){\n`}else{has_untyped_except=true;js+="){\n"}if(handler.name){bind(handler.name,scopes);var mangled=mangle(scopes,try_scope,handler.name);js+=`locals.${mangled} = ${err}\n`}js+=add_body(handler.body,scopes)+"\n";if(!($B.last(handler.body)instanceof $B.ast.Return)){js+="$B.del_exc(frame)\n"}}if(!has_untyped_except){js+=`}else{\nthrow ${err}\n`}js+="}\n"}if(has_else||has_finally){js+="}\n";js+="finally{\n";var finalbody=`var exit = false\n`+`if($B.count_frames() < stack_length_${id}){\n`+`exit = true\n`+`$B.frame_obj = $B.push_frame(frame)\n`+`}\n`+add_body(this.finalbody,scopes);if(this.finalbody.length>0&&!($B.last(this.finalbody)instanceof $B.ast.Return)){finalbody+=`\nif(exit){\n`+`$B.leave_frame()\n`+`}`}var elsebody=`if($B.count_frames() == stack_length_${id} `+`&& ! failed${id}){\n`+add_body(this.orelse,scopes)+"\n}";if(has_else&&has_finally){js+=`try{\n`+elsebody+"\n}\n"+`finally{\n`+finalbody+"}\n"}else if(has_else&&!has_finally){js+=elsebody}else{js+=finalbody}js+="\n}\n"}else{js+="}\n"}scopes.pop();return js};$B.ast.TryStar.prototype.to_js=function(scopes){var id=$B.UUID(),has_except_handlers=this.handlers.length>0,has_else=this.orelse.length>0,has_finally=this.finalbody.length>0;var js=`$B.set_lineno(frame, ${this.lineno})\ntry{\n`;js+=`var stack_length_${id} = $B.count_frames()\n`;if(has_finally){js+=`var save_frame_obj_${id} = $B.frame_obj\n`}if(has_else){js+=`var failed${id} = false\n`}var try_scope=copy_scope($B.last(scopes));scopes.push(try_scope);js+=add_body(this.body,scopes)+"\n";if(has_except_handlers){var err="err"+id;js+="}\n";js+=`catch(${err}){\n`+`$B.set_exc_and_trace(frame, ${err})\n`+`if(! $B.$isinstance(${err}, _b_.BaseExceptionGroup)){\n`+`${err} = _b_.BaseExceptionGroup.$factory(_b_.None, [${err}])\n`+"}\n"+`function fake_split(exc, condition){\n`+`return condition(exc) ? `+`$B.fast_tuple([exc, _b_.None]) : $B.fast_tuple([_b_.None, exc])\n`+"}\n";if(has_else){js+=`failed${id} = true\n`}for(var handler of this.handlers){js+=`$B.set_lineno(frame, ${handler.lineno})\n`;if(handler.type){js+="var condition = function(exc){\n"+" return $B.$isinstance(exc, "+`${$B.js_from_ast(handler.type,scopes)})\n`+"}\n"+`var klass = $B.get_class(${err}),\n`+`split_method = $B.$getattr(klass, 'split'),\n`+`split = $B.$call(split_method)(${err}, condition),\n`+" matching = split[0],\n"+" rest = split[1]\n"+"if(matching.exceptions !== _b_.None){\n"+" for(var err of matching.exceptions){\n";if(handler.name){bind(handler.name,scopes);var mangled=mangle(scopes,try_scope,handler.name);js+=`locals.${mangled} = ${err}\n`}js+=add_body(handler.body,scopes)+"\n";if(!($B.last(handler.body)instanceof $B.ast.Return)){js+="$B.del_exc(frame)\n"}js+="}\n";js+="}\n";js+=`${err} = rest\n`}}js+=`if(${err}.exceptions !== _b_.None){\n`+`throw ${err}\n`+"}\n"}if(has_else||has_finally){js+="}\n";js+="finally{\n";var finalbody=`var exit = false\n`+`if($B.count_frames() < stack_length_${id}){\n`+`exit = true\n`+`$B.frame_obj = $B.push_frame(frame)\n`+`}\n`+add_body(this.finalbody,scopes);if(this.finalbody.length>0&&!($B.last(this.finalbody)instanceof $B.ast.Return)){finalbody+=`\nif(exit){\n`+`$B.leave_frame(locals)\n`+`}`}var elsebody=`if($B.count_frames() == stack_length_${id} `+`&& ! failed${id}){\n`+add_body(this.orelse,scopes)+"\n}";if(has_else&&has_finally){js+=`try{\n`+elsebody+"\n}\n"+`finally{\n`+finalbody+"}\n"}else if(has_else&&!has_finally){js+=elsebody}else{js+=finalbody}js+="\n}\n"}else{js+="}\n"}scopes.pop();return js};$B.ast.Tuple.prototype.to_js=function(scopes){return list_or_tuple_to_js.bind(this)("$B.fast_tuple",scopes)};$B.ast.TypeAlias.prototype.to_js=function(scopes){var type_param_scope=new Scope("type_params","type_params",this.type_params);scopes.push(type_param_scope);var type_alias_scope=new Scope("type_alias","type_alias",this);scopes.push(type_alias_scope);var type_params_names=[];for(var type_param of this.type_params){if(type_param instanceof $B.ast.TypeVar){type_params_names.push(type_param.name)}else if(type_param instanceof $B.ast.TypeVarTuple||type_param instanceof $B.ast.ParamSpec){type_params_names.push(type_param.name.id)}}for(var name of type_params_names){bind(name,scopes)}var qualified_name=qualified_scope_name(scopes,type_alias_scope);var value=this.value.to_js(scopes);scopes.pop();scopes.pop();var js=`$B.$import('_typing')\n`;js+=`var locals_${qualified_scope_name(scopes,type_param_scope)} = {}\n`;js+=`function TYPE_PARAMS_OF_${this.name.id}(){\n`+`var locals_${qualified_name} = {},\n`+` locals = locals_${qualified_name}, \n`+` type_params = $B.fast_tuple([])\n`;for(var i=0,len=this.type_params.length;i0){js+=`\nif(no_break_${id}){\n`+add_body(this.orelse,scopes)+"}\n"}return js};$B.ast.With.prototype.to_js=function(scopes){function add_item(item,js){var id=$B.UUID();var s=`var mgr_${id} = `+$B.js_from_ast(item.context_expr,scopes)+",\n"+`klass = $B.get_class(mgr_${id})\n`+`try{\n`+`var exit_${id} = $B.$getattr(klass, '__exit__'),\n`+`enter_${id} = $B.$getattr(klass, '__enter__')\n`+`}catch(err){\n`+`var klass_name = $B.class_name(mgr_${id})\n`+`throw _b_.TypeError.$factory("'" + klass_name + `+`"' object does not support the con`+`text manager protocol")\n`+`}\n`+`var value_${id} = $B.$call(enter_${id})(mgr_${id}),\n`+`exc_${id} = true\n`;if(in_generator){s+=`locals.$context_managers = locals.$context_managers || []\n`+`locals.$context_managers.push(mgr_${id})\n`}s+="try{\ntry{\n";if(item.optional_vars){var value={to_js:function(){return`value_${id}`}};copy_position(value,_with);var assign=new $B.ast.Assign([item.optional_vars],value);copy_position(assign,_with);s+=assign.to_js(scopes)+"\n"}s+=js;s+=`}catch(err_${id}){\n`+`frame.$lineno = ${lineno}\n`+`exc_${id} = false\n`+`err_${id} = $B.exception(err_${id}, frame)\n`+`var $b = exit_${id}(mgr_${id}, err_${id}.__class__, `+`err_${id}, $B.$getattr(err_${id}, '__traceback__'))\n`+`if(! $B.$bool($b)){\n`+`throw err_${id}\n`+`}\n`+`}\n`;s+=`}\nfinally{\n`+`frame.$lineno = ${lineno}\n`+(in_generator?`locals.$context_managers.pop()\n`:"")+`if(exc_${id}){\n`+`try{\n`+`exit_${id}(mgr_${id}, _b_.None, _b_.None, _b_.None)\n`+`}catch(err){\n`+`if($B.count_frames() < stack_length){\n`+`$B.frame_obj = $B.push_frame(frame)\n`+`}\n`+`throw err\n`+`}\n`+`}\n`+`}\n`;return s}var _with=this,scope=last_scope(scopes),lineno=this.lineno;scope.needs_stack_length=true;var js=add_body(this.body,scopes)+"\n";var in_generator=scopes.symtable.table.blocks.get(fast_id(scope.ast)).generator;for(var item of this.items.slice().reverse()){js=add_item(item,js)}return`$B.set_lineno(frame, ${this.lineno})\n`+js};$B.ast.Yield.prototype.to_js=function(scopes){var scope=last_scope(scopes);if(scope.type!="def"){compiler_error(this,"'yield' outside function")}last_scope(scopes).is_generator=true;var value=this.value?$B.js_from_ast(this.value,scopes):"_b_.None";return`yield ${value}`};$B.ast.YieldFrom.prototype.to_js=function(scopes){var scope=last_scope(scopes);if(scope.type!="def"){compiler_error(this,"'yield' outside function")}scope.is_generator=true;var value=$B.js_from_ast(this.value,scopes);var n=$B.UUID();return`yield* (function* f(){\n var _i${n} = _b_.iter(${value}),\n _r${n}\n var failed${n} = false\n try{\n var _y${n} = _b_.next(_i${n})\n }catch(_e){\n $B.set_exc(_e, frame)\n failed${n} = true\n $B.pmframe = $B.frame_obj.frame\n _e = $B.exception(_e)\n if(_e.__class__ === _b_.StopIteration){\n var _r${n} = $B.$getattr(_e, "value")\n }else{\n throw _e\n }\n }\n if(! failed${n}){\n while(true){\n var failed1${n} = false\n try{\n $B.leave_frame()\n var _s${n} = yield _y${n}\n $B.frame_obj = $B.push_frame(frame)\n }catch(_e){\n $B.set_exc(_e, frame)\n if(_e.__class__ === _b_.GeneratorExit){\n var failed2${n} = false\n try{\n var _m${n} = $B.$getattr(_i${n}, "close")\n }catch(_e1){\n failed2${n} = true\n if(_e1.__class__ !== _b_.AttributeError){\n throw _e1\n }\n }\n if(! failed2${n}){\n $B.$call(_m${n})()\n }\n throw _e\n }else if($B.is_exc(_e, [_b_.BaseException])){\n var sys_module = $B.imported._sys,\n _x${n} = sys_module.exc_info()\n var failed3${n} = false\n try{\n var _m${n} = $B.$getattr(_i${n}, "throw")\n }catch(err){\n failed3${n} = true\n if($B.is_exc(err, [_b_.AttributeError])){\n throw err\n }\n }\n if(! failed3${n}){\n try{\n _y${n} = $B.$call(_m${n}).apply(null,\n _b_.list.$factory(_x${n}))\n }catch(err){\n if($B.is_exc(err, [_b_.StopIteration])){\n _r${n} = $B.$getattr(err, "value")\n break\n }\n throw err\n }\n }\n }\n }\n if(! failed1${n}){\n try{\n if(_s${n} === _b_.None){\n _y${n} = _b_.next(_i${n})\n }else{\n _y${n} = $B.$call($B.$getattr(_i${n}, "send"))(_s${n})\n }\n }catch(err){\n if($B.is_exc(err, [_b_.StopIteration])){\n _r${n} = $B.$getattr(err, "value")\n break\n }\n throw err\n }\n }\n }\n }\n return _r${n}\n })()`};var state={};$B.js_from_root=function(arg){var ast_root=arg.ast,symtable=arg.symtable,filename=arg.filename,src=arg.src,namespaces=arg.namespaces,imported=arg.imported;if($B.show_ast_dump){console.log($B.ast_dump(ast_root))}if($B.compiler_check){$B.compiler_check(ast_root,symtable)}var scopes=[];state.filename=filename;scopes.symtable=symtable;scopes.filename=filename;scopes.src=src;scopes.namespaces=namespaces;scopes.imported=imported;scopes.imports={};var js=ast_root.to_js(scopes);return{js:js,imports:scopes.imports}};$B.js_from_ast=function(ast,scopes){if(!scopes.symtable){throw Error("perdu symtable")}scopes=scopes||[];if(ast.to_js!==undefined){if(ast.col_offset===undefined){var klass=ast.constructor.$name;if(["match_case"].indexOf(klass)==-1){console.log("no col_offset for",klass);console.log(ast);throw Error("no col offset")}}return ast.to_js(scopes)}console.log("unhandled",ast.constructor.$name,ast,typeof ast);return"// unhandled class ast."+ast.constructor.$name}})(__BRYTHON__);(function($B){var _b_=$B.builtins;var GLOBAL_PARAM="name '%s' is parameter and global",NONLOCAL_PARAM="name '%s' is parameter and nonlocal",GLOBAL_AFTER_ASSIGN="name '%s' is assigned to before global declaration",NONLOCAL_AFTER_ASSIGN="name '%s' is assigned to before nonlocal declaration",GLOBAL_AFTER_USE="name '%s' is used prior to global declaration",NONLOCAL_AFTER_USE="name '%s' is used prior to nonlocal declaration",GLOBAL_ANNOT="annotated name '%s' can't be global",NONLOCAL_ANNOT="annotated name '%s' can't be nonlocal",IMPORT_STAR_WARNING="import * only allowed at module level",NAMED_EXPR_COMP_IN_CLASS="assignment expression within a comprehension cannot be used in a class body",NAMED_EXPR_COMP_CONFLICT="assignment expression cannot rebind comprehension iteration variable '%s'",NAMED_EXPR_COMP_INNER_LOOP_CONFLICT="comprehension inner loop cannot rebind assignment expression target '%s'",NAMED_EXPR_COMP_ITER_EXPR="assignment expression cannot be used in a comprehension iterable expression",ANNOTATION_NOT_ALLOWED="'%s' can not be used within an annotation",DUPLICATE_ARGUMENT="duplicate argument '%s' in function definition",TYPEVAR_BOUND_NOT_ALLOWED="%s cannot be used within a TypeVar bound",TYPEALIAS_NOT_ALLOWED="%s cannot be used within a type alias",TYPEPARAM_NOT_ALLOWED="%s cannot be used within the definition of a generic",DUPLICATE_TYPE_PARAM="duplicate type parameter '%s'";var DEF_GLOBAL=1,DEF_LOCAL=2,DEF_PARAM=2<<1,DEF_NONLOCAL=2<<2,USE=2<<3,DEF_FREE=2<<4,DEF_FREE_CLASS=2<<5,DEF_IMPORT=2<<6,DEF_ANNOT=2<<7,DEF_COMP_ITER=2<<8,DEF_TYPE_PARAM=2<<9,DEF_COMP_CELL=2<<10;var DEF_BOUND=DEF_LOCAL|DEF_PARAM|DEF_IMPORT;var SCOPE_OFFSET=12,SCOPE_MASK=DEF_GLOBAL|DEF_LOCAL|DEF_PARAM|DEF_NONLOCAL;var LOCAL=1,GLOBAL_EXPLICIT=2,GLOBAL_IMPLICIT=3,FREE=4,CELL=5;var TYPE_MODULE=2;var NULL=undefined;var ModuleBlock=2,ClassBlock=1,FunctionBlock=0,AnnotationBlock=4,TypeVarBoundBlock=5,TypeAliasBlock=6,TypeParamBlock=7;var PyExc_SyntaxError=_b_.SyntaxError;function assert(test){if(!$B.$bool(test)){console.log("test fails",test);throw Error("test fails")}}function LOCATION(x){return[x.lineno,x.col_offset,x.end_lineno,x.end_col_offset]}function ST_LOCATION(x){return[x.lineno,x.col_offset,x.end_lineno,x.end_col_offset]}function _Py_Mangle(privateobj,ident){var plen,ipriv;if(privateobj==NULL||!ident.startsWith("__")){return ident}plen=privateobj.length;if(ident.endsWith("__")||ident.search(/\./)!=-1){return ident}ipriv=0;while(privateobj[ipriv]=="_"){ipriv++}if(ipriv==plen){return ident}var prefix=privateobj.substr(ipriv);return"_"+prefix+ident}var lambda=NULL;var NoComprehension=0,ListComprehension=1,DictComprehension=2,SetComprehension=3,GeneratorExpression=4;function GET_IDENTIFIER(VAR){return VAR}function Symtable(){this.filename=NULL;this.stack=[];this.blocks=new Map;this.cur=NULL;this.private=NULL}function id(obj){if(obj.$id!==undefined){return obj.$id}return obj.$id=$B.UUID()}function ste_new(st,name,block,key,lineno,col_offset,end_lineno,end_col_offset){var ste;ste={table:st,id:id(key),name:name,directives:NULL,type:block,nested:0,free:0,varargs:0,varkeywords:0,opt_lineno:0,opt_col_offset:0,lineno:lineno,col_offset:col_offset,end_lineno:end_lineno,end_col_offset:end_col_offset};if(st.cur!=NULL&&(st.cur.nested||st.cur.type==FunctionBlock)){ste.nested=1}ste.child_free=0;ste.generator=0;ste.coroutine=0;ste.comprehension=NoComprehension;ste.returns_value=0;ste.needs_class_closure=0;ste.comp_inlined=0;ste.comp_iter_target=0;ste.comp_iter_expr=0;ste.symbols=$B.empty_dict();ste.varnames=[];ste.children=[];st.blocks.set(ste.id,ste);return ste}$B._PySymtable_Build=function(mod,filename,future){var st=new Symtable,seq;st.filename=filename;st.future=future||{};st.type=TYPE_MODULE;if(!symtable_enter_block(st,"top",ModuleBlock,mod,0,0,0,0)){return NULL}st.top=st.cur;switch(mod.constructor){case $B.ast.Module:seq=mod.body;for(let item of seq){visitor.stmt(st,item)}break;case $B.ast.Expression:visitor.expr(st,mod.body);break;case $B.ast.Interactive:seq=mod.body;for(let item of seq){visitor.stmt(st,item)}break}symtable_analyze(st);return st.top};function _PyST_GetSymbol(ste,name){if(!_b_.dict.$contains_string(ste.symbols,name)){return 0}return _b_.dict.$getitem_string(ste.symbols,name)}function _PyST_GetScope(ste,name){var symbol=_PyST_GetSymbol(ste,name);return symbol>>SCOPE_OFFSET&SCOPE_MASK}function _PyST_IsFunctionLike(ste){return ste.type==FunctionBlock||ste.type==TypeVarBoundBlock||ste.type==TypeAliasBlock||ste.type==TypeParamBlock}function PyErr_Format(exc_type,message,arg){if(arg){message=_b_.str.__mod__(message,arg)}return exc_type.$factory(message)}function PyErr_SetString(exc_type,message){return exc_type.$factory(message)}function set_exc_info(exc,filename,lineno,offset,end_lineno,end_offset){exc.filename=filename;exc.lineno=lineno;exc.offset=offset+1;exc.end_lineno=end_lineno;exc.end_offset=end_offset+1;var src=$B.file_cache[filename];if(src!==undefined){var lines=src.split("\n");exc.text=lines[lineno-1]}else{exc.text=""}exc.args[1]=[filename,exc.lineno,exc.offset,exc.text,exc.end_lineno,exc.end_offset]}function error_at_directive(exc,ste,name){assert(ste.directives);for(var data of ste.directives){if(data[0]==name){set_exc_info(exc,ste.table.filename,data[1],data[2],data[3],data[4]);return 0}}throw _b_.RuntimeError.$factory("BUG: internal directive bookkeeping broken")}function SET_SCOPE(DICT,NAME,I){DICT[NAME]=I}function is_free_in_any_child(entry,key){for(var child_ste of entry.ste_children){var scope=_PyST_GetScope(child_ste,key);if(scope==FREE){return 1}}return 0}function inline_comprehension(ste,comp,scopes,comp_free,inlined_cells){for(var item of _b_.dict.$iter_items(comp.symbols)){var k=item.key,comp_flags=item.value;if(comp_flags&DEF_PARAM){continue}var scope=comp_flags>>SCOPE_OFFSET&SCOPE_MASK;var only_flags=comp_flags&(1<=0;i--){let entry=ste.children[i];if(entry.comp_inlined){ste.children.splice(i,0,...entry.children)}}if(_PyST_IsFunctionLike(ste)&&!analyze_cells(scopes,newfree,inlined_cells)){return 0}else if(ste.type===ClassBlock&&!drop_class_free(ste,newfree)){return 0}if(!update_symbols(ste.symbols,scopes,bound,newfree,inlined_cells,ste.type===ClassBlock||ste.can_see_class_scope)){return 0}Set_Union(free,newfree);success=1;return success}function PySet_New(arg){if(arg===NULL){return new Set}return new Set(arg)}function Set_Union(setA,setB){for(let elem of setB){setA.add(elem)}}function analyze_child_block(entry,bound,free,global,typeparams,class_entry,child_free){var temp_bound=PySet_New(bound),temp_free=PySet_New(free),temp_global=PySet_New(global),temp_typeparams=PySet_New(typeparams);if(!analyze_block(entry,temp_bound,temp_free,temp_global,temp_typeparams,class_entry)){return 0}Set_Union(child_free,temp_free);return 1}function symtable_analyze(st){var free=new Set,global=new Set,typeparams=new Set;return analyze_block(st.top,NULL,free,global,typeparams,NULL)}function symtable_exit_block(st){var size=st.stack.length;st.cur=NULL;if(size){st.stack.pop();if(--size){st.cur=st.stack[size-1]}}return 1}function symtable_enter_block(st,name,block,ast,lineno,col_offset,end_lineno,end_col_offset){var prev;if(ast===undefined){console.log("call ste new, key undef",st,name)}var ste=ste_new(st,name,block,ast,lineno,col_offset,end_lineno,end_col_offset);st.stack.push(ste);prev=st.cur;if(prev){ste.comp_iter_expr=prev.comp_iter_expr}st.cur=ste;if(block===AnnotationBlock){return 1}if(block===ModuleBlock){st.global=st.cur.symbols}if(prev){prev.children.push(ste)}return 1}function symtable_lookup(st,name){var mangled=_Py_Mangle(st.private,name);if(!mangled){return 0}var ret=_PyST_GetSymbol(st.cur,mangled);return ret}function symtable_add_def_helper(st,name,flag,ste,_location){var o,dict,val,mangled=_Py_Mangle(st.private,name);if(!mangled){return 0}dict=ste.symbols;if(_b_.dict.$contains_string(dict,mangled)){o=_b_.dict.$getitem_string(dict,mangled);val=o;if(flag&DEF_PARAM&&val&DEF_PARAM){let exc=PyErr_Format(_b_.SyntaxError,DUPLICATE_ARGUMENT,name);set_exc_info(exc,st.filename,..._location);throw exc}if(flag&DEF_TYPE_PARAM&&val&DEF_TYPE_PARAM){let exc=PyErr_Format(_b_.SyntaxError,DUPLICATE_TYPE_PARAM,name);set_exc_info(exc,st.filename,...location);throw exc}val|=flag}else{val=flag}if(ste.comp_iter_target){if(val&(DEF_GLOBAL|DEF_NONLOCAL)){let exc=PyErr_Format(_b_.SyntaxError,NAMED_EXPR_COMP_INNER_LOOP_CONFLICT,name);set_exc_info(exc,st.filename,..._location);throw exc}val|=DEF_COMP_ITER}o=val;if(o==NULL){return 0}_b_.dict.$setitem(dict,mangled,o);if(flag&DEF_PARAM){ste.varnames.push(mangled)}else if(flag&DEF_GLOBAL){val=flag;if(st.global.hasOwnProperty(mangled)){val|=st.global[mangled]}o=val;if(o==NULL){return 0}st.global[mangled]=o}return 1}function symtable_add_def(st,name,flag,_location){return symtable_add_def_helper(st,name,flag,st.cur,_location)}function symtable_enter_type_param_block(st,name,ast,has_defaults,has_kwdefaults,kind,_location){var prev=st.cur,current_type=st.cur.type;if(!symtable_enter_block(st,name,TypeParamBlock,ast,..._location)){return 0}prev.$type_param=st.cur;if(current_type===ClassBlock){st.cur.can_see_class_scope=1;if(!symtable_add_def(st,"__classdict__",USE,_location)){return 0}}if(kind==$B.ast.ClassDef){if(!symtable_add_def(st,"type_params",DEF_LOCAL,_location)){return 0}if(!symtable_add_def(st,"type_params",USE,_location)){return 0}st.st_private=name;var generic_base=".generic_base";if(!symtable_add_def(st,generic_base,DEF_LOCAL,_location)){return 0}if(!symtable_add_def(st,generic_base,USE,_location)){return 0}}if(has_defaults){var defaults=".defaults";if(!symtable_add_def(st,defaults,DEF_PARAM,_location)){return 0}}if(has_kwdefaults){var kwdefaults=".kwdefaults";if(!symtable_add_def(st,kwdefaults,DEF_PARAM,_location)){return 0}}return 1}function VISIT_QUIT(ST,X){return X}function VISIT(ST,TYPE,V){var f=visitor[TYPE];if(!f(ST,V)){VISIT_QUIT(ST,0)}}function VISIT_SEQ(ST,TYPE,SEQ){for(var elt of SEQ){if(!visitor[TYPE](ST,elt)){VISIT_QUIT(ST,0)}}}function VISIT_SEQ_TAIL(ST,TYPE,SEQ,START){for(var i=START,len=SEQ.length;i0){if(!symtable_enter_type_param_block(st,s.name,s.type_params,s.args.defaults!=NULL,has_kwonlydefaults(s.args.kwonlyargs,s.args.kw_defaults),s.constructor,LOCATION(s))){VISIT_QUIT(st,0)}VISIT_SEQ(st,type_param,s.type_params)}if(!visitor.annotations(st,s,s.args,s.returns))VISIT_QUIT(st,0);if(s.decorator_list){VISIT_SEQ(st,expr,s.decorator_list)}if(!symtable_enter_block(st,s.name,FunctionBlock,s,...LOCATION(s))){VISIT_QUIT(st,0)}VISIT(st,"arguments",s.args);VISIT_SEQ(st,stmt,s.body);if(!symtable_exit_block(st)){VISIT_QUIT(st,0)}if(s.type_params.length>0){if(!symtable_exit_block(st)){VISIT_QUIT(st,0)}}break;case $B.ast.ClassDef:var tmp;if(!symtable_add_def(st,s.name,DEF_LOCAL,LOCATION(s)))VISIT_QUIT(st,0);VISIT_SEQ(st,expr,s.bases);VISIT_SEQ(st,keyword,s.keywords);if(s.decorator_list)VISIT_SEQ(st,expr,s.decorator_list);if(s.type_params.length>0){if(!symtable_enter_type_param_block(st,s.name,s.type_params,false,false,s.constructor,LOCATION(s))){VISIT_QUIT(st,0)}VISIT_SEQ(st,type_param,s.type_params)}VISIT_SEQ(st,expr,s.bases);VISIT_SEQ(st,keyword,s.keywords);if(!symtable_enter_block(st,s.name,ClassBlock,s,s.lineno,s.col_offset,s.end_lineno,s.end_col_offset))VISIT_QUIT(st,0);tmp=st.private;st.private=s.name;if(s.type_params.length>0){if(!symtable_add_def(st,"__type_params__",DEF_LOCAL,LOCATION(s))){VISIT_QUIT(st,0)}if(!symtable_add_def(st,"type_params",USE,LOCATION(s))){VISIT_QUIT(st,0)}}VISIT_SEQ(st,stmt,s.body);st.private=tmp;if(!symtable_exit_block(st))VISIT_QUIT(st,0);if(s.type_params.length>0){if(!symtable_exit_block(st))VISIT_QUIT(st,0)}break;case $B.ast.TypeAlias:VISIT(st,expr,s.name);assert(s.name instanceof $B.ast.Name);var name=s.name.id,is_in_class=st.cur.type===ClassBlock,is_generic=s.type_params.length>0;if(is_generic){if(!symtable_enter_type_param_block(st,name,s.type_params,false,false,s.kind,LOCATION(s))){VISIT_QUIT(st,0)}VISIT_SEQ(st,type_param,s.type_params)}if(!symtable_enter_block(st,name,TypeAliasBlock,s,LOCATION(s))){VISIT_QUIT(st,0)}st.cur.can_see_class_scope=is_in_class;if(is_in_class&&!symtable_add_def(st,"__classdict__",USE,LOCATION(s.value))){VISIT_QUIT(st,0)}VISIT(st,expr,s.value);if(!symtable_exit_block(st)){VISIT_QUIT(st,0)}if(is_generic){if(!symtable_exit_block(st))VISIT_QUIT(st,0)}break;case $B.ast.Return:if(s.value){VISIT(st,expr,s.value);st.cur.returns_value=1}break;case $B.ast.Delete:VISIT_SEQ(st,expr,s.targets);break;case $B.ast.Assign:VISIT_SEQ(st,expr,s.targets);VISIT(st,expr,s.value);break;case $B.ast.AnnAssign:if(s.target instanceof $B.ast.Name){var e_name=s.target;var cur=symtable_lookup(st,e_name.id);if(cur<0){VISIT_QUIT(st,0)}if(cur&(DEF_GLOBAL|DEF_NONLOCAL)&&st.cur.symbols!=st.global&&s.simple){var exc=PyErr_Format(_b_.SyntaxError,cur&DEF_GLOBAL?GLOBAL_ANNOT:NONLOCAL_ANNOT,e_name.id);exc.args[1]=[st.filename,s.lineno,s.col_offset+1,s.end_lineno,s.end_col_offset+1];throw exc}if(s.simple&&!symtable_add_def(st,e_name.id,DEF_ANNOT|DEF_LOCAL,LOCATION(e_name))){VISIT_QUIT(st,0)}else{if(s.value&&!symtable_add_def(st,e_name.id,DEF_LOCAL,LOCATION(e_name))){VISIT_QUIT(st,0)}}}else{VISIT(st,expr,s.target)}if(!visitor.annotation(st,s.annotation)){VISIT_QUIT(st,0)}if(s.value){VISIT(st,expr,s.value)}break;case $B.ast.AugAssign:VISIT(st,expr,s.target);VISIT(st,expr,s.value);break;case $B.ast.For:VISIT(st,expr,s.target);VISIT(st,expr,s.iter);VISIT_SEQ(st,stmt,s.body);if(s.orelse){VISIT_SEQ(st,stmt,s.orelse)}break;case $B.ast.While:VISIT(st,expr,s.test);VISIT_SEQ(st,stmt,s.body);if(s.orelse){VISIT_SEQ(st,stmt,s.orelse)}break;case $B.ast.If:VISIT(st,expr,s.test);VISIT_SEQ(st,stmt,s.body);if(s.orelse){VISIT_SEQ(st,stmt,s.orelse)}break;case $B.ast.Match:VISIT(st,expr,s.subject);VISIT_SEQ(st,match_case,s.cases);break;case $B.ast.Raise:if(s.exc){VISIT(st,expr,s.exc);if(s.cause){VISIT(st,expr,s.cause)}}break;case $B.ast.Try:VISIT_SEQ(st,stmt,s.body);VISIT_SEQ(st,stmt,s.orelse);VISIT_SEQ(st,excepthandler,s.handlers);VISIT_SEQ(st,stmt,s.finalbody);break;case $B.ast.TryStar:VISIT_SEQ(st,stmt,s.body);VISIT_SEQ(st,stmt,s.orelse);VISIT_SEQ(st,excepthandler,s.handlers);VISIT_SEQ(st,stmt,s.finalbody);break;case $B.ast.Assert:VISIT(st,expr,s.test);if(s.msg){VISIT(st,expr,s.msg)}break;case $B.ast.Import:VISIT_SEQ(st,alias,s.names);break;case $B.ast.ImportFrom:VISIT_SEQ(st,alias,s.names);break;case $B.ast.Global:var seq=s.names;for(var name of seq){var cur=symtable_lookup(st,name);if(cur<0){VISIT_QUIT(st,0)}if(cur&(DEF_PARAM|DEF_LOCAL|USE|DEF_ANNOT)){var msg;if(cur&DEF_PARAM){msg=GLOBAL_PARAM}else if(cur&USE){msg=GLOBAL_AFTER_USE}else if(cur&DEF_ANNOT){msg=GLOBAL_ANNOT}else{msg=GLOBAL_AFTER_ASSIGN}var exc=PyErr_Format(_b_.SyntaxError,msg,name);set_exc_info(exc,st.filename,s.lineno,s.col_offset,s.end_lineno,s.end_col_offset);throw exc}if(!symtable_add_def(st,name,DEF_GLOBAL,LOCATION(s)))VISIT_QUIT(st,0);if(!symtable_record_directive(st,name,s.lineno,s.col_offset,s.end_lineno,s.end_col_offset))VISIT_QUIT(st,0)}break;case $B.ast.Nonlocal:var seq=s.names;for(var name of seq){var cur=symtable_lookup(st,name);if(cur<0){VISIT_QUIT(st,0)}if(cur&(DEF_PARAM|DEF_LOCAL|USE|DEF_ANNOT)){var msg;if(cur&DEF_PARAM){msg=NONLOCAL_PARAM}else if(cur&USE){msg=NONLOCAL_AFTER_USE}else if(cur&DEF_ANNOT){msg=NONLOCAL_ANNOT}else{msg=NONLOCAL_AFTER_ASSIGN}var exc=PyErr_Format(_b_.SyntaxError,msg,name);set_exc_info(exc,st.filename,s.lineno,s.col_offset,s.end_lineno,s.end_col_offset);throw exc}if(!symtable_add_def(st,name,DEF_NONLOCAL,LOCATION(s)))VISIT_QUIT(st,0);if(!symtable_record_directive(st,name,s.lineno,s.col_offset,s.end_lineno,s.end_col_offset))VISIT_QUIT(st,0)}break;case $B.ast.Expr:VISIT(st,expr,s.value);break;case $B.ast.Pass:case $B.ast.Break:case $B.ast.Continue:break;case $B.ast.With:VISIT_SEQ(st,"withitem",s.items);VISIT_SEQ(st,stmt,s.body);break;case $B.ast.AsyncFunctionDef:if(!symtable_add_def(st,s.name,DEF_LOCAL,LOCATION(s)))VISIT_QUIT(st,0);if(s.args.defaults)VISIT_SEQ(st,expr,s.args.defaults);if(s.args.kw_defaults)VISIT_SEQ_WITH_NULL(st,expr,s.args.kw_defaults);if(!visitor.annotations(st,s,s.args,s.returns))VISIT_QUIT(st,0);if(s.decorator_list)VISIT_SEQ(st,expr,s.decorator_list);if(s.type_params.length>0){if(!symtable_enter_type_param_block(st,s.name,s.type_params,s.args.defaults!=NULL,has_kwonlydefaults(s.args.kwonlyargs,s.args.kw_defaults),s.constructor,LOCATION(s))){VISIT_QUIT(st,0)}VISIT_SEQ(st,type_param,s.type_params)}if(!visitor.annotations(st,s,s.args,s.returns))VISIT_QUIT(st,0);if(!symtable_enter_block(st,s.name,FunctionBlock,s,s.lineno,s.col_offset,s.end_lineno,s.end_col_offset))VISIT_QUIT(st,0);st.cur.coroutine=1;VISIT(st,"arguments",s.args);VISIT_SEQ(st,stmt,s.body);if(!symtable_exit_block(st))VISIT_QUIT(st,0);if(s.type_params.length>0){if(!symtable_exit_block(st))VISIT_QUIT(st,0)}break;case $B.ast.AsyncWith:VISIT_SEQ(st,withitem,s.items);VISIT_SEQ(st,stmt,s.body);break;case $B.ast.AsyncFor:VISIT(st,expr,s.target);VISIT(st,expr,s.iter);VISIT_SEQ(st,stmt,s.body);if(s.orelse){VISIT_SEQ(st,stmt,s.orelse)}break;default:console.log("unhandled",s);break}VISIT_QUIT(st,1)};function symtable_extend_namedexpr_scope(st,e){assert(st.stack);assert(e instanceof $B.ast.Name);var target_name=e.id;var i,size,ste;size=st.stack.length;assert(size);for(i=size-1;i>=0;i--){ste=st.stack[i];if(ste.comprehension){let target_in_scope=_PyST_GetSymbol(ste,target_name);if(target_in_scope&DEF_COMP_ITER){let exc=PyErr_Format(_b_.SyntaxError,NAMED_EXPR_COMP_CONFLICT,target_name);set_exc_info(exc,st.filename,e.lineno,e.col_offset,e.ed_lineno,e.end_col_offset);throw exc}continue}if(_PyST_IsFunctionLike(ste)){let target_in_scope=_PyST_GetSymbol(ste,target_name);if(target_in_scope&DEF_GLOBAL){if(!symtable_add_def(st,target_name,DEF_GLOBAL,LOCATION(e)))VISIT_QUIT(st,0)}else{if(!symtable_add_def(st,target_name,DEF_NONLOCAL,LOCATION(e)))VISIT_QUIT(st,0)}if(!symtable_record_directive(st,target_name,LOCATION(e)))VISIT_QUIT(st,0);return symtable_add_def_helper(st,target_name,DEF_LOCAL,ste,LOCATION(e))}if(ste.type==ModuleBlock){if(!symtable_add_def(st,target_name,DEF_GLOBAL,LOCATION(e)))VISIT_QUIT(st,0);if(!symtable_record_directive(st,target_name,LOCATION(e)))VISIT_QUIT(st,0);return symtable_add_def_helper(st,target_name,DEF_GLOBAL,ste,LOCATION(e))}if(ste.type==ClassBlock){let exc=PyErr_Format(_b_.SyntaxError,NAMED_EXPR_COMP_IN_CLASS);set_exc_info(exc,st.filename,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);throw exc}}assert(0);return 0}function symtable_handle_namedexpr(st,e){if(st.cur.comp_iter_expr>0){var exc=PyErr_Format(PyExc_SyntaxError,NAMED_EXPR_COMP_ITER_EXPR);set_exc_info(exc,st.filename,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);throw exc}if(st.cur.comprehension){if(!symtable_extend_namedexpr_scope(st,e.target))return 0}VISIT(st,expr,e.value);VISIT(st,expr,e.target);return 1}const alias="alias",comprehension="comprehension",excepthandler="excepthandler",expr="expr",keyword="keyword",match_case="match_case",pattern="pattern",stmt="stmt",type_param="type_param",withitem="withitem";visitor.expr=function(st,e){switch(e.constructor){case $B.ast.NamedExpr:if(!symtable_raise_if_annotation_block(st,"named expression",e)){VISIT_QUIT(st,0)}if(!symtable_handle_namedexpr(st,e))VISIT_QUIT(st,0);break;case $B.ast.BoolOp:VISIT_SEQ(st,"expr",e.values);break;case $B.ast.BinOp:VISIT(st,"expr",e.left);VISIT(st,"expr",e.right);break;case $B.ast.UnaryOp:VISIT(st,"expr",e.operand);break;case $B.ast.Lambda:{if(!GET_IDENTIFIER("lambda"))VISIT_QUIT(st,0);if(e.args.defaults)VISIT_SEQ(st,"expr",e.args.defaults);if(e.args.kw_defaults)VISIT_SEQ_WITH_NULL(st,"expr",e.args.kw_defaults);if(!symtable_enter_block(st,lambda,FunctionBlock,e,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset))VISIT_QUIT(st,0);VISIT(st,"arguments",e.args);VISIT(st,"expr",e.body);if(!symtable_exit_block(st))VISIT_QUIT(st,0);break}case $B.ast.IfExp:VISIT(st,"expr",e.test);VISIT(st,"expr",e.body);VISIT(st,"expr",e.orelse);break;case $B.ast.Dict:VISIT_SEQ_WITH_NULL(st,"expr",e.keys);VISIT_SEQ(st,"expr",e.values);break;case $B.ast.Set:VISIT_SEQ(st,"expr",e.elts);break;case $B.ast.GeneratorExp:if(!visitor.genexp(st,e))VISIT_QUIT(st,0);break;case $B.ast.ListComp:if(!visitor.listcomp(st,e))VISIT_QUIT(st,0);break;case $B.ast.SetComp:if(!visitor.setcomp(st,e))VISIT_QUIT(st,0);break;case $B.ast.DictComp:if(!visitor.dictcomp(st,e))VISIT_QUIT(st,0);break;case $B.ast.Yield:if(!symtable_raise_if_annotation_block(st,"yield expression",e)){VISIT_QUIT(st,0)}if(e.value)VISIT(st,"expr",e.value);st.cur.generator=1;if(st.cur.comprehension){return symtable_raise_if_comprehension_block(st,e)}break;case $B.ast.YieldFrom:if(!symtable_raise_if_annotation_block(st,"yield expression",e)){VISIT_QUIT(st,0)}VISIT(st,"expr",e.value);st.cur.generator=1;if(st.cur.comprehension){return symtable_raise_if_comprehension_block(st,e)}break;case $B.ast.Await:if(!symtable_raise_if_annotation_block(st,"await expression",e)){VISIT_QUIT(st,0)}VISIT(st,"expr",e.value);st.cur.coroutine=1;break;case $B.ast.Compare:VISIT(st,"expr",e.left);VISIT_SEQ(st,"expr",e.comparators);break;case $B.ast.Call:VISIT(st,"expr",e.func);VISIT_SEQ(st,"expr",e.args);VISIT_SEQ_WITH_NULL(st,"keyword",e.keywords);break;case $B.ast.FormattedValue:VISIT(st,"expr",e.value);if(e.format_spec)VISIT(st,"expr",e.format_spec);break;case $B.ast.JoinedStr:VISIT_SEQ(st,"expr",e.values);break;case $B.ast.Constant:break;case $B.ast.Attribute:VISIT(st,"expr",e.value);break;case $B.ast.Subscript:VISIT(st,"expr",e.value);VISIT(st,"expr",e.slice);break;case $B.ast.Starred:VISIT(st,"expr",e.value);break;case $B.ast.Slice:if(e.lower)VISIT(st,expr,e.lower);if(e.upper)VISIT(st,expr,e.upper);if(e.step)VISIT(st,expr,e.step);break;case $B.ast.Name:var flag=e.ctx instanceof $B.ast.Load?USE:DEF_LOCAL;if(!symtable_add_def(st,e.id,flag,LOCATION(e)))VISIT_QUIT(st,0);if(e.ctx instanceof $B.ast.Load&&_PyST_IsFunctionLike(st.cur)&&e.id=="super"){if(!GET_IDENTIFIER("__class__")||!symtable_add_def(st,"__class__",USE,LOCATION(e)))VISIT_QUIT(st,0)}break;case $B.ast.List:VISIT_SEQ(st,expr,e.elts);break;case $B.ast.Tuple:VISIT_SEQ(st,expr,e.elts);break}VISIT_QUIT(st,1)};visitor.type_param=function(st,tp){switch(tp.constructor){case $B.ast.TypeVar:if(!symtable_add_def(st,tp.name,DEF_TYPE_PARAM|DEF_LOCAL,LOCATION(tp)))VISIT_QUIT(st,0);if(tp.bound){var is_in_class=st.cur.can_see_class_scope;if(!symtable_enter_block(st,tp.name,TypeVarBoundBlock,tp,LOCATION(tp)))VISIT_QUIT(st,0);st.cur.can_see_class_scope=is_in_class;if(is_in_class&&!symtable_add_def(st,"__classdict__",USE,LOCATION(tp.bound))){VISIT_QUIT(st,0)}VISIT(st,expr,tp.bound);if(!symtable_exit_block(st))VISIT_QUIT(st,0)}break;case $B.ast.TypeVarTuple:if(!symtable_add_def(st,tp.name,DEF_TYPE_PARAM|DEF_LOCAL,LOCATION(tp)))VISIT_QUIT(st,0);break;case $B.ast.ParamSpec:if(!symtable_add_def(st,tp.name,DEF_TYPE_PARAM|DEF_LOCAL,LOCATION(tp)))VISIT_QUIT(st,0);break}VISIT_QUIT(st,1)};visitor.pattern=function(st,p){switch(p.constructor){case $B.ast.MatchValue:VISIT(st,expr,p.value);break;case $B.ast.MatchSingleton:break;case $B.ast.MatchSequence:VISIT_SEQ(st,pattern,p.patterns);break;case $B.ast.MatchStar:if(p.name){symtable_add_def(st,p.name,DEF_LOCAL,LOCATION(p))}break;case $B.ast.MatchMapping:VISIT_SEQ(st,expr,p.keys);VISIT_SEQ(st,pattern,p.patterns);if(p.rest){symtable_add_def(st,p.rest,DEF_LOCAL,LOCATION(p))}break;case $B.ast.MatchClass:VISIT(st,expr,p.cls);VISIT_SEQ(st,pattern,p.patterns);VISIT_SEQ(st,pattern,p.kwd_patterns);break;case $B.ast.MatchAs:if(p.pattern){VISIT(st,pattern,p.pattern)}if(p.name){symtable_add_def(st,p.name,DEF_LOCAL,LOCATION(p))}break;case $B.ast.MatchOr:VISIT_SEQ(st,pattern,p.patterns);break}VISIT_QUIT(st,1)};function symtable_implicit_arg(st,pos){var id="."+pos;if(!symtable_add_def(st,id,DEF_PARAM,ST_LOCATION(st.cur))){return 0}return 1}visitor.params=function(st,args){if(!args){return-1}for(var arg of args){if(!symtable_add_def(st,arg.arg,DEF_PARAM,LOCATION(arg)))return 0}return 1};visitor.annotation=function(st,annotation){var future_annotations=st.future.features&$B.CO_FUTURE_ANNOTATIONS;if(future_annotations&&!symtable_enter_block(st,"_annotation",AnnotationBlock,annotation,annotation.lineno,annotation.col_offset,annotation.end_lineno,annotation.end_col_offset)){VISIT_QUIT(st,0)}VISIT(st,expr,annotation);if(future_annotations&&!symtable_exit_block(st)){VISIT_QUIT(st,0)}return 1};visitor.argannotations=function(st,args){if(!args){return-1}for(var arg of args){if(arg.annotation){VISIT(st,expr,arg.annotation)}}return 1};visitor.annotations=function(st,o,a,returns){var future_annotations=st.future.ff_features&$B.CO_FUTURE_ANNOTATIONS;if(future_annotations&&!symtable_enter_block(st,"_annotation",AnnotationBlock,o,o.lineno,o.col_offset,o.end_lineno,o.end_col_offset)){VISIT_QUIT(st,0)}if(a.posonlyargs&&!visitor.argannotations(st,a.posonlyargs))return 0;if(a.args&&!visitor.argannotations(st,a.args))return 0;if(a.vararg&&a.vararg.annotation)VISIT(st,expr,a.vararg.annotation);if(a.kwarg&&a.kwarg.annotation)VISIT(st,expr,a.kwarg.annotation);if(a.kwonlyargs&&!visitor.argannotations(st,a.kwonlyargs))return 0;if(future_annotations&&!symtable_exit_block(st)){VISIT_QUIT(st,0)}if(returns&&!visitor.annotation(st,returns)){VISIT_QUIT(st,0)}return 1};visitor.arguments=function(st,a){if(a.posonlyargs&&!visitor.params(st,a.posonlyargs))return 0;if(a.args&&!visitor.params(st,a.args))return 0;if(a.kwonlyargs&&!visitor.params(st,a.kwonlyargs))return 0;if(a.vararg){if(!symtable_add_def(st,a.vararg.arg,DEF_PARAM,LOCATION(a.vararg)))return 0;st.cur.varargs=1}if(a.kwarg){if(!symtable_add_def(st,a.kwarg.arg,DEF_PARAM,LOCATION(a.kwarg)))return 0;st.cur.varkeywords=1}return 1};visitor.excepthandler=function(st,eh){if(eh.type)VISIT(st,expr,eh.type);if(eh.name)if(!symtable_add_def(st,eh.name,DEF_LOCAL,LOCATION(eh)))return 0;VISIT_SEQ(st,stmt,eh.body);return 1};visitor.withitem=function(st,item){VISIT(st,"expr",item.context_expr);if(item.optional_vars){VISIT(st,"expr",item.optional_vars)}return 1};visitor.match_case=function(st,m){VISIT(st,pattern,m.pattern);if(m.guard){VISIT(st,expr,m.guard)}VISIT_SEQ(st,stmt,m.body);return 1};visitor.alias=function(st,a){var store_name,name=a.asname==NULL?a.name:a.asname;var dot=name.search("\\.");if(dot!=-1){store_name=name.substring(0,dot);if(!store_name)return 0}else{store_name=name}if(name!="*"){var r=symtable_add_def(st,store_name,DEF_IMPORT,LOCATION(a));return r}else{if(st.cur.type!=ModuleBlock){var lineno=a.lineno,col_offset=a.col_offset,end_lineno=a.end_lineno,end_col_offset=a.end_col_offset;var exc=PyErr_SetString(PyExc_SyntaxError,IMPORT_STAR_WARNING);set_exc_info(exc,st.filename,lineno,col_offset,end_lineno,end_col_offset);throw exc}st.cur.$has_import_star=true;return 1}};visitor.comprehension=function(st,lc){st.cur.comp_iter_target=1;VISIT(st,expr,lc.target);st.cur.comp_iter_target=0;st.cur.comp_iter_expr++;VISIT(st,expr,lc.iter);st.cur.comp_iter_expr--;VISIT_SEQ(st,expr,lc.ifs);if(lc.is_async){st.cur.coroutine=1}return 1};visitor.keyword=function(st,k){VISIT(st,expr,k.value);return 1};function symtable_handle_comprehension(st,e,scope_name,generators,elt,value){var is_generator=e.constructor===$B.ast.GeneratorExp;var outermost=generators[0];st.cur.comp_iter_expr++;VISIT(st,expr,outermost.iter);st.cur.comp_iter_expr--;if(!scope_name||!symtable_enter_block(st,scope_name,FunctionBlock,e,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset)){return 0}switch(e.constructor){case $B.ast.ListComp:st.cur.comprehension=ListComprehension;break;case $B.ast.SetComp:st.cur.comprehension=SetComprehension;break;case $B.ast.DictComp:st.cur.comprehension=DictComprehension;break;default:st.cur.comprehension=GeneratorExpression;break}if(outermost.is_async){st.cur.coroutine=1}if(!symtable_implicit_arg(st,0)){symtable_exit_block(st);return 0}st.cur.comp_iter_target=1;VISIT(st,expr,outermost.target);st.cur.comp_iter_target=0;VISIT_SEQ(st,expr,outermost.ifs);VISIT_SEQ_TAIL(st,comprehension,generators,1);if(value)VISIT(st,expr,value);VISIT(st,expr,elt);st.cur.generator=is_generator;var is_async=st.cur.coroutine&&!is_generator;if(!symtable_exit_block(st)){return 0}if(is_async){st.cur.coroutine=1}return 1}visitor.genexp=function(st,e){return symtable_handle_comprehension(st,e,"genexpr",e.generators,e.elt,NULL)};visitor.listcomp=function(st,e){return symtable_handle_comprehension(st,e,"listcomp",e.generators,e.elt,NULL)};visitor.setcomp=function(st,e){return symtable_handle_comprehension(st,e,"setcomp",e.generators,e.elt,NULL)};visitor.dictcomp=function(st,e){return symtable_handle_comprehension(st,e,"dictcomp",e.generators,e.key,e.value)};function symtable_raise_if_annotation_block(st,name,e){var type=st.cur.type,exc;if(type==AnnotationBlock)exc=PyErr_Format(PyExc_SyntaxError,ANNOTATION_NOT_ALLOWED,name);else if(type==TypeVarBoundBlock)exc=PyErr_Format(PyExc_SyntaxError,TYPEVAR_BOUND_NOT_ALLOWED,name);else if(type==TypeAliasBlock)exc=PyErr_Format(PyExc_SyntaxError,TYPEALIAS_NOT_ALLOWED,name);else if(type==TypeParamBlock)exc=PyErr_Format(PyExc_SyntaxError,TYPEPARAM_NOT_ALLOWED,name);else return 1;set_exc_info(exc,st.filename,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);throw exc}function symtable_raise_if_comprehension_block(st,e){var type=st.cur.comprehension;var exc=PyErr_SetString(PyExc_SyntaxError,type==ListComprehension?"'yield' inside list comprehension":type==SetComprehension?"'yield' inside set comprehension":type==DictComprehension?"'yield' inside dict comprehension":"'yield' inside generator expression");exc.$frame_obj=$B.frame_obj;set_exc_info(exc,st.filename,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);throw exc}})(__BRYTHON__);(function($B){var _b_=$B.builtins,NULL=undefined,DOT=".",ELLIPSIS="...";const STAR_TARGETS=1,DEL_TARGETS=2,FOR_TARGETS=3;function make_string_for_ast_value(value){value=value.replace(/\n/g,"\\n\\\n");value=value.replace(/\r/g,"\\r\\\r");if(value[0]=="'"){var unquoted=value.substr(1,value.length-2);return unquoted}if(value.indexOf("'")>-1){var s="",escaped=false;for(var char of value){if(char=="\\"){if(escaped){s+="\\\\"}escaped=!escaped}else{if(char=="'"&&!escaped){s+="\\"}else if(escaped){s+="\\"}s+=char;escaped=false}}value=s}return value.substr(1,value.length-2)}function encode_bytestring(s){s=s.replace(/\\t/g,"\t").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\f/g,"\f").replace(/\\v/g,"\v").replace(/\\\\/g,"\\");var t=[];for(var i=0,len=s.length;i255){throw Error()}t.push(cp)}return t}function EXTRA_EXPR(head,tail){return{lineno:head.lineno,col_offset:head.col_offset,end_lineno:tail.end_lineno,end_col_offset:tail.end_col_offset}}function set_list(list,other){for(var item of other){list.push(item)}}var positions=["lineno","col_offset","end_lineno","end_col_offset"];function set_position_from_list(ast_obj,EXTRA){for(var i=0;i<4;i++){ast_obj[positions[i]]=EXTRA[i]}}function set_position_from_token(ast_obj,token){ast_obj.lineno=token.lineno;ast_obj.col_offset=token.col_offset;ast_obj.end_lineno=token.end_lineno;ast_obj.end_col_offset=token.end_col_offset}function set_position_from_obj(ast_obj,obj){for(var position of positions){ast_obj[position]=obj[position]}}function _get_names(p,names_with_defaults){var seq=[];for(var pair of names_with_defaults){seq.push(pair.arg)}return seq}function _get_defaults(p,names_with_defaults){var seq=[];for(var pair of names_with_defaults){seq.push(pair.value)}return seq}function _make_posonlyargs(p,slash_without_default,slash_with_default,posonlyargs){if(slash_without_default!=NULL){set_list(posonlyargs,slash_without_default)}else if(slash_with_default!=NULL){var slash_with_default_names=_get_names(p,slash_with_default.names_with_defaults);if(!slash_with_default_names){return-1}set_list(posonlyargs,$B._PyPegen.join_sequences(p,slash_with_default.plain_names,slash_with_default_names))}return posonlyargs==NULL?-1:0}function _make_posargs(p,plain_names,names_with_default,posargs){if(plain_names!=NULL&&names_with_default!=NULL){var names_with_default_names=_get_names(p,names_with_default);if(!names_with_default_names){return-1}var seqs=$B._PyPegen.join_sequences(p,plain_names,names_with_default_names);set_list(posargs,seqs)}else if(plain_names==NULL&&names_with_default!=NULL){set_list(posargs,_get_names(p,names_with_default))}else if(plain_names!=NULL&&names_with_default==NULL){set_list(posargs,plain_names)}return posargs==NULL?-1:0}function _make_posdefaults(p,slash_with_default,names_with_default,posdefaults){if(slash_with_default!=NULL&&names_with_default!=NULL){var slash_with_default_values=_get_defaults(p,slash_with_default.names_with_defaults);if(!slash_with_default_values){return-1}var names_with_default_values=_get_defaults(p,names_with_default);if(!names_with_default_values){return-1}set_list(posdefaults,$B._PyPegen.join_sequences(p,slash_with_default_values,names_with_default_values))}else if(slash_with_default==NULL&&names_with_default!=NULL){set_list(posdefaults,_get_defaults(p,names_with_default))}else if(slash_with_default!=NULL&&names_with_default==NULL){set_list(posdefaults,_get_defaults(p,slash_with_default.names_with_defaults))}return posdefaults==NULL?-1:0}function _make_kwargs(p,star_etc,kwonlyargs,kwdefaults){if(star_etc!=NULL&&star_etc.kwonlyargs!=NULL){set_list(kwonlyargs,_get_names(p,star_etc.kwonlyargs))}else{set_list(kwonlyargs,[])}if(kwonlyargs==NULL){return-1}if(star_etc!=NULL&&star_etc.kwonlyargs!=NULL){set_list(kwdefaults,_get_defaults(p,star_etc.kwonlyargs))}else{set_list(kwdefaults,[])}if(kwdefaults==NULL){return-1}return 0}function _seq_number_of_starred_exprs(seq){var n=0;for(var k of seq){if(!k.is_keyword){n++}}return n}$B._PyPegen={};$B._PyPegen.constant_from_string=function(p,token){var prepared=$B.prepare_string(p,token);var is_bytes=prepared.value.startsWith("b");if(!is_bytes){var value=make_string_for_ast_value(prepared.value)}else{value=prepared.value.substr(2,prepared.value.length-3);try{value=_b_.bytes.$factory(encode_bytestring(value))}catch(err){$B._PyPegen.raise_error_known_location(p,_b_.SyntaxError,token.lineno,token.col_offset,token.end_lineno,token.end_col_offset,"bytes can only contain ASCII literal characters")}}var ast_obj=new $B.ast.Constant(value);set_position_from_token(ast_obj,token);return ast_obj};$B._PyPegen.constant_from_token=function(p,t){var ast_obj=new $B.ast.Constant(t.string);set_position_from_token(ast_obj,t);return ast_obj};$B._PyPegen.decoded_constant_from_token=function(p,t){var ast_obj=new $B.ast.Constant(t.string);set_position_from_token(ast_obj,t);return ast_obj};$B._PyPegen.formatted_value=function(p,expression,debug,conversion,format,closing_brace,arena){var conversion_val=-1;if(conversion){var conversion_expr=conversion.result,first=conversion_expr.id;if(first.length>1||!"sra".includes(first)){$B.helper_functions.RAISE_SYNTAX_ERROR_KNOWN_LOCATION(conversion_expr,`f-string: invalid conversion character {first}: `+"expected 's', 'r', or 'a'")}var conversion_val=first.charCodeAt(0)}var formatted_value=new $B.ast.FormattedValue(expression,conversion_val,format===undefined?format:format.result);set_position_from_obj(formatted_value,arena);if(debug){var debug_end_line,debug_end_offset,debug_metadata;if(conversion){debug_end_line=conversion.result.lineno;debug_end_offset=conversion.result.col_offset;debug_metadata=conversion.metadata}else if(format){debug_end_line=format.result.lineno;debug_end_offset=format.result.col_offset+1;debug_metadata=format.metadata}else{debug_end_line=p.end_lineno;debug_end_offset=p.end_col_offset;debug_metadata=closing_brace.metadata}var debug=new $B.ast.Constant(debug_metadata);debug.lineno=p.lineno;debug.col_offset=p.col_offset+1;debug.end_lineno=debug_end_line;debug.end_col_offset=debug_end_offset;var joined_str=new $B.ast.JoinedStr([debug,formatted_value]);set_position_from_obj(joined_str,arena);return joined_str}return formatted_value};$B._PyPegen.joined_str=function(p,a,items,c){var ast_obj=new $B.ast.JoinedStr(items);ast_obj.lineno=a.lineno;ast_obj.col_offset=a.col_offset;ast_obj.end_lineno=c.end_lineno;ast_obj.end_col_offset=c.end_col_offset;return ast_obj};$B._PyPegen.setup_full_format_spec=function(p,colon,spec,arena){var ast_obj=new $B.ast.JoinedStr(spec);set_position_from_obj(ast_obj,arena);return result_token_with_metadata(p,ast_obj,colon.metadata)};function result_token_with_metadata(p,result,metadata){return{result:result,metadata:metadata}}$B._PyPegen.check_fstring_conversion=function(p,conv_token,conv){if(conv_token.lineno!=conv.lineno||conv_token.end_col_offset!=conv.col_offset){$B._PyPegen.raise_error_known_location(p,_b_.SyntaxError,conv.lineno,conv.col_offset,conv.end_lineno,conv.end_col_offset,"f-string: conversion type must come right after the exclamanation mark")}return result_token_with_metadata(p,conv,conv_token.metadata)};$B._PyPegen.seq_count_dots=function(seq){if(seq===undefined){return 0}var number_of_dots=0;for(var token of seq){if(token.num_type==$B.py_tokens.DOT){number_of_dots+=token.string.length}else if(token.num_type==$B.py_tokens.ELLIPSIS){number_of_dots+=3}}return number_of_dots};$B._PyPegen.map_names_to_ids=function(p,seq){return seq.map((e=>e.id))};$B._PyPegen.alias_for_star=function(p,lineno,col_offset,end_lineno,end_col_offset,arena){var str="*";return $B._PyAST.alias(str,NULL,lineno,col_offset,end_lineno,end_col_offset,arena)};$B._PyPegen.cmpop_expr_pair=function(p,cmpop,expr){return{cmpop:cmpop,expr:expr}};$B._PyPegen.get_cmpops=function(p,seq){var new_seq=[];for(var pair of seq){new_seq.push(pair.cmpop)}return new_seq};$B._PyPegen.get_exprs=function(p,seq){var new_seq=[];for(var pair of seq){new_seq.push(pair.expr)}return new_seq};function _set_seq_context(p,seq,ctx){var new_seq=[];for(var e of seq){new_seq.push($B._PyPegen.set_expr_context(p,e,ctx))}return new_seq}function _set_name_context(p,e,ctx){return $B._PyAST.Name(e.id,ctx,EXTRA_EXPR(e,e))}function _set_tuple_context(p,e,ctx){return $B._PyAST.Tuple(_set_seq_context(p,e.elts,ctx),ctx,EXTRA_EXPR(e,e))}function _set_list_context(p,e,ctx){return $B._PyAST.List(_set_seq_context(p,e.elts,ctx),ctx,EXTRA_EXPR(e,e))}function _set_subscript_context(p,e,ctx){console.log("set subscritp cntext",p,e);return $B._PyAST.Subscript(e.value,e.slice,ctx,EXTRA_EXPR(e,e))}function _set_attribute_context(p,e,ctx){return $B._PyAST.Attribute(e.value,e.attr,ctx,EXTRA_EXPR(e,e))}function _set_starred_context(p,e,ctx){return $B._PyAST.Starred($B._PyPegen.set_expr_context(p,e.value,ctx),ctx,EXTRA_EXPR(e,e))}$B._PyPegen.set_expr_context=function(p,expr,ctx){var _new=NULL;switch(expr.constructor){case $B.ast.Name:_new=_set_name_context(p,expr,ctx);break;case $B.ast.Tuple:_new=_set_tuple_context(p,expr,ctx);break;case $B.ast.List:_new=_set_list_context(p,expr,ctx);break;case $B.ast.Subscript:_new=_set_subscript_context(p,expr,ctx);break;case $B.ast.Attribute:_new=_set_attribute_context(p,expr,ctx);break;case $B.ast.Starred:_new=_set_starred_context(p,expr,ctx);break;default:_new=expr}return _new};$B._PyPegen.key_value_pair=function(p,key,value){return{key:key,value:value}};$B._PyPegen.get_expr_name=function(e){switch(e.constructor.$name){case"Attribute":case"Subscript":case"Starred":case"Name":case"List":case"Tuple":case"Lambda":return e.constructor.$name.toLowerCase();case"Call":return"function call";case"BoolOp":case"BinOp":case"UnaryOp":return"expression";case"GeneratorExp":return"generator expression";case"Yield":case"YieldFrom":return"yield expression";case"Await":return"await expression";case"ListComp":return"list comprehension";case"SetComp":return"set comprehension";case"DictComp":return"dict comprehension";case"Dict":return"dict literal";case"Set":return"set display";case"JoinedStr":case"FormattedValue":return"f-string expression";case"Constant":var value=e.value;if(value===_b_.None){return"None"}if(value===false){return"False"}if(value===true){return"True"}if(value===_b_.Ellipsis){return"ellipsis"}return"literal";case"Compare":return"comparison";case"IfExp":return"conditional expression";case"NamedExpr":return"named expression";default:return NULL}};$B._PyPegen.get_keys=function(p,seq){return seq===undefined?[]:seq.map((pair=>pair.key))};$B._PyPegen.get_values=function(p,seq){return seq===undefined?[]:seq.map((pair=>pair.value))};$B._PyPegen.key_pattern_pair=function(p,key,pattern){return{key:key,pattern:pattern}};$B._PyPegen.get_pattern_keys=function(p,seq){return seq===undefined?[]:seq.map((x=>x.key))};$B._PyPegen.get_patterns=function(p,seq){return seq===undefined?[]:seq.map((x=>x.pattern))};$B._PyPegen.check_legacy_stmt=function(p,name){return["print","exec"].includes(name)};$B._PyPegen.dummy_name=function(p){var cache=NULL;if(cache!=NULL){return cache}var id="dummy"+Math.random().toString(36).substr(2),ast_obj=new $B.ast.Name(id,new $B.ast.Load);set_position_from_list(ast_obj,[1,0,1,0]);return ast_obj};$B._PyPegen.add_type_comment_to_arg=function(p,a,tc){if(tc==NULL){return a}var bytes=_b_.bytes.$factory(tc),tco=$B._PyPegen.new_type_comment(p,bytes);var ast_obj=$B._PyAST.arg(a.arg,a.annotation,tco,a.lineno,a.col_offset,a.end_lineno,a.end_col_offset,p.arena);console.log("arg with type comment",ast_obj);return ast_obj};$B._PyPegen.check_barry_as_flufl=function(p,t){return false};$B._PyPegen.empty_arguments=function(p){return $B._PyAST.arguments([],[],NULL,[],[],NULL,[],p.arena)};$B._PyPegen.augoperator=function(p,kind){return{kind:kind}};$B._PyPegen.function_def_decorators=function(p,decorators,function_def){var constr=function_def instanceof $B.ast.AsyncFunctionDef?$B.ast.AsyncFunctionDef:$B.ast.FunctionDef;var ast_obj=new constr(function_def.name,function_def.args,function_def.body,decorators,function_def.returns,function_def.type_comment,function_def.type_params);for(var position of positions){ast_obj[position]=function_def[position]}return ast_obj};$B._PyPegen.class_def_decorators=function(p,decorators,class_def){var ast_obj=$B._PyAST.ClassDef(class_def.name,class_def.bases,class_def.keywords,class_def.body,decorators,class_def.type_params);set_position_from_obj(ast_obj,class_def);return ast_obj};$B._PyPegen.keyword_or_starred=function(p,element,is_keyword){return{element:element,is_keyword:is_keyword}};$B._PyPegen.make_arguments=function(p,slash_without_default,slash_with_default,plain_names,names_with_default,star_etc){var posonlyargs=[];if(_make_posonlyargs(p,slash_without_default,slash_with_default,posonlyargs)==-1){return NULL}var posargs=[];if(_make_posargs(p,plain_names,names_with_default,posargs)==-1){return NULL}var posdefaults=[];if(_make_posdefaults(p,slash_with_default,names_with_default,posdefaults)==-1){return NULL}var vararg=NULL;if(star_etc!=NULL&&star_etc.vararg!=NULL){vararg=star_etc.vararg}var kwonlyargs=[],kwdefaults=[];if(_make_kwargs(p,star_etc,kwonlyargs,kwdefaults)==-1){return NULL}var kwarg=NULL;if(star_etc!=NULL&&star_etc.kwarg!=NULL){kwarg=star_etc.kwarg}var ast_obj=$B._PyAST.arguments(posonlyargs,posargs,vararg,kwonlyargs,kwdefaults,kwarg,posdefaults,p.arena);if(ast_obj.posonlyargs===undefined){console.log("pas de posonlyargs",ast_bj);alert()}return ast_obj};$B._PyPegen.name_default_pair=function(p,arg,value,tc){return{arg:$B._PyPegen.add_type_comment_to_arg(p,arg,tc),value:value}};$B._PyPegen.raise_error=function(p,errtype,errmsg){if(p.fill==0){var va=[errmsg];$B._PyPegen.raise_error_known_location(p,errtype,0,0,0,-1,errmsg,va);return NULL}var t=p.known_err_token!=NULL?p.known_err_token:p.tokens[p.fill-1];var va=errmsg;$B._PyPegen.raise_error_known_location(p,errtype,t.lineno,t.col_offset,t.end_lineno,t.end_col_offset,errmsg,va)};$B._PyPegen.raise_error_known_location=function(p,errtype,lineno,col_offset,end_lineno,end_col_offset,errmsg,va){var exc=errtype.$factory(errmsg);exc.filename=p.filename;if(p.known_err_token){var token=p.known_err_token;exc.lineno=token.lineno;exc.offset=token.col_offset+1;exc.end_lineno=token.end_lineno;exc.end_offset=token.end_col_offset;exc.text=token.line}else{exc.lineno=lineno;exc.offset=col_offset+1;exc.end_lineno=end_lineno;exc.end_offset=end_col_offset+1;var src=$B.file_cache[p.filename];if(src!==undefined){var lines=src.split("\n"),line=lines[exc.lineno-1];exc.text=line+"\n"}else{exc.text=_b_.None}}exc.args[1]=$B.fast_tuple([p.filename,exc.lineno,exc.offset,exc.text,exc.end_lineno,exc.end_offset]);throw exc};$B._PyPegen.seq_delete_starred_exprs=function(p,kwargs){var len=kwargs.length,new_len=len-_seq_number_of_starred_exprs(kwargs);if(new_len==0){return NULL}var new_seq=[];for(var k of kwargs){if(k.is_keyword){new_seq.push(k.element)}}return new_seq};$B._PyPegen.seq_extract_starred_exprs=function(p,kwargs){var new_len=_seq_number_of_starred_exprs(kwargs);if(new_len==0){return NULL}var new_seq=[];var idx=0;for(var k of kwargs){if(!k.is_keyword){new_seq[idx++]=k.element}}return new_seq};$B._PyPegen.slash_with_default=function(p,plain_names,names_with_defaults){return{plain_names:plain_names,names_with_defaults:names_with_defaults}};$B._PyPegen.star_etc=function(p,vararg,kwonlyargs,kwarg){return{vararg:vararg,kwonlyargs:kwonlyargs,kwarg:kwarg}};$B._PyPegen.collect_call_seqs=function(p,a,b,lineno,col_offset,end_lineno,end_col_offset,arena){var args_len=a.length,total_len=args_len;if(b==NULL){return $B._PyAST.Call($B._PyPegen.dummy_name(p),a,[],lineno,col_offset,end_lineno,end_col_offset,arena)}var starreds=$B._PyPegen.seq_extract_starred_exprs(p,b),keywords=$B._PyPegen.seq_delete_starred_exprs(p,b);if(starreds){total_len+=starreds.length}var args=[];for(var i=0;ix.replace(new RegExp("'","g"),"\\'")));fs_item.value=parts.join("\\'");fs_item.value=fs_item.value.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}items.push(fs_item)}state="string"}else{items.push(token);var is_bytes=token.value.__class__===_b_.bytes;if(is_bytes&&state=="string"||state=="bytestring"&&!is_bytes){error("cannot mix bytes and nonbytes literals")}state=is_bytes?"bytestring":"string"}}if(state=="bytestring"){var bytes=[];for(var item of items){bytes=bytes.concat(item.value.source)}value=_b_.bytes.$factory(bytes);var ast_obj=new $B.ast.Constant(value);set_position_from_list(ast_obj,items);return ast_obj}function group_consec_strings(items){if(items.length==1){return items[0]}var values=items.map((x=>x.value));let ast_obj=new $B.ast.Constant(values.join(""));set_position_from_list(ast_obj,items);return ast_obj}var items1=[],consec_strs=[],item_type=null;for(var i=0,len=items.length;i0){items1.push(group_consec_strings(consec_strs))}consec_strs=[];items1.push(item)}}if(consec_strs.length>0){items1.push(group_consec_strings(consec_strs))}if(!has_fstring){return items1[0]}var jstr_values=items1;var ast_obj=new $B.ast.JoinedStr(jstr_values);set_position_from_list(ast_obj,strings);return ast_obj};$B._PyPegen.ensure_imaginary=function(p,exp){if(!(exp instanceof $B.ast.Constant)||exp.value.__class__!=_b_.complex){$B.helper_functions.RAISE_SYNTAX_ERROR_KNOWN_LOCATION(exp,"imaginary number required in complex literal");return NULL}return exp};$B._PyPegen.ensure_real=function(p,exp){if(!(exp instanceof $B.ast.Constant)||exp.value.type=="imaginary"){$B.helper_functions.RAISE_SYNTAX_ERROR_KNOWN_LOCATION(exp,"real number required in complex literal");return NULL}return exp};$B._PyPegen.set_expr_context=function(p,a,ctx){a.ctx=ctx;return a};$B._PyPegen.singleton_seq=function(p,a){return[a]};$B._PyPegen.seq_insert_in_front=function(p,a,seq){return seq?[a].concat(seq):[a]};$B._PyPegen.seq_flatten=function(p,seqs){var res=[];for(var seq of seqs){for(var item of seq){res.push(item)}}return res};$B._PyPegen.join_names_with_dot=function(p,first_name,second_name){var str=first_name.id+"."+second_name.id;return $B._PyAST.Name(str,new $B.ast.Load,EXTRA_EXPR(first_name,second_name))};$B._PyPegen.make_module=function(p,a){return new $B.ast.Module(a)};$B._PyPegen.new_type_comment=function(p,s){if(s.length===0){return NULL}return s};$B._PyPegen.get_last_comprehension_item=function(comprehension){if(comprehension.ifs==NULL||comprehension.ifs.length==0){return comprehension.iter}return $B.last(comprehension.ifs)};$B._PyPegen.arguments_parsing_error=function(p,e){var kwarg_unpacking=0;for(let keyword of e.keywords){if(!keyword.arg){kwarg_unpacking=1}}var msg=NULL;if(kwarg_unpacking){msg="positional argument follows keyword argument unpacking"}else{msg="positional argument follows keyword argument"}return $B.helper_functions.RAISE_SYNTAX_ERROR(p,msg)};$B._PyPegen.nonparen_genexp_in_call=function(p,args,comprehensions){var len=args.args.length;if(len<=1){return NULL}var last_comprehension=$B.last(comprehensions);return $B.helper_functions.RAISE_SYNTAX_ERROR_KNOWN_RANGE(p,args.args[len-1],$B._PyPegen.get_last_comprehension_item(last_comprehension),"Generator expression must be parenthesized")};$B._PyPegen.get_invalid_target=function(e,targets_type){if(e==NULL){return NULL}function VISIT_CONTAINER(CONTAINER,TYPE){for(var elt of CONTAINER.elts){var child=$B._PyPegen.get_invalid_target(elt,targets_type);if(child!=NULL){return child}}}switch(e.constructor){case $B.ast.List:case $B.ast.Tuple:return VISIT_CONTAINER(e,e.constructor);case $B.ast.Starred:if(targets_type==DEL_TARGETS){return e}return $B._PyPegen.get_invalid_target(e.value,targets_type);case $B.ast.Compare:if(targets_type==FOR_TARGETS){var cmpop=e.ops[0];if(cmpop instanceof $B.ast.In){return $B._PyPegen.get_invalid_target(e.left,targets_type)}return NULL}return e;case $B.ast.Name:case $B.ast.Subscript:case $B.ast.Attribute:return NULL;default:return e}}})(__BRYTHON__);(function($B){var _b_=$B.builtins;var s_escaped='abfnrtvxuU"0123456789'+"'"+"\\",is_escaped={};for(var i=0;i1114111){string_error(p,token,"invalid unicode escape "+mo[0])}else if(value>=65536){return[new SurrogatePair(value),2+mo[0].length]}else{return[String.fromCharCode(value),2+mo[0].length]}}}}$B.prepare_string=function(p,token){var s=token.string,len=s.length,pos=0,string_modifier,_type="string",quote,C={type:"str"};while(pos-1){elt.value+=char;pos++}else{return check(elt)}}else if(char.match(/j/i)){if(elt&&(!elt.subtype||elt.subtype=="float")){elt.imaginary=true;check(elt);elt.length++;return elt}else{error("invalid syntax")}}else{break}}return check(elt)}$B.prepare_number=function(n){n=n.replace(/_/g,"");if(n.startsWith(".")){if(n.endsWith("j")){return{type:"imaginary",value:$B.prepare_number(n.substr(0,n.length-1))}}else{return{type:"float",value:n+""}}pos=j}else if(n.startsWith("0")&&n!="0"){var num=test_num(n),base;if(num.imaginary){return{type:"imaginary",value:$B.prepare_number(num.value)}}if(num.subtype=="float"){return{type:num.subtype,value:num.value+""}}if(num.subtype===undefined){base=10}else{base={b:2,o:8,x:16}[num.subtype]}if(base!==undefined){return{type:"int",value:[base,num.value]}}}else{var num=test_num(n);if(num.subtype=="float"){if(num.imaginary){return{type:"imaginary",value:$B.prepare_number(num.value)}}else{return{type:"float",value:num.value+""}}}else{if(num.imaginary){return{type:"imaginary",value:$B.prepare_number(num.value)}}else{return{type:"int",value:[10,num.value]}}}}}})(__BRYTHON__);(function($B){var _b_=$B.builtins,debug=0;var p={feature_version:$B.version_info[1]};$B.parser_constants={Store:new $B.ast.Store,Load:new $B.ast.Load,Del:new $B.ast.Del,NULL:undefined,alias_ty:$B.ast.alias,keyword_ty:$B.ast.keyword,arguments_ty:$B.ast.arguments,expr_ty:$B.ast.expr,asdl_stmt_seq:Array,asdl_int_seq:Array,asdl_expr_seq:Array,asdl_keyword_seq:Array,asdl_identifier_seq:Array,asdl_pattern_seq:Array,asdl_type_param_seq:Array,AugOperator:$B.ast.AugAssign,IsNot:$B.ast.IsNot,Py_Ellipsis:_b_.Ellipsis,Py_False:false,Py_True:true,Py_None:_b_.None,PyExc_SyntaxError:_b_.SyntaxError,STAR_TARGETS:1,DEL_TARGETS:2,FOR_TARGETS:3,PyBytes_AS_STRING:b=>b};for(var op_type of $B.op_types){for(var key in op_type){var klass_name=op_type[key];$B.parser_constants[klass_name]=new $B.ast[klass_name]}}var NULL=$B.parser_constants.NULL;$B._PyAST={};for(var ast_class in $B.ast_classes){var args=$B.ast_classes[ast_class];if(Array.isArray(args)){continue}args=args.replace(/\*/g,"").replace(/\?/g,"");var arg_names=args.split(",");$B._PyAST[ast_class]=function(ast_name,ast_args){return function(){var _args=Array.from(arguments).slice(0,ast_args.length+1);var EXTRA=_args.pop();var ast_obj=new $B.ast[ast_name](..._args);set_position_from_EXTRA(ast_obj,EXTRA);return ast_obj}}(ast_class,arg_names)}function get_last_token(p){var last_token=$B.last(p.tokens);if(last_token.type=="ENDMARKER"){var src=$B.file_cache[p.filename];if(src){for(var token of $B.tokenizer(src)){if(token.type=="ENDMARKER"){break}if(token.type!="DEDENT"){last_token=token}}}else{last_token=undefined}}p.known_err_token=last_token}var helper_functions={CHECK:function(type,obj){if(Array.isArray(type)){var check;for(var t of type){check=helper_functions.CHECK(t,obj);if(check){return check}}return undefined}if(obj instanceof type){return obj}return undefined},CHECK_VERSION:function(type,version,msg,node){return helper_functions.INVALID_VERSION_CHECK(p,version,msg,node)},CHECK_NULL_ALLOWED:function(type,obj){if(obj!==NULL){if(type instanceof Array){for(var t of type){if(obj instanceof t){return obj}}return}else{return obj instanceof type?obj:undefined}}return obj},INVALID_VERSION_CHECK:function(p,version,msg,node){if(node==NULL){p.error_indicator=1;return NULL}if(p.feature_versiont.length,asdl_seq_GET:(t,i)=>t[i]};$B.helper_functions=helper_functions;function raise_error_known_location(type,filename,lineno,col_offset,end_lineno,end_col_offset,line,message){var exc=type.$factory(message);exc.filename=filename;exc.lineno=lineno;exc.offset=col_offset+1;exc.end_lineno=end_lineno;exc.end_offset=end_col_offset+1;exc.text=line;exc.args[1]=$B.fast_tuple([filename,exc.lineno,exc.offset,exc.text,exc.end_lineno,exc.end_offset]);exc.$frame_obj=$B.frame_obj;throw exc}$B.raise_error_known_location=raise_error_known_location;function raise_error_known_token(type,filename,token,message){var exc=type.$factory(message);exc.filename=filename;exc.lineno=token.lineno;exc.offset=token.col_offset+1;exc.end_lineno=token.end_lineno;exc.end_offset=token.end_col_offset+1;exc.text=token.line;exc.args[1]=$B.fast_tuple([filename,exc.lineno,exc.offset,exc.text,exc.end_lineno,exc.end_offset]);exc.$frame_obj=$B.frame_obj;throw exc}$B.raise_error_known_token=raise_error_known_token;function set_position_from_EXTRA(ast_obj,EXTRA){for(var key in EXTRA){ast_obj[key]=EXTRA[key]}}var Parser=$B.Parser=function(src,filename,mode){src=src.replace(/\r\n/gm,"\n");var tokenizer=$B.tokenizer(src,filename,mode,this);this.tokenizer=tokenizer;this.tok=tokenizer;this.mark=0;this.fill=0;this.level=0;this.size=1;this.starting_lineno=0;this.starting_col_offset=0;this.tokens=[];this.src=src;this.filename=filename;this.mode=mode;this.memo={};this.arena={a_objects:[]};if(filename){p.filename=filename}};var ignored=[$B.py_tokens.ENCODING,$B.py_tokens.NL,$B.py_tokens.COMMENT];Parser.prototype.read_token=function(){while(true){var next=this.tokenizer.next();if(!next.done){var value=next.value;if(!ignored.includes(value.num_type)){this.tokens.push(value);return value}}else{throw Error("tokenizer exhausted")}}}})(__BRYTHON__);(function($B){var _b_=__BRYTHON__.builtins;const Load=new $B.ast.Load;const NULL=undefined;const ENDMARKER=0,NAME=1,NUMBER=2,STRING=3;function strchr(s,char){return s.includes(char)}function strlen(s){return s.length}function strncmp(a,b){return ab?1:0}function PyOS_strtol(s,end,base){return parseFloat(s)}function PyOS_strtoul(s,end,base){return parseFloat(s)}function PyOS_string_to_double(s,x,y){return parseFloat(s)}function PyFloat_FromDouble(x){return x}const NSTATISTICS=2e3,memo_statistics={},TYPE_IGNORE="TYPE_IGNORE",ERRORTOKEN="ERRORTOKEN",NEWLINE=$B.py_tokens.NEWLINE,DEDENT=$B.py_tokens.DEDENT,Py_single_input="py_single_input",PyPARSE_ALLOW_INCOMPLETE_INPUT=256;function PyUnicode_IS_ASCII(char){return char.codePointAt(0)<128}function set_position_from_token(ast_obj,token){for(var attr of["lineno","col_offset","end_lineno","end_col_offset"]){ast_obj[attr]=token[attr]}}$B._PyPegen.interactive_exit=function(p){if(p.errcode){p.errcode=E_EOF}return NULL};$B._PyPegen.byte_offset_to_character_offset_raw=function(str,col_offset){var len=str.length;if(col_offset>len+1){col_offset=len+1}var text=PyUnicode_DecodeUTF8(str,col_offset,"replace");if(!text){return-1}return text.length};$B._PyPegen.calculate_display_width=function(line,character_offset){var segment=line.substring(0,character_offset);if(!segment){return-1}if(PyUnicode_IS_ASCII(segment)){return character_offset}var width_fn=_PyImport_GetModuleAttrString("unicodedata","east_asian_width");if(!width_fn){return-1}var width=0;var len=segment.length;for(let i=0;i=0;m--){token=p.tokens[m];if(token.num_type!=ENDMARKER&&(token.num_typeDEDENT)){break}}return token};$B._PyPegen.new_identifier=function(p,n){var id=n;if(!PyUnicode_IS_ASCII(id)){var id2;if(!init_normalization(p)){return error()}var form=PyUnicode_InternFromString("NFKC");if(form==NULL){return error()}var args={form:form,id:id};id2=_PyObject_FastCall(p.normalize,args,2);if(!id2){return error()}if(!PyUnicode_Check(id2)){PyErr_Format(PyExc_TypeError,"unicodedata.normalize() must return a string, not "+"%.200s",_PyType_Name(Py_TYPE(id2)));return error()}id=id2}PyUnicode_InternInPlace(id);return id;function error(){p.error_indicator=1;return NULL}};$B._PyPegen.name_from_token=function(p,t){if(t==NULL){return NULL}var s=t.string;if(!s){p.error_indicator=1;return NULL}var res=new $B.ast.Name(s,Load);set_position_from_token(res,t);return res};$B._PyPegen.name_token=function(p){var t=$B._PyPegen.expect_token(p,NAME);return $B._PyPegen.name_from_token(p,t)};$B._PyPegen.string_token=function(p){return $B._PyPegen.expect_token(p,STRING)};$B._PyPegen.soft_keyword_token=function(p){var t=$B._PyPegen.expect_token(p,NAME);if(t==NULL){return NULL}var the_token;var size;the_token=t.string;for(let keyword=p.soft_keywords;keyword!=NULL;keyword++){if(strncmp(keyword,the_token,size)==0){return $B._PyPegen.name_from_token(p,t)}}return NULL};function prepared_number_value(prepared){switch(prepared.type){case"float":return $B.fast_float(prepared.value);case"imaginary":return $B.make_complex(0,prepared_number_value(prepared.value));case"int":var res=parseInt(prepared.value[1],prepared.value[0]);if(!Number.isSafeInteger(res)){var base=prepared.value[0],num_str=prepared.value[1];switch(base){case 8:return $B.fast_long_int(BigInt("0x"+num_str));case 10:return $B.fast_long_int(BigInt(num_str));case 16:return $B.fast_long_int(BigInt("0x"+num_str))}}return res}}function parsenumber_raw(s){var prepared=$B.prepare_number(s);return prepared_number_value(prepared)}function parsenumber(s){var dup;var end;var res=NULL;if(strchr(s,"_")==NULL){return parsenumber_raw(s)}dup=s.replace(/_/g,"");res=parsenumber_raw(dup);return res}$B._PyPegen.number_token=function(p){var t=$B._PyPegen.expect_token(p,NUMBER);if(t==NULL){return NULL}var num_raw=t.string;if(num_raw==NULL){p.error_indicator=1;return NULL}if(p.feature_version<6&&strchr(num_raw,"_")!=NULL){p.error_indicator=1;return RAISE_SYNTAX_ERROR("Underscores in numeric literals are only supported "+"in Python 3.6 and greater")}var c=parsenumber(num_raw);if(c==NULL){p.error_indicator=1;var tstate=_PyThreadState_GET();if(tstate.current_exception!=NULL&&Py_TYPE(tstate.current_exception)==PyExc_ValueError){var exc=PyErr_GetRaisedException();RAISE_ERROR_KNOWN_LOCATION(p,PyExc_SyntaxError,t.lineno,-1,t.end_lineno,-1,"%S - Consider hexadecimal for huge integer literals "+"to avoid decimal conversion limits.",exc)}return NULL}var res=new $B.ast.Constant(c,NULL);set_position_from_token(res,t);return res};function bad_single_statement(p){var cur=p.tok.cur;var c=cur;var pos=0;for(;;){while(c==" "||c=="\t"||c=="\n"||c=="\f"){c=cur[pos++]}if(!c){return 0}if(c!="#"){return 1}while(c&&c!="\n"){c=cur[pos++]}}}function compute_parser_flags(flags){var parser_flags=0;if(!flags){return 0}if(flags.cf_flags&PyCF_DONT_IMPLY_DEDENT){parser_flags|=PyPARSE_DONT_IMPLY_DEDENT}if(flags.cf_flags&PyCF_IGNORE_COOKIE){parser_flags|=PyPARSE_IGNORE_COOKIE}if(flags.cf_flags&CO_FUTURE_BARRY_AS_BDFL){parser_flags|=PyPARSE_BARRY_AS_BDFL}if(flags.cf_flags&PyCF_TYPE_COMMENTS){parser_flags|=PyPARSE_TYPE_COMMENTS}if(flags.cf_flags&PyCF_ONLY_AST&&flags.cf_feature_version<7){parser_flags|=PyPARSE_ASYNC_HACKS}if(flags.cf_flags&PyCF_ALLOW_INCOMPLETE_INPUT){parser_flags|=PyPARSE_ALLOW_INCOMPLETE_INPUT}return parser_flags}$B._PyPegen.Parser_New=function(tok,start_rule,flags,feature_version,errcode,arena){var p={};if(p==NULL){return PyErr_NoMemory()}tok.type_comments=(flags&PyPARSE_TYPE_COMMENTS)>0;tok.async_hacks=(flags&PyPARSE_ASYNC_HACKS)>0;p.tok=tok;p.keywords=NULL;p.n_keyword_lists=-1;p.soft_keywords=NULL;p.tokens=[];if(!p.tokens){PyMem_Free(p);return PyErr_NoMemory()}p.tokens[0]=PyMem_Calloc(1,sizeof(Token));p.mark=0;p.fill=0;p.size=1;p.errcode=errcode;p.arena=arena;p.start_rule=start_rule;p.parsing_started=0;p.normalize=NULL;p.error_indicator=0;p.starting_lineno=0;p.starting_col_offset=0;p.flags=flags;p.feature_version=feature_version;p.known_err_token=NULL;p.level=0;p.call_invalid_rules=0;p.debug=_Py_GetConfig().parser_debug;return p};$B._PyPegen.Parser_Free=function(p){};function reset_parser_state_for_error_pass(p){for(let i=0;i0){var brace=$B.last(p.braces),err_lineno,msg;if("([{".includes(brace.char)){err_lineno=brace.line_num}else{if(p.braces.length>1){err_lineno=p.braces[p.braces.length-2].line_num}else{err_lineno=brace.line_num}}if(p.tokens.length==0||$B.last(p.tokens).lineno>=err_lineno){if("([{".includes(brace.char)){msg=`'${brace.char}' was never closed`}else if(p.braces.length>1){var closing=brace.char,opening=p.braces[p.braces.length-2].char;msg=`closing parenthesis '${closing}' does not match `+`opening parenthesis '${opening}'`}else{msg=`unmatched '${brace.char}'`}$B.raise_error_known_location(_b_.SyntaxError,p.filename,brace.line_num,brace.pos-brace.line_start,brace.line_num,brace.pos-brace.line_start+1,brace.line,msg)}}};$B._PyPegen.set_syntax_error=function(p,last_token){if(p.fill==0){$B.helper_functions.RAISE_SYNTAX_ERROR(p,"error at start before reading any input")}$B._PyPegen.tokenize_full_source_to_check_for_errors(p);if(last_token.num_type==ERRORTOKEN&&p.tok.done==E_EOF){if(p.tok.level){raise_unclosed_parentheses_error(p)}else{$B.helper_functions.RAISE_SYNTAX_ERROR(p,"unexpected EOF while parsing")}return}if(last_token.num_type==INDENT||last_token.num_type==DEDENT){$B.helper_functions.RAISE_INDENTATION_ERROR(p,last_token.num_type==INDENT?"unexpected indent":"unexpected unindent");return}$B._PyPegen.tokenize_full_source_to_check_for_errors(p);$B.raise_error_known_token(_b_.SyntaxError,p.filename,last_token,"invalid syntax")};$B._PyPegen.run_parser=function(p){var res=$B._PyPegen.parse(p);if(res==NULL){if(p.flags&PyPARSE_ALLOW_INCOMPLETE_INPUT&&_is_end_of_source(p)){PyErr_Clear();return RAISE_SYNTAX_ERROR("incomplete input")}var last_token=p.tokens[p.fill-1];reset_parser_state_for_error_pass(p);try{$B._PyPegen.parse(p)}catch(err){last_token=p.tokens[p.fill-1];$B._PyPegen.tokenize_full_source_to_check_for_errors(p);throw err}$B._PyPegen.set_syntax_error(p,last_token)}if(p.start_rule==Py_single_input&&bad_single_statement(p)){p.tok.done=E_BADSINGLE;return RAISE_SYNTAX_ERROR("multiple statements found while compiling a single statement")}return res};$B._PyPegen.run_parser_from_file_pointer=function(fp,start_rule,filename_ob,enc,ps1,ps2,flags,errcode,arena){var tok=_PyTokenizer_FromFile(fp,enc,ps1,ps2);if(tok==NULL){if(PyErr_Occurred()){_PyPegen_raise_tokenizer_init_error(filename_ob);return NULL}return NULL}if(!tok.fp||ps1!=NULL||ps2!=NULL||PyUnicode_CompareWithASCIIString(filename_ob,"")==0){tok.fp_interactive=1}tok.filename=Py_NewRef(filename_ob);var result=NULL;var parser_flags=compute_parser_flags(flags);var p=$B._PyPegen.Parser_New(tok,start_rule,parser_flags,PY_MINOR_VERSION,errcode,arena);if(p==NULL){return error()}result=_PyPegen_run_parser(p);_PyPegen_Parser_Free(p);function error(){_PyTokenizer_Free(tok);return result}};$B._PyPegen.run_parser_from_string=function(str,start_rule,filename_ob,flags,arena){var exec_input=start_rule==Py_file_input;var tok;if(flags!=NULL&&flags.cf_flags&PyCF_IGNORE_COOKIE){tok=_PyTokenizer_FromUTF8(str,exec_input,0)}else{tok=_PyTokenizer_FromString(str,exec_input,0)}if(tok==NULL){if(PyErr_Occurred()){_PyPegen_raise_tokenizer_init_error(filename_ob)}return NULL}tok.filename=Py_NewRef(filename_ob);var result=NULL;var parser_flags=compute_parser_flags(flags);var feature_version=flags&&flags.cf_flags&PyCF_ONLY_AST?flags.cf_feature_version:PY_MINOR_VERSION;var p=$B._PyPegen.Parser_New(tok,start_rule,parser_flags,feature_version,NULL,arena);if(p==NULL){return error()}result=_PyPegen_run_parser(p);_PyPegen_Parser_Free(p);function error(){return result}};$B.PyPegen={first_item:function(a,type){return a[0]},last_item:function(a,ptype){return a[a.length-1]}}})(__BRYTHON__);function fprintf(dest,format){var args=Array.from(arguments).slice(2);for(var arg of args){format=format.replace(/%\*?[a-z]/,arg)}return format}const stderr=null;function D(x){console.log(x)}function UNUSED(){}function strcmp(x,y){return x==y?0:x self.obj.length - 1){\n i = self.obj.length\n }\n return i\n}\n\narray.append = function(self, value){\n $B.args("append", 2, {self: null, value: null},\n ["self", "value"], arguments, {}, null, null)\n var pos = self.obj === null ? 0 : self.obj.length\n return array.insert(self, pos, value)\n}\n\narray.count = function(self, x){\n $B.args("count", 2, {self: null, x: null},\n ["self", "x"], arguments, {}, null, null)\n if(self.obj === null){return 0}\n return self.obj.filter(function(item){return item == x}).length\n}\n\narray.extend = function(self, iterable){\n $B.args("extend", 2, {self: null, iterable: null},\n ["self", "iterable"], arguments, {}, null, null)\n if(iterable.__class__ === array){\n if(iterable.typecode !== self.typecode){\n throw _b_.TypeError.$factory("can only extend with array " +\n "of same kind")\n }\n if(iterable.obj === null){return _b_.None}\n // create new object with length = sum of lengths\n var newobj = new typecodes[self.typecode](self.obj.length +\n iterable.obj.length)\n // copy self.obj\n newobj.set(self.obj)\n // copy iterable.obj\n newobj.set(iterable.obj, self.obj.length)\n self.obj = newobj\n }else{\n var it = _b_.iter(iterable)\n while(true){\n try{\n var item = _b_.next(it)\n array.append(self, item)\n }catch(err){\n if(err.__class__ !== _b_.StopIteration){\n throw err\n }\n break\n }\n }\n }\n return _b_.None\n}\n\narray.frombytes = function(self, s){\n $B.args("frombytes", 2, {self: null, s: null},\n ["self", "s"], arguments, {}, null, null)\n if(! $B.$isinstance(s, _b_.bytes)){\n throw _b_.TypeError.$factory("a bytes-like object is required, " +\n "not \'" + $B.class_name(s) + "\'")\n }\n self.obj = new typecodes[self.typecode](s.source)\n return _b_.None\n}\n\narray.fromlist = function(self, list){\n $B.args("fromlist", 2, {self: null, list: null},\n ["self", "list"], arguments, {}, null, null)\n var it = _b_.iter(list)\n while(true){\n try{\n var item = _b_.next(it)\n try{\n array.append(self, item)\n }catch(err){\n console.log(err)\n return _b_.None\n }\n }catch(err){\n if(err.__class__ === _b_.StopIteration){\n return _b_.None\n }\n throw err\n }\n }\n}\n\narray.fromstring = array.frombytes\n\narray.index = function(self, x){\n $B.args("index", 2, {self: null, x: null},\n ["self", "x"], arguments, {}, null, null)\n var res = self.obj.findIndex(function(item){return x == item})\n if(res == -1){\n throw _b_.ValueError.$factory("array.index(x): x not in array")\n }\n return res\n}\n\narray.insert = function(self, i, value){\n $B.args("insert", 3, {self: null, i: null, value: null},\n ["self", "i", "value"], arguments, {}, null, null)\n if(self.obj === null){\n self.obj = [value]\n }else{\n self.obj.splice(i, 0, value)\n }\n return _b_.None\n}\n\narray.itemsize = function(self){\n return typecodes[self.typecode].BYTES_PER_ELEMENT\n}\n\narray.pop = function(self, i){\n var $ = $B.args("count", 2, {self: null, i: null},\n ["self", "i"], arguments, {i: -1}, null, null)\n i = $.i\n if(self.obj === null){\n throw _b_.IndexError.$factory("pop from empty array")\n }else if(self.obj.length == 1){\n var res = self.obj[0]\n self.obj = null\n return res\n }\n i = normalize_index(self, i)\n // store value to return\n var res = self.obj[i]\n // create new array, size = previous size - 1\n var newobj = new typecodes[self.typecode](self.obj.length - 1)\n // fill new array with values until i excluded\n newobj.set(self.obj.slice(0, i))\n // fill with values after i\n newobj.set(self.obj.slice(i + 1), i)\n // set self.obj to new array\n self.obj = newobj\n // return stored value\n return res\n}\n\narray.remove = function(self, x){\n $B.args("remove", 2, {self: null, x: null},\n ["self", "x"], arguments, {}, null, null)\n var res = self.obj.findIndex(function(item){return x == item})\n if(res == -1){\n throw _b_.ValueError.$factory("array.remove(x): x not in array")\n }\n array.pop(self, res)\n return _b_.None\n}\n\narray.reverse = function(self){\n $B.args("reverse", 1, {self: null},\n ["self"], arguments, {}, null, null)\n if(self.obj === null){return _b_.None}\n self.obj.reverse()\n return _b_.None\n}\n\narray.tobytes = function(self){\n $B.args("tobytes", 1, {self: null},\n ["self"], arguments, {}, null, null)\n var items = Array.prototype.slice.call(self.obj),\n res = []\n items.forEach(function(item){\n while(item > 256){\n res.push(item % 256)\n item = Math.floor(item / 256)\n }\n res.push(item)\n })\n return _b_.bytes.$factory(res)\n}\n\narray.tolist = function(self){\n $B.args("tolist", 1, {self: null},\n ["self"], arguments, {}, null, null)\n if(self.obj === null){\n return $B.$list([])\n }\n return Array.prototype.slice.call(self.obj)\n}\n\narray.tostring = array.tobytes\n\narray.typecode = function(self){\n return self.typecode\n}\n\n$B.set_func_names(array, "array")\n\nvar module = {\n array: array,\n typecodes: Object.keys(typecodes).join(\'\')\n}\n\n$B.addToImported(\'array\', module)\n\n})(__BRYTHON__)\n'],builtins:[".js","(function(){\n var obj = {},\n builtin_names = ['ArithmeticError', 'AssertionError',\n 'AttributeError', 'BaseException', 'BaseExceptionGroup',\n 'BlockingIOError', 'BrokenPipeError', 'BufferError',\n 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError',\n 'ConnectionError', 'ConnectionRefusedError',\n 'ConnectionResetError', 'DeprecationWarning', 'EOFError',\n 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception',\n 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError',\n 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError',\n 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError',\n 'InterruptedError', 'IsADirectoryError', 'KeyError',\n 'KeyboardInterrupt', 'LookupError', 'MemoryError',\n 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError',\n 'NotImplemented', 'NotImplementedError', 'OSError',\n 'OverflowError', 'PendingDeprecationWarning', 'PermissionError',\n 'ProcessLookupError', 'RecursionError', 'ReferenceError',\n 'ResourceWarning', 'RuntimeError', 'RuntimeWarning',\n 'StopAsyncIteration', 'StopIteration', 'SyntaxError',\n 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError',\n 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError',\n 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError',\n 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning',\n 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError',\n '_', '__build_class__', '__debug__', '__import__',\n 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool',\n 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr',\n 'classmethod', 'compile', 'complex', 'delattr', 'dict', 'dir',\n 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float',\n 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash',\n 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass',\n 'iter', 'len', 'list', 'locals', 'map', 'max', 'memoryview',\n 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print',\n 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set',\n 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum',\n 'super', 'tuple', 'type', 'vars', 'zip']\n for(var key of builtin_names){\n if(__BRYTHON__.builtins[key] !== undefined){\n obj[key] = __BRYTHON__.builtins[key]\n }\n }\n obj.__doc__ = 'builtins module'\n obj.copyright = 'CPython copyright'\n obj.credits = 'CPython builtins credits'\n obj.license = 'CPython license'\n \n $B.addToImported('builtins', obj)\n})()\n"],dis:[".js",'(function($B){\n\nvar dict = $B.builtins.dict\nvar mod = {\n dis:function(src){\n $B.$py_module_path[\'__main__\'] = $B.brython_path\n return __BRYTHON__.py2js(src,\'__main__\',\'__main__\',\n $B.builtins_scope).to_js()\n },\n OPTIMIZED: 1,\n NEWLOCALS: 2,\n VARARGS: 4,\n VARKEYWORDS: 8,\n NESTED: 16,\n GENERATOR: 32,\n NOFREE: 64,\n COROUTINE: 128,\n ITERABLE_COROUTINE: 256,\n ASYNC_GENERATOR: 512,\n COMPILER_FLAG_NAMES: $B.builtins.dict.$factory()\n}\nmod.COMPILER_FLAG_NAMES = dict.$factory([\n [1, "OPTIMIZED"],\n [2, "NEWLOCALS"],\n [4, "VARARGS"],\n [8, "VARKEYWORDS"],\n [16, "NESTED"],\n [32, "GENERATOR"],\n [64, "NOFREE"],\n [128, "COROUTINE"],\n [256, "ITERABLE_COROUTINE"],\n [512, "ASYNC_GENERATOR"]\n])\n\n$B.addToImported(\'dis\', mod)\n\n})(__BRYTHON__)'],encoding_cp932:[".js",'const cps = {"0": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 65377, 65378, 65379, 65380, 65381, 65382, 65383, 65384, 65385, 65386, 65387, 65388, 65389, 65390, 65391, 65392, 65393, 65394, 65395, 65396, 65397, 65398, 65399, 65400, 65401, 65402, 65403, 65404, 65405, 65406, 65407, 65408, 65409, 65410, 65411, 65412, 65413, 65414, 65415, 65416, 65417, 65418, 65419, 65420, 65421, 65422, 65423, 65424, 65425, 65426, 65427, 65428, 65429, 65430, 65431, 65432, 65433, 65434, 65435, 65436, 65437, 65438, 65439, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], "33088": [12288, 12289, 12290, 65292, 65294, 12539, 65306, 65307, 65311, 65281, 12443, 12444, 180, 65344, 168, 65342, 65507, 65343, 12541, 12542, 12445, 12446, 12291, 20189, 12293, 12294, 12295, 12540, 8213, 8208, 65295, 65340, 65374, 8741, 65372, 8230, 8229, 8216, 8217, 8220, 8221, 65288, 65289, 12308, 12309, 65339, 65341, 65371, 65373, 12296, 12297, 12298, 12299, 12300, 12301, 12302, 12303, 12304, 12305, 65291, 65293, 177, 215], "33152": [247, 65309, 8800, 65308, 65310, 8806, 8807, 8734, 8756, 9794, 9792, 176, 8242, 8243, 8451, 65509, 65284, 65504, 65505, 65285, 65283, 65286, 65290, 65312, 167, 9734, 9733, 9675, 9679, 9678, 9671, 9670, 9633, 9632, 9651, 9650, 9661, 9660, 8251, 12306, 8594, 8592, 8593, 8595, 12307], "33208": [8712, 8715, 8838, 8839, 8834, 8835, 8746, 8745], "33224": [8743, 8744, 65506, 8658, 8660, 8704, 8707], "33242": [8736, 8869, 8978, 8706, 8711, 8801, 8786, 8810, 8811, 8730, 8765, 8733, 8757, 8747, 8748], "33264": [8491, 8240, 9839, 9837, 9834, 8224, 8225, 182], "33276": [9711], "33359": [65296, 65297, 65298, 65299, 65300, 65301, 65302, 65303, 65304, 65305], "33376": [65313, 65314, 65315, 65316, 65317, 65318, 65319, 65320, 65321, 65322, 65323, 65324, 65325, 65326, 65327, 65328, 65329, 65330, 65331, 65332, 65333, 65334, 65335, 65336, 65337, 65338], "33409": [65345, 65346, 65347, 65348, 65349, 65350, 65351, 65352, 65353, 65354, 65355, 65356, 65357, 65358, 65359, 65360, 65361, 65362, 65363, 65364, 65365, 65366, 65367, 65368, 65369, 65370], "33439": [12353, 12354, 12355, 12356, 12357, 12358, 12359, 12360, 12361, 12362, 12363, 12364, 12365, 12366, 12367, 12368, 12369, 12370, 12371, 12372, 12373, 12374, 12375, 12376, 12377, 12378, 12379, 12380, 12381, 12382, 12383, 12384, 12385, 12386, 12387, 12388, 12389, 12390, 12391, 12392, 12393, 12394, 12395, 12396, 12397, 12398, 12399, 12400, 12401, 12402, 12403, 12404, 12405, 12406, 12407, 12408, 12409, 12410, 12411, 12412, 12413, 12414, 12415, 12416, 12417, 12418, 12419, 12420, 12421, 12422, 12423, 12424, 12425, 12426, 12427, 12428, 12429, 12430, 12431, 12432, 12433, 12434, 12435], "33600": [12449, 12450, 12451, 12452, 12453, 12454, 12455, 12456, 12457, 12458, 12459, 12460, 12461, 12462, 12463, 12464, 12465, 12466, 12467, 12468, 12469, 12470, 12471, 12472, 12473, 12474, 12475, 12476, 12477, 12478, 12479, 12480, 12481, 12482, 12483, 12484, 12485, 12486, 12487, 12488, 12489, 12490, 12491, 12492, 12493, 12494, 12495, 12496, 12497, 12498, 12499, 12500, 12501, 12502, 12503, 12504, 12505, 12506, 12507, 12508, 12509, 12510, 12511], "33664": [12512, 12513, 12514, 12515, 12516, 12517, 12518, 12519, 12520, 12521, 12522, 12523, 12524, 12525, 12526, 12527, 12528, 12529, 12530, 12531, 12532, 12533, 12534], "33695": [913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937], "33727": [945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 963, 964, 965, 966, 967, 968, 969], "33856": [1040, 1041, 1042, 1043, 1044, 1045, 1025, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071], "33904": [1072, 1073, 1074, 1075, 1076, 1077, 1105, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085], "33920": [1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103], "33951": [9472, 9474, 9484, 9488, 9496, 9492, 9500, 9516, 9508, 9524, 9532, 9473, 9475, 9487, 9491, 9499, 9495, 9507, 9523, 9515, 9531, 9547, 9504, 9519, 9512, 9527, 9535, 9501, 9520, 9509, 9528, 9538], "34624": [9312, 9313, 9314, 9315, 9316, 9317, 9318, 9319, 9320, 9321, 9322, 9323, 9324, 9325, 9326, 9327, 9328, 9329, 9330, 9331, 8544, 8545, 8546, 8547, 8548, 8549, 8550, 8551, 8552, 8553], "34655": [13129, 13076, 13090, 13133, 13080, 13095, 13059, 13110, 13137, 13143, 13069, 13094, 13091, 13099, 13130, 13115, 13212, 13213, 13214, 13198, 13199, 13252, 13217], "34686": [13179], "34688": [12317, 12319, 8470, 13261, 8481, 12964, 12965, 12966, 12967, 12968, 12849, 12850, 12857, 13182, 13181, 13180, 8786, 8801, 8747, 8750, 8721, 8730, 8869, 8736, 8735, 8895, 8757, 8745, 8746], "34975": [20124, 21782, 23043, 38463, 21696, 24859, 25384, 23030, 36898, 33909, 33564, 31312, 24746, 25569, 28197, 26093, 33894, 33446, 39925, 26771, 22311, 26017, 25201, 23451, 22992, 34427, 39156, 32098, 32190, 39822, 25110, 31903, 34999, 23433, 24245, 25353, 26263, 26696, 38343, 38797, 26447, 20197, 20234, 20301, 20381, 20553, 22258, 22839, 22996, 23041, 23561, 24799, 24847, 24944, 26131, 26885, 28858, 30031, 30064, 31227, 32173, 32239, 32963, 33806, 34915, 35586, 36949, 36986, 21307, 20117, 20133, 22495, 32946, 37057, 30959, 19968, 22769, 28322, 36920, 31282, 33576, 33419, 39983, 20801, 21360, 21693, 21729, 22240, 23035, 24341, 39154, 28139, 32996, 34093], "35136": [38498, 38512, 38560, 38907, 21515, 21491, 23431, 28879, 32701, 36802, 38632, 21359, 40284, 31418, 19985, 30867, 33276, 28198, 22040, 21764, 27421, 34074, 39995, 23013, 21417, 28006, 29916, 38287, 22082, 20113, 36939, 38642, 33615, 39180, 21473, 21942, 23344, 24433, 26144, 26355, 26628, 27704, 27891, 27945, 29787, 30408, 31310, 38964, 33521, 34907, 35424, 37613, 28082, 30123, 30410, 39365, 24742, 35585, 36234, 38322, 27022, 21421, 20870], "35200": [22290, 22576, 22852, 23476, 24310, 24616, 25513, 25588, 27839, 28436, 28814, 28948, 29017, 29141, 29503, 32257, 33398, 33489, 34199, 36960, 37467, 40219, 22633, 26044, 27738, 29989, 20985, 22830, 22885, 24448, 24540, 25276, 26106, 27178, 27431, 27572, 29579, 32705, 35158, 40236, 40206, 40644, 23713, 27798, 33659, 20740, 23627, 25014, 33222, 26742, 29281, 20057, 20474, 21368, 24681, 28201, 31311, 38899, 19979, 21270, 20206, 20309, 20285, 20385, 20339, 21152, 21487, 22025, 22799, 23233, 23478, 23521, 31185, 26247, 26524, 26550, 27468, 27827, 28779, 29634, 31117, 31166, 31292, 31623, 33457, 33499, 33540, 33655, 33775, 33747, 34662, 35506, 22057, 36008, 36838, 36942, 38686, 34442, 20420, 23784, 25105, 29273, 30011, 33253, 33469, 34558, 36032, 38597, 39187, 39381, 20171, 20250, 35299, 22238, 22602, 22730, 24315, 24555, 24618, 24724, 24674, 25040, 25106, 25296, 25913], "35392": [39745, 26214, 26800, 28023, 28784, 30028, 30342, 32117, 33445, 34809, 38283, 38542, 35997, 20977, 21182, 22806, 21683, 23475, 23830, 24936, 27010, 28079, 30861, 33995, 34903, 35442, 37799, 39608, 28012, 39336, 34521, 22435, 26623, 34510, 37390, 21123, 22151, 21508, 24275, 25313, 25785, 26684, 26680, 27579, 29554, 30906, 31339, 35226, 35282, 36203, 36611, 37101, 38307, 38548, 38761, 23398, 23731, 27005, 38989, 38990, 25499, 31520, 27179], "35456": [27263, 26806, 39949, 28511, 21106, 21917, 24688, 25324, 27963, 28167, 28369, 33883, 35088, 36676, 19988, 39993, 21494, 26907, 27194, 38788, 26666, 20828, 31427, 33970, 37340, 37772, 22107, 40232, 26658, 33541, 33841, 31909, 21000, 33477, 29926, 20094, 20355, 20896, 23506, 21002, 21208, 21223, 24059, 21914, 22570, 23014, 23436, 23448, 23515, 24178, 24185, 24739, 24863, 24931, 25022, 25563, 25954, 26577, 26707, 26874, 27454, 27475, 27735, 28450, 28567, 28485, 29872, 29976, 30435, 30475, 31487, 31649, 31777, 32233, 32566, 32752, 32925, 33382, 33694, 35251, 35532, 36011, 36996, 37969, 38291, 38289, 38306, 38501, 38867, 39208, 33304, 20024, 21547, 23736, 24012, 29609, 30284, 30524, 23721, 32747, 36107, 38593, 38929, 38996, 39000, 20225, 20238, 21361, 21916, 22120, 22522, 22855, 23305, 23492, 23696, 24076, 24190, 24524, 25582, 26426, 26071, 26082, 26399, 26827, 26820], "35648": [27231, 24112, 27589, 27671, 27773, 30079, 31048, 23395, 31232, 32000, 24509, 35215, 35352, 36020, 36215, 36556, 36637, 39138, 39438, 39740, 20096, 20605, 20736, 22931, 23452, 25135, 25216, 25836, 27450, 29344, 30097, 31047, 32681, 34811, 35516, 35696, 25516, 33738, 38816, 21513, 21507, 21931, 26708, 27224, 35440, 30759, 26485, 40653, 21364, 23458, 33050, 34384, 36870, 19992, 20037, 20167, 20241, 21450, 21560, 23470, 24339, 24613, 25937], "35712": [26429, 27714, 27762, 27875, 28792, 29699, 31350, 31406, 31496, 32026, 31998, 32102, 26087, 29275, 21435, 23621, 24040, 25298, 25312, 25369, 28192, 34394, 35377, 36317, 37624, 28417, 31142, 39770, 20136, 20139, 20140, 20379, 20384, 20689, 20807, 31478, 20849, 20982, 21332, 21281, 21375, 21483, 21932, 22659, 23777, 24375, 24394, 24623, 24656, 24685, 25375, 25945, 27211, 27841, 29378, 29421, 30703, 33016, 33029, 33288, 34126, 37111, 37857, 38911, 39255, 39514, 20208, 20957, 23597, 26241, 26989, 23616, 26354, 26997, 29577, 26704, 31873, 20677, 21220, 22343, 24062, 37670, 26020, 27427, 27453, 29748, 31105, 31165, 31563, 32202, 33465, 33740, 34943, 35167, 35641, 36817, 37329, 21535, 37504, 20061, 20534, 21477, 21306, 29399, 29590, 30697, 33510, 36527, 39366, 39368, 39378, 20855, 24858, 34398, 21936, 31354, 20598, 23507, 36935, 38533, 20018, 27355, 37351, 23633, 23624], "35904": [25496, 31391, 27795, 38772, 36705, 31402, 29066, 38536, 31874, 26647, 32368, 26705, 37740, 21234, 21531, 34219, 35347, 32676, 36557, 37089, 21350, 34952, 31041, 20418, 20670, 21009, 20804, 21843, 22317, 29674, 22411, 22865, 24418, 24452, 24693, 24950, 24935, 25001, 25522, 25658, 25964, 26223, 26690, 28179, 30054, 31293, 31995, 32076, 32153, 32331, 32619, 33550, 33610, 34509, 35336, 35427, 35686, 36605, 38938, 40335, 33464, 36814, 39912], "35968": [21127, 25119, 25731, 28608, 38553, 26689, 20625, 27424, 27770, 28500, 31348, 32080, 34880, 35363, 26376, 20214, 20537, 20518, 20581, 20860, 21048, 21091, 21927, 22287, 22533, 23244, 24314, 25010, 25080, 25331, 25458, 26908, 27177, 29309, 29356, 29486, 30740, 30831, 32121, 30476, 32937, 35211, 35609, 36066, 36562, 36963, 37749, 38522, 38997, 39443, 40568, 20803, 21407, 21427, 24187, 24358, 28187, 28304, 29572, 29694, 32067, 33335, 35328, 35578, 38480, 20046, 20491, 21476, 21628, 22266, 22993, 23396, 24049, 24235, 24359, 25144, 25925, 26543, 28246, 29392, 31946, 34996, 32929, 32993, 33776, 34382, 35463, 36328, 37431, 38599, 39015, 40723, 20116, 20114, 20237, 21320, 21577, 21566, 23087, 24460, 24481, 24735, 26791, 27278, 29786, 30849, 35486, 35492, 35703, 37264, 20062, 39881, 20132, 20348, 20399, 20505, 20502, 20809, 20844, 21151, 21177, 21246, 21402, 21475, 21521], "36160": [21518, 21897, 22353, 22434, 22909, 23380, 23389, 23439, 24037, 24039, 24055, 24184, 24195, 24218, 24247, 24344, 24658, 24908, 25239, 25304, 25511, 25915, 26114, 26179, 26356, 26477, 26657, 26775, 27083, 27743, 27946, 28009, 28207, 28317, 30002, 30343, 30828, 31295, 31968, 32005, 32024, 32094, 32177, 32789, 32771, 32943, 32945, 33108, 33167, 33322, 33618, 34892, 34913, 35611, 36002, 36092, 37066, 37237, 37489, 30783, 37628, 38308, 38477], "36224": [38917, 39321, 39640, 40251, 21083, 21163, 21495, 21512, 22741, 25335, 28640, 35946, 36703, 40633, 20811, 21051, 21578, 22269, 31296, 37239, 40288, 40658, 29508, 28425, 33136, 29969, 24573, 24794, 39592, 29403, 36796, 27492, 38915, 20170, 22256, 22372, 22718, 23130, 24680, 25031, 26127, 26118, 26681, 26801, 28151, 30165, 32058, 33390, 39746, 20123, 20304, 21449, 21766, 23919, 24038, 24046, 26619, 27801, 29811, 30722, 35408, 37782, 35039, 22352, 24231, 25387, 20661, 20652, 20877, 26368, 21705, 22622, 22971, 23472, 24425, 25165, 25505, 26685, 27507, 28168, 28797, 37319, 29312, 30741, 30758, 31085, 25998, 32048, 33756, 35009, 36617, 38555, 21092, 22312, 26448, 32618, 36001, 20916, 22338, 38442, 22586, 27018, 32948, 21682, 23822, 22524, 30869, 40442, 20316, 21066, 21643, 25662, 26152, 26388, 26613, 31364, 31574, 32034, 37679, 26716, 39853, 31545, 21273, 20874, 21047], "36416": [23519, 25334, 25774, 25830, 26413, 27578, 34217, 38609, 30352, 39894, 25420, 37638, 39851, 30399, 26194, 19977, 20632, 21442, 23665, 24808, 25746, 25955, 26719, 29158, 29642, 29987, 31639, 32386, 34453, 35715, 36059, 37240, 39184, 26028, 26283, 27531, 20181, 20180, 20282, 20351, 21050, 21496, 21490, 21987, 22235, 22763, 22987, 22985, 23039, 23376, 23629, 24066, 24107, 24535, 24605, 25351, 25903, 23388, 26031, 26045, 26088, 26525, 27490], "36480": [27515, 27663, 29509, 31049, 31169, 31992, 32025, 32043, 32930, 33026, 33267, 35222, 35422, 35433, 35430, 35468, 35566, 36039, 36060, 38604, 39164, 27503, 20107, 20284, 20365, 20816, 23383, 23546, 24904, 25345, 26178, 27425, 28363, 27835, 29246, 29885, 30164, 30913, 31034, 32780, 32819, 33258, 33940, 36766, 27728, 40575, 24335, 35672, 40235, 31482, 36600, 23437, 38635, 19971, 21489, 22519, 22833, 23241, 23460, 24713, 28287, 28422, 30142, 36074, 23455, 34048, 31712, 20594, 26612, 33437, 23649, 34122, 32286, 33294, 20889, 23556, 25448, 36198, 26012, 29038, 31038, 32023, 32773, 35613, 36554, 36974, 34503, 37034, 20511, 21242, 23610, 26451, 28796, 29237, 37196, 37320, 37675, 33509, 23490, 24369, 24825, 20027, 21462, 23432, 25163, 26417, 27530, 29417, 29664, 31278, 33131, 36259, 37202, 39318, 20754, 21463, 21610, 23551, 25480, 27193, 32172, 38656, 22234, 21454, 21608], "36672": [23447, 23601, 24030, 20462, 24833, 25342, 27954, 31168, 31179, 32066, 32333, 32722, 33261, 33311, 33936, 34886, 35186, 35728, 36468, 36655, 36913, 37195, 37228, 38598, 37276, 20160, 20303, 20805, 21313, 24467, 25102, 26580, 27713, 28171, 29539, 32294, 37325, 37507, 21460, 22809, 23487, 28113, 31069, 32302, 31899, 22654, 29087, 20986, 34899, 36848, 20426, 23803, 26149, 30636, 31459, 33308, 39423, 20934, 24490, 26092, 26991, 27529, 28147], "36736": [28310, 28516, 30462, 32020, 24033, 36981, 37255, 38918, 20966, 21021, 25152, 26257, 26329, 28186, 24246, 32210, 32626, 26360, 34223, 34295, 35576, 21161, 21465, 22899, 24207, 24464, 24661, 37604, 38500, 20663, 20767, 21213, 21280, 21319, 21484, 21736, 21830, 21809, 22039, 22888, 22974, 23100, 23477, 23558, 23567, 23569, 23578, 24196, 24202, 24288, 24432, 25215, 25220, 25307, 25484, 25463, 26119, 26124, 26157, 26230, 26494, 26786, 27167, 27189, 27836, 28040, 28169, 28248, 28988, 28966, 29031, 30151, 30465, 30813, 30977, 31077, 31216, 31456, 31505, 31911, 32057, 32918, 33750, 33931, 34121, 34909, 35059, 35359, 35388, 35412, 35443, 35937, 36062, 37284, 37478, 37758, 37912, 38556, 38808, 19978, 19976, 19998, 20055, 20887, 21104, 22478, 22580, 22732, 23330, 24120, 24773, 25854, 26465, 26454, 27972, 29366, 30067, 31331, 33976, 35698, 37304, 37664, 22065, 22516, 39166], "36928": [25325, 26893, 27542, 29165, 32340, 32887, 33394, 35302, 39135, 34645, 36785, 23611, 20280, 20449, 20405, 21767, 23072, 23517, 23529, 24515, 24910, 25391, 26032, 26187, 26862, 27035, 28024, 28145, 30003, 30137, 30495, 31070, 31206, 32051, 33251, 33455, 34218, 35242, 35386, 36523, 36763, 36914, 37341, 38663, 20154, 20161, 20995, 22645, 22764, 23563, 29978, 23613, 33102, 35338, 36805, 38499, 38765, 31525, 35535, 38920, 37218, 22259, 21416], "36992": [36887, 21561, 22402, 24101, 25512, 27700, 28810, 30561, 31883, 32736, 34928, 36930, 37204, 37648, 37656, 38543, 29790, 39620, 23815, 23913, 25968, 26530, 36264, 38619, 25454, 26441, 26905, 33733, 38935, 38592, 35070, 28548, 25722, 23544, 19990, 28716, 30045, 26159, 20932, 21046, 21218, 22995, 24449, 24615, 25104, 25919, 25972, 26143, 26228, 26866, 26646, 27491, 28165, 29298, 29983, 30427, 31934, 32854, 22768, 35069, 35199, 35488, 35475, 35531, 36893, 37266, 38738, 38745, 25993, 31246, 33030, 38587, 24109, 24796, 25114, 26021, 26132, 26512, 30707, 31309, 31821, 32318, 33034, 36012, 36196, 36321, 36447, 30889, 20999, 25305, 25509, 25666, 25240, 35373, 31363, 31680, 35500, 38634, 32118, 33292, 34633, 20185, 20808, 21315, 21344, 23459, 23554, 23574, 24029, 25126, 25159, 25776, 26643, 26676, 27849, 27973, 27927, 26579, 28508, 29006, 29053, 26059, 31359, 31661, 32218], "37184": [32330, 32680, 33146, 33307, 33337, 34214, 35438, 36046, 36341, 36984, 36983, 37549, 37521, 38275, 39854, 21069, 21892, 28472, 28982, 20840, 31109, 32341, 33203, 31950, 22092, 22609, 23720, 25514, 26366, 26365, 26970, 29401, 30095, 30094, 30990, 31062, 31199, 31895, 32032, 32068, 34311, 35380, 38459, 36961, 40736, 20711, 21109, 21452, 21474, 20489, 21930, 22766, 22863, 29245, 23435, 23652, 21277, 24803, 24819, 25436, 25475, 25407, 25531], "37248": [25805, 26089, 26361, 24035, 27085, 27133, 28437, 29157, 20105, 30185, 30456, 31379, 31967, 32207, 32156, 32865, 33609, 33624, 33900, 33980, 34299, 35013, 36208, 36865, 36973, 37783, 38684, 39442, 20687, 22679, 24974, 33235, 34101, 36104, 36896, 20419, 20596, 21063, 21363, 24687, 25417, 26463, 28204, 36275, 36895, 20439, 23646, 36042, 26063, 32154, 21330, 34966, 20854, 25539, 23384, 23403, 23562, 25613, 26449, 36956, 20182, 22810, 22826, 27760, 35409, 21822, 22549, 22949, 24816, 25171, 26561, 33333, 26965, 38464, 39364, 39464, 20307, 22534, 23550, 32784, 23729, 24111, 24453, 24608, 24907, 25140, 26367, 27888, 28382, 32974, 33151, 33492, 34955, 36024, 36864, 36910, 38538, 40667, 39899, 20195, 21488, 22823, 31532, 37261, 38988, 40441, 28381, 28711, 21331, 21828, 23429, 25176, 25246, 25299, 27810, 28655, 29730, 35351, 37944, 28609, 35582, 33592, 20967, 34552, 21482], "37440": [21481, 20294, 36948, 36784, 22890, 33073, 24061, 31466, 36799, 26842, 35895, 29432, 40008, 27197, 35504, 20025, 21336, 22022, 22374, 25285, 25506, 26086, 27470, 28129, 28251, 28845, 30701, 31471, 31658, 32187, 32829, 32966, 34507, 35477, 37723, 22243, 22727, 24382, 26029, 26262, 27264, 27573, 30007, 35527, 20516, 30693, 22320, 24347, 24677, 26234, 27744, 30196, 31258, 32622, 33268, 34584, 36933, 39347, 31689, 30044, 31481, 31569, 33988], "37504": [36880, 31209, 31378, 33590, 23265, 30528, 20013, 20210, 23449, 24544, 25277, 26172, 26609, 27880, 34411, 34935, 35387, 37198, 37619, 39376, 27159, 28710, 29482, 33511, 33879, 36015, 19969, 20806, 20939, 21899, 23541, 24086, 24115, 24193, 24340, 24373, 24427, 24500, 25074, 25361, 26274, 26397, 28526, 29266, 30010, 30522, 32884, 33081, 33144, 34678, 35519, 35548, 36229, 36339, 37530, 38263, 38914, 40165, 21189, 25431, 30452, 26389, 27784, 29645, 36035, 37806, 38515, 27941, 22684, 26894, 27084, 36861, 37786, 30171, 36890, 22618, 26626, 25524, 27131, 20291, 28460, 26584, 36795, 34086, 32180, 37716, 26943, 28528, 22378, 22775, 23340, 32044, 29226, 21514, 37347, 40372, 20141, 20302, 20572, 20597, 21059, 35998, 21576, 22564, 23450, 24093, 24213, 24237, 24311, 24351, 24716, 25269, 25402, 25552, 26799, 27712, 30855, 31118, 31243, 32224, 33351, 35330, 35558, 36420, 36883], "37696": [37048, 37165, 37336, 40718, 27877, 25688, 25826, 25973, 28404, 30340, 31515, 36969, 37841, 28346, 21746, 24505, 25764, 36685, 36845, 37444, 20856, 22635, 22825, 23637, 24215, 28155, 32399, 29980, 36028, 36578, 39003, 28857, 20253, 27583, 28593, 30000, 38651, 20814, 21520, 22581, 22615, 22956, 23648, 24466, 26007, 26460, 28193, 30331, 33759, 36077, 36884, 37117, 37709, 30757, 30778, 21162, 24230, 22303, 22900, 24594, 20498, 20826, 20908], "37760": [20941, 20992, 21776, 22612, 22616, 22871, 23445, 23798, 23947, 24764, 25237, 25645, 26481, 26691, 26812, 26847, 30423, 28120, 28271, 28059, 28783, 29128, 24403, 30168, 31095, 31561, 31572, 31570, 31958, 32113, 21040, 33891, 34153, 34276, 35342, 35588, 35910, 36367, 36867, 36879, 37913, 38518, 38957, 39472, 38360, 20685, 21205, 21516, 22530, 23566, 24999, 25758, 27934, 30643, 31461, 33012, 33796, 36947, 37509, 23776, 40199, 21311, 24471, 24499, 28060, 29305, 30563, 31167, 31716, 27602, 29420, 35501, 26627, 27233, 20984, 31361, 26932, 23626, 40182, 33515, 23493, 37193, 28702, 22136, 23663, 24775, 25958, 27788, 35930, 36929, 38931, 21585, 26311, 37389, 22856, 37027, 20869, 20045, 20970, 34201, 35598, 28760, 25466, 37707, 26978, 39348, 32260, 30071, 21335, 26976, 36575, 38627, 27741, 20108, 23612, 24336, 36841, 21250, 36049, 32905, 34425, 24319, 26085, 20083, 20837], "37952": [22914, 23615, 38894, 20219, 22922, 24525, 35469, 28641, 31152, 31074, 23527, 33905, 29483, 29105, 24180, 24565, 25467, 25754, 29123, 31896, 20035, 24316, 20043, 22492, 22178, 24745, 28611, 32013, 33021, 33075, 33215, 36786, 35223, 34468, 24052, 25226, 25773, 35207, 26487, 27874, 27966, 29750, 30772, 23110, 32629, 33453, 39340, 20467, 24259, 25309, 25490, 25943, 26479, 30403, 29260, 32972, 32954, 36649, 37197, 20493, 22521, 23186, 26757], "38016": [26995, 29028, 29437, 36023, 22770, 36064, 38506, 36889, 34687, 31204, 30695, 33833, 20271, 21093, 21338, 25293, 26575, 27850, 30333, 31636, 31893, 33334, 34180, 36843, 26333, 28448, 29190, 32283, 33707, 39361, 40614, 20989, 31665, 30834, 31672, 32903, 31560, 27368, 24161, 32908, 30033, 30048, 20843, 37474, 28300, 30330, 37271, 39658, 20240, 32624, 25244, 31567, 38309, 40169, 22138, 22617, 34532, 38588, 20276, 21028, 21322, 21453, 21467, 24070, 25644, 26001, 26495, 27710, 27726, 29256, 29359, 29677, 30036, 32321, 33324, 34281, 36009, 31684, 37318, 29033, 38930, 39151, 25405, 26217, 30058, 30436, 30928, 34115, 34542, 21290, 21329, 21542, 22915, 24199, 24444, 24754, 25161, 25209, 25259, 26000, 27604, 27852, 30130, 30382, 30865, 31192, 32203, 32631, 32933, 34987, 35513, 36027, 36991, 38750, 39131, 27147, 31800, 20633, 23614, 24494, 26503, 27608, 29749, 30473, 32654], "38208": [40763, 26570, 31255, 21305, 30091, 39661, 24422, 33181, 33777, 32920, 24380, 24517, 30050, 31558, 36924, 26727, 23019, 23195, 32016, 30334, 35628, 20469, 24426, 27161, 27703, 28418, 29922, 31080, 34920, 35413, 35961, 24287, 25551, 30149, 31186, 33495, 37672, 37618, 33948, 34541, 39981, 21697, 24428, 25996, 27996, 28693, 36007, 36051, 38971, 25935, 29942, 19981, 20184, 22496, 22827, 23142, 23500, 20904, 24067, 24220, 24598, 25206, 25975], "38272": [26023, 26222, 28014, 29238, 31526, 33104, 33178, 33433, 35676, 36000, 36070, 36212, 38428, 38468, 20398, 25771, 27494, 33310, 33889, 34154, 37096, 23553, 26963, 39080, 33914, 34135, 20239, 21103, 24489, 24133, 26381, 31119, 33145, 35079, 35206, 28149, 24343, 25173, 27832, 20175, 29289, 39826, 20998, 21563, 22132, 22707, 24996, 25198, 28954, 22894, 31881, 31966, 32027, 38640, 25991, 32862, 19993, 20341, 20853, 22592, 24163, 24179, 24330, 26564, 20006, 34109, 38281, 38491, 31859, 38913, 20731, 22721, 30294, 30887, 21029, 30629, 34065, 31622, 20559, 22793, 29255, 31687, 32232, 36794, 36820, 36941, 20415, 21193, 23081, 24321, 38829, 20445, 33303, 37610, 22275, 25429, 27497, 29995, 35036, 36628, 31298, 21215, 22675, 24917, 25098, 26286, 27597, 31807, 33769, 20515, 20472, 21253, 21574, 22577, 22857, 23453, 23792, 23791, 23849, 24214, 25265, 25447, 25918, 26041, 26379], "38464": [27861, 27873, 28921, 30770, 32299, 32990, 33459, 33804, 34028, 34562, 35090, 35370, 35914, 37030, 37586, 39165, 40179, 40300, 20047, 20129, 20621, 21078, 22346, 22952, 24125, 24536, 24537, 25151, 26292, 26395, 26576, 26834, 20882, 32033, 32938, 33192, 35584, 35980, 36031, 37502, 38450, 21536, 38956, 21271, 20693, 21340, 22696, 25778, 26420, 29287, 30566, 31302, 37350, 21187, 27809, 27526, 22528, 24140, 22868, 26412, 32763, 20961, 30406], "38528": [25705, 30952, 39764, 40635, 22475, 22969, 26151, 26522, 27598, 21737, 27097, 24149, 33180, 26517, 39850, 26622, 40018, 26717, 20134, 20451, 21448, 25273, 26411, 27819, 36804, 20397, 32365, 40639, 19975, 24930, 28288, 28459, 34067, 21619, 26410, 39749, 24051, 31637, 23724, 23494, 34588, 28234, 34001, 31252, 33032, 22937, 31885, 27665, 30496, 21209, 22818, 28961, 29279, 30683, 38695, 40289, 26891, 23167, 23064, 20901, 21517, 21629, 26126, 30431, 36855, 37528, 40180, 23018, 29277, 28357, 20813, 26825, 32191, 32236, 38754, 40634, 25720, 27169, 33538, 22916, 23391, 27611, 29467, 30450, 32178, 32791, 33945, 20786, 26408, 40665, 30446, 26466, 21247, 39173, 23588, 25147, 31870, 36016, 21839, 24758, 32011, 38272, 21249, 20063, 20918, 22812, 29242, 32822, 37326, 24357, 30690, 21380, 24441, 32004, 34220, 35379, 36493, 38742, 26611, 34222, 37971, 24841, 24840, 27833, 30290], "38720": [35565, 36664, 21807, 20305, 20778, 21191, 21451, 23461, 24189, 24736, 24962, 25558, 26377, 26586, 28263, 28044, 29494, 29495, 30001, 31056, 35029, 35480, 36938, 37009, 37109, 38596, 34701, 22805, 20104, 20313, 19982, 35465, 36671, 38928, 20653, 24188, 22934, 23481, 24248, 25562, 25594, 25793, 26332, 26954, 27096, 27915, 28342, 29076, 29992, 31407, 32650, 32768, 33865, 33993, 35201, 35617, 36362, 36965, 38525, 39178, 24958, 25233, 27442], "38784": [27779, 28020, 32716, 32764, 28096, 32645, 34746, 35064, 26469, 33713, 38972, 38647, 27931, 32097, 33853, 37226, 20081, 21365, 23888, 27396, 28651, 34253, 34349, 35239, 21033, 21519, 23653, 26446, 26792, 29702, 29827, 30178, 35023, 35041, 37324, 38626, 38520, 24459, 29575, 31435, 33870, 25504, 30053, 21129, 27969, 28316, 29705, 30041, 30827, 31890, 38534, 31452, 40845, 20406, 24942, 26053, 34396, 20102, 20142, 20698, 20001, 20940, 23534, 26009, 26753, 28092, 29471, 30274, 30637, 31260, 31975, 33391, 35538, 36988, 37327, 38517, 38936, 21147, 32209, 20523, 21400, 26519, 28107, 29136, 29747, 33256, 36650, 38563, 40023, 40607, 29792, 22593, 28057, 32047, 39006, 20196, 20278, 20363, 20919, 21169, 23994, 24604, 29618, 31036, 33491, 37428, 38583, 38646, 38666, 40599, 40802, 26278, 27508, 21015, 21155, 28872, 35010, 24265, 24651, 24976, 28451, 29001, 31806, 32244, 32879], "38976": [34030, 36899, 37676, 21570, 39791, 27347, 28809, 36034, 36335, 38706, 21172, 23105, 24266, 24324, 26391, 27004, 27028, 28010, 28431, 29282, 29436, 31725, 32769, 32894, 34635, 37070, 20845, 40595, 31108, 32907, 37682, 35542, 20525, 21644, 35441, 27498, 36036, 33031, 24785, 26528, 40434, 20121, 20120, 39952, 35435, 34241, 34152, 26880, 28286, 30871, 33109], "39071": [24332, 19984, 19989, 20010, 20017, 20022, 20028, 20031, 20034, 20054, 20056, 20098, 20101, 35947, 20106, 33298, 24333, 20110, 20126, 20127, 20128, 20130, 20144, 20147, 20150, 20174, 20173, 20164, 20166, 20162, 20183, 20190, 20205, 20191, 20215, 20233, 20314, 20272, 20315, 20317, 20311, 20295, 20342, 20360, 20367, 20376, 20347, 20329, 20336, 20369, 20335, 20358, 20374, 20760, 20436, 20447, 20430, 20440, 20443, 20433, 20442, 20432, 20452, 20453, 20506, 20520, 20500, 20522, 20517, 20485, 20252, 20470, 20513, 20521, 20524, 20478, 20463, 20497, 20486, 20547, 20551, 26371, 20565, 20560, 20552, 20570, 20566, 20588, 20600, 20608, 20634, 20613, 20660, 20658], "39232": [20681, 20682, 20659, 20674, 20694, 20702, 20709, 20717, 20707, 20718, 20729, 20725, 20745, 20737, 20738, 20758, 20757, 20756, 20762, 20769, 20794, 20791, 20796, 20795, 20799, 20800, 20818, 20812, 20820, 20834, 31480, 20841, 20842, 20846, 20864, 20866, 22232, 20876, 20873, 20879, 20881, 20883, 20885, 20886, 20900, 20902, 20898, 20905, 20906, 20907, 20915, 20913, 20914, 20912, 20917, 20925, 20933, 20937, 20955, 20960, 34389, 20969, 20973], "39296": [20976, 20981, 20990, 20996, 21003, 21012, 21006, 21031, 21034, 21038, 21043, 21049, 21071, 21060, 21067, 21068, 21086, 21076, 21098, 21108, 21097, 21107, 21119, 21117, 21133, 21140, 21138, 21105, 21128, 21137, 36776, 36775, 21164, 21165, 21180, 21173, 21185, 21197, 21207, 21214, 21219, 21222, 39149, 21216, 21235, 21237, 21240, 21241, 21254, 21256, 30008, 21261, 21264, 21263, 21269, 21274, 21283, 21295, 21297, 21299, 21304, 21312, 21318, 21317, 19991, 21321, 21325, 20950, 21342, 21353, 21358, 22808, 21371, 21367, 21378, 21398, 21408, 21414, 21413, 21422, 21424, 21430, 21443, 31762, 38617, 21471, 26364, 29166, 21486, 21480, 21485, 21498, 21505, 21565, 21568, 21548, 21549, 21564, 21550, 21558, 21545, 21533, 21582, 21647, 21621, 21646, 21599, 21617, 21623, 21616, 21650, 21627, 21632, 21622, 21636, 21648, 21638, 21703, 21666, 21688, 21669, 21676, 21700, 21704, 21672], "39488": [21675, 21698, 21668, 21694, 21692, 21720, 21733, 21734, 21775, 21780, 21757, 21742, 21741, 21754, 21730, 21817, 21824, 21859, 21836, 21806, 21852, 21829, 21846, 21847, 21816, 21811, 21853, 21913, 21888, 21679, 21898, 21919, 21883, 21886, 21912, 21918, 21934, 21884, 21891, 21929, 21895, 21928, 21978, 21957, 21983, 21956, 21980, 21988, 21972, 22036, 22007, 22038, 22014, 22013, 22043, 22009, 22094, 22096, 29151, 22068, 22070, 22066, 22072], "39552": [22123, 22116, 22063, 22124, 22122, 22150, 22144, 22154, 22176, 22164, 22159, 22181, 22190, 22198, 22196, 22210, 22204, 22209, 22211, 22208, 22216, 22222, 22225, 22227, 22231, 22254, 22265, 22272, 22271, 22276, 22281, 22280, 22283, 22285, 22291, 22296, 22294, 21959, 22300, 22310, 22327, 22328, 22350, 22331, 22336, 22351, 22377, 22464, 22408, 22369, 22399, 22409, 22419, 22432, 22451, 22436, 22442, 22448, 22467, 22470, 22484, 22482, 22483, 22538, 22486, 22499, 22539, 22553, 22557, 22642, 22561, 22626, 22603, 22640, 27584, 22610, 22589, 22649, 22661, 22713, 22687, 22699, 22714, 22750, 22715, 22712, 22702, 22725, 22739, 22737, 22743, 22745, 22744, 22757, 22748, 22756, 22751, 22767, 22778, 22777, 22779, 22780, 22781, 22786, 22794, 22800, 22811, 26790, 22821, 22828, 22829, 22834, 22840, 22846, 31442, 22869, 22864, 22862, 22874, 22872, 22882, 22880, 22887, 22892, 22889], "39744": [22904, 22913, 22941, 20318, 20395, 22947, 22962, 22982, 23016, 23004, 22925, 23001, 23002, 23077, 23071, 23057, 23068, 23049, 23066, 23104, 23148, 23113, 23093, 23094, 23138, 23146, 23194, 23228, 23230, 23243, 23234, 23229, 23267, 23255, 23270, 23273, 23254, 23290, 23291, 23308, 23307, 23318, 23346, 23248, 23338, 23350, 23358, 23363, 23365, 23360, 23377, 23381, 23386, 23387, 23397, 23401, 23408, 23411, 23413, 23416, 25992, 23418, 23424], "39808": [23427, 23462, 23480, 23491, 23495, 23497, 23508, 23504, 23524, 23526, 23522, 23518, 23525, 23531, 23536, 23542, 23539, 23557, 23559, 23560, 23565, 23571, 23584, 23586, 23592, 23608, 23609, 23617, 23622, 23630, 23635, 23632, 23631, 23409, 23660, 23662, 20066, 23670, 23673, 23692, 23697, 23700, 22939, 23723, 23739, 23734, 23740, 23735, 23749, 23742, 23751, 23769, 23785, 23805, 23802, 23789, 23948, 23786, 23819, 23829, 23831, 23900, 23839, 23835, 23825, 23828, 23842, 23834, 23833, 23832, 23884, 23890, 23886, 23883, 23916, 23923, 23926, 23943, 23940, 23938, 23970, 23965, 23980, 23982, 23997, 23952, 23991, 23996, 24009, 24013, 24019, 24018, 24022, 24027, 24043, 24050, 24053, 24075, 24090, 24089, 24081, 24091, 24118, 24119, 24132, 24131, 24128, 24142, 24151, 24148, 24159, 24162, 24164, 24135, 24181, 24182, 24186, 40636, 24191, 24224, 24257, 24258, 24264, 24272, 24271], "40000": [24278, 24291, 24285, 24282, 24283, 24290, 24289, 24296, 24297, 24300, 24305, 24307, 24304, 24308, 24312, 24318, 24323, 24329, 24413, 24412, 24331, 24337, 24342, 24361, 24365, 24376, 24385, 24392, 24396, 24398, 24367, 24401, 24406, 24407, 24409, 24417, 24429, 24435, 24439, 24451, 24450, 24447, 24458, 24456, 24465, 24455, 24478, 24473, 24472, 24480, 24488, 24493, 24508, 24534, 24571, 24548, 24568, 24561, 24541, 24755, 24575, 24609, 24672], "40064": [24601, 24592, 24617, 24590, 24625, 24603, 24597, 24619, 24614, 24591, 24634, 24666, 24641, 24682, 24695, 24671, 24650, 24646, 24653, 24675, 24643, 24676, 24642, 24684, 24683, 24665, 24705, 24717, 24807, 24707, 24730, 24708, 24731, 24726, 24727, 24722, 24743, 24715, 24801, 24760, 24800, 24787, 24756, 24560, 24765, 24774, 24757, 24792, 24909, 24853, 24838, 24822, 24823, 24832, 24820, 24826, 24835, 24865, 24827, 24817, 24845, 24846, 24903, 24894, 24872, 24871, 24906, 24895, 24892, 24876, 24884, 24893, 24898, 24900, 24947, 24951, 24920, 24921, 24922, 24939, 24948, 24943, 24933, 24945, 24927, 24925, 24915, 24949, 24985, 24982, 24967, 25004, 24980, 24986, 24970, 24977, 25003, 25006, 25036, 25034, 25033, 25079, 25032, 25027, 25030, 25018, 25035, 32633, 25037, 25062, 25059, 25078, 25082, 25076, 25087, 25085, 25084, 25086, 25088, 25096, 25097, 25101, 25100, 25108, 25115], "40256": [25118, 25121, 25130, 25134, 25136, 25138, 25139, 25153, 25166, 25182, 25187, 25179, 25184, 25192, 25212, 25218, 25225, 25214, 25234, 25235, 25238, 25300, 25219, 25236, 25303, 25297, 25275, 25295, 25343, 25286, 25812, 25288, 25308, 25292, 25290, 25282, 25287, 25243, 25289, 25356, 25326, 25329, 25383, 25346, 25352, 25327, 25333, 25424, 25406, 25421, 25628, 25423, 25494, 25486, 25472, 25515, 25462, 25507, 25487, 25481, 25503, 25525, 25451], "40320": [25449, 25534, 25577, 25536, 25542, 25571, 25545, 25554, 25590, 25540, 25622, 25652, 25606, 25619, 25638, 25654, 25885, 25623, 25640, 25615, 25703, 25711, 25718, 25678, 25898, 25749, 25747, 25765, 25769, 25736, 25788, 25818, 25810, 25797, 25799, 25787, 25816, 25794, 25841, 25831, 33289, 25824, 25825, 25260, 25827, 25839, 25900, 25846, 25844, 25842, 25850, 25856, 25853, 25880, 25884, 25861, 25892, 25891, 25899, 25908, 25909, 25911, 25910, 25912, 30027, 25928, 25942, 25941, 25933, 25944, 25950, 25949, 25970, 25976, 25986, 25987, 35722, 26011, 26015, 26027, 26039, 26051, 26054, 26049, 26052, 26060, 26066, 26075, 26073, 26080, 26081, 26097, 26482, 26122, 26115, 26107, 26483, 26165, 26166, 26164, 26140, 26191, 26180, 26185, 26177, 26206, 26205, 26212, 26215, 26216, 26207, 26210, 26224, 26243, 26248, 26254, 26249, 26244, 26264, 26269, 26305, 26297, 26313, 26302, 26300], "40512": [26308, 26296, 26326, 26330, 26336, 26175, 26342, 26345, 26352, 26357, 26359, 26383, 26390, 26398, 26406, 26407, 38712, 26414, 26431, 26422, 26433, 26424, 26423, 26438, 26462, 26464, 26457, 26467, 26468, 26505, 26480, 26537, 26492, 26474, 26508, 26507, 26534, 26529, 26501, 26551, 26607, 26548, 26604, 26547, 26601, 26552, 26596, 26590, 26589, 26594, 26606, 26553, 26574, 26566, 26599, 27292, 26654, 26694, 26665, 26688, 26701, 26674, 26702], "40576": [26803, 26667, 26713, 26723, 26743, 26751, 26783, 26767, 26797, 26772, 26781, 26779, 26755, 27310, 26809, 26740, 26805, 26784, 26810, 26895, 26765, 26750, 26881, 26826, 26888, 26840, 26914, 26918, 26849, 26892, 26829, 26836, 26855, 26837, 26934, 26898, 26884, 26839, 26851, 26917, 26873, 26848, 26863, 26920, 26922, 26906, 26915, 26913, 26822, 27001, 26999, 26972, 27000, 26987, 26964, 27006, 26990, 26937, 26996, 26941, 26969, 26928, 26977, 26974, 26973, 27009, 26986, 27058, 27054, 27088, 27071, 27073, 27091, 27070, 27086, 23528, 27082, 27101, 27067, 27075, 27047, 27182, 27025, 27040, 27036, 27029, 27060, 27102, 27112, 27138, 27163, 27135, 27402, 27129, 27122, 27111, 27141, 27057, 27166, 27117, 27156, 27115, 27146, 27154, 27329, 27171, 27155, 27204, 27148, 27250, 27190, 27256, 27207, 27234, 27225, 27238, 27208, 27192, 27170, 27280, 27277, 27296, 27268, 27298, 27299], "40768": [27287, 34327, 27323, 27331, 27330, 27320, 27315, 27308, 27358, 27345, 27359, 27306, 27354, 27370, 27387, 27397, 34326, 27386, 27410, 27414, 39729, 27423, 27448, 27447, 30428, 27449, 39150, 27463, 27459, 27465, 27472, 27481, 27476, 27483, 27487, 27489, 27512, 27513, 27519, 27520, 27524, 27523, 27533, 27544, 27541, 27550, 27556, 27562, 27563, 27567, 27570, 27569, 27571, 27575, 27580, 27590, 27595, 27603, 27615, 27628, 27627, 27635, 27631], "40832": [40638, 27656, 27667, 27668, 27675, 27684, 27683, 27742, 27733, 27746, 27754, 27778, 27789, 27802, 27777, 27803, 27774, 27752, 27763, 27794, 27792, 27844, 27889, 27859, 27837, 27863, 27845, 27869, 27822, 27825, 27838, 27834, 27867, 27887, 27865, 27882, 27935, 34893, 27958, 27947, 27965, 27960, 27929, 27957, 27955, 27922, 27916, 28003, 28051, 28004, 27994, 28025, 27993, 28046, 28053, 28644, 28037, 28153, 28181, 28170, 28085, 28103, 28134, 28088, 28102, 28140, 28126, 28108, 28136, 28114, 28101, 28154, 28121, 28132, 28117, 28138, 28142, 28205, 28270, 28206, 28185, 28274, 28255, 28222, 28195, 28267, 28203, 28278, 28237, 28191, 28227, 28218, 28238, 28196, 28415, 28189, 28216, 28290, 28330, 28312, 28361, 28343, 28371, 28349, 28335, 28356, 28338, 28372, 28373, 28303, 28325, 28354, 28319, 28481, 28433, 28748, 28396, 28408, 28414, 28479, 28402, 28465, 28399, 28466, 28364], "57408": [28478, 28435, 28407, 28550, 28538, 28536, 28545, 28544, 28527, 28507, 28659, 28525, 28546, 28540, 28504, 28558, 28561, 28610, 28518, 28595, 28579, 28577, 28580, 28601, 28614, 28586, 28639, 28629, 28652, 28628, 28632, 28657, 28654, 28635, 28681, 28683, 28666, 28689, 28673, 28687, 28670, 28699, 28698, 28532, 28701, 28696, 28703, 28720, 28734, 28722, 28753, 28771, 28825, 28818, 28847, 28913, 28844, 28856, 28851, 28846, 28895, 28875, 28893], "57472": [28889, 28937, 28925, 28956, 28953, 29029, 29013, 29064, 29030, 29026, 29004, 29014, 29036, 29071, 29179, 29060, 29077, 29096, 29100, 29143, 29113, 29118, 29138, 29129, 29140, 29134, 29152, 29164, 29159, 29173, 29180, 29177, 29183, 29197, 29200, 29211, 29224, 29229, 29228, 29232, 29234, 29243, 29244, 29247, 29248, 29254, 29259, 29272, 29300, 29310, 29314, 29313, 29319, 29330, 29334, 29346, 29351, 29369, 29362, 29379, 29382, 29380, 29390, 29394, 29410, 29408, 29409, 29433, 29431, 20495, 29463, 29450, 29468, 29462, 29469, 29492, 29487, 29481, 29477, 29502, 29518, 29519, 40664, 29527, 29546, 29544, 29552, 29560, 29557, 29563, 29562, 29640, 29619, 29646, 29627, 29632, 29669, 29678, 29662, 29858, 29701, 29807, 29733, 29688, 29746, 29754, 29781, 29759, 29791, 29785, 29761, 29788, 29801, 29808, 29795, 29802, 29814, 29822, 29835, 29854, 29863, 29898, 29903, 29908, 29681], "57664": [29920, 29923, 29927, 29929, 29934, 29938, 29936, 29937, 29944, 29943, 29956, 29955, 29957, 29964, 29966, 29965, 29973, 29971, 29982, 29990, 29996, 30012, 30020, 30029, 30026, 30025, 30043, 30022, 30042, 30057, 30052, 30055, 30059, 30061, 30072, 30070, 30086, 30087, 30068, 30090, 30089, 30082, 30100, 30106, 30109, 30117, 30115, 30146, 30131, 30147, 30133, 30141, 30136, 30140, 30129, 30157, 30154, 30162, 30169, 30179, 30174, 30206, 30207], "57728": [30204, 30209, 30192, 30202, 30194, 30195, 30219, 30221, 30217, 30239, 30247, 30240, 30241, 30242, 30244, 30260, 30256, 30267, 30279, 30280, 30278, 30300, 30296, 30305, 30306, 30312, 30313, 30314, 30311, 30316, 30320, 30322, 30326, 30328, 30332, 30336, 30339, 30344, 30347, 30350, 30358, 30355, 30361, 30362, 30384, 30388, 30392, 30393, 30394, 30402, 30413, 30422, 30418, 30430, 30433, 30437, 30439, 30442, 34351, 30459, 30472, 30471, 30468, 30505, 30500, 30494, 30501, 30502, 30491, 30519, 30520, 30535, 30554, 30568, 30571, 30555, 30565, 30591, 30590, 30585, 30606, 30603, 30609, 30624, 30622, 30640, 30646, 30649, 30655, 30652, 30653, 30651, 30663, 30669, 30679, 30682, 30684, 30691, 30702, 30716, 30732, 30738, 31014, 30752, 31018, 30789, 30862, 30836, 30854, 30844, 30874, 30860, 30883, 30901, 30890, 30895, 30929, 30918, 30923, 30932, 30910, 30908, 30917, 30922, 30956], "57920": [30951, 30938, 30973, 30964, 30983, 30994, 30993, 31001, 31020, 31019, 31040, 31072, 31063, 31071, 31066, 31061, 31059, 31098, 31103, 31114, 31133, 31143, 40779, 31146, 31150, 31155, 31161, 31162, 31177, 31189, 31207, 31212, 31201, 31203, 31240, 31245, 31256, 31257, 31264, 31263, 31104, 31281, 31291, 31294, 31287, 31299, 31319, 31305, 31329, 31330, 31337, 40861, 31344, 31353, 31357, 31368, 31383, 31381, 31384, 31382, 31401, 31432, 31408], "57984": [31414, 31429, 31428, 31423, 36995, 31431, 31434, 31437, 31439, 31445, 31443, 31449, 31450, 31453, 31457, 31458, 31462, 31469, 31472, 31490, 31503, 31498, 31494, 31539, 31512, 31513, 31518, 31541, 31528, 31542, 31568, 31610, 31492, 31565, 31499, 31564, 31557, 31605, 31589, 31604, 31591, 31600, 31601, 31596, 31598, 31645, 31640, 31647, 31629, 31644, 31642, 31627, 31634, 31631, 31581, 31641, 31691, 31681, 31692, 31695, 31668, 31686, 31709, 31721, 31761, 31764, 31718, 31717, 31840, 31744, 31751, 31763, 31731, 31735, 31767, 31757, 31734, 31779, 31783, 31786, 31775, 31799, 31787, 31805, 31820, 31811, 31828, 31823, 31808, 31824, 31832, 31839, 31844, 31830, 31845, 31852, 31861, 31875, 31888, 31908, 31917, 31906, 31915, 31905, 31912, 31923, 31922, 31921, 31918, 31929, 31933, 31936, 31941, 31938, 31960, 31954, 31964, 31970, 39739, 31983, 31986, 31988, 31990, 31994, 32006], "58176": [32002, 32028, 32021, 32010, 32069, 32075, 32046, 32050, 32063, 32053, 32070, 32115, 32086, 32078, 32114, 32104, 32110, 32079, 32099, 32147, 32137, 32091, 32143, 32125, 32155, 32186, 32174, 32163, 32181, 32199, 32189, 32171, 32317, 32162, 32175, 32220, 32184, 32159, 32176, 32216, 32221, 32228, 32222, 32251, 32242, 32225, 32261, 32266, 32291, 32289, 32274, 32305, 32287, 32265, 32267, 32290, 32326, 32358, 32315, 32309, 32313, 32323, 32311], "58240": [32306, 32314, 32359, 32349, 32342, 32350, 32345, 32346, 32377, 32362, 32361, 32380, 32379, 32387, 32213, 32381, 36782, 32383, 32392, 32393, 32396, 32402, 32400, 32403, 32404, 32406, 32398, 32411, 32412, 32568, 32570, 32581, 32588, 32589, 32590, 32592, 32593, 32597, 32596, 32600, 32607, 32608, 32616, 32617, 32615, 32632, 32642, 32646, 32643, 32648, 32647, 32652, 32660, 32670, 32669, 32666, 32675, 32687, 32690, 32697, 32686, 32694, 32696, 35697, 32709, 32710, 32714, 32725, 32724, 32737, 32742, 32745, 32755, 32761, 39132, 32774, 32772, 32779, 32786, 32792, 32793, 32796, 32801, 32808, 32831, 32827, 32842, 32838, 32850, 32856, 32858, 32863, 32866, 32872, 32883, 32882, 32880, 32886, 32889, 32893, 32895, 32900, 32902, 32901, 32923, 32915, 32922, 32941, 20880, 32940, 32987, 32997, 32985, 32989, 32964, 32986, 32982, 33033, 33007, 33009, 33051, 33065, 33059, 33071, 33099], "58432": [38539, 33094, 33086, 33107, 33105, 33020, 33137, 33134, 33125, 33126, 33140, 33155, 33160, 33162, 33152, 33154, 33184, 33173, 33188, 33187, 33119, 33171, 33193, 33200, 33205, 33214, 33208, 33213, 33216, 33218, 33210, 33225, 33229, 33233, 33241, 33240, 33224, 33242, 33247, 33248, 33255, 33274, 33275, 33278, 33281, 33282, 33285, 33287, 33290, 33293, 33296, 33302, 33321, 33323, 33336, 33331, 33344, 33369, 33368, 33373, 33370, 33375, 33380], "58496": [33378, 33384, 33386, 33387, 33326, 33393, 33399, 33400, 33406, 33421, 33426, 33451, 33439, 33467, 33452, 33505, 33507, 33503, 33490, 33524, 33523, 33530, 33683, 33539, 33531, 33529, 33502, 33542, 33500, 33545, 33497, 33589, 33588, 33558, 33586, 33585, 33600, 33593, 33616, 33605, 33583, 33579, 33559, 33560, 33669, 33690, 33706, 33695, 33698, 33686, 33571, 33678, 33671, 33674, 33660, 33717, 33651, 33653, 33696, 33673, 33704, 33780, 33811, 33771, 33742, 33789, 33795, 33752, 33803, 33729, 33783, 33799, 33760, 33778, 33805, 33826, 33824, 33725, 33848, 34054, 33787, 33901, 33834, 33852, 34138, 33924, 33911, 33899, 33965, 33902, 33922, 33897, 33862, 33836, 33903, 33913, 33845, 33994, 33890, 33977, 33983, 33951, 34009, 33997, 33979, 34010, 34000, 33985, 33990, 34006, 33953, 34081, 34047, 34036, 34071, 34072, 34092, 34079, 34069, 34068, 34044, 34112, 34147, 34136, 34120], "58688": [34113, 34306, 34123, 34133, 34176, 34212, 34184, 34193, 34186, 34216, 34157, 34196, 34203, 34282, 34183, 34204, 34167, 34174, 34192, 34249, 34234, 34255, 34233, 34256, 34261, 34269, 34277, 34268, 34297, 34314, 34323, 34315, 34302, 34298, 34310, 34338, 34330, 34352, 34367, 34381, 20053, 34388, 34399, 34407, 34417, 34451, 34467, 34473, 34474, 34443, 34444, 34486, 34479, 34500, 34502, 34480, 34505, 34851, 34475, 34516, 34526, 34537, 34540], "58752": [34527, 34523, 34543, 34578, 34566, 34568, 34560, 34563, 34555, 34577, 34569, 34573, 34553, 34570, 34612, 34623, 34615, 34619, 34597, 34601, 34586, 34656, 34655, 34680, 34636, 34638, 34676, 34647, 34664, 34670, 34649, 34643, 34659, 34666, 34821, 34722, 34719, 34690, 34735, 34763, 34749, 34752, 34768, 38614, 34731, 34756, 34739, 34759, 34758, 34747, 34799, 34802, 34784, 34831, 34829, 34814, 34806, 34807, 34830, 34770, 34833, 34838, 34837, 34850, 34849, 34865, 34870, 34873, 34855, 34875, 34884, 34882, 34898, 34905, 34910, 34914, 34923, 34945, 34942, 34974, 34933, 34941, 34997, 34930, 34946, 34967, 34962, 34990, 34969, 34978, 34957, 34980, 34992, 35007, 34993, 35011, 35012, 35028, 35032, 35033, 35037, 35065, 35074, 35068, 35060, 35048, 35058, 35076, 35084, 35082, 35091, 35139, 35102, 35109, 35114, 35115, 35137, 35140, 35131, 35126, 35128, 35148, 35101, 35168, 35166], "58944": [35174, 35172, 35181, 35178, 35183, 35188, 35191, 35198, 35203, 35208, 35210, 35219, 35224, 35233, 35241, 35238, 35244, 35247, 35250, 35258, 35261, 35263, 35264, 35290, 35292, 35293, 35303, 35316, 35320, 35331, 35350, 35344, 35340, 35355, 35357, 35365, 35382, 35393, 35419, 35410, 35398, 35400, 35452, 35437, 35436, 35426, 35461, 35458, 35460, 35496, 35489, 35473, 35493, 35494, 35482, 35491, 35524, 35533, 35522, 35546, 35563, 35571, 35559], "59008": [35556, 35569, 35604, 35552, 35554, 35575, 35550, 35547, 35596, 35591, 35610, 35553, 35606, 35600, 35607, 35616, 35635, 38827, 35622, 35627, 35646, 35624, 35649, 35660, 35663, 35662, 35657, 35670, 35675, 35674, 35691, 35679, 35692, 35695, 35700, 35709, 35712, 35724, 35726, 35730, 35731, 35734, 35737, 35738, 35898, 35905, 35903, 35912, 35916, 35918, 35920, 35925, 35938, 35948, 35960, 35962, 35970, 35977, 35973, 35978, 35981, 35982, 35988, 35964, 35992, 25117, 36013, 36010, 36029, 36018, 36019, 36014, 36022, 36040, 36033, 36068, 36067, 36058, 36093, 36090, 36091, 36100, 36101, 36106, 36103, 36111, 36109, 36112, 40782, 36115, 36045, 36116, 36118, 36199, 36205, 36209, 36211, 36225, 36249, 36290, 36286, 36282, 36303, 36314, 36310, 36300, 36315, 36299, 36330, 36331, 36319, 36323, 36348, 36360, 36361, 36351, 36381, 36382, 36368, 36383, 36418, 36405, 36400, 36404, 36426], "59200": [36423, 36425, 36428, 36432, 36424, 36441, 36452, 36448, 36394, 36451, 36437, 36470, 36466, 36476, 36481, 36487, 36485, 36484, 36491, 36490, 36499, 36497, 36500, 36505, 36522, 36513, 36524, 36528, 36550, 36529, 36542, 36549, 36552, 36555, 36571, 36579, 36604, 36603, 36587, 36606, 36618, 36613, 36629, 36626, 36633, 36627, 36636, 36639, 36635, 36620, 36646, 36659, 36667, 36665, 36677, 36674, 36670, 36684, 36681, 36678, 36686, 36695, 36700], "59264": [36706, 36707, 36708, 36764, 36767, 36771, 36781, 36783, 36791, 36826, 36837, 36834, 36842, 36847, 36999, 36852, 36869, 36857, 36858, 36881, 36885, 36897, 36877, 36894, 36886, 36875, 36903, 36918, 36917, 36921, 36856, 36943, 36944, 36945, 36946, 36878, 36937, 36926, 36950, 36952, 36958, 36968, 36975, 36982, 38568, 36978, 36994, 36989, 36993, 36992, 37002, 37001, 37007, 37032, 37039, 37041, 37045, 37090, 37092, 25160, 37083, 37122, 37138, 37145, 37170, 37168, 37194, 37206, 37208, 37219, 37221, 37225, 37235, 37234, 37259, 37257, 37250, 37282, 37291, 37295, 37290, 37301, 37300, 37306, 37312, 37313, 37321, 37323, 37328, 37334, 37343, 37345, 37339, 37372, 37365, 37366, 37406, 37375, 37396, 37420, 37397, 37393, 37470, 37463, 37445, 37449, 37476, 37448, 37525, 37439, 37451, 37456, 37532, 37526, 37523, 37531, 37466, 37583, 37561, 37559, 37609, 37647, 37626, 37700, 37678], "59456": [37657, 37666, 37658, 37667, 37690, 37685, 37691, 37724, 37728, 37756, 37742, 37718, 37808, 37804, 37805, 37780, 37817, 37846, 37847, 37864, 37861, 37848, 37827, 37853, 37840, 37832, 37860, 37914, 37908, 37907, 37891, 37895, 37904, 37942, 37931, 37941, 37921, 37946, 37953, 37970, 37956, 37979, 37984, 37986, 37982, 37994, 37417, 38000, 38005, 38007, 38013, 37978, 38012, 38014, 38017, 38015, 38274, 38279, 38282, 38292, 38294, 38296, 38297], "59520": [38304, 38312, 38311, 38317, 38332, 38331, 38329, 38334, 38346, 28662, 38339, 38349, 38348, 38357, 38356, 38358, 38364, 38369, 38373, 38370, 38433, 38440, 38446, 38447, 38466, 38476, 38479, 38475, 38519, 38492, 38494, 38493, 38495, 38502, 38514, 38508, 38541, 38552, 38549, 38551, 38570, 38567, 38577, 38578, 38576, 38580, 38582, 38584, 38585, 38606, 38603, 38601, 38605, 35149, 38620, 38669, 38613, 38649, 38660, 38662, 38664, 38675, 38670, 38673, 38671, 38678, 38681, 38692, 38698, 38704, 38713, 38717, 38718, 38724, 38726, 38728, 38722, 38729, 38748, 38752, 38756, 38758, 38760, 21202, 38763, 38769, 38777, 38789, 38780, 38785, 38778, 38790, 38795, 38799, 38800, 38812, 38824, 38822, 38819, 38835, 38836, 38851, 38854, 38856, 38859, 38876, 38893, 40783, 38898, 31455, 38902, 38901, 38927, 38924, 38968, 38948, 38945, 38967, 38973, 38982, 38991, 38987, 39019, 39023, 39024], "59712": [39025, 39028, 39027, 39082, 39087, 39089, 39094, 39108, 39107, 39110, 39145, 39147, 39171, 39177, 39186, 39188, 39192, 39201, 39197, 39198, 39204, 39200, 39212, 39214, 39229, 39230, 39234, 39241, 39237, 39248, 39243, 39249, 39250, 39244, 39253, 39319, 39320, 39333, 39341, 39342, 39356, 39391, 39387, 39389, 39384, 39377, 39405, 39406, 39409, 39410, 39419, 39416, 39425, 39439, 39429, 39394, 39449, 39467, 39479, 39493, 39490, 39488, 39491], "59776": [39486, 39509, 39501, 39515, 39511, 39519, 39522, 39525, 39524, 39529, 39531, 39530, 39597, 39600, 39612, 39616, 39631, 39633, 39635, 39636, 39646, 39647, 39650, 39651, 39654, 39663, 39659, 39662, 39668, 39665, 39671, 39675, 39686, 39704, 39706, 39711, 39714, 39715, 39717, 39719, 39720, 39721, 39722, 39726, 39727, 39730, 39748, 39747, 39759, 39757, 39758, 39761, 39768, 39796, 39827, 39811, 39825, 39830, 39831, 39839, 39840, 39848, 39860, 39872, 39882, 39865, 39878, 39887, 39889, 39890, 39907, 39906, 39908, 39892, 39905, 39994, 39922, 39921, 39920, 39957, 39956, 39945, 39955, 39948, 39942, 39944, 39954, 39946, 39940, 39982, 39963, 39973, 39972, 39969, 39984, 40007, 39986, 40006, 39998, 40026, 40032, 40039, 40054, 40056, 40167, 40172, 40176, 40201, 40200, 40171, 40195, 40198, 40234, 40230, 40367, 40227, 40223, 40260, 40213, 40210, 40257, 40255, 40254, 40262, 40264], "59968": [40285, 40286, 40292, 40273, 40272, 40281, 40306, 40329, 40327, 40363, 40303, 40314, 40346, 40356, 40361, 40370, 40388, 40385, 40379, 40376, 40378, 40390, 40399, 40386, 40409, 40403, 40440, 40422, 40429, 40431, 40445, 40474, 40475, 40478, 40565, 40569, 40573, 40577, 40584, 40587, 40588, 40594, 40597, 40593, 40605, 40613, 40617, 40632, 40618, 40621, 38753, 40652, 40654, 40655, 40656, 40660, 40668, 40670, 40669, 40672, 40677, 40680, 40687], "60032": [40692, 40694, 40695, 40697, 40699, 40700, 40701, 40711, 40712, 30391, 40725, 40737, 40748, 40766, 40778, 40786, 40788, 40803, 40799, 40800, 40801, 40806, 40807, 40812, 40810, 40823, 40818, 40822, 40853, 40860, 40864, 22575, 27079, 36953, 29796, 20956, 29081], "60736": [32394, 35100, 37704, 37512, 34012, 20425, 28859, 26161, 26824, 37625, 26363, 24389, 20008, 20193, 20220, 20224, 20227, 20281, 20310, 20370, 20362, 20378, 20372, 20429, 20544, 20514, 20479, 20510, 20550, 20592, 20546, 20628, 20724, 20696, 20810, 20836, 20893, 20926, 20972, 21013, 21148, 21158, 21184, 21211, 21248, 21255, 21284, 21362, 21395, 21426, 21469, 64014, 21660, 21642, 21673, 21759, 21894, 22361, 22373, 22444, 22472, 22471, 64015], "60800": [64016, 22686, 22706, 22795, 22867, 22875, 22877, 22883, 22948, 22970, 23382, 23488, 29999, 23512, 23532, 23582, 23718, 23738, 23797, 23847, 23891, 64017, 23874, 23917, 23992, 23993, 24016, 24353, 24372, 24423, 24503, 24542, 24669, 24709, 24714, 24798, 24789, 24864, 24818, 24849, 24887, 24880, 24984, 25107, 25254, 25589, 25696, 25757, 25806, 25934, 26112, 26133, 26171, 26121, 26158, 26142, 26148, 26213, 26199, 26201, 64018, 26227, 26265, 26272, 26290, 26303, 26362, 26382, 63785, 26470, 26555, 26706, 26560, 26625, 26692, 26831, 64019, 26984, 64020, 27032, 27106, 27184, 27243, 27206, 27251, 27262, 27362, 27364, 27606, 27711, 27740, 27782, 27759, 27866, 27908, 28039, 28015, 28054, 28076, 28111, 28152, 28146, 28156, 28217, 28252, 28199, 28220, 28351, 28552, 28597, 28661, 28677, 28679, 28712, 28805, 28843, 28943, 28932, 29020, 28998, 28999, 64021, 29121, 29182, 29361], "60992": [29374, 29476, 64022, 29559, 29629, 29641, 29654, 29667, 29650, 29703, 29685, 29734, 29738, 29737, 29742, 29794, 29833, 29855, 29953, 30063, 30338, 30364, 30366, 30363, 30374, 64023, 30534, 21167, 30753, 30798, 30820, 30842, 31024, 64024, 64025, 64026, 31124, 64027, 31131, 31441, 31463, 64028, 31467, 31646, 64029, 32072, 32092, 32183, 32160, 32214, 32338, 32583, 32673, 64030, 33537, 33634, 33663, 33735, 33782, 33864, 33972, 34131, 34137], "61056": [34155, 64031, 34224, 64032, 64033, 34823, 35061, 35346, 35383, 35449, 35495, 35518, 35551, 64034, 35574, 35667, 35711, 36080, 36084, 36114, 36214, 64035, 36559, 64036, 64037, 36967, 37086, 64038, 37141, 37159, 37338, 37335, 37342, 37357, 37358, 37348, 37349, 37382, 37392, 37386, 37434, 37440, 37436, 37454, 37465, 37457, 37433, 37479, 37543, 37495, 37496, 37607, 37591, 37593, 37584, 64039, 37589, 37600, 37587, 37669, 37665, 37627, 64040, 37662, 37631, 37661, 37634, 37744, 37719, 37796, 37830, 37854, 37880, 37937, 37957, 37960, 38290, 63964, 64041, 38557, 38575, 38707, 38715, 38723, 38733, 38735, 38737, 38741, 38999, 39013, 64042, 64043, 39207, 64044, 39326, 39502, 39641, 39644, 39797, 39794, 39823, 39857, 39867, 39936, 40304, 40299, 64045, 40473, 40657], "61167": [8560, 8561, 8562, 8563, 8564, 8565, 8566, 8567, 8568, 8569, 65506, 65508, 65287, 65282], "64064": [8560, 8561, 8562, 8563, 8564, 8565, 8566, 8567, 8568, 8569, 8544, 8545, 8546, 8547, 8548, 8549, 8550, 8551, 8552, 8553, 65506, 65508, 65287, 65282, 12849, 8470, 8481, 8757, 32394, 35100, 37704, 37512, 34012, 20425, 28859, 26161, 26824, 37625, 26363, 24389, 20008, 20193, 20220, 20224, 20227, 20281, 20310, 20370, 20362, 20378, 20372, 20429, 20544, 20514, 20479, 20510, 20550, 20592, 20546, 20628, 20724, 20696, 20810], "64128": [20836, 20893, 20926, 20972, 21013, 21148, 21158, 21184, 21211, 21248, 21255, 21284, 21362, 21395, 21426, 21469, 64014, 21660, 21642, 21673, 21759, 21894, 22361, 22373, 22444, 22472, 22471, 64015, 64016, 22686, 22706, 22795, 22867, 22875, 22877, 22883, 22948, 22970, 23382, 23488, 29999, 23512, 23532, 23582, 23718, 23738, 23797, 23847, 23891, 64017, 23874, 23917, 23992, 23993, 24016, 24353, 24372, 24423, 24503, 24542, 24669, 24709, 24714, 24798, 24789, 24864, 24818, 24849, 24887, 24880, 24984, 25107, 25254, 25589, 25696, 25757, 25806, 25934, 26112, 26133, 26171, 26121, 26158, 26142, 26148, 26213, 26199, 26201, 64018, 26227, 26265, 26272, 26290, 26303, 26362, 26382, 63785, 26470, 26555, 26706, 26560, 26625, 26692, 26831, 64019, 26984, 64020, 27032, 27106, 27184, 27243, 27206, 27251, 27262, 27362, 27364, 27606, 27711, 27740, 27782, 27759, 27866, 27908, 28039, 28015], "64320": [28054, 28076, 28111, 28152, 28146, 28156, 28217, 28252, 28199, 28220, 28351, 28552, 28597, 28661, 28677, 28679, 28712, 28805, 28843, 28943, 28932, 29020, 28998, 28999, 64021, 29121, 29182, 29361, 29374, 29476, 64022, 29559, 29629, 29641, 29654, 29667, 29650, 29703, 29685, 29734, 29738, 29737, 29742, 29794, 29833, 29855, 29953, 30063, 30338, 30364, 30366, 30363, 30374, 64023, 30534, 21167, 30753, 30798, 30820, 30842, 31024, 64024, 64025], "64384": [64026, 31124, 64027, 31131, 31441, 31463, 64028, 31467, 31646, 64029, 32072, 32092, 32183, 32160, 32214, 32338, 32583, 32673, 64030, 33537, 33634, 33663, 33735, 33782, 33864, 33972, 34131, 34137, 34155, 64031, 34224, 64032, 64033, 34823, 35061, 35346, 35383, 35449, 35495, 35518, 35551, 64034, 35574, 35667, 35711, 36080, 36084, 36114, 36214, 64035, 36559, 64036, 64037, 36967, 37086, 64038, 37141, 37159, 37338, 37335, 37342, 37357, 37358, 37348, 37349, 37382, 37392, 37386, 37434, 37440, 37436, 37454, 37465, 37457, 37433, 37479, 37543, 37495, 37496, 37607, 37591, 37593, 37584, 64039, 37589, 37600, 37587, 37669, 37665, 37627, 64040, 37662, 37631, 37661, 37634, 37744, 37719, 37796, 37830, 37854, 37880, 37937, 37957, 37960, 38290, 63964, 64041, 38557, 38575, 38707, 38715, 38723, 38733, 38735, 38737, 38741, 38999, 39013, 64042, 64043, 39207, 64044, 39326, 39502, 39641], "64576": [39644, 39797, 39794, 39823, 39857, 39867, 39936, 40304, 40299, 64045, 40473, 40657]}\nvar decoding_table = [],\n encoding_table = []\nfor(let cp in cps){\n cp = parseInt(cp)\n for(let i = 0, len = cps[cp].length; i < len; i++){\n let key = cp + i,\n value = cps[cp][i]\n decoding_table[key] = value\n encoding_table[value] = key\n }\n}\nvar module = {encoding_table, decoding_table}\n__BRYTHON__.addToImported("encoding_cp932", module)\n'],hashlib:[".js","(function($B){\n\nvar _b_ = $B.builtins\n\nvar block_size = {\n md5: 64,\n sha1: 64,\n sha224: 64,\n sha256: 64,\n sha384: 128,\n sha512: 128\n}\n\nvar $mod = {\n\n __getattr__ : function(attr){\n if(attr == 'new'){\n return hash.$factory\n }\n throw $B.attr_error(attr, $mod)\n },\n md5: function(obj){return hash.$factory('md5', obj)},\n sha1: function(obj){return hash.$factory('sha1', obj)},\n sha224: function(obj){return hash.$factory('sha224', obj)},\n sha256: function(obj){return hash.$factory('sha256', obj)},\n sha384: function(obj){return hash.$factory('sha384', obj)},\n sha512: function(obj){return hash.$factory('sha512', obj)},\n\n algorithms_guaranteed: ['md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512'],\n algorithms_available: ['md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512']\n}\n\n//todo: eventually move this function to a \"utility\" file or use ajax module?\nfunction $get_CryptoJS_lib(alg){\n if($B.VFS !== undefined && $B.VFS.hashlib){\n // use file in brython_stdlib.js\n var lib = $B.VFS[\"crypto_js.rollups.\" + alg]\n if (lib === undefined){\n throw _b_.ImportError.$factory(\"can't import hashlib.\" + alg)\n }\n var res = lib[1]\n try{\n eval(res + \"; $B.CryptoJS = CryptoJS;\")\n return\n }catch(err){\n throw Error(\"JS Eval Error\",\n \"Cannot eval CryptoJS algorithm '\" + alg + \"' : error:\" + err)\n }\n }\n\n var module = {__name__: 'CryptoJS', $is_package: false}\n var res = $B.$download_module(module, $B.brython_path + 'libs/crypto_js/rollups/' + alg + '.js');\n\n try{\n eval(res + \"; $B.CryptoJS = CryptoJS;\")\n }catch(err){\n throw Error(\"JS Eval Error\",\n \"Cannot eval CryptoJS algorithm '\" + alg + \"' : error:\" + err)\n }\n}\n\nfunction bytes2WordArray(obj){\n // Transform a bytes object into an instance of class WordArray\n // defined in CryptoJS\n if(!$B.$isinstance(obj, _b_.bytes)){\n throw _b_.TypeError(\"expected bytes, got \" + $B.class_name(obj))\n }\n\n var words = []\n for(var i = 0; i < obj.source.length; i += 4){\n var word = obj.source.slice(i, i + 4)\n while(word.length < 4){word.push(0)}\n var w = word[3] + (word[2] << 8) + (word[1] << 16) + (word[0] << 24)\n words.push(w)\n }\n return {words: words, sigBytes: obj.source.length}\n}\n\nvar hash = {\n __class__: _b_.type,\n __mro__: [_b_.object],\n __qualname__: 'hash',\n __name__: 'hash'\n}\n\nhash.update = function(self, msg){\n self.hash.update(bytes2WordArray(msg))\n}\n\nhash.copy = function(self){\n return self.hash.clone()\n}\n\nhash.digest = function(self){\n var obj = self.hash.clone().finalize().toString(),\n res = []\n for(var i = 0; i < obj.length; i += 2){\n res.push(parseInt(obj.substr(i, 2), 16))\n }\n return _b_.bytes.$factory(res)\n}\n\nhash.hexdigest = function(self) {\n return self.hash.clone().finalize().toString()\n}\n\nhash.$factory = function(alg, obj) {\n var res = {\n __class__: hash\n }\n\n switch(alg) {\n case 'md5':\n case 'sha1':\n case 'sha224':\n case 'sha256':\n case 'sha384':\n case 'sha512':\n var ALG = alg.toUpperCase()\n if($B.Crypto === undefined ||\n $B.CryptoJS.algo[ALG] === undefined){$get_CryptoJS_lib(alg)}\n\n res.hash = $B.CryptoJS.algo[ALG].create()\n if(obj !== undefined){\n res.hash.update(bytes2WordArray(obj))\n }\n break\n default:\n throw $B.builtins.AttributeError.$factory('Invalid hash algorithm: ' + alg)\n }\n res.digest_size = res.hash._hash.sigBytes\n res.block_size = block_size[alg]\n return res\n}\n\n$B.addToImported('hashlib', $mod)\n\n})(__BRYTHON__)\n"],html_parser:[".js",'(function($B){\n\n_b_ = $B.builtins\n\nvar ELEMENT_NODE = 1,\n TEXT_NODE = 3,\n COMMENT_NODE = 8,\n DOCUMENT_TYPE_NODE = 10\n\nvar HTMLNode = $B.make_class("HTMLNode",\n function(){\n return {\n __class__: HTMLNode,\n nodeType: TEXT_NODE,\n text: ""\n }\n }\n)\n\nHTMLNode.__str__ = function(self){\n return self.text\n}\n\n$B.set_func_names(HTMLNode, "_html_parser")\n\nfunction* tokenize(src){\n var node = HTMLNode.$factory(),\n pos = 0,\n tag = "",\n type = "text"\n while(pos < src.length){\n var char = src[pos]\n switch(type){\n case "text":\n if(char == "<"){\n // starts a tag if immediately followed by a letter or by /\n var tag_mo = /^(\\/?)[a-zA-Z]+/.exec(src.substr(pos + 1))\n if(tag_mo){\n yield node\n node = HTMLNode.$factory()\n type = "tag"\n node.tagName = ""\n node.nodeType = ELEMENT_NODE\n node.closing = tag_mo[1] != ""\n node.attrs = []\n }else{\n // doctype declaration\n var decl_mo = /^/i.exec(src.substr(pos))\n if(decl_mo){\n yield node\n node = HTMLNode.$factory()\n node.text = decl_mo[0]\n node.doctype = decl_mo[1]\n node.nodeType = DOCUMENT_TYPE_NODE\n yield node\n node = HTMLNode.$factory()\n type = "text"\n pos += decl_mo[0].length\n break\n }else{\n // comment\n var comment_mo = /^\\/.exec(src.substr(pos))\n if(comment_mo){\n yield node\n node = HTMLNode.$factory()\n node.text = comment_mo[0]\n node.comment = comment_mo[1]\n node.nodeType = COMMENT_NODE\n yield node\n node = HTMLNode.$factory()\n type = "text"\n pos += comment_mo[0].length\n break\n }\n }\n }\n }\n pos++\n node.text += char\n break\n case "tag":\n if(char.search(/[_a-zA-Z]/) > -1){\n var mo = /\\w+/.exec(src.substr(pos))\n if(mo !== null){\n pos += mo[0].length\n if(node.tagName == ""){\n node.tagName = mo[0].toUpperCase()\n }\n node.text += mo[0]\n }else{\n pos++\n }\n }else if(char == ">"){\n node.text += char\n yield node\n node = HTMLNode.$factory()\n type = "text"\n pos++\n }else if(char == "="){\n node.text += char\n pos++\n }else if(char == "\'" || char == \'"\'){\n var i = pos + 1,\n found_string_end = false\n while(i < src.length){\n if(src[i] == char){\n var nb_escape = 0\n while(src[i - 1 - nb_escape] == \'/\'){\n nb_escape++\n }\n if(nb_escape % 2 == 0){\n node.text += src.substr(pos, i + 1 - pos)\n pos = i + 1\n found_string_end = true\n break\n }else{\n i++\n }\n }else if(src[i] == \'>\'){\n break\n }else{\n i++\n }\n }\n if(! found_string_end){\n // unterminated string: ignore\n pos++\n }\n }else{\n node.text += char\n pos++\n }\n break\n default:\n pos++\n }\n }\n yield node\n}\nvar module = {\n ELEMENT_NODE: 1,\n TEXT_NODE: 3,\n COMMENT_NODE: 8,\n DOCUMENT_TYPE_NODE: 10,\n tokenize: tokenize\n}\n\n$B.addToImported(\'html_parser\', module)\n\n})(__BRYTHON__)\n'],marshal:[".js","(function($B){\n\nvar _b_ = $B.builtins\n\nvar module = {\n loads: function(){\n var $ = $B.args('loads', 1, {obj:null}, ['obj'], arguments, {},\n null, null)\n return $B.structuredclone2pyobj(JSON.parse($.obj))\n },\n load: function(){\n var $ = $B.args('load', 1, {file:null}, ['file'], arguments, {},\n null, null)\n var content = $B.$call($B.$getattr($.file, \"read\"))()\n return $module.loads(_b_.bytes.decode(content, \"latin-1\"));\n },\n dump: function(){\n var $ = $B.args('dump', 2, {value:null, file: null},\n ['value', 'file'], arguments, {}, null, null)\n var s = JSON.stringify($B.pyobj2structuredclone($.value))\n $B.$getattr($.file, \"write\")(_b_.str.encode(s, 'latin-1'))\n var flush = $B.$getattr($.file, \"flush\", null)\n if(flush !== null){\n $B.$call(flush)()\n }\n return _b_.None\n },\n dumps: function(){\n var $ = $B.args('dumps', 1, {obj:null}, ['obj'], arguments, {},\n null, null)\n return JSON.stringify($B.pyobj2structuredclone($.obj))\n }\n}\n\n$B.addToImported('marshal', module)\n\n})(__BRYTHON__)\n"],math:[".js","(function($B){\n\nvar _b_ = $B.builtins\n\nconst INF = $B.fast_float(Number.POSITIVE_INFINITY),\n NINF = $B.fast_float(Number.NEGATIVE_INFINITY),\n ZERO = $B.fast_float(0),\n NAN = $B.fast_float(Number.NaN)\n\nvar float_check = function(x) {\n // Returns a Javascript number\n if(x.__class__ === $B.long_int){\n var res = parseInt(x.value)\n if(! isFinite(res)){\n throw _b_.OverflowError.$factory('int too big for float')\n }\n return res\n }else if(x.__class__ === _b_.float){\n return x.value\n }\n try{\n return _b_.float.$factory(x).value\n }catch(err){\n throw _b_.TypeError.$factory('must be real number, not ' +\n $B.class_name(x))\n }\n}\n\nfunction check_int(x){\n if(! $B.$isinstance(x, _b_.int)){\n throw _b_.TypeError.$factory(\"'\" + $B.class_name(x) +\n \"' object cannot be interpreted as an integer\")\n }\n}\n\nfunction check_int_or_round_float(x){\n return ($B.$isinstance(x, _b_.float) && Number.isInteger(x.value)) ||\n $B.$isinstance(x, _b_.int)\n}\n\nvar isWholeNumber = function(x){return (x * 10) % 10 == 0}\n\nvar isOdd = function(x) {return isWholeNumber(x) && 2 * Math.floor(x / 2) != x}\n\nvar isNegZero = function(x) {return x === 0 && Math.atan2(x,x) < 0}\n\nfunction overflow(){\n throw _b_.OverflowError.$factory(\"math range error\")\n}\n\nfunction value_error(){\n throw _b_.ValueError.$factory(\"math range error\")\n}\n\nvar EPSILON = Math.pow(2, -52),\n MAX_VALUE = (2 - EPSILON) * Math.pow(2, 1023),\n MIN_VALUE = Math.pow(2, -1022),\n Py_HUGE_VAL = Number.POSITIVE_INFINITY,\n logpi = 1.144729885849400174143427351353058711647,\n sqrtpi = 1.772453850905516027298167483341145182798\n\nfunction nextUp(x){\n if(x !== x){ // NaN\n return x\n }\n if(_b_.float.$funcs.isinf(x)){\n if(_b_.float.$funcs.isninf(x)){\n return -MAX_VALUE\n }\n return _mod.inf\n }\n if($B.$isinstance(x, $B.long_int)){\n x = Number(x.value)\n }else if($B.$isinstance(x, _b_.float)){\n x = x.value\n }\n\n if(x == +MAX_VALUE){\n return +1 / 0\n }\n if(typeof x == \"number\"){\n var y = x * (x < 0 ? 1 - EPSILON / 2 : 1 + EPSILON)\n if(y == x){\n y = MIN_VALUE * EPSILON > 0 ? x + MIN_VALUE * EPSILON : x + MIN_VALUE\n }\n if(y === +1 / 0){\n y = +MAX_VALUE\n }\n var b = x + (y - x) / 2\n if(x < b && b < y){\n y = b;\n }\n var c = (y + x) / 2\n if(x < c && c < y){\n y = c;\n }\n return y === 0 ? -0 : y\n }else{\n var factor = $B.rich_comp('__lt__', x, 0) ? 1 - EPSILON / 2 :\n 1 + EPSILON\n var y = $B.rich_op(\"__mul__\", x , factor)\n if(y == x){\n y = MIN_VALUE * EPSILON > 0 ?\n $B.rich_op('__add__', x, MIN_VALUE * EPSILON) :\n $B.rich_op('__add__', x, MIN_VALUE)\n }\n if(y === +1 / 0){\n y = +MAX_VALUE\n }\n var y_minus_x = $B.rich_op('__sub__', y, x)\n var z = $B.rich_op('__truediv__', y_minus_x, 2) // (y - x) / 2\n\n var b = $B.rich_op('__add__', x, z)\n if($B.rich_comp('__lt__', x, b) && $B.rich_comp('__lt__', b, y)){\n y = b;\n }\n var c = $B.rich_op('__truediv__', $B.rich_op('__add__', y, x), 2)\n if($B.rich_comp('__lt__', x, c) && $B.rich_comp('__lt__', c, y)){\n y = c;\n }\n return y === 0 ? -0 : y\n }\n}\n\nfunction gcd2(a, b){\n // GCD of 2 factors\n if($B.rich_comp(\"__gt__\", b, a)){\n var temp = a\n a = b\n b = temp\n }\n while(true){\n if(b == 0){\n return a\n }\n a = $B.rich_op(\"__mod__\", a, b)\n if(a == 0){\n return b\n }\n b = $B.rich_op(\"__mod__\", b, a)\n }\n}\n\nconst LANCZOS_N = 13,\n lanczos_g = 6.024680040776729583740234375,\n lanczos_g_minus_half = 5.524680040776729583740234375,\n lanczos_num_coeffs = [\n 23531376880.410759688572007674451636754734846804940,\n 42919803642.649098768957899047001988850926355848959,\n 35711959237.355668049440185451547166705960488635843,\n 17921034426.037209699919755754458931112671403265390,\n 6039542586.3520280050642916443072979210699388420708,\n 1439720407.3117216736632230727949123939715485786772,\n 248874557.86205415651146038641322942321632125127801,\n 31426415.585400194380614231628318205362874684987640,\n 2876370.6289353724412254090516208496135991145378768,\n 186056.26539522349504029498971604569928220784236328,\n 8071.6720023658162106380029022722506138218516325024,\n 210.82427775157934587250973392071336271166969580291,\n 2.5066282746310002701649081771338373386264310793408\n ],\n /* denominator is x*(x+1)*...*(x+LANCZOS_N-2) */\n lanczos_den_coeffs = [\n 0.0, 39916800.0, 120543840.0, 150917976.0, 105258076.0, 45995730.0,\n 13339535.0, 2637558.0, 357423.0, 32670.0, 1925.0, 66.0, 1.0],\n /* gamma values for small positive integers, 1 though NGAMMA_INTEGRAL */\n NGAMMA_INTEGRAL = 23,\n gamma_integral = [\n 1.0, 1.0, 2.0, 6.0, 24.0, 120.0, 720.0, 5040.0, 40320.0, 362880.0,\n 3628800.0, 39916800.0, 479001600.0, 6227020800.0, 87178291200.0,\n 1307674368000.0, 20922789888000.0, 355687428096000.0,\n 6402373705728000.0, 121645100408832000.0, 2432902008176640000.0,\n 51090942171709440000.0, 1124000727777607680000.0]\n\n/* Lanczos' sum L_g(x), for positive x */\nfunction lanczos_sum(x){\n var num = 0.0,\n den = 0.0,\n i\n /* evaluate the rational function lanczos_sum(x). For large\n x, the obvious algorithm risks overflow, so we instead\n rescale the denominator and numerator of the rational\n function by x**(1-LANCZOS_N) and treat this as a\n rational function in 1/x. This also reduces the error for\n larger x values. The choice of cutoff point (5.0 below) is\n somewhat arbitrary; in tests, smaller cutoff values than\n this resulted in lower accuracy. */\n if (x < 5.0) {\n for (i = LANCZOS_N; --i >= 0; ) {\n num = num * x + lanczos_num_coeffs[i];\n den = den * x + lanczos_den_coeffs[i];\n }\n }else{\n for (i = 0; i < LANCZOS_N; i++) {\n num = num / x + lanczos_num_coeffs[i];\n den = den / x + lanczos_den_coeffs[i];\n }\n }\n return num/den;\n}\n\nfunction m_sinpi(x){\n // x is float\n // returns a float\n var r,\n y = fmod(fabs(x), 2.0), // float\n n = _b_.round($B.fast_float(2.0 * y.value)) // int\n switch(n){\n case 0:\n r = sin(pi.value * y.value);\n break;\n case 1:\n r = cos(pi.value * (y.value - 0.5));\n break;\n case 2:\n /* N.B. -sin(pi*(y-1.0)) is *not* equivalent: it would give\n -0.0 instead of 0.0 when y == 1.0. */\n r = sin(pi.value * (1.0 - y.value));\n break;\n case 3:\n r = _b_.float.__neg__(cos(pi.value *(y.value - 1.5)))\n break;\n case 4:\n r = sin(pi.value * (y.value - 2.0));\n break;\n }\n return $B.fast_float(copysign(1.0, x).value * r.value);\n}\n\n/*\n lgamma: natural log of the absolute value of the Gamma function.\n For large arguments, Lanczos' formula works extremely well here.\n*/\nfunction m_lgamma(x){\n var r,\n absx\n\n /* special cases */\n if(! isfinite(x)){\n if(isnan(x)){\n return x; /* lgamma(nan) = nan */\n }else{\n return $B.fast_float(Number.POSITIVE_INFINITY); /* lgamma(+-inf) = +inf */\n }\n }\n\n /* integer arguments */\n var x1 = float_check(x)\n if(Number.isInteger(x1) && x1 <= 2.0){\n if(x1 <= 0.0){\n value_error()\n }else{\n return $B.fast_float(0.0); /* lgamma(1) = lgamma(2) = 0.0 */\n }\n }\n\n absx = fabs(x)\n /* tiny arguments: lgamma(x) ~ -log(fabs(x)) for small x */\n if (absx.value < 1e-20){\n return $B.fast_float(-log(absx).value);\n }\n /* Lanczos' formula. We could save a fraction of a ulp in accuracy by\n having a second set of numerator coefficients for lanczos_sum that\n absorbed the exp(-lanczos_g) term, and throwing out the lanczos_g\n subtraction below; it's probably not worth it. */\n var lsum = $B.fast_float(lanczos_sum(absx.value))\n r = log(lsum).value - lanczos_g;\n r += (absx.value - 0.5) *\n (log($B.fast_float(absx.value + lanczos_g - 0.5)).value - 1)\n if (x1 < 0.0){\n /* Use reflection formula to get value for negative x. */\n r = logpi - log(fabs(m_sinpi(absx))).value - log(absx).value - r\n }\n r = $B.fast_float(r)\n if(isinf(r)){\n overflow()\n }\n return r;\n}\n\nfunction acos(x){\n $B.check_nb_args('acos', 1, arguments)\n $B.check_no_kw('acos', x)\n if(_mod.isinf(x)){\n throw _b_.ValueError.$factory(\"math domain error\")\n }else if(_mod.isnan(x)){\n return _mod.nan\n }else{\n x = float_check(x)\n if(x > 1 || x < -1){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n return _b_.float.$factory(Math.acos(x))\n }\n}\n\nfunction acosh(x){\n $B.check_nb_args('acosh', 1, arguments)\n $B.check_no_kw('acosh', x)\n\n if(_b_.float.$funcs.isinf(x)){\n if(_b_.float.$funcs.isninf(x)){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n return _mod.inf\n }else if(_mod.isnan(x)){\n return _mod.nan\n }\n var y = float_check(x)\n if(y <= 0){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n if(y > Math.pow(2, 28)){ // issue 1590\n return _b_.float.$factory(_mod.log(y).value + _mod.log(2).value)\n }\n return _b_.float.$factory(Math.log(y + Math.sqrt(y * y - 1)))\n}\n\nfunction asin(x){\n $B.check_nb_args('asin', 1, arguments)\n $B.check_no_kw('asin', x)\n if(_mod.isinf(x)){\n throw _b_.ValueError.$factory(\"math domain error\")\n }else if(_mod.isnan(x)){\n return _mod.nan\n }else{\n x = float_check(x)\n if(x > 1 || x < -1){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n return _b_.float.$factory(Math.asin(x))\n }\n}\n\nfunction asinh(x){\n $B.check_nb_args('asinh', 1, arguments)\n $B.check_no_kw('asinh', x)\n\n var y = float_check(x)\n if(_b_.float.$funcs.isninf(x)){\n return NINF\n }else if(_b_.float.$funcs.isinf(x)){\n return INF\n }\n if(y == 0 && 1 / y === -Infinity){\n return $B.fast_float(-0.0)\n }\n return _b_.float.$factory(Math.asinh(y))\n}\n\nfunction atan(x){\n $B.check_nb_args('atan', 1, arguments)\n $B.check_no_kw('atan', x)\n\n if(_b_.float.$funcs.isninf(x)){return _b_.float.$factory(-Math.PI / 2)}\n if(_b_.float.$funcs.isinf(x)){return _b_.float.$factory(Math.PI / 2)}\n return _b_.float.$factory(Math.atan(float_check(x)))\n}\n\nfunction atan2(x, y){\n $B.check_nb_args('atan2', 2, arguments)\n $B.check_no_kw('atan2', x, y)\n\n return _b_.float.$factory(Math.atan2(float_check(x), float_check(y)))\n}\n\nfunction atanh(x){\n $B.check_nb_args('atanh', 1, arguments)\n $B.check_no_kw('atanh', x)\n if(_b_.float.$funcs.isinf(x)){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n var y = float_check(x)\n if(y == 0){\n return 0\n }else if(y <= -1 || y >= 1){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n return _b_.float.$factory(0.5 * Math.log((1 / y + 1)/(1 / y - 1)));\n}\n\nfunction cbrt(x){\n // Cubic root\n $B.check_nb_args('cbrt ', 1, arguments)\n $B.check_no_kw('cbrt ', x)\n\n var y = float_check(x)\n if(_b_.float.$funcs.isninf(x)){\n return NINF\n }else if(_b_.float.$funcs.isinf(x)){\n return INF\n }\n var _r = $B.fast_float(Math.cbrt(y))\n if(_b_.float.$funcs.isinf(_r)){\n throw _b_.OverflowError.$factory(\"math range error\")\n }\n return _r\n}\n\nfunction ceil(x){\n $B.check_nb_args('ceil', 1, arguments)\n $B.check_no_kw('ceil', x)\n\n var res\n\n if($B.$isinstance(x, _b_.float)){\n if(_b_.float.$funcs.isinf(x)){\n throw _b_.OverflowError.$factory(\n \"cannot convert float infinity to integer\")\n }else if(_mod.isnan(x)){\n throw _b_.OverflowError.$factory(\n \"cannot convert float NaN to integer\")\n }\n }\n\n var klass = x.__class__ || $B.get_class(x)\n\n try{\n // Use attribute of the object's class, not of the object\n // itself (special method)\n return $B.$call($B.$getattr(klass, '__ceil__'))(x)\n }catch(err){\n if(! $B.is_exc(err, [_b_.AttributeError])){\n throw err\n }\n }\n\n try{\n x = $B.$call($B.$getattr(klass, '__float__'))(x)\n }catch(err){\n if(! $B.is_exc(err, [_b_.AttributeError])){\n throw err\n }else{\n throw _b_.TypeError.$factory(\"must be real number, not \" +\n $B.class_name(x))\n }\n }\n return _mod.ceil(x)\n}\n\nconst ULLONG_MAX = 2n ** 64n - 1n,\n LONG_MAX = 2147483647,\n LONG_MIN = -2147483647,\n LLONG_MAX = 9223372036854775807n,\n LLONG_MIN = -9223372036854775807n,\n p2_64 = 2n ** 64n\n\nconst reduced_factorial_odd_part = [\n 0x0000000000000001n, 0x0000000000000001n, 0x0000000000000001n, 0x0000000000000003n,\n 0x0000000000000003n, 0x000000000000000fn, 0x000000000000002dn, 0x000000000000013bn,\n 0x000000000000013bn, 0x0000000000000b13n, 0x000000000000375fn, 0x0000000000026115n,\n 0x000000000007233fn, 0x00000000005cca33n, 0x0000000002898765n, 0x00000000260eeeebn,\n 0x00000000260eeeebn, 0x0000000286fddd9bn, 0x00000016beecca73n, 0x000001b02b930689n,\n 0x00000870d9df20adn, 0x0000b141df4dae31n, 0x00079dd498567c1bn, 0x00af2e19afc5266dn,\n 0x020d8a4d0f4f7347n, 0x335281867ec241efn, 0x9b3093d46fdd5923n, 0x5e1f9767cc5866b1n,\n 0x92dd23d6966aced7n, 0xa30d0f4f0a196e5bn, 0x8dc3e5a1977d7755n, 0x2ab8ce915831734bn,\n 0x2ab8ce915831734bn, 0x81d2a0bc5e5fdcabn, 0x9efcac82445da75bn, 0xbc8b95cf58cde171n,\n 0xa0e8444a1f3cecf9n, 0x4191deb683ce3ffdn, 0xddd3878bc84ebfc7n, 0xcb39a64b83ff3751n,\n 0xf8203f7993fc1495n, 0xbd2a2a78b35f4bddn, 0x84757be6b6d13921n, 0x3fbbcfc0b524988bn,\n 0xbd11ed47c8928df9n, 0x3c26b59e41c2f4c5n, 0x677a5137e883fdb3n, 0xff74e943b03b93ddn,\n 0xfe5ebbcb10b2bb97n, 0xb021f1de3235e7e7n, 0x33509eb2e743a58fn, 0x390f9da41279fb7dn,\n 0xe5cb0154f031c559n, 0x93074695ba4ddb6dn, 0x81c471caa636247fn, 0xe1347289b5a1d749n,\n 0x286f21c3f76ce2ffn, 0x00be84a2173e8ac7n, 0x1595065ca215b88bn, 0xf95877595b018809n,\n 0x9c2efe3c5516f887n, 0x373294604679382bn, 0xaf1ff7a888adcd35n, 0x18ddf279a2c5800bn,\n 0x18ddf279a2c5800bn, 0x505a90e2542582cbn, 0x5bacad2cd8d5dc2bn, 0xfe3152bcbff89f41n,\n 0xe1467e88bf829351n, 0xb8001adb9e31b4d5n, 0x2803ac06a0cbb91fn, 0x1904b5d698805799n,\n 0xe12a648b5c831461n, 0x3516abbd6160cfa9n, 0xac46d25f12fe036dn, 0x78bfa1da906b00efn,\n 0xf6390338b7f111bdn, 0x0f25f80f538255d9n, 0x4ec8ca55b8db140fn, 0x4ff670740b9b30a1n,\n 0x8fd032443a07f325n, 0x80dfe7965c83eeb5n, 0xa3dc1714d1213afdn, 0x205b7bbfcdc62007n,\n 0xa78126bbe140a093n, 0x9de1dc61ca7550cfn, 0x84f0046d01b492c5n, 0x2d91810b945de0f3n,\n 0xf5408b7f6008aa71n, 0x43707f4863034149n, 0xdac65fb9679279d5n, 0xc48406e7d1114eb7n,\n 0xa7dc9ed3c88e1271n, 0xfb25b2efdb9cb30dn, 0x1bebda0951c4df63n, 0x5c85e975580ee5bdn,\n 0x1591bc60082cb137n, 0x2c38606318ef25d7n, 0x76ca72f7c5c63e27n, 0xf04a75d17baa0915n,\n 0x77458175139ae30dn, 0x0e6c1330bc1b9421n, 0xdf87d2b5797e8293n, 0xefa5c703e1e68925n,\n 0x2b6b1b3278b4f6e1n, 0xceee27b382394249n, 0xd74e3829f5dab91dn, 0xfdb17989c26b5f1fn,\n 0xc1b7d18781530845n, 0x7b4436b2105a8561n, 0x7ba7c0418372a7d7n, 0x9dbc5c67feb6c639n,\n 0x502686d7f6ff6b8fn, 0x6101855406be7a1fn, 0x9956afb5806930e7n, 0xe1f0ee88af40f7c5n,\n 0x984b057bda5c1151n, 0x9a49819acc13ea05n, 0x8ef0dead0896ef27n, 0x71f7826efe292b21n,\n 0xad80a480e46986efn, 0x01cdc0ebf5e0c6f7n, 0x6e06f839968f68dbn, 0xdd5943ab56e76139n,\n 0xcdcf31bf8604c5e7n, 0x7e2b4a847054a1cbn, 0x0ca75697a4d3d0f5n, 0x4703f53ac514a98bn,\n];\n\nconst inverted_factorial_odd_part = [\n 0x0000000000000001n, 0x0000000000000001n, 0x0000000000000001n, 0xaaaaaaaaaaaaaaabn,\n 0xaaaaaaaaaaaaaaabn, 0xeeeeeeeeeeeeeeefn, 0x4fa4fa4fa4fa4fa5n, 0x2ff2ff2ff2ff2ff3n,\n 0x2ff2ff2ff2ff2ff3n, 0x938cc70553e3771bn, 0xb71c27cddd93e49fn, 0xb38e3229fcdee63dn,\n 0xe684bb63544a4cbfn, 0xc2f684917ca340fbn, 0xf747c9cba417526dn, 0xbb26eb51d7bd49c3n,\n 0xbb26eb51d7bd49c3n, 0xb0a7efb985294093n, 0xbe4b8c69f259eabbn, 0x6854d17ed6dc4fb9n,\n 0xe1aa904c915f4325n, 0x3b8206df131cead1n, 0x79c6009fea76fe13n, 0xd8c5d381633cd365n,\n 0x4841f12b21144677n, 0x4a91ff68200b0d0fn, 0x8f9513a58c4f9e8bn, 0x2b3e690621a42251n,\n 0x4f520f00e03c04e7n, 0x2edf84ee600211d3n, 0xadcaa2764aaacdfdn, 0x161f4f9033f4fe63n,\n 0x161f4f9033f4fe63n, 0xbada2932ea4d3e03n, 0xcec189f3efaa30d3n, 0xf7475bb68330bf91n,\n 0x37eb7bf7d5b01549n, 0x46b35660a4e91555n, 0xa567c12d81f151f7n, 0x4c724007bb2071b1n,\n 0x0f4a0cce58a016bdn, 0xfa21068e66106475n, 0x244ab72b5a318ae1n, 0x366ce67e080d0f23n,\n 0xd666fdae5dd2a449n, 0xd740ddd0acc06a0dn, 0xb050bbbb28e6f97bn, 0x70b003fe890a5c75n,\n 0xd03aabff83037427n, 0x13ec4ca72c783bd7n, 0x90282c06afdbd96fn, 0x4414ddb9db4a95d5n,\n 0xa2c68735ae6832e9n, 0xbf72d71455676665n, 0xa8469fab6b759b7fn, 0xc1e55b56e606caf9n,\n 0x40455630fc4a1cffn, 0x0120a7b0046d16f7n, 0xa7c3553b08faef23n, 0x9f0bfd1b08d48639n,\n 0xa433ffce9a304d37n, 0xa22ad1d53915c683n, 0xcb6cbc723ba5dd1dn, 0x547fb1b8ab9d0ba3n,\n 0x547fb1b8ab9d0ba3n, 0x8f15a826498852e3n, 0x32e1a03f38880283n, 0x3de4cce63283f0c1n,\n 0x5dfe6667e4da95b1n, 0xfda6eeeef479e47dn, 0xf14de991cc7882dfn, 0xe68db79247630ca9n,\n 0xa7d6db8207ee8fa1n, 0x255e1f0fcf034499n, 0xc9a8990e43dd7e65n, 0x3279b6f289702e0fn,\n 0xe7b5905d9b71b195n, 0x03025ba41ff0da69n, 0xb7df3d6d3be55aefn, 0xf89b212ebff2b361n,\n 0xfe856d095996f0adn, 0xd6e533e9fdf20f9dn, 0xf8c0e84a63da3255n, 0xa677876cd91b4db7n,\n 0x07ed4f97780d7d9bn, 0x90a8705f258db62fn, 0xa41bbb2be31b1c0dn, 0x6ec28690b038383bn,\n 0xdb860c3bb2edd691n, 0x0838286838a980f9n, 0x558417a74b36f77dn, 0x71779afc3646ef07n,\n 0x743cda377ccb6e91n, 0x7fdf9f3fe89153c5n, 0xdc97d25df49b9a4bn, 0x76321a778eb37d95n,\n 0x7cbb5e27da3bd487n, 0x9cff4ade1a009de7n, 0x70eb166d05c15197n, 0xdcf0460b71d5fe3dn,\n 0x5ac1ee5260b6a3c5n, 0xc922dedfdd78efe1n, 0xe5d381dc3b8eeb9bn, 0xd57e5347bafc6aadn,\n 0x86939040983acd21n, 0x395b9d69740a4ff9n, 0x1467299c8e43d135n, 0x5fe440fcad975cdfn,\n 0xcaa9a39794a6ca8dn, 0xf61dbd640868dea1n, 0xac09d98d74843be7n, 0x2b103b9e1a6b4809n,\n 0x2ab92d16960f536fn, 0x6653323d5e3681dfn, 0xefd48c1c0624e2d7n, 0xa496fefe04816f0dn,\n 0x1754a7b07bbdd7b1n, 0x23353c829a3852cdn, 0xbf831261abd59097n, 0x57a8e656df0618e1n,\n 0x16e9206c3100680fn, 0xadad4c6ee921dac7n, 0x635f2b3860265353n, 0xdd6d0059f44b3d09n,\n 0xac4dd6b894447dd7n, 0x42ea183eeaa87be3n, 0x15612d1550ee5b5dn, 0x226fa19d656cb623n,\n]\n\nconst factorial_trailing_zeros = [\n 0, 0, 1, 1, 3, 3, 4, 4, 7, 7, 8, 8, 10, 10, 11, 11, // 0-15\n 15, 15, 16, 16, 18, 18, 19, 19, 22, 22, 23, 23, 25, 25, 26, 26, // 16-31\n 31, 31, 32, 32, 34, 34, 35, 35, 38, 38, 39, 39, 41, 41, 42, 42, // 32-47\n 46, 46, 47, 47, 49, 49, 50, 50, 53, 53, 54, 54, 56, 56, 57, 57, // 48-63\n 63, 63, 64, 64, 66, 66, 67, 67, 70, 70, 71, 71, 73, 73, 74, 74, // 64-79\n 78, 78, 79, 79, 81, 81, 82, 82, 85, 85, 86, 86, 88, 88, 89, 89, // 80-95\n 94, 94, 95, 95, 97, 97, 98, 98, 101, 101, 102, 102, 104, 104, 105, 105, // 96-111\n 109, 109, 110, 110, 112, 112, 113, 113, 116, 116, 117, 117, 119, 119, 120, 120, // 112-127\n].map(BigInt)\n\nconst NULL = undefined\n\n/* Calculate C(n, k) for n in the 63-bit range. */\n\nfunction perm_comb_small(n, k, iscomb){\n if(k == 0){\n return 1n\n }\n\n /* For small enough n and k the result fits in the 64-bit range and can\n * be calculated without allocating intermediate PyLong objects. */\n if(iscomb){\n /* Maps k to the maximal n so that 2*k-1 <= n <= 127 and C(n, k)\n * fits into a uint64_t. Exclude k = 1, because the second fast\n * path is faster for this case.*/\n var fast_comb_limits1 = [\n 0, 0, 127, 127, 127, 127, 127, 127, // 0-7\n 127, 127, 127, 127, 127, 127, 127, 127, // 8-15\n 116, 105, 97, 91, 86, 82, 78, 76, // 16-23\n 74, 72, 71, 70, 69, 68, 68, 67, // 24-31\n 67, 67, 67 // 32-34\n ];\n if(k < fast_comb_limits1.length && n <= fast_comb_limits1[k]){\n /*\n comb(n, k) fits into a uint64_t. We compute it as\n comb_odd_part << shift\n where 2**shift is the largest power of two dividing comb(n, k)\n and comb_odd_part is comb(n, k) >> shift. comb_odd_part can be\n calculated efficiently via arithmetic modulo 2**64, using three\n lookups and two uint64_t multiplications.\n */\n var comb_odd_part = reduced_factorial_odd_part[n]\n * inverted_factorial_odd_part[k]\n * inverted_factorial_odd_part[n - k];\n comb_odd_part %= p2_64\n var shift = factorial_trailing_zeros[n]\n - factorial_trailing_zeros[k]\n - factorial_trailing_zeros[n - k];\n return comb_odd_part << shift;\n }\n\n /* Maps k to the maximal n so that 2*k-1 <= n <= 127 and C(n, k)*k\n * fits into a long long (which is at least 64 bit). Only contains\n * items larger than in fast_comb_limits1. */\n var fast_comb_limits2 = [\n 0, ULLONG_MAX, 4294967296, 3329022, 102570, 13467, 3612, 1449, // 0-7\n 746, 453, 308, 227, 178, 147 // 8-13\n ];\n if (k < fast_comb_limits2.length && n <= fast_comb_limits2[k]) {\n /* C(n, k) = C(n, k-1) * (n-k+1) / k */\n var result = n,\n i = 1n;\n while(i < k){\n result *= --n;\n result /= ++i;\n }\n return result;\n }\n }else{\n /* Maps k to the maximal n so that k <= n and P(n, k)\n * fits into a long long (which is at least 64 bit). */\n var fast_perm_limits = [\n 0, ULLONG_MAX, 4294967296, 2642246, 65537, 7133, 1627, 568, // 0-7\n 259, 142, 88, 61, 45, 36, 30, 26, // 8-15\n 24, 22, 21, 20, 20 // 16-20\n ];\n if (k < fast_perm_limits.length && n <= fast_perm_limits[k]) {\n if(n <= 127){\n /* P(n, k) fits into a uint64_t. */\n var perm_odd_part = reduced_factorial_odd_part[n]\n * inverted_factorial_odd_part[n - k];\n perm_odd_part %= p2_64\n var shift = factorial_trailing_zeros[n]\n - factorial_trailing_zeros[n - k];\n var res = perm_odd_part << shift\n\n return res;\n }\n\n /* P(n, k) = P(n, k-1) * (n-k+1) */\n var result = n;\n for (var i = 1; i < k; i++) {\n result *= --n;\n }\n return result\n }\n }\n\n /* For larger n use recursive formulas:\n *\n * P(n, k) = P(n, j) * P(n-j, k-j)\n * C(n, k) = C(n, j) * C(n-j, k-j) // C(k, j)\n */\n var j = k / 2n;\n var a = perm_comb_small(n, j, iscomb);\n var b = perm_comb_small(n - j, k - j, iscomb);\n a = a * b;\n if(iscomb){\n b = perm_comb_small(k, j, 1);\n a = a / b;\n }\n return a;\n}\n\n/* Calculate P(n, k) or C(n, k) using recursive formulas.\n * It is more efficient than sequential multiplication thanks to\n * Karatsuba multiplication.\n */\nfunction perm_comb(n, k, iscomb){\n if(k == 0){\n return 1;\n }\n if(k == 1){\n return n;\n }\n\n /* P(n, k) = P(n, j) * P(n-j, k-j) */\n /* C(n, k) = C(n, j) * C(n-j, k-j) // C(k, j) */\n var j = k / 2n\n var a = perm_comb(n, j, iscomb);\n //var t = j\n //n = n - t;\n var b = perm_comb(n - j, k - j, iscomb);\n a = a * b;\n if(iscomb){\n b = perm_comb_small(k, j, 1);\n a = a / b;\n }\n return a;\n}\n\nfunction comb(n, k){\n var $ = $B.args('comb', 2, {n: null, k: null}, ['n', 'k'],\n arguments, {}, null, null),\n n = $.n,\n k = $.k\n\n var result = NULL,\n temp,\n overflow, cmp;\n\n // accept integers or objects with __index__\n n = $B.PyNumber_Index(n)\n k = $B.PyNumber_Index(k)\n\n n = _b_.int.$to_bigint(n);\n k = _b_.int.$to_bigint(k);\n\n if(n < 0){\n throw _b_.ValueError.$factory(\n \"n must be a non-negative integer\");\n }\n if(k < 0){\n throw _b_.ValueError.$factory(\n \"k must be a non-negative integer\");\n }\n\n overflow = n > LLONG_MAX || n < LLONG_MIN\n if(! overflow){\n overflow = k > LLONG_MAX || k < LLONG_MIN\n if (overflow || k > n) {\n result = 0n;\n }else{\n if(n - k < k){\n k = n - k\n }\n if (k > 1) {\n result = perm_comb_small(n, k, 1);\n }\n }\n /* For k == 1 just return the original n in perm_comb(). */\n }else{\n /* k = min(k, n - k) */\n temp = n - k\n if(temp < 0) {\n result = 0n;\n }\n if (temp < k) {\n k = temp\n }\n\n overflow = k > LLONG_MAX || k < LLONG_MIN\n if (overflow) {\n throw _b_.OverflowError.$factory(\n \"min(n - k, k) must not exceed \" +\n LLONG_MAX);\n }\n }\n if(result === undefined){\n result = perm_comb(n, k, 1);\n }\n\n return _b_.int.$int_or_long(result)\n}\n\n\nfunction copysign(x, y){\n $B.check_nb_args_no_kw('copysign', 2, arguments)\n\n var x1 = Math.abs(float_check(x))\n var y1 = float_check(y)\n var sign = Math.sign(y1)\n sign = (sign == 1 || Object.is(sign, +0)) ? 1 : - 1\n return _b_.float.$factory(x1 * sign)\n}\n\nfunction cos(x){\n $B.check_nb_args('cos ', 1, arguments)\n $B.check_no_kw('cos ', x)\n return _b_.float.$factory(Math.cos(float_check(x)))\n}\n\nfunction cosh(x){\n $B.check_nb_args('cosh', 1, arguments)\n $B.check_no_kw('cosh', x)\n\n if(_b_.float.$funcs.isinf(x)){return INF}\n var y = float_check(x)\n if(Math.cosh !== undefined){return _b_.float.$factory(Math.cosh(y))}\n return _b_.float.$factory((Math.pow(Math.E, y) +\n Math.pow(Math.E, -y)) / 2)\n}\n\nfunction degrees(x){\n $B.check_nb_args('degrees', 1, arguments)\n $B.check_no_kw('degrees', x)\n return _b_.float.$factory(float_check(x) * 180 / Math.PI)\n}\n\nfunction dist(p, q){\n $B.check_nb_args_no_kw('dist', 2, arguments)\n\n function test(x){\n if(typeof x === \"number\"){\n return x\n }else if(x.__class__ === _b_.float){\n return x.value\n }\n var y = $B.$getattr(x, '__float__', null)\n if(y === null){\n throw _b_.TypeError.$factory('not a float')\n }\n return $B.$call(y)().value\n }\n\n // build list of differences (as floats) between coordinates of p and q\n var diffs = [],\n diff\n\n if(Array.isArray(p) && Array.isArray(q)){\n // simple case : p and q are lists of tuples\n if(p.length != q.length){\n throw _b_.ValueError.$factory(\"both points must have \" +\n \"the same number of dimensions\")\n }\n p = p.map(test)\n q = q.map(test)\n for(var i = 0, len = p.length; i < len; i++){\n var next_p = p[i],\n next_q = q[i]\n var diff = Math.abs(next_p - next_q)\n diffs.push(diff)\n }\n }else{\n var itp = _b_.iter(p),\n itq = _b_.iter(q),\n res = 0\n\n while(true){\n try{\n var next_p = _b_.next(itp)\n }catch(err){\n if(err.__class__ === _b_.StopIteration){\n // check that the other iterator is also exhausted\n try{\n var next_q = _b_.next(itq)\n throw _b_.ValueError.$factory(\"both points must have \" +\n \"the same number of dimensions\")\n }catch(err){\n if(err.__class__ === _b_.StopIteration){\n break\n }\n throw err\n }\n }\n throw err\n }\n next_p = test(next_p)\n try{\n var next_q = _b_.next(itq)\n }catch(err){\n if(err.__class__ === _b_.StopIteration){\n throw _b_.ValueError.$factory(\"both points must have \" +\n \"the same number of dimensions\")\n }\n throw err\n }\n next_q = test(next_q)\n diff = Math.abs(next_p - next_q)\n diffs.push(diff)\n }\n }\n for(var diff of diffs){\n if(! isFinite(diff) && ! isNaN(diff)){\n return _mod.inf\n }\n }\n for(var diff of diffs){\n if(isNaN(diff)){\n return _mod.nan\n }\n }\n\n var res = 0,\n scale = 1,\n max_diff = Math.max(...diffs),\n min_diff = Math.min(...diffs)\n max_value = Math.sqrt(Number.MAX_VALUE) / p.length,\n min_value = Math.sqrt(Number.MIN_VALUE) * p.length\n if(max_diff > max_value){\n var nb = 0\n while(max_diff > max_value){\n scale *= 2\n max_diff /= 2\n nb++\n }\n for(var diff of diffs){\n diff = diff / scale\n res += diff * diff\n }\n return $B.fast_float(scale * Math.sqrt(res))\n }else if(min_diff !== 0 && min_diff < min_value){\n while(min_diff < min_value){\n scale *= 2\n min_diff *= 2\n }\n for(var diff of diffs){\n diff = diff * scale\n res += diff * diff\n }\n return $B.fast_float(Math.sqrt(res) / scale)\n }else{\n for(var diff of diffs){\n res += Math.pow(diff, 2)\n }\n return $B.fast_float(Math.sqrt(res))\n }\n}\n\nconst e = _b_.float.$factory(Math.E)\n\nconst ERF_SERIES_CUTOFF = 1.5,\n ERF_SERIES_TERMS = 25,\n ERFC_CONTFRAC_CUTOFF = 30.0,\n ERFC_CONTFRAC_TERMS = 50\n\n/*\n Error function, via power series.\n Given a finite float x, return an approximation to erf(x).\n Converges reasonably fast for small x.\n*/\n\nfunction m_erf_series(x){\n var x2, acc, fk, result\n var i\n\n x2 = x * x\n acc = 0.0\n fk = ERF_SERIES_TERMS + 0.5\n for(i = 0; i < ERF_SERIES_TERMS; i++){\n acc = 2.0 + x2 * acc / fk\n fk -= 1.0\n }\n result = acc * x * exp(-x2).value / sqrtpi\n return result\n}\n\nfunction m_erfc_contfrac(x){\n var x2, a, da, p, p_last, q, q_last, b, result;\n var i\n\n if(x >= ERFC_CONTFRAC_CUTOFF){\n return 0.0\n }\n\n x2 = x * x\n a = 0.0\n da = 0.5\n p = 1.0\n p_last = 0.0\n q = da + x2\n q_last = 1.0\n for(i = 0; i < ERFC_CONTFRAC_TERMS; i++){\n var temp\n a += da\n da += 2.0\n b = da + x2\n temp = p; p = b * p - a * p_last; p_last = temp\n temp = q; q = b * q - a * q_last; q_last = temp\n }\n result = p / q * x * exp(-x2).value / sqrtpi\n return result\n}\n\n\nfunction erf(x){\n var absx,\n cf\n var x1 = float_check(x)\n if(isNaN(x1)){\n return x\n }\n absx = fabs(x)\n if(absx.value < ERF_SERIES_CUTOFF){\n return $B.fast_float(m_erf_series(x1))\n }else{\n cf = m_erfc_contfrac(absx.value)\n return $B.fast_float(x1 > 0.0 ? 1.0 - cf : cf - 1.0)\n }\n}\n\nfunction erfc(x){\n\n // inspired from\n // http://stackoverflow.com/questions/457408/is-there-an-easily-available-implementation-of-erf-for-python\n var y = float_check(x)\n var t = 1.0 / (1.0 + 0.5 * Math.abs(y))\n var ans = 1 - t * Math.exp( -y * y - 1.26551223 +\n t * ( 1.00002368 +\n t * ( 0.37409196 +\n t * ( 0.09678418 +\n t * (-0.18628806 +\n t * ( 0.27886807 +\n t * (-1.13520398 +\n t * ( 1.48851587 +\n t * (-0.82215223 +\n t * 0.17087277)))))))))\n if(y >= 0.0){return 1 - ans}\n return 1 + ans\n}\n\nfunction erfc(x){\n $B.check_nb_args_no_kw('erfc', 1, arguments)\n var absx, cf;\n\n var x1 = float_check(x)\n if(isNaN(x1)){\n return x\n }\n absx = fabs(x);\n if(absx.value < ERF_SERIES_CUTOFF){\n return $B.fast_float(1.0 - m_erf_series(x1))\n }else{\n cf = m_erfc_contfrac(absx.value)\n return $B.fast_float(x1 > 0.0 ? cf : 2.0 - cf)\n }\n}\n\nfunction exp(x){\n $B.check_nb_args('exp', 1, arguments)\n $B.check_no_kw('exp', x)\n\n if(_b_.float.$funcs.isninf(x)){\n return _b_.float.$factory(0)\n }\n if(_b_.float.$funcs.isinf(x)){\n return INF\n }\n var _r = Math.exp(float_check(x))\n if(! isNaN(_r) && ! isFinite(_r)){\n throw _b_.OverflowError.$factory(\"math range error\")\n }\n return _b_.float.$factory(_r)\n}\n\nfunction exp2(x){\n return pow(2, x)\n}\n\nfunction expm1(x){\n $B.check_nb_args('expm1', 1, arguments)\n $B.check_no_kw('expm1', x)\n\n if(_b_.float.$funcs.isninf(x)){\n return $B.fast_float(-1)\n }else if(_b_.float.$funcs.isinf(x)){\n return INF\n }\n var _r = Math.expm1(float_check(x))\n if((! isNaN(_r)) && ! isFinite(_r)){\n overflow()\n }\n return $B.fast_float(_r)\n}\n\nfunction fabs(x){\n $B.check_nb_args_no_kw('fabs', 1, arguments)\n return _b_.float.$funcs.fabs(float_check(x)) // located in py_float.js\n}\n\n// factorial implementation, adapted from CPython's mathmodule.c\n\nconst SmallFactorials = [\n 1n, 1n, 2n, 6n, 24n, 120n, 720n, 5040n, 40320n,\n 362880n, 3628800n, 39916800n, 479001600n,\n 6227020800n, 87178291200n, 1307674368000n,\n 20922789888000n, 355687428096000n, 6402373705728000n,\n 121645100408832000n, 2432902008176640000n\n ]\n\nconst SIZEOF_LONG = 4\n\nfunction _Py_bit_length(x){\n const BIT_LENGTH_TABLE = [\n 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,\n 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5\n ]\n var msb = 0;\n while(x >= 32n){\n msb += 6;\n x >>= 6n;\n }\n msb += BIT_LENGTH_TABLE[parseInt(x)];\n return msb\n}\nfunction count_set_bits(n){\n var count = 0n;\n while(n != 0){\n ++count;\n n &= n - 1n; /* clear least significant bit */\n }\n return count;\n}\n\nfunction factorial_partial_product(start, stop, max_bits){\n var midpoint,\n num_operands,\n left,\n right,\n result\n\n /* If the return value will fit an unsigned long, then we can\n * multiply in a tight, fast loop where each multiply is O(1).\n * Compute an upper bound on the number of bits required to store\n * the answer.\n *\n * Storing some integer z requires floor(lg(z))+1 bits, which is\n * conveniently the value returned by bit_length(z). The\n * product x*y will require at most\n * bit_length(x) + bit_length(y) bits to store, based\n * on the idea that lg product = lg x + lg y.\n *\n * We know that stop - 2 is the largest number to be multiplied. From\n * there, we have: bit_length(answer) <= num_operands *\n * bit_length(stop - 2)\n */\n\n num_operands = (stop - start) / 2n;\n max_bits = BigInt(max_bits)\n /* The \"num_operands <= 8 * SIZEOF_LONG\" check guards against the\n * unlikely case of an overflow in num_operands * max_bits. */\n if(num_operands <= 8 * SIZEOF_LONG &&\n num_operands * max_bits <= 8 * SIZEOF_LONG) {\n var j,\n total;\n for (total = start, j = start + 2n; j < stop; j += 2n){\n total *= j;\n }\n return total\n }\n\n /* find midpoint of range(start, stop), rounded up to next odd number. */\n midpoint = (start + num_operands) | 1n;\n left = factorial_partial_product(start, midpoint,\n _Py_bit_length(midpoint - 2n));\n right = factorial_partial_product(midpoint, stop, max_bits);\n result = left * right\n return result;\n}\n\n\nfunction factorial_odd_part(n){\n var i,\n v, lower, upper,\n partial, tmp, inner, outer;\n\n inner = 1n\n outer = inner;\n upper = 3n;\n for (i = BigInt(_Py_bit_length(n)) - 2n; i >= 0; i--) {\n v = n >> i;\n if (v <= 2){\n continue\n }\n lower = upper;\n /* (v + 1) | 1 = least odd integer strictly larger than n / 2**i */\n upper = (v + 1n) | 1n;\n /* Here inner is the product of all odd integers j in the range (0,\n n/2**(i+1)]. The factorial_partial_product call below gives the\n product of all odd integers j in the range (n/2**(i+1), n/2**i]. */\n partial = factorial_partial_product(lower, upper,\n _Py_bit_length(upper-2n));\n /* inner *= partial */\n tmp = inner * partial\n inner = tmp;\n /* Now inner is the product of all odd integers j in the range (0,\n n/2**i], giving the inner product in the formula above. */\n\n /* outer *= inner; */\n tmp = outer * inner\n outer = tmp;\n }\n return outer;\n}\n\nfunction factorial(arg){\n var x,\n two_valuation,\n overflow,\n result,\n odd_part;\n // Check that arg can be converted to an integer, and transform it to\n // a bigint\n x = _b_.int.$to_bigint($B.PyNumber_Index(arg))\n overflow = x > LONG_MAX || x < LONG_MIN\n if(x > LONG_MAX) {\n throw _b_.OverflowError.$factory(\n \"factorial() argument should not exceed \" +\n LONG_MAX)\n }else if(x < 0) {\n throw _b_.ValueError.$factory(\n \"factorial() not defined for negative values\");\n }\n\n /* use lookup table if x is small */\n if (x < SmallFactorials.length){\n return _b_.int.$int_or_long(SmallFactorials[x]);\n }\n /* else express in the form odd_part * 2**two_valuation, and compute as\n odd_part << two_valuation. */\n odd_part = factorial_odd_part(x);\n two_valuation = x - count_set_bits(x);\n return _b_.int.$int_or_long(odd_part << two_valuation);\n}\n\nfunction floor(x){\n $B.check_nb_args_no_kw('floor', 1, arguments)\n\n if(typeof x == \"number\" || x.__class__ === _b_.float){\n return Math.floor(float_check(x))\n }\n var klass = $B.get_class(x)\n try{\n return $B.$call($B.$getattr(klass, \"__floor__\"))(x)\n }catch(err){\n if($B.is_exc(err, [_b_.AttributeError])){\n try{\n var float = $B.$call($B.$getattr(klass, \"__float__\"))(x)\n return floor(float)\n }catch(err){\n if($B.is_exc(err, [_b_.AttributeError])){\n throw _b_.TypeError.$factory(\"no __float__\")\n }\n throw err\n }\n }\n }\n}\n\nfunction fmod(x, y){\n $B.check_nb_args_no_kw('fmod', 2, arguments)\n if($B.$isinstance(x, _b_.float)){\n if(_b_.float.$funcs.isinf(x)){\n throw _b_.ValueError.$factory('math domain error')\n }\n }\n y = float_check(y)\n if(y == 0){\n throw _b_.ValueError.$factory('math domain error')\n }\n return _b_.float.$factory(float_check(x) % float_check(y))\n}\n\nfunction frexp(x){\n $B.check_nb_args_no_kw('frexp', 1, arguments)\n\n var _l = _b_.float.$funcs.frexp(x)\n return _b_.tuple.$factory([_b_.float.$factory(_l[0]), _l[1]])\n}\n\nfunction fsum(x){\n $B.check_nb_args_no_kw('fsum', 1, arguments)\n\n /* Translation into Javascript of the function msum in an Active\n State Cookbook recipe : https://code.activestate.com/recipes/393090/\n by Raymond Hettinger\n */\n var partials = [],\n res = new Number(),\n _it = _b_.iter(x)\n while(true){\n try{\n var x = _b_.next(_it),\n i = 0\n x = float_check(x)\n for(var j = 0, len = partials.length; j < len; j++){\n var y = float_check(partials[j])\n if(Math.abs(x) < Math.abs(y)){\n var z = x\n x = y\n y = z\n }\n var hi = x + y,\n lo = y - (hi - x)\n if(lo){\n partials[i] = lo\n i++\n }\n x = hi\n }\n partials = partials.slice(0, i).concat([x])\n }catch(err){\n if($B.$isinstance(err, _b_.StopIteration)){break}\n throw err\n }\n }\n var res = 0\n for(var i = 0; i < partials.length; i++){\n res += partials[i]\n }\n return $B.fast_float(res)\n}\n\nfunction gamma(x){\n $B.check_nb_args('gamma', 1, arguments)\n $B.check_no_kw('gamma', x)\n var x_as_number = x,\n r,\n y,\n z,\n sqrtpow\n\n /* special cases */\n if($B.$isinstance(x, _b_.float)){\n x_as_number = x.value\n }else if(! $B.$isinstance(x, _b_.int)){\n throw _b_.TypeError.$factory(\"must be real number, not \" +\n $B.class_name(x))\n }\n if(x_as_number === Number.POSITIVE_INFINITY || isNaN(x_as_number)){\n return x\n }else if(x_as_number === Number.NEGATIVE_INFINITY || x_as_number == 0){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n\n /* integer arguments */\n if(Number.isInteger(x_as_number)){\n if($B.rich_comp('__lt__', x, 0.0)){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n if($B.rich_comp('__le__', x, NGAMMA_INTEGRAL)){\n return $B.fast_float(gamma_integral[x_as_number - 1])\n }\n }\n var absx = fabs(x)\n\n /* tiny arguments: tgamma(x) ~ 1/x for x near 0 */\n if(absx.value < 1e-20){\n r = 1.0 / x_as_number\n if(r === Infinity || r === -Infinity){\n overflow()\n }\n return $B.fast_float(r)\n }\n\n /* large arguments: assuming IEEE 754 doubles, tgamma(x) overflows for\n x > 200, and underflows to +-0.0 for x < -200, not a negative\n integer. */\n if(absx.value > 200.0){\n if(x_as_number < 0.0){\n return $B.fast_float(0.0 / m_sinpi(x).value);\n }else{\n overflow()\n }\n }\n\n y = absx.value + lanczos_g_minus_half;\n /* compute error in sum */\n if (absx.value > lanczos_g_minus_half) {\n /* note: the correction can be foiled by an optimizing\n compiler that (incorrectly) thinks that an expression like\n a + b - a - b can be optimized to 0.0. This shouldn't\n happen in a standards-conforming compiler. */\n var q = y - absx.value;\n z = q - lanczos_g_minus_half;\n }else{\n var q = y - lanczos_g_minus_half;\n z = q - absx.value;\n }\n z = z * lanczos_g / y;\n if (x_as_number < 0.0) {\n r = -pi.value / m_sinpi(absx).value /\n absx.value * _mod.exp(y).value /\n lanczos_sum(absx.value);\n r -= z * r;\n if(absx.value < 140.0){\n r /= pow(y, absx.value - 0.5).value;\n }else{\n sqrtpow = pow(y, absx.value / 2.0 - 0.25);\n r /= sqrtpow.value;\n r /= sqrtpow.value;\n }\n }else{\n r = lanczos_sum(absx.value) / exp(y).value;\n r += z * r;\n if(absx.value < 140.0){\n r *= pow(y, absx.value - 0.5).value;\n }else{\n sqrtpow = pow(y, absx.value / 2.0 - 0.25);\n r *= sqrtpow.value;\n r *= sqrtpow.value;\n }\n }\n if(r === Number.POSITIVE_INFINITY){\n overflow()\n }\n return $B.fast_float(r);\n}\n\n\n// GCD algorithm. Javascript adaptation of Python script at\n// https://gist.github.com/cmpute/baa545f0c2b6be8b628e9ded3c19f6c1\n// by Jacob Zhong\nfunction bit_length(x){\n return x.toString(2).length\n}\n\n$B.nb_simple_gcd = 0\n\nfunction simple_gcd(a, b){\n /* a fits into a long, so b must too */\n $B.nb_simple_gcd++\n var x = a >= 0 ? a : -a,\n y = b >= 0 ? b : -b\n\n /* usual Euclidean algorithm for longs */\n while (y != 0) {\n t = y;\n y = x % y;\n x = t;\n }\n return x\n}\n\nfunction lgcd(x, y){\n var a, b, c, d\n if(x < y){\n return lgcd(y, x)\n }\n var shift = BigInt(Math.max(Math.floor(bit_length(x) / 64),\n Math.floor(bit_length(y) / 64))),\n xbar = x >> (shift * 64n),\n ybar = y >> (shift * 64n)\n while(y > p2_64){\n [a, b, c, d] = [1n, 0n, 0n, 1n]\n while(ybar + c != 0 && ybar + d != 0){\n q = (xbar + a) / (ybar + c)\n p = (xbar + b) / (ybar + d)\n if(q != p){\n break\n }\n [a, c] = [c, a - q * c]\n [b, d] = [d, b - q * d]\n [xbar, ybar] = [ybar, xbar - q * ybar]\n }\n if(b == 0){\n [x, y] = [y, x % y]\n }else{\n [x, y] = [a * x + b * y, c * x + d * y]\n }\n }\n return simple_gcd(x, y)\n}\n\nfunction xgcd(x, y){\n var xneg = x < 0 ? -1n : 1n,\n yneg = y < 0 ? -1n : 1n,\n last_r,\n last_s,\n last_t,\n q, r, s, t;\n\n [x, y] = [x >= 0 ? x : -x, y >= 0 ? y : -y];\n\n // it's maintained that r = s * x + t * y, last_r = last_s * x + last_t * y\n [last_r, r] = [x, y];\n [last_s, s] = [1n, 0n];\n [last_t, t] = [0n, 1n];\n\n while(r > 0){\n q = last_r / r;\n [last_r, r] = [r, last_r - q * r];\n [last_s, s] = [s, last_s - q * s];\n [last_t, t] = [t, last_t - q * t];\n }\n return [last_r, last_s * xneg, last_t * yneg]\n}\n\nfunction lxgcd(x, y){\n var g, cy, cx,\n s, last_s,\n t, last_t,\n a, b, c, d\n x = x >= 0 ? x : -x\n y = y >= 0 ? y : -y\n\n if(x < y){\n [g, cy, cx] = xgcd(y, x)\n return [g, cx, cy]\n }\n\n var shift = BigInt(Math.max(Math.floor(bit_length(x) / 64),\n Math.floor(bit_length(y) / 64))),\n xbar = x >> (shift * 64n),\n ybar = y >> (shift * 64n);\n\n [last_s, s] = [1n, 0n];\n [last_t, t] = [0n, 1n];\n\n while(y > p2_64){\n [a, b, c, d] = [1n, 0n, 0n, 1n]\n while(ybar + c != 0 && ybar + d != 0){\n q = (xbar + a) / (ybar + c)\n p = (xbar + b) / (ybar + d)\n if(q != p){\n break\n };\n [a, c = c], [a - q * c];\n [b, d = d], [b - q * d];\n [xbar, ybar] = [ybar, xbar - q * ybar];\n }\n if(b == 0){\n q = x / y;\n [x, y] = [y, x % y];\n [last_s, s] = [s, last_s - q * s];\n [last_t, t] = [t, last_t - q * t];\n }else{\n [x, y] = [a * x + b * y, c * x + d * y];\n [last_s, s] = [a * last_s + b * s, c * last_s + d * s];\n [last_t, t] = [a * last_t + b * t, c * last_t + d * t];\n }\n }\n // notice that here x, y could be negative\n [g, cx, cy] = xgcd(x, y)\n\n return [g, cx * last_s + cy * s, cx * last_t + cy * t]\n}\n\nfunction gcd(x, y){\n var $ = $B.args(\"gcd\", 0, {}, [], arguments, {}, 'args', null)\n var args = $.args.map($B.PyNumber_Index)\n if(args.length == 0){\n return 0\n }else if(args.length == 1){\n return _b_.abs(args[0])\n }\n x = _b_.int.$to_bigint(args[0])\n y = _b_.int.$to_bigint(args[1])\n var res = lxgcd(x, y)[0],\n i = 2\n while(i < args.length){\n res = lxgcd(res, _b_.int.$to_bigint(args[i]))[0]\n i++\n }\n return _b_.int.$int_or_long(res)\n}\n\n\nfunction hypot(x, y){\n var $ = $B.args(\"hypot\", 0, {}, [],\n arguments, {}, \"args\", null)\n var args = []\n for(var arg of $.args){\n try{\n args.push(float_check(arg))\n }catch(err){\n if($B.is_exc(err, [_b_.ValueError])){\n throw _b_.TypeError.$factory('must be real number, not ' +\n $B.class_name(arg))\n }\n throw err\n }\n }\n return $B.fast_float(Math.hypot(...args))\n}\n\nvar inf = INF\n\nfunction isclose(){\n var $ = $B.args(\"isclose\",\n 4,\n {a: null, b: null, rel_tol: null, abs_tol: null},\n ['a', 'b', 'rel_tol', 'abs_tol'],\n arguments,\n {rel_tol: $B.fast_float(1e-09),\n abs_tol: $B.fast_float(0.0)},\n '*',\n null)\n var a = float_check($.a),\n b = float_check($.b),\n rel_tol = float_check($.rel_tol),\n abs_tol = float_check($.abs_tol)\n\n if(rel_tol < 0.0 || abs_tol < 0.0){\n throw _b_.ValueError.$factory('tolerances must be non-negative')\n }\n\n if(a == b){\n return _b_.True\n }\n if(_b_.float.$funcs.isinf(a) || _b_.float.$funcs.isinf(b)){\n return a === b\n }\n // isclose(a, b, rel_tol, abs_tol) is the same as\n // abs_diff = abs(a - b)\n // max_ab = max(abs(a), abs(b))\n // abs_diff <= abs_tol or abs_diff / max_ab <= rel_tol\n // This is more correct than in Python docs:\n // \"abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)\"\n // because this fails for Decimal instances, which do not support\n // multiplication by floats\n\n var diff = b - a,\n abs_diff = Math.abs(diff)\n if(abs_diff <= abs_tol){\n return true\n }\n var abs_a = Math.abs(a),\n abs_b = Math.abs(b),\n max_ab = Math.max(abs_a, abs_b)\n return abs_diff / max_ab <= rel_tol\n}\n\nfunction isfinite(x){\n $B.check_nb_args('isfinite', 1, arguments)\n $B.check_no_kw('isfinite', x)\n return isFinite(float_check(x))\n}\n\nfunction isinf(x){\n $B.check_nb_args('isinf', 1, arguments)\n $B.check_no_kw('isinf', x)\n return _b_.float.$funcs.isinf(x)\n}\n\nfunction isnan(x){\n $B.check_nb_args('isnan', 1, arguments)\n $B.check_no_kw('isnan', x)\n return isNaN(float_check(x))\n}\n\nfunction isqrt(x){\n $B.check_nb_args_no_kw('isqrt', 1, arguments)\n\n x = $B.PyNumber_Index(x)\n if($B.rich_comp(\"__lt__\", x, 0)){\n throw _b_.ValueError.$factory(\n \"isqrt() argument must be nonnegative\")\n }\n if(typeof x == \"number\"){\n return Math.floor(Math.sqrt(x))\n }else{ // big integer\n // adapted from code in mathmodule.c\n var n = x.value,\n bit_length = n.toString(2).length,\n c = BigInt(Math.floor((bit_length - 1) / 2)),\n c_bit_length = c.toString(2).length,\n a = 1n,\n d = 0n,\n e\n\n for(var s = BigInt(c_bit_length - 1); s >= 0; s--){\n // Loop invariant: (a-1)**2 < (n >> 2*(c - d)) < (a+1)**2\n e = d\n d = c >> s\n a = (a << d - e - 1n) + (n >> 2n*c - e - d + 1n) / a\n }\n return _b_.int.$int_or_long(a - (a * a > n ? 1n : 0n))\n }\n}\n\nfunction lcm(){\n var $ = $B.args(\"lcm\", 0, {}, [], arguments, {}, 'args', null),\n product = 1\n\n var args = $.args.map($B.PyNumber_Index)\n if(args.length == 0){\n return 1\n }else if(args.length == 1){\n return _b_.abs(args[0])\n }\n var a = _b_.abs(args[0]),\n b,\n product, gcd\n for(var i = 0, len = args.length; i < len; i++){\n b = _b_.abs(args[i])\n if(b == 0){\n return 0\n }\n gcd = gcd2(a, b)\n product = $B.rich_op('__mul__', a, b)\n a = $B.$getattr(product, \"__floordiv__\")(gcd)\n }\n return a\n}\n\nfunction ldexp(x, i){\n $B.check_nb_args('ldexp', 2, arguments)\n $B.check_no_kw('ldexp', x, i)\n return _b_.float.$funcs.ldexp(x, i) // in py_float.js\n}\n\nfunction lgamma(x){\n $B.check_nb_args('lgamma', 1, arguments)\n $B.check_no_kw('lgamma', x)\n\n return m_lgamma(x)\n}\n\nfunction longint_mant_exp(long_int){\n // Returns mantissa and exponent of a long integer\n var value = long_int.value,\n exp = value.toString(2).length,\n exp1 = exp,\n nb = 0n\n // 2 ** exp is infinite if n > 1023\n var nb = Math.floor(exp / 1023),\n exp1 = BigInt(exp - 1023 * nb)\n nb = BigInt(nb)\n var reduced_value = long_int.value / 2n ** (nb * 1023n)\n var mant = Number(reduced_value) / Number(2n ** exp1)\n return [mant, exp]\n}\n\nvar log10_func = Math.log10 || (x => Math.log(x) / Math.log(10)),\n log2_func = Math.log2 || (x => Math.log(x) / Math.log(2))\n\nfunction log(x, base){\n var $ = $B.args(\"log\", 2, {x: null, base: null}, ['x', 'base'],\n arguments, {base: _b_.None}, null, null),\n x = $.x,\n base = $.base\n if(base == 10){\n return log10(x)\n }else if(base == 2){\n return log2(x)\n }\n var log\n if($B.$isinstance(x, $B.long_int)){\n if(x.value <= 0){\n throw _b_.ValueError.$factory('math domain error')\n }\n var mant_exp = longint_mant_exp(x)\n log = Math.log(mant_exp[0]) + Math.log(2) * mant_exp[1]\n }else if($B.$isinstance(x, _b_.int)){\n x = _b_.int.$int_value(x)\n if(x <= 0){\n throw _b_.ValueError.$factory('math domain error')\n }\n log = Math.log(x)\n }else{\n var x1 = float_check(x)\n if(x1 <= 0){\n throw _b_.ValueError.$factory('math domain error')\n }\n log = Math.log(x1)\n }\n if(x1 <= 0){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n if(base === _b_.None){\n return $B.fast_float(log)\n }\n var denom = _mod.log(base).value\n if(denom == 0){\n throw _b_.ZeroDivisionError.$factory('float division by zero')\n }\n return $B.fast_float(log / denom)\n}\n\nfunction log1p(x){\n $B.check_nb_args('log1p', 1, arguments)\n $B.check_no_kw('log1p', x)\n if($B.$isinstance(x, $B.long_int)){\n if($B.long_int.bit_length(x) > 1024){\n throw _b_.OverflowError.$factory(\n \"int too large to convert to float\")\n }\n x = $B.long_int.$log2($B.fast_long_int(x.value + 1n))\n return $B.fast_float(Number(x.value) * Math.LN2)\n }\n x = float_check(x)\n if(x + 1 <= 0){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n return $B.fast_float(Math.log1p(x))\n}\n\nfunction log2(x){\n $B.check_nb_args('log2', 1, arguments)\n $B.check_no_kw('log2', x)\n var log2_func = Math.log2 || (x => Math.log(x) / Math.LN2)\n if($B.$isinstance(x, $B.long_int)){\n if(x.value <= 0){\n throw _b_.ValueError.$factory('math domain error')\n }\n var mant_exp = longint_mant_exp(x)\n return $B.fast_float(log2_func(mant_exp[0]) + mant_exp[1])\n }\n if(_b_.float.$funcs.isninf(x)){\n throw _b_.ValueError.$factory('')\n }\n x = float_check(x)\n if(x == 0){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n if(isNaN(x)){\n return _b_.float.$factory('nan')\n }\n if(x < 0.0){\n throw _b_.ValueError.$factory('math domain error')\n }\n return $B.fast_float(log2_func(x))\n}\n\nfunction log10(x){\n $B.check_nb_args('log10', 1, arguments)\n $B.check_no_kw('log10', x)\n if($B.$isinstance(x, $B.long_int)){\n return $B.fast_float($B.long_int.$log10(x).value)\n }\n x = float_check(x)\n if(x <= 0){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n return $B.fast_float(Math.log10(x))\n}\n\nfunction modf(x){\n $B.check_nb_args('modf', 1, arguments)\n $B.check_no_kw('modf', x)\n\n if(_b_.float.$funcs.isninf(x)){\n return _b_.tuple.$factory([0.0, NINF])\n }\n if(_b_.float.$funcs.isinf(x)){\n return _b_.tuple.$factory([0.0, INF])\n }\n var x1 = float_check(x)\n\n if(isNaN(x1)){\n return _b_.tuple.$factory([_b_.float.$factory('nan'),\n _b_.float.$factory('nan')])\n }\n\n if(x1 > 0){\n var i = _b_.float.$factory(x1 - Math.floor(x1))\n return _b_.tuple.$factory([i, _b_.float.$factory(x1 - i.value)])\n }\n\n var x2 = Math.ceil(x1)\n var i = _b_.float.$factory(x1 - x2)\n return _b_.tuple.$factory([i, _b_.float.$factory(x2)])\n}\n\nvar nan = _b_.float.$factory('nan')\n\nfunction _nextafter(x, y){\n // always returns a Javascript number\n if($B.rich_comp('__lt__', y, x)){\n var nu = nextUp($B.rich_op('__mul__', -1, x))\n return -nu\n }else if($B.rich_comp('__gt__', y, x)){\n return nextUp(x)\n }else{\n var res = x !== x ? x : y\n res = typeof res == 'number' ? res : res.value\n return res\n }\n}\n\nfunction make_float(x){\n return typeof x == 'number' ? $B.fast_float(x) : x\n}\n\nfunction make_number(x){\n return typeof x == 'number' ? x : x.value\n}\n\nfunction doubleToByteArray(number) {\n // adapted from https://stackoverflow.com/questions/\n // 25942516/double-to-byte-array-conversion-in-javascript\n var buffer = new ArrayBuffer(8); // JS numbers are 8 bytes long, or 64 bits\n var longNum = new Float64Array(buffer); // so equivalent to Float64\n\n longNum[0] = number;\n\n return Array.from(new Uint8Array(buffer)).reverse(); // reverse to get little endian\n}\n\nfunction byteArrayToDouble(bytearray) {\n // adapted from https://stackoverflow.com/questions/\n // 42699162/javascript-convert-array-of-4-bytes-into-a-float-value-from-modbustcp-read\n // Create a buffer\n var buf = new ArrayBuffer(8);\n // Create a data view of it\n var view = new DataView(buf);\n\n // set bytes\n bytearray.forEach(function (b, i) {\n view.setUint8(i, b);\n });\n\n // Read the bits as a float\n var num = view.getFloat64(0);\n // Done\n return num\n}\n\nfunction addSteps(array, steps){\n // convert to BigInt, avoids issue when steps >= 2 ** 32\n if(steps.__class__ == $B.long_int){\n steps = steps.value\n }else{\n steps = BigInt(steps)\n }\n var positive = steps > 0n\n if(steps < 0n){\n steps = -steps\n }\n var x1 = steps >> 32n,\n x2 = steps - x1 * 2n ** 32n\n var buffer = new ArrayBuffer(8)\n var longStep = new BigInt64Array(buffer)\n longStep[0] = steps\n var stepArray = Array.from(new Uint8Array(buffer)).reverse()\n if(positive){\n var carry = 0\n for(var i = 7; i >= 0; i--){\n array[i] += stepArray[i] + carry\n if(array[i] > 255){\n carry = 1\n array[i] -= 256\n }else{\n carry = 0\n }\n }\n }else{\n var carry = 0\n for(var i = 7; i >= 0; i--){\n array[i] -= stepArray[i] - carry\n if(array[i] < 0){\n carry = -1\n array[i] += 256\n }else{\n carry = 0\n }\n }\n }\n}\n\nfunction nextafter(){\n var $ = $B.args(\"nextafter\", 3, {x: null, y: null, steps: null},\n ['x', 'y', 'steps'], arguments, {steps: _b_.None}, null, null),\n x = $.x,\n y = $.y,\n steps = $.steps\n if(! $B.$isinstance(x, [_b_.int, _b_.float])){\n throw _b_.TypeError.$factory('must be a real number, not ' +\n $B.class_name(x))\n }\n if(! $B.$isinstance(y, [_b_.int, _b_.float])){\n throw _b_.TypeError.$factory('must be a real number, not ' +\n $B.class_name(y))\n }\n if(isnan(x)){\n return make_float(x)\n }\n if(isnan(y)){\n return make_float(y)\n }\n if(steps === _b_.None){\n return $B.fast_float(_nextafter(x, y))\n }\n steps = $B.PyNumber_Index(steps);\n if(steps < 0) {\n throw _b_.ValueError.$factory(\n \"steps must be a non-negative integer\");\n }\n if(steps == 0){\n return make_float(x)\n }\n if(isnan(x)){\n return make_float(x)\n }\n if(isnan(y)){\n return make_float(y)\n }\n var x1 = make_number(x),\n y1 = make_number(y)\n\n if(y1 == x1){\n return make_float(y)\n }else if(y1 > x1){\n var x_uint64 = doubleToByteArray(x1)\n addSteps(x_uint64, steps)\n var res = byteArrayToDouble(x_uint64)\n return res >= y1 ? y : make_float(res)\n }else{\n var x_uint64 = doubleToByteArray(x1)\n addSteps(x_uint64, -steps)\n var res = byteArrayToDouble(x_uint64)\n return res <= y1 ? y : make_float(res)\n }\n}\n\nfunction perm(n, k){\n var $ = $B.args(\"perm\", 2, {n: null, k: null}, ['n', 'k'],\n arguments, {k: _b_.None}, null, null),\n n = $.n,\n k = $.k\n\n if(k === _b_.None){\n check_int(n)\n return _mod.factorial(n)\n }\n // raise TypeError if n or k is not an integer\n n = $B.PyNumber_Index(n)\n k = $B.PyNumber_Index(k)\n\n // transform to Javascript BigInt\n var n1 = _b_.int.$to_bigint(n),\n k1 = _b_.int.$to_bigint(k);\n\n if(k1 < 0){\n throw _b_.ValueError.$factory(\"k must be a non-negative integer\")\n }\n if(n1 < 0){\n throw _b_.ValueError.$factory(\"n must be a non-negative integer\")\n }\n if(k1 == 0){\n return 1\n }\n if(k1 == 1){\n return n\n }\n if(k1 == 2){\n return _b_.int.$int_or_long(n1 * (n1 - 1n))\n }\n if(k1 > n1){\n return 0\n }\n // Evaluates to n! / (n - k)!\n var fn = _mod.factorial(n),\n fn_k = _mod.factorial(n - k)\n return $B.rich_op('__floordiv__', fn, fn_k)\n}\n\nconst pi = $B.fast_float(Math.PI)\n\nfunction pow(){\n var $ = $B.args(\"pow\", 2, {base: null, exp: null}, ['base', 'exp'],\n arguments, {}, null, null),\n x = $.base,\n y = $.exp\n\n var x1 = float_check(x)\n var y1 = float_check(y)\n\n if(y1 == 0){\n return _b_.float.$factory(1)\n }\n if(x1 == 0 && y1 < 0){\n if(y1 === -Infinity){\n return INF\n }\n throw _b_.ValueError.$factory('math domain error')\n }\n if(isFinite(x1) && x1 < 0 && isFinite(y1) && ! Number.isInteger(y1)){\n throw _b_.ValueError.$factory('math domain error')\n }\n\n if(isNaN(y1)){\n if(x1 == 1){return _b_.float.$factory(1)}\n return NAN\n }\n if(x1 == 0){\n return ZERO\n }\n\n if(_b_.float.$funcs.isninf(y)){\n if(_b_.float.$funcs.isinf(x)){ // pow(INF, NINF) = 0.0\n return ZERO\n }else if(_b_.float.$funcs.isninf(x)){ // pow(NINF, NINF) = 0.0\n return ZERO\n }\n if(x1 == 1 || x1 == -1){return _b_.float.$factory(1)}\n if(x1 < 1 && x1 > -1){return INF}\n return ZERO\n }\n if(_b_.float.$funcs.isinf(y)){\n if(_b_.float.$funcs.isinf(x)){ // pow(INF, INF)\n return INF\n }\n if(_b_.float.$funcs.isninf(x)){\n return INF\n }\n if(x1 == 1 || x1 == -1){return _b_.float.$factory(1)}\n if(x1 < 1 && x1 > -1){return ZERO}\n return INF\n }\n\n if(isNaN(x1)){return _b_.float.$factory('nan')}\n if(_b_.float.$funcs.isninf(x)){\n if(y1 > 0 && isOdd(y1)){return NINF}\n if(y1 > 0){return INF} // this is even or a float\n if(y1 < 0){return ZERO}\n if(_b_.float.$float.isinf(y)){return INF}\n return _b_.float.$factory(1)\n }\n\n if(_b_.float.$funcs.isinf(x)){\n if(y1 > 0){return INF}\n if(y1 < 0){return ZERO}\n return _b_.float.$factory(1)\n }\n\n var r = Math.pow(x1, y1)\n if(isNaN(r)){\n return NAN\n }\n if(! isFinite(r)){\n overflow()\n }\n return _b_.float.$factory(r)\n}\n\nfunction prod(){\n var $ = $B.args(\"prod\", 1, {iterable:null, start:null},\n [\"iterable\", \"start\"], arguments, {start: 1}, \"*\",\n null),\n iterable = $.iterable,\n start = $.start\n var res = start,\n it = _b_.iter(iterable),\n x\n while(true){\n try{\n x = _b_.next(it)\n if(x == 0){\n return 0\n }\n res = $B.rich_op('__mul__', res, x)\n }catch(err){\n if(err.__class__ === _b_.StopIteration){\n return res\n }\n throw err\n }\n }\n}\n\nfunction radians(x){\n $B.check_nb_args('radians', 1, arguments)\n $B.check_no_kw('radians', x)\n\n return _b_.float.$factory(float_check(x) * Math.PI / 180)\n}\n\nfunction is_finite(x){\n return typeof x == \"number\" ||\n (x.__class__ === _b_.floar && isFinite(x.value)) ||\n $B.$isinstance(x, _b_.int) ||\n ($B.$isinstance(x, _b_.float) && isFinite(x.value))\n}\n\nfunction remainder(x, y){\n $B.check_nb_args_no_kw('remainder', 2, arguments)\n float_check(x) // might raise TypeError\n /* Deal with most common case first. */\n if(is_finite(x) && is_finite(y)){\n var absx,\n absy,\n c,\n m,\n r;\n\n if(float_check(y) == 0.0){\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n\n absx = fabs(x);\n absy = fabs(y);\n m = fmod(absx, absy);\n\n c = absy.value - m.value\n if(m.value < c){\n r = m.value\n }else if(m.value > c){\n r = -c\n }else{\n r = m.value -\n 2.0 * fmod($B.fast_float(0.5 * (absx.value - m.value)), absy).value;\n }\n return $B.fast_float(copysign(1.0, x).value * r);\n }\n\n /* Special values. */\n if(float_check(y) == 0){\n if(isnan(x)){\n return x\n }\n }\n if(isinf(x)){\n if(isnan(y)){\n return y\n }\n throw _b_.ValueError.$factory(\"math domain error\")\n }\n if(isnan(y)){\n return y;\n }\n return x;\n}\n\nfunction sin(x){\n $B.check_nb_args('sin ', 1, arguments)\n $B.check_no_kw('sin ', x)\n return _b_.float.$factory(Math.sin(float_check(x)))\n}\n\nfunction sinh(x) {\n $B.check_nb_args('sinh', 1, arguments)\n $B.check_no_kw('sinh', x)\n\n var y = float_check(x)\n if(Math.sinh !== undefined){\n return _b_.float.$factory(Math.sinh(y))\n }\n return _b_.float.$factory(\n (Math.pow(Math.E, y) - Math.pow(Math.E, -y)) / 2)\n}\n\nfunction sqrt(x){\n $B.check_nb_args('sqrt ', 1, arguments)\n $B.check_no_kw('sqrt ', x)\n\n if(_b_.float.$funcs.isninf(x)){\n value_error()\n }else if(_b_.float.$funcs.isinf(x)){\n return INF\n }\n var y = float_check(x)\n if(y < 0){\n value_error()\n }\n var _r = $B.fast_float(Math.sqrt(y))\n if(_b_.float.$funcs.isinf(_r)){\n overflow()\n }\n return _r\n}\n\n/*[clinic input]\nmath.sumprod\n\n p: object\n q: object\n /\n\nReturn the sum of products of values from two iterables p and q.\n\nRoughly equivalent to:\n\n sum(itertools.starmap(operator.mul, zip(p, q, strict=True)))\n\nFor float and mixed int/float inputs, the intermediate products\nand sums are computed with extended precision.\n[clinic start generated code]*/\n\nconst tl_zero = {hi: 0, lo: 0, tiny: 0}\n\nfunction _check_long_mult_overflow(a, b) {\n\n /* From Python2's int_mul code:\n\n Integer overflow checking for * is painful: Python tried a couple ways, but\n they didn't work on all platforms, or failed in endcases (a product of\n -sys.maxint-1 has been a particular pain).\n\n Here's another way:\n\n The native long product x*y is either exactly right or *way* off, being\n just the last n bits of the true product, where n is the number of bits\n in a long (the delivered product is the true product plus i*2**n for\n some integer i).\n\n The native double product (double)x * (double)y is subject to three\n rounding errors: on a sizeof(long)==8 box, each cast to double can lose\n info, and even on a sizeof(long)==4 box, the multiplication can lose info.\n But, unlike the native long product, it's not in *range* trouble: even\n if sizeof(long)==32 (256-bit longs), the product easily fits in the\n dynamic range of a double. So the leading 50 (or so) bits of the double\n product are correct.\n\n We check these two ways against each other, and declare victory if they're\n approximately the same. Else, because the native long product is the only\n one that can lose catastrophic amounts of information, it's the native long\n product that must have overflowed.\n\n */\n\n /*\n\n var longprod = (long)((unsigned long)a * b);\n double doubleprod = (double)a * (double)b;\n double doubled_longprod = (double)longprod;\n\n if (doubled_longprod == doubleprod) {\n return 0;\n }\n\n const double diff = doubled_longprod - doubleprod;\n const double absdiff = diff >= 0.0 ? diff : -diff;\n const double absprod = doubleprod >= 0.0 ? doubleprod : -doubleprod;\n\n if (32.0 * absdiff <= absprod) {\n return 0;\n }\n\n return 1;\n */\n return 0\n}\n\nfunction long_add_would_overflow(a, b){\n return (a > 0n) ? (b > BigInt(LONG_MAX) - a) : (b < BigInt(LONG_MIN) - a);\n}\n\nfunction PyLong_CheckExact(n){\n return typeof n == 'number' || n.__class__ === $B.long_int\n}\n\n/*\n The default implementation of dl_mul() depends on the C math library\n having an accurate fma() function as required by § 7.12.13.1 of the\n C99 standard.\n\n The UNRELIABLE_FMA option is provided as a slower but accurate\n alternative for builds where the fma() function is found wanting.\n The speed penalty may be modest (17% slower on an Apple M1 Max),\n so don't hesitate to enable this build option.\n\n The algorithms are from the T. J. Dekker paper:\n A Floating-Point Technique for Extending the Available Precision\n https://csclub.uwaterloo.ca/~pbarfuss/dekker1971.pdf\n*/\n\nfunction dl_split(x) {\n // Dekker (5.5) and (5.6).\n var t = x * 134217729.0; // Veltkamp constant = 2.0 ** 27 + 1\n var hi = t - (t - x);\n var lo = x - hi;\n return {hi, lo};\n}\n\nfunction dl_mul(x, y){\n // Dekker (5.12) and mul12()\n var xx = dl_split(x);\n var yy = dl_split(y);\n var p = xx.hi * yy.hi;\n var q = xx.hi * yy.lo + xx.lo * yy.hi;\n var z = p + q;\n var zz = p - z + q + xx.lo * yy.lo;\n return {hi: z, lo: zz};\n}\n\nfunction dl_sum(a, b){\n /* Algorithm 3.1 Error-free transformation of the sum */\n var x = a + b;\n var z = x - a;\n var y = (a - (x - z)) + (b - z);\n return {hi: x, lo: y};\n}\n\nfunction tl_fma(x, y, total){\n /* Algorithm 5.10 with SumKVert for K=3 */\n var pr = dl_mul(x, y);\n var sm = dl_sum(total.hi, pr.hi);\n var r1 = dl_sum(total.lo, pr.lo);\n var r2 = dl_sum(r1.hi, sm.lo);\n return {hi: sm.hi, lo: r2.hi, tiny: total.tiny + r1.lo + r2.lo}\n}\n\nfunction tl_to_d(total){\n var last = dl_sum(total.lo, total.hi);\n return total.tiny + last.lo + last.hi;\n}\n\nfunction sumprod(p, q){\n var $ = $B.args('sumprod', 2, {p: null, q: null}, ['p', 'q'],\n arguments, {}, null, null)\n var p_i = NULL,\n q_i = NULL,\n term_i = NULL,\n new_total = NULL;\n var p_it, q_it, total;\n var p_next, q_next;\n var p_stopped = false, q_stopped = false;\n var int_path_enabled = true,\n int_total_in_use = false;\n var flt_path_enabled = true,\n flt_total_in_use = false;\n var int_total = 0n;\n var flt_total = tl_zero;\n\n p_it = $B.make_js_iterator(p);\n q_it = $B.make_js_iterator(q);\n total = 0\n p_next = p_it.next\n q_next = q_it.next\n while (1) {\n var finished;\n p_i = p_it.next()\n if (p_i.done) {\n /*\n if (PyErr_Occurred()) {\n if (!PyErr_ExceptionMatches(PyExc_StopIteration)) {\n goto err_exit;\n }\n PyErr_Clear();\n }\n */\n p_stopped = true;\n }else{\n p_i = p_i.value\n }\n q_i = q_it.next()\n if (q_i.done) {\n /*\n if (PyErr_Occurred()) {\n if (!PyErr_ExceptionMatches(PyExc_StopIteration)) {\n goto err_exit;\n }\n PyErr_Clear();\n }\n */\n q_stopped = true;\n }else{\n q_i = q_i.value\n }\n if (p_stopped != q_stopped) {\n throw _b_.ValueError.$factory(\"Inputs are not the same length\");\n }\n\n finished = p_stopped & q_stopped;\n\n if (int_path_enabled) {\n\n if (! finished && PyLong_CheckExact(p_i) & PyLong_CheckExact(q_i)) {\n var overflow;\n var int_p, int_q, int_prod;\n\n int_p = _b_.int.$to_bigint($B.PyNumber_Index(p_i))\n overflow = int_p > LONG_MAX || int_p < LONG_MIN\n\n if (overflow) {\n finalize_int_path()\n }\n int_q = _b_.int.$to_bigint($B.PyNumber_Index(q_i));\n overflow = int_q > LONG_MAX || int_q < LONG_MIN\n if (overflow) {\n finalize_int_path()\n }\n if (_check_long_mult_overflow(int_p, int_q)) {\n finalize_int_path()\n }\n int_prod = int_p * int_q;\n if (long_add_would_overflow(int_total, int_prod)) {\n finalize_int_path()\n }\n if(int_path_enabled){\n int_total = int_total + int_prod;\n int_total_in_use = true;\n continue;\n }\n }\n\n if(finished){\n finalize_int_path()\n }\n\n function finalize_int_path(){\n // We're finished, overflowed, or have a non-int\n int_path_enabled = false;\n if (int_total_in_use) {\n term_i = _b_.int.$int_or_long(int_total);\n new_total = $B.rich_op('__add__', total, term_i);\n total = new_total\n new_total = NULL;\n int_total = 0; // An ounce of prevention, ...\n int_total_in_use = false;\n }\n }\n }\n\n if (flt_path_enabled) {\n\n if (!finished) {\n var flt_p, flt_q;\n var p_type_float = p_i.__class__ === _b_.float;\n var q_type_float = q_i.__class__ === _b_.float\n if(p_type_float && q_type_float) {\n flt_p = p_i;\n flt_q = q_i;\n }else if (p_type_float && (PyLong_CheckExact(q_i) ||\n typeof q_i == 'boolean')){\n /* We care about float/int pairs and int/float pairs because\n they arise naturally in several use cases such as price\n times quantity, measurements with integer weights, or\n data selected by a vector of bools. */\n flt_p = p_i\n flt_q = _b_.int.$int_value(q_i)\n }else if(q_type_float && (PyLong_CheckExact(p_i) ||\n typeof p_i == 'boolean')) {\n flt_q = q_i\n flt_p = _b_.int.$int_value(p_i)\n }else{\n finalize_flt_path()\n }\n if(flt_path_enabled){\n var new_flt_total = tl_fma(flt_p.value, flt_q.value, flt_total);\n if (isfinite(new_flt_total.hi)) {\n flt_total = new_flt_total;\n flt_total_in_use = true;\n continue;\n }\n }\n }\n if(finished){\n finalize_flt_path()\n }\n\n function finalize_flt_path(){\n // We're finished, overflowed, have a non-float, or got a non-finite value\n flt_path_enabled = false;\n if(flt_total_in_use){\n term_i = $B.fast_float(tl_to_d(flt_total));\n if (term_i == NULL) {\n err_exit()\n }\n new_total = $B.rich_op('__add__', total, term_i);\n total = new_total\n new_total = NULL\n flt_total = tl_zero;\n flt_total_in_use = false;\n }\n }\n }\n\n if (finished) {\n return total\n }\n term_i = $B.rich_op('__mul__', p_i, q_i);\n new_total = $B.rich_op('__add__', total, term_i);\n total = new_total\n new_total = NULL;\n }\n\n}\n\n\n\nfunction tan(x) {\n $B.check_nb_args('tan', 1, arguments)\n $B.check_no_kw('tan', x)\n\n var y = float_check(x)\n return _b_.float.$factory(Math.tan(y))\n}\n\nfunction tanh(x) {\n $B.check_nb_args('tanh', 1, arguments)\n $B.check_no_kw('tanh', x)\n\n var y = float_check(x)\n if(Math.tanh !== undefined){return _b_.float.$factory(Math.tanh(y))}\n return _b_.float.$factory((Math.pow(Math.E, y) - Math.pow(Math.E, -y))/\n (Math.pow(Math.E, y) + Math.pow(Math.E, -y)))\n}\n\nconst tau = $B.fast_float(2 * Math.PI)\n\nfunction trunc(x) {\n $B.check_nb_args('trunc', 1, arguments)\n $B.check_no_kw('trunc', x)\n\n try{return $B.$getattr(x, '__trunc__')()}catch(err){}\n var x1 = float_check(x)\n if(!isNaN(parseFloat(x1)) && isFinite(x1)){\n if(Math.trunc !== undefined){return _b_.int.$factory(Math.trunc(x1))}\n if(x1 > 0){return _b_.int.$factory(Math.floor(x1))}\n return _b_.int.$factory(Math.ceil(x1)) // x1 < 0\n }\n throw _b_.ValueError.$factory(\n 'object is not a number and does not contain __trunc__')\n}\n\nfunction ulp(){\n var $ = $B.args(\"ulp\", 1, {x: null}, ['x'], arguments, {}, null, null),\n x = $.x\n if($B.$isinstance(x, _b_.float)){\n if(_b_.float.$funcs.isinf(x)){\n return _mod.inf\n }else if(_b_.float.$funcs.isnan(x)){\n return _mod.nan\n }\n }\n if(typeof x == \"number\"){\n return x >= 0 ? $B.fast_float(nextUp(x) - x) :\n $B.fast_float(x - (-nextUp(-x)))\n }else if($B.$isinstance(x, $B.long_int)){\n x = Number(_b_.int.$to_bigint(x))\n return x > 0 ? $B.fast_float(nextUp(x) - x) :\n $B.fast_float(x - (-nextUp(-x)))\n }else{\n if($B.rich_comp('__ge__', x, 0)){\n return $B.rich_op('__sub__', $B.fast_float(nextUp(x.value)), x)\n }else{\n var neg_x = $B.$call($B.$getattr(x, \"__neg__\"))()\n return $B.rich_op('__sub__', x,\n $B.$call($B.$getattr($B.fast_float(nextUp(neg_x.value)), '__neg__'))())\n }\n }\n}\n\nvar _mod = {\n acos,\n acosh,\n asin,\n asinh,\n atan,\n atan2,\n atanh,\n cbrt,\n ceil,\n comb,\n copysign,\n cos,\n cosh,\n degrees,\n dist,\n e,\n erf,\n erfc,\n exp,\n exp2,\n expm1,\n fabs,\n factorial,\n floor,\n fmod,\n frexp,\n fsum,\n gamma,\n gcd,\n hypot,\n inf,\n isclose,\n isfinite,\n isinf,\n isnan,\n isqrt,\n lcm,\n ldexp,\n lgamma,\n log,\n log1p,\n log2,\n log10,\n modf,\n nan,\n nextafter,\n perm,\n pi,\n pow,\n prod,\n radians,\n remainder,\n sin,\n sinh,\n sqrt,\n sumprod,\n tan,\n tanh,\n tau,\n trunc,\n ulp\n}\n\nfor(var $attr in _mod){\n if(typeof _mod[$attr] === 'function'){\n _mod[$attr].__class__ = $B.builtin_function_or_method\n }\n}\n\n$B.addToImported('math', _mod)\n\n})(__BRYTHON__)\n"],modulefinder:[".js","(function($B){\n\nvar _b_=$B.builtins\nvar _mod = {}\n\n$ModuleFinderDict = {__class__:_b_.type,__name__:'ModuleFinder'}\n$ModuleFinderDict.__mro__ = [_b_.object]\n\n$ModuleFinderDict.run_script = function(self, pathname){\n // pathname is the url of a Python script\n var py_src = _b_.$open(pathname).read()\n // transform into internal Brython tree structure\n var root = $B.py2js(py_src)\n // walk the tree to find occurences of imports\n function walk(node){\n var modules = []\n var ctx = node.context\n if(ctx && ctx.type=='node'){ctx = ctx.tree[0]}\n\n if(ctx && ctx.type==\"import\"){\n for(var i=0, _len_i = ctx.tree.length; i < _len_i;i++){\n if(modules.indexOf(ctx.tree[i].name)==-1){\n modules.push(ctx.tree[i].name)\n }\n }\n }else if(ctx && ctx.type==\"from\"){\n if(modules.indexOf(ctx.module)==-1){\n modules.push(ctx.module)\n }\n }\n\n for(var i=0, _len_i = node.children.length; i < _len_i;i++){\n mods = walk(node.children[i])\n for(var j=0, _len_j = mods.length; j < _len_j;j++){\n if(modules.indexOf(mods[j])==-1){modules.push(mods[j])}\n }\n }\n return modules\n }\n self.modules = walk(root)\n}\n\n_mod.ModuleFinder = function(){return {__class__:$ModuleFinderDict}\n}\n_mod.ModuleFinder.$dict = $ModuleFinderDict\n_mod.ModuleFinder.__class__ = $B.$factory\n$ModuleFinderDict.$factory = _mod.ModuleFinder\n\n$B.addToImported('modulefinder', _mod)\n\n})(__BRYTHON__)\n"],posix:[".js",'/*\nThis module provides access to operating system functionality that is\nstandardized by the C Standard and the POSIX standard (a thinly\ndisguised Unix interface). Refer to the library manual and\ncorresponding Unix manual entries for more information on calls.\n*/\nvar $B = __BRYTHON__,\n _b_ = $B.builtins\n\nfunction _randint(a, b){\n return parseInt(Math.random() * (b - a + 1) + a)\n}\n\nvar stat_result = $B.make_class("stat_result",\n function(filename){\n filename = _b_.str.$factory(filename)\n if($B.file_cache && $B.file_cache.hasOwnProperty(filename)){\n var f = $B.file_cache[filename],\n res = {\n __class__: stat_result,\n st_atime: __BRYTHON__.timestamp,\n st_ctime: f.ctime,\n st_mtime: f.mtime,\n st_uid: -1,\n st_gid: -1,\n st_ino: -1,\n st_mode: 0,\n st_size: f.length\n };\n ["mtime", "ctime", "atime_ns", "mtime_ns", "ctime_ns"].\n forEach(function(item){\n res["st_" + item] = res.st_atime\n });\n return res\n }else if($B.files && $B.files.hasOwnProperty(filename)){\n var f = $B.files[filename],\n res = {\n __class__: stat_result,\n st_atime: __BRYTHON__.timestamp,\n st_ctime: f.ctime,\n st_mtime: f.mtime,\n st_uid: -1,\n st_gid: -1,\n st_ino: -1,\n st_mode: 0,\n st_size: f.content.length\n };\n for(var item of ["mtime", "ctime", "atime_ns", "mtime_ns", "ctime_ns"]){\n res["st_" + item] = res.st_atime\n }\n return res\n\n }else{\n var res = {\n __class__: stat_result,\n st_atime: __BRYTHON__.timestamp,\n st_uid: -1,\n st_gid: -1,\n st_ino: -1,\n st_mode: filename.endsWith(\'/\') ? 16895 : 33206,\n st_size: 1 // fake\n };\n ["mtime", "ctime", "atime_ns", "mtime_ns", "ctime_ns"].\n forEach(function(item){\n res["st_" + item] = res.st_atime\n });\n return res\n }\n }\n)\n$B.set_func_names(stat_result, "posix")\n\nvar module = {\n F_OK: 0,\n O_APPEND: 8,\n O_BINARY: 32768,\n O_CREAT: 256,\n O_EXCL: 1024,\n O_NOINHERIT: 128,\n O_RANDOM: 16,\n O_RDONLY: 0,\n O_RDWR: 2,\n O_SEQUENTIAL: 32,\n O_SHORT_LIVED: 4096,\n O_TEMPORARY: 64,\n O_TEXT: 16384,\n O_TRUNC: 512,\n O_WRONLY: 1,\n P_DETACH: 4,\n P_NOWAIT: 1,\n P_NOWAITO: 3,\n P_OVERLAY: 2,\n P_WAIT: 0,\n R_OK: 4,\n TMP_MAX: 32767,\n W_OK: 2,\n X_OK: 1,\n _have_functions: [\'MS_WINDOWS\'],\n environ: _b_.dict.$factory(\n [[\'PYTHONPATH\', $B.brython_path],\n [\'PYTHONUSERBASE\', \' \']]),\n error: _b_.OSError,\n fspath: function(path){\n return path\n },\n getcwd: function(){return $B.brython_path},\n getpid: function(){return 0},\n lstat: function(filename){\n return stat_result.$factory(filename)\n },\n open: function(path, flags){return _b_.open(path, flags)},\n remove: function(path) {\n var $ = $B.args("remove", 1, { path: null }, ["path"], arguments, {}, null, null)\n console.log($)\n\n var path = $.path\n var found_file = false\n\n if ($B.file_cache && $B.file_cache.hasOwnProperty(path)){\n delete $B.file_cache[path]\n found_file = true\n }\n if ($B.files && $B.files.hasOwnProperty(path)){\n delete $B.files[path]\n found_file = true\n }\n\n if(!found_file) {\n throw _b_.FileNotFoundError.$factory(`No such file or directory: \'${path}\'`)\n }\n\n return _b_.None\n },\n stat: function(filename){return stat_result.$factory(filename)},\n stat_result: function(filename){return stat_result.$factory(filename)},\n urandom: function(n){\n const randbytes = new Uint8Array(n);\n crypto.getRandomValues(randbytes);\n return _b_.bytes.$factory(Array.from(randbytes));\n },\n WTERMSIG: function(){return 0},\n WNOHANG: function(){return _b_.tuple.$factory([0, 0])}\n};\n\n["WCOREDUMP", "WIFCONTINUED", "WIFSTOPPED", "WIFSIGNALED", "WIFEXITED"].forEach(function(funcname){\n module[funcname] = function(){return false}\n });\n\n["WEXITSTATUS", "WSTOPSIG", "WTERMSIG"].\n forEach(function(funcname){\n module[funcname] = function(){return _b_.None}\n });\n\n["_exit", "_getdiskusage", "_getfileinformation", "_getfinalpathname",\n "_getfullpathname", "_isdir", "abort", "access", "chdir", "chmod",\n "close", "closerange", "device_encoding", "dup", "dup2",\n "execv", "execve", "fsat", "fsync", "get_terminal_size", "getcwdb",\n "getlogin", "getppid", "isatty", "kill", "link", "listdir", "lseek",\n "mkdir", "pipe", "putenv", "read", "readlink", "rename",\n "replace", "rmdir", "spawnv", "spawnve", "startfile", "stat_float_times",\n "statvfs_result", "strerror", "symlink", "system", "terminal_size",\n "times", "times_result", "umask", "uname_result", "unlink", "utime",\n "waitpid", "write"].forEach(function(funcname){\n module[funcname] = function(){\n throw _b_.NotImplementedError.$factory("posix." + funcname +\n " is not implemented")\n }\n });\n\n$B.addToImported(\'posix\', module)'],pyexpat:[".js","(function($B){\n\n$B.$import('xml_parser')\n\nvar model = $B.imported.xml_parser.models\nconsole.log('model', model)\n\nvar _b_ = $B.builtins\n\nconst XML_PARAM_ENTITY_PARSING_NEVER = 0,\n XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1,\n XML_PARAM_ENTITY_PARSING_ALWAYS = 2\n\nconst FAIL = {}\n\nconst xml_entities = {\n '>': '>',\n '<': '<',\n '"': '\"',\n ''': \"'\",\n '&': '&'\n }\n\nvar xmlparser = $B.make_class('xmlparser',\n function(encoding, namespace_separator, intern){\n return {\n __class__: xmlparser,\n __dict__: $B.empty_dict(),\n encoding,\n namespace_separator,\n intern,\n buffer_text: false,\n _buffer: '',\n _state: 'data',\n _data_buffer: '',\n _initialized: false,\n _maybe_entity: null,\n _element_stack: [],\n _chunk_size: 2 << 14\n }\n }\n)\n\nxmlparser._handle_stack = function(self){\n if(! (self._element instanceof ELEMENT)){\n return\n }\n if(self._element.name === undefined){\n console.log('name undefined', self._element)\n alert()\n }\n if(self._element.is_end){\n if(self._element_stack.length == 0){\n raise_error(self, 'no opening tag for closing ' + self._element.name)\n }else{\n var expected = $B.last(self._element_stack)\n if(expected !== self._element.name){\n console.log('error handle stack, stack', self._element_stack, self._element)\n raise_error(self, `tag mismatch, ` +\n `expected closing tag ${expected}, ` +\n `got: ${self._element.name}`)\n }\n self._element_stack.pop()\n if(self._element_stack.length == 0){\n flush_char_data(self)\n }\n }\n }else if(! self._element.self_closing){\n self._element_stack.push(self._element.name)\n }\n}\n\nxmlparser.CharacterDataHandler = _b_.None\n\nxmlparser.CommentHandler = _b_.None\n\nxmlparser.EndElementHandler = _b_.None\n\nfunction check_entity(parser, pos){\n var entity = parser._maybe_entity\n var decimal = /&#(\\d+);$/.exec(entity)\n if(decimal){\n return _b_.chr(parseInt(decimal[1]))\n }\n var hexa = /&#x(\\d+);$/.exec(entity)\n if(hexa){\n return _b_.chr(parseInt(hexa[1], 16))\n }\n var xml_entity = xml_entities[entity]\n if(xml_entity){\n return xml_entity\n }\n raise_error_known_position(parser, `unknown entity: \"${entity}\"`, pos)\n}\n\nfunction flush_char_data(parser){\n var buf = parser._data_buffer\n if(buf.length > 0){\n let handler = parser._handlers.CharacterDataHandler\n if(handler !== _b_.None){\n handler(buf)\n }\n }\n parser._data_buffer = ''\n}\n\nfunction flush_final_char_data(parser){\n var buf = parser._data_buffer\n for(var i = 0; i < buf.length; i++){\n if(! buf[i].match(/\\s/)){\n var pos = parser._pos - buf.length + i - 1\n console.log('rest', buf)\n var msg = `junk after document element: line 1, column ${pos}`\n raise_error(parser, msg)\n }\n }\n}\n\nconst encoding_re = /<\\?xml .*encoding\\s*=\\s*\"(.*?)\"/\n\nconst handler_names = [\n 'CharacterDataHandler',\n 'CommentHandler',\n 'StartElementHandler',\n 'EndElementHandler',\n 'XmlDeclHandler'\n ]\n\nxmlparser.Parse = function(){\n var $ = $B.args('Parse', 3,\n {self: null, data: null, isfinal: null},\n ['self', 'data', 'isfinal'], arguments,\n {}, null, null),\n self = $.self,\n data = $.data,\n isfinal = $.isfinal,\n decoder,\n array\n if(self.finished){\n throw Error('parsing finished')\n }\n if(_b_.isinstance(data, _b_.bytes)){\n if(self.encoding === _b_.None){\n // try getting encoding from prolog\n decoder = new TextDecoder('iso-8859-1')\n array = new Uint8Array(data.source.slice(0, 200))\n var head = decoder.decode(array)\n var mo = encoding_re.exec(head)\n if(mo){\n self.encoding = mo[1]\n }else{\n self.encoding = 'utf-8' // default\n }\n }\n // decode bytes\n decoder = new TextDecoder(self.encoding)\n array = new Uint8Array(data.source)\n data = decoder.decode(array)\n }\n if(! self._initialized){\n if(data[0] != '<'){\n throw Error(\"XML or text declaration not at start of entity\")\n }\n self._initialized = true\n }\n self._buffer = data\n self._buffer_length = _b_.len(data)\n self._pos = 0\n\n var handlers = self._handlers = {}\n for(var handler_name of handler_names){\n let handler = $B.$getattr(self, handler_name)\n if(handler !== _b_.None){\n handlers[handler_name] = $B.$call(handler)\n }else{\n handlers[handler_name] = _b_.None\n }\n }\n\n for(var token of xmlparser.xml_tokenizer(self)){\n if(token instanceof ELEMENT){\n if(! token.is_declaration && ! token.is_end){\n if(handlers.StartElementHandler !== _b_.None){\n flush_char_data(self)\n handlers.StartElementHandler(token.name, token.attrs)\n }\n if(token.self_closing &&\n handlers.EndElementHandler !== _b_.None){\n handlers.EndElementHandler(token.name)\n }\n }else if(token.is_end &&\n handlers.EndElementHandler !== _b_.None){\n flush_char_data(self)\n handlers.EndElementHandler(token.name)\n }\n }else if(token instanceof DATA &&\n handlers.CharacterDataHandler !== _b_.None){\n handlers.CharacterDataHandler(token.value)\n }else if(token instanceof COMMENT &&\n handlers.CommentHandler !== _b_.None){\n flush_char_data(self)\n handlers.CommentHandler(token.value)\n }\n }\n flush_final_char_data(self)\n if(isfinal){\n self.finished = true\n }\n}\n\nxmlparser.ParseFile = function(){\n var $ = $B.args('ParseFile', 2,\n {self: null, file: null},\n ['self', 'file'], arguments,\n {}, null, null),\n self = $.self,\n file = $.file\n var reader = $B.$call($B.$getattr(file, 'read'))\n while(true){\n var data = reader(self._chunk_size)\n console.log('ParseFile, data', data)\n if(_b_.len(data) == 0){\n return xmlparser.Parse(self, data, true)\n }else{\n xmlparser.Parse(self, data, false)\n }\n }\n}\n\nxmlparser.SetBase = function(self, base){\n self._base = base\n return _b_.None\n}\n\nxmlparser.SetParamEntityParsing = function(self, peParsing){\n self._peParsing = peParsing\n return peParsing\n}\n\nxmlparser.StartElementHandler = _b_.None\n\nxmlparser.xml_tokenizer = function*(self){\n // convert bytes to string\n self._element = new $B.imported.xml_parser.DOCUMENT(self)\n while(self._pos < self._buffer_length){\n var char = self._buffer[self._pos]\n self._element = self._element.feed(char)\n if(self._element.closed){\n yield self._element\n }\n self._pos++\n }\n console.log('element', self._element)\n console.log('fini')\n alert()\n}\n\n$B.set_func_names(xmlparser, 'expat')\n\nfunction raise_error_known_position(parser, message, pos){\n message += ' at position ' + pos\n var ix = pos\n while(ix >= 0 && parser._buffer[ix] !== '\\n'){\n ix--\n }\n message += '\\n' + parser._buffer.substring(ix, pos + 1)\n message += '\\n' + ' '.repeat(pos - ix - 1) + '^'\n throw error.$factory(message)\n}\n\nfunction raise_error(parser, message){\n throw error.$factory(message)\n}\n\nfunction raise_error1(element, char){\n var head = element\n while(head.origin){\n head = head.origin\n }\n console.log(head)\n var cls = element.constructor.name,\n message = cls + ' expected ' + element.expect +\n ', got: ' + char\n var pos = head.parser._pos\n raise_error_known_position(head.parser, message, pos)\n}\n\nvar error = $B.make_class(\"error\",\n function(message){\n return {\n __class__: error,\n msg: message,\n args: $B.fast_tuple([message]),\n __cause__: _b_.None,\n __context__: _b_.None,\n __suppress_context__: false\n }\n })\nerror.__bases__ = [_b_.Exception, _b_.object]\nerror.__mro__ = [_b_.Exception, _b_.BaseException, _b_.object]\n\n$B.set_func_names(error, \"expat\")\n\nfunction expect_chars(element, char, stop){\n var res\n if(! element.hasOwnProperty('expected_chars')){\n element.expected_chars = ''\n }\n if(is_char(char)){\n element.expected_chars += char\n if(stop){\n var end_pos = element.expected_chars.length - stop.length\n var tail = element.expected_chars.substr(end_pos)\n if(tail == stop){\n res = {value: element.expected_chars.substr(0, end_pos)}\n delete element.expected_chars\n return res\n }\n }\n }else{\n res = {value: element.expected_chars}\n if(element.expected_pos == literal.length){\n delete element.expected_pos\n return {value: literal}\n }\n }\n return {value: null}\n}\n\n\nfunction expect_name(element, char){\n if(! element.hasOwnProperty('expected_name')){\n if(is_id_start(char)){\n element.expected_name = char\n }else if(! is_whitespace(char)){\n raise_error(element.parser, 'expected name start, got: ' + char)\n }\n }else if(is_id_continue(char)){\n element.expected_name += char\n }else if(is_whitespace(char)){\n var res = {value: element.expected_name}\n delete element.expected_name\n return res\n }else{\n raise_error(element.parser, 'name expected id, got: ' + char)\n }\n return {}\n}\n\nfunction expect_literal(element, literal, char){\n if(! element.hasOwnProperty('expected_pos')){\n element.expected_pos = 0\n }\n if(literal[element.expected_pos] == char){\n element.expected_pos++\n if(element.expected_pos == literal.length){\n delete element.expected_pos\n return {value: literal}\n }else{\n return {value: null}\n }\n }\n return FAIL\n}\n\nfunction get_parser(element){\n while(element.origin){\n element = element.origin\n }\n return element.parser\n}\n\nfunction get_pos(element){\n while(element.origin){\n element = element.origin\n }\n return element.parser._pos\n}\n\n/*\ndocument ::= prolog element Misc*\n\nprolog ::= XMLDecl? Misc* (doctypedecl Misc*)?\nXMLDecl ::= ''\nMisc ::= Comment | PI | S\nComment ::= '\x3c!--' ((Char - '-') | ('-' (Char - '-')))* '--\x3e'\nPI ::= '' Char*)))? '?>'\ndoctypedecl ::= ''\n*/\nfunction DOCUMENT(parser){\n this.parser = parser\n this.expect = 'prolog'\n this.names = []\n}\n\nDOCUMENT.prototype.feed = function(char){\n if(this.expect == 'prolog'){\n this.expect = 'element'\n return (new prolog(this)).feed(char)\n if(char !== '<'){\n raise_error(this.parser, 'expected <')\n }\n this.expect = 'name_start_or_special'\n }else if(this.expect == 'name_start_or_special'){\n if(char == '!'){\n this.expect = 'comment_or_doctype'\n }else if(char == '?'){\n this.expect = 'xmldecl_or_pi'\n }else if(is_id_start(char)){\n this.expect = 'prolog'\n return new ELEMENT(this).feed(char)\n }else{\n raise_error1(this, char)\n }\n }else if(this.expect == 'comment_or_doctype'){\n if(char == '-'){\n this.expect = 'comment'\n }else if(char == 'D'){\n this.expect = 'DOCTYPE'\n return this.feed(char)\n }else{\n raise_error('expected comment or DOCTYPE, got: ' + char)\n }\n }else if(this.expect == 'DOCTYPE'){\n var res = expect_literal(this, 'DOCTYPE', char)\n if(res.value){\n return new DOCTYPE(this.parser, this)\n }\n }else if(this.expect == 'xmldecl_or_pi'){\n var res = expect_name(this, char)\n if(res.value){\n if(res.value == 'xml'){\n this.expect = 'prolog'\n return new XMLDECL(this.parser, this)\n }else{\n this.expect = 'prolog'\n var pi = new PI(this.parser, this)\n pi.name = res.value\n pi.expect = 'content'\n return pi\n }\n }\n return this\n }else if(this.expect == 'comment'){\n if(char == '-'){\n this.expect = 'prolog'\n return new COMMENT(this.parser, this)\n }else{\n raise_error(this.parser, 'DOCUMENT, expected -, got: ' + char)\n }\n }else{\n raise_error(this.parser, 'DOCUMENT, unhandled expect: ' + this.expect)\n }\n return this\n}\n\n/*\nprolog ::= XMLDecl? Misc* (doctypedecl Misc*)?\n*/\nfunction prolog(origin){\n this.origin = origin\n this.expect = 'XMLDecl?'\n}\n\nprolog.prototype.feed = function(char){\n if(this.expect == 'XMLDecl?'){\n return (new XMLDecl(this)).feed(char)\n }\n return this\n}\n\n/*\nXMLDecl ::= ''\n*/\nfunction XMLDecl(origin){\n this.origin = origin\n this.expect = ''\nintSubset ::= (markupdecl | DeclSep)*\nmarkupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl\n | PI | Comment\nDeclSep ::= PEReference | S\n*/\n\nfunction DOCTYPE(parser, origin){\n this.parser = parser\n this.origin = origin\n this.expect = 'element_start'\n}\n\nDOCTYPE.prototype.feed = function(char){\n console.log('DOCTYPE feed', this.expect, 'char', char)\n if(this.expect == 'element_start'){\n var res = expect_name(this, char)\n if(res.value){\n this.name = res.value\n this.expect = 'external_id_or_[_or_>'\n }\n }else if(this.expect == 'external_id_or_[_or_>'){\n if(char == '['){\n this.expect = '>'\n return new intSubset(this)\n }else if(char == '>'){\n this.expect == 'no_whitespace'\n }else if(char == 'S' || char == 'P'){\n this.expect = '[_or_>'\n var res = new ExternalID(this)\n return res.feed(char)\n }else{\n raise_error(this.parser, 'DOCTYPE expected SYSTEM, PUBLIC, [ or >, got: ' + char)\n }\n }else if(this.expect == '[_or_>'){\n if(char == '['){\n this.expect = '>'\n return new intSubset(this)\n }else if(char == '>'){\n this.expect = 'no_whitespace'\n }else if(! is_whitespace(char)){\n raise_error(this.parser, 'DOCTYPE expected [ or >, got: ' + char)\n }\n }else if(this.expect == '>'){\n if(! is_whitespace(char)){\n if(char == '>'){\n this.expect = 'no_whitespace'\n }else{\n raise_error(this.parser, 'DOCTYPE expected >, got: ' + char)\n }\n }\n }else if(this.expect = 'no_whitespace'){\n if(! is_whitespace(char)){\n return this.origin.feed(char)\n }\n }\n return this\n}\n\n/*\nXMLDecl ::= ''\nVersionInfo ::= S 'version' Eq (\"'\" VersionNum \"'\" | '\"' VersionNum '\"')\nEq ::= S? '=' S?\nVersionNum ::= '1.0'\nEncodingDecl ::= S 'encoding' Eq ('\"' EncName '\"' | \"'\" EncName \"'\" )\nEncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*\nSDDecl ::= S 'standalone' Eq\n ((\"'\" ('yes' | 'no') \"'\") | ('\"' ('yes' | 'no') '\"'))\n*/\nfunction XMLDECL(parser, origin){\n this.parser = parser\n this.expect = 'version_info'\n this.origin = origin\n}\n\nXMLDECL.prototype.feed = function(char){\n switch(this.expect){\n case 'version_info':\n var res = expect_literal(this, 'version', char)\n if(res.value){\n this.expect = 'eq'\n this.attr_name = 'version'\n }\n break\n case 'eq':\n if(char == '='){\n this.expect = 'quote'\n }else if(! is_whitespace(char)){\n raise_error(this.parser, 'expect =, got: ' + char)\n }\n break\n case 'quote':\n if(is_quote(char)){\n this.expect = char\n this.quoted = ''\n }else if(! is_whitespace(char)){\n raise_error(this.parser, 'expected quote, got: ' + char)\n }\n break\n case '\"':\n case \"'\":\n var res = expect_literal(this, this.expect, char)\n if(res.value){\n this[this.attr_name] = this.quoted\n this.expect = 'encoding_or_sd_or_close'\n }else{\n this.quoted += char\n }\n break\n case 'encoding_or_sd_or_close':\n switch(char){\n case 'e':\n if(! this.hasOwnProperty('encoding')){\n this.expect = 'encoding'\n return this.feed(char)\n }\n break\n case 's':\n if(! this.hasOwnProperty('standalone')){\n this.expect = 'standalone'\n return this.feed(char)\n }\n break\n case '?':\n this.expect = '>'\n break\n default:\n if(! is_whitespace(char)){\n raise_error(this.parser,\n 'expected encoding, standalone or ?, got: ' + char)\n }\n }\n break\n case 'encoding':\n case 'standalone':\n var res = expect_literal(this, this.expect, char)\n if(res.value){\n this.attr_name = this.expect\n this.expect = 'eq'\n }\n break\n case '>':\n if(char == '>'){\n this.closed = true\n }else if(! is_whitespace(char)){\n if(this.closed){\n return this.origin.feed(char)\n }\n raise_error(this.parser, 'expected >, got: ' + char)\n }\n break\n default:\n raise_error(this.parser, 'unhandled case: ' + this.expect)\n }\n return this\n}\n\n/*\nPI ::= '' Char*)))? '?>'\nPITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))\n*/\nfunction PI(parser, origin){\n this.parser = parser\n this.origin = origin\n this.expect = 'pi_target'\n}\n\nPI.prototype.feed = function(char){\n if(this.expect == 'pi_target'){\n var res = expect_name(this, char)\n if(res.value){\n this.pi_target = res.value\n this.expect = 'content'\n }\n }else if(this.expect == 'content'){\n var res = expect_chars(this, char, '?>')\n if(res.value){\n this.content = res.value\n this.closed = true\n this.expect = 'no_whitespace'\n }\n }else if(this.expect == 'no_whitespace'){\n if(! is_whitespace(char)){\n return this.origin.feed(char)\n }\n }\n return this\n}\n\nfunction CDATA(){\n this.content = ''\n this.expect = ']'\n this.level = 1\n}\n\nCDATA.prototype.feed = function(char){\n switch(this.expect){\n case ']':\n if(char == '>'){\n throw Error('closed without closing ]')\n }else if(char == '['){\n this.level++\n }else if(char == ']'){\n if(this.level == 1){\n this.expect = '>'\n }else{\n this.level--\n }\n }else{\n this.content += char\n }\n break\n case '>':\n if(char != '>'){\n console.log('-- error', this, 'char', char)\n throw Error('expected \">\", got: ' + char)\n }\n this.closed = true\n break\n }\n return this\n}\n\nfunction DTD(parser){\n this.parser = parser\n this.expect = 'name_start'\n this.items = []\n}\n\nDTD.prototype.feed = function(char){\n if(this.expect == 'name_start'){\n if(is_id_start(char)){\n this.name = char\n this.expect = 'name_continue'\n }else if(char == '-'){\n this.expect = '-' // maybe comment start\n }else if(char == '['){\n return new CDATA()\n }else{\n throw Error('expected name, got ' + char)\n }\n }else if(this.expect == 'name_continue'){\n if(is_id_continue(char)){\n this.name += char\n }else{\n console.log('DD, name', this.name)\n if(this.name == 'DOCTYPE'){\n return new DOCTYPE(this.parser)\n }else if(this.name == 'ENTITY'){\n return new ENTITY(this.parser)\n }\n if(char == '>'){\n this.closed = true\n }else{\n this.expect == 'any'\n }\n }\n }else if(this.expect == '-'){\n if(char == '-'){\n // comment\n this.is_comment = true\n }else{\n throw Error('expected -, got: ' + char)\n }\n }else{\n if(char == '>'){\n this.closed = true\n }else{\n this.items.push(char)\n }\n }\n return this\n}\n\nDTD.prototype.toString = function(){\n var res = ` 0){\n res += ' '\n var items = this.items.map(x => x.toString())\n res += items.join(' ')\n }\n return res + '>'\n}\n\nfunction COMMENT(parser, origin){\n this.parser = parser\n this.origin = origin\n this.value = ''\n this.expect = '--\x3e'\n}\n\nCOMMENT.prototype.feed = function(char){\n if(this.expect == '--\x3e'){\n var res = expect_chars(this, char, '--\x3e')\n if(res.value){\n this.content = res.value\n this.expect = 'no_whitespace'\n }\n }else if(this.expect == 'no_whitespace'){\n if(! is_whitespace(char)){\n return this.origin.feed(char)\n }\n }\n return this\n}\n\n/*\nelement ::= EmptyElemTag | STag content ETag\nSTag ::= '<' Name (S Attribute)* S? '>'\nAttribute ::= Name Eq AttValue\nETag ::= ''\ncontent ::= CharData?\n ((element | Reference | CDSect | PI | Comment) CharData?)*\nEmptyElemTag ::= '<' Name (S Attribute)* S? '/>'\n*/\n\nfunction ELEMENT(origin) {\n this.origin = origin\n this.expect = '?_/_or_name_start'\n this.attrs = $B.empty_dict()\n}\n\nELEMENT.prototype.add_attribute_name = function(attr_name){\n if(_b_.dict.$contains(this.attrs, attr_name)){\n throw Error(`duplicate attribute name: ${attr_name}`)\n }\n _b_.dict.$setitem(this.attrs, attr_name, _b_.None)\n}\n\nELEMENT.prototype.set_attribute_value = function(value){\n _b_.dict.$setitem(this.attrs, this.attr_name, value)\n}\n\nELEMENT.prototype.feed = function(char){\n console.log('ELEMENT feed, expects', this.expect, 'char', char)\n if(this.expect == 'name_start'){\n if(char == '?'){\n if(this.is_declaration){\n throw Error('already got ?')\n }\n this.is_declaration = true\n }else if(char == '/'){\n if(this.is_end){\n throw Error('already got /')\n }\n this.is_end = true\n }else if(is_id_start(char)){\n this.name = char\n this.expect = 'name_continue'\n }\n }else if(this.expect == 'name_continue'){\n if(is_id_continue(char)){\n this.name += char\n }else{\n // end of element name\n if(this.is_declaration){\n if(this.name == 'xml'){\n this.is_xml_header = true\n }else{\n return new PROCESSING_INSTRUCTION(this.parser, this.name)\n }\n }\n if(is_whitespace(char)){\n this.expect = 'attr_name_start'\n }else if(char == '>'){\n this.closed = true\n }else if(char == '/'){\n this.self_closing = true\n this.expect = '>'\n }else{\n throw Error('unexpected at end of element name: ' + char)\n }\n }\n }else if(this.expect == 'attr_name_start'){\n if(char == '/'){\n this.self_closing = true\n }else if(char == '>'){\n this.expect = 'no_whitespace'\n }else if(is_id_start(char)){\n this.attr_name = char\n this.expect = 'attr_name_continue'\n }else if(char == '?' && this.is_declaration){\n this.expect = '>'\n }else if(! is_whitespace(char)){\n throw Error('expected attribute name, got: ' + char)\n }\n }else if(this.expect == 'attr_name_continue'){\n if(is_id_continue(char)){\n this.attr_name += char\n }else if(char == '='){\n this.add_attribute_name(this.attr_name)\n this.expect = 'attr_value_start'\n this.attr_value = ''\n }else if(is_whitespace(char)){\n this.add_attribute_name(this.attr_name)\n this.expect = '='\n }else if(char == '>'){\n this.add_attribute_name(this.attr_name)\n this.closed = true\n }else{\n throw Error('unexpected character in attribute name: ' + char)\n }\n }else if(this.expect == '='){\n if(char == '='){\n this.expect = 'attr_value_start'\n }else if(! is_whitespace(char)){\n raise_error1(this, char)\n }\n }else if(this.expect == 'attr_value'){\n if(char == '='){\n this.expect = 'attr_value_start'\n this.attr_value = ''\n }else if(char == '>'){\n this.closed = true\n }else if(is_id_start(char)){\n this.attr_name = char\n this.expect = 'attr_name_continue'\n }else if(! is_whitespace(char)){\n throw Error('expected attribute value or name, got: ' + char)\n }\n }else if(this.expect == 'attr_value_start'){\n if(char == '\"' || char == \"'\"){\n this.expect = 'quote'\n this.quote = char\n this.attr_value = ''\n }else if(! is_whitespace(char)){\n throw Error('unexpect attribute value start: ' + char)\n }\n }else if(this.expect == \"quote\"){\n if(char == this.quote){\n this.set_attribute_value(this.attr_value)\n this.expect = 'attr_name_start'\n }else{\n this.attr_value += char\n }\n }else if(this.expect == '>'){\n if(char == '>'){\n this.closed = true\n }else{\n throw Error('expected >, got: ' + char)\n }\n }else if(this.expect == 'attr_name'){\n if(char instanceof Name){\n if(_b_.dict.__contains__(this.attrs, char.value)){\n throw Error('duplicate value ' + char.value)\n }\n _b_.dict.$setitem(this.attrs, char.value, _b_.None)\n this.last_attr = char.value\n }else if(char.value == '?' && this.is_declaration){\n if(this.question_mark){\n throw Error('already ?')\n }\n this.question_mark = true\n }else if(char == END){\n if(this.is_declaration && ! this.question_mark){\n throw Error('missing ')\n }\n }else if(char instanceof Punctuation && char.value == '/'){\n this.no_end = true\n this.expect = END\n }else{\n throw Error('expected attribute name, got ' + char)\n }\n }else if(this.expect == 'attr_value'){\n _b_.dict.$setitem(this.attrs, this.last_attr, char)\n this.expect = 'attr_name'\n }else if(this.expect == END){\n // after \"/\"\n if(char != END){\n throw Error('nothing after /')\n }\n }else if(this.expect == 'no_whitespace'){\n if(! is_whitespace(char)){\n return this.origin.feed(char)\n }\n }else{\n raise_error1(this, char)\n }\n return this\n}\n\nELEMENT.prototype.toString = function() {\n var res = `<`\n res += this.is_end ? '/' : ''\n res += this.name\n if(this.attrs.length > 0){\n res += ' '\n }\n var attrs = []\n for(var item of _b_.dict.$iter_items(this.attrs)){\n console.log('item', item)\n attrs.push(`${item.key}: ${item.value.toString()}`)\n }\n res += attrs.join(' ')\n if(this.no_end){\n res += '/'\n }\n return res + '>'\n}\n\n/*\nEntityDecl ::= GEDecl | PEDecl\nPEDecl ::= ''\nPEDef ::= EntityValue | ExternalID\n*/\nfunction ENTITY(parser){\n this.parser = parser\n}\n\nENTITY.prototype.feed = function(char){\n if(! is_whitespace(char)){\n if(is_id_start(char)){\n return new GEDecl(this.parser, char)\n }else if(char == \"%\"){\n return new PEDecl(this.parser)\n }\n throw Error('unexpected after ENTITY: ' + char)\n }\n}\n\n/*\nGEDecl ::= ''\nEntityDef ::= EntityValue | (ExternalID NDataDecl?)\nExternalID ::= 'SYSTEM' S SystemLiteral\n | 'PUBLIC' S PubidLiteral S SystemLiteral\nNDataDecl ::= S 'NDATA' S Name\nEntityValue ::= '\"' ([^%&\"] | PEReference | Reference)* '\"'\n | \"'\" ([^%&'] | PEReference | Reference)* \"'\"\n\n*/\nfunction GEDecl(parser, char){\n this.parser = parser\n this.expect = 'name_continue'\n this.name = char\n this.state = 'name'\n}\n\nGEDecl.prototype.feed = function(char){\n switch(this.expect){\n case 'name_start':\n if(is_id_start(char)){\n if(this.state == 'NDATA'){\n this.ndata_name = char\n }\n this.expect = 'name_continue'\n }else if(! is_whitespace(char)){\n throw Error('GEDecl expected name start, got: ' + char)\n }\n break\n case 'name_continue':\n if(is_id_continue(char)){\n if(this.state == 'name'){\n this.name += char\n }else if(this.state == 'NDATA'){\n this.ndata_name += char\n }\n }else if(is_whitespace(char)){\n if(this.state == 'NDATA'){\n this.expect = '>'\n }else{\n this.expect = 'entity_def'\n }\n }else if(char == '>' && this.state == 'NDATA'){\n this.closed = true\n }else{\n throw Error('GEDecl expected name, got: ' + char)\n }\n break\n case 'entity_def':\n if(is_quote(char)){\n this.quoted = ''\n this.state = this.expect\n this.expect = char\n }else if(char == 'S' || char == 'P'){\n this.expect = char == 'S' ? 'SYSTEM' : 'PUBLIC'\n this.expect_pos = 1\n this.external_id = this.expect\n }else if(! is_whitespace(char)){\n throw Error('GEDCL expect quote, SYSTEM or PUBLIC, got: ' + char)\n }\n break\n case 'SYSTEM':\n case 'PUBLIC':\n if(char == this.expect[this.expect_pos]){\n this.expect_pos++\n if(this.expect_pos == this.expect.length){\n this.expect = this.expect == 'SYSTEM' ? 'system_literal' :\n 'pubid_literal'\n }\n }else{\n throw Error(`GEDecl expected ${this.expect}, got: ${char}`)\n }\n break\n case 'NDATA':\n if(char == this.expect[this.expect_pos]){\n this.expect_pos++\n if(this.expect_pos == this.expect.length){\n this.expect = 'name_start'\n this.ndata_name = ''\n this.state = 'NDATA'\n }\n }else{\n throw Error(`GEDecl expected ${this.expect}, got: ${char}`)\n }\n break\n case '\"':\n case \"'\":\n if(this.state == 'entity_def'){\n if(char == this.expect){\n this.entity_def = this.quoted\n this.expect = '>'\n }else{\n this.quoted += char\n }\n }else if(this.state == 'system_literal'){\n if(char == this.expect){\n this.system_literal = this.quoted\n this.expect = 'n_data_decl_or_close'\n }else{\n this.quoted += char\n }\n }\n break\n case 'system_literal':\n if(is_quote(char)){\n this.expect = char\n this.state = 'system_literal'\n this.quoted = ''\n }else if(! is_whitespace(char)){\n throw Error('GEDecl expected SystemLiteral, got: ' + char)\n }\n break\n case '>':\n if(! is_whitespace(char)){\n if(char == '>'){\n this.closed = true\n }else{\n throw Error('GEDecl expected >, got: ' + char)\n }\n }\n break\n case 'n_data_decl_or_close':\n if(char == '>'){\n this.closed = true\n }else if(char == 'N'){\n this.expect = 'NDATA'\n this.expect_pos = 1\n }else if(! is_whitespace(char)){\n throw Error('GEDecl expected NDATA or >, got: ' + char)\n }\n break\n default:\n console.log(this.parser._buffer.substr(0, this.parser._pos))\n throw Error('pas fini...')\n }\n return this\n}\n\n/*\nExternalID ::= 'SYSTEM' S SystemLiteral\n | 'PUBLIC' S PubidLiteral S SystemLiteral\n*/\nfunction ExternalID(origin){\n this.origin = origin\n this.expect = 'first'\n}\n\nExternalID.prototype.feed = function(char){\n if(this.expect == 'first'){\n if(! is_whitespace(char)){\n if(char == 'S'){\n this.expect = 'SYSTEM'\n return this.feed(char)\n }else if(char == 'P'){\n this.expect = 'PUBLIC'\n return this.feed(char)\n }else{\n raise_error(this, 'ExternalID expected SYSTME or PUBLIC, got: ' + char)\n }\n }\n }else if(this.expect == 'SYSTEM' || this.expect == 'PUBLIC'){\n var res = expect_literal(this, this.expect, char)\n if(res.value){\n this.type = this.expect\n if(this.type == 'SYSTEM'){\n this.expect = '[_or_>'\n return new SystemLiteral(this)\n }else{\n this.expect = 'system_after_pubid'\n return new PubidLiteral(this)\n }\n }\n }else if(this.expect == 'system_after_pubid'){\n if(! is_whitespace(char)){\n this.expect = '[_or_>'\n return (new SystemLiteral(this)).feed(char)\n }\n }else if(this.expect == '[_or_>'){\n if(char == '['){\n this.expect = '>'\n return new intSubset(this)\n }else if(char == '>'){\n return this.origin.feed(char)\n }else{\n raise_error1(this, char)\n }\n }else if(this.expect == '>'){\n if(char == '>'){\n this.expect = 'no_whitespace'\n }else if(! is_whitespace(char)){\n raise_error1(this, char)\n }\n }else if(this.expect == 'no_whitespace'){\n if(! is_whitespace(char)){\n console.log('return to origin', this.origin, 'char', char)\n return this.origin.feed(char)\n }\n }\n return this\n}\n\n/*\nPubidLiteral ::= '\"' PubidChar* '\"' | \"'\" (PubidChar - \"'\")* \"'\"\nPubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9]\n | [-'()+,./:=?;!*#@$_%]\n*/\nfunction PubidLiteral(origin){\n this.origin = origin\n this.expect = 'quote'\n}\n\n\nfunction is_pubid_char(char){\n /*\n#x20 | #xD | #xA | [a-zA-Z0-9]\n | [-'()+,./:=?;!*#@$_%]\n*/\n return char.match(new RegExp(\"[a-zA-Z0-9-'()+,./:=?;!*#@$_%]\")) ||\n ' \\n\\r'.includes(char)\n}\n\nPubidLiteral.prototype.feed = function(char){\n if(this.expect == 'quote'){\n if(is_quote(char)){\n this.expect = char\n this.content = ''\n }else if(! is_whitespace(char)){\n raise_error1(this, char)\n }\n }else if(this.expect == 'no_whitespace'){\n if(! is_whitespace(char)){\n return this.origin.feed(char)\n }\n }else{\n if(char == this.expect){\n this.expect = 'no_whitespace'\n }else if(is_pubid_char(char)){\n this.content += char\n }else{\n console.log('PubidLiteral expects', this.expect, 'char', char)\n console.log(is_pubid_char(char))\n raise_error1(this, char)\n }\n }\n return this\n}\n\nfunction SystemLiteral(origin){\n this.origin = origin\n this.expect = 'quote'\n}\n\nSystemLiteral.prototype.feed = function(char){\n console.log('SystemLiteral expects', this.expect, 'char', char)\n if(this.expect == 'quote'){\n if(is_quote(char)){\n this.expect = char\n this.content = ''\n }else if(! is_whitespace(char)){\n raise_error1(this, char)\n }\n }else if(this.expect == 'no_whitespace'){\n if(! is_whitespace(char)){\n return this.origin.feed(char)\n }\n }else{\n if(char == this.expect){\n this.expect = 'no_whitespace'\n }else{\n this.content += char\n }\n }\n return this\n}\n\nfunction PROCESSING_INSTRUCTION(parser, name){\n this.parser = parser\n this.name = name\n this.expect = '?'\n this.content = ''\n}\n\nPROCESSING_INSTRUCTION.prototype.feed = function(char){\n // capture everything until the sequence ?>\n if(this.expect == '?'){\n if(char == '?'){\n this.expect = '>'\n }else{\n this.content += char\n }\n }else if(this.expect == '>'){\n if(char == '>'){\n this.closed = true\n }else{\n this.content += '?' + char\n this.expect = '-'\n }\n }\n return this\n}\n\nfunction ATTR(name){\n this.name = name\n}\n\nATTR.prototype.toString = function(){\n var res = this.name\n if(this.hasOwnProperty('value')){\n res += '=' + this.value\n }\n return res\n}\n\nfunction DATA(value) {\n this.value = value\n}\n\nDATA.prototype.toString = function() {\n return `${this.value}`\n}\n\nvar START = 'START'\nvar END = 'END'\n\n\nfunction Name(value){\n this.value = value\n}\n\nName.prototype.toString = function(){\n return this.value\n}\n\nfunction Punctuation(value){\n this.value = value\n}\n\nfunction String(quote, value){\n this.quote = quote\n this.value = value\n}\n\nString.prototype.toString = function(){\n return this.quote + this.value + this.quote\n}\n\nconst punctuations = '!?/'\n\nfunction open(url){\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url, false)\n xhr.onreadystatechange = function(ev){\n if(this.readyState == 4){\n process(this.responseText)\n }\n }\n xhr.send()\n}\n\nfunction create_parser(){\n var $ = $B.args('ParserCreate', 3,\n {encoding: null, namespace_separator: null, intern: null},\n ['encoding', 'namespace_separator', 'intern'], arguments,\n {encoding: _b_.None, namespace_separator: _b_.None, intern: _b_.None},\n null, null),\n encoding = $.encoding,\n ns_sep = $.namespace_separator,\n intern = $.intern\n if(encoding !== _b_.None && ! _b_.isinstance(encoding, _b_.str)){\n throw _b_.TypeError.$factory(\n `ParserCreate() argument 'encoding' must be ` +\n `str or None, not ${$B.class_name(encoding)}`)\n }\n if(ns_sep !== _b_.None){\n if(! _b_.isinstance(ns_sep, _b_.str)){\n throw _b_.TypeError.$factory(\n `ParserCreate() argument 'namespace_separator' must be ` +\n `str or None, not ${$B.class_name(ns_sep)}`)\n }\n if(ns_sep.length != 1){\n throw _b_.ValueError.$factory(\"namespace_separator must be at \" +\n \"most one character, omitted, or None\")\n }\n }\n if(intern === _b_.None){\n intern = $B.empty_dict()\n }else if(! _b_.isinstance(intern, _b_.dict)){\n throw _b_.TypeError.$factory('intern must be a dictionary')\n }\n return xmlparser.$factory(encoding, ns_sep, intern)\n}\n\nfunction display(text){\n report.value += text + '\\n'\n}\n\nfunction process(src){\n var indent = 0\n for(var token of xml_tokenizer(src)){\n if(indent > 50){\n break\n }\n var head = ' '.repeat(indent)\n if(token instanceof DATA){\n display(head + ' ' + token.toString())\n }else if(token instanceof ELEMENT){\n if(token.is_end){\n indent--\n }\n head = ' '.repeat(indent)\n display(head + token.toString())\n if(token.is_end || token.self_closing || token.is_declaration){\n //\n }else{\n indent++\n }\n }else if(token instanceof DECLARATION){\n display(head + token.toString())\n }else{\n console.log(head + 'token', token, token.toString())\n }\n }\n}\n\nfunction is_id_start(char){\n return char.match(/\\p{L}/u) || char == \"_\"\n}\n\nfunction is_id_continue(char){\n return char.match(/\\p{L}/u) || \"-_:\".includes(char) || char.match(/\\d/)\n}\n\nfunction is_whitespace(s){\n for(let char of s){\n if(! ' \\n\\r\\t'.includes(char)){\n return false\n }\n }\n return s.length > 0\n}\n\nfunction is_quote(char){\n return char == '\"' || char == \"'\"\n}\n\nfunction is_char(char){\n // #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]\n var cp = char.codePointAt(0)\n return ([0x9, 0xa, 0xd].includes(cp)) ||\n (0x20 <= cp && cp <= 0xd7ff) ||\n (0xe000 <= cp && cp <= 0xfffd) ||\n (0x10000 <= cp && cp <= 0x10ffff)\n}\n\nvar errors = 'errors'\n\n$B.addToImported('pyexpat',\n {\n create_parser,\n ParserCreate: create_parser,\n model,\n error,\n errors,\n XML_PARAM_ENTITY_PARSING_NEVER,\n XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE,\n XML_PARAM_ENTITY_PARSING_ALWAYS\n }\n)\n\n})(__BRYTHON__)"],python_re:[".js","// Regular expression\n(function($B){\n\nvar _debug = {value: 0}\n\nvar _b_ = $B.builtins\n\nvar MAXGROUPS = 2147483647,\n MAXREPEAT = 2147483648\n\nvar word_gcs = ['Ll', 'Lu', 'Lm', 'Lt', 'Lo',\n 'Nd',\n 'Mc', 'Me', 'Mn',\n 'Pc']\n\nfunction is_word(cp){\n if((cp >= 97 && cp <= 122) // a-z\n || (cp >= 65 && cp <= 90) // A-Z\n ){\n return true\n }\n for(var word_gc of word_gcs){\n if($B.in_unicode_category(word_gc, cp)){\n return true\n }\n }\n return false\n}\n\nvar ascii_word = {}\n\nfor(var cp = 0; cp <= 127; cp++){\n if(is_word(cp)){\n ascii_word[cp] = true\n }\n}\n\nfunction is_ascii_word(cp){\n return ascii_word[cp] !== undefined\n}\n\nfunction is_digit(cp){\n if(cp >= 48 && cp <= 57){\n return true\n }\n return $B.in_unicode_category('Nd', cp)\n}\n\nfunction is_ascii_digit(cp){\n return cp <= 127 && is_digit(cp)\n}\n\nvar $error_2 = {\n $name: \"error\",\n $qualname: \"error\",\n $is_class: true,\n __module__: \"re\"\n}\n\nvar error = $B.make_class(\"error\",\n function(message){\n return {\n __class__: error,\n msg: message,\n args: $B.fast_tuple([]),\n __cause__: _b_.None,\n __context__: _b_.None,\n __suppress_context__: false\n }\n })\nerror.__bases__ = [_b_.Exception, _b_.object]\nerror.__mro__ = [_b_.Exception, _b_.BaseException, _b_.object]\n\nerror.__str__ = function(self){\n var s = self.msg + ' at position ' + self.pos\n if(self.lineno > 1){\n s += ` (line ${self.lineno}, column ${self.colno})`\n }\n return s\n}\n\n$B.set_func_names(error, \"re\")\n\nfunction $last(t){\n return t[t.length - 1]\n}\n\nfunction fail(message, pos, pattern){\n var err = error.$factory(message)\n err.msg = message\n err.pos = pos\n if(pattern){\n err.pattern = pattern.py_obj // Python object passed to compile()\n err.lineno = 1\n var linestart = 0\n for(var i = 0, len = pattern.string.length; i < pos; i++){\n if(pattern.string[i] == '\\n'){\n err.lineno++\n linestart = i + 1\n }\n }\n err.colno = pos - linestart + 1\n }\n throw err\n}\n\nfunction warn(klass, message, pos, text){\n var frame = $B.frame_obj.frame,\n file = frame[3].__file__,\n src = $B.file_cache[file]\n if(text === undefined){\n var lineno = frame[1].$lineno\n var lines = src.split('\\n'),\n line = lines[lineno - 1]\n }else{\n if(Array.isArray(text)){\n text = from_codepoint_list(text)\n }\n var lineno = 1,\n line_start = 0\n for(var i = 0; i < pos; i++){\n if(text[i] == '\\n'){\n lineno++\n line_start = i + 1\n }\n }\n var line_end = text.substr(line_start).search('\\n'),\n line\n if(line_end == -1){\n line = text.substr(line_start)\n }else{\n line = text.substr(line_start, line_end)\n }\n var col_offset = pos - line_start\n }\n var warning = klass.$factory(message)\n warning.pos = pos\n warning.args[1] = [file, lineno, col_offset, lineno, col_offset,\n line]\n warning.filename = file\n warning.lineno = warning.end_lineno = lineno\n warning.offset = warning.end_offset = col_offset\n warning.line = line\n // module _warning is in builtin_modules.js\n $B.imported._warnings.warn(warning)\n}\n\nfunction chr(i){\n if(i < 0 || i > 1114111){\n throw _b_.ValueError.$factory('Outside valid range')\n }else if(i >= 0x10000 && i <= 0x10FFFF){\n var code = (i - 0x10000)\n return String.fromCodePoint(0xD800 | (code >> 10)) +\n String.fromCodePoint(0xDC00 | (code & 0x3FF))\n }else{\n return String.fromCodePoint(i)\n }\n}\n\nfunction ord(char){\n return char.charCodeAt(0)\n}\n\nconst LETTERS = {\n b: ord('b'),\n N: ord('N'),\n P: ord('P'),\n u: ord('u'),\n U: ord('U'),\n x: ord('x')\n}\n\nconst PARENTH_OPEN = ord('('),\n PARENTH_CLOSE = ord(')'),\n BRACKET_OPEN = ord('['),\n BRACKET_CLOSE = ord(']'),\n BRACE_OPEN = ord('{'),\n BRACE_CLOSE = ord('}'),\n EQUAL = ord('='),\n SUP = ord('>'),\n INF = ord('<'),\n MINUS = ord('-'),\n PLUS = ord('+'),\n OR = ord('|'),\n DOT = ord('.'),\n QUESTION_MARK = ord('?'),\n EXCLAMATION_MARK = ord('!'),\n COLON = ord(':'),\n BACKSLASH = ord('\\\\'),\n DOLLAR = ord('$'),\n CARET = ord('^'),\n LINEFEED = ord('\\n')\n\n// pattern tokenizer\n\nfunction is_ascii(name){\n return /^[\\x00-\\x7F]*$/.test(name)\n}\n\nfunction open_unicode_db(){\n if($B.unicodedb === undefined){\n var xhr = new XMLHttpRequest\n xhr.open(\"GET\",\n $B.brython_path + \"unicode.txt?\" + (new Date()).getTime(), false)\n xhr.onreadystatechange = function(){\n if(this.readyState == 4){\n if(this.status == 200){\n $B.unicodedb = this.responseText\n }else{\n console.log(\n \"Warning - could not load unicode.txt\")\n }\n }\n }\n xhr.send()\n }\n}\n\nfunction validate_named_char(description, pos){\n // validate that \\N{} is in the Unicode db\n // Load unicode table if not already loaded\n if(description.length == 0){\n fail(\"missing character name\", pos)\n }\n open_unicode_db()\n if($B.unicodedb !== undefined){\n var re = new RegExp(\"^([0-9A-F]+);\" +\n description.toUpperCase() + \";.*$\", \"m\")\n search = re.exec($B.unicodedb)\n if(search === null){\n fail(`undefined character name '${description}'`, pos)\n }\n return parseInt(search[1], 16)\n }else{\n fail(\"could not load unicode.txt\", pos)\n }\n}\n\nfunction validate_group_name(sname, pos, is_bytes){\n // sname is an instance of StringObj\n if(! _b_.str.isidentifier(sname.string)){\n fail(`bad character in group name '${sname.string}'`, pos + 4)\n }\n if(is_bytes && ! is_ascii(sname.string)){\n var s = _b_.bytes.decode(_b_.bytes.$factory(sname.codepoints),\n 'ascii', 'backslashreplace')\n warn(_b_.DeprecationWarning,\n `bad character in group name '${s}' at position ${pos + 4}`)\n }\n return true\n}\n\nfunction validate_group_num(so, pos){\n var s = so.string\n if(s.match(/^\\d+$/)){\n return true\n }\n try{\n var num = _b_.int.$factory(s)\n warn(_b_.DeprecationWarning,\n `bad character in group name '${s}' at position ${pos + 3}`,\n pos + 3, s)\n so.string = num + ''\n return true\n }catch(err){\n return false\n }\n}\n\nfunction validate_num_or_name(so, pos, is_bytes){\n return validate_group_num(so, pos, is_bytes) ||\n validate_group_name(so, pos - 1, is_bytes)\n}\n\nvar character_classes = {\n in_charset: to_codepoint_list('dDsSwW'),\n in_re: to_codepoint_list('AbBdDsSwWZ')\n}\n\nfunction escaped_char(args){\n var cps = args.codepoints,\n pos = args.pos,\n in_charset = args.in_charset,\n is_bytes = args.is_bytes // if pattern is bytes\n var special = cps[pos + 1]\n if(special === undefined){\n fail('bad escape (end of pattern)', pos)\n }\n var key = in_charset ? 'in_charset' : 'in_re'\n if(in_charset && special == LETTERS.b){\n // Inside a character range, \\b represents the backspace character,\n // for compatibility with Python’s string literals.\n return '\\b'\n }\n if(character_classes[key].indexOf(special) > -1){\n return new CharacterClass(pos, special, 2)\n }else if(special == LETTERS.N && ! is_bytes){\n if(cps[pos + 2] != BRACE_OPEN){\n fail('missing {', pos)\n }\n var i = pos + 3,\n description = []\n while(i < cps.length){\n if(cps[i] == BRACE_CLOSE){\n break\n }\n description.push(cps[i])\n i++\n }\n if(description.length == 0){\n fail(\"missing character name\", pos)\n }\n if(i == cps.length){\n fail(\"missing }, unterminated name\", pos)\n }\n var cp = validate_named_char(from_codepoint_list(description), pos)\n return {\n type: 'N',\n ord: cp,\n char: chr(cp),\n length: i - pos + 1\n }\n }else if(special == LETTERS.x){\n // \\xhh = character with hex value hh\n var rest = from_codepoint_list(cps.slice(pos + 2)),\n mo = /^[0-9a-fA-F]{0,2}/.exec(rest),\n hh = mo ? mo[0] : ''\n if(mo && mo[0].length == 2){\n var cp = parseInt(mo[0], 16)\n return {\n type: 'x',\n ord: cp,\n char: chr(cp),\n length: 2 + mo[0].length\n }\n }\n fail('incomplete escape \\\\x' + hh, pos)\n }else if(special == LETTERS.u){\n // \\uxxxx = character with 16-bit hex value xxxx\n var rest = from_codepoint_list(cps.slice(pos + 2)),\n mo = /^[0-9a-fA-F]{0,4}/.exec(rest),\n xx = mo ? mo[0] : ''\n if(mo && mo[0].length == 4){\n var cp = parseInt(mo[0], 16)\n return {\n type: 'u',\n ord: cp,\n char: chr(cp),\n length: 2 + mo[0].length\n }\n }\n fail('incomplete escape \\\\u' + xx, pos)\n }else if(special == LETTERS.U){\n // \\Uxxxxxxxx = character with 32-bit hex value xxxxxxxx\n var rest = from_codepoint_list(cps.slice(pos + 2)),\n mo = /^[0-9a-fA-F]{0,8}/.exec(rest),\n xx = mo ? mo[0] : ''\n if(mo && mo[0].length == 8){\n var cp = parseInt(mo[0], 16)\n if(cp > 0x10FFFF){\n fail(`bad escape \\\\U${mo[0]}`, pos)\n }\n return {\n type: 'U',\n ord: cp,\n char: chr(cp),\n length: 2 + mo[0].length\n }\n }\n fail('incomplete escape \\\\U' + xx, pos)\n }else{\n // octal ?\n // If the first digit of number is 0, or number is 3 octal digits\n // long, it will not be interpreted as a group match, but as the\n // character with octal value number\n var rest = from_codepoint_list(cps.slice(pos + 1)),\n mo = /^[0-7]{3}/.exec(rest)\n if(in_charset){\n try{\n var res = $B.test_escape(rest, -1)\n if(res){\n return {\n type: 'u',\n ord: res[0].codePointAt(0),\n char: res[0],\n length: res[1]\n }\n }\n }catch(err){\n // ignore\n }\n }\n if(mo == null){\n mo = /^0[0-7]*/.exec(rest)\n }\n if(mo){\n var octal_value = parseInt(mo[0], 8)\n if(octal_value > 0o377){\n fail(`octal escape value \\\\` +\n `${mo[0]} outside of range 0-0o377`, pos)\n }\n return {\n type: 'o',\n ord: octal_value,\n char: chr(octal_value),\n length: 1 + mo[0].length\n }\n }\n var mo = /^\\d{1,2}/.exec(rest) // backref is at most 99\n if(mo){\n return {\n type: 'backref',\n value: parseInt(mo[0]),\n length: 1 + mo[0].length\n }\n }\n var trans = {a: chr(7), f: '\\f', n: '\\n', r: '\\r', t: '\\t', v: '\\v'},\n res = trans[chr(special)]\n if(res){\n return ord(res)\n }\n if(chr(special).match(/[a-zA-Z]/)){\n fail(\"bad escape \\\\\" + chr(special), pos)\n }else{\n return special\n }\n }\n}\n\nfunction check_character_range(t, positions){\n // Check if last 2 items in t are a valid character range\n var start = t[t.length - 2],\n end = t[t.length - 1]\n if(start instanceof CharacterClass || end instanceof CharacterClass){\n fail(`bad character range ${start}-${end}`,\n positions[positions.length - 2])\n }else if(end < start){\n fail(`bad character range ${start}-${end}`,\n positions[positions.length - 2])\n }\n t.splice(t.length - 2, 2, {\n type: 'character_range',\n start: start,\n end: end,\n ord: [start.ord, end.ord]\n })\n}\n\nfunction parse_character_set(text, pos, is_bytes){\n // Parse character set starting at position \"pos\" in \"text\"\n // pos is the position of the leading \"[\"\n var start = pos,\n result = {items: []},\n positions = []\n pos++\n if(text[pos] == CARET){\n result.neg = true\n pos++\n }else if(text[pos] == BRACKET_CLOSE){\n // a leading ] is the character \"]\", not the set end\n result.items.push(']')\n positions.push(pos)\n pos++\n }else if(text[pos] == BRACKET_OPEN){\n // send FutureWarning\n warn(_b_.FutureWarning, \"Possible nested set\", pos, text)\n }\n var range = false\n while(pos < text.length){\n var cp = text[pos],\n char = chr(cp)\n if(char == ']'){\n if(pos == start + 2 && result.neg){\n // in \"[^]]\", the first ] is the character \"]\"\n result.items.push(']')\n }else{\n return [result, pos]\n }\n }\n if(char == '\\\\'){\n var escape = escaped_char({\n codepoints: text,\n pos,\n in_charset: true,\n is_bytes\n })\n if(typeof escape == \"number\"){\n var s = chr(escape)\n escape = {\n ord: escape,\n length: 2,\n toString: function(){\n return s\n }\n }\n }\n if(escape.type == \"num\"){\n // [\\9] is invalid\n fail(\"bad escape 1 \\\\\" +\n escape.value.toString()[0], pos)\n }\n result.items.push(escape)\n positions.push(pos)\n if(range){\n check_character_range(result.items, positions)\n }\n range = false\n pos += escape.length\n }else if(char == '-'){\n // Character range, or character \"-\"\n if(pos == start + 1 ||\n (result.neg && pos == start + 2) ||\n pos == text.length - 2 || // [a-]\n range ||\n (result.items.length > 0 &&\n result.items[result.items.length - 1].type ==\n \"character_range\")){\n result.items.push({\n ord: cp,\n char,\n toString: function(){\n return this.char\n }\n })\n if(text[pos + 1] == cp){\n warn(_b_.FutureWarning, \"Possible set difference\", pos, text)\n }\n pos++\n if(range){\n check_character_range(result.items, positions)\n }\n range = false\n }else{\n range = true\n if(text[pos + 1] == cp){\n warn(_b_.FutureWarning, \"Possible set difference\", pos, text)\n }\n pos++\n }\n }else{\n positions.push(pos)\n result.items.push({\n ord: cp,\n char,\n toString: function(){\n return this.char\n }\n })\n if(range){\n check_character_range(result.items, positions)\n }\n range = false\n // FutureWarning for consecutive \"&\", \"|\" or \"~\"\n if(char == \"&\" && text[pos + 1] == cp){\n warn(_b_.FutureWarning, \"Possible set intersection\", pos, text)\n }else if(char == \"|\" && text[pos + 1] == cp){\n warn(_b_.FutureWarning, \"Possible set union\", pos, text)\n }else if(char == \"~\" && text[pos + 1] == cp){\n warn(_b_.FutureWarning, \"Possible set symmetric difference\",\n pos, text)\n }\n pos++\n }\n }\n fail(\"unterminated character set\", start)\n}\n\nfunction* tokenize(pattern, type, _verbose){\n // pattern is a list of codepoints\n var is_bytes = type == \"bytes\"\n // verbose_stack is the stack of verbose state for each group in the regex\n var verbose_stack = [_verbose],\n verbose = _verbose,\n parenth_pos\n var pos = 0\n while(pos < pattern.length){\n var cp = pattern[pos],\n char = String.fromCharCode(cp)\n if(verbose){\n // current group is in verbose mode\n if(char == \"#\"){\n // skip until next line feed\n while(pos < pattern.length && pattern[pos] != 10){\n pos++\n }\n pos++\n continue\n }else{\n while(pos < pattern.length &&\n [9, 10, 11, 12, 13, 32].indexOf(pattern[pos]) > -1){\n pos++\n }\n }\n cp = pattern[pos]\n if(cp === undefined){\n break\n }\n char = String.fromCharCode(cp)\n if(char == '#'){\n continue\n }\n }\n if(char == '('){\n parenth_pos = pos\n if(pattern[pos + 1] == QUESTION_MARK){\n if(pattern[pos + 2] == LETTERS.P){\n if(pattern[pos + 3] == INF){\n var name = [],\n i = pos + 4\n while(i < pattern.length){\n if(pattern[i] == SUP){\n break\n }else if(pattern[i] == PARENTH_CLOSE){\n fail(\"missing >, unterminated name\", pos)\n }\n name.push(pattern[i])\n i++\n }\n var sname = StringObj.from_codepoints(name)\n validate_group_name(sname, pos, is_bytes)\n name = sname\n if(i == pattern.length){\n fail(\"missing >, unterminated name\", pos)\n }\n yield new Group(pos, {type: 'name_def', value: name})\n verbose_stack.push(verbose)\n pos = i + 1\n continue\n }else if(pattern[pos + 3] == EQUAL){\n var name = [],\n i = pos + 4\n while(i < pattern.length){\n if(pattern[i] == PARENTH_CLOSE){\n break\n }\n name.push(pattern[i])\n i++\n }\n name = StringObj.from_codepoints(name)\n validate_group_name(name, pos, is_bytes)\n if(i == pattern.length){\n fail(\"missing ), unterminated name\", pos)\n }\n yield new BackReference(pos, 'name', name.string)\n pos = i + 1\n continue\n }else if(pattern[pos + 3] === undefined){\n fail(\"unexpected end of pattern\", pos)\n }else{\n fail(\"unknown extension ?P\" + chr(pattern[pos + 3]), pos)\n }\n }else if(pattern[pos + 2] == PARENTH_OPEN){\n var ref = [],\n i = pos + 3\n while(i < pattern.length){\n if(pattern[i] == PARENTH_CLOSE){\n break\n }\n ref.push(pattern[i])\n i++\n }\n var sref = StringObj.from_codepoints(ref)\n if(sref.string.match(/^\\d+$/)){\n ref = parseInt(sref.string)\n }else{\n validate_num_or_name(sref, pos, is_bytes)\n ref = sref.string\n }\n if(i == pattern.length){\n fail(\"missing ), unterminated name\", pos)\n }\n yield new ConditionalBackref(pos, ref)\n pos = i + 1\n continue\n }else if(pattern[pos + 2] == EQUAL){\n // (?=...) : lookahead assertion\n yield new Group(pos, {type: 'lookahead_assertion'})\n verbose_stack.push(verbose)\n pos += 3\n continue\n }else if(pattern[pos + 2] == EXCLAMATION_MARK){\n // (?!...) : negative lookahead assertion\n yield new Group(pos, {type: 'negative_lookahead_assertion'})\n verbose_stack.push(verbose)\n pos += 3\n continue\n }else if(from_codepoint_list(pattern.slice(pos + 2, pos + 4)) == ' -1){\n if(pattern[pos + 2] == MINUS){\n var on_flags = [],\n has_off = true,\n off_flags = []\n pos += 3\n }else{\n var on_flags = [chr(pattern[pos + 2])],\n has_off = false,\n off_flags = [],\n auL = auL_flags.indexOf(pattern[pos + 2]) > -1 ?\n 1 : 0,\n closed = false\n pos += 3\n while(pos < pattern.length){\n if(flags.indexOf(pattern[pos]) > -1){\n if(auL_flags.indexOf(pattern[pos]) > -1){\n auL++\n if(auL > 1){\n fail(\"bad inline flags: flags 'a', 'u'\" +\n \" and 'L' are incompatible\", pos)\n }\n }\n on_flags.push(chr(pattern[pos]))\n pos++\n }else if(pattern[pos] == MINUS){\n has_off = true\n closed = true\n pos++\n break\n }else if(String.fromCharCode(pattern[pos]).\n match(/[a-zA-Z]/)){\n fail(\"unknown flag\", pos)\n }else if(pattern[pos] == PARENTH_CLOSE){\n closed = true\n break\n }else if(pattern[pos] == COLON){\n yield new Group(pos, {name: \"Group\", type: \"flags\"})\n verbose_stack.push(verbose)\n closed = true\n break\n }else{\n fail(\"missing -, : or )\", pos)\n }\n }\n if(! closed){\n fail(\"missing -, : or )\", pos)\n }\n }\n if(has_off){\n while(pos < pattern.length){\n if(flags.indexOf(pattern[pos]) > -1){\n if(auL_flags.indexOf(pattern[pos]) > -1){\n fail(\"bad inline flags: cannot turn off \" +\n \"flags 'a', 'u' and 'L'\", pos)\n }\n if(on_flags.indexOf(chr(pattern[pos])) > -1){\n fail(\"bad inline flags: flag turned on and off\", pos)\n }\n off_flags.push(chr(pattern[pos]))\n pos++\n }else if(pattern[pos] == COLON){\n yield new Group(pos, {name: \"Group\", type: \"flags\"})\n verbose_stack.push(verbose)\n break\n }else if(String.fromCharCode(pattern[pos]).\n match(/[a-zA-Z]/)){\n fail(\"unknown flag\", pos)\n }else if(off_flags.length == 0){\n fail(\"missing flag\", pos)\n }else{\n fail(\"missing :\", pos)\n }\n }\n if(off_flags.length == 0){\n fail(\"missing flag\", pos)\n }\n }\n if(has_off && pattern[pos] != COLON){\n fail(\"missing :\", pos)\n }\n if(on_flags.length == 0 && off_flags.length == 0){\n fail(\"missing flag\", pos)\n }\n var set_flags = new SetFlags(flags_start,\n {on_flags, off_flags})\n\n yield set_flags\n // reset verbose\n if(on_flags.indexOf('x') > -1){\n verbose = true\n verbose_stack.push(verbose)\n }\n if(off_flags.indexOf('x') > -1){\n verbose = false\n }\n if(! closed){\n node = set_flags\n }\n pos++\n }else if(pattern[pos + 2] == ord('#')){\n pos += 3\n while(pos < pattern.length){\n if(pattern[pos] == PARENTH_CLOSE){\n break\n }\n pos++\n }\n if(pos == pattern.length){\n fail(\"missing ), unterminated comment\", pos)\n }\n pos++\n continue\n }else{\n fail(\"unknown extension ?\" + _b_.chr(pattern[pos + 2]),\n pos)\n }\n }else{\n yield new Group(pos)\n verbose_stack.push(verbose)\n pos++\n }\n }else if(cp == PARENTH_CLOSE){\n yield new GroupEnd(pos)\n verbose_stack.pop()\n verbose = $last(verbose_stack)\n pos++\n }else if(cp == BACKSLASH){\n var escape = escaped_char({codepoints: pattern, pos, is_bytes})\n if(escape instanceof CharacterClass){\n yield escape\n pos += escape.length\n }else if(escape.char !== undefined){\n yield new Char(pos, escape.ord)\n pos += escape.length\n }else if(escape.type == \"backref\"){\n var len = escape.length\n if(escape.value.length > 2){\n escape.value = escape.value.substr(0, 2)\n len = 2\n }\n yield new BackReference(pos, \"num\", escape.value)\n pos += len\n }else if(typeof escape == \"number\"){\n // eg \"\\.\"\n var esc = new Char(pos, escape)\n esc.escaped = true\n yield esc\n pos += 2\n }else{\n yield new Char(pos, escape)\n pos += escape.length\n }\n }else if(cp == BRACKET_OPEN){\n // Set of characters\n var set,\n end_pos\n [set, end_pos] = parse_character_set(pattern, pos, is_bytes)\n yield new CharacterSet(pos, set)\n pos = end_pos + 1\n }else if('+?*'.indexOf(char) > -1){\n yield new Repeater(pos, char)\n pos++\n }else if(cp == BRACE_OPEN){\n var reps = /\\{(\\d*)((,)(\\d*))?\\}/.exec(\n from_codepoint_list(pattern.slice(pos)))\n if(reps && reps[0] != '{}'){\n if(reps[1] == \"\"){\n var limits = [0]\n }else{\n var limits = [parseInt(reps[1])]\n }\n if(reps[4] !== undefined){\n if(reps[4] == \"\"){\n var max = Number.POSITIVE_INFINITY\n }else{\n var max = parseInt(reps[4])\n }\n limits.push(max)\n }\n yield new Repeater(pos, limits)\n pos += reps[0].length\n }else if(pattern[pos + 1] == BRACE_CLOSE){\n // {} is the characters \"{\" and \"}\"\n yield new Char(pos, BRACE_OPEN)\n pos++\n }else{\n yield new Char(pos, BRACE_OPEN)\n pos++\n }\n }else if(cp == OR){\n yield new Or(pos)\n pos++\n }else if(cp == DOT){\n yield new CharacterClass(pos, cp, 1)\n pos++\n }else if(cp == CARET){\n yield new StringStart(pos)\n pos++\n }else if(cp == DOLLAR){\n yield new StringEnd(pos)\n pos++\n }else{\n yield new Char(pos, cp)\n pos++\n }\n }\n}\n\nfunction transform_repl(data, pattern){\n // data.repl is a StringObj instance\n var repl = data.repl.string\n repl = repl.replace(/\\\\n/g, '\\n')\n repl = repl.replace(/\\\\r/g, '\\r')\n repl = repl.replace(/\\\\t/g, '\\t')\n repl = repl.replace(/\\\\b/g, '\\b')\n repl = repl.replace(/\\\\v/g, '\\v')\n repl = repl.replace(/\\\\f/g, '\\f')\n repl = repl.replace(/\\\\a/g, '\\x07')\n // detect backreferences\n var pos = 0,\n escaped = false,\n br = false,\n repl1 = \"\",\n has_backref = false\n while(pos < repl.length){\n br = false\n if(repl[pos] == \"\\\\\"){\n escaped = ! escaped\n if(escaped){\n pos++\n continue\n }\n }else if(escaped){\n escaped = false\n var mo = /^\\d+/.exec(repl.substr(pos))\n if(mo){\n var cps = to_codepoint_list(repl)\n var escape = escaped_char({\n codepoints: cps,\n pos: pos - 1,\n is_bytes: cps.type == \"bytes\"\n })\n if(escape.type == \"o\"){\n if(escape.ord > 0o377){\n fail(`octal escape value \\\\${mo[0]} ` +\n \" outside of range 0-0o377\", pos)\n }\n repl1 += escape.char\n pos += escape.length - 1\n continue\n }else if(escape.type != \"backref\"){\n var group_num = mo[0].substr(0,\n Math.min(2, mo[0].length))\n fail(`invalid group reference ${group_num}`, pos)\n }else{\n // only keep first 2 digits\n var group_num = mo[0].substr(0,\n Math.min(2, mo[0].length))\n // check that pattern has the specified group num\n if(pattern.groups === undefined){\n throw _b_.AttributeError.$factory(\"$groups\")\n }\n if(pattern.groups[group_num] === undefined){\n fail(`invalid group reference ${group_num}`,\n pos)\n }else{\n mo[0] = group_num\n }\n }\n if(! has_backref){\n var parts = [repl.substr(0, pos - 1),\n parseInt(mo[0])]\n }else{\n parts.push(repl.substring(next_pos, pos - 1))\n parts.push(parseInt(mo[0]))\n }\n has_backref = true\n var next_pos = pos + mo[0].length\n br = true\n pos += mo[0].length\n }else if(repl[pos] == \"g\"){\n pos++\n if(repl[pos] != '<'){\n fail(\"missing <\", pos)\n }\n pos++\n mo = /(.*?)>/.exec(repl.substr(pos))\n if(mo){\n if(mo[1] == \"\"){\n pos += mo[0].length\n fail(\"missing group name\", pos - 1)\n }\n var group_name = mo[1]\n if(group_name == '0'){\n // The backreference \\g<0> substitutes in the entire\n // substring matched by the RE.\n }else if(/^\\d+$/.exec(group_name)){\n if(pattern.groups[group_name] === undefined){\n fail(`invalid group reference ${group_name}`,\n pos)\n }\n }else{\n try{\n var group_num = _b_.int.$factory(group_name)\n if(group_num < 0){\n fail(`bad character in group name ` +\n `'${group_name}' at position ${pos}`, pos)\n }\n warn(_b_.DeprecationWarning,\n `bad character in group name '${group_name}' ` +\n `at position ${pos}`)\n mo[1] = group_name = group_num + ''\n }catch(err){\n if(! _b_.str.isidentifier(group_name)){\n var cps = to_codepoint_list(group_name)\n if(! $B.is_XID_Start(cps[0])){\n fail(\"bad character in group name '\" +\n group_name + \"'\", pos)\n }else{\n for(cp of cps.slice(1)){\n if(! $B.is_XID_Continue(cp)){\n fail(\"bad character in group name '\" +\n group_name + \"'\", pos)\n }\n }\n }\n }else if(data.type == \"bytes\" && ! is_ascii(group_name)){\n var b = _b_.bytes.$factory(group_name, 'latin-1'),\n s = _b_.bytes.decode(b, 'ascii', 'backslashreplace')\n warn(_b_.DeprecationWarning,\n `bad character in group name '${s}'` +\n ` at position ${pos}`)\n }\n }\n if(pattern.groups[group_name] === undefined){\n throw _b_.IndexError.$factory(\n `unknown group name '${group_name}'`,\n pos)\n }\n }\n if(! has_backref){\n var parts = [repl.substr(0, pos - 3),\n mo[1]]\n }else{\n parts.push(repl.substring(next_pos, pos - 3))\n parts.push(mo[1])\n }\n has_backref = true\n var next_pos = pos + mo[0].length\n br = true\n pos = next_pos\n }else{\n if(repl.substr(pos).length > 0){\n fail(\"missing >, unterminated name\", pos)\n }else{\n fail(\"missing group name\", pos)\n }\n }\n }else{\n if(/[a-zA-Z]/.exec(repl[pos])){\n fail(\"unknown escape\", pos)\n }\n pos += repl[pos]\n }\n }\n if(! br){\n repl1 += repl[pos]\n pos ++\n }\n }\n data.repl1 = repl1\n if(has_backref){\n parts.push(repl.substr(next_pos))\n data.repl = function(bmo){\n var mo = bmo.mo,\n res = parts[0],\n groups = mo.$groups,\n s = mo.string,\n group,\n is_bytes = s.type == 'bytes'\n for(var i = 1, len = parts.length; i < len; i += 2){\n if(parts[i] == 0){\n var x = s.substring(mo.start, mo.end)\n if(is_bytes){\n x = _b_.bytes.decode(x, 'latin-1')\n }\n res += x\n }else if(groups[parts[i]] === undefined){\n if(mo.node.$groups[parts[i]] !== undefined){\n // group is defined in the RE, but didn't contribute\n // to the match\n // groups[parts[i]] = ''\n }else{\n // group is not defined in the RE\n pos++\n group_num = parts[i].toString().substr(0, 2)\n fail(`invalid group reference ${group_num}`, pos)\n }\n }else{\n group = groups[parts[i]]\n var x = s.substring(group.start, group.end)\n if(is_bytes){\n x = _b_.bytes.decode(x, 'latin-1')\n }\n res += x\n }\n res += parts[i + 1]\n }\n return res\n }\n }else{\n data.repl = new StringObj(repl)\n }\n return data\n}\n\n\n\nvar Flag = $B.make_class(\"Flag\",\n function(value){\n return {\n __class__: Flag,\n value\n }\n }\n)\n\nFlag.__and__ = function(self, other){\n if(other.__class__ === Flag){\n return Flag.$factory(self.value & other.value)\n }else if(typeof other == \"number\" || typeof other == \"boolean\"){\n return Flag.$factory(self.value & other)\n }\n return _b_.NotImplemented\n}\n\nFlag.__index__ = function(self){\n return self.value\n}\n\nFlag.__invert__ = function(self){\n return Flag.$factory(~self.value)\n}\n\nFlag.__eq__ = function(self, other){\n return self.value == other.value\n}\n\nFlag.__or__ = function(self, other){\n if(other.__class__ === Flag){\n return Flag.$factory(self.value | other.value)\n }else if(typeof other == \"number\" || typeof other == \"boolean\"){\n return Flag.$factory(self.value | other)\n }\n return _b_.NotImplemented\n}\n\nFlag.__rand__ = function(self, other){\n if(typeof other == \"number\" || $B.$isinstance(other, _b_.int)){\n if(other == 0){\n return false // Flag.$factory(self.value)\n }\n return self.value & other\n }\n return _b_.NotImplemented\n}\n\nFlag.__ror__ = function(self, other){\n if(typeof other == \"number\" || $B.$isinstance(other, _b_.int)){\n if(other == 0){\n return self.value\n }\n return self.value | other\n }\n return _b_.NotImplemented\n}\n\nFlag.__repr__ = Flag.__str__ = function(self){\n if(self.value == 0){\n return \"re.none\"\n }\n var inverted = self.value < 0\n\n var t = [],\n value = inverted ? ~self.value : self.value\n for(var flag in inline_flags){\n if(value & inline_flags[flag].value){\n t.push('re.' + flag_names[flag])\n value &= ~inline_flags[flag].value\n }\n }\n if(value > 0){\n t.push('0x' + value.toString(16))\n }\n var res = t.join('|')\n if(inverted){\n if(t.length > 1){\n return '~(' + res + ')'\n }else{\n return '~' + res\n }\n }\n return res\n}\n\nFlag.__xor__ = function(self, other){\n return Flag.$factory(self.value ^ other.value)\n}\n\n$B.set_func_names(Flag, \"re\")\n\nvar no_flag = {}\n\nvar Scanner = $B.make_class(\"Scanner\",\n function(pattern, string, pos, endpos){\n var $ = $B.args('__init__', 4,\n {pattern: null, string: null, pos: null, endpos:null},\n ['pattern', 'string', 'pos', 'endpos'],\n arguments, {pos: 0, endpos: _b_.None}, null, null),\n endpos = endpos === _b_.None ? $.string.length : endpos\n return {\n __class__: Scanner,\n $string: $.string,\n pattern: $.pattern,\n pos: $.pos,\n endpos\n }\n }\n)\n\nScanner.match = function(self){\n return Pattern.match(self.pattern, self.$string)\n}\n\nScanner.search = function(self){\n if(! self.$iterator){\n self.$iterator = module.finditer(self.pattern, self.$string)\n }\n // return last match\n var mo = _b_.None\n for(mo of self.$iterator.js_gen){\n // set mo\n }\n return mo\n}\n\nvar GroupIndex = $B.make_class(\"GroupIndex\",\n function(self, _default){\n var res = $B.empty_dict()\n res.__class__ = GroupIndex\n for(var key in self.$groups){\n if(isNaN(parseInt(key))){\n _b_.dict.$setitem(res, key, self.$groups[key].num)\n }\n }\n return res\n }\n)\nGroupIndex.__mro__ = [_b_.dict, _b_.object]\nGroupIndex.__setitem__ = function(){\n throw _b_.TypeError.$factory(\"read only\")\n}\n\n$B.set_func_names(GroupIndex, \"re\")\n\nvar Pattern = $B.make_class(\"Pattern\",\n function(pattern){\n var nb_groups = 0\n for(var key in pattern.groups){\n if(isFinite(key)){\n nb_groups++\n }\n }\n return {\n __class__: Pattern,\n pattern: pattern.text,\n groups: nb_groups,\n flags: pattern.flags,\n $groups: pattern.groups,\n $pattern: pattern\n }\n }\n)\n\nPattern.__copy__ = function(self){\n return self\n}\n\nPattern.__deepcopy__ = function(self){\n return self\n}\n\nPattern.__eq__ = function(self, other){\n if(other.$pattern && self.$pattern.type != other.$pattern.$type){\n // warn(_b_.BytesWarning, \"cannot compare str and bytes pattern\", 1)\n }\n return self.pattern == other.pattern &&\n self.flags.value == other.flags.value\n}\n\nPattern.__hash__ = function(self){\n // best effort ;-)\n return _b_.hash(self.pattern) + self.flags.value\n}\n\nPattern.__new__ = Pattern.$factory\n\nPattern.__reduce__ = function(self){\n return Pattern.__reduce_ex__(self, 4)\n}\n\nPattern.__reduce_ex__ = function(self, protocol){\n var res = _reconstructor,\n state = [self.__class__].concat(self.__class__.__mro__)\n var d = $B.empty_dict()\n _b_.dict.$setitem(d, 'pattern', self.pattern)\n _b_.dict.$setitem(d, 'flags', self.flags.value)\n state.push(d)\n return $B.fast_tuple([res, $B.fast_tuple(state)])\n}\n\nfunction _reconstructor(cls, base, state){\n var pattern = _b_.dict.$getitem(state, 'pattern'),\n flags = Flag.$factory(_b_.dict.$getitem(state, 'flags'))\n return module.compile(pattern, flags)\n}\n\nPattern.__repr__ = Pattern.__str__ = function(self){\n var text = self.$pattern.text,\n s = text\n if(self.$pattern.type == \"bytes\"){\n s = _b_.str.$factory(_b_.str.encode(s, 'latin-1'))\n }else{\n s = _b_.repr(s)\n }\n s = s.substr(0, 200)\n var res = `re.compile(${s}`,\n flags = self.$pattern.flags\n if(flags === no_flag){\n return res + ')'\n }\n // mask UNICODE flag\n if(flags.__class__ === Flag){\n // copy flag, otherwise U.value would become 0\n flags = Flag.$factory(flags.value)\n flags.value &= ~U.value\n }else if(typeof flags == \"number\"){\n flags &= ~U.value\n }\n if(flags != 0 && flags.value != 0){\n res += `, ${_b_.str.$factory(flags)}`\n }\n return res + ')'\n}\n\nPattern.findall = function(self){\n var iter = Pattern.finditer.apply(null, arguments).js_gen,\n res = []\n\n while(true){\n var next = iter.next()\n if(next.done){\n return res\n }\n var bmo = next.value,\n mo = bmo.mo,\n groups = MatchObject.groups(bmo)\n\n // replace None by the empty string\n for(var i = 0, len = groups.length; i < len; i++){\n groups[i] = groups[i] === _b_.None ? \"\" : groups[i]\n }\n if(groups.length > 0){\n if(groups.length == 1){\n res.push(groups[0])\n }else{\n res.push($B.fast_tuple(groups))\n }\n }else{\n res.push(mo.string.substring(mo.start, mo.end))\n }\n }\n}\n\nPattern.finditer = function(self){\n var $ = $B.args(\"finditer\", 4,\n {self: null, string: null, pos: null, endpos: null},\n 'self string pos endpos'.split(' '), arguments,\n {pos: 0, endpos: _b_.None}, null, null)\n var data = prepare({string: $.string})\n var endpos = $.endpos === _b_.None ? data.string.length : $.endpos\n return $B.generator.$factory(iterator)(self.$pattern, data.string,\n self.flags, $.string, $.pos, endpos)\n}\n\nPattern.fullmatch = function(self, string){\n var $ = $B.args(\"match\", 4,\n {self: null, string: null, pos: null, endpos: null},\n [\"self\", \"string\", \"pos\", \"endpos\"], arguments,\n {pos: 0, endpos: _b_.None}, null, null)\n if($.endpos === _b_.None){\n $.endpos = $.string.length\n }\n var data = prepare({string: $.string})\n if(self.$pattern.type != data.string.type){\n throw _b_.TypeError.$factory(\"not the same type for pattern \" +\n \"and string\")\n }\n var fullmatch_pattern = create_fullmatch_pattern($.self.$pattern)\n var mo = match(fullmatch_pattern, data.string, $.pos, $.endpos)\n if(mo && mo.end - mo.start == $.endpos - $.pos){\n return MatchObject.$factory(mo)\n }else{\n return _b_.None\n }\n}\n\nPattern.groupindex = {\n __get__: function(self){\n return GroupIndex.$factory(self)\n }\n}\n\nPattern.match = function(self, string){\n var $ = $B.args(\"match\", 4,\n {self: null, string: null, pos: null, endpos: null},\n [\"self\", \"string\", \"pos\", \"endpos\"], arguments,\n {pos: 0, endpos: _b_.None}, null, null)\n if($.endpos === _b_.None){\n $.endpos = $.string.length\n }\n var data = prepare({string: $.string})\n if(self.$pattern.type != data.string.type){\n throw _b_.TypeError.$factory(\"not the same type for pattern \" +\n \"and string\")\n }\n var mo = match($.self.$pattern, data.string, $.pos,\n $.endpos)\n return mo ? MatchObject.$factory(mo) : _b_.None\n}\n\nPattern.scanner = function(self, string, pos, endpos){\n return Scanner.$factory.apply(null, arguments) // self, string, pos, endpos)\n}\n\nPattern.search = function(self, string){\n var $ = $B.args(\"match\", 4,\n {self: null, string: null, pos: null, endpos: null},\n [\"self\", \"string\", \"pos\", \"endpos\"], arguments,\n {pos: 0, endpos: _b_.None}, null, null)\n var data = prepare({string: $.string})\n if(self.$pattern.type != data.string.type){\n throw _b_.TypeError.$factory(\"not the same type for pattern \" +\n \"and string\")\n }\n if($.endpos === _b_.None){\n $.endpos = data.string.length\n }\n var pos = $.pos\n while(pos <= $.endpos){\n var mo = match(self.$pattern, data.string, pos)\n if(mo){\n return MatchObject.$factory(mo)\n }else{\n pos++\n }\n }\n return _b_.None\n}\n\nPattern.split = function(){\n return module.split.apply(null, arguments)\n}\n\nPattern.sub = function(){\n var $ = $B.args(\"match\", 4,\n {self: null, repl: null, string: null, count: null},\n \"self repl string count\".split(' '), arguments,\n {count: 0}, null, null)\n var data = prepare({string: $.string})\n if($.self.$pattern.type != data.string.type){\n throw _b_.TypeError.$factory(\"not the same type for pattern \" +\n \"and string\")\n }\n\n return module.sub($.self, $.repl, $.string, $.count)\n}\n\n$B.set_func_names(Pattern, \"re\")\n\nfunction Node(parent){\n this.parent = parent\n this.items = []\n}\n\nNode.prototype.add = function(item){\n this.items.push(item)\n item.parent = this\n}\n\nNode.prototype.fixed_length = function(){\n // Return the sum of items lengths if fixed, else undefined\n if(this.repeat){\n return false\n }\n var len = 0\n for(var item of this.items){\n if(item.fixed_length === undefined){\n console.log(\"pas de fixed length\", item)\n alert()\n }\n var sublen = item.fixed_length()\n if(sublen === false){\n return false\n }\n len += sublen\n }\n return len\n}\n\nfunction get_top(node){\n var top = node.parent\n while(top.parent){\n top = top.parent\n }\n return top\n}\n\nvar BackReference = function(pos, type, value){\n // for \"\\number\"\n this.name = \"BackReference\"\n this.pos = pos\n this.type = type // \"name\" or \"num\"\n this.value = value\n this.groups = []\n}\n\nBackReference.prototype.fixed_length = function(){\n // Return length of referenced group if it is fixed, else undefined\n if(this.repeat){\n return undefined\n }\n var group = this.get_group()\n if(group.fixed_length === undefined){\n console.log(\"group\", group, \"no fixed length\")\n }\n return group === undefined ? false : group.fixed_length()\n}\n\nBackReference.prototype.get_group = function(){\n var top = get_top(this)\n return top.$groups[this.value]\n}\n\nBackReference.prototype.match = function(string, pos, endpos, groups){\n this.repeat = this.repeat || {min: 1, max: 1}\n\n var group = groups[this.value]\n if(group === undefined){\n if(this.repeat.min == 0){\n return {\n nb_min: 0,\n nb_max: 0\n }\n }\n return false\n }\n\n // Get the codepoints matched by the referenced group\n group_cps = string.codepoints.slice(group.start, group.end)\n\n // search (repetitions of) the matched group codepoints\n var _pos = pos,\n nb = 0,\n group_len = group_cps.length,\n flag,\n cp\n while(string.cp_at(_pos) !== undefined && nb < this.repeat.max){\n flag = true\n for(var i = 0; i < group_len; i++){\n cp = string.cp_at(_pos + i)\n if(cp != group_cps[i]){\n flag = false\n break\n }\n }\n if(flag){\n nb++\n _pos += group_len\n }else{\n break\n }\n }\n if(nb >= this.repeat.min){\n // Returns the accepted minimum and maximum number of repeats\n // and the length of each repeat\n return {\n nb_min: this.repeat.min,\n nb_max: nb,\n group_len\n }\n }\n return false\n}\n\nBackReference.prototype.toString = function(){\n return \"BackRef to group\" + this.value\n}\n\nvar Case = function(){\n this.name = \"Case\"\n this.items = []\n this.groups = []\n this.text = 'Case '\n}\n\nCase.prototype.add = function(item){\n this.items.push(item)\n item.parent = this\n}\n\nCase.prototype.fixed_length = function(){\n var len\n for(var item of this.items){\n var fl = item.fixed_length()\n if(fl === false){\n return false\n }else if(len === undefined){\n len = fl\n }else{\n len += fl\n }\n }\n return len\n}\n\nCase.prototype.toString = function(){\n var res = 'Case '\n res += this.items.map(x => x + '').join(' ')\n return this.text = res\n}\n\nvar Choice = function(){\n this.type = \"choice\"\n this.items = []\n this.groups = []\n}\n\nChoice.prototype.add = Node.prototype.add\n\nChoice.prototype.fixed_length = function(){\n var len\n for(var item of this.items){\n var fl = item.fixed_length()\n if(fl === false){\n return false\n }else if(len === undefined){\n len = fl\n }else if(len != fl){\n return false\n }\n }\n return len\n}\n\nChoice.prototype.toString = function(){\n return 'Choice'\n}\n\nvar EmptyString = {\n toString: function(){\n return ''\n },\n match: function(string, pos, endpos){\n return {nb_min: 0, nb_max: 0}\n },\n fixed_length: function(){\n return 1\n },\n length: 0\n },\n Flags = function(flags){\n this.flags = flags\n },\n GroupEnd = function(pos){\n this.name = \"GroupEnd\"\n this.pos = pos\n this.text = ')'\n this.toString = function(){\n return '[end of group #' + this.group.num + ']'\n }\n },\n Or = function(pos){\n this.name = \"Or\"\n this.pos = pos\n this.text = '|'\n this.toString = function(){\n return '|'\n }\n },\n Repeater = function(pos, op){\n this.name = \"Repeater\"\n this.pos = pos\n this.op = op\n }\n\nfunction cased_cps(cp, ignore_case, ascii){\n // If cp is the codepoint of a cased Unicode character, return the list\n // of the codepoints that match the character in a case-insensitive way\n\n // ignore_case = this.flags && this.flags.value & IGNORECASE.value\n // ascii = this.flags.value & ASCII.value\n var cps,\n char = $B.codepoint2jsstring(cp)\n if(! ignore_case){\n return [cp]\n }\n if(ascii){\n // only test ASCII letters\n ignore_case = ignore_case && (\n (char >= 'a' && char <= 'z') ||\n (char >= 'A' && char <= 'Z'))\n }\n if(ignore_case){\n var char_up = char.toUpperCase(),\n char_low = char.toLowerCase(),\n cps = new Set([cp, $B.jsstring2codepoint(char_low),\n $B.jsstring2codepoint(char_up)])\n // special cases\n if(char.toLowerCase() == \"k\"){\n cps.add(0x212a) // Kelvin sign\n }\n if(cp == 0x212a){\n cps.add(ord('k'))\n cps.add(ord('K'))\n }\n if(char.toLowerCase() == \"s\"){\n cps.add(0x017f) // (Latin small letter long s)\n }\n if(cp == 0x017f){\n cps.add(ord('s'))\n cps.add(ord('S'))\n }\n if(char.toLowerCase() == 'i'){\n cps.add(0x0130) // (Latin capital letter I with dot above)\n cps.add(0x0131) // (Latin small letter dotless i)\n }\n if(cp == 0x0130 || cp == 0x0131){\n cps.add(ord('i'))\n cps.add(ord('I'))\n }\n return Array.from(cps)\n }else{\n cps = [cp]\n }\n return cps\n}\n\nvar Char = function(pos, cp, groups){\n // character in a regular expression or in a character set\n // pos : position of the character in the pattern string\n // cp : the character's codepoint\n // groups (optional) : the groups that contain the character\n this.pos = pos\n this.cp = cp\n this.char = chr(this.cp)\n this.text = this.char\n}\n\nChar.prototype.fixed_length = function(){\n if(this.repeat){\n return this.repeat.min\n }\n return this.char === EmptyString ? 0 : 1\n}\n\nChar.prototype.match = function(string, pos, endpos){\n // Returns {pos1, pos2} such that \"this\" matches all the substrings\n // string[pos:i] with pos1 <= i < pos2, or false if no match\n this.repeat = this.repeat || {min: 1, max: 1}\n\n var i = 0\n\n // browse string codepoints until they don't match, or the number of\n // matches is above the maximum allowed\n if(this.flags){\n if(this.flags.value & ASCII.value){\n if(this.cp > 127){\n return false\n }\n }\n if(this.flags.value & IGNORECASE.value &&\n (! this.is_bytes || this.cp <= 127)){\n // Flag IGNORECASE set\n // For bytes pattern, case insensitive matching only works\n // for ASCII characters\n var char_upper = this.char.toUpperCase(),\n char_lower = this.char.toLowerCase(),\n cp\n while(i < this.repeat.max && pos + i < endpos){\n cp = string.cp_at(pos + i)\n var char = chr(cp)\n if(char.toUpperCase() != char_upper &&\n char.toLowerCase() != char_lower){\n break\n }\n i++\n }\n }else{\n while(pos + i < endpos &&\n string.cp_at(pos + i) == this.cp &&\n i < this.repeat.max){\n i++\n }\n }\n }else{\n while(pos + i < endpos &&\n string.cp_at(pos + i) == this.cp &&\n i < this.repeat.max){\n i++\n }\n }\n var nb = i\n if(nb >= this.repeat.min){\n // Number of repeats ok\n return {\n nb_min: this.repeat.min,\n nb_max: nb\n }\n }else{\n return false\n }\n}\n\nChar.prototype.toString = function(){\n var res = 'Char ' + this.text\n if(this.repeat !== undefined){\n res += ' repeat {' + this.repeat.min + ',' + this.repeat.max + '}'\n if(this.non_greedy){\n res += '?'\n }\n }\n return res\n}\n\nfunction CharSeq(chars, flags){\n // sequence of consecutive characters\n this.chars = chars\n this.flags = flags\n this.merge_same_chars()\n}\n\nCharSeq.prototype.add_char = function(char){\n this.chars.push(char)\n this.merge_same_chars()\n}\n\nCharSeq.prototype.fixed_length = function(){\n var len = 0,\n cps = [],\n char_len\n for(var char of this.chars){\n if(! char.repeat){\n char_len = 1\n }else if(char.repeat.min == char.repeat.max){\n char_len = char.repeat.min\n }else{\n len = false\n break\n }\n for(var i = 0; i < char_len; i++){\n cps.push(char.cp)\n }\n len += char_len\n }\n this.cps = cps\n return this.len = len\n}\n\nCharSeq.prototype.match = function(string, pos, endpos){\n var mos = [],\n i = 0,\n backtrack,\n nb\n this.len = this.len === undefined ? this.fixed_length() : this.len\n // optimization if character sequence has a fixed length\n if(this.len !== false && ! (this.flags.value & IGNORECASE.value)){\n for(var i = 0; i < this.len; i++){\n if(string.cp_at(pos + i) !== this.cps[i]){\n return false\n }\n }\n return {nb_min: this.len, nb_max: this.len}\n }\n for(var i = 0, len = this.chars.length; i < len; i++){\n var char = this.chars[i],\n mo = char.match(string, pos, endpos) // form {nb_min, nb_max}\n if(_debug.value){\n console.log('CharSeq match, pos', pos, 'char', char, 'mo', mo)\n alert()\n }\n if(mo){\n nb = char.non_greedy ? mo.nb_min : mo.nb_max\n mos.push({nb,\n nb_min: mo.nb_min,\n nb_max: mo.nb_max,\n non_greedy: !!char.non_greedy\n })\n pos += nb\n }else{\n // backtrack\n backtrack = false\n while(mos.length > 0){\n i--\n mo = mos.pop()\n pos -= mo.nb\n nb = mo.nb\n if(mo.non_greedy && nb < mo.nb_max){\n nb += 1\n backtrack = true\n }else if(! mo.non_greedy && nb - 1 >= mo.nb_min){\n nb -= 1\n backtrack = true\n }\n if(backtrack){\n pos += nb\n mo.nb = nb\n mos.push(mo)\n break\n }\n }\n if(mos.length == 0){\n return false\n }\n }\n }\n var nb = 0,\n last_mo = $B.last(mos)\n for(var mo of mos.slice(0, mos.length - 1)){\n nb += mo.nb\n }\n var res = {\n nb_min: nb + last_mo.nb_min,\n nb_max: nb + last_mo.nb_max\n }\n return res\n}\n\nCharSeq.prototype.merge_same_chars = function(){\n // b?b merged into b+ etc.\n var current,\n chars = [],\n merged\n for(var item of this.chars){\n if(current && current.char == item.char &&\n current.non_greedy === item.non_greedy){\n if(! current.repeat){\n current.repeat = {min: 1, max: 1}\n }\n if(item.repeat){\n current.repeat.min += item.repeat.min\n current.repeat.max += item.repeat.max\n }else{\n current.repeat.min += 1\n current.repeat.max += 1\n }\n merged = true\n }else{\n chars.push(item)\n }\n current = item\n }\n if(merged){\n this.chars = chars\n }\n}\n\nCharSeq.prototype.toString = function(){\n var res = ''\n for(var char of this.chars){\n res += char.text\n }\n return 'CharSeq ' + res\n}\n\nfunction CharacterClass(pos, cp, length, groups){\n this.cp = cp\n this.value = chr(cp)\n this.length = length\n this.pos = pos\n\n var flags = this.flags\n\n // Test function : test(string, pos) returns:\n // - true if \"this\" matches 1 character string[pos]\n // - [true, 0] if \"this\" matches the empty string at pos\n // - false or undefined if \"this\" doesn't match\n switch(this.value){\n case 'A':\n this.test_func = function(string, pos){\n if(pos == 0){\n return [true, 0]\n }\n }\n break\n case 's':\n this.test_func = function(string, pos){\n var cp = string.cp_at(pos)\n return $B.in_unicode_category('Zs', cp) ||\n $B.unicode_bidi_whitespace.indexOf(cp) > -1\n }\n break\n case 'S':\n this.test_func = function(string, pos){\n var cp = string.cp_at(pos)\n return cp !== undefined &&\n ! $B.in_unicode_category('Zs', cp) &&\n $B.unicode_bidi_whitespace.indexOf(cp) == -1\n }\n break\n case '.':\n this.test_func = function(string, pos){\n if(string.cp_at(pos) === undefined){\n return false\n }\n if(this.flags.value & DOTALL.value){\n return true\n }else{\n return string.cp_at(pos) != 10\n }\n }\n break\n case 'd':\n this.test_func = function(string, pos){\n if(this.flags === undefined){\n console.log(\"\\\\d, no flags\", this)\n }\n var cp = string.cp_at(pos),\n tester = (this.flags.value & ASCII.value) ?\n is_ascii_digit : is_digit\n return tester(cp)\n }\n break\n case 'D':\n this.test_func = function(string, pos){\n var cp = string.cp_at(pos),\n tester = (this.flags.value & ASCII.value) ?\n is_ascii_digit : is_digit\n return ! tester(cp)\n }\n break\n case 'b':\n this.test_func = function(string, pos){\n var tester = is_word\n if(this.is_bytes || (this.flags.value & ASCII.value)){\n tester = is_ascii_word\n }\n var cp = string.cp_at(pos),\n ok = {nb_min: 0, nb_max: 0}\n\n // return true if char at pos is at the beginning or start\n // of a word\n if(pos == 0 && tester(cp)){\n return ok\n }\n if(string.cp_at(pos) === undefined && tester(string.cp_at(pos - 1))){\n return ok\n }\n if(pos > 0 && string.cp_at(pos) !== undefined){\n if((tester(string.cp_at(pos - 1))) !==\n tester(cp)){\n return ok\n }\n }\n return false\n }\n break\n case 'B':\n this.test_func = function(string, pos){\n var tester = is_word\n if(this.is_bytes || (this.flags.value & ASCII.value)){\n tester = is_ascii_word\n }\n\n var cp = string.cp_at(pos),\n ok = {nb_min: 0, nb_max: 0}\n // test is true if char at pos is not at the beginning or\n // start of a word\n if(pos == 0 && cp === undefined){\n // empty string\n return false\n }\n if(pos == 0 && tester(cp)){\n return false\n }\n if(cp === undefined &&\n tester(string.cp_at(pos - 1))){\n return false\n }\n if(pos > 0 && cp !== undefined){\n if(tester(string.cp_at(pos - 1)) !== tester(cp)){\n return false\n }\n }\n return ok\n }\n break\n case 'w':\n this.test_func = function(string, pos){\n var tester = is_word\n if(this.is_bytes || (this.flags.value & ASCII.value)){\n tester = is_ascii_word\n }\n return tester(string.cp_at(pos))\n }\n break\n case 'W':\n this.test_func = function(string, pos){\n var tester = is_word\n if(this.is_bytes || (this.flags.value & ASCII.value)){\n tester = is_ascii_word\n }\n return ! tester(string.cp_at(pos))\n }\n break\n case 'Z':\n this.test_func = function(string, pos){\n if(string.cp_at(pos) === undefined){\n return {nb_min: 0, nb_max: 0}\n }\n }\n break\n }\n}\n\nCharacterClass.prototype.fixed_length = function(){\n return this.repeat ? false : 1\n}\n\nCharacterClass.prototype.match = function(string, pos, endpos){\n // Returns {pos1, pos2} such that \"this\" matches all the substrings\n // string[pos:i] with pos1 <= i < pos2, or false if no match\n if(pos === undefined){\n console.log('no pos')\n throw Error()\n }\n var len = string.length\n this.repeat = this.repeat || {min: 1, max: 1}\n\n // browse string codepoints until they don't match, or the number of\n // matches is above the maximum allowed\n var i = 0\n while(i < this.repeat.max && i < len){\n var test = this.test_func(string, pos + i, this.flags)\n if(! test){\n break\n }\n i++\n }\n\n var nb = i\n if(nb >= this.repeat.min){\n // Number of repeats ok\n if('bBAZ'.indexOf(this.value) > -1 ){\n return {nb_min: 0, nb_max: 0}\n }\n return {\n nb_min: this.repeat.min,\n nb_max: nb\n }\n }else{\n return false\n }\n}\n\nCharacterClass.prototype.nb_repeats = Char.prototype.nb_repeats\n\nCharacterClass.prototype.toString = function(){\n return '\\\\' + this.value\n}\n\nvar CharacterSet = function(pos, set, groups){\n // character set\n this.pos = pos\n this.set = set\n this.neg = set.neg\n}\n\nCharacterSet.prototype.fixed_length = function(){\n return 1\n}\n\nCharacterSet.prototype.match = function(string, pos, endpos){\n var ignore_case = this.flags && (this.flags.value & IGNORECASE.value),\n test,\n match = false,\n i = 0,\n cp\n\n this.repeat = this.repeat || {min: 1, max: 1}\n\n while(i < this.repeat.max && (cp = string.cp_at(pos + i)) !== undefined){\n test = false\n\n if(string.cp_at(pos) === undefined){\n cp = EmptyString\n }\n try{\n $B.codepoint2jsstring(cp)\n }catch(err){\n console.log(err.message)\n console.log('cp', cp, '\\nstring', string, 'pos', pos)\n console.log($B.print_stack())\n throw _b_.Exception.$factory('bad codepoint')\n }\n var char = $B.codepoint2jsstring(cp),\n cps = cased_cps(cp, ignore_case, this.flags.value & ASCII.value),\n char_is_cased = cps.length > 1\n\n for(var cp1 of cps){\n for(var item of this.set.items){\n if(typeof item == 'string'){\n\n }\n if(Array.isArray(item.ord)){\n if(cp1 >= item.ord[0] &&\n cp1 <= item.ord[1]){\n test = true\n break\n }else if(ignore_case && char_is_cased){\n var start1 = chr(item.ord[0]).toUpperCase(),\n end1 = chr(item.ord[1]).toUpperCase(),\n char1 = char.toUpperCase()\n if(char1 >= start1 && char1 <= end1){\n test = true\n }\n var start1 = chr(item.ord[0]).toLowerCase(),\n end1 = chr(item.ord[1]).toLowerCase(),\n char1 = char.toLowerCase()\n if(char1 >= start1 && char1 <= end1){\n test = true\n }\n }\n }else if(item instanceof CharacterClass){\n test = !! item.match(string, pos + i, endpos) // boolean\n }else{\n if(item.ord == cp1){\n test = true\n break\n }\n item_str = typeof item == 'string' ? item : chr(item.ord)\n if(item_str == char){\n test = true\n break\n }\n if(ignore_case && char_is_cased &&\n (char.toUpperCase() == item_str.toUpperCase() ||\n char.toLowerCase() == item_str.toLowerCase())){\n test = true\n break\n }\n }\n }\n }\n if(this.neg){\n test = ! test\n }\n if(test){\n i++\n }else{\n break\n }\n }\n var nb = i\n if(nb >= this.repeat.min){\n // Number of repeats ok\n return {\n nb_min: this.repeat.min,\n nb_max: nb\n }\n }else{\n return false\n }\n\n}\n\nCharacterSet.prototype.nb_repeats = Char.prototype.nb_repeats\n\nCharacterSet.prototype.toString = function(){\n return 'CharSet'\n}\n\nvar ConditionalBackref = function(pos, group_ref){\n this.type = \"conditional backref\"\n this.pos = pos\n this.group_ref = group_ref\n this.chars = []\n this.match_codepoints = []\n this.nb_success = 0\n this.re_if_exists = new Group(pos)\n this.re_if_not_exists = new Group(pos)\n this.nb_options = 1\n}\n\nConditionalBackref.prototype.add = function(item){\n if(this.nb_options == 1){\n this.re_if_exists.add(item)\n }else if(this.nb_options == 2){\n this.re_if_not_exists.add(item)\n }\n item.parent = this\n}\n\nConditionalBackref.prototype.fixed_length = function(){\n var len = this.re_if_exists.fixed_length()\n if(len !== false && len == this.re_if_not_exists.fixed_length()){\n return len\n }\n return false\n}\n\nConditionalBackref.prototype.match = function(string, pos, endpos, groups){\n var re = groups[this.group_ref] ? this.re_if_exists :\n this.re_if_not_exists,\n pattern = {node: re, text: re + ''},\n mo = match(pattern, string, pos, endpos, false, groups)\n if(mo){\n return {nb_min: mo.end - mo.start, nb_max: mo.end - mo.start}\n }\n return false\n}\n\nConditionalBackref.prototype.toString = function(){\n return 'ConditionalBackref'\n}\n\nvar Group = function(pos, extension){\n this.type = \"group\"\n this.pos = pos\n this.items = []\n this.chars = []\n this.groups = []\n for(var key in extension){\n this[key] = extension[key]\n }\n if(extension && extension.type){\n if(extension.type.indexOf('lookahead') > -1){\n this.is_lookahead = true\n }else if(extension.type.indexOf('lookbehind') > -1){\n this.is_lookbehind = true\n }\n }\n}\n\nGroup.prototype.add = Node.prototype.add\n\nGroup.prototype.toString = function(){\n if(this.num === undefined){\n var res = 'Group ' + this.type + ' ' + this.pattern\n }else{\n var res = 'Group #' + this.num + ' ' + this.pattern\n }\n if(this.repeat !== undefined){\n res += ' repeat {' + this.repeat.min + ',' + this.repeat.max + '}'\n if(this.non_greedy){\n res += '?'\n }\n }\n return res\n}\n\nBackReference.prototype.nb_repeats = Group.prototype.nb_repeats\n\nGroup.prototype.fixed_length = Node.prototype.fixed_length\n\nfunction groups_in(pattern, group_list){\n if(group_list === undefined){\n group_list = new Set()\n }\n if(pattern instanceof Group && pattern.hasOwnProperty('num')){\n group_list.add(pattern.num)\n }\n if(pattern.items){\n for(var subpattern of pattern.items){\n for(var group of groups_in(subpattern, group_list)){\n group_list.add(group)\n }\n }\n }\n return group_list\n}\n\nfunction GroupRef(group_num, item){\n this.num = group_num\n this.item = item\n}\n\nGroupRef.prototype.fixed_length = function(){\n return this.item.fixed_length()\n}\n\nfunction Lookbehind(item){\n this.re = item\n this.neg = this.re.type == \"negative_lookbehind\"\n}\n\nLookbehind.prototype.match = function(string, pos, endpos, groups){\n var ok = {nb_min: 0, nb_max: 0},\n pattern = {node: this.re, text: this.re + ''},\n length = this.re.length,\n mo\n if(pos - length < 0){\n mo = false\n }else{\n mo = match(pattern, string, pos - length, endpos, false, groups)\n }\n if(mo){\n return this.neg ? false : ok\n }else{\n return this.neg ? ok : false\n }\n}\n\nLookbehind.prototype.fixed_length = function(){\n return this.re.fixed_length()\n}\n\nLookbehind.prototype.toString = function(){\n return \"Lookbehind\"\n}\n\nfunction SetFlags(pos, flags){\n this.pos = pos\n this.on_flags = flags.on_flags\n this.off_flags = flags.off_flags\n this.items = []\n}\n\nSetFlags.prototype.add = Node.prototype.add\n\nfunction StringStart(pos){\n this.pos = pos\n}\n\nStringStart.prototype.match = function(string, pos, endpos){\n var ok = {nb_min:0, nb_max: 0}\n if(this.flags.value & MULTILINE.value){\n return (pos == 0 || string.cp_at(pos - 1) == 10) ? ok : false\n }\n return pos == 0 ? ok : false\n}\n\nStringStart.prototype.fixed_length = function(){\n return 0\n}\n\nStringStart.prototype.toString = function(){\n return '^'\n}\n\nfunction StringEnd(pos){\n this.pos = pos\n}\n\nStringEnd.prototype.match = function(string, pos, endpos){\n var ok = {nb_min:0, nb_max: 0},\n cp = string.cp_at(pos)\n if(this.flags.value & MULTILINE.value){\n return (pos > string.codepoints.length - 1 ||\n cp == 10) ? ok : false\n }\n return pos > endpos - 1 ? ok :\n (pos == endpos - 1 && cp == 10) ? ok : false\n}\n\nStringEnd.prototype.fixed_length = function(){\n return 0\n}\n\nStringEnd.prototype.toString = function(){\n return '$'\n}\n\nvar cache = new Map()\n\nfunction compile(pattern, flags){\n if(pattern.__class__ === Pattern){\n if(flags !== no_flag){\n throw _b_.ValueError.$factory(\"no flags\")\n }\n return pattern\n }\n if(cache.has(pattern.py_obj)){\n if(cache.get(pattern.py_obj).has(flags.value || 0)){\n return cache.get(pattern.py_obj).get(flags.value || 0)\n }\n }\n var original_pattern = pattern,\n original_flags = flags,\n type = pattern.type,\n choices,\n allow_global_flags = true\n pattern = pattern.codepoints\n var is_bytes = type !== \"str\"\n if(is_bytes && flags && (flags.value & U.value)){\n throw _b_.ValueError.$factory(\"cannot use UNICODE flag with \" +\n \"a bytes pattern\")\n }\n if(flags && (flags.value & U.value) &&\n (flags.value & ASCII.value)){\n throw _b_.ValueError.$factory(\"ASCII and UNICODE flags \" +\n \"are incompatible\")\n }\n if(is_bytes){\n // bytes patterns ignore re.ASCII flag\n flags = Flag.$factory(flags.value || 0)\n //flags.value &= ~ASCII.value\n }\n var group_num = 0,\n group_stack = [],\n groups = {},\n pos,\n lookbehind,\n node = new Node(),\n accept_inline_flag = true,\n verbose = (flags.value || 0) & VERBOSE.value,\n comment = false,\n backrefs = {}\n node.$groups = groups\n for(var item of tokenize(pattern, type, verbose)){\n item.flags = flags\n item.is_bytes = is_bytes\n if(lookbehind){\n item.lookbehind = lookbehind\n lookbehind.parent = item\n lookbehind = false\n }\n if(allow_global_flags &&\n (group_stack.length > 0 || ! (item instanceof SetFlags))){\n allow_global_flags = false\n }\n if(item instanceof Group){\n group_stack.push(item)\n node.add(item)\n item.state = \"open\"\n group_num++\n item.num = group_num\n node = item // next items will be stored as group's items\n pos = item.pos\n if(item.non_capturing){\n delete item.num\n group_num--\n }else if(item.type == \"name_def\"){\n var value = item.value\n if(groups[value.string] !== undefined){\n fail(`redefinition of group name` +\n ` '${value.string}' as group ${group_num}; was group` +\n ` ${groups[value.string].num}`, pos)\n }\n item.name = value.string\n groups[value.string] = groups[group_num] =\n new GroupRef(group_num, item)\n }else if(item.is_lookahead){\n // a lookahead assertion is relative to the previous regexp\n group_num--\n while(node.items.length > 0){\n item.add(node.items.shift())\n }\n node = item\n }else if(item.is_lookbehind){\n // a lookbehind assertion is relative to the next regexp\n node.parent.items.pop() // remove from node items\n // temporarily create a group\n groups[group_num] = new GroupRef(group_num, item)\n }else if(item.type == \"flags\"){\n // save flags before a group with inline flags, eg \"(?i:a)\"\n item.flags_before = Flag.$factory(flags.value | 0)\n }else{\n groups[group_num] = new GroupRef(group_num, item)\n }\n }else if(item instanceof GroupEnd){\n end_pos = item.pos\n if(group_stack.length == 0){\n fail(\"unbalanced parenthesis\", end_pos, original_pattern)\n }\n var item = group_stack.pop()\n item.end_pos = end_pos\n try{\n item.pattern = from_codepoint_list(\n pattern.slice(item.pos, end_pos + 1))\n }catch(err){\n console.log(\"err avec pattern substring\", pattern)\n throw err\n }\n if(item.is_lookbehind){\n delete groups[group_num]\n group_num--\n // check that all elements have a fixed length\n item.length = item.fixed_length()\n if(item.length === false){\n fail(\"look-behind requires fixed-width pattern\", pos)\n }\n item.parent.add(new Lookbehind(item))\n item.non_capturing = true\n // store in variable \"lookbehind\", will be applied to next item\n lookbehind = item\n }else if(item.is_lookahead){\n delete item.num\n }\n if(item instanceof Group && item.items.length == 0){\n item.add(EmptyString)\n }else if(item instanceof ConditionalBackref){\n if(groups[item.group_ref] === undefined){\n // might be defined later; store in backrefs and check\n // when all items have been processed\n backrefs[item.group_ref] = backrefs[item.group_ref] | pos + 3\n }\n if(item.re_if_exists.items.length == 0){\n item.re_if_exists.add(EmptyString)\n }else if(item.re_if_not_exists.items.length == 0){\n item.re_if_not_exists.pos = pos\n item.re_if_not_exists.add(EmptyString)\n }\n }else if(item.type == \"flags\"){\n // restore flags when entering the group\n flags = Flag.$factory(item.flags_before.value)\n }\n item.state = 'closed'\n node = item.parent\n }else if(item instanceof ConditionalBackref){\n var pos = item.pos,\n group_ref = item.group_ref\n if(typeof group_ref == \"number\"){\n if(group_ref == 0){\n fail(`bad group number`, pos + 3)\n }else if(group_ref >= MAXGROUPS){\n fail(`invalid group reference ${group_ref}`, pos + 1)\n }else if(groups[group_ref] &&\n groups[group_ref].item.state == \"open\"){\n fail(\"cannot refer to an open group\", pos)\n }\n }else if(groups[group_ref] !== undefined){\n if(groups[group_ref].item.state == \"open\"){\n fail(\"cannot refer to an open group\", pos)\n }\n }else{\n fail(`unknown group name '${group_ref}'`, pos)\n }\n group_stack.push(item)\n node.add(item)\n item.state = \"open\"\n node = item // next items will be stored as group's items\n }else if(item instanceof BackReference){\n pos = item.pos\n if(item.type == \"num\" && item.value > 99){\n var head = item.value.toString().substr(0, 2)\n fail(`invalid group reference ${head}`, pos + 1)\n }\n if(groups[item.value] !== undefined){\n if(groups[item.value].item.state == \"open\"){\n fail(\"cannot refer to an open group\", pos)\n }\n var ref_item = groups[item.value].item.parent\n while(ref_item){\n if(ref_item.is_lookbehind){\n fail(\"cannot refer to group defined in the same lookbehind subpattern\", pos)\n }\n ref_item = ref_item.parent\n }\n }else if(item.type == \"name\"){\n fail(`unknown group name '${item.value}'`, pos)\n }else if(item.type == \"num\"){\n fail(`invalid group reference ${item.value}`, pos)\n }\n node.add(item)\n }else if(item instanceof Char ||\n item instanceof CharacterClass ||\n item instanceof CharacterSet){\n if(item instanceof CharacterSet){\n for(var elt of item.set.items){\n elt.flags = flags\n }\n }\n var added_to_charseq = false\n if(item instanceof Char){\n if(node.items && node.items.length > 0){\n var previous = $last(node.items)\n if(previous instanceof CharSeq){\n previous.add_char(item)\n added_to_charseq = true\n }else if(previous instanceof Char && ! previous.repeater){\n node.items.pop()\n node.items.push(new CharSeq([previous, item], flags))\n added_to_charseq = true\n }\n }\n }\n if(! added_to_charseq){\n node.add(item)\n }\n }else if(item instanceof Repeater){\n // check that item is not in a lookbehind group\n var pnode = node\n while(pnode){\n if(pnode.extension && pnode.extension.type &&\n pnode.extension.type.indexOf(\"lookbehind\") > -1){\n fail(\"look-behind requires fixed-width pattern\", pos)\n }\n pnode = pnode.parent\n }\n pos = item.pos\n if(node.items.length == 0){\n fail(\"nothing to repeat\", pos)\n }\n previous = $last(node.items)\n if(previous instanceof Char ||\n previous instanceof CharSeq ||\n previous instanceof CharacterClass ||\n previous instanceof CharacterSet ||\n previous instanceof Group ||\n previous instanceof BackReference){\n if(previous instanceof GroupEnd){\n // associate repeat with Group\n previous = previous.group\n }else if(previous instanceof CharSeq){\n previous = $last(previous.chars)\n }\n if(previous.repeater){\n if(item.op == '?' && ! previous.non_greedy){\n if(previous.possessive){\n fail('multiple repeat', pos)\n }\n previous.non_greedy = true\n if(previous instanceof CharacterClass &&\n previous.value == '.'){\n previous.min_repeat_one = true\n }\n }else{\n if(item instanceof Repeater && item.op == '+'){\n if(previous.possessive || previous.non_greedy){\n fail('multiple repeat', pos)\n }\n previous.possessive = true\n }else{\n fail(\"multiple repeat\", pos)\n }\n }\n }else{\n // convert to minimum and maximum number of repeats\n var min = 1,\n max = 1\n if(Array.isArray(item.op)){\n min = item.op[0]\n if(min >= MAXREPEAT){\n throw _b_.OverflowError.$factory(\n \"the repetition number is too large\")\n }\n max = item.op[1] === undefined ? min : item.op[1]\n if(isFinite(max) && max >= MAXREPEAT){\n throw _b_.OverflowError.$factory(\n \"the repetition number is too large\")\n }\n if(max < min){\n fail('min repeat greater than max repeat', pos)\n }\n }else if(item.op == \"?\"){\n min = 0\n max = 1\n }else if(item.op == \"*\"){\n min = 0\n max = Number.POSITIVE_INFINITY\n }else if(item.op == \"+\"){\n min = 1\n max = Number.POSITIVE_INFINITY\n }\n previous.repeater = item\n previous.repeat = {min, max}\n // mark all parents of item as no fixed length\n var parent = item\n while(parent){\n parent.fixed_length = false\n parent = parent.parent\n }\n }\n }else{\n fail(\"nothing to repeat\", pos)\n }\n }else if(item instanceof Or){\n if(group_stack.length > 0){\n item.group = group_stack[group_stack.length - 1]\n }else{\n item.group = false\n }\n pos = item.pos\n if(node instanceof ConditionalBackref){\n // case '(?(num)a|'\n if(node.nb_options == 1){\n node.nb_options++\n }else{\n fail('conditional backref with more than ' +\n 'two branches', pos)\n }\n }else if(node.items.length == 0){\n // token \"|\" in \"(|...)\" : first option is the empty string\n var choice = new Choice(),\n case1 = new Case()\n case1.add(new Char(pos, EmptyString))\n choice.add(case1)\n node.add(choice)\n var case2 = new Case()\n choice.add(case2)\n node = case2\n }else if(node instanceof Case){\n // node.parent is already a Choice\n var new_case = new Case()\n node.parent.add(new_case)\n node = new_case\n }else{\n // token \"|\" in \"(ab|...)\"\n var previous = node.items[node.items.length - 1]\n if(previous instanceof Case){\n var new_case = new Case()\n previous.add(new_case)\n node = new_case\n }else{\n var choice = new Choice(),\n case1 = new Case(),\n first_rank = node.items[0].rank\n while(node.items.length > 0){\n case1.add(node.items.shift())\n }\n case1.groups = node.$groups\n for(var group of group_stack){\n choice.groups.push(group)\n }\n choice.add(case1)\n node.add(choice)\n var case2 = new Case()\n choice.add(case2)\n node = case2\n }\n }\n }else if(item instanceof StringStart ||\n item instanceof StringEnd){\n node.add(item)\n }else if(item instanceof SetFlags){\n if(group_stack.length == 0 && ! allow_global_flags){\n // pattern like (?x) only allowed as first in reg exp\n fail('global flags not at the start of the ' +\n 'expression', item.pos)\n }\n // copy flags, otherwise re.ASCII etc might be modified\n flags = Flag.$factory(flags.value || U.value)\n if(item.on_flags.indexOf('u') > -1){\n if(is_bytes){\n fail(\"re.error: bad inline flags: cannot use 'u' flag \" +\n \"with a bytes pattern\", pos)\n }\n if(flags && flags.value & ASCII.value){\n // switch to Unicode\n flags.value ^= ASCII.value\n }\n if(group_stack.length == 0 &&\n original_flags && original_flags.value & ASCII.value){\n throw _b_.ValueError.$factory(\"ASCII and UNICODE flags \" +\n \"are incompatible\")\n }\n if(item.on_flags.indexOf('a') > -1){\n throw _b_.ValueError.$factory(\"ASCII and UNICODE flags \" +\n \"are incompatible\")\n }\n }\n if(item.on_flags.indexOf('a') > -1){\n if(group_stack.length == 0 &&\n original_flags && original_flags.value & U.value){\n throw _b_.ValueError.$factory(\"ASCII and UNICODE flags \" +\n \"are incompatible\")\n }\n if(flags && flags.value & U.value){\n // switch to ASCII\n flags.value ^= U.value\n }\n if(item.on_flags.indexOf('u') > -1){\n throw _b_.ValueError.$factory(\"ASCII and UNICODE flags \" +\n \"are incompatible\")\n }\n }\n if(flags.value === undefined){\n flags.value = 32\n }\n if(item.items.length == 0){\n if(! accept_inline_flag && group_stack.length == 0){\n var s = from_codepoint_list(pattern)\n warn(_b_.DeprecationWarning,\n `Flags not at the start of the expression '${s}'`,\n pos)\n }\n for(var on_flag of item.on_flags){\n if(! is_bytes || on_flag !== 'a'){\n flags.value |= inline_flags[on_flag].value\n }\n }\n for(var off_flag of item.off_flags){\n if(! is_bytes || off_flag !== 'a'){\n flags.value ^= inline_flags[off_flag].value\n }\n }\n }else{\n node.add(item)\n }\n }else{\n fail(\"unknown item type \" + item, pos)\n }\n if(! (item instanceof SetFlags) &&\n ! (item instanceof Group && item.type == \"flags\")){\n accept_inline_flag = false\n }\n }\n for(ref in backrefs){\n if(groups[ref] === undefined){\n fail('invalid group name ' + ref, backrefs[ref])\n }\n }\n if(group_stack.length > 0){\n var last = group_stack[group_stack.length - 1]\n fail(\"missing ), unterminated subpattern\", last.pos)\n }\n while(node.parent){\n node = node.parent\n }\n node.pattern = from_codepoint_list(pattern)\n node.groups = group_num\n flags = flags === no_flag ? 32 : flags\n node.flags = flags\n var res = {\n node,\n groups,\n flags,\n original_flags,\n text: from_codepoint_list(pattern),\n type, // \"str\" or \"bytes\"\n fixed_length: node.fixed_length()\n }\n if(! cache.has(original_pattern.py_obj)){\n cache.set(original_pattern.py_obj, new Map())\n }\n cache.get(original_pattern.py_obj).set(original_flags.value || 0, res)\n if(_debug.value){\n show(node)\n }\n return res\n}\n\nfunction show(node, indent){\n indent = indent === undefined ? 0 : indent\n if(indent == 0){\n log('root', node)\n }\n log(' '.repeat(indent) + node)\n if(node.items !== undefined){\n for(var item of node.items){\n show(item, indent + 1)\n }\n }\n}\n\nfunction to_codepoint_list(s){\n var items = []\n if(typeof s == \"string\" || $B.$isinstance(s, _b_.str)){\n if(typeof s != \"string\"){\n s = s.valueOf()\n }\n for(var char of s){\n items.push(char.codePointAt(0))\n }\n items.type = \"unicode\"\n }else if($B.$isinstance(s, [_b_.bytes, _b_.bytearray, _b_.memoryview])){\n if($B.$isinstance(s, _b_.memoryview)){\n items = s.obj.source\n }else{\n items = s.source\n }\n items.type = \"bytes\"\n }else{\n throw Error('invalid type ' + $B.class_name(s))\n }\n return items\n}\n\n$B.nb_from_cp = 0\nfunction from_codepoint_list(codepoints, type){\n $B.nb_from_cp++\n // Return a string\n if(type == \"bytes\"){\n return _b_.bytes.$factory(codepoints)\n }\n var s = ''\n for(var cp of codepoints){\n s += _b_.chr(cp)\n }\n return $B.String(s)\n}\n\nfunction string2bytes(s){\n var t = []\n for(var i = 0, len = s.length; i < len; i++){\n t.push(s.charCodeAt(i))\n }\n return _b_.bytes.$factory(t)\n}\n\nfunction check_pattern_flags(pattern, flags){\n if(pattern.__class__ === Pattern){\n if(flags !== no_flag){\n throw _b_.ValueError.$factory(\n \"cannot process flags argument with a compiled pattern\")\n }\n }\n return pattern\n}\n\nfunction StringObj(obj){\n // A StringObj object is a bridge between a Python string or bytes-like\n // object and Javascript\n // obj is the Python object\n // this.string is a Javascript string\n this.py_obj = obj\n this.codepoints = []\n this.type = \"str\"\n this.is_string = typeof obj == 'string'\n if(typeof obj == \"string\" ||\n (obj instanceof String && ! obj.codepoints)){\n // Python object represented as a Javascript string\n this.string = obj\n // Maps a position in codepoints to position in string\n this.index_map = {}\n for(var i = 0, len = obj.length; i < len; i++){\n this.index_map[this.codepoints.length] = i\n var cp = obj.codePointAt(i)\n this.codepoints.push(cp)\n if(cp >= 0x10000){\n i++\n }\n }\n this.length = _b_.str.__len__(obj)\n if(obj instanceof String){\n // store for next use\n obj.codepoints = this.codepoints\n obj.index_map = this.index_map\n }\n }else if(obj instanceof String){\n // string with surrogate pairs\n this.string = obj.string\n this.codepoints = obj.codepoints\n this.index_map = obj.index_map\n this.length = _b_.str.__len__(obj)\n }else if($B.$isinstance(obj, _b_.str)){ // str subclass\n var so = new StringObj(_b_.str.$factory(obj))\n this.string = so.string\n this.codepoints = so.codepoints\n this.length = _b_.str.__len__(obj)\n }else if($B.$isinstance(obj, [_b_.bytes, _b_.bytearray])){\n this.string = _b_.bytes.decode(obj, 'latin1')\n this.codepoints = obj.source\n this.type = \"bytes\"\n }else if($B.$isinstance(obj, _b_.memoryview)){\n this.string = _b_.bytes.decode(obj.obj, 'latin1')\n this.codepoints = obj.obj.source\n this.type = \"bytes\"\n }else if(obj.__class__ && obj.__class__.$buffer_protocol){\n // eg array.array\n this.codepoints = _b_.list.$factory(obj)\n this.string = from_codepoint_list(this.codepoints, \"bytes\")\n this.type = \"bytes\"\n }else if(Array.isArray(obj)){\n // list of codepoints\n this.codepoints = obj\n }else{\n throw _b_.TypeError.$factory(\n `expected string or bytes-like object, got '${$B.class_name(obj)}'`)\n }\n if(this.length === undefined){\n this.length = this.codepoints.length\n }\n}\n\nStringObj.prototype.cp_at = function(pos){\n if(pos >= this.length){\n return undefined\n }\n /*\n if(typeof this.string == 'string'){\n return this.string.charCodeAt(pos)\n }\n */\n var res = this.codepoints[pos]\n if(res !== undefined){\n return res\n }\n}\n\nStringObj.prototype.substring = function(start, end){\n // Returns a string\n var s\n if(this.string && this.index_map){\n if(this.index_map[start] === undefined){\n return ''\n }\n if(end === undefined){\n return this.string.substr(this.index_map[start])\n }\n return this.string.substring(this.index_map[start],\n this.index_map[end])\n }\n var codepoints,\n res = ''\n if(end === undefined){\n codepoints = this.codepoints.slice(start)\n }else{\n codepoints = this.codepoints.slice(start, end)\n }\n return from_codepoint_list(codepoints, this.type)\n}\n\nStringObj.prototype.to_str = function(){\n if(this.hasOwnProperty('string')){\n return this.string\n }\n return from_codepoint_list(this.codepoints, this.type)\n}\n\nStringObj.from_codepoints = function(cps){\n var res = new StringObj('')\n res.codepoints = cps\n for(var cp of cps){\n res.string += _b_.chr(cp)\n }\n return res\n}\n\nfunction prepare(args){\n // Check that all arguments are of the same type (string or bytes-like).\n // Return an object with all attributes transformed into StringObj\n // instances\n var res = {},\n keys = Object.keys(args),\n first = keys[0]\n res[first] = new StringObj(args[first])\n res.type = res[first].type\n for(var key of keys.slice(1)){\n res[key] = new StringObj(args[key])\n if(res[key].type != res.type){\n throw _b_.TypeError.$factory(`not the same type for ${first} and ${key}`)\n }\n }\n return res\n}\n\n\nfunction subn(pattern, repl, string, count, flags){\n // string is a StringObj instance\n // pattern is either a Pattern instance or a StringObj instance\n var res = '',\n pos = 0,\n nb_sub = 0\n\n if(pattern instanceof StringObj){\n pattern = compile(pattern, flags)\n }\n if(typeof repl != \"function\"){\n var data1 = transform_repl({repl}, pattern)\n repl1 = data1.repl1\n }\n pos = 0\n var s = string.to_str()\n for(var bmo of module.finditer(Pattern.$factory(pattern), s).js_gen){\n // finditer yields instances of MatchObject\n var mo = bmo.mo // instance of MO\n res += from_codepoint_list(string.codepoints.slice(pos, mo.start))\n if(typeof repl == \"function\"){\n var x = $B.$call(repl)(bmo)\n if(x.__class__ === _b_.bytes){\n x = _b_.bytes.decode(x, 'latin-1')\n }\n res += x // $B.$call(repl)(bmo)\n }else{\n res += repl1\n }\n nb_sub++\n pos = mo.end\n if(count != 0 && nb_sub >= count){\n break\n }\n }\n if(string.is_string){\n res += string.string.substr(pos)\n }else{\n res += from_codepoint_list(string.codepoints.slice(pos))\n }\n if(pattern.type === \"bytes\"){\n res = _b_.str.encode(res, \"latin-1\")\n }\n return [res, nb_sub]\n}\n\n// escaped chars : '\\t\\n\\x0b\\x0c\\r #$&()*+-.?[\\\\]^{|}~'\nvar escaped = [9, 10, 11, 12, 13, 32, 35, 36, 38, 40, 41, 42, 43, 45, 46, 63,\n 91, 92, 93, 94, 123, 124, 125, 126]\n\nfunction starts_with_string_start(pattern){\n // returns true if the pattern starts with ^ or \\A\n if(pattern.node){\n pattern = pattern.node\n }\n if(pattern.items){\n if(pattern.items.length == 0){\n return false\n }\n return starts_with_string_start(pattern.items[0])\n }else if(pattern instanceof CharacterClass){\n return pattern.value == 'A'\n }else if(pattern instanceof StringStart){\n return true\n }else{\n return false\n }\n}\n\nfunction* iterator(pattern, string, flags, original_string, pos, endpos){\n var result = [],\n pos = pos | 0,\n cp,\n accept_one = true // used to test one position after string end\n while((cp = string.cp_at(pos)) !== undefined || accept_one){\n var mo = match(pattern, string, pos, endpos)\n if(mo){\n yield MatchObject.$factory(mo)\n if(mo.end == mo.start){\n // If match has zero with, retry at the same position but\n // with the flag no_zero_width set, to avoid infinite loops\n mo = match(pattern, string, pos, endpos, true)\n if(mo){\n yield MatchObject.$factory(mo)\n pos = mo.end\n }else{\n pos++ // at least 1, else infinite loop\n }\n }else{\n pos = mo.end\n }\n }else{\n pos++\n }\n if(cp === undefined){\n accept_one = false\n }\n if (starts_with_string_start(pattern) && !(flags.value & MULTILINE.value)) {\n break\n }\n }\n delete original_string.in_iteration\n}\n\n\nfunction MO(node, pos, mo, len){\n // Match Object\n this.node = node\n this.start = pos\n this.mo = mo\n this.nb_min = mo.nb_min\n this.nb_max = mo.nb_max\n this.len = len\n this.nb = this.node.non_greedy ? mo.nb_min : mo.nb_max\n this.end = pos + len * this.nb\n}\n\nMO.prototype.backtrack = function(string, groups){\n if(this.node.possessive){\n return false\n }\n if(this.node.non_greedy && this.nb < this.nb_max){\n this.nb++\n this.end = this.start + this.len * this.nb\n return true\n }else if((! this.node.non_greedy) && this.nb > this.nb_min){\n this.nb--\n this.end = this.start + this.len * this.nb\n return true\n }else{\n return false\n }\n}\n\nfunction del_groups(groups, node){\n if(node.num !== undefined){\n delete groups[node.num]\n groups.$last.splice(groups.$last.indexOf(node.num), 1)\n if(node.name !== undefined){\n delete groups[node.name]\n }\n }\n for(var child of node.items){\n if(child instanceof Group){\n del_groups(groups, child)\n }\n }\n}\n\nfunction GroupMO(node, start, matches, string, groups, endpos){\n // Match Object for Groups\n this.node = node\n this.start = start\n this.matches = matches\n this.string = string\n this.end = matches.length > 0 ? $last(matches).end : start\n this.endpos = endpos === undefined ? this.end : endpos\n this.$groups = groups\n}\n\nGroupMO.prototype.backtrack = function(string, groups){\n if(_debug.value){\n console.log('group MO backtrack, this', this)\n alert()\n }\n // Try backtracking in the last match\n if(this.node.possessive || this.node.atomic){\n return false\n }\n if(this.matches.length > 0){\n var _match = $last(this.matches),\n mos = _match.mos,\n nb0 = mos.length\n while(mos.length > 0){\n var mo = mos.pop()\n if(mo.node instanceof Case){\n var rank = mo.node.parent.items.indexOf(mo.node)\n for(var _case of mo.node.parent.items.slice(rank + 1)){\n var _mo = match({node: _case, text: _case.text},\n string, mo.start)\n if(_mo){\n // update GroupMO object\n mos.push(_mo)\n this.end = _mo.end\n if(this.$groups.$last.length > 0){\n var ix = this.$groups.$last[this.$groups.$last.length - 1]\n this.$groups[ix].end = _mo.end\n }\n return true\n }\n }\n }\n if(mo.backtrack(string, groups)){\n mos.push(mo)\n if(this.node.num !== undefined){\n groups[this.node.num].end = mo.end\n }\n this.end = mo.end\n return true\n }\n }\n }\n // Else, remove last match if possible\n if(this.matches.length > this.node.repeat.min &&\n this.matches.length >= 1){\n this.matches.pop()\n if(this.matches.length > 0){\n this.end = $last(this.matches).end\n }else{\n // remove this group and its children from groups\n del_groups(groups, this.node)\n this.end = this.start\n }\n return true\n }\n // Group fails; if some of its subgroups succeded, remove them from\n // groups\n if(this.node.repeat.min > 0){\n del_groups(groups, this.node)\n }\n return false\n}\n\nGroupMO.prototype.toString = function(){\n var repr = _b_.repr(this.string.substring(this.start, this.end))\n repr = repr.substring(0, 50)\n return ''\n}\n\nGroupMO.prototype.groups = function(_default){\n var res = [],\n groupobj = this.$groups\n\n for(var key in this.node.$groups){\n if(isFinite(key)){\n res[key] = groupobj[key] === undefined ? _default :\n this.string.substring(groupobj[key].start, groupobj[key].end)\n }\n }\n res.shift()\n return $B.fast_tuple(res)\n}\n\n// Brython MatchObject\nvar MatchObject = $B.make_class(\"Match\",\n function(mo){\n return {\n __class__: MatchObject,\n mo\n }\n }\n)\n\nMatchObject.__copy__ = function(self){\n return self\n}\n\nMatchObject.__deepcopy__ = function(self){\n return self\n}\n\nMatchObject.__getitem__ = function(){\n var $ = $B.args(\"__getitem__\", 2, {self: null, key: null},\n ['self', 'key'], arguments, {}, null, null),\n self = $.self,\n key = $.key\n if(Array.isArray(key)){\n throw _b_.IndexError.$factory(\"no such group\")\n }\n if(key == 0){\n return self.mo.string.substring(self.mo.start, self.mo.end)\n }\n var match = self.mo.$groups[key]\n if(match !== undefined){\n return self.mo.string.substring(match.start, match.end)\n }else if(self.mo.node.$groups[key] !== undefined){\n return _b_.None\n }\n throw _b_.IndexError.$factory(\"no such group\")\n}\n\nMatchObject.__repr__ = MatchObject.__str__ = function(self){\n return self.mo.toString()\n}\n\nMatchObject.end = function(self){\n var $ = $B.args('end', 2, {self: null, group: null}, ['self', 'group'],\n arguments, {group: 0}, null, null)\n var group = MatchObject.group(self, $.group)\n if(group === _b_.None){\n return -1\n }else if($.group == 0){\n return self.mo.end\n }else{\n return self.mo.$groups[$.group].end\n }\n}\n\nMatchObject.endpos = _b_.property.$factory(\n function(self){\n return self.mo.endpos\n }\n)\n\nMatchObject.expand = function(){\n var $ = $B.args(\"expand\", 2, {self: null, template: null},\n ['self', 'template'], arguments, {}, null, null)\n var data = {\n repl: new StringObj($.template),\n }\n data = transform_repl(data, {groups: $.self.mo.node.$groups})\n if(typeof data.repl == \"function\"){\n return $B.$call(data.repl)(MatchObject.$factory($.self.mo))\n }else{\n return data.repl1\n }\n}\n\nMatchObject.group = function(self){\n var $ = $B.args(\"group\", 1, {self: null}, ['self'], arguments,\n {}, 'args', null),\n self = $.self,\n args = $.args\n if(args.length == 0){\n args[0] = 0\n }\n var groupobj = self.mo.$groups,\n result = []\n for(var group_id of args){\n if($B.rich_comp('__eq__', group_id, 0)){\n result.push(self.mo.string.substring(self.mo.start, self.mo.end))\n continue\n }\n try{\n // Convert group_id to int if possible\n group_id = $B.PyNumber_Index(group_id) // in py_utils.js\n }catch(err){\n // group_id can be an identifier\n }\n if(self.mo.node.$groups[group_id] === undefined){\n throw _b_.IndexError.$factory(\"no such group\")\n }\n var group = groupobj[group_id] // found in match\n result.push(group === undefined ?\n _b_.None :\n self.mo.string.substring(group.start, group.end))\n }\n if(args.length == 1){\n return result[0]\n }\n return $B.fast_tuple(result)\n}\n\nMatchObject.groupdict = function(){\n /*\n Return a dictionary containing all the named subgroups of the match, keyed\n by the subgroup name. The default argument is used for groups that did not\n participate in the match; it defaults to None.\n */\n var $ = $B.args(\"groupdict\", 2, {self: null, default: null},\n ['self', 'default'], arguments, {default: _b_.None},\n null, null),\n self = $.self,\n groupobj = $.self.mo.$groups,\n d = $B.empty_dict()\n for(var key in $.self.mo.node.$groups){\n if(! isFinite(key)){\n var value = groupobj[key] === undefined ? $.default :\n groupobj[key]\n if(value !== $.default){\n value = self.mo.string.substring(value.start, value.end)\n }\n _b_.dict.$setitem(d, key, value)\n }\n }\n return d\n}\n\nMatchObject.groups = function(self){\n var $ = $B.args(\"group\", 2, {self: null, default: null},\n ['self', 'default'], arguments,\n {default: _b_.None}, null, null),\n self = $.self,\n _default = $.default\n return self.mo.groups(_default)\n}\n\nMatchObject.lastindex = _b_.property.$factory(\n function(self){\n /* The integer index of the last matched capturing group, or None if\n no group was matched at all.\n */\n var last = self.mo.$groups.$last\n if(last.length == 0){\n return _b_.None\n }\n return parseInt($last(last))\n }\n)\n\nMatchObject.lastgroup = _b_.property.$factory(\n function(self){\n /* The name of the last matched capturing group, or None if the group\n didn't have a name, or if no group was matched at all.\n */\n var lastindex = MatchObject.lastindex.fget(self)\n if(lastindex === _b_.None){\n return _b_.None\n }\n var group = self.mo.node.$groups[lastindex],\n name = group.item.name\n return name === undefined ? _b_.None : name\n }\n)\n\nMatchObject.pos = _b_.property.$factory(\n function(self){\n return self.mo.start\n }\n)\n\nMatchObject.re = _b_.property.$factory(\n function(self){\n return self.mo.node.pattern\n }\n)\n\nMatchObject.regs = _b_.property.$factory(\n function(self){\n var res = [$B.fast_tuple($B.fast_tuple([self.mo.start, self.mo.end]))]\n for(var group_num in self.mo.node.$groups){\n if(isFinite(group_num)){\n var group = self.mo.node.$groups[group_num].item\n // group.pattern includes the opening and closing brackets\n res.push($B.fast_tuple([group.pos,\n group.pos + group.pattern.length - 2]))\n }\n }\n return $B.fast_tuple(res)\n }\n)\n\nMatchObject.span = function(){\n /*\n Match.span([group])\n\n For a match m, return the 2-tuple (m.start(group), m.end(group)). Note\n that if group did not contribute to the match, this is (-1, -1). group\n defaults to zero, the entire match.\n */\n var $ = $B.args(\"span\", 2, {self: null, group: null},\n ['self', 'group'], arguments,\n {group: 0}, null, null),\n self = $.self,\n group = $.group\n if(group == 0){\n return $B.fast_tuple([self.mo.start, self.mo.end])\n }\n var span = self.mo.$groups[group]\n if(span === undefined){\n return $B.fast_tuple([-1, -1])\n }\n return $B.fast_tuple([span.start, span.end])\n}\n\nMatchObject.start = function(self){\n var $ = $B.args('end', 2, {self: null, group: null}, ['self', 'group'],\n arguments, {group: 0}, null, null)\n var group = MatchObject.group(self, $.group)\n if(group === _b_.None){\n return -1\n }else if($.group == 0){\n return self.mo.start\n }else{\n return self.mo.$groups[$.group].start\n }\n}\n\nMatchObject.string = _b_.property.$factory(\n function(self){\n return self.mo.string.to_str()\n }\n)\n\n$B.set_func_names(MatchObject, 're')\n\nfunction log(){\n if(_debug.value){\n console.log.apply(null, arguments)\n }\n}\n\nfunction create_fullmatch_pattern(pattern){\n // transform into \"(?:)$\"\n // use a new pattern object, otherwise if pattern is in cache the\n // value in cache would be changed\n var new_pattern = {}\n for(var key in pattern){\n if(key == 'node'){\n continue\n }\n new_pattern[key] = pattern[key]\n }\n\n var ncgroup = new Group() // non-capturing group\n ncgroup.pos = 0\n ncgroup.non_capturing = true\n for(var item of pattern.node.items){\n ncgroup.add(item)\n }\n var se = new StringEnd()\n se.flags = Flag.$factory(32)\n new_pattern.node = new Node()\n new_pattern.node.add(ncgroup)\n new_pattern.node.add(se)\n return new_pattern\n}\n\nfunction match(pattern, string, pos, endpos, no_zero_width, groups){\n // Follow the pattern tree structure\n if(_debug.value){\n console.log('match pattern', pattern.text, 'pos', pos, string.substring(pos))\n alert()\n }\n if(endpos !== undefined){\n if(endpos < pos){\n return false\n }\n }else{\n endpos = string.length\n }\n if(pattern.node instanceof Node){\n show(pattern.node)\n }\n if(groups === undefined){\n groups = {$last:[]}\n }\n if(pattern.text === undefined){\n console.log('no text', pattern)\n }\n var node = pattern.node,\n mo\n if(node.items){\n // node is either a Choice between several items, or a sequence of\n // items\n if(node instanceof Choice){\n mo = false\n for(var _case of node.items){\n mo = match({node: _case, text: _case.text}, string, pos,\n endpos, no_zero_width, groups)\n if(mo){\n // remove groups inside choice and before successful case\n // that did not contribute to the match\n var groups_succeed = groups_in(_case),\n min_num = Math.min(Array.from(groups_succeed))\n for(var group_num of groups_in(node)){\n if(group_num < min_num){\n delete groups[group_num]\n }\n }\n if(_debug.value){\n console.log('case', _case + '', 'of choice', node +\n ' succeeds, groups', groups)\n }\n return mo\n }else{\n if(_debug.value){\n console.log('case', _case + '', 'of choice', node +\n ' fails')\n }\n }\n }\n return false\n }else{\n // sequence of items\n node.repeat = node.repeat === undefined ? {min: 1, max: 1} :\n node.repeat\n var start = pos,\n nb_repeat = 0,\n nb_zerolength_repeat = 0,\n matches = [],\n mos,\n match_start,\n empty_matches = {}\n // loop until we get enough repetitions\n while(true){\n if(empty_matches[pos]){\n // no use trying again\n return matches.length == 0 ? false :\n new GroupMO(node, start, matches, string, groups,\n endpos)\n }\n var initial_groups = Object.keys(groups)\n mos = []\n match_start = pos\n if(_debug.value){\n console.log(\"pattern\", pattern.text,\n \"loop in group match, match start\", match_start)\n }\n var i = 0\n while(i < node.items.length){\n var item = node.items[i]\n if(_debug.value){\n console.log('item', i, '/', node.items.length - 1,\n 'of pattern', pattern.text)\n }\n var mo = match({node: item, text: item + ''}, string, pos,\n endpos, no_zero_width, groups)\n if(mo){\n if(item instanceof Group &&\n item.type == \"lookahead_assertion\"){\n log(\"lookahead assertion\", item + '',\n \"succeeds, mo\", mo)\n }else{\n mos.push(mo)\n pos = mo.end\n }\n i++\n }else if(false && item instanceof Group &&\n item.type == \"negative_lookahead_assertion\"){\n log(\"negative lookahead assertion\", item, \"fails : ok !\")\n i++\n }else{\n if(_debug.value){\n console.log('item ' + item, 'of group fails, nb_repeat',\n nb_repeat, 'node repeat', node.repeat)\n }\n var backtrack = false\n while(mos.length > 0){\n var mo = mos.pop()\n if(mo.backtrack === undefined){\n log('no backtrack for', mo)\n }\n if(_debug.value){\n console.log('try backtrack on mo', mo)\n }\n if(mo.backtrack(string, groups)){\n log('can backtrack, mo', mo)\n mos.push(mo)\n i = mos.length\n log('mos', mos, 'restart at item', i)\n pos = mo.end\n backtrack = true\n break\n }\n }\n if(backtrack){\n log('backtrack ok')\n continue\n }else{\n if(node.type == \"negative_lookahead_assertion\"){\n // If a negative lookahead assertion fails,\n // return a match\n var res = new GroupMO(node, start, matches,\n string, groups, endpos)\n return res\n }\n if(nb_repeat == 0){\n // remove the groups introduced before\n // reaching this point\n for(var key in groups){\n if(initial_groups.indexOf(key) == -1){\n delete groups[key]\n }\n }\n }\n if(nb_repeat >= node.repeat.min){\n log(\"enough repetitions for node\", node)\n if(node.type == \"negative_lookahead_assertion\"){\n return false\n }\n return new GroupMO(node, start, matches, string,\n groups, endpos)\n }\n return false\n }\n }\n }\n if(node.type == \"negative_lookahead_assertion\"){\n // If a negative lookahead succeeds, return false\n return false\n }\n nb_repeat++\n if(pos > match_start){\n nb_zerolength_repeat = 0\n }else{\n nb_zerolength_repeat++\n empty_matches[pos] = true\n }\n matches.push({start: match_start, end: pos, mos})\n if(node.num !== undefined){\n groups[node.num] = $last(matches)\n if(node.name !== undefined){\n groups[node.name] = groups[node.num]\n }\n if(node.num != $last(groups.$last)){\n var ix = groups.$last.indexOf(node.num)\n if(ix > -1){\n groups.$last.splice(ix, 1)\n }\n groups.$last.push(node.num)\n }\n }\n if(nb_repeat >= node.repeat.max){\n var res = new GroupMO(node, start, matches, string,\n groups, endpos)\n if(res.start == res.end && no_zero_width){\n // no_zero_width is set when previous match in\n // iterator() had length 0; avoids infinite loops\n return false\n }\n return res\n }\n log('loop on group', pattern.text, 'nb repeats', nb_repeat,\n 'nb zero length', nb_zerolength_repeat, 'groups', groups)\n if(nb_zerolength_repeat == 65535){\n return matches.length == 0 ? false :\n new GroupMO(node, start, matches, string, groups,\n endpos)\n }\n }\n }\n }else{\n // for BackReference, Char, CharSeq, CharacterClass, CharacterSet,\n // ConditionalBackref, Lookbehind, StringStart, StringEnd\n var mo = node.match(string, pos, endpos, groups)\n if(_debug.value){\n console.log(node + '', \"mo\", mo)\n }\n if(mo){\n var len = mo.group_len === undefined ? 1 : mo.group_len,\n ix = node.non_greedy ? mo.nb_min : mo.nb_max,\n end = pos + len * ix\n return new MO(node, pos, mo, len)\n }else{\n return false\n }\n }\n}\n\n// expose re module API\nvar module = {\n cache: cache,\n compile: function(){\n var $ = $B.args(\"compile\", 2, {pattern: null, flags: null},\n ['pattern', 'flags'], arguments, {flags: no_flag},\n null, null)\n if($.pattern && $.pattern.__class__ === Pattern){\n if($.flags !== no_flag){\n throw _b_.ValueError.$factory(\n \"cannot process flags argument with a compiled pattern\")\n }\n return $.pattern\n }\n $.pattern = check_pattern_flags($.pattern, $.flags)\n var data = prepare({pattern: $.pattern})\n if(typeof $.flags == \"number\"){\n $.flags = Flag.$factory($.flags)\n }\n var jspat = compile(data.pattern, $.flags)\n return Pattern.$factory(jspat)\n },\n error: error,\n escape: function(){\n var $ = $B.args(\"escape\", 1, {pattern: null}, ['pattern'], arguments,\n {}, null, null),\n data = prepare({pattern: $.pattern}),\n pattern = data.pattern,\n res = []\n for(var cp of pattern.codepoints){\n if(escaped.indexOf(cp) > -1){\n res.push(BACKSLASH)\n }\n res.push(cp)\n }\n res = from_codepoint_list(res, data.type)\n if(data.type == \"bytes\" && $B.$isinstance(res, _b_.str)){\n res = _b_.str.encode(res, 'latin1')\n }\n return res\n },\n findall: function(){\n /* Return all non-overlapping matches of pattern in string, as a list\n of strings. The string is scanned left-to-right, and matches are\n returned in the order found. If one or more groups are present in\n the pattern, return a list of groups; this will be a list of tuples\n if the pattern has more than one group. Empty matches are included\n in the result.\n */\n var $ = $B.args(\"findall\", 3,\n {pattern: null, string: null, flags: null},\n ['pattern', 'string', 'flags'], arguments,\n {flags: no_flag}, null, null),\n pattern = $.pattern,\n string = $.string,\n flags = $.flags,\n data\n pattern = check_pattern_flags(pattern, flags)\n if(pattern.__class__ === Pattern){\n data = prepare({string})\n }else{\n data = prepare({string, pattern})\n pattern = Pattern.$factory(compile(data.pattern, flags))\n }\n if(data.type === \"str\"){\n function conv(s){\n return s === EmptyString ? '' : s\n }\n }else{\n function conv(s){\n return string2bytes(s)\n }\n }\n\n var iter = module.finditer.apply(null, arguments).js_gen,\n res = []\n while(true){\n var next = iter.next()\n if(next.done){\n return res\n }\n var bmo = next.value,\n mo = bmo.mo,\n groups = MatchObject.groups(bmo)\n\n // replace None by the empty string\n for(var i = 0, len = groups.length; i < len; i++){\n groups[i] = groups[i] === _b_.None ? \"\" : groups[i]\n }\n if(groups.length > 0){\n if(groups.length == 1){\n res.push(groups[0])\n }else{\n res.push($B.fast_tuple(groups))\n }\n }else{\n res.push(mo.string.substring(mo.start, mo.end))\n }\n }\n console.log(\"end findall\")\n },\n finditer: function(){\n var $ = $B.args(\"finditer\", 3,\n {pattern: null, string: null, flags: null},\n ['pattern', 'string', 'flags'], arguments,\n {flags: no_flag}, null, null),\n pattern = $.pattern,\n string = $.string,\n flags = $.flags\n if($B.$isinstance(string, [_b_.bytearray, _b_.memoryview])){\n string.in_iteration = true\n }\n var original_string = string,\n data\n pattern = check_pattern_flags(pattern, flags)\n if(pattern.__class__ === Pattern){\n data = prepare({string})\n flags = pattern.flags\n }else{\n data = prepare({string, pattern})\n pattern = Pattern.$factory(compile(data.pattern, flags))\n }\n if(pattern.__class__ !== Pattern){\n throw Error(\"pattern not a Python object\")\n }\n return $B.generator.$factory(iterator)(pattern.$pattern, data.string,\n flags, original_string)\n },\n fullmatch: function(){\n var $ = $B.args(\"fullmatch\", 3, {pattern: null, string: null, flags: null},\n ['pattern', 'string', 'flags'], arguments,\n {flags: no_flag}, null, null),\n pattern = $.pattern,\n string = $.string,\n flags = $.flags\n pattern = check_pattern_flags(pattern, flags)\n var data\n if(pattern.__class__ === Pattern){\n data = prepare({string})\n pattern = pattern.$pattern\n }else{\n data = prepare({pattern, string})\n pattern = compile(data.pattern, flags)\n }\n\n var new_pattern = create_fullmatch_pattern(pattern)\n\n // match transformed RE\n var res = match(new_pattern, data.string, 0)\n var bmo = res === false ? _b_.None : MatchObject.$factory(res)\n if(bmo !== _b_.None){\n if(bmo.mo.string.codepoints.length != bmo.mo.end - bmo.mo.start){\n return _b_.None\n }else{\n return bmo\n }\n }\n return _b_.None\n },\n Match: MatchObject,\n match: function(){\n var $ = $B.args(\"match\", 3, {pattern: null, string: null, flags: null},\n ['pattern', 'string', 'flags'], arguments,\n {flags: no_flag}, null, null),\n pattern = $.pattern,\n string = $.string,\n flags = $.flags\n pattern = check_pattern_flags(pattern, flags)\n var data\n if(pattern.__class__ === Pattern){\n data = prepare({string})\n pattern = pattern.$pattern\n }else{\n data = prepare({pattern, string})\n pattern = compile(data.pattern, flags)\n }\n var res = match(pattern, data.string, 0)\n return res === false ? _b_.None : MatchObject.$factory(res)\n },\n Pattern,\n purge: function(){\n var $ = $B.args(\"purge\", 0, {}, [], arguments, {}, null, null)\n cache.clear()\n return _b_.None\n },\n _reconstructor,\n Scanner,\n search: function(){\n var $ = $B.args(\"search\", 3, {pattern: null, string: null, flags: null},\n ['pattern', 'string', 'flags'], arguments,\n {flags: no_flag}, null, null),\n pattern = $.pattern,\n string = $.string,\n flags = $.flags,\n data\n pattern = check_pattern_flags(pattern, flags)\n if(pattern.__class__ === Pattern){\n data = prepare({string})\n }else{\n data = prepare({string, pattern})\n pattern = Pattern.$factory(compile(data.pattern, flags))\n }\n data.pattern = pattern\n // optimizations\n if(pattern.pattern.startsWith('\\\\A') ||\n pattern.pattern.startsWith('^')){\n if(! (pattern.$pattern.node.items[0] instanceof Choice)){\n var mo = match(data.pattern.$pattern, data.string, 0)\n if(mo){\n return MatchObject.$factory(mo)\n }else if(pattern.flags.value & MULTILINE.value){\n var pos = 0,\n cp\n while((cp = data.string.cp_at(pos)) !== undefined){\n if(cp == LINEFEED){\n mo = match(data.pattern.$pattern, data.string, pos + 1)\n if(mo){\n return MatchObject.$factory(mo)\n }\n }\n pos++\n }\n }else{\n return _b_.None\n }\n }\n }\n if(pattern.$pattern.fixed_length !== false &&\n isFinite(pattern.$pattern.fixed_length) &&\n pattern.pattern.endsWith('$') &&\n ! (pattern.flags.value & MULTILINE.value)){\n var mo = match(data.pattern.$pattern, data.string,\n data.string.length - pattern.$pattern.fixed_length)\n if(mo){\n return MatchObject.$factory(mo)\n }\n return _b_.None\n }\n var pos = 0\n if(data.string.codepoints.length == 0){\n mo = match(data.pattern.$pattern, data.string, 0)\n if(mo){\n mo.start = mo.end = 0\n }\n return mo ? MatchObject.$factory(mo) : _b_.None\n }\n while(pos < data.string.codepoints.length){\n var mo = match(data.pattern.$pattern, data.string, pos)\n if(mo){\n return MatchObject.$factory(mo)\n }else{\n pos++\n }\n }\n return _b_.None\n },\n set_debug: function(value){\n _debug.value = value\n },\n split: function(){\n var $ = $B.args(\"split\", 4,\n {pattern: null, string: null, maxsplit: null, flags: null},\n ['pattern', 'string', 'maxsplit', 'flags'],\n arguments, {maxsplit: 0, flags: no_flag}, null, null)\n var res = [],\n pattern = $.pattern,\n string = $.string,\n flags = $.flags,\n pos = 0,\n nb_split = 0,\n data\n if(pattern.__class__ !== Pattern){\n data = prepare({pattern, string})\n var comp = compile(data.pattern, flags)\n pattern = Pattern.$factory(comp)\n }else{\n data = {pattern, string}\n }\n for(var bmo of module.finditer(pattern, $.string).js_gen){\n var mo = bmo.mo, // finditer returns instances of MatchObject\n groupobj = mo.$groups\n res.push(data.string.substring(pos, mo.start))\n for(var key in mo.node.$groups){\n if(isFinite(key)){\n if(groupobj[key] !== undefined){\n res.push(data.string.substring(groupobj[key].start,\n groupobj[key].end))\n }else{\n res.push(_b_.None)\n }\n }\n }\n nb_split++\n pos = mo.end\n if(pos >= $.string.length){\n break\n }\n if($.maxsplit != 0 && nb_split >= $.maxsplit){\n break\n }\n }\n res.push(data.string.substring(pos))\n if(data.type === \"bytes\"){\n res = res.map(\n function(x){\n return $B.$isinstance(x, _b_.bytes) ?\n x :\n _b_.str.encode(x, \"latin-1\")\n }\n )\n }\n return res\n },\n sub: function(){\n var $ = $B.args(\"sub\", 5,\n {pattern: null, repl: null, string: null, count: null, flags: null},\n ['pattern', 'repl', 'string', 'count', 'flags'],\n arguments, {count: 0, flags: no_flag}, null, null),\n pattern = $.pattern,\n repl = $.repl,\n string = $.string,\n count = $.count,\n flags = $.flags,\n data\n check_pattern_flags(pattern, flags)\n if(typeof repl != \"function\"){\n if(pattern.__class__ != Pattern){\n data = prepare({pattern, string, repl})\n pattern = compile(data.pattern, flags)\n }else{\n data = prepare({string, repl})\n flags = pattern.flags\n pattern = pattern.$pattern\n }\n data = transform_repl(data, pattern)\n }else{\n if(pattern.__class__ != Pattern){\n data = prepare({pattern, string})\n pattern = compile(data.pattern, flags)\n }else{\n data = prepare({string})\n flags = pattern.flags\n pattern = pattern.$pattern\n }\n data.repl = repl\n }\n return subn(pattern, data.repl, data.string, count, flags)[0]\n },\n subn: function(){\n var $ = $B.args(\"sub\", 5,\n {pattern: null, repl: null, string: null, count: null, flags: null},\n ['pattern', 'repl', 'string', 'count', 'flags'],\n arguments, {count: 0, flags: no_flag}, null, null),\n pattern = $.pattern,\n repl = $.repl,\n string = $.string,\n count = $.count,\n flags = $.flags,\n data\n if(pattern.__class__ != Pattern){\n data = prepare({pattern, repl, string})\n }else{\n data = prepare({repl, string})\n data.pattern = pattern.$pattern\n }\n return $B.fast_tuple(subn(data.pattern, data.repl, data.string, count,\n flags))\n }\n\n}\n\nvar ASCII = module.A = module.ASCII = Flag.$factory(256)\nvar IGNORECASE = module.I = module.IGNORECASE = Flag.$factory(2)\nvar LOCALE = module.L = module.LOCALE = Flag.$factory(4)\nvar MULTILINE = module.M = module.MULTILINE = Flag.$factory(8)\nvar DOTALL = module.S = module.DOTALL = Flag.$factory(16)\nvar U = module.U = module.UNICODE = Flag.$factory(32)\nvar VERBOSE = module.X = module.VERBOSE = Flag.$factory(64)\nmodule.cache = cache\nmodule._compile = module.compile\n\n\nvar inline_flags = {\n i: IGNORECASE,\n L: LOCALE,\n m: MULTILINE,\n s: DOTALL,\n u: U,\n x: VERBOSE,\n a: ASCII\n}\n\nvar flag_names = {\n i: 'IGNORECASE',\n L: 'LOCALE',\n m: 'MULTILINE',\n s: 'DOTALL',\n u: 'U',\n x: 'VERBOSE',\n a: 'ASCII'\n}\n\n$B.addToImported('python_re', module)\n\n})(__BRYTHON__)"],unicodedata:[".js",'// Implementation of unicodedata\n(function($B){\n\n var _b_ = $B.builtins\n\n // Load unicode table if not already loaded\n if($B.unicodedb === undefined){\n var xhr = new XMLHttpRequest\n xhr.open("GET",\n $B.brython_path + "unicode.txt", false)\n xhr.onreadystatechange = function(){\n if(this.readyState == 4){\n if(this.status == 200){\n $B.unicodedb = this.responseText\n }else{\n console.log("Warning - could not " +\n "load unicode.txt")\n }\n }\n }\n xhr.send()\n }\n\n function _info(chr){\n var ord = _b_.ord(chr),\n hex = ord.toString(16).toUpperCase()\n while(hex.length < 4){hex = "0" + hex}\n var re = new RegExp("^" + hex +";(.+?);(.*?);(.*?);(.*?);(.*?);(.*);(.*);(.*)$",\n "m"),\n search = re.exec($B.unicodedb)\n if(search === null){\n return null\n }else{\n return {\n name: search[1],\n category: search[2],\n combining: search[3],\n bidirectional: search[4],\n decomposition: search[5],\n decimal: search[6],\n digit: search[7],\n numeric: search[8]\n }\n }\n }\n\n function bidirectional(chr){\n var search = _info(chr)\n if(search === null){\n console.log("error", chr, hex)\n throw _b_.KeyError.$factory(chr)\n }\n return search.bidirectional\n }\n\n function category(chr){\n // Returns the general category assigned to the character chr as\n // string.\n if(/\\p{Cn}/u.test(chr.charAt(0))){\n return "Cn"\n }\n var search = _info(chr)\n if(search === null){\n console.log("error", chr)\n throw _b_.KeyError.$factory(chr)\n }\n return search.category\n }\n\n function combining(chr){\n // Returns the general category assigned to the character chr as\n // string.\n var search = _info(chr)\n if(search === null){\n console.log("error", chr)\n throw _b_.KeyError.$factory(chr)\n }\n return parseInt(search.combining)\n }\n\n function decimal(chr, _default){\n // Returns the decimal value assigned to the character chr as integer.\n // If no such value is defined, default is returned, or, if not given,\n // ValueError is raised.\n var search = _info(chr)\n if(search === null){\n console.log("error", chr)\n throw _b_.KeyError.$factory(chr)\n }\n return parseInt(search.decimal)\n }\n\n function decomposition(chr, _default){\n // Returns the decimal value assigned to the character chr as integer.\n // If no such value is defined, default is returned, or, if not given,\n // ValueError is raised.\n var search = _info(chr)\n if(search === null){\n console.log("error", chr)\n throw _b_.KeyError.$factory(chr)\n }\n return search.decomposition\n }\n\n function digit(chr, _default){\n // Returns the decimal value assigned to the character chr as integer.\n // If no such value is defined, default is returned, or, if not given,\n // ValueError is raised.\n var search = _info(chr)\n if(search === null){\n console.log("error", chr)\n throw _b_.KeyError.$factory(chr)\n }\n return parseInt(search.digit)\n }\n\n function lookup(name){\n // Look up character by name. If a character with the given name is\n // found, return the corresponding character. If not found, KeyError\n // is raised.\n var re = new RegExp("^([0-9A-F]+);" +\n name + ";(.*)$", "m")\n search = re.exec($B.unicodedb)\n if(search === null){\n throw _b_.KeyError.$factory("undefined character name \'" +\n name + "\'")\n }\n var res = parseInt(search[1], 16)\n return _b_.chr(res)\n }\n\n function name(chr, _default){\n // Returns the name assigned to the character chr as a string. If no\n // name is defined, default is returned, or, if not given, ValueError\n // is raised.\n var search = _info(chr)\n if(search === null){\n if(_default){return _default}\n throw _b_.KeyError.$factory("undefined character name \'" +\n chr + "\'")\n }\n return search.name\n }\n\n function _norm(form, chr){\n var search = _info(chr)\n if(search === null){\n throw _b_.KeyError.$factory(chr)\n }\n switch(form){\n case "NFC":\n return chr\n case "NFD":\n var decomp = decomposition(chr),\n parts = decomp.split(" "),\n res = ""\n if(parts[0].startsWith("<")){\n return chr\n }\n parts.forEach(function(part){\n if(! part.startsWith("<")){\n res += _b_.chr(parseInt(part, 16))\n }\n })\n return res\n case "NFKC":\n var decomp = decomposition(chr),\n parts = decomp.split(" ")\n if(parts[0] == ""){\n var res = ""\n parts.slice(1).forEach(function(part){\n res += _b_.chr(parseInt(part, 16))\n })\n return res\n }\n return chr\n case "NFKD":\n var decomp = decomposition(chr),\n parts = decomp.split(" ")\n if(parts[0] == ""){\n var res = ""\n parts.slice(1).forEach(function(part){\n res += _b_.chr(parseInt(part, 16))\n })\n return res\n }\n return chr\n\n default:\n throw _b_.ValueError.$factory("invalid normalization form")\n }\n }\n\n function normalize(form, unistr){\n var res = ""\n for(var i = 0, len = unistr.length; i < len; i++){\n res += _norm(form, unistr.charAt(i))\n }\n return res\n }\n\n function numeric(chr, _default){\n // Returns the decimal value assigned to the character chr as integer.\n // If no such value is defined, default is returned, or, if not given,\n // ValueError is raised.\n var search = _info(chr)\n if(search === null){\n if(_default){return _default}\n throw _b_.KeyError.$factory(chr)\n }\n var parts = search.numeric.split(\'/\'),\n value\n if(parts.length == 1){\n value = parseFloat(search.numeric)\n }else{\n value = parseInt(parts[0]) / parseInt(parts[1])\n }\n return $B.fast_float(value)\n }\n\n var module = {\n bidirectional: bidirectional,\n category: category,\n combining: combining,\n decimal: decimal,\n decomposition: decomposition,\n digit: digit,\n lookup: lookup,\n name: name,\n normalize: normalize,\n numeric: numeric,\n unidata_version: "11.0.0"\n }\n module.ucd_3_2_0 = {}\n for(var key in module){\n if(key == "unidata_version"){\n module.ucd_3_2_0[key] = \'3.2.0\'\n }else{\n module.ucd_3_2_0[key] = module[key] // approximation...\n }\n }\n $B.addToImported(\'unicodedata\', module)\n\n})(__BRYTHON__)'],xml_helpers:[".js","var _b_ = $B.builtins\n\nvar FAIL = {FAIL: true}\nvar DONE = {DONE: true}\nvar END = {END: true}\n\nfunction is_id_start(char){\n return char !== END && char.match(/[a-zA-Z_]/)\n}\n\nfunction is_id_continue(char){\n return char !== END && (\".-:_\".includes(char) || char.match(/[a-zA-Z_0-9]/))\n}\n\nfunction is_space(char){\n return char !== END && ' \\t\\r\\n'.includes(char)\n}\n\nfunction is_num(char){\n return char !== END && char.match(/\\d/)\n}\n\nfunction is_char(char){\n return char !== END && ! '<&\"'.includes(char)\n}\n\nfunction get_top(element){\n while(element.origin){\n element = element.origin\n }\n return element\n}\n\nfunction get_pos(element){\n return get_top(element)._pos\n}\n\nfunction get_sub(element, start, end){\n return get_top(element)._buffer.substring(start, end)\n}\n\nfunction show_position(element, pos){\n var src = get_top(element)._buffer\n console.log(' ' + src)\n console.log(' ' + ' '.repeat(pos) + '^')\n}\n\nfunction reset_pos(element, pos){\n if(pos === undefined){\n throw Error('reset at undefined')\n }\n get_top(element)._pos = pos\n}\n\nfunction update_pos(element, pos){\n element.pos = pos\n}\n\nfunction show_path(rule){\n if(rule.constructor === undefined){\n console.log('rule', rule, 'no constructor')\n alert()\n }\n var name = rule.constructor.name\n if(name.endsWith('_rule')){\n name = name.substr(0, name.length - 5)\n }\n var t = [name + '@' + rule.pos]\n while(rule.origin){\n if(rule.origin.constructor === Object){\n break\n }\n name = rule.origin.constructor.name\n if(name.endsWith('_rule_')){\n name = name.substr(0, name.length - 5)\n }\n t.push(name + '@' + rule.origin.pos)\n rule = rule.origin\n }\n\n console.log('show path', t)\n}\n\nfunction set_expect(element, expect){\n var test = false // element.constructor.name == 'Attribute_rule' && expect == 1\n if(test){\n console.log('set expect of', element)\n console.log(` >>> set expect of ${element.constructor.name} to ${expect}`)\n alert()\n }\n element.expect = expect\n if(element.rules[expect]){\n var rule = element.rules[expect]\n rule.start = get_pos(element)\n }\n if(test){\n console.log(' !!! after set expect', element)\n alert()\n }\n}\n\nfunction read_char(element){\n var parser = get_top(element)\n return parser._buffer[parser._pos] || END\n}\n\nfunction raise_error_known_position(parser, message){\n var pos = parser._pos\n message += ' at position ' + pos\n var ix = pos\n while(ix >= 0 && parser._buffer[ix] !== '\\\\n'){\n ix--\n }\n message += '\\\\n' + parser._buffer.substring(ix, pos + 1)\n message += '\\\\n' + ' '.repeat(pos - ix - 1) + '^'\n throw Error(message)\n}\n\nfunction raise_error(element, char){\n var head = element\n while(head.origin){\n head = head.origin\n }\n console.log('head', head)\n var cls = element.constructor.name,\n message = cls + ' expected ' + element.expect +\n ', got: ' + char\n raise_error_known_position(head, message)\n}\n\nfunction get_string(rule){\n if(rule instanceof LITERAL){\n return rule.string\n }else if(rule instanceof Letter_rule ||\n rule instanceof CHARSET_rule){\n var s = get_sub(rule, rule.pos, rule.pos + 1)\n return s\n }\n if(rule.items === undefined){\n console.log('no items for rule', rule)\n }\n if(rule.constructor.name == 'element_rule'){\n console.log('get string of', rule)\n alert()\n }\n var s = ''\n for(var i = 0, len = rule.items.length; i < len; i++){\n var item = rule.items[i],\n last = item[item.length - 1]\n if(rule.result_store[i] === undefined){\n continue\n }\n if('?+*'.includes(last)){\n s += rule.result_store[i].join('')\n }else{\n s += rule.result_store[i]\n }\n }\n return s\n}\n\nfunction get_value(rule){\n // get string value for rule\n if(rule === undefined){\n console.log(Error().stack)\n }\n var res = ''\n if(rule.value){\n return rule.value\n }else if(rule.alt && rule.selected_rule){\n if(false){ //get_parent(rule, tmp_7_rule)){\n console.log('get_value, selected rule', rule.selected_rule)\n }\n return get_value(rule.selected_rule)\n }else{\n for(var rank in rule.result_store){\n var rules = rule.result_store[rank]\n if(Array.isArray(rules)){\n res += rules.map(get_value).join('')\n }else{\n res += get_value(rules)\n }\n }\n }\n return res\n}\n\nfunction get_rank(rule){\n return parseInt(Object.keys(rule.result_store)[0])\n}\n\nfunction get_parent(rule, type){\n var parent = rule.origin\n while(parent){\n if(parent instanceof type){\n return parent\n }\n parent = parent.origin\n }\n return null\n}\n\nfunction get_doctype_info(rule){\n console.log('get doctype info', rule)\n var systemId = _b_.None,\n publicId = _b_.None\n if(get_value(rule.rules[3])){\n ext_id = external_id(rule.rules[3].rules[1])\n console.log('ext_id 259', ext_id)\n systemId = ext_id.systemId\n publicId = ext_id.publicId\n }\n var name = get_value(rule.rules[2])\n return {name, systemId, publicId}\n}\n\nfunction external_id(ext_id){\n var ext_id_value = get_value(ext_id),\n systemId = _b_.None,\n publicId = _b_.None\n if(ext_id_value){\n switch(ext_id.selected_option){\n case 0:\n systemId = get_value(ext_id.selected_rule.rules[2])\n systemId = systemId.substr(1, systemId.length - 2)\n break\n case 1:\n publicId = get_value(ext_id.selected_rule.rules[2])\n systemId = get_value(ext_id.selected_rule.rules[4])\n publicId = publicId.substr(1, publicId.length - 2)\n systemId = systemId.substr(1, systemId.length - 2)\n break\n }\n }\n return {publicId, systemId}\n}\n\nfunction fromCharRef(v){\n if(v.startsWith('&#x')){\n v = String.fromCodePoint(parseInt(v.substr(3)))\n }else if(v.startsWith('&#')){\n v = String.fromCodePoint(parseInt(v.substr(2)))\n }\n return v\n}\n\nvar handler = {\n AttDef: function(parser, rule){\n // S Name S AttType S DefaultDecl\n var defaultdecl = rule.rules[5],\n def_value = _b_.None,\n required = 0\n switch(defaultdecl.selected_option){\n case 0:\n required = true\n break\n case 2:\n def_value = get_value(defaultdecl.rules[2].rules[1])\n break\n }\n var res = {\n elname: get_value(rule.origin.rules[2]),\n attname: get_value(rule.rules[1]),\n type: get_value(rule.rules[3]),\n default: def_value,\n required\n }\n var f = $B.$getattr(parser, \"AttlistDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(res.elname, res.attname, res.type, res.default, res.required)\n }\n return res\n },\n CData: function(parser, rule){\n var f = $B.$getattr(parser, \"StartCdataSectionHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n var chardata = get_value(rule)\n var f = $B.$getattr(parser, \"CharacterDataHandler\", null)\n if(f !== null){\n $B.$call(f)(chardata)\n }\n var f = $B.$getattr(parser, \"EndCdataSectionHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n return {value: get_value(rule)}\n },\n CharData: function(parser, rule){\n console.log('chardata', rule)\n var value = get_value(rule)\n var f = $B.$getattr(parser, \"CharacterDataHandler\", null)\n if(f !== null){\n $B.$call(f)(value)\n }\n return {value: get_value(rule)}\n },\n Comment: function(parser, rule){\n console.log('comment', rule)\n var value = get_value(rule.rules[1])\n var f = $B.$getattr(parser, \"CommentHandler\", null)\n if(f !== null){\n $B.$call(f)(value)\n }\n return {value}\n },\n doctypedecl: function(parser, rule){\n console.log('doctype', rule, 'ext id', get_value(rule.rules[3]))\n if(! rule.start_done){\n // if doctype has no intSubset\n var info = get_doctype_info(rule)\n var f = $B.$getattr(parser, \"StartDoctypeDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(info.name, info.systemId, info.publicId, false)\n }\n }\n if(rule.hasExternal && parser.standalone == 0){\n var f = $B.$getattr(parser, \"NotStandaloneHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n }\n var f = $B.$getattr(parser, \"EndDoctypeDeclHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n\n },\n elementdecl: function(parser, rule){\n console.log('element decl', rule)\n var name = get_value(rule.rules[2]),\n model = get_value(rule.rules[4])\n switch(model){\n case 'ANY':\n model = $B.fast_tuple([models.XML_CTYPE_ANY, 0, _b_.None, $B.fast_tuple([])])\n break\n }\n var f = $B.$getattr(parser, \"ElementDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(name, model)\n }\n\n return {name, model}\n },\n ETag: function(parser, rule){\n var name = get_value(rule.rules[1]),\n is_ns_decl\n if(parser.namespaces && parser.namespaces.hasOwnProperty(name)){\n var ns_name = name.split(':')[0]\n is_ns_decl = true\n name = parser.namespaces[name]\n }\n var f = $B.$getattr(parser, \"EndElementHandler\", null)\n if(f !== null){\n $B.$call(f)(name)\n }\n if(is_ns_decl){\n var f = $B.$getattr(parser, \"EndNamespaceDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(ns_name)\n }\n }\n return {name: get_value(rule.rules[1])}\n },\n ExternalID: function(parser, rule){\n var doctype = get_parent(rule, doctypedecl_rule)\n doctype.hasExternal = true\n },\n GEDecl: function(parser, rule){\n // ''\n var entitydef = rule.rules[4],\n value = _b_.None,\n base = _b_.None,\n systemId = _b_.None,\n publicId = _b_.None,\n notationName = _b_.None\n // EntityValue | (ExternalID NDataDecl?)\n switch(entitydef.selected_option){\n case 0:\n // EntityValue ::= '\"' ([^%&\"] | PEReference | Reference)* '\"'\n // | \"'\" ([^%&'] | PEReference | Reference)* \"'\"\n var entity_value = entitydef.selected_rule.selected_rule\n console.log('entity value', entity_value)\n var value = ''\n for(var item of entity_value.result_store[1]){\n var v = get_value(entity_value.result_store[1][0])\n value += fromCharRef(v)\n }\n console.log('value', v)\n break\n case 1:\n var ext_id = external_id(entitydef.selected_rule.rules[0])\n systemId = ext_id.systemId\n publicId = ext_id.publicId\n if(entitydef.selected_rule.result_store[1]){\n // NDataDecl ::= S 'NDATA' S Name\n notationName = get_value(entitydef.selected_rule.rules[1].rules[3])\n }\n }\n // EntityDeclHandler(entityName, is_parameter_entity, value, base, systemId, publicId, notationName)\n var res = {\n name: get_value(rule.rules[2]),\n is_parameter_entity: 0,\n value,\n systemId,\n publicId,\n notationName\n }\n var unparsed_handled\n if(res.name == \"unparsed_entity\"){\n var f = $B.$getattr(parser, \"UnparsedEntityDeclHandler\", null)\n if(f !== null){\n unparsed_handled = true\n $B.$call(f)(res.name, base,\n res.systemId, res.publicId, res.notationName)\n }\n }\n if(! unparsed_handled){\n var f = $B.$getattr(parser, \"EntityDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(res.name, res.is_parameter_entity, res.value, base,\n res.systemId, res.publicId, res.notationName)\n }\n }\n return res\n },\n start_intSubset: function(parser, rule){\n // Found when starting an internal subset inside a doctype declaration\n // Used to call StartDoctypeHandler with has_internal_subset set\n var doctype_decl = get_parent(rule, doctypedecl_rule),\n info = get_doctype_info(doctype_decl)\n if(doctype_decl.hasExternal && ! parser.standalone){\n var f = $B.$getattr(parser, \"NotStandaloneHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n }\n doctype_decl.start_done = true\n delete doctype_decl.sentNotStandalone\n var f = $B.$getattr(parser, \"StartDoctypeDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(info.name, info.systemId, info.publicId, true)\n }\n\n },\n NotationDecl: function(parser, rule){\n // ''\n var base = _b_.None,\n systemId = _b_.None,\n publicId = _b_.None,\n ext_or_public = rule.rules[4]\n\n switch(ext_or_public.selected_option){\n case 0:\n var ext_id = external_id(ext_or_public.selected_rule)\n systemId = ext_id.systemId\n publicId = ext_id.publicId\n break\n case 1:\n publicId = get_value(ext_or_public.selected_rule.rules[2])\n break\n }\n var res = {\n name: get_value(rule.rules[2]),\n base,\n systemId,\n publicId\n }\n var f = $B.$getattr(parser, \"NotationDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(res.name, res.base, res.systemId, res.publicId)\n }\n\n return res\n },\n PI: function(parser, rule){\n console.log('PI', rule)\n var name = get_value(rule.rules[1].rules[0]),\n attrs = get_value(rule.rules[2]).trimLeft()\n var f = $B.$getattr(parser, \"ProcessingInstructionHandler\", null)\n if(f !== null){\n $B.$call(f)(name, attrs)\n }\n return {name, attrs}\n },\n STag: function(parser, rule){\n var name = get_value(rule.rules[1])\n var attrs = rule.result_store[2],\n attr_result = $B.empty_dict()\n if(attrs){\n for(var attr of attrs){\n var attr_value_store = attr.result_store[1].result_store[2].selected_rule.result_store[1],\n attr_value = ''\n for(var item of attr_value_store){\n var v = get_value(item)\n attr_value += fromCharRef(v)\n }\n var attr_name = get_value(attr.result_store[1].result_store[0])\n if(attr_name.startsWith('xmlns:')){\n var prefix = attr_name.substr(6),\n uri = attr_value\n var name1 = uri + '!' + name.split(':')[1]\n parser.namespaces = parser.namespaces ?? {}\n parser.namespaces[name] = name1\n name = name1\n var f = $B.$getattr(parser, \"StartNamespaceDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(prefix, uri)\n }\n }else{\n _b_.dict.$setitem(attr_result, attr_name, attr_value)\n }\n }\n }\n var f = $B.$getattr(parser, \"StartElementHandler\", null)\n if(f !== null){\n $B.$call(f)(name, attr_result)\n }\n return {name, attr_result}\n },\n XMLDecl: function(parser, rule){\n // ''\n var encoding,\n standalone = -1\n if(rule.result_store[2]){\n // S 'encoding' Eq ('\"' EncName '\"' | \"'\" EncName \"'\" )\n encoding = get_value(rule.rules[2].rules[3].selected_rule.rules[1])\n }\n if(rule.result_store[3]){\n // S 'standalone' Eq ((\"'\" ('yes' | 'no') \"'\") | ('\"' ('yes' | 'no') '\"'))\n sddecl = rule.rules[3]\n standalone = get_value(sddecl.rules[3].selected_rule.rules[1])\n standalone = standalone == 'yes' ? 1 : 0\n }\n parser.standalone = standalone // used for NotStandaloneHandler\n var attr_result = $B.empty_dict(),\n attrs = {\n version: get_value(rule.rules[1].rules[3].selected_rule.rules[1]),\n encoding,\n standalone\n }\n for(var attr in attrs){\n _b_.dict.$setitem(attr_result, attr, attrs[attr])\n }\n var f = $B.$getattr(parser, \"XmlDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(attrs.version, attrs.encoding, attrs.standalone)\n }\n return {name, attr_result}\n }\n}\n\n\nfunction emit(rule){\n // called when a rule is done\n var rname = rule.constructor.name\n rname = rname.substr(0, rname.length - 5)\n if(handler[rname]){\n var parser = get_top(rule)\n // console.log('emit', rname)\n handler[rname](parser, rule)\n }\n}\n\nfunction handle_simple(element, next_if_ok, rule, char){\n if(char === FAIL){\n if(typeof element.origin.feed !== 'function'){\n console.log('not a func', element)\n }\n return element.origin.feed(FAIL)\n }else if(char === DONE){\n element.result_store[element.expect] = rule // get_sub(rule, rule.pos, get_pos(rule)) // get_string(rule)\n var test = (rule.constructor.name == 'element_rule' ||\n rule.constructor.name == 'Attribute_rule')\n rule.reset()\n emit(rule)\n set_expect(element, next_if_ok)\n return element.feed(read_char(element))\n }else if(char === END){\n set_expect(element, next_if_ok)\n return element\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_plus(element, rank, next_if_ok, rule, char){\n if(char === FAIL){\n if(element.repeats[rank] == 0){\n reset_pos(element, rule.pos)\n return element.origin.feed(FAIL)\n }\n set_expect(element, next_if_ok)\n reset_pos(element, rule.pos)\n rule.reset()\n return element.feed(read_char(element))\n }else if(char === DONE){\n element.result_store[rank] = element.result_store[rank] || []\n element.result_store[rank].push(rule)\n element.repeats[rank] += 1\n update_pos(element, get_pos(element))\n //rule.reset()\n emit(rule)\n set_expect(element, next_if_ok)\n delete element.rules[rank]\n return element.feed(read_char(element))\n }else if(char === END){\n set_expect(element, next_if_ok)\n return element.feed(char)\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_star(element, rank, next_if_ok, rule, char){\n var test = false // rule instanceof tmp_6_rule\n if(test){\n console.log('HANDLE STAR', rule, 'char', char)\n }\n if(char === FAIL){\n set_expect(element, next_if_ok)\n reset_pos(element, rule.pos)\n rule.reset()\n return element.feed(read_char(element))\n }else if(char === DONE){\n if(test){\n console.log(rule, 'DONE')\n }\n if(rule.alt){\n element.selected_option = element.expect\n element.selected_rule = rule\n }\n element.result_store[rank] = element.result_store[rank] || []\n element.result_store[rank].push(rule)\n element.repeats[rank] += 1\n update_pos(element, get_pos(element))\n //rule.reset()\n emit(rule)\n delete element.rules[rank]\n return element.feed(read_char(element))\n }else if(char === END){\n set_expect(element, next_if_ok)\n return element.feed(char)\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_zero_or_one(element, rank, next_if_ok, rule, char){\n if(char === FAIL){\n set_expect(element, next_if_ok)\n reset_pos(element, rule.pos)\n rule.reset()\n return element.feed(read_char(element))\n }else if(char === DONE){\n element.result_store[rank] = element.result_store[rank] || []\n element.result_store[rank].push(rule)\n element.repeats[rank] += 1\n update_pos(element, get_pos(element))\n emit(rule)\n rule.reset()\n set_expect(element, next_if_ok)\n return element.feed(read_char(element))\n }else if(char === END){\n set_expect(element, next_if_ok)\n return element.feed(char)\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_alt(element, alt_index, rule, char){\n if(char === FAIL){\n set_expect(element, alt_index)\n reset_pos(element, element.pos)\n return element.origin.feed(read_char(element))\n }else if(char === DONE){\n if(['AttValue_rule'].includes(rule.constructor.name)){\n console.log('DONE', rule.constructor.name, get_sub(rule, rule.pos, get_pos(rule)))\n console.log(' ', rule)\n alert()\n }\n element.selected_option = element.expect\n element.selected_rule = rule\n element.result_store[element.expect] = rule\n emit(rule)\n rule.reset()\n return element.origin.feed(char)\n }else if(char === END){\n set_expect(element, -1)\n return element\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_last(element, rule, char){\n var test = false // element instanceof tmp_6_rule\n if(test){\n console.log('handle_last', rule, char)\n alert()\n }\n if(char === FAIL){\n return element.origin.feed(FAIL)\n }else if(char === DONE){\n element.result_store[element.expect] = rule\n if(element.alt){\n element.selected_option = element.expect\n element.selected_rule = rule\n if(test){\n console.log('set selected', element)\n console.log('value', get_value(rule))\n element.coucou = 'ici'\n alert()\n }\n }\n emit(rule)\n rule.reset()\n set_expect(element, -1)\n if(test){\n console.log('return control to element', element)\n alert()\n }\n return element.feed(char)\n }else if(char === END){\n set_expect(element, -1)\n return element\n }else{\n return rule.feed(char)\n }\n}\n\nfunction expect_literal(element, literal, char){\n if(! element.hasOwnProperty('expected_pos')){\n element.expected_pos = 0\n }\n if(literal[element.expected_pos] == char){\n element.expected_pos++\n if(element.expected_pos == literal.length){\n delete element.expected_pos\n return {value: literal}\n }else{\n return {value: null}\n }\n }\n return FAIL\n}\n\nfunction LITERAL(origin, string, next_if_ok, args){\n this.origin = origin\n this.string = string\n this.next_if_ok = next_if_ok\n this.args = args\n this.pos = get_pos(this)\n this.str_pos = 0\n}\n\nLITERAL.prototype.reset = function(){\n this.str_pos = 0\n}\n\nLITERAL.prototype.feed = function(char){\n //console.log('LITERAL', this.string, 'expects', this.string[this.str_pos], 'char', char)\n if(this.string == ''){\n console.log('LITERAL feed', this.string, char, this.str_pos)\n }\n if(this.str_pos == this.string.length){\n this.value = this.string\n return this.origin.feed(DONE)\n }\n if(char == this.string[this.str_pos]){\n this.str_pos++\n return this\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction NAME_rule(origin, next_if_ok){\n this.origin = origin\n this.rank = this.origin.expect\n this.next_if_ok = next_if_ok\n this.value = ''\n this.pos = get_pos(this)\n}\n\nNAME_rule.prototype.reset = function(){\n this.value = ''\n}\n\nNAME_rule.prototype.feed = function(char){\n console.log('NAME_rule, value', this.value, 'char', char)\n if(this.value == ''){\n if(is_id_start(char)){\n this.value = char\n }else{\n return this.origin.feed(FAIL)\n }\n }else if(is_id_continue(char)){\n this.value += char\n }else{\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction NUMBER_rule(origin, next_if_ok, args){\n this.origin = origin\n this.rank = this.origin.expect\n this.next_if_ok = next_if_ok\n this.args = args\n this.pos = get_pos(this)\n this.value = ''\n}\n\nNUMBER_rule.prototype.reset = function(){\n this.value = ''\n}\n\nNUMBER_rule.prototype.feed = function(char){\n if(this.value == ''){\n if(is_num(char)){\n this.value = char\n }else if(this.args.next_if_fail !== undefined){\n this.origin.expect = this.args.next_if_fail\n return this.origin.feed(char)\n }else{\n return FAIL\n }\n }else if(is_num(char)){\n this.value += char\n }else{\n this.origin.expect = this.next_if_ok\n this.origin.store_result(this)\n return this.origin.feed(char)\n }\n return this\n}\n\nfunction start_intSubset_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.rank = this.origin.expect\n this.value = ''\n}\n\nstart_intSubset_rule.prototype.feed = function(char){\n // always succeeds\n return this.origin.feed(DONE)\n}\n\nstart_intSubset_rule.prototype.reset = function(){\n // ignore\n}\n\nfunction S_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.rank = this.origin.expect\n this.value = ''\n}\n\nS_rule.prototype.reset = function(){\n this.value = ''\n}\n\nS_rule.prototype.feed = function(char){\n if(is_space(char)){\n this.value += char\n return this\n }else if(this.value.length > 0){\n return this.origin.feed(DONE)\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction CHAR_rule(origin, next_if_ok, args){\n this.origin = origin\n this.next_if_ok = next_if_ok\n this.args = args\n}\n\nCHAR_rule.prototype.feed = function(char){\n if(is_char(char)){\n this.value = char\n return this.origin\n }else{\n return FAIL\n }\n}\n\nvar hex_range_re = /^#x([a-fA-F0-9]+)-#x([a-fA-F0-9]+)$/\nvar charset_range_re = /(\\w)-(\\w)/g\n\n\nfunction CHARSET_rule(origin, charset, next_if_ok){\n this.origin = origin\n this.charset = charset\n this.next_if_ok = next_if_ok\n this.pos = get_pos(origin)\n this.value = ''\n var negative = charset.startsWith('^'),\n body = negative ? charset.substr(1) : charset\n\n var mo = body.match(hex_range_re)\n if(mo){\n var left = parseInt(`0x${mo[1]}`, 16),\n right = parseInt(`0x${mo[2]}`, 16)\n if(negative){\n this.test = function(char){\n var cp = char.charCodeAt(0)\n return (cp < left) || (cp > right)\n }\n }else{\n this.test = function(char){\n var cp = char.charCodeAt(0)\n return (cp >= left) && (cp <= right)\n }\n }\n return\n }\n\n var ranges = []\n for(var mo of body.matchAll(charset_range_re)){\n ranges.push(mo.slice(1))\n }\n if(ranges.length > 0){\n if(negative){\n this.test = function(char){\n for(var range of ranges){\n if(char >= range[0] && char <= range[1]){\n return false\n }\n }\n return true\n }\n }else{\n this.test = function(char){\n for(var range of ranges){\n if(char >= range[0] && char <= range[1]){\n return true\n }\n }\n return false\n }\n }\n return\n }\n\n if(charset.startsWith('^')){\n this.test = char => ! charset.substr(1).includes(char)\n }else{\n this.test = char => charset.includes(char)\n }\n}\n\nCHARSET_rule.prototype.reset = function(){\n delete this.done\n}\n\nCHARSET_rule.prototype.feed = function(char){\n if(char !== END && this.test(char)){\n this.value += char\n return this\n }else if(this.value.length > 0){\n return this.origin.feed(DONE)\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction BaseChar_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n}\n\nBaseChar_rule.prototype.reset = function(){\n delete this.done\n}\n\nBaseChar_rule.prototype.feed = function(char){\n //console.log('BaseChar_rule, char', char, 'this.done', this.done)\n if(this.done){\n return this.origin.feed(DONE)\n }else if(/\\p{L}/u.exec(char)){\n this.done = true\n return this\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction Letter_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n}\n\nLetter_rule.prototype.reset = function(){\n delete this.done\n}\n\nLetter_rule.prototype.feed = function(char){\n if(this.done){\n return this.origin.feed(DONE)\n }else if(/\\p{L}/u.exec(char)){\n this.done = true\n this.value = char\n return this\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction NameChar_rule(origin){\n this.origin = origin\n this.rank = origin.expect\n this.value = ''\n var result_store = this.origin.result_store\n result_store[this.rank] = result_store[this.rank] ?? []\n this.pos = get_pos(origin)\n}\n\nNameChar_rule.prototype.reset = function(){\n delete this.done\n}\n\nNameChar_rule.prototype.feed = function(char){\n if(this.done){\n return this.origin.feed(DONE)\n }else if(is_id_continue(char)){\n this.value += char\n return this\n }else{\n if(this.value == ''){\n return this.origin.feed(FAIL)\n }\n return this.origin.feed(DONE)\n }\n}\n\nfunction PIText_rule(origin){\n this.origin = origin\n this.value = ''\n this.pos = get_pos(origin)\n}\n\nPIText_rule.prototype.reset = function(){}\n\nPIText_rule.prototype.feed = function(char){\n if(char === END){\n return this.origin.feed(FAIL)\n }\n this.value += char\n if(this.value.endsWith('?>')){\n reset_pos(this, get_pos(this) - 1)\n this.value = this.value.substr(0, this.value.length - 2)\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction CommentText_rule(origin){\n this.origin = origin\n this.value = ''\n this.pos = get_pos(origin)\n}\n\nCommentText_rule.prototype.reset = function(){}\n\nCommentText_rule.prototype.feed = function(char){\n if(char === END){\n return this.origin.feed(FAIL)\n }\n this.value += char\n if(this.value.endsWith('--\x3e')){\n reset_pos(this, get_pos(this) - 2)\n this.value = this.value.substr(0, this.value.length - 3)\n if(this.value.endsWith('-')){\n return this.origin.feed(FAIL)\n }\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction CharData_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n this.value = ''\n}\n\nCharData_rule.prototype.reset = function(){}\n\nCharData_rule.prototype.feed = function(char){\n // [^<&]* - ([^<&]* ']]>' [^<&]*)\n if(char === END){\n return this.origin.feed(FAIL)\n }\n if('<&'.includes(char)){\n return this.origin.feed(DONE)\n }\n this.value += char\n if(this.value.endsWith(']]>')){\n reset_pos(this, get_pos(this) - 2)\n this.value = this.value.substr(0, this.value.length - 3)\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction CData_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n this.value = ''\n}\n\nCData_rule.prototype.reset = function(){}\n\nCData_rule.prototype.feed = function(char){\n // (Char* - (Char* ']]>' Char*))\n if(char === END){\n return this.origin.feed(FAIL)\n }\n this.value += char\n if(this.value.endsWith(']]>')){\n reset_pos(this, get_pos(this) - 2)\n this.value = this.value.substr(0, this.value.length - 3)\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction Ignore_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n this.value = ''\n}\n\nIgnore_rule.prototype.reset = function(){}\n\nIgnore_rule.prototype.feed = function(char){\n // Char* - (Char* ('') Char*)\n if(char === END){\n return this.origin.feed(FAIL)\n }\n this.value += char\n if(this.value.endsWith('')){\n reset_pos(this, get_pos(this) - 2)\n this.value = this.value.substr(0, this.value.length - 3)\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction PITarget_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Name\n this.items = ['Name', 'tmp_21']\n this.rules = []\n this.repeats = []\n}\n\nPITarget_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Name\n if(! this.rules[0]){\n this.rules[0] = new Name_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case 1: // tmp_21\n if(! this.rules[1]){\n this.rules[1] = new tmp_21_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n var value = get_value(this)\n if(value.toLowerCase() == 'xml'){\n return this.origin.feed(FAIL)\n }\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPITarget_rule.prototype.reset = function(){\n this.expect = 0\n}\n"],xml_parser:[".js","(function($B){\nvar _b_ = $B.builtins\n\nvar FAIL = {FAIL: true}\nvar DONE = {DONE: true}\nvar END = {END: true}\n\nfunction is_id_start(char){\n return char !== END && char.match(/[a-zA-Z_]/)\n}\n\nfunction is_id_continue(char){\n return char !== END && (\".-:_\".includes(char) || char.match(/[a-zA-Z_0-9]/))\n}\n\nfunction is_space(char){\n return char !== END && ' \\t\\r\\n'.includes(char)\n}\n\nfunction is_num(char){\n return char !== END && char.match(/\\d/)\n}\n\nfunction is_char(char){\n return char !== END && ! '<&\"'.includes(char)\n}\n\nfunction get_top(element){\n while(element.origin){\n element = element.origin\n }\n return element\n}\n\nfunction get_pos(element){\n return get_top(element)._pos\n}\n\nfunction get_sub(element, start, end){\n return get_top(element)._buffer.substring(start, end)\n}\n\nfunction show_position(element, pos){\n var src = get_top(element)._buffer\n console.log(' ' + src)\n console.log(' ' + ' '.repeat(pos) + '^')\n}\n\nfunction reset_pos(element, pos){\n if(pos === undefined){\n throw Error('reset at undefined')\n }\n get_top(element)._pos = pos\n}\n\nfunction update_pos(element, pos){\n element.pos = pos\n}\n\nfunction show_path(rule){\n if(rule.constructor === undefined){\n console.log('rule', rule, 'no constructor')\n alert()\n }\n var name = rule.constructor.name\n if(name.endsWith('_rule')){\n name = name.substr(0, name.length - 5)\n }\n var t = [name + '@' + rule.pos]\n while(rule.origin){\n if(rule.origin.constructor === Object){\n break\n }\n name = rule.origin.constructor.name\n if(name.endsWith('_rule_')){\n name = name.substr(0, name.length - 5)\n }\n t.push(name + '@' + rule.origin.pos)\n rule = rule.origin\n }\n\n console.log('show path', t)\n}\n\nfunction set_expect(element, expect){\n var test = false // element.constructor.name == 'Attribute_rule' && expect == 1\n if(test){\n console.log('set expect of', element)\n console.log(` >>> set expect of ${element.constructor.name} to ${expect}`)\n alert()\n }\n element.expect = expect\n if(element.rules[expect]){\n var rule = element.rules[expect]\n rule.start = get_pos(element)\n }\n if(test){\n console.log(' !!! after set expect', element)\n alert()\n }\n}\n\nfunction read_char(element){\n var parser = get_top(element)\n return parser._buffer[parser._pos] || END\n}\n\nfunction raise_error_known_position(parser, message){\n var pos = parser._pos\n message += ' at position ' + pos\n var ix = pos\n while(ix >= 0 && parser._buffer[ix] !== '\\\\n'){\n ix--\n }\n message += '\\\\n' + parser._buffer.substring(ix, pos + 1)\n message += '\\\\n' + ' '.repeat(pos - ix - 1) + '^'\n throw Error(message)\n}\n\nfunction raise_error(element, char){\n var head = element\n while(head.origin){\n head = head.origin\n }\n console.log('head', head)\n var cls = element.constructor.name,\n message = cls + ' expected ' + element.expect +\n ', got: ' + char\n raise_error_known_position(head, message)\n}\n\nfunction get_string(rule){\n if(rule instanceof LITERAL){\n return rule.string\n }else if(rule instanceof Letter_rule ||\n rule instanceof CHARSET_rule){\n var s = get_sub(rule, rule.pos, rule.pos + 1)\n return s\n }\n if(rule.items === undefined){\n console.log('no items for rule', rule)\n }\n if(rule.constructor.name == 'element_rule'){\n console.log('get string of', rule)\n alert()\n }\n var s = ''\n for(var i = 0, len = rule.items.length; i < len; i++){\n var item = rule.items[i],\n last = item[item.length - 1]\n if(rule.result_store[i] === undefined){\n continue\n }\n if('?+*'.includes(last)){\n s += rule.result_store[i].join('')\n }else{\n s += rule.result_store[i]\n }\n }\n return s\n}\n\nfunction get_value(rule){\n // get string value for rule\n if(rule === undefined){\n console.log(Error().stack)\n }\n var res = ''\n if(rule.value){\n return rule.value\n }else if(rule.alt && rule.selected_rule){\n if(false){ //get_parent(rule, tmp_7_rule)){\n console.log('get_value, selected rule', rule.selected_rule)\n }\n return get_value(rule.selected_rule)\n }else{\n for(var rank in rule.result_store){\n var rules = rule.result_store[rank]\n if(Array.isArray(rules)){\n res += rules.map(get_value).join('')\n }else{\n res += get_value(rules)\n }\n }\n }\n return res\n}\n\nfunction get_rank(rule){\n return parseInt(Object.keys(rule.result_store)[0])\n}\n\nfunction get_parent(rule, type){\n var parent = rule.origin\n while(parent){\n if(parent instanceof type){\n return parent\n }\n parent = parent.origin\n }\n return null\n}\n\nfunction get_doctype_info(rule){\n console.log('get doctype info', rule)\n var systemId = _b_.None,\n publicId = _b_.None\n if(get_value(rule.rules[3])){\n ext_id = external_id(rule.rules[3].rules[1])\n console.log('ext_id 259', ext_id)\n systemId = ext_id.systemId\n publicId = ext_id.publicId\n }\n var name = get_value(rule.rules[2])\n return {name, systemId, publicId}\n}\n\nfunction external_id(ext_id){\n var ext_id_value = get_value(ext_id),\n systemId = _b_.None,\n publicId = _b_.None\n if(ext_id_value){\n switch(ext_id.selected_option){\n case 0:\n systemId = get_value(ext_id.selected_rule.rules[2])\n systemId = systemId.substr(1, systemId.length - 2)\n break\n case 1:\n publicId = get_value(ext_id.selected_rule.rules[2])\n systemId = get_value(ext_id.selected_rule.rules[4])\n publicId = publicId.substr(1, publicId.length - 2)\n systemId = systemId.substr(1, systemId.length - 2)\n break\n }\n }\n return {publicId, systemId}\n}\n\nfunction fromCharRef(v){\n if(v.startsWith('&#x')){\n v = String.fromCodePoint(parseInt(v.substr(3)))\n }else if(v.startsWith('&#')){\n v = String.fromCodePoint(parseInt(v.substr(2)))\n }\n return v\n}\n\nvar handler = {\n AttDef: function(parser, rule){\n // S Name S AttType S DefaultDecl\n var defaultdecl = rule.rules[5],\n def_value = _b_.None,\n required = 0\n switch(defaultdecl.selected_option){\n case 0:\n required = true\n break\n case 2:\n def_value = get_value(defaultdecl.rules[2].rules[1])\n break\n }\n var res = {\n elname: get_value(rule.origin.rules[2]),\n attname: get_value(rule.rules[1]),\n type: get_value(rule.rules[3]),\n default: def_value,\n required\n }\n var f = $B.$getattr(parser, \"AttlistDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(res.elname, res.attname, res.type, res.default, res.required)\n }\n return res\n },\n CData: function(parser, rule){\n var f = $B.$getattr(parser, \"StartCdataSectionHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n var chardata = get_value(rule)\n var f = $B.$getattr(parser, \"CharacterDataHandler\", null)\n if(f !== null){\n $B.$call(f)(chardata)\n }\n var f = $B.$getattr(parser, \"EndCdataSectionHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n return {value: get_value(rule)}\n },\n CharData: function(parser, rule){\n console.log('chardata', rule)\n var value = get_value(rule)\n var f = $B.$getattr(parser, \"CharacterDataHandler\", null)\n if(f !== null){\n $B.$call(f)(value)\n }\n return {value: get_value(rule)}\n },\n Comment: function(parser, rule){\n console.log('comment', rule)\n var value = get_value(rule.rules[1])\n var f = $B.$getattr(parser, \"CommentHandler\", null)\n if(f !== null){\n $B.$call(f)(value)\n }\n return {value}\n },\n doctypedecl: function(parser, rule){\n console.log('doctype', rule, 'ext id', get_value(rule.rules[3]))\n if(! rule.start_done){\n // if doctype has no intSubset\n var info = get_doctype_info(rule)\n var f = $B.$getattr(parser, \"StartDoctypeDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(info.name, info.systemId, info.publicId, false)\n }\n }\n if(rule.hasExternal && parser.standalone == 0){\n var f = $B.$getattr(parser, \"NotStandaloneHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n }\n var f = $B.$getattr(parser, \"EndDoctypeDeclHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n\n },\n elementdecl: function(parser, rule){\n console.log('element decl', rule)\n var name = get_value(rule.rules[2]),\n model = get_value(rule.rules[4])\n switch(model){\n case 'ANY':\n model = $B.fast_tuple([models.XML_CTYPE_ANY, 0, _b_.None, $B.fast_tuple([])])\n break\n }\n var f = $B.$getattr(parser, \"ElementDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(name, model)\n }\n\n return {name, model}\n },\n ETag: function(parser, rule){\n var name = get_value(rule.rules[1]),\n is_ns_decl\n if(parser.namespaces && parser.namespaces.hasOwnProperty(name)){\n var ns_name = name.split(':')[0]\n is_ns_decl = true\n name = parser.namespaces[name]\n }\n var f = $B.$getattr(parser, \"EndElementHandler\", null)\n if(f !== null){\n $B.$call(f)(name)\n }\n if(is_ns_decl){\n var f = $B.$getattr(parser, \"EndNamespaceDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(ns_name)\n }\n }\n return {name: get_value(rule.rules[1])}\n },\n ExternalID: function(parser, rule){\n var doctype = get_parent(rule, doctypedecl_rule)\n doctype.hasExternal = true\n },\n GEDecl: function(parser, rule){\n // ''\n var entitydef = rule.rules[4],\n value = _b_.None,\n base = _b_.None,\n systemId = _b_.None,\n publicId = _b_.None,\n notationName = _b_.None\n // EntityValue | (ExternalID NDataDecl?)\n switch(entitydef.selected_option){\n case 0:\n // EntityValue ::= '\"' ([^%&\"] | PEReference | Reference)* '\"'\n // | \"'\" ([^%&'] | PEReference | Reference)* \"'\"\n var entity_value = entitydef.selected_rule.selected_rule\n console.log('entity value', entity_value)\n var value = ''\n for(var item of entity_value.result_store[1]){\n var v = get_value(entity_value.result_store[1][0])\n value += fromCharRef(v)\n }\n console.log('value', v)\n break\n case 1:\n var ext_id = external_id(entitydef.selected_rule.rules[0])\n systemId = ext_id.systemId\n publicId = ext_id.publicId\n if(entitydef.selected_rule.result_store[1]){\n // NDataDecl ::= S 'NDATA' S Name\n notationName = get_value(entitydef.selected_rule.rules[1].rules[3])\n }\n }\n // EntityDeclHandler(entityName, is_parameter_entity, value, base, systemId, publicId, notationName)\n var res = {\n name: get_value(rule.rules[2]),\n is_parameter_entity: 0,\n value,\n systemId,\n publicId,\n notationName\n }\n var unparsed_handled\n if(res.name == \"unparsed_entity\"){\n var f = $B.$getattr(parser, \"UnparsedEntityDeclHandler\", null)\n if(f !== null){\n unparsed_handled = true\n $B.$call(f)(res.name, base,\n res.systemId, res.publicId, res.notationName)\n }\n }\n if(! unparsed_handled){\n var f = $B.$getattr(parser, \"EntityDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(res.name, res.is_parameter_entity, res.value, base,\n res.systemId, res.publicId, res.notationName)\n }\n }\n return res\n },\n start_intSubset: function(parser, rule){\n // Found when starting an internal subset inside a doctype declaration\n // Used to call StartDoctypeHandler with has_internal_subset set\n var doctype_decl = get_parent(rule, doctypedecl_rule),\n info = get_doctype_info(doctype_decl)\n if(doctype_decl.hasExternal && ! parser.standalone){\n var f = $B.$getattr(parser, \"NotStandaloneHandler\", null)\n if(f !== null){\n $B.$call(f)()\n }\n }\n doctype_decl.start_done = true\n delete doctype_decl.sentNotStandalone\n var f = $B.$getattr(parser, \"StartDoctypeDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(info.name, info.systemId, info.publicId, true)\n }\n\n },\n NotationDecl: function(parser, rule){\n // ''\n var base = _b_.None,\n systemId = _b_.None,\n publicId = _b_.None,\n ext_or_public = rule.rules[4]\n\n switch(ext_or_public.selected_option){\n case 0:\n var ext_id = external_id(ext_or_public.selected_rule)\n systemId = ext_id.systemId\n publicId = ext_id.publicId\n break\n case 1:\n publicId = get_value(ext_or_public.selected_rule.rules[2])\n break\n }\n var res = {\n name: get_value(rule.rules[2]),\n base,\n systemId,\n publicId\n }\n var f = $B.$getattr(parser, \"NotationDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(res.name, res.base, res.systemId, res.publicId)\n }\n\n return res\n },\n PI: function(parser, rule){\n console.log('PI', rule)\n var name = get_value(rule.rules[1].rules[0]),\n attrs = get_value(rule.rules[2]).trimLeft()\n var f = $B.$getattr(parser, \"ProcessingInstructionHandler\", null)\n if(f !== null){\n $B.$call(f)(name, attrs)\n }\n return {name, attrs}\n },\n STag: function(parser, rule){\n var name = get_value(rule.rules[1])\n var attrs = rule.result_store[2],\n attr_result = $B.empty_dict()\n if(attrs){\n for(var attr of attrs){\n var attr_value_store = attr.result_store[1].result_store[2].selected_rule.result_store[1],\n attr_value = ''\n for(var item of attr_value_store){\n var v = get_value(item)\n attr_value += fromCharRef(v)\n }\n var attr_name = get_value(attr.result_store[1].result_store[0])\n if(attr_name.startsWith('xmlns:')){\n var prefix = attr_name.substr(6),\n uri = attr_value\n var name1 = uri + '!' + name.split(':')[1]\n parser.namespaces = parser.namespaces ?? {}\n parser.namespaces[name] = name1\n name = name1\n var f = $B.$getattr(parser, \"StartNamespaceDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(prefix, uri)\n }\n }else{\n _b_.dict.$setitem(attr_result, attr_name, attr_value)\n }\n }\n }\n var f = $B.$getattr(parser, \"StartElementHandler\", null)\n if(f !== null){\n $B.$call(f)(name, attr_result)\n }\n return {name, attr_result}\n },\n XMLDecl: function(parser, rule){\n // ''\n var encoding,\n standalone = -1\n if(rule.result_store[2]){\n // S 'encoding' Eq ('\"' EncName '\"' | \"'\" EncName \"'\" )\n encoding = get_value(rule.rules[2].rules[3].selected_rule.rules[1])\n }\n if(rule.result_store[3]){\n // S 'standalone' Eq ((\"'\" ('yes' | 'no') \"'\") | ('\"' ('yes' | 'no') '\"'))\n sddecl = rule.rules[3]\n standalone = get_value(sddecl.rules[3].selected_rule.rules[1])\n standalone = standalone == 'yes' ? 1 : 0\n }\n parser.standalone = standalone // used for NotStandaloneHandler\n var attr_result = $B.empty_dict(),\n attrs = {\n version: get_value(rule.rules[1].rules[3].selected_rule.rules[1]),\n encoding,\n standalone\n }\n for(var attr in attrs){\n _b_.dict.$setitem(attr_result, attr, attrs[attr])\n }\n var f = $B.$getattr(parser, \"XmlDeclHandler\", null)\n if(f !== null){\n $B.$call(f)(attrs.version, attrs.encoding, attrs.standalone)\n }\n return {name, attr_result}\n }\n}\n\n\nfunction emit(rule){\n // called when a rule is done\n var rname = rule.constructor.name\n rname = rname.substr(0, rname.length - 5)\n if(handler[rname]){\n var parser = get_top(rule)\n // console.log('emit', rname)\n handler[rname](parser, rule)\n }\n}\n\nfunction handle_simple(element, next_if_ok, rule, char){\n if(char === FAIL){\n if(typeof element.origin.feed !== 'function'){\n console.log('not a func', element)\n }\n return element.origin.feed(FAIL)\n }else if(char === DONE){\n element.result_store[element.expect] = rule // get_sub(rule, rule.pos, get_pos(rule)) // get_string(rule)\n var test = (rule.constructor.name == 'element_rule' ||\n rule.constructor.name == 'Attribute_rule')\n rule.reset()\n emit(rule)\n set_expect(element, next_if_ok)\n return element.feed(read_char(element))\n }else if(char === END){\n set_expect(element, next_if_ok)\n return element\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_plus(element, rank, next_if_ok, rule, char){\n if(char === FAIL){\n if(element.repeats[rank] == 0){\n reset_pos(element, rule.pos)\n return element.origin.feed(FAIL)\n }\n set_expect(element, next_if_ok)\n reset_pos(element, rule.pos)\n rule.reset()\n return element.feed(read_char(element))\n }else if(char === DONE){\n element.result_store[rank] = element.result_store[rank] || []\n element.result_store[rank].push(rule)\n element.repeats[rank] += 1\n update_pos(element, get_pos(element))\n //rule.reset()\n emit(rule)\n set_expect(element, next_if_ok)\n delete element.rules[rank]\n return element.feed(read_char(element))\n }else if(char === END){\n set_expect(element, next_if_ok)\n return element.feed(char)\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_star(element, rank, next_if_ok, rule, char){\n var test = false // rule instanceof tmp_6_rule\n if(test){\n console.log('HANDLE STAR', rule, 'char', char)\n }\n if(char === FAIL){\n set_expect(element, next_if_ok)\n reset_pos(element, rule.pos)\n rule.reset()\n return element.feed(read_char(element))\n }else if(char === DONE){\n if(test){\n console.log(rule, 'DONE')\n }\n if(rule.alt){\n element.selected_option = element.expect\n element.selected_rule = rule\n }\n element.result_store[rank] = element.result_store[rank] || []\n element.result_store[rank].push(rule)\n element.repeats[rank] += 1\n update_pos(element, get_pos(element))\n //rule.reset()\n emit(rule)\n delete element.rules[rank]\n return element.feed(read_char(element))\n }else if(char === END){\n set_expect(element, next_if_ok)\n return element.feed(char)\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_zero_or_one(element, rank, next_if_ok, rule, char){\n if(char === FAIL){\n set_expect(element, next_if_ok)\n reset_pos(element, rule.pos)\n rule.reset()\n return element.feed(read_char(element))\n }else if(char === DONE){\n element.result_store[rank] = element.result_store[rank] || []\n element.result_store[rank].push(rule)\n element.repeats[rank] += 1\n update_pos(element, get_pos(element))\n emit(rule)\n rule.reset()\n set_expect(element, next_if_ok)\n return element.feed(read_char(element))\n }else if(char === END){\n set_expect(element, next_if_ok)\n return element.feed(char)\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_alt(element, alt_index, rule, char){\n if(char === FAIL){\n set_expect(element, alt_index)\n reset_pos(element, element.pos)\n return element.origin.feed(read_char(element))\n }else if(char === DONE){\n if(['AttValue_rule'].includes(rule.constructor.name)){\n console.log('DONE', rule.constructor.name, get_sub(rule, rule.pos, get_pos(rule)))\n console.log(' ', rule)\n alert()\n }\n element.selected_option = element.expect\n element.selected_rule = rule\n element.result_store[element.expect] = rule\n emit(rule)\n rule.reset()\n return element.origin.feed(char)\n }else if(char === END){\n set_expect(element, -1)\n return element\n }else{\n return rule.feed(char)\n }\n}\n\nfunction handle_last(element, rule, char){\n var test = false // element instanceof tmp_6_rule\n if(test){\n console.log('handle_last', rule, char)\n alert()\n }\n if(char === FAIL){\n return element.origin.feed(FAIL)\n }else if(char === DONE){\n element.result_store[element.expect] = rule\n if(element.alt){\n element.selected_option = element.expect\n element.selected_rule = rule\n if(test){\n console.log('set selected', element)\n console.log('value', get_value(rule))\n element.coucou = 'ici'\n alert()\n }\n }\n emit(rule)\n rule.reset()\n set_expect(element, -1)\n if(test){\n console.log('return control to element', element)\n alert()\n }\n return element.feed(char)\n }else if(char === END){\n set_expect(element, -1)\n return element\n }else{\n return rule.feed(char)\n }\n}\n\nfunction expect_literal(element, literal, char){\n if(! element.hasOwnProperty('expected_pos')){\n element.expected_pos = 0\n }\n if(literal[element.expected_pos] == char){\n element.expected_pos++\n if(element.expected_pos == literal.length){\n delete element.expected_pos\n return {value: literal}\n }else{\n return {value: null}\n }\n }\n return FAIL\n}\n\nfunction LITERAL(origin, string, next_if_ok, args){\n this.origin = origin\n this.string = string\n this.next_if_ok = next_if_ok\n this.args = args\n this.pos = get_pos(this)\n this.str_pos = 0\n}\n\nLITERAL.prototype.reset = function(){\n this.str_pos = 0\n}\n\nLITERAL.prototype.feed = function(char){\n //console.log('LITERAL', this.string, 'expects', this.string[this.str_pos], 'char', char)\n if(this.string == ''){\n console.log('LITERAL feed', this.string, char, this.str_pos)\n }\n if(this.str_pos == this.string.length){\n this.value = this.string\n return this.origin.feed(DONE)\n }\n if(char == this.string[this.str_pos]){\n this.str_pos++\n return this\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction NAME_rule(origin, next_if_ok){\n this.origin = origin\n this.rank = this.origin.expect\n this.next_if_ok = next_if_ok\n this.value = ''\n this.pos = get_pos(this)\n}\n\nNAME_rule.prototype.reset = function(){\n this.value = ''\n}\n\nNAME_rule.prototype.feed = function(char){\n console.log('NAME_rule, value', this.value, 'char', char)\n if(this.value == ''){\n if(is_id_start(char)){\n this.value = char\n }else{\n return this.origin.feed(FAIL)\n }\n }else if(is_id_continue(char)){\n this.value += char\n }else{\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction NUMBER_rule(origin, next_if_ok, args){\n this.origin = origin\n this.rank = this.origin.expect\n this.next_if_ok = next_if_ok\n this.args = args\n this.pos = get_pos(this)\n this.value = ''\n}\n\nNUMBER_rule.prototype.reset = function(){\n this.value = ''\n}\n\nNUMBER_rule.prototype.feed = function(char){\n if(this.value == ''){\n if(is_num(char)){\n this.value = char\n }else if(this.args.next_if_fail !== undefined){\n this.origin.expect = this.args.next_if_fail\n return this.origin.feed(char)\n }else{\n return FAIL\n }\n }else if(is_num(char)){\n this.value += char\n }else{\n this.origin.expect = this.next_if_ok\n this.origin.store_result(this)\n return this.origin.feed(char)\n }\n return this\n}\n\nfunction start_intSubset_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.rank = this.origin.expect\n this.value = ''\n}\n\nstart_intSubset_rule.prototype.feed = function(char){\n // always succeeds\n return this.origin.feed(DONE)\n}\n\nstart_intSubset_rule.prototype.reset = function(){\n // ignore\n}\n\nfunction S_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.rank = this.origin.expect\n this.value = ''\n}\n\nS_rule.prototype.reset = function(){\n this.value = ''\n}\n\nS_rule.prototype.feed = function(char){\n if(is_space(char)){\n this.value += char\n return this\n }else if(this.value.length > 0){\n return this.origin.feed(DONE)\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction CHAR_rule(origin, next_if_ok, args){\n this.origin = origin\n this.next_if_ok = next_if_ok\n this.args = args\n}\n\nCHAR_rule.prototype.feed = function(char){\n if(is_char(char)){\n this.value = char\n return this.origin\n }else{\n return FAIL\n }\n}\n\nvar hex_range_re = /^#x([a-fA-F0-9]+)-#x([a-fA-F0-9]+)$/\nvar charset_range_re = /(\\w)-(\\w)/g\n\n\nfunction CHARSET_rule(origin, charset, next_if_ok){\n this.origin = origin\n this.charset = charset\n this.next_if_ok = next_if_ok\n this.pos = get_pos(origin)\n this.value = ''\n var negative = charset.startsWith('^'),\n body = negative ? charset.substr(1) : charset\n\n var mo = body.match(hex_range_re)\n if(mo){\n var left = parseInt(`0x${mo[1]}`, 16),\n right = parseInt(`0x${mo[2]}`, 16)\n if(negative){\n this.test = function(char){\n var cp = char.charCodeAt(0)\n return (cp < left) || (cp > right)\n }\n }else{\n this.test = function(char){\n var cp = char.charCodeAt(0)\n return (cp >= left) && (cp <= right)\n }\n }\n return\n }\n\n var ranges = []\n for(var mo of body.matchAll(charset_range_re)){\n ranges.push(mo.slice(1))\n }\n if(ranges.length > 0){\n if(negative){\n this.test = function(char){\n for(var range of ranges){\n if(char >= range[0] && char <= range[1]){\n return false\n }\n }\n return true\n }\n }else{\n this.test = function(char){\n for(var range of ranges){\n if(char >= range[0] && char <= range[1]){\n return true\n }\n }\n return false\n }\n }\n return\n }\n\n if(charset.startsWith('^')){\n this.test = char => ! charset.substr(1).includes(char)\n }else{\n this.test = char => charset.includes(char)\n }\n}\n\nCHARSET_rule.prototype.reset = function(){\n delete this.done\n}\n\nCHARSET_rule.prototype.feed = function(char){\n if(char !== END && this.test(char)){\n this.value += char\n return this\n }else if(this.value.length > 0){\n return this.origin.feed(DONE)\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction BaseChar_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n}\n\nBaseChar_rule.prototype.reset = function(){\n delete this.done\n}\n\nBaseChar_rule.prototype.feed = function(char){\n //console.log('BaseChar_rule, char', char, 'this.done', this.done)\n if(this.done){\n return this.origin.feed(DONE)\n }else if(/\\p{L}/u.exec(char)){\n this.done = true\n return this\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction Letter_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n}\n\nLetter_rule.prototype.reset = function(){\n delete this.done\n}\n\nLetter_rule.prototype.feed = function(char){\n if(this.done){\n return this.origin.feed(DONE)\n }else if(/\\p{L}/u.exec(char)){\n this.done = true\n this.value = char\n return this\n }else{\n return this.origin.feed(FAIL)\n }\n}\n\nfunction NameChar_rule(origin){\n this.origin = origin\n this.rank = origin.expect\n this.value = ''\n var result_store = this.origin.result_store\n result_store[this.rank] = result_store[this.rank] ?? []\n this.pos = get_pos(origin)\n}\n\nNameChar_rule.prototype.reset = function(){\n delete this.done\n}\n\nNameChar_rule.prototype.feed = function(char){\n if(this.done){\n return this.origin.feed(DONE)\n }else if(is_id_continue(char)){\n this.value += char\n return this\n }else{\n if(this.value == ''){\n return this.origin.feed(FAIL)\n }\n return this.origin.feed(DONE)\n }\n}\n\nfunction PIText_rule(origin){\n this.origin = origin\n this.value = ''\n this.pos = get_pos(origin)\n}\n\nPIText_rule.prototype.reset = function(){}\n\nPIText_rule.prototype.feed = function(char){\n if(char === END){\n return this.origin.feed(FAIL)\n }\n this.value += char\n if(this.value.endsWith('?>')){\n reset_pos(this, get_pos(this) - 1)\n this.value = this.value.substr(0, this.value.length - 2)\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction CommentText_rule(origin){\n this.origin = origin\n this.value = ''\n this.pos = get_pos(origin)\n}\n\nCommentText_rule.prototype.reset = function(){}\n\nCommentText_rule.prototype.feed = function(char){\n if(char === END){\n return this.origin.feed(FAIL)\n }\n this.value += char\n if(this.value.endsWith('--\x3e')){\n reset_pos(this, get_pos(this) - 2)\n this.value = this.value.substr(0, this.value.length - 3)\n if(this.value.endsWith('-')){\n return this.origin.feed(FAIL)\n }\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction CharData_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n this.value = ''\n}\n\nCharData_rule.prototype.reset = function(){}\n\nCharData_rule.prototype.feed = function(char){\n // [^<&]* - ([^<&]* ']]>' [^<&]*)\n if(char === END){\n return this.origin.feed(FAIL)\n }\n if('<&'.includes(char)){\n return this.origin.feed(DONE)\n }\n this.value += char\n if(this.value.endsWith(']]>')){\n reset_pos(this, get_pos(this) - 2)\n this.value = this.value.substr(0, this.value.length - 3)\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction CData_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n this.value = ''\n}\n\nCData_rule.prototype.reset = function(){}\n\nCData_rule.prototype.feed = function(char){\n // (Char* - (Char* ']]>' Char*))\n if(char === END){\n return this.origin.feed(FAIL)\n }\n this.value += char\n if(this.value.endsWith(']]>')){\n reset_pos(this, get_pos(this) - 2)\n this.value = this.value.substr(0, this.value.length - 3)\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction Ignore_rule(origin){\n this.origin = origin\n this.pos = get_pos(origin)\n this.value = ''\n}\n\nIgnore_rule.prototype.reset = function(){}\n\nIgnore_rule.prototype.feed = function(char){\n // Char* - (Char* ('') Char*)\n if(char === END){\n return this.origin.feed(FAIL)\n }\n this.value += char\n if(this.value.endsWith('')){\n reset_pos(this, get_pos(this) - 2)\n this.value = this.value.substr(0, this.value.length - 3)\n return this.origin.feed(DONE)\n }\n return this\n}\n\nfunction PITarget_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Name\n this.items = ['Name', 'tmp_21']\n this.rules = []\n this.repeats = []\n}\n\nPITarget_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Name\n if(! this.rules[0]){\n this.rules[0] = new Name_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case 1: // tmp_21\n if(! this.rules[1]){\n this.rules[1] = new tmp_21_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n var value = get_value(this)\n if(value.toLowerCase() == 'xml'){\n return this.origin.feed(FAIL)\n }\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPITarget_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nvar rules = {\ndocument: `[prolog, element, Misc*, ]`,\nChar: `['\\\\t', '\\\\n', '\\\\r', [#x20-#xD7FF], [#xE000-#xFFFD], [#x10000-#x10FFFF]]`,\nS: `[tmp_1+]`,\ntmp_1: `[' ', '\\\\t', '\\\\r', '\\\\n']`,\nName: `[tmp_2, NameChar*]`,\ntmp_2: `[Letter, '_', ':']`,\nNames: `[Name, tmp_3*]`,\ntmp_3: `[' ', Name]`,\nNmtoken: `[NameChar+]`,\nNmtokens: `[Nmtoken, tmp_4*]`,\ntmp_4: `[' ', Nmtoken]`,\nEntityValue: `[tmp_7, tmp_8]`,\ntmp_5: `[[^%&'], PEReference, Reference]`,\ntmp_6: `[[^%&\"], PEReference, Reference]`,\ntmp_7: `['\"', tmp_6*, '\"']`,\ntmp_8: `[\"'\", tmp_5*, \"'\"]`,\nAttValue: `[tmp_11, tmp_12]`,\ntmp_9: `[[^<&'], Reference]`,\ntmp_10: `[[^<&\"], Reference]`,\ntmp_11: `['\"', tmp_10*, '\"']`,\ntmp_12: `[\"'\", tmp_9*, \"'\"]`,\nSystemLiteral: `[tmp_14, tmp_13]`,\ntmp_13: `[\"'\", [^'], \"'\"]`,\ntmp_14: `['\"', [^\"], '\"']`,\nPubidLiteral: `[tmp_15, tmp_16]`,\ntmp_15: `['\"', PubidChar*, '\"']`,\ntmp_16: `[\"'\", PubidCharNoQuote*, \"'\"]`,\nPubidChar: `[' ', '\\\\r', '\\\\n', [a-zA-Z0-9], [-'()+,./:=?;!*#@$_%]]`,\nPubidCharNoQuote: `[' ', '\\\\r', '\\\\n', [a-zA-Z0-9], [-()+,./:=?;!*#@$_%]]`,\nComment: `['\x3c!--', CommentText, '--\x3e']`,\nPI: `['']`,\ntmp_17: `[S, PIText]`,\nCDSect: `[CDStart, CData, CDEnd]`,\nCDStart: `['']`,\nprolog: `[XMLDecl?, Misc*, tmp_18?]`,\ntmp_18: `[doctypedecl, Misc*]`,\nXMLDecl: `['']`,\nVersionInfo: `[S, 'version', Eq, tmp_19]`,\ntmp_19: `[tmp_20, tmp_21]`,\ntmp_20: `[\"'\", VersionNum, \"'\"]`,\ntmp_21: `['\"', VersionNum, '\"']`,\nEq: `[S?, '=', S?]`,\nVersionNum: `['1.0']`,\nMisc: `[Comment, PI, S]`,\ndoctypedecl: `['']`,\ntmp_22: `['[', start_intSubset, intSubset, ']', S?]`,\ntmp_23: `[S, ExternalID]`,\nDeclSep: `[PEReference, S]`,\nintSubset: `[tmp_24*]`,\ntmp_24: `[markupdecl, DeclSep]`,\nmarkupdecl: `[elementdecl, AttlistDecl, EntityDecl, NotationDecl, PI, Comment]`,\nextSubset: `[TextDecl?, extSubsetDecl]`,\nextSubsetDecl: `[tmp_25*]`,\ntmp_25: `[markupdecl, conditionalSect, DeclSep]`,\nSDDecl: `[S, 'standalone', Eq, tmp_30]`,\ntmp_26: `['yes', 'no']`,\ntmp_27: `['yes', 'no']`,\ntmp_28: `['\"', tmp_26, '\"']`,\ntmp_29: `[\"'\", tmp_27, \"'\"]`,\ntmp_30: `[tmp_29, tmp_28]`,\nelement: `[EmptyElemTag, tmp_31]`,\ntmp_31: `[STag, content, ETag]`,\nSTag: `['<', Name, tmp_32*, S?, '>']`,\ntmp_32: `[S, Attribute]`,\nAttribute: `[Name, Eq, AttValue]`,\nETag: `['']`,\ncontent: `[CharData?, tmp_34*]`,\ntmp_33: `[element, Reference, CDSect, PI, Comment]`,\ntmp_34: `[tmp_33, CharData?]`,\nEmptyElemTag: `['<', Name, tmp_35*, S?, '/>']`,\ntmp_35: `[S, Attribute]`,\nelementdecl: `['']`,\ncontentspec: `['EMPTY', 'ANY', Mixed, children]`,\nchildren: `[tmp_37, tmp_36?]`,\ntmp_36: `['?', '*', '+']`,\ntmp_37: `[choice, seq]`,\ncp: `[tmp_39, tmp_38?]`,\ntmp_38: `['?', '*', '+']`,\ntmp_39: `[Name, choice, seq]`,\nchoice: `['(', S?, cp, tmp_40+, S?, ')']`,\ntmp_40: `[S?, '|', S?, cp]`,\nseq: `['(', S?, cp, tmp_41*, S?, ')']`,\ntmp_41: `[S?, ',', S?, cp]`,\nMixed: `[tmp_43, tmp_44]`,\ntmp_42: `[S?, '|', S?, Name]`,\ntmp_43: `['(', S?, '#PCDATA', tmp_42*, S?, ')*']`,\ntmp_44: `['(', S?, '#PCDATA', S?, ')']`,\nAttlistDecl: `['']`,\nAttDef: `[S, Name, S, AttType, S, DefaultDecl]`,\nAttType: `[StringType, TokenizedType, EnumeratedType]`,\nStringType: `['CDATA']`,\nTokenizedType: `['ID', 'IDREF', 'IDREFS', 'ENTITY', 'ENTITIES', 'NMTOKEN', 'NMTOKENS']`,\nEnumeratedType: `[NotationType, Enumeration]`,\nNotationType: `['NOTATION', S, '(', S?, Name, tmp_45*, S?, ')']`,\ntmp_45: `[S?, '|', S?, Name]`,\nEnumeration: `['(', S?, Nmtoken, tmp_46*, S?, ')']`,\ntmp_46: `[S?, '|', S?, Nmtoken]`,\nDefaultDecl: `['#REQUIRED', '#IMPLIED', tmp_48]`,\ntmp_47: `['#FIXED', S]`,\ntmp_48: `[tmp_47?, AttValue]`,\nconditionalSect: `[includeSect, ignoreSect]`,\nincludeSect: `['']`,\nignoreSect: `['']`,\nignoreSectContents: `[Ignore, tmp_49*]`,\ntmp_49: `['', Ignore]`,\nCharRef: `[tmp_50, tmp_51]`,\ntmp_50: `['&#', [0-9], ';']`,\ntmp_51: `['&#x', [0-9a-fA-F], ';']`,\nReference: `[EntityRef, CharRef]`,\nEntityRef: `['&', Name, ';']`,\nPEReference: `['%', Name, ';']`,\nEntityDecl: `[GEDecl, PEDecl]`,\nGEDecl: `['']`,\nPEDecl: `['']`,\nEntityDef: `[EntityValue, tmp_52]`,\ntmp_52: `[ExternalID, NDataDecl?]`,\nPEDef: `[EntityValue, ExternalID]`,\nExternalID: `[tmp_53, tmp_54]`,\ntmp_53: `['SYSTEM', S, SystemLiteral]`,\ntmp_54: `['PUBLIC', S, PubidLiteral, S, SystemLiteral]`,\nNDataDecl: `[S, 'NDATA', S, Name]`,\nTextDecl: `['']`,\nextParsedEnt: `[TextDecl?, content]`,\nEncodingDecl: `[S, 'encoding', Eq, tmp_55]`,\ntmp_55: `[tmp_56, tmp_57]`,\ntmp_56: `['\"', EncName, '\"']`,\ntmp_57: `[\"'\", EncName, \"'\"]`,\nEncName: `[[A-Za-z], tmp_58*]`,\ntmp_58: `[[A-Za-z0-9._], '-']`,\nNotationDecl: `['']`,\ntmp_59: `[ExternalID, PublicID]`,\nPublicID: `['PUBLIC', S, PubidLiteral]`,\n}\nfunction document_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // prolog\n this.items = ['prolog', 'element', 'Misc*', \"\"]\n this.rules = []\n this.repeats = []\n}\n\ndocument_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // prolog\n if(! this.rules[0]){\n this.rules[0] = new prolog_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // element\n if(! this.rules[1]){\n this.rules[1] = new element_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // Misc*\n if(! this.rules[2]){\n this.rules[2] = new Misc_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 2, 3, rule, char)\n case -1:\n case 3:\n if(char == END){\n return DONE\n }\n return FAIL\n }\n return this\n}\n\ndocument_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Char_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\\t'\n this.items = [\"'\\\\t'\", \"'\\\\n'\", \"'\\\\r'\", '[#x20-#xD7FF]', '[#xE000-#xFFFD]', '[#x10000-#x10FFFF]']\n this.rules = []\n this.repeats = []\n}\n\nChar_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\\t'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, String.fromCharCode(9))\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '\\n'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, String.fromCharCode(10))\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // '\\r'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, String.fromCharCode(13))\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 3, rule, char)\n case 3: // [#x20-#xD7FF]\n if(! this.rules[3]){\n this.rules[3] = new CHARSET_rule(this, '#x20-#xD7FF')\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 4, rule, char)\n case 4: // [#xE000-#xFFFD]\n if(! this.rules[4]){\n this.rules[4] = new CHARSET_rule(this, '#xE000-#xFFFD')\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 5, rule, char)\n case 5: // [#x10000-#x10FFFF]\n if(! this.rules[5]){\n this.rules[5] = new CHARSET_rule(this, '#x10000-#x10FFFF')\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nChar_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction S_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_1+\n this.items = ['tmp_1+']\n this.rules = []\n this.repeats = []\n}\n\nS_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_1+\n if(! this.rules[0]){\n this.rules[0] = new tmp_1_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_plus(this, 0,-1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nS_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_1_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ' '\n this.items = [\"' '\", \"'\\\\t'\", \"'\\\\r'\", \"'\\\\n'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_1_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ' '\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, String.fromCharCode(32))\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '\\t'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, String.fromCharCode(9))\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // '\\r'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, String.fromCharCode(13))\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 3, rule, char)\n case 3: // '\\n'\n if(! this.rules[3]){\n this.rules[3] = new LITERAL(this, String.fromCharCode(10))\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_1_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Name_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_2\n this.items = ['tmp_2', 'NameChar*']\n this.rules = []\n this.repeats = []\n}\n\nName_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_2\n if(! this.rules[0]){\n this.rules[0] = new tmp_2_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // NameChar*\n if(! this.rules[1]){\n this.rules[1] = new NameChar_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nName_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_2_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Letter\n this.items = ['Letter', \"'_'\", \"':'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_2_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Letter\n if(! this.rules[0]){\n this.rules[0] = new Letter_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '_'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '_')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // ':'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, ':')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_2_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Names_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Name\n this.items = ['Name', 'tmp_3*']\n this.rules = []\n this.repeats = []\n}\n\nNames_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Name\n if(! this.rules[0]){\n this.rules[0] = new Name_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_3*\n if(! this.rules[1]){\n this.rules[1] = new tmp_3_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nNames_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_3_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ' '\n this.items = [\"' '\", 'Name']\n this.rules = []\n this.repeats = []\n}\n\ntmp_3_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ' '\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, String.fromCharCode(32))\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Name\n if(! this.rules[1]){\n this.rules[1] = new Name_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_3_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Nmtoken_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // NameChar+\n this.items = ['NameChar+']\n this.rules = []\n this.repeats = []\n}\n\nNmtoken_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // NameChar+\n if(! this.rules[0]){\n this.rules[0] = new NameChar_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_plus(this, 0,-1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nNmtoken_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Nmtokens_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Nmtoken\n this.items = ['Nmtoken', 'tmp_4*']\n this.rules = []\n this.repeats = []\n}\n\nNmtokens_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Nmtoken\n if(! this.rules[0]){\n this.rules[0] = new Nmtoken_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_4*\n if(! this.rules[1]){\n this.rules[1] = new tmp_4_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nNmtokens_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_4_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ' '\n this.items = [\"' '\", 'Nmtoken']\n this.rules = []\n this.repeats = []\n}\n\ntmp_4_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ' '\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, String.fromCharCode(32))\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Nmtoken\n if(! this.rules[1]){\n this.rules[1] = new Nmtoken_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_4_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction EntityValue_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_7\n this.items = ['tmp_7', 'tmp_8']\n this.rules = []\n this.repeats = []\n}\n\nEntityValue_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_7\n if(! this.rules[0]){\n this.rules[0] = new tmp_7_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_8\n if(! this.rules[1]){\n this.rules[1] = new tmp_8_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEntityValue_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_5_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // [^%&']\n this.items = [\"[^%&']\", 'PEReference', 'Reference']\n this.rules = []\n this.repeats = []\n}\n\ntmp_5_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // [^%&']\n if(! this.rules[0]){\n this.rules[0] = new CHARSET_rule(this, '^%&\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // PEReference\n if(! this.rules[1]){\n this.rules[1] = new PEReference_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // Reference\n if(! this.rules[2]){\n this.rules[2] = new Reference_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_5_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_6_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // [^%&\"]\n this.items = ['[^%&\"]', 'PEReference', 'Reference']\n this.rules = []\n this.repeats = []\n}\n\ntmp_6_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // [^%&\"]\n if(! this.rules[0]){\n this.rules[0] = new CHARSET_rule(this, '^%&\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // PEReference\n if(! this.rules[1]){\n this.rules[1] = new PEReference_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // Reference\n if(! this.rules[2]){\n this.rules[2] = new Reference_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_6_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_7_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\"'\n this.items = ['\\'\"\\'', 'tmp_6*', '\\'\"\\'']\n this.rules = []\n this.repeats = []\n}\n\ntmp_7_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\"'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_6*\n if(! this.rules[1]){\n this.rules[1] = new tmp_6_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // '\"'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\"')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_7_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_8_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // \"'\"\n this.items = ['\"\\'\"', 'tmp_5*', '\"\\'\"']\n this.rules = []\n this.repeats = []\n}\n\ntmp_8_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // \"'\"\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_5*\n if(! this.rules[1]){\n this.rules[1] = new tmp_5_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // \"'\"\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\\'')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_8_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction AttValue_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_11\n this.items = ['tmp_11', 'tmp_12']\n this.rules = []\n this.repeats = []\n}\n\nAttValue_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_11\n if(! this.rules[0]){\n this.rules[0] = new tmp_11_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_12\n if(! this.rules[1]){\n this.rules[1] = new tmp_12_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nAttValue_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_9_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // [^<&']\n this.items = [\"[^<&']\", 'Reference']\n this.rules = []\n this.repeats = []\n}\n\ntmp_9_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // [^<&']\n if(! this.rules[0]){\n this.rules[0] = new CHARSET_rule(this, '^<&\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // Reference\n if(! this.rules[1]){\n this.rules[1] = new Reference_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_9_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_10_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // [^<&\"]\n this.items = ['[^<&\"]', 'Reference']\n this.rules = []\n this.repeats = []\n}\n\ntmp_10_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // [^<&\"]\n if(! this.rules[0]){\n this.rules[0] = new CHARSET_rule(this, '^<&\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // Reference\n if(! this.rules[1]){\n this.rules[1] = new Reference_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_10_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_11_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\"'\n this.items = ['\\'\"\\'', 'tmp_10*', '\\'\"\\'']\n this.rules = []\n this.repeats = []\n}\n\ntmp_11_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\"'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_10*\n if(! this.rules[1]){\n this.rules[1] = new tmp_10_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // '\"'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\"')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_11_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_12_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // \"'\"\n this.items = ['\"\\'\"', 'tmp_9*', '\"\\'\"']\n this.rules = []\n this.repeats = []\n}\n\ntmp_12_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // \"'\"\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_9*\n if(! this.rules[1]){\n this.rules[1] = new tmp_9_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // \"'\"\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\\'')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_12_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction SystemLiteral_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_14\n this.items = ['tmp_14', 'tmp_13']\n this.rules = []\n this.repeats = []\n}\n\nSystemLiteral_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_14\n if(! this.rules[0]){\n this.rules[0] = new tmp_14_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_13\n if(! this.rules[1]){\n this.rules[1] = new tmp_13_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nSystemLiteral_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_13_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // \"'\"\n this.items = ['\"\\'\"', \"[^']\", '\"\\'\"']\n this.rules = []\n this.repeats = []\n}\n\ntmp_13_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // \"'\"\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // [^']\n if(! this.rules[1]){\n this.rules[1] = new CHARSET_rule(this, '^\\'')\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // \"'\"\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\\'')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_13_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_14_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\"'\n this.items = ['\\'\"\\'', '[^\"]', '\\'\"\\'']\n this.rules = []\n this.repeats = []\n}\n\ntmp_14_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\"'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // [^\"]\n if(! this.rules[1]){\n this.rules[1] = new CHARSET_rule(this, '^\"')\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // '\"'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\"')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_14_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction PubidLiteral_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_15\n this.items = ['tmp_15', 'tmp_16']\n this.rules = []\n this.repeats = []\n}\n\nPubidLiteral_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_15\n if(! this.rules[0]){\n this.rules[0] = new tmp_15_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_16\n if(! this.rules[1]){\n this.rules[1] = new tmp_16_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPubidLiteral_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_15_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\"'\n this.items = ['\\'\"\\'', 'PubidChar*', '\\'\"\\'']\n this.rules = []\n this.repeats = []\n}\n\ntmp_15_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\"'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // PubidChar*\n if(! this.rules[1]){\n this.rules[1] = new PubidChar_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // '\"'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\"')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_15_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_16_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // \"'\"\n this.items = ['\"\\'\"', 'PubidCharNoQuote*', '\"\\'\"']\n this.rules = []\n this.repeats = []\n}\n\ntmp_16_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // \"'\"\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // PubidCharNoQuote*\n if(! this.rules[1]){\n this.rules[1] = new PubidCharNoQuote_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // \"'\"\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\\'')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_16_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction PubidChar_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ' '\n this.items = [\"' '\", \"'\\\\r'\", \"'\\\\n'\", '[a-zA-Z0-9]', \"[-'()+,./:=?;!*#@$_%]\"]\n this.rules = []\n this.repeats = []\n}\n\nPubidChar_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ' '\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, String.fromCharCode(32))\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '\\r'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, String.fromCharCode(13))\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // '\\n'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, String.fromCharCode(10))\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 3, rule, char)\n case 3: // [a-zA-Z0-9]\n if(! this.rules[3]){\n this.rules[3] = new CHARSET_rule(this, 'a-zA-Z0-9')\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 4, rule, char)\n case 4: // [-'()+,./:=?;!*#@$_%]\n if(! this.rules[4]){\n this.rules[4] = new CHARSET_rule(this, '-\\'()+,./:=?;!*#@$_%')\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPubidChar_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction PubidCharNoQuote_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ' '\n this.items = [\"' '\", \"'\\\\r'\", \"'\\\\n'\", '[a-zA-Z0-9]', '[-()+,./:=?;!*#@$_%]']\n this.rules = []\n this.repeats = []\n}\n\nPubidCharNoQuote_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ' '\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, String.fromCharCode(32))\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '\\r'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, String.fromCharCode(13))\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // '\\n'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, String.fromCharCode(10))\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 3, rule, char)\n case 3: // [a-zA-Z0-9]\n if(! this.rules[3]){\n this.rules[3] = new CHARSET_rule(this, 'a-zA-Z0-9')\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 4, rule, char)\n case 4: // [-()+,./:=?;!*#@$_%]\n if(! this.rules[4]){\n this.rules[4] = new CHARSET_rule(this, '-()+,./:=?;!*#@$_%')\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPubidCharNoQuote_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Comment_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\x3c!--'\n this.items = [\"'\x3c!--'\", 'CommentText', \"'--\x3e'\"]\n this.rules = []\n this.repeats = []\n}\n\nComment_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\x3c!--'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\x3c!--')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // CommentText\n if(! this.rules[1]){\n this.rules[1] = new CommentText_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // '--\x3e'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '--\x3e')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nComment_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction PI_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nPI_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[3]){\n this.rules[3] = new LITERAL(this, '?>')\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPI_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_17_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', 'PIText']\n this.rules = []\n this.repeats = []\n}\n\ntmp_17_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // PIText\n if(! this.rules[1]){\n this.rules[1] = new PIText_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_17_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction CDSect_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // CDStart\n this.items = ['CDStart', 'CData', 'CDEnd']\n this.rules = []\n this.repeats = []\n}\n\nCDSect_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // CDStart\n if(! this.rules[0]){\n this.rules[0] = new CDStart_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // CData\n if(! this.rules[1]){\n this.rules[1] = new CData_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // CDEnd\n if(! this.rules[2]){\n this.rules[2] = new CDEnd_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nCDSect_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction CDStart_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\n this.items = [\"']]>'\"]\n this.rules = []\n this.repeats = []\n}\n\nCDEnd_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ']]>'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, ']]>')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nCDEnd_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction prolog_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // XMLDecl?\n this.items = ['XMLDecl?', 'Misc*', 'tmp_18?']\n this.rules = []\n this.repeats = []\n}\n\nprolog_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // XMLDecl?\n if(! this.rules[0]){\n this.rules[0] = new XMLDecl_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // Misc*\n if(! this.rules[1]){\n this.rules[1] = new Misc_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, 2, rule, char)\n case 2: // tmp_18?\n if(! this.rules[2]){\n this.rules[2] = new tmp_18_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 2, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nprolog_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_18_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // doctypedecl\n this.items = ['doctypedecl', 'Misc*']\n this.rules = []\n this.repeats = []\n}\n\ntmp_18_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // doctypedecl\n if(! this.rules[0]){\n this.rules[0] = new doctypedecl_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Misc*\n if(! this.rules[1]){\n this.rules[1] = new Misc_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_18_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction XMLDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nXMLDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[5]){\n this.rules[5] = new LITERAL(this, '?>')\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nXMLDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction VersionInfo_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', \"'version'\", 'Eq', 'tmp_19']\n this.rules = []\n this.repeats = []\n}\n\nVersionInfo_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // 'version'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, 'version')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // Eq\n if(! this.rules[2]){\n this.rules[2] = new Eq_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // tmp_19\n if(! this.rules[3]){\n this.rules[3] = new tmp_19_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nVersionInfo_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_19_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_20\n this.items = ['tmp_20', 'tmp_21']\n this.rules = []\n this.repeats = []\n}\n\ntmp_19_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_20\n if(! this.rules[0]){\n this.rules[0] = new tmp_20_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_21\n if(! this.rules[1]){\n this.rules[1] = new tmp_21_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_19_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_20_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // \"'\"\n this.items = ['\"\\'\"', 'VersionNum', '\"\\'\"']\n this.rules = []\n this.repeats = []\n}\n\ntmp_20_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // \"'\"\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // VersionNum\n if(! this.rules[1]){\n this.rules[1] = new VersionNum_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // \"'\"\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\\'')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_20_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_21_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\"'\n this.items = ['\\'\"\\'', 'VersionNum', '\\'\"\\'']\n this.rules = []\n this.repeats = []\n}\n\ntmp_21_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\"'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // VersionNum\n if(! this.rules[1]){\n this.rules[1] = new VersionNum_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // '\"'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\"')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_21_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Eq_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S?\n this.items = ['S?', \"'='\", 'S?']\n this.rules = []\n this.repeats = []\n}\n\nEq_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S?\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // '='\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '=')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // S?\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 2, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEq_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction VersionNum_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '1.0'\n this.items = [\"'1.0'\"]\n this.rules = []\n this.repeats = []\n}\n\nVersionNum_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '1.0'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '1.0')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nVersionNum_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Misc_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Comment\n this.items = ['Comment', 'PI', 'S']\n this.rules = []\n this.repeats = []\n}\n\nMisc_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Comment\n if(! this.rules[0]){\n this.rules[0] = new Comment_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // PI\n if(! this.rules[1]){\n this.rules[1] = new PI_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // S\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nMisc_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction doctypedecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\ndoctypedecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[6]){\n this.rules[6] = new LITERAL(this, '>')\n }\n rule = this.rules[6]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ndoctypedecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_22_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '['\n this.items = [\"'['\", 'start_intSubset', 'intSubset', \"']'\", 'S?']\n this.rules = []\n this.repeats = []\n}\n\ntmp_22_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '['\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '[')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // start_intSubset\n if(! this.rules[1]){\n this.rules[1] = new start_intSubset_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // intSubset\n if(! this.rules[2]){\n this.rules[2] = new intSubset_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // ']'\n if(! this.rules[3]){\n this.rules[3] = new LITERAL(this, ']')\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 4, rule, char)\n case 4: // S?\n if(! this.rules[4]){\n this.rules[4] = new S_rule(this)\n this.repeats[4] = 0\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 4, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_22_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_23_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', 'ExternalID']\n this.rules = []\n this.repeats = []\n}\n\ntmp_23_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // ExternalID\n if(! this.rules[1]){\n this.rules[1] = new ExternalID_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_23_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction DeclSep_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // PEReference\n this.items = ['PEReference', 'S']\n this.rules = []\n this.repeats = []\n}\n\nDeclSep_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // PEReference\n if(! this.rules[0]){\n this.rules[0] = new PEReference_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // S\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nDeclSep_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction intSubset_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_24*\n this.items = ['tmp_24*']\n this.rules = []\n this.repeats = []\n}\n\nintSubset_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_24*\n if(! this.rules[0]){\n this.rules[0] = new tmp_24_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 0, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nintSubset_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_24_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // markupdecl\n this.items = ['markupdecl', 'DeclSep']\n this.rules = []\n this.repeats = []\n}\n\ntmp_24_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // markupdecl\n if(! this.rules[0]){\n this.rules[0] = new markupdecl_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // DeclSep\n if(! this.rules[1]){\n this.rules[1] = new DeclSep_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_24_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction markupdecl_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // elementdecl\n this.items = ['elementdecl', 'AttlistDecl', 'EntityDecl', 'NotationDecl', 'PI', 'Comment']\n this.rules = []\n this.repeats = []\n}\n\nmarkupdecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // elementdecl\n if(! this.rules[0]){\n this.rules[0] = new elementdecl_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // AttlistDecl\n if(! this.rules[1]){\n this.rules[1] = new AttlistDecl_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // EntityDecl\n if(! this.rules[2]){\n this.rules[2] = new EntityDecl_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 3, rule, char)\n case 3: // NotationDecl\n if(! this.rules[3]){\n this.rules[3] = new NotationDecl_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 4, rule, char)\n case 4: // PI\n if(! this.rules[4]){\n this.rules[4] = new PI_rule(this)\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 5, rule, char)\n case 5: // Comment\n if(! this.rules[5]){\n this.rules[5] = new Comment_rule(this)\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nmarkupdecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction extSubset_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // TextDecl?\n this.items = ['TextDecl?', 'extSubsetDecl']\n this.rules = []\n this.repeats = []\n}\n\nextSubset_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // TextDecl?\n if(! this.rules[0]){\n this.rules[0] = new TextDecl_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // extSubsetDecl\n if(! this.rules[1]){\n this.rules[1] = new extSubsetDecl_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nextSubset_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction extSubsetDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_25*\n this.items = ['tmp_25*']\n this.rules = []\n this.repeats = []\n}\n\nextSubsetDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_25*\n if(! this.rules[0]){\n this.rules[0] = new tmp_25_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 0, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nextSubsetDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_25_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // markupdecl\n this.items = ['markupdecl', 'conditionalSect', 'DeclSep']\n this.rules = []\n this.repeats = []\n}\n\ntmp_25_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // markupdecl\n if(! this.rules[0]){\n this.rules[0] = new markupdecl_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // conditionalSect\n if(! this.rules[1]){\n this.rules[1] = new conditionalSect_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // DeclSep\n if(! this.rules[2]){\n this.rules[2] = new DeclSep_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_25_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction SDDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', \"'standalone'\", 'Eq', 'tmp_30']\n this.rules = []\n this.repeats = []\n}\n\nSDDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // 'standalone'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, 'standalone')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // Eq\n if(! this.rules[2]){\n this.rules[2] = new Eq_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // tmp_30\n if(! this.rules[3]){\n this.rules[3] = new tmp_30_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nSDDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_26_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'yes'\n this.items = [\"'yes'\", \"'no'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_26_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'yes'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'yes')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // 'no'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, 'no')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_26_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_27_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'yes'\n this.items = [\"'yes'\", \"'no'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_27_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'yes'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'yes')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // 'no'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, 'no')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_27_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_28_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\"'\n this.items = ['\\'\"\\'', 'tmp_26', '\\'\"\\'']\n this.rules = []\n this.repeats = []\n}\n\ntmp_28_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\"'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_26\n if(! this.rules[1]){\n this.rules[1] = new tmp_26_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // '\"'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\"')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_28_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_29_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // \"'\"\n this.items = ['\"\\'\"', 'tmp_27', '\"\\'\"']\n this.rules = []\n this.repeats = []\n}\n\ntmp_29_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // \"'\"\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_27\n if(! this.rules[1]){\n this.rules[1] = new tmp_27_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // \"'\"\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\\'')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_29_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_30_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_29\n this.items = ['tmp_29', 'tmp_28']\n this.rules = []\n this.repeats = []\n}\n\ntmp_30_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_29\n if(! this.rules[0]){\n this.rules[0] = new tmp_29_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_28\n if(! this.rules[1]){\n this.rules[1] = new tmp_28_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_30_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction element_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // EmptyElemTag\n this.items = ['EmptyElemTag', 'tmp_31']\n this.rules = []\n this.repeats = []\n}\n\nelement_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // EmptyElemTag\n if(! this.rules[0]){\n this.rules[0] = new EmptyElemTag_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_31\n if(! this.rules[1]){\n this.rules[1] = new tmp_31_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nelement_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_31_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // STag\n this.items = ['STag', 'content', 'ETag']\n this.rules = []\n this.repeats = []\n}\n\ntmp_31_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // STag\n if(! this.rules[0]){\n this.rules[0] = new STag_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // content\n if(! this.rules[1]){\n this.rules[1] = new content_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // ETag\n if(! this.rules[2]){\n this.rules[2] = new ETag_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_31_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction STag_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '<'\n this.items = [\"'<'\", 'Name', 'tmp_32*', 'S?', \"'>'\"]\n this.rules = []\n this.repeats = []\n}\n\nSTag_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '<'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '<')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Name\n if(! this.rules[1]){\n this.rules[1] = new Name_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // tmp_32*\n if(! this.rules[2]){\n this.rules[2] = new tmp_32_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 2, 3, rule, char)\n case 3: // S?\n if(! this.rules[3]){\n this.rules[3] = new S_rule(this)\n this.repeats[3] = 0\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 3, 4, rule, char)\n case 4: // '>'\n if(! this.rules[4]){\n this.rules[4] = new LITERAL(this, '>')\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nSTag_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_32_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', 'Attribute']\n this.rules = []\n this.repeats = []\n}\n\ntmp_32_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Attribute\n if(! this.rules[1]){\n this.rules[1] = new Attribute_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_32_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Attribute_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Name\n this.items = ['Name', 'Eq', 'AttValue']\n this.rules = []\n this.repeats = []\n}\n\nAttribute_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Name\n if(! this.rules[0]){\n this.rules[0] = new Name_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Eq\n if(! this.rules[1]){\n this.rules[1] = new Eq_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // AttValue\n if(! this.rules[2]){\n this.rules[2] = new AttValue_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nAttribute_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction ETag_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nETag_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[3]){\n this.rules[3] = new LITERAL(this, '>')\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nETag_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction content_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // CharData?\n this.items = ['CharData?', 'tmp_34*']\n this.rules = []\n this.repeats = []\n}\n\ncontent_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // CharData?\n if(! this.rules[0]){\n this.rules[0] = new CharData_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // tmp_34*\n if(! this.rules[1]){\n this.rules[1] = new tmp_34_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ncontent_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_33_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // element\n this.items = ['element', 'Reference', 'CDSect', 'PI', 'Comment']\n this.rules = []\n this.repeats = []\n}\n\ntmp_33_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // element\n if(! this.rules[0]){\n this.rules[0] = new element_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // Reference\n if(! this.rules[1]){\n this.rules[1] = new Reference_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // CDSect\n if(! this.rules[2]){\n this.rules[2] = new CDSect_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 3, rule, char)\n case 3: // PI\n if(! this.rules[3]){\n this.rules[3] = new PI_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 4, rule, char)\n case 4: // Comment\n if(! this.rules[4]){\n this.rules[4] = new Comment_rule(this)\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_33_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_34_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_33\n this.items = ['tmp_33', 'CharData?']\n this.rules = []\n this.repeats = []\n}\n\ntmp_34_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_33\n if(! this.rules[0]){\n this.rules[0] = new tmp_33_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // CharData?\n if(! this.rules[1]){\n this.rules[1] = new CharData_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_34_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction EmptyElemTag_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '<'\n this.items = [\"'<'\", 'Name', 'tmp_35*', 'S?', \"'/>'\"]\n this.rules = []\n this.repeats = []\n}\n\nEmptyElemTag_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '<'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '<')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Name\n if(! this.rules[1]){\n this.rules[1] = new Name_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // tmp_35*\n if(! this.rules[2]){\n this.rules[2] = new tmp_35_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 2, 3, rule, char)\n case 3: // S?\n if(! this.rules[3]){\n this.rules[3] = new S_rule(this)\n this.repeats[3] = 0\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 3, 4, rule, char)\n case 4: // '/>'\n if(! this.rules[4]){\n this.rules[4] = new LITERAL(this, '/>')\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEmptyElemTag_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_35_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', 'Attribute']\n this.rules = []\n this.repeats = []\n}\n\ntmp_35_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Attribute\n if(! this.rules[1]){\n this.rules[1] = new Attribute_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_35_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction elementdecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nelementdecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[6]){\n this.rules[6] = new LITERAL(this, '>')\n }\n rule = this.rules[6]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nelementdecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction contentspec_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'EMPTY'\n this.items = [\"'EMPTY'\", \"'ANY'\", 'Mixed', 'children']\n this.rules = []\n this.repeats = []\n}\n\ncontentspec_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'EMPTY'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'EMPTY')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // 'ANY'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, 'ANY')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // Mixed\n if(! this.rules[2]){\n this.rules[2] = new Mixed_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 3, rule, char)\n case 3: // children\n if(! this.rules[3]){\n this.rules[3] = new children_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ncontentspec_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction children_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_37\n this.items = ['tmp_37', 'tmp_36?']\n this.rules = []\n this.repeats = []\n}\n\nchildren_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_37\n if(! this.rules[0]){\n this.rules[0] = new tmp_37_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_36?\n if(! this.rules[1]){\n this.rules[1] = new tmp_36_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nchildren_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_36_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '?'\n this.items = [\"'?'\", \"'*'\", \"'+'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_36_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '?'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '?')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '*'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '*')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // '+'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '+')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_36_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_37_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // choice\n this.items = ['choice', 'seq']\n this.rules = []\n this.repeats = []\n}\n\ntmp_37_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // choice\n if(! this.rules[0]){\n this.rules[0] = new choice_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // seq\n if(! this.rules[1]){\n this.rules[1] = new seq_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_37_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction cp_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_39\n this.items = ['tmp_39', 'tmp_38?']\n this.rules = []\n this.repeats = []\n}\n\ncp_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_39\n if(! this.rules[0]){\n this.rules[0] = new tmp_39_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_38?\n if(! this.rules[1]){\n this.rules[1] = new tmp_38_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ncp_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_38_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '?'\n this.items = [\"'?'\", \"'*'\", \"'+'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_38_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '?'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '?')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '*'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '*')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // '+'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '+')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_38_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_39_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Name\n this.items = ['Name', 'choice', 'seq']\n this.rules = []\n this.repeats = []\n}\n\ntmp_39_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Name\n if(! this.rules[0]){\n this.rules[0] = new Name_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // choice\n if(! this.rules[1]){\n this.rules[1] = new choice_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // seq\n if(! this.rules[2]){\n this.rules[2] = new seq_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_39_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction choice_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '('\n this.items = [\"'('\", 'S?', 'cp', 'tmp_40+', 'S?', \"')'\"]\n this.rules = []\n this.repeats = []\n}\n\nchoice_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '('\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '(')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S?\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, 2, rule, char)\n case 2: // cp\n if(! this.rules[2]){\n this.rules[2] = new cp_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // tmp_40+\n if(! this.rules[3]){\n this.rules[3] = new tmp_40_rule(this)\n this.repeats[3] = 0\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_plus(this, 3,4, rule, char)\n case 4: // S?\n if(! this.rules[4]){\n this.rules[4] = new S_rule(this)\n this.repeats[4] = 0\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 4, 5, rule, char)\n case 5: // ')'\n if(! this.rules[5]){\n this.rules[5] = new LITERAL(this, ')')\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nchoice_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_40_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S?\n this.items = ['S?', \"'|'\", 'S?', 'cp']\n this.rules = []\n this.repeats = []\n}\n\ntmp_40_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S?\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // '|'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '|')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // S?\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 2, 3, rule, char)\n case 3: // cp\n if(! this.rules[3]){\n this.rules[3] = new cp_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_40_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction seq_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '('\n this.items = [\"'('\", 'S?', 'cp', 'tmp_41*', 'S?', \"')'\"]\n this.rules = []\n this.repeats = []\n}\n\nseq_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '('\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '(')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S?\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, 2, rule, char)\n case 2: // cp\n if(! this.rules[2]){\n this.rules[2] = new cp_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // tmp_41*\n if(! this.rules[3]){\n this.rules[3] = new tmp_41_rule(this)\n this.repeats[3] = 0\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 3, 4, rule, char)\n case 4: // S?\n if(! this.rules[4]){\n this.rules[4] = new S_rule(this)\n this.repeats[4] = 0\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 4, 5, rule, char)\n case 5: // ')'\n if(! this.rules[5]){\n this.rules[5] = new LITERAL(this, ')')\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nseq_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_41_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S?\n this.items = ['S?', \"','\", 'S?', 'cp']\n this.rules = []\n this.repeats = []\n}\n\ntmp_41_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S?\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // ','\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, ',')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // S?\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 2, 3, rule, char)\n case 3: // cp\n if(! this.rules[3]){\n this.rules[3] = new cp_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_41_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Mixed_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_43\n this.items = ['tmp_43', 'tmp_44']\n this.rules = []\n this.repeats = []\n}\n\nMixed_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_43\n if(! this.rules[0]){\n this.rules[0] = new tmp_43_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_44\n if(! this.rules[1]){\n this.rules[1] = new tmp_44_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nMixed_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_42_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S?\n this.items = ['S?', \"'|'\", 'S?', 'Name']\n this.rules = []\n this.repeats = []\n}\n\ntmp_42_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S?\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // '|'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '|')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // S?\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 2, 3, rule, char)\n case 3: // Name\n if(! this.rules[3]){\n this.rules[3] = new Name_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_42_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_43_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '('\n this.items = [\"'('\", 'S?', \"'#PCDATA'\", 'tmp_42*', 'S?', \"')*'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_43_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '('\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '(')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S?\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, 2, rule, char)\n case 2: // '#PCDATA'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '#PCDATA')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // tmp_42*\n if(! this.rules[3]){\n this.rules[3] = new tmp_42_rule(this)\n this.repeats[3] = 0\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 3, 4, rule, char)\n case 4: // S?\n if(! this.rules[4]){\n this.rules[4] = new S_rule(this)\n this.repeats[4] = 0\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 4, 5, rule, char)\n case 5: // ')*'\n if(! this.rules[5]){\n this.rules[5] = new LITERAL(this, ')*')\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_43_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_44_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '('\n this.items = [\"'('\", 'S?', \"'#PCDATA'\", 'S?', \"')'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_44_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '('\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '(')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S?\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, 2, rule, char)\n case 2: // '#PCDATA'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '#PCDATA')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // S?\n if(! this.rules[3]){\n this.rules[3] = new S_rule(this)\n this.repeats[3] = 0\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 3, 4, rule, char)\n case 4: // ')'\n if(! this.rules[4]){\n this.rules[4] = new LITERAL(this, ')')\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_44_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction AttlistDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nAttlistDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[5]){\n this.rules[5] = new LITERAL(this, '>')\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nAttlistDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction AttDef_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', 'Name', 'S', 'AttType', 'S', 'DefaultDecl']\n this.rules = []\n this.repeats = []\n}\n\nAttDef_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Name\n if(! this.rules[1]){\n this.rules[1] = new Name_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // S\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // AttType\n if(! this.rules[3]){\n this.rules[3] = new AttType_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 4, rule, char)\n case 4: // S\n if(! this.rules[4]){\n this.rules[4] = new S_rule(this)\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 5, rule, char)\n case 5: // DefaultDecl\n if(! this.rules[5]){\n this.rules[5] = new DefaultDecl_rule(this)\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nAttDef_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction AttType_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // StringType\n this.items = ['StringType', 'TokenizedType', 'EnumeratedType']\n this.rules = []\n this.repeats = []\n}\n\nAttType_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // StringType\n if(! this.rules[0]){\n this.rules[0] = new StringType_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // TokenizedType\n if(! this.rules[1]){\n this.rules[1] = new TokenizedType_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // EnumeratedType\n if(! this.rules[2]){\n this.rules[2] = new EnumeratedType_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nAttType_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction StringType_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'CDATA'\n this.items = [\"'CDATA'\"]\n this.rules = []\n this.repeats = []\n}\n\nStringType_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'CDATA'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'CDATA')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nStringType_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction TokenizedType_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'ID'\n this.items = [\"'ID'\", \"'IDREF'\", \"'IDREFS'\", \"'ENTITY'\", \"'ENTITIES'\", \"'NMTOKEN'\", \"'NMTOKENS'\"]\n this.rules = []\n this.repeats = []\n}\n\nTokenizedType_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'ID'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'ID')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // 'IDREF'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, 'IDREF')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // 'IDREFS'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, 'IDREFS')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 3, rule, char)\n case 3: // 'ENTITY'\n if(! this.rules[3]){\n this.rules[3] = new LITERAL(this, 'ENTITY')\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 4, rule, char)\n case 4: // 'ENTITIES'\n if(! this.rules[4]){\n this.rules[4] = new LITERAL(this, 'ENTITIES')\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 5, rule, char)\n case 5: // 'NMTOKEN'\n if(! this.rules[5]){\n this.rules[5] = new LITERAL(this, 'NMTOKEN')\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 6, rule, char)\n case 6: // 'NMTOKENS'\n if(! this.rules[6]){\n this.rules[6] = new LITERAL(this, 'NMTOKENS')\n }\n rule = this.rules[6]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nTokenizedType_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction EnumeratedType_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // NotationType\n this.items = ['NotationType', 'Enumeration']\n this.rules = []\n this.repeats = []\n}\n\nEnumeratedType_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // NotationType\n if(! this.rules[0]){\n this.rules[0] = new NotationType_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // Enumeration\n if(! this.rules[1]){\n this.rules[1] = new Enumeration_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEnumeratedType_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction NotationType_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'NOTATION'\n this.items = [\"'NOTATION'\", 'S', \"'('\", 'S?', 'Name', 'tmp_45*', 'S?', \"')'\"]\n this.rules = []\n this.repeats = []\n}\n\nNotationType_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'NOTATION'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'NOTATION')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // '('\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '(')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // S?\n if(! this.rules[3]){\n this.rules[3] = new S_rule(this)\n this.repeats[3] = 0\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 3, 4, rule, char)\n case 4: // Name\n if(! this.rules[4]){\n this.rules[4] = new Name_rule(this)\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 5, rule, char)\n case 5: // tmp_45*\n if(! this.rules[5]){\n this.rules[5] = new tmp_45_rule(this)\n this.repeats[5] = 0\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 5, 6, rule, char)\n case 6: // S?\n if(! this.rules[6]){\n this.rules[6] = new S_rule(this)\n this.repeats[6] = 0\n }\n rule = this.rules[6]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 6, 7, rule, char)\n case 7: // ')'\n if(! this.rules[7]){\n this.rules[7] = new LITERAL(this, ')')\n }\n rule = this.rules[7]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nNotationType_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_45_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S?\n this.items = ['S?', \"'|'\", 'S?', 'Name']\n this.rules = []\n this.repeats = []\n}\n\ntmp_45_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S?\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // '|'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '|')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // S?\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 2, 3, rule, char)\n case 3: // Name\n if(! this.rules[3]){\n this.rules[3] = new Name_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_45_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Enumeration_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '('\n this.items = [\"'('\", 'S?', 'Nmtoken', 'tmp_46*', 'S?', \"')'\"]\n this.rules = []\n this.repeats = []\n}\n\nEnumeration_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '('\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '(')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S?\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, 2, rule, char)\n case 2: // Nmtoken\n if(! this.rules[2]){\n this.rules[2] = new Nmtoken_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // tmp_46*\n if(! this.rules[3]){\n this.rules[3] = new tmp_46_rule(this)\n this.repeats[3] = 0\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 3, 4, rule, char)\n case 4: // S?\n if(! this.rules[4]){\n this.rules[4] = new S_rule(this)\n this.repeats[4] = 0\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 4, 5, rule, char)\n case 5: // ')'\n if(! this.rules[5]){\n this.rules[5] = new LITERAL(this, ')')\n }\n rule = this.rules[5]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEnumeration_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_46_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S?\n this.items = ['S?', \"'|'\", 'S?', 'Nmtoken']\n this.rules = []\n this.repeats = []\n}\n\ntmp_46_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S?\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // '|'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '|')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // S?\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n this.repeats[2] = 0\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 2, 3, rule, char)\n case 3: // Nmtoken\n if(! this.rules[3]){\n this.rules[3] = new Nmtoken_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_46_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction DefaultDecl_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '#REQUIRED'\n this.items = [\"'#REQUIRED'\", \"'#IMPLIED'\", 'tmp_48']\n this.rules = []\n this.repeats = []\n}\n\nDefaultDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '#REQUIRED'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '#REQUIRED')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '#IMPLIED'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '#IMPLIED')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 2, rule, char)\n case 2: // tmp_48\n if(! this.rules[2]){\n this.rules[2] = new tmp_48_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nDefaultDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_47_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '#FIXED'\n this.items = [\"'#FIXED'\", 'S']\n this.rules = []\n this.repeats = []\n}\n\ntmp_47_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '#FIXED'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '#FIXED')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_47_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_48_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_47?\n this.items = ['tmp_47?', 'AttValue']\n this.rules = []\n this.repeats = []\n}\n\ntmp_48_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_47?\n if(! this.rules[0]){\n this.rules[0] = new tmp_47_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // AttValue\n if(! this.rules[1]){\n this.rules[1] = new AttValue_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_48_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction conditionalSect_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // includeSect\n this.items = ['includeSect', 'ignoreSect']\n this.rules = []\n this.repeats = []\n}\n\nconditionalSect_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // includeSect\n if(! this.rules[0]){\n this.rules[0] = new includeSect_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // ignoreSect\n if(! this.rules[1]){\n this.rules[1] = new ignoreSect_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nconditionalSect_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction includeSect_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nincludeSect_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[6]){\n this.rules[6] = new LITERAL(this, ']]>')\n }\n rule = this.rules[6]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nincludeSect_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction ignoreSect_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nignoreSect_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[6]){\n this.rules[6] = new LITERAL(this, ']]>')\n }\n rule = this.rules[6]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nignoreSect_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction ignoreSectContents_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // Ignore\n this.items = ['Ignore', 'tmp_49*']\n this.rules = []\n this.repeats = []\n}\n\nignoreSectContents_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // Ignore\n if(! this.rules[0]){\n this.rules[0] = new Ignore_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_49*\n if(! this.rules[1]){\n this.rules[1] = new tmp_49_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nignoreSectContents_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_49_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\", 'Ignore']\n this.rules = []\n this.repeats = []\n}\n\ntmp_49_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, ']]>')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // Ignore\n if(! this.rules[3]){\n this.rules[3] = new Ignore_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_49_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction CharRef_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_50\n this.items = ['tmp_50', 'tmp_51']\n this.rules = []\n this.repeats = []\n}\n\nCharRef_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_50\n if(! this.rules[0]){\n this.rules[0] = new tmp_50_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_51\n if(! this.rules[1]){\n this.rules[1] = new tmp_51_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nCharRef_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_50_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '&#'\n this.items = [\"'&#'\", '[0-9]', \"';'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_50_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '&#'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '&#')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // [0-9]\n if(! this.rules[1]){\n this.rules[1] = new CHARSET_rule(this, '0-9')\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_plus(this, 1,2, rule, char)\n case 2: // ';'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, ';')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_50_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_51_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '&#x'\n this.items = [\"'&#x'\", '[0-9a-fA-F]', \"';'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_51_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '&#x'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '&#x')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // [0-9a-fA-F]\n if(! this.rules[1]){\n this.rules[1] = new CHARSET_rule(this, '0-9a-fA-F')\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_plus(this, 1,2, rule, char)\n case 2: // ';'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, ';')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_51_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction Reference_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // EntityRef\n this.items = ['EntityRef', 'CharRef']\n this.rules = []\n this.repeats = []\n}\n\nReference_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // EntityRef\n if(! this.rules[0]){\n this.rules[0] = new EntityRef_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // CharRef\n if(! this.rules[1]){\n this.rules[1] = new CharRef_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nReference_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction EntityRef_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '&'\n this.items = [\"'&'\", 'Name', \"';'\"]\n this.rules = []\n this.repeats = []\n}\n\nEntityRef_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '&'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '&')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Name\n if(! this.rules[1]){\n this.rules[1] = new Name_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // ';'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, ';')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEntityRef_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction PEReference_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '%'\n this.items = [\"'%'\", 'Name', \"';'\"]\n this.rules = []\n this.repeats = []\n}\n\nPEReference_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '%'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '%')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // Name\n if(! this.rules[1]){\n this.rules[1] = new Name_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // ';'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, ';')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPEReference_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction EntityDecl_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // GEDecl\n this.items = ['GEDecl', 'PEDecl']\n this.rules = []\n this.repeats = []\n}\n\nEntityDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // GEDecl\n if(! this.rules[0]){\n this.rules[0] = new GEDecl_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // PEDecl\n if(! this.rules[1]){\n this.rules[1] = new PEDecl_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEntityDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction GEDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nGEDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[6]){\n this.rules[6] = new LITERAL(this, '>')\n }\n rule = this.rules[6]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nGEDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction PEDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nPEDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[8]){\n this.rules[8] = new LITERAL(this, '>')\n }\n rule = this.rules[8]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPEDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction EntityDef_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // EntityValue\n this.items = ['EntityValue', 'tmp_52']\n this.rules = []\n this.repeats = []\n}\n\nEntityDef_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // EntityValue\n if(! this.rules[0]){\n this.rules[0] = new EntityValue_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_52\n if(! this.rules[1]){\n this.rules[1] = new tmp_52_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEntityDef_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_52_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ExternalID\n this.items = ['ExternalID', 'NDataDecl?']\n this.rules = []\n this.repeats = []\n}\n\ntmp_52_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ExternalID\n if(! this.rules[0]){\n this.rules[0] = new ExternalID_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // NDataDecl?\n if(! this.rules[1]){\n this.rules[1] = new NDataDecl_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_52_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction PEDef_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // EntityValue\n this.items = ['EntityValue', 'ExternalID']\n this.rules = []\n this.repeats = []\n}\n\nPEDef_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // EntityValue\n if(! this.rules[0]){\n this.rules[0] = new EntityValue_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // ExternalID\n if(! this.rules[1]){\n this.rules[1] = new ExternalID_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPEDef_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction ExternalID_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_53\n this.items = ['tmp_53', 'tmp_54']\n this.rules = []\n this.repeats = []\n}\n\nExternalID_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_53\n if(! this.rules[0]){\n this.rules[0] = new tmp_53_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_54\n if(! this.rules[1]){\n this.rules[1] = new tmp_54_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nExternalID_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_53_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'SYSTEM'\n this.items = [\"'SYSTEM'\", 'S', 'SystemLiteral']\n this.rules = []\n this.repeats = []\n}\n\ntmp_53_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'SYSTEM'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'SYSTEM')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // SystemLiteral\n if(! this.rules[2]){\n this.rules[2] = new SystemLiteral_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_53_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_54_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'PUBLIC'\n this.items = [\"'PUBLIC'\", 'S', 'PubidLiteral', 'S', 'SystemLiteral']\n this.rules = []\n this.repeats = []\n}\n\ntmp_54_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'PUBLIC'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'PUBLIC')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // PubidLiteral\n if(! this.rules[2]){\n this.rules[2] = new PubidLiteral_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // S\n if(! this.rules[3]){\n this.rules[3] = new S_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 4, rule, char)\n case 4: // SystemLiteral\n if(! this.rules[4]){\n this.rules[4] = new SystemLiteral_rule(this)\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_54_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction NDataDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', \"'NDATA'\", 'S', 'Name']\n this.rules = []\n this.repeats = []\n}\n\nNDataDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // 'NDATA'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, 'NDATA')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // S\n if(! this.rules[2]){\n this.rules[2] = new S_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // Name\n if(! this.rules[3]){\n this.rules[3] = new Name_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nNDataDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction TextDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nTextDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[4]){\n this.rules[4] = new LITERAL(this, '?>')\n }\n rule = this.rules[4]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nTextDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction extParsedEnt_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // TextDecl?\n this.items = ['TextDecl?', 'content']\n this.rules = []\n this.repeats = []\n}\n\nextParsedEnt_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // TextDecl?\n if(! this.rules[0]){\n this.rules[0] = new TextDecl_rule(this)\n this.repeats[0] = 0\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_zero_or_one(this, 0, 1, rule, char)\n case 1: // content\n if(! this.rules[1]){\n this.rules[1] = new content_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nextParsedEnt_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction EncodingDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // S\n this.items = ['S', \"'encoding'\", 'Eq', 'tmp_55']\n this.rules = []\n this.repeats = []\n}\n\nEncodingDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // S\n if(! this.rules[0]){\n this.rules[0] = new S_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // 'encoding'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, 'encoding')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // Eq\n if(! this.rules[2]){\n this.rules[2] = new Eq_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 3, rule, char)\n case 3: // tmp_55\n if(! this.rules[3]){\n this.rules[3] = new tmp_55_rule(this)\n }\n rule = this.rules[3]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEncodingDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_55_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // tmp_56\n this.items = ['tmp_56', 'tmp_57']\n this.rules = []\n this.repeats = []\n}\n\ntmp_55_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // tmp_56\n if(! this.rules[0]){\n this.rules[0] = new tmp_56_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // tmp_57\n if(! this.rules[1]){\n this.rules[1] = new tmp_57_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_55_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_56_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // '\"'\n this.items = ['\\'\"\\'', 'EncName', '\\'\"\\'']\n this.rules = []\n this.repeats = []\n}\n\ntmp_56_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // '\"'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\"')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // EncName\n if(! this.rules[1]){\n this.rules[1] = new EncName_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // '\"'\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\"')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_56_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_57_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // \"'\"\n this.items = ['\"\\'\"', 'EncName', '\"\\'\"']\n this.rules = []\n this.repeats = []\n}\n\ntmp_57_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // \"'\"\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, '\\'')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // EncName\n if(! this.rules[1]){\n this.rules[1] = new EncName_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // \"'\"\n if(! this.rules[2]){\n this.rules[2] = new LITERAL(this, '\\'')\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_57_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction EncName_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // [A-Za-z]\n this.items = ['[A-Za-z]', 'tmp_58*']\n this.rules = []\n this.repeats = []\n}\n\nEncName_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // [A-Za-z]\n if(! this.rules[0]){\n this.rules[0] = new CHARSET_rule(this, 'A-Za-z')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // tmp_58*\n if(! this.rules[1]){\n this.rules[1] = new tmp_58_rule(this)\n this.repeats[1] = 0\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_star(this, 1, -1, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nEncName_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_58_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // [A-Za-z0-9._]\n this.items = ['[A-Za-z0-9._]', \"'-'\"]\n this.rules = []\n this.repeats = []\n}\n\ntmp_58_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // [A-Za-z0-9._]\n if(! this.rules[0]){\n this.rules[0] = new CHARSET_rule(this, 'A-Za-z0-9._')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // '-'\n if(! this.rules[1]){\n this.rules[1] = new LITERAL(this, '-')\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_58_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction NotationDecl_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ''\"]\n this.rules = []\n this.repeats = []\n}\n\nNotationDecl_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ''\n if(! this.rules[6]){\n this.rules[6] = new LITERAL(this, '>')\n }\n rule = this.rules[6]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nNotationDecl_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction tmp_59_rule(origin){\n this.alt = true\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // ExternalID\n this.items = ['ExternalID', 'PublicID']\n this.rules = []\n this.repeats = []\n}\n\ntmp_59_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // ExternalID\n if(! this.rules[0]){\n this.rules[0] = new ExternalID_rule(this)\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_alt(this, 1, rule, char)\n case 1: // PublicID\n if(! this.rules[1]){\n this.rules[1] = new PublicID_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\ntmp_59_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nfunction PublicID_rule(origin){\n this.origin = origin\n this.pos = get_pos(this)\n this.result_store = {}\n this.expect = 0 // 'PUBLIC'\n this.items = [\"'PUBLIC'\", 'S', 'PubidLiteral']\n this.rules = []\n this.repeats = []\n}\n\nPublicID_rule.prototype.feed = function(char){\n var res, rule\n switch(this.expect){\n case 0: // 'PUBLIC'\n if(! this.rules[0]){\n this.rules[0] = new LITERAL(this, 'PUBLIC')\n }\n rule = this.rules[0]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 1, rule, char)\n case 1: // S\n if(! this.rules[1]){\n this.rules[1] = new S_rule(this)\n }\n rule = this.rules[1]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_simple(this, 2, rule, char)\n case 2: // PubidLiteral\n if(! this.rules[2]){\n this.rules[2] = new PubidLiteral_rule(this)\n }\n rule = this.rules[2]\n rule.pos = rule.pos ?? get_pos(this)\n return handle_last(this, rule, char)\n case -1:\n return this.origin.feed(DONE)\n }\n return this\n}\n\nPublicID_rule.prototype.reset = function(){\n this.expect = 0\n}\n\nvar models = {\n XML_CTYPE_ANY: 2,\n XML_CTYPE_CHOICE: 5,\n XML_CTYPE_EMPTY: 1,\n XML_CTYPE_MIXED: 3,\n XML_CTYPE_NAME: 4,\n XML_CTYPE_SEQ: 6,\n}\n\n__BRYTHON__.addToImported('xml_parser', {\n DOCUMENT: document_rule,\n models\n})\n\n})(__BRYTHON__)"],_ajax:[".js",'// ajax\n__BRYTHON__.imported._ajax = (function($B){\n\n\nvar $N = $B.builtins.None,\n _b_ = $B.builtins\n\nvar add_to_res = function(res, key, val) {\n if($B.$isinstance(val, _b_.list)){\n for (j = 0; j < val.length; j++) {\n add_to_res(res, key, val[j])\n }\n }else if (val instanceof File || val instanceof Blob){\n res.append(key, val)\n }else{res.append(key, _b_.str.$factory(val))}\n}\n\nfunction set_timeout(self, timeout){\n if(timeout.seconds !== undefined){\n self.js.$requestTimer = setTimeout(\n function() {\n self.js.abort()\n if(timeout.func){\n timeout.func()\n }\n },\n timeout.seconds * 1000)\n }\n}\n\nfunction _read(req){\n var xhr = req.js\n if(xhr.responseType == "json"){\n return $B.structuredclone2pyobj(xhr.response)\n }\n if(req.charset_user_defined){\n // on blocking mode, xhr.response is a string\n var bytes = []\n for(var i = 0, len = xhr.response.length; i < len; i++){\n var cp = xhr.response.codePointAt(i)\n if(cp > 0xf700){\n bytes.push(cp - 0xf700)\n }else{\n bytes.push(cp)\n }\n }\n }else if(typeof xhr.response == "string"){\n if(req.mode == \'binary\'){\n return _b_.str.encode(xhr.response,\n $B.$getattr(req, \'encoding\', \'utf-8\'))\n }\n return xhr.response\n }else{\n // else it\'s an ArrayBuffer\n var buf = new Uint8Array(xhr.response),\n bytes = Array.from(buf.values())\n }\n var b = _b_.bytes.$factory(bytes),\n mode = $B.$getattr(req, \'mode\', null)\n if(mode == "binary"){\n return b\n }else if(mode == "document"){\n return $B.jsobj2pyobj(xhr.response)\n }else{\n var encoding = $B.$getattr(req, \'encoding\', "utf-8")\n return _b_.bytes.decode(b, encoding)\n }\n}\n\nfunction stringify(d){\n var items = []\n for(var entry of _b_.dict.$iter_items(d)){\n items.push(encodeURIComponent(entry.key) + "=" +\n encodeURIComponent(entry.value))\n }\n return items.join("&")\n}\n\nfunction handle_kwargs(self, kw, method){\n // kw was created with $B.obj_dict(), its keys/values are in kw.$jsobj\n var data,\n encoding,\n headers={},\n cache,\n mode = "text",\n timeout = {},\n rawdata\n\n for(var item of _b_.dict.$iter_items(kw)){\n var key = item.key\n if(key == "data"){\n var rawdata = item.value\n if(typeof rawdata == "string" || rawdata instanceof FormData){\n data = rawdata\n }else if(rawdata.__class__ === _b_.dict){\n data = stringify(rawdata)\n }else{\n throw _b_.TypeError.$factory("wrong type for data: " +\n $B.class_name(rawdata))\n }\n }else if(key == "encoding"){\n encoding = item.value\n }else if(key == "headers"){\n var value = item.value\n if(! $B.$isinstance(value, _b_.dict)){\n throw _b_.ValueError.$factory(\n "headers must be a dict, not " + $B.class_name(value))\n }\n for(var subitem of _b_.dict.$iter_items(value)){\n headers[subitem.key.toLowerCase()] = subitem.value\n }\n }else if(key.startsWith("on")){\n var event = key.substr(2)\n if(event == "timeout"){\n timeout.func = item.value\n }else{\n var f = item.value\n ajax.bind(self, event, f)\n }\n }else if(key == "mode"){\n var mode = item.value\n }else if(key == "timeout"){\n timeout.seconds = item.value\n }else if(key == "cache"){\n cache = item.value\n }\n }\n if(encoding && mode != "text"){\n throw _b_.ValueError.$factory("encoding not supported for mode " +\n mode)\n }\n if((method == "post" || method == "put") && ! headers){\n // For POST requests, set default header\n self.js.setRequestHeader("Content-type",\n "application/x-www-form-urlencoded")\n }\n\n return {cache, data, rawdata, encoding, headers, mode, timeout}\n}\n\nvar ajax = $B.make_class(\'ajax\')\n\najax.__repr__ = function(self){\n return \'\'\n}\n\najax.__getattribute__ = function(self, attr){\n if(ajax[attr] !== undefined){\n return function(){\n return ajax[attr].call(null, self, ...arguments)\n }\n }else if(attr == "text"){\n return _read(self)\n }else if(attr == "json"){\n if(self.js.responseType == "json"){\n return _read(self)\n }else{\n var resp = _read(self)\n try{\n return $B.structuredclone2pyobj(JSON.parse(resp))\n }catch(err){\n console.log(\'attr json, invalid resp\', resp)\n throw err\n }\n }\n }else if(self.js[attr] !== undefined){\n if(typeof self.js[attr] == "function"){\n return function(){\n if(attr == "setRequestHeader"){\n ajax.set_header.call(null, self, ...arguments)\n }else{\n if(attr == \'overrideMimeType\'){\n console.log(\'override mime type\')\n self.hasMimeType = true\n }\n return self.js[attr](...arguments)\n }\n }\n }else{\n return self.js[attr]\n }\n }else if(attr == "xml"){\n return $B.jsobj2pyobj(self.js.responseXML)\n }\n return _b_.object.__getattribute__(self, attr)\n}\n\najax.bind = function(self, evt, func){\n // req.bind(evt,func) is the same as req.onevt = func\n self.js[\'on\' + evt] = function(){\n try{\n return func.apply(null, arguments)\n }catch(err){\n $B.handle_error(err)\n }\n }\n return _b_.None\n}\n\najax.open = function(){\n var $ = $B.args(\'open\', 4,\n {self: null, method: null, url: null, async: null},\n [\'self\', \'method\', \'url\', \'async\'], arguments,\n {async: true}, null, null),\n self = $.self,\n method = $.method,\n url = $.url,\n async = $.async\n if(typeof method !== "string"){\n throw _b_.TypeError.$factory(\n \'open() argument method should be string, got \' +\n $B.class_name(method))\n }\n if(typeof url !== "string"){\n throw _b_.TypeError.$factory(\n \'open() argument url should be string, got \' +\n $B.class_name(url))\n }\n self.$method = method\n self.blocking = ! self.async\n self.js.open(method, url, async)\n}\n\najax.read = function(self){\n return _read(self)\n}\n\najax.send = function(self, params){\n // params can be Python dictionary or string\n var content_type\n for(var key in self.headers){\n var value = self.headers[key]\n self.js.setRequestHeader(key, value)\n if(key == \'content-type\'){\n content_type = value\n }\n }\n if(($B.$getattr(self, \'encoding\', false) ||\n $B.$getattr(self, \'blocking\', false)) && ! self.hasMimeType){\n // On blocking mode, or if an encoding has been specified,\n // override Mime type so that bytes are not processed\n // (unless the Mime type has been explicitely set)\n self.js.overrideMimeType(\'text/plain;charset=x-user-defined\')\n self.charset_user_defined = true\n }\n var res = \'\'\n if(! params){\n self.js.send()\n return _b_.None\n }\n if($B.$isinstance(params, _b_.str)){\n res = params\n }else if($B.$isinstance(params, _b_.dict)){\n if(content_type == \'multipart/form-data\'){\n // The FormData object serializes the data in the \'multipart/form-data\'\n // content-type so we may as well override that header if it was set\n // by the user.\n res = new FormData()\n var items = _b_.list.$factory(_b_.dict.items(params))\n for(var i = 0, len = items.length; i < len; i++){\n add_to_res(res, _b_.str.$factory(items[i][0]), items[i][1])\n }\n }else{\n if(self.$method && self.$method.toUpperCase() == "POST" &&\n ! content_type){\n // Set default Content-Type for POST requests\n self.js.setRequestHeader("Content-Type",\n "application/x-www-form-urlencoded")\n }\n var items = _b_.list.$factory(_b_.dict.items(params))\n for(var i = 0, len = items.length; i < len; i++){\n var key = encodeURIComponent(_b_.str.$factory(items[i][0]));\n if($B.$isinstance(items[i][1], _b_.list)){\n for (j = 0; j < items[i][1].length; j++) {\n res += key +\'=\' +\n encodeURIComponent(_b_.str.$factory(items[i][1][j])) + \'&\'\n }\n }else{\n res += key + \'=\' +\n encodeURIComponent(_b_.str.$factory(items[i][1])) + \'&\'\n }\n }\n res = res.substr(0, res.length - 1)\n }\n }else if(params instanceof FormData){\n res = params\n }else{\n throw _b_.TypeError.$factory(\n "send() argument must be string or dictionary, not \'" +\n _b_.str.$factory(params.__class__) + "\'")\n }\n self.js.send(res)\n return _b_.None\n}\n\najax.responseType = _b_.property.$factory(\n function(_self){\n return _self.responseType\n },\n function(_self, value){\n _self.js.responseType = value\n }\n)\n\najax.withCredentials = _b_.property.$factory(\n function(_self){\n return _self.withCredentials\n },\n function(_self, value){\n _self.js.withCredentials = value\n }\n)\n\najax.set_header = function(self, key, value){\n self.headers[key.toLowerCase()] = value\n}\n\najax.set_timeout = function(self, seconds, func){\n self.js.$requestTimer = setTimeout(\n function() {\n self.js.abort()\n func()\n },\n seconds * 1000)\n}\n\najax.$factory = function(){\n\n var xmlhttp = new XMLHttpRequest()\n\n xmlhttp.onreadystatechange = function(){\n // here, "this" refers to xmlhttp\n var state = this.readyState\n if(this.responseType == "" || this.responseType == "text"){\n res.js.text = this.responseText\n }\n var timer = this.$requestTimer\n if(state == 0 && this.onuninitialized){\n this.onuninitialized(res)\n }else if(state == 1 && this.onloading){\n this.onloading(res)\n }else if(state == 2 && this.onloaded){\n this.onloaded(res)\n }else if(state == 3 && this.oninteractive){\n this.oninteractive(res)\n }else if(state == 4 && this.oncomplete){\n if(timer !== null){\n globalThis.clearTimeout(timer)\n }\n this.oncomplete(res)\n }\n }\n var res = {\n __class__: ajax,\n __dict__: $B.empty_dict(),\n js: xmlhttp,\n headers: {}\n }\n return res\n}\n\n\nfunction _request_without_body(method){\n var $ = $B.args(method, 3, {method: null, url: null, blocking: null},\n ["method", "url", "blocking"], arguments, {blocking: false},\n null, "kw"),\n method = $.method,\n url = $.url,\n async = !$.blocking,\n kw = $.kw\n\n var self = ajax.$factory()\n self.blocking = $.blocking\n var items = handle_kwargs(self, kw, method),\n mode = items.mode,\n encoding = items.encoding,\n qs = items.data\n $B.$setattr(self, \'mode\', mode)\n $B.$setattr(self, \'encoding\', encoding)\n if(qs){\n url += "?" + qs\n }\n if(! (items.cache === true)){\n url += (qs ? "&" : "?") + (new Date()).getTime()\n }\n self.js.open(method.toUpperCase(), url, async)\n\n if(async){\n if(mode == "json" || mode == "document"){\n self.js.responseType = mode\n }else{\n self.js.responseType = "arraybuffer"\n if(mode != "text" && mode != "binary"){\n throw _b_.ValueError.$factory("invalid mode: " + mode)\n }\n }\n }else{\n self.js.overrideMimeType(\'text/plain;charset=x-user-defined\')\n self.charset_user_defined = true\n }\n for(var key in items.headers){\n self.js.setRequestHeader(key, items.headers[key])\n }\n var timeout = items.timeout\n if(timeout.seconds){\n ajax.set_timeout(self, timeout.seconds, timeout.func)\n }\n // Add function read() to return str or bytes according to mode\n self.js.send()\n}\n\nfunction _request_with_body(method){\n var $ = $B.args(method, 3, {method: null, url: null, blocking: null},\n ["method", "url", "blocking"], arguments, {blocking: false},\n null, "kw"),\n method = $.method,\n url = $.url,\n async = !$.blocking,\n kw = $.kw,\n content_type\n var self = ajax.$factory()\n self.js.open(method.toUpperCase(), url, async)\n var items = handle_kwargs(self, kw, method), // common with browser.aio\n data = items.data\n\n if($B.$isinstance(data, _b_.dict)){\n data = stringify(data)\n }\n for(var key in items.headers){\n var value = items.headers[key]\n self.js.setRequestHeader(key, value)\n if(key == \'content-type\'){\n content_type = value\n }\n }\n if(method.toUpperCase() == \'POST\' && !content_type){\n // set default Content-Type for POST requests\n self.js.setRequestHeader(\'Content-Type\',\n \'application/x-www-form-urlencoded\')\n }\n\n // Add function read() to return str or bytes according to mode\n self.js.read = function(){\n return _read(self)\n }\n self.js.send(data)\n}\n\nfunction form_data(form){\n var missing = {},\n $ = $B.args(\'form_data\', 1, {form: null}, [\'form\'], arguments,\n {form: missing}, null, null)\n if($.form === missing){\n return new FormData()\n }else{\n return new FormData($.form)\n }\n}\n\nfunction connect(){\n _request_without_body.call(null, "connect", ...arguments)\n}\n\nfunction _delete(){\n _request_without_body.call(null, "delete", ...arguments)\n}\n\nfunction get(){\n _request_without_body.call(null, "get", ...arguments)\n}\n\nfunction head(){\n _request_without_body.call(null, "head", ...arguments)\n}\n\nfunction options(){\n _request_without_body.call(null, "options", ...arguments)\n}\n\nfunction patch(){\n _request_with_body.call(null, "put", ...arguments)\n}\n\nfunction post(){\n _request_with_body.call(null, "post", ...arguments)\n}\n\nfunction put(){\n _request_with_body.call(null, "put", ...arguments)\n}\n\nfunction trace(){\n _request_without_body.call(null, "trace", ...arguments)\n}\n\nfunction file_upload(){\n // ajax.file_upload(url, file, method="POST", **callbacks)\n var $ = $B.args("file_upload", 2, {url: null, "file": file},\n ["url", "file"], arguments, {}, null, "kw"),\n url = $.url,\n file = $.file,\n kw = $.kw\n\n var self = ajax.$factory()\n\n var items = handle_kwargs(self, kw, method),\n rawdata = items.rawdata,\n headers = items.headers\n\n for(var key in headers){\n var value = headers[key]\n self.js.setRequestHeader(key, value)\n if(key == \'content-type\'){\n content_type = value\n }\n }\n\n var timeout = items.timeout\n if(timeout.seconds){\n ajax.set_timeout(self, timeout.seconds, timeout.func)\n }\n\n var method = _b_.dict.$get_string(kw, \'method\', \'POST\'),\n field_name = _b_.dict.$get_string(kw, \'field_name\', \'filetosave\')\n\n var formdata = new FormData()\n formdata.append(field_name, file, file.name)\n\n if(rawdata){\n if(rawdata instanceof FormData){\n // append additional data\n for(var d of rawdata){\n formdata.append(d[0], d[1])\n }\n }else if($B.$isinstance(rawdata, _b_.dict)){\n for(var item of _b_.dict.$iter_items(rawdata)){\n formdata.append(item.key, item.value)\n }\n }else{\n throw _b_.ValueError.$factory(\n \'data value must be a dict of form_data\')\n }\n }\n\n self.js.open(method, url, _b_.True)\n self.js.send(formdata)\n\n}\n\n$B.set_func_names(ajax)\n\nreturn {\n ajax: ajax,\n Ajax: ajax,\n delete: _delete,\n file_upload: file_upload,\n connect,\n form_data,\n get,\n head,\n options,\n patch,\n post,\n put,\n trace\n}\n\n})(__BRYTHON__)\n'],_ast:[".js",'(function($B){\n\nvar _b_ = $B.builtins,\n ast = $B.ast, // created in py2js\n mod = {}\nmod.PyCF_ONLY_AST = $B.PyCF_ONLY_AST\nmod.PyCF_TYPE_COMMENTS = $B.PyCF_TYPE_COMMENTS\nmod.AST = $B.AST // in builtin_modules.js\n$B.create_python_ast_classes() // in py_ast.js\nfor(var klass in ast){\n mod[klass] = $B.python_ast_classes[klass]\n}\n\nvar Load = \'Load\',\n Store = \'Store\',\n Del = \'Del\'\n\n// Note: the ensure_literal_* functions are only used to validate a restricted\n// set of non-recursive literals that have already been checked with\n// validate_expr, so they don\'t accept the validator state\nfunction ensure_literal_number(exp, allow_real, allow_imaginary){\n if(exp.__class__ !== mod.Constant){\n return false\n }\n var value = exp.value\n if(allow_real && $B.$isinstance(value, [_b_.int, _b_.float])){\n return true\n }\n if(allow_imaginary && $B.$isinstance(value, _b_.complex)){\n return true\n }\n return false\n}\n\nfunction ensure_literal_negative(exp, allow_real, allow_imaginary){\n if(exp.__class__ !== mod.UnaryOp){\n return false\n }\n // Must be negation ...\n if(exp.op !== mod.USub) {\n return false\n }\n // ... of a constant ...\n var operand = exp.operand\n if(operand.__class__ !== mod.Constant){\n return false\n }\n // ... number\n return ensure_literal_number(operand, allow_real, allow_imaginary)\n}\n\nfunction ensure_literal_complex(exp){\n if(exp.__class__ !== mod.BinOp){\n return false\n }\n var left = exp.left,\n right = exp.right;\n // Ensure op is addition or subtraction\n if(exp.op !== mod.Add && exp.op !== mod.Sub){\n return false\n }\n // Check LHS is a real number (potentially signed)\n switch(left.__class__){\n case mod.Constant:\n if(!ensure_literal_number(left, true, false)){\n return false\n }\n break;\n case mod.UnaryOp:\n if(!ensure_literal_negative(left, true, false)){\n return false\n }\n break;\n default:\n return false\n }\n // Check RHS is an imaginary number (no separate sign allowed)\n switch(right.__class__){\n case mod.Constant:\n if(!ensure_literal_number(right, false, true)){\n return false\n }\n break;\n default:\n return false\n }\n return true\n}\n\nfunction validate_arguments(args){\n validate_args(args.posonlyargs)\n validate_args(args.args)\n if(args.vararg && args.vararg.annotation){\n validate_expr(args.vararg.annotation, Load)\n }\n validate_args(args.kwonlyargs)\n if(args.kwarg && args.kwarg.annotation){\n validate_expr(args.kwarg.annotation, Load)\n }\n if(args.defaults.length > args.posonlyargs.length + args.args.length){\n throw _b_.ValueError.$factory(\n "more positional defaults than args on arguments")\n }\n if(args.kw_defaults.length != args.kwonlyargs.length){\n throw _b_.ValueError.$factory(\n "length of kwonlyargs is not the same as " +\n "kw_defaults on arguments")\n }\n validate_exprs(args.defaults, Load, 0)\n validate_exprs(args.kw_defaults, Load, 1)\n}\n\nfunction validate_pattern(p, star_ok){\n var ret = -1\n switch(p.__class__) {\n case mod.MatchValue:\n validate_pattern_match_value(p.value)\n break;\n case mod.MatchSingleton:\n if([_b_.None, _b_.True, _b_.False].indexOf(p.value) == -1){\n throw _b_.ValueError(\n "MatchSingleton can only contain True, False and None")\n }\n break;\n case mod.MatchSequence:\n validate_patterns(p.patterns, 1);\n break;\n case mod.MatchMapping:\n if(p.keys.length != p.patterns.length){\n throw _b_.ValueError.$factory(\n "MatchMapping doesn\'t have the same number of keys as patterns");\n }\n if(p.rest){\n validate_capture(p.rest)\n }\n\n var keys = p.keys;\n for(var key of keys){\n if(key.__class__ === mod.Constant) {\n var literal = key.value;\n if([_b_.None, _b_.True, _b_.False].indexOf(literal) > -1){\n /* validate_pattern_match_value will ensure the key\n doesn\'t contain True, False and None but it is\n syntactically valid, so we will pass those on in\n a special case. */\n continue;\n }\n }\n validate_pattern_match_value(key)\n }\n validate_patterns(p.patterns, 0);\n break;\n case mod.MatchClass:\n if(p.kwd_attrs.length != p.kwd_patterns.length){\n throw _b_.ValueError.$factory(\n "MatchClass doesn\'t have the same number of " +\n "keyword attributes as patterns")\n }\n validate_expr(p.cls, Load)\n var cls = p.cls;\n while(true){\n if(cls.__class__ === mod.Name){\n break\n }else if(cls.__class__ === mod.Attribute) {\n cls = cls.value;\n continue;\n }else {\n throw _b_.ValueError.$factory(\n "MatchClass cls field can only contain Name " +\n "or Attribute nodes.")\n }\n }\n\n for(var identifier of p.kwd_attrs){\n validate_name(identifier)\n }\n\n validate_patterns(p.patterns, 0)\n validate_patterns(p.kwd_patterns, 0);\n break;\n case mod.MatchStar:\n if (!star_ok) {\n throw _b_.ValueError.$factory("can\'t use MatchStar here")\n }\n if(p.name === undefined){\n validate_capture(p.name)\n }\n break;\n case mod.MatchAs:\n if(p.name){\n validate_capture(p.name)\n }\n if(p.pattern == undefined){\n ret = 1;\n }else if(p.name == undefined){\n throw _b_.ValueError.$factory(\n "MatchAs must specify a target name if a pattern is given")\n }else{\n validate_pattern(p.pattern, 0);\n }\n break;\n case mod.MatchOr:\n if(p.patterns.length < 2){\n throw _b_.ValueError.$factory(\n "MatchOr requires at least 2 patterns")\n }\n validate_patterns(p.patterns, 0)\n break;\n // No default case, so the compiler will emit a warning if new pattern\n // kinds are added without being handled here\n }\n if(ret < 0){\n throw _b_.SystemError.$factory("unexpected pattern")\n }\n return true\n}\n\nfunction validate_patterns(patterns, star_ok){\n for(var pattern of patterns){\n validate_pattern(pattern, star_ok)\n }\n return true\n}\n\nfunction validate_pattern_match_value(exp){\n validate_expr(exp, Load)\n switch (exp.__class__){\n case mod.Constant:\n /* Ellipsis and immutable sequences are not allowed.\n For True, False and None, MatchSingleton() should\n be used */\n validate_expr(exp, Load)\n var literal = exp.value\n if($B.$isinstance(literal, [_b_.int, _b_.float, _b_.bytes,\n _b_.complex, _b_.str])){\n return true\n }\n throw _b_.ValueError.$factory(\n "unexpected constant inside of a literal pattern")\n case mod.Attribute:\n // Constants and attribute lookups are always permitted\n return true\n case mod.UnaryOp:\n // Negated numbers are permitted (whether real or imaginary)\n // Compiler will complain if AST folding doesn\'t create a constant\n if(ensure_literal_negative(exp, true, true)){\n return true\n }\n break;\n case mod.BinOp:\n // Complex literals are permitted\n // Compiler will complain if AST folding doesn\'t create a constant\n if(ensure_literal_complex(exp)){\n return true\n }\n break;\n case mod.JoinedStr:\n // Handled in the later stages\n return 1;\n default:\n break;\n }\n throw _b_.ValueError.$factory(\n "patterns may only match literals and attribute lookups")\n}\n\nfunction validate_capture(name){\n if(name == "_"){\n throw _b_.ValueError.$factory("can\'t capture name \'_\' in patterns")\n }\n validate_name(name)\n}\n\nfunction validate_name(name){\n var forbidden = ["None", "True", "False"]\n if(forbidden.indexOf(name) > -1){\n throw _b_.ValueError.$factory(`identifier field can\'t represent` +\n ` \'${name}\' constant", forbidden[i]`)\n }\n return true\n}\n\nfunction validate_comprehension(gens){\n if(gens.length == 0) {\n throw _b_.ValueError.$factory("comprehension with no generators")\n }\n for(var comp of gens){\n validate_expr(comp.target, Store)\n validate_expr(comp.iter, Load)\n validate_exprs(comp.ifs, Load, 0)\n }\n return true\n}\n\nfunction validate_keywords(keywords){\n for(var keyword of keywords){\n validate_expr(keyword.value, Load)\n }\n return true\n}\n\nfunction validate_args(args){\n for(var arg of args){\n if(arg.annotation){\n validate_expr(arg.annotation, Load)\n }\n }\n return true\n}\n\nfunction validate_nonempty_seq(seq, what, owner){\n if(seq.length > 0){\n return true\n }\n throw _b_.ValueError.$factory(`empty ${what} on ${owner}`)\n}\n\nfunction validate_assignlist(targets, ctx){\n validate_nonempty_seq(targets, "targets", ctx == Del ? "Delete" : "Assign")\n validate_exprs(targets, ctx, 0)\n}\n\nfunction validate_body(body, owner){\n validate_nonempty_seq(body, "body", owner)\n validate_stmts(body)\n}\n\nfunction validate_exprs(exprs, ctx, null_ok){\n for(var expr of exprs){\n if(expr !== _b_.None){\n validate_expr(expr, ctx)\n }else if(!null_ok){\n throw _b_.ValueError.$factory(\n "None disallowed in expression list")\n }\n\n }\n return true\n}\n\nfunction validate_expr(exp, ctx){\n var check_ctx = 1,\n actual_ctx;\n\n /* First check expression context. */\n switch (exp.__class__) {\n case mod.Name:\n validate_name(exp.id)\n actual_ctx = exp.ctx\n break;\n case mod.Attribute:\n case mod.Subscript:\n case mod.Starred:\n case mod.List:\n case mod.Tuple:\n actual_ctx = exp.ctx;\n break\n default:\n if(ctx != Load){\n throw _b_.ValueError.$factory("expression which can\'t be " +\n `assigned to in ${ctx} context`)\n }\n check_ctx = 0;\n /* set actual_ctx to prevent gcc warning */\n actual_ctx = 0;\n }\n actual_ctx = actual_ctx === 0 ? actual_ctx :\n actual_ctx.__class__.__name__\n if(check_ctx && actual_ctx != ctx){\n throw _b_.ValueError.$factory(`expression must have ` +\n `${ctx} context but has ${actual_ctx} instead`)\n }\n\n /* Now validate expression. */\n switch (exp.__class__) {\n case mod.BoolOp:\n if(exp.values.length < 2){\n throw _b_.ValueError.$factory("BoolOp with less than 2 values")\n }\n validate_exprs(exp.values, Load, 0);\n break;\n case mod.BinOp:\n validate_expr(exp.left, Load)\n validate_expr(exp.right, Load)\n break;\n case mod.UnaryOp:\n validate_expr(exp.operand, Load);\n break;\n case mod.Lambda:\n validate_arguments(exp.args)\n validate_expr(exp.body, Load);\n break;\n case mod.IfExp:\n validate_expr(exp.test, Load)\n validate_expr(exp.body, Load)\n validate_expr(exp.orelse, Load)\n break;\n case mod.Dict:\n if(exp.keys.length != exp.values.length){\n throw _b_.ValueError.$factory(\n "Dict doesn\'t have the same number of keys as values");\n }\n /* null_ok=1 for keys expressions to allow dict unpacking to work in\n dict literals, i.e. ``{**{a:b}}`` */\n validate_exprs(exp.keys, Load, 1)\n validate_exprs(exp.values, Load, 0);\n break;\n case mod.Set:\n validate_exprs(exp.elts, Load, 0);\n break;\n case mod.ListComp:\n case mod.SetComp:\n case mod.GeneratorExp:\n validate_comprehension(exp.generators)\n validate_expr(exp.elt, Load)\n break;\n case mod.DictComp:\n validate_comprehension(exp.generators)\n validate_expr(exp.key, Load)\n validate_expr(exp.value, Load)\n break;\n case mod.Yield:\n if(exp.value){\n validate_expr(exp.value, Load)\n }\n break;\n case mod.YieldFrom:\n validate_expr(exp.value, Load)\n break;\n case mod.Await:\n validate_expr(exp.value, Load)\n break;\n case mod.Compare:\n if(exp.comparators.length == 0){\n throw _b_.ValueError.$factory("Compare with no comparators")\n }\n if(exp.comparators.length != exp.ops){\n throw _b_.ValueError.$factory("Compare has a different number " +\n "of comparators and operands")\n }\n validate_exprs(exp.comparators, Load, 0)\n validate_expr(exp.left, Load)\n break;\n case mod.Call:\n validate_expr(exp.func, Load)\n validate_exprs(exp.args, Load, 0)\n validate_keywords(exp.keywords)\n break;\n case mod.Constant:\n validate_constant(exp.value)\n break;\n case mod.JoinedStr:\n validate_exprs(exp.values, Load, 0)\n break;\n case mod.FormattedValue:\n validate_expr(exp.value, Load)\n if (exp.format_spec) {\n validate_expr(exp.format_spec, Load)\n break;\n }\n break;\n case mod.Attribute:\n validate_expr(exp.value, Load)\n break;\n case mod.Subscript:\n validate_expr(exp.slice, Load)\n validate_expr(exp.value, Load)\n break;\n case mod.Starred:\n validate_expr(exp.value, ctx)\n break;\n case mod.Slice:\n if(exp.lower){\n validate_expr(exp.lower, Load)\n }\n if(exp.upper){\n validate_expr(exp.upper, Load)\n }\n if(exp.step){\n validate_expr(exp.step, Load)\n }\n break;\n case mod.List:\n validate_exprs(exp.elts, ctx, 0)\n break;\n case mod.Tuple:\n validate_exprs(exp.elts, ctx, 0)\n break;\n case mod.NamedExpr:\n validate_expr(exp.value, Load)\n break;\n /* This last case doesn\'t have any checking. */\n case mod.Name:\n ret = 1;\n break;\n // No default case mod.so compiler emits warning for unhandled cases\n }\n return true\n}\n\nfunction validate_constant(value){\n if (value == _b_.None || value == _b_.Ellipsis){\n return true\n }\n if($B.$isinstance(value,\n [_b_.int, _b_.float, _b_.complex, _b_.bool, _b_.bytes, _b_.str])){\n return true\n }\n\n if($B.$isinstance(value, [_b_.tuple, _b_.frozenset])){\n var it = _b_.iter(value)\n while(true){\n try{\n var item = _b_.next(it)\n validate_constant(item)\n }catch(err){\n if($B.is_exc(err, [_b_.StopIteration])){\n return true\n }\n throw err\n }\n }\n }\n}\n\nfunction validate_stmts(seq){\n for(var stmt of seq) {\n if(stmt !== _b_.None){\n validate_stmt(stmt)\n }else{\n throw _b_.ValueError.$factory("None disallowed in statement list");\n }\n }\n}\n\nfunction validate_stmt(stmt){\n switch (stmt.__class__) {\n case mod.FunctionDef:\n validate_body(stmt.body, "FunctionDef")\n validate_arguments(stmt.args)\n validate_exprs(stmt.decorator_list, Load, 0)\n if(stmt.returns){\n validate_expr(stmt.returns, Load)\n }\n break;\n case mod.ClassDef:\n validate_body(stmt.body, "ClassDef")\n validate_exprs(stmt.bases, Load, 0)\n validate_keywords(stmt.keywords)\n validate_exprs(stmtdecorator_list, Load, 0)\n break;\n case mod.Return:\n if(stmt.value){\n validate_expr(stmt.value, Load)\n }\n break;\n case mod.Delete:\n validate_assignlist(stmt.targets, Del);\n break;\n case mod.Assign:\n validate_assignlist(stmt.targets, Store)\n validate_expr(stmt.value, Load)\n break;\n case mod.AugAssign:\n validate_expr(stmt.target, Store) &&\n validate_expr(stmt.value, Load);\n break;\n case mod.AnnAssign:\n if(stmt.target.__class__ != mod.Name && stmt.simple){\n throw _b_.TypeError.$factory(\n "AnnAssign with simple non-Name target")\n }\n validate_expr(stmt.target, Store)\n if(stmt.value){\n validate_expr(stmt.value, Load)\n validate_expr(stmt.annotation, Load);\n }\n break;\n case mod.For:\n validate_expr(stmt.target, Store)\n validate_expr(stmt.iter, Load)\n validate_body(stmt.body, "For")\n validate_stmts(stmt.orelse)\n break;\n case mod.AsyncFor:\n validate_expr(stmt.target, Store)\n validate_expr(stmt.iter, Load)\n validate_body(stmt.body, "AsyncFor")\n validate_stmts(stmt.orelse)\n break;\n case mod.While:\n validate_expr(stmt.test, Load)\n validate_body(stmt.body, "While")\n validate_stmts(stmt.orelse)\n break;\n case mod.If:\n validate_expr(stmt.test, Load)\n validate_body(stmt.body, "If")\n validate_stmts(stmt.orelse)\n break;\n case mod.With:\n validate_nonempty_seq(stmt.items, "items", "With")\n for (var item of stmt.items){\n validate_expr(item.context_expr, Load) &&\n (! item.optional_vars || validate_expr(item.optional_vars, Store))\n }\n validate_body(stmt.body, "With");\n break;\n case mod.AsyncWith:\n validate_nonempty_seq(stmt.items, "items", "AsyncWith")\n for(var item of stmt.items){\n validate_expr(item.context_expr, Load)\n if(item.optional_vars){\n validate_expr(item.optional_vars, Store)\n }\n }\n validate_body(stmt.body, "AsyncWith");\n break;\n case mod.Match:\n validate_expr(stmt.subject, Load)\n validate_nonempty_seq(stmt.cases, "cases", "Match")\n for(var m of stmt.cases){\n validate_pattern(m.pattern, 0)\n if(m.guard){\n validate_expr(m.guard, Load)\n }\n validate_body(m.body, "match_case")\n }\n break;\n case mod.Raise:\n if(stmt.exc){\n validate_expr(stmt.exc, Load)\n if(stmt.cause){\n validate_expr(stmt.cause, Load)\n }\n break;\n }\n if(stmt.cause) {\n throw _b_.ValueError.$factory("Raise with cause but no exception");\n }\n break;\n case mod.Try:\n validate_body(stmt.body, "Try")\n if(stmt.handlers.length == 0 + stmt.finalbody.length == 0){\n throw _b_.ValueError.$factor(\n "Try has neither except handlers nor finalbody");\n }\n if(stmt.handlers.length == 0 && stmt.orelse.length > 0){\n throw _b_.ValueError.$factory(\n "Try has orelse but no except handlers");\n }\n for(var handler of stmt.handlers){\n if(handler.type){\n validate_expr(handler.type, Load)\n validate_body(handler.body, "ExceptHandler")\n }\n }\n if(stmt.finalbody.length > 0){\n validate_stmts(stmt.finalbody)\n }\n if(stmt.orelse.length > 0){\n validate_stmts(stmt.orelse)\n }\n break;\n case mod.TryStar:\n validate_body(stmt.body, "TryStar")\n if(stmt.handlers.length + stmt.finalbody.length == 0){\n throw _b_.ValueError.$factory(\n "TryStar has neither except handlers nor finalbody");\n }\n if(stmt.handlers.length == 0 && stmt.orelse.length > 0){\n throw _b_.ValueError.$factory(\n "TryStar has orelse but no except handlers");\n }\n for(var handler of stm.handlers){\n if(handler.type){\n validate_expr(handler.type, Load)\n validate_body(handler.body, "ExceptHandler")\n }\n }\n if(stmt.finalbody.length > 0){\n validate_stmts(stmt.finalbody)\n }\n if(stmt.orelse.length > 0){\n validate_stmts(stmt.orelse)\n }\n break;\n case mod.Assert:\n validate_expr(stmt.test, Load)\n if(stmt.msg){\n validate_expr(stmt.msg, Load)\n }\n break;\n case mod.Import:\n validate_nonempty_seq(stmt.names, "names", "Import");\n break;\n case mod.ImportFrom:\n if(stmt.level < 0) {\n throw _b_.ValueError.$factory("Negative ImportFrom level")\n }\n validate_nonempty_seq(stmt.names, "names", "ImportFrom");\n break;\n case mod.Global:\n validate_nonempty_seq(stmt.names, "names", "Global");\n break;\n case mod.Nonlocal:\n validate_nonempty_seq(stmt.names, "names", "Nonlocal");\n break;\n case mod.Expr:\n validate_expr(stmt.value, Load);\n break;\n case mod.AsyncFunctionDef:\n validate_body(stmt.body, "AsyncFunctionDef")\n validate_arguments(stmt.args)\n validate_exprs(stmt.decorator_list, Load, 0)\n if(stmt.returns){\n validate_expr(stmt.returns, Load)\n }\n break;\n case mod.Pass:\n case mod.Break:\n case mod.Continue:\n break;\n // No default case so compiler emits warning for unhandled cases\n }\n}\n\n\nmod._validate = function(ast_obj){\n switch (ast_obj.__class__) {\n case mod.Module:\n validate_stmts(ast_obj.body);\n break;\n case mod.Interactive:\n validate_stmts(ast_obj.body);\n break;\n case mod.Expression:\n validate_expr(ast_obj.body, Load);\n break;\n case mod.FunctionType:\n validate_exprs(ast_obj.argtypes, Load, 0) &&\n validate_expr(ast_obj.returns, Load);\n break;\n // No default case so compiler emits warning for unhandled cases\n }\n}\n\n$B.imported._ast = mod\n\n}\n)(__BRYTHON__)\n'],_base64:[".js","(function($B){\n\nvar _b_ = $B.builtins,\n _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"\n\nfunction make_alphabet(altchars){\n var alphabet = _keyStr\n if(altchars !== undefined && altchars !== _b_.None){\n // altchars is an instance of Python bytes\n var source = altchars.source\n alphabet = alphabet.substr(0,alphabet.length-3) +\n _b_.chr(source[0]) + _b_.chr(source[1]) + '='\n }\n return alphabet\n}\n\nvar Base64 = {\n error: function(){return 'binascii_error'},\n\n encode: function(bytes, altchars){\n\n var input = bytes.source,\n output = \"\",\n chr1, chr2, chr3, enc1, enc2, enc3, enc4\n var i = 0\n\n var alphabet = make_alphabet(altchars)\n\n while(i < input.length){\n\n chr1 = input[i++]\n chr2 = input[i++]\n chr3 = input[i++]\n\n enc1 = chr1 >> 2\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4)\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6)\n enc4 = chr3 & 63\n\n if(isNaN(chr2)){\n enc3 = enc4 = 64\n }else if(isNaN(chr3)){\n enc4 = 64\n }\n\n output = output + alphabet.charAt(enc1) +\n alphabet.charAt(enc2) +\n alphabet.charAt(enc3) +\n alphabet.charAt(enc4)\n\n }\n return _b_.bytes.$factory(output, 'utf-8', 'strict')\n },\n\n\n decode: function(bytes, altchars, validate){\n var output = [],\n chr1, chr2, chr3,\n enc1, enc2, enc3, enc4\n\n var alphabet = make_alphabet(altchars)\n\n var input = bytes.source\n\n // If validate is set, check that all characters in input\n // are in the alphabet\n var _input = ''\n var padding = 0\n for(var i = 0, len = input.length; i < len; i++){\n var car = String.fromCharCode(input[i])\n var char_num = alphabet.indexOf(car)\n if(char_num == -1){\n if(validate){throw Base64.error(\"Non-base64 digit found: \" +\n car)}\n }else if(char_num == 64 && i < input.length - 2){\n if(validate){throw Base64.error(\"Non-base64 digit found: \" +\n car)}\n }else if(char_num == 64 && i >= input.length - 2){\n padding++\n _input += car\n }else{\n _input += car\n }\n }\n input = _input\n if(_input.length == padding){return _b_.bytes.$factory([])}\n if( _input.length % 4 > 0){throw Base64.error(\"Incorrect padding\")}\n\n var i = 0\n while(i < input.length){\n\n enc1 = alphabet.indexOf(input.charAt(i++))\n enc2 = alphabet.indexOf(input.charAt(i++))\n enc3 = alphabet.indexOf(input.charAt(i++))\n enc4 = alphabet.indexOf(input.charAt(i++))\n\n chr1 = (enc1 << 2) | (enc2 >> 4)\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2)\n chr3 = ((enc3 & 3) << 6) | enc4\n\n output.push(chr1)\n\n if(enc3 != 64){output.push(chr2)}\n if(enc4 != 64){output.push(chr3)}\n\n }\n // return Python bytes\n return _b_.bytes.$factory(output, 'utf-8', 'strict')\n\n },\n\n _utf8_encode: function(string) {\n string = string.replace(/\\r\\n/g, \"\\n\")\n var utftext = \"\";\n\n for(var n = 0; n < string.length; n++){\n\n var c = string.charCodeAt(n)\n\n if(c < 128){\n utftext += String.fromCharCode(c)\n }else if((c > 127) && (c < 2048)){\n utftext += String.fromCharCode((c >> 6) | 192)\n utftext += String.fromCharCode((c & 63) | 128)\n }else{\n utftext += String.fromCharCode((c >> 12) | 224)\n utftext += String.fromCharCode(((c >> 6) & 63) | 128)\n utftext += String.fromCharCode((c & 63) | 128)\n }\n\n }\n\n return utftext\n },\n\n _utf8_decode: function(utftext) {\n var string = \"\",\n i = 0,\n c = c1 = c2 = 0\n\n while(i < utftext.length){\n\n c = utftext.charCodeAt(i)\n\n if(c < 128){\n string += String.fromCharCode(c)\n i++\n }else if((c > 191) && (c < 224)){\n c2 = utftext.charCodeAt(i + 1)\n string += String.fromCharCode(((c & 31) << 6) | (c2 & 63))\n i += 2\n }else{\n c2 = utftext.charCodeAt(i + 1)\n c3 = utftext.charCodeAt(i + 2)\n string += String.fromCharCode(\n ((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63))\n i += 3\n }\n\n }\n\n return string\n }\n\n}\n\n$B.addToImported('_base64', {Base64:Base64})\n}\n\n)(__BRYTHON__)"],_binascii:[".js",'(function($B){\n\nvar _b_ = $B.builtins,\n _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="\n\nvar error = $B.make_class("error", _b_.Exception.$factory)\nerror.__bases__ = [_b_.Exception]\n$B.set_func_names(error, "binascii")\n\nfunction decode(bytes, altchars, validate){\n var output = [],\n chr1, chr2, chr3,\n enc1, enc2, enc3, enc4\n\n var alphabet = make_alphabet(altchars)\n\n var input = bytes.source\n\n // If validate is set, check that all characters in input\n // are in the alphabet\n var _input = \'\'\n var padding = 0\n for(var i = 0, len = input.length; i < len; i++){\n var car = String.fromCharCode(input[i])\n var char_num = alphabet.indexOf(car)\n if(char_num == -1){\n if(validate){throw error.$factory("Non-base64 digit found: " +\n car)}\n }else if(char_num == 64 && i < input.length - 2){\n if(validate){throw error.$factory("Non-base64 digit found: " +\n car)}\n }else if(char_num == 64 && i >= input.length - 2){\n padding++\n _input += car\n }else{\n _input += car\n }\n }\n input = _input\n if(_input.length == padding){return _b_.bytes.$factory([])}\n if( _input.length % 4 > 0){throw error.$factory("Incorrect padding")}\n\n var i = 0\n while(i < input.length){\n\n enc1 = alphabet.indexOf(input.charAt(i++))\n enc2 = alphabet.indexOf(input.charAt(i++))\n enc3 = alphabet.indexOf(input.charAt(i++))\n enc4 = alphabet.indexOf(input.charAt(i++))\n\n chr1 = (enc1 << 2) | (enc2 >> 4)\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2)\n chr3 = ((enc3 & 3) << 6) | enc4\n\n output.push(chr1)\n\n if(enc3 != 64){output.push(chr2)}\n if(enc4 != 64){output.push(chr3)}\n\n }\n // return Python bytes\n return _b_.bytes.$factory(output)\n}\n\n\nvar hex2int = {},\n hex = \'0123456789abcdef\'\nfor(var i = 0; i < hex.length; i++){\n hex2int[hex[i]] = i\n hex2int[hex[i].toUpperCase()] = i\n}\n\nfunction make_alphabet(altchars){\n var alphabet = _keyStr\n if(altchars !== undefined && altchars !== _b_.None){\n // altchars is an instance of Python bytes\n var source = altchars.source\n alphabet = alphabet.substr(0,alphabet.length-3) +\n _b_.chr(source[0]) + _b_.chr(source[1]) + \'=\'\n }\n return alphabet\n}\n\nvar module = {\n a2b_base64: function(){\n var $ = $B.args("a2b_base64", 2, {s: null, strict_mode: null}, \n [\'s\', \'strict_mode\'],\n arguments, {strict_mode: false}, null, null)\n var bytes\n if($B.$isinstance($.s, _b_.str)){\n bytes = _b_.str.encode($.s, \'ascii\')\n }else if($B.$isinstance($.s, [_b_.bytes, _b_.bytearray])){\n bytes = $.s\n }else{\n throw _b_.TypeError.$factory(\'wrong type: \' + $B.class_name($.s))\n }\n return decode(bytes)\n },\n a2b_hex: function(){\n var $ = $B.args("a2b_hex", 1, {s: null}, [\'s\'],\n arguments, {}, null, null),\n s = $.s\n if($B.$isinstance(s, _b_.bytes)){\n s = _b_.bytes.decode(s, \'ascii\')\n }\n if(typeof s !== "string"){\n throw _b_.TypeError.$factory("argument should be bytes, " +\n "buffer or ASCII string, not \'" + $B.class_name(s) + "\'")\n }\n\n var len = s.length\n if(len % 2 == 1){\n throw _b_.TypeError.$factory(\'Odd-length string\')\n }\n\n var res = []\n for(var i = 0; i < len; i += 2){\n res.push((hex2int[s.charAt(i)] << 4) + hex2int[s.charAt(i + 1)])\n }\n return _b_.bytes.$factory(res)\n },\n b2a_base64: function(){\n var $ = $B.args("b2a_base64", 1, {data: null}, [\'data\'],\n arguments, {}, null, "kw")\n var newline = _b_.dict.$get_string($.kw, \'newline\', false)\n\n var string = $B.to_bytes($.data),\n res = btoa(String.fromCharCode.apply(null, string))\n if(newline){res += "\\n"}\n return _b_.bytes.$factory(res, "ascii")\n },\n b2a_hex: function(obj){\n var string = $B.to_bytes(obj),\n res = []\n function conv(c){\n if(c > 9){\n c = c + \'a\'.charCodeAt(0) - 10\n }else{\n c = c + \'0\'.charCodeAt(0)\n }\n return c\n }\n string.forEach(function(char){\n res.push(conv((char >> 4) & 0xf))\n res.push(conv(char & 0xf))\n })\n return _b_.bytes.$factory(res)\n },\n b2a_uu: function(obj){\n var string = _b_.bytes.decode(obj, \'ascii\')\n var len = string.length,\n res = String.fromCharCode((0x20 + len) & 0x3F)\n while(string.length > 0){\n var s = string.slice(0, 3)\n while(s.length < 3){s.push(String.fromCharCode(0))}\n var A = s[0],\n B = s[1],\n C = s[2]\n var a = (A >> 2) & 0x3F,\n b = ((A << 4) | ((B >> 4) & 0xF)) & 0x3F,\n c = (((B << 2) | ((C >> 6) & 0x3)) & 0x3F),\n d = C & 0x3F\n res += String.fromCharCode(0x20 + a, 0x20 + b, 0x20 + c, 0x20 + d)\n string = string.slice(3)\n }\n return _b_.bytes.$factory(res + "\\n", "ascii")\n },\n error: error\n}\n\nmodule.hexlify = module.b2a_hex\nmodule.unhexlify = module.a2b_hex\n\n$B.imported._binascii = module\n}\n)(__BRYTHON__)'],_io_classes:[".js",'var _b_ = __BRYTHON__.builtins\n\nfunction get_self(name, args){\n return $B.args(name, 1, {self: null}, ["self"], args, {}, null, null).self\n}\n\nvar _IOBase = $B.make_class("_IOBase")\n_IOBase.__mro__ = [_b_.object]\n\n_IOBase.close = function(){\n get_self("close", arguments).__closed = true\n}\n\n_IOBase.flush = function(){\n get_self("flush", arguments)\n return _b_.None\n}\n\n$B.set_func_names(_IOBase, \'_io\')\n\n// Base class for binary streams that support some kind of buffering.\nvar _BufferedIOBase = $B.make_class("_BufferedIOBase")\n_BufferedIOBase.__mro__ = [_IOBase, _b_.object]\n\n_BufferedIOBase.__enter__ = function(self){\n return self\n}\n_BufferedIOBase.__exit__ = function(self, type, value, traceback){\n try{\n $B.$call($B.$getattr(self, \'close\'))()\n self.__closed = true\n return true\n }catch(err){\n return false\n }\n}\n\n$B.set_func_names(_BufferedIOBase, \'_io\')\n\n// Base class for raw binary I/O.\nvar _RawIOBase = $B.make_class("_RawIOBase")\n\n_RawIOBase.__mro__ = [_IOBase, _b_.object]\n\n_RawIOBase.read = function(){\n var $ = $B.args("read", 2, {self: null, size: null}, ["self", "size"],\n arguments, {size: -1}, null, null),\n self = $.self,\n size = $.size,\n res\n self.$pos = self.$pos || 0\n if(size == -1){\n if(self.$pos == 0){\n res = self.$content\n }else{\n res = _b_.bytes.$factory(self.$content.source.slice(self.$pos))\n }\n self.$pos = self.$content.source.length - 1\n }else{\n res = _b_.bytes.$factory(self.$content.source.slice(self.$pos, size))\n self.$pos += size\n }\n return res\n}\n\n_RawIOBase.readall = function(){\n return _RawIOBase.read(get_self("readall", arguments))\n}\n\n$B.set_func_names(_RawIOBase, \'_io\')\n\n// Base class for text streams.\n_TextIOBase = $B.make_class("_TextIOBase")\n_TextIOBase.__mro__ = [_IOBase, _b_.object]\n\nvar StringIO = $B.make_class("StringIO",\n function(){\n var $ = $B.args("StringIO", 2, {value: null, newline: null},\n ["value", "newline"], arguments, {value: \'\', newline: "\\n"},\n null, null)\n return {\n __class__: StringIO,\n $counter: 0,\n $content: $.value\n }\n }\n)\n\nStringIO.__mro__ = [$B.Reader, _b_.object]\n\nStringIO.getvalue = function(){\n var $ = $B.args("getvalue", 1, {self: null},\n ["self"], arguments, {}, null, null)\n return $.self.$content.substr(0) // copy\n}\n\nStringIO.truncate = function(self, size){\n var $ = $B.args(\'truncate\', 2, {self: null, size: null}, [\'self\', \'size\'],\n arguments, {size: _b_.None}, null, null),\n self = $.self,\n size = $.size\n if(size === _b_.None){\n size = self.$counter\n }\n self.$content = self.$content.substr(0, size)\n self.$counter = self.$content.length\n return self.$counter\n}\n\nStringIO.write = function(){\n var $ = $B.args("write", 2, {self: null, data: null},\n ["self", "data"], arguments, {}, null, null)\n if(! $B.$isinstance($.data, _b_.str)){\n throw _b_.TypeError.$factory(\'string argument expected, got \' +\n `\'${$B.class_name($.data)}\'`)\n }\n var text = $.self.$content,\n position = $.self.$counter\n if(position > text.length){\n text += String.fromCodePoint(0).repeat(position - text.length)\n }\n text = text.substr(0, position) + $.data +\n text.substr(position + $.data.length)\n $.self.$content = text\n $.self.$counter = position + $.data.length\n return $.data.length\n}\n\n$B.set_func_names(StringIO, "_io")\n\nvar BytesIO = $B.make_class("BytesIO",\n function(){\n var $ = $B.args("BytesIO", 1, {value: null},\n ["value"], arguments, {value: _b_.bytes.$factory()},\n null, null)\n return {\n __class__: BytesIO,\n $binary: true,\n $content: $.value,\n $length: $.value.source.length,\n $counter: 0\n }\n }\n)\nBytesIO.__mro__ = [$B.Reader, _b_.object]\n\nBytesIO.getbuffer = function(){\n var self = get_self("getbuffer", arguments)\n return _b_.memoryview.$factory(self.$content)\n}\n\nBytesIO.getvalue = function(){\n var self = get_self("getvalue", arguments)\n return self.$content\n}\n\nBytesIO.read = function(){\n var $ = $B.args("read", 2, {self: null, nbytes: null},\n ["self", "nbytes"], arguments, {nbytes: _b_.None}, null, null),\n self = $.self,\n nbytes = $.nbytes,\n res\n var source = self.$content.source\n if(nbytes === _b_.None){\n res = $B.fast_bytes(source.slice(self.$counter))\n self.$counter = source.length\n }else if(! _b_.isinstance(nbytes, _b_.int)){\n throw _b_.TypeError.$factory(\'number of bytes should be int, not \' +\n $B.class_name(nbytes))\n }else{\n res = $B.fast_bytes(source.slice(self.$counter,\n self.$counter + nbytes))\n self.$counter = Math.min(self.$counter + nbytes, source.length)\n }\n return res\n}\n\nBytesIO.write = function(){\n var $ = $B.args("write", 2, {self: null, data: null},\n ["self", "data"], arguments, {}, null, null)\n var data_cls = $B.get_class($.data)\n if(! data_cls.$buffer_protocol){\n throw _b_.TypeError.$factory(\'a bytes-like object is required, \' +\n `not \'${$B.class_name($.data)}\'`)\n }\n var source = $.self.$content.source,\n counter = $.self.$counter,\n data = _b_.bytes.$factory($.data)\n if(counter > source.length){\n // pad with 0\'s\n var padding = (new Array(counter - source.length)).fill(0)\n source.splice(source.length, 0, ...padding)\n }\n source.splice(counter, data.source.length, ...data.source)\n $.self.$counter += data.source.length\n return _b_.None\n}\n\n$B.set_func_names(BytesIO, "_io")\n\nvar BlockingIOError = $B.make_class(\'BlockingIOError\')\nBlockingIOError.__bases__ = [_b_.OSError]\n\n$B.set_func_names(BlockingIOError, \'_io\')\n\nvar $module = (function($B){\n return {\n _BufferedIOBase,\n _IOBase,\n _RawIOBase,\n _TextIOBase: $B.make_class("_TextIOBase",\n function(){\n return "fileio"\n }\n ),\n BlockingIOError,\n BytesIO: BytesIO,\n FileIO: $B.make_class("_TextIOBase",\n function(){\n return "fileio"\n }\n ),\n StringIO: StringIO,\n BufferedReader: $B.BufferedReader,\n BufferedWriter: $B.make_class("_TextIOBase",\n function(){\n return "fileio"\n }\n ),\n BufferedRWPair: $B.make_class("_TextIOBase",\n function(){\n return "fileio"\n }\n ),\n BufferedRandom: $B.make_class("_TextIOBase",\n function(){\n return "fileio"\n }\n ),\n IncrementalNewlineDecoder: $B.make_class("_TextIOBase",\n function(){\n return "fileio"\n }\n ),\n TextIOWrapper: $B.TextIOWrapper\n }\n})(__BRYTHON__)\n$module._IOBase.__doc__ = "_IOBase"\n\n__BRYTHON__.imported._io_classes = $module'],_json:[".js","(function($B){\n\nvar _b_ = $B.builtins\n\nfunction simple(obj){\n switch(typeof obj){\n case 'string':\n case 'number':\n case 'boolean':\n return true\n }\n if(obj instanceof Number ||\n Array.isArray(obj) ||\n $B.$isinstance(obj, [_b_.list, _b_.tuple, _b_.dict])){\n return true\n }\n return false\n}\n\nfunction to_json(obj, level){\n var $defaults = {skipkeys:_b_.False, ensure_ascii:_b_.True,\n check_circular:_b_.True, allow_nan:_b_.True, cls:_b_.None,\n indent:_b_.None, separators:_b_.None, \"default\":_b_.None,\n sort_keys:_b_.False},\n $ = $B.args(\"to_json\", 2, {obj: null, level: null}, ['obj', 'level'],\n arguments, {level: 1}, null, \"kw\")\n\n var kw = _b_.dict.$to_obj($.kw)\n for(var key in $defaults){\n if(! kw.hasOwnProperty(key)){\n kw[key] = $defaults[key]\n }\n }\n\n var indent = kw.indent,\n ensure_ascii = kw.ensure_ascii,\n separators = kw.separators === _b_.None ?\n kw.indent === _b_.None ? [', ', ': '] : [',', ': '] :\n kw.separators,\n skipkeys = kw.skipkeys,\n _default = kw.default,\n sort_keys = kw.sort_keys,\n allow_nan = kw.allow_nan,\n check_circular = kw.check_circular\n\n var item_separator = separators[0],\n key_separator = separators[1]\n if(indent !== _b_.None){\n var indent_str\n if(typeof indent == \"string\"){\n indent_str = indent\n }else if(typeof indent == \"number\" && indent >= 1){\n indent_str = \" \".repeat(indent)\n }else{\n throw _b_.ValueError.$factory(\"invalid indent: \" +\n _b_.str.$factory(indent))\n }\n }\n var kwarg = {$kw: [{}]}\n for(var key in kw){\n kwarg.$kw[0][key] = kw[key]\n }\n\n switch(typeof obj){\n case 'string':\n var res = JSON.stringify(obj)\n if(ensure_ascii){\n var escaped = ''\n for(var i = 0, len = res.length; i < len; i++){\n var u = res.codePointAt(i)\n if(u > 127){\n u = u.toString(16)\n while(u.length < 4){\n u = \"0\" + u\n }\n escaped += '\\\\u' + u\n }else{\n escaped += res.charAt(i)\n }\n }\n return escaped\n }\n return res\n case 'boolean':\n return obj.toString()\n case 'number':\n if([Infinity, -Infinity].indexOf(obj) > -1 ||\n isNaN(obj)){\n if(! allow_nan){\n throw _b_.ValueError.$factory(\n 'Out of range float values are not JSON compliant')\n }\n }\n return obj.toString()\n }\n if(obj instanceof String){\n if(! ensure_ascii){\n return $B.String(obj)\n }\n // string with surrogate pairs. cf. issue #1903.\n var res = ''\n if(obj.surrogates){\n var s_ix = 0,\n s_pos = obj.surrogates[s_ix]\n for(var i = 0, len = obj.length; i < len; i++){\n if(i == s_pos){\n var code = obj.codePointAt(i) - 0x10000\n res += '\\\\u' + (0xD800 | (code >> 10)).toString(16) +\n '\\\\u' + (0xDC00 | (code & 0x3FF)).toString(16)\n i++\n s_ix++\n s_pos = obj.surrogates[s_ix]\n }else{\n var code = obj.charCodeAt(i)\n if(code < 127){\n var x = _b_.repr(obj[i])\n res += x.substr(1, x.length - 2)\n }else{\n var x = code.toString(16)\n while(x.length < 4){\n x = '0' + x\n }\n res += '\\\\u' + x\n }\n }\n }\n }\n return '\"' + res.replace(new RegExp('\"', \"g\"), '\\\\\"') + '\"'\n }\n\n if($B.$isinstance(obj, _b_.list)){\n var res = []\n var sep = item_separator,\n first = '[',\n last = ']'\n if(indent !== _b_.None){\n sep += \"\\n\" + indent_str.repeat(level)\n first = '[' + '\\n' + indent_str.repeat(level)\n last = '\\n' + indent_str.repeat(level - 1) + ']'\n level++\n }\n for(var i = 0, len = obj.length; i < len; i++){\n res.push(to_json(obj[i], level, kwarg))\n }\n return first + res.join(sep) + last\n }else if($B.$isinstance(obj, _b_.float)){\n return obj.value\n }else if(obj.__class__ === $B.long_int){\n return obj.value.toString()\n }else if(obj === _b_.None){\n return \"null\"\n }else if($B.$isinstance(obj, _b_.dict)){\n var res = [],\n items = Array.from($B.make_js_iterator(_b_.dict.items(obj)))\n if(sort_keys){\n // Sort keys by alphabetical order\n items.sort()\n }\n var sep = item_separator,\n first = '{',\n last = '}'\n if(indent !== _b_.None){\n sep += \"\\n\" + indent_str.repeat(level)\n first = '{' + '\\n' + indent_str.repeat(level)\n last = '\\n' + indent_str.repeat(level - 1) + '}'\n level++\n }\n for(var i = 0, len = items.length; i < len; i++){\n var item = items[i]\n if(! simple(item[0])){\n if(! skipkeys){\n throw _b_.TypeError.$factory(\"keys must be str, int, \" +\n \"float, bool or None, not \" + $B.class_name(obj))\n }\n }else{\n // In the result, key must be a string\n var key = _b_.str.$factory(item[0])\n // Check circular reference\n if(check_circular && $B.repr.enter(item[1])){\n throw _b_.ValueError.$factory(\"Circular reference detected\")\n }\n res.push(\n [to_json(key, level, kwarg), to_json(item[1], level, kwarg)].\n join(key_separator))\n if(check_circular){\n $B.repr.leave(item[1])\n }\n }\n }\n return first + res.join(sep) + last\n }\n // For other types, use function default if provided\n if(_default == _b_.None){\n throw _b_.TypeError.$factory(\"Object of type \" + $B.class_name(obj) +\n \" is not JSON serializable\")\n }else{\n return to_json($B.$call(_default)(obj), level, kwarg)\n }\n}\n\nfunction loads(s){\n var args = []\n for(var i = 1, len = arguments.length; i < len; i++){\n args.push(arguments[i])\n }\n var decoder = JSONDecoder.$factory.apply(null, args)\n return JSONDecoder.decode(decoder, s)\n}\n\nfunction to_py(obj, kw){\n // Conversion to Python objects\n // kw are the keyword arguments to loads()\n var res\n if(obj instanceof List){\n return obj.items.map(x => to_py(x, kw))\n }else if(obj instanceof Dict){\n if(kw.object_pairs_hook !== _b_.None){\n var pairs = []\n for(var i = 0, len = obj.keys.length; i < len; i++){\n pairs.push($B.fast_tuple([obj.keys[i],\n to_py(obj.values[i], kw)]))\n }\n return $B.$call(kw.object_pairs_hook)(pairs)\n }else{\n var dict = $B.empty_dict()\n for(var i = 0, len = obj.keys.length; i < len; i++){\n _b_.dict.$setitem(dict, obj.keys[i], to_py(obj.values[i], kw))\n }\n return kw.object_hook === _b_.None ? dict :\n $B.$call(kw.object_hook)(dict)\n }\n }else if(obj.type == 'str'){\n return obj.value\n }else if(obj.type == 'num'){\n if(obj.value.search(/[.eE]/) > -1){\n // float\n if(kw.parse_float !== _b_.None){\n return $B.$call(kw.parse_float)(obj.value)\n }\n return $B.fast_float(parseFloat(obj.value))\n }else{\n // integer\n if(kw.parse_int !== _b_.None){\n return $B.$call(kw.parse_int)(obj.value)\n }\n var int = parseInt(obj.value)\n if(Math.abs(int) < $B.max_int){\n return int\n }else{\n return $B.fast_long_int(BigInt(obj.value))\n }\n }\n }else{\n if(obj instanceof Number && kw.parse_float !== _b_.None){\n return $B.$call(kw.parse_float)(obj)\n }else if(kw.parse_int !== _b_.None &&\n (typeof obj == 'number' || obj.__class__ === $B.long_int)){\n return $B.$call(kw.parse_int)(obj)\n }else if(kw.parse_constant !== _b_.None && ! isFinite(obj)){\n return kw.parse_constant(obj)\n }\n return obj\n }\n}\n\nvar escapes = {'n': '\\n',\n 't': '\\t',\n 'b': '\\b',\n 'r': '\\r',\n 'f': '\\f',\n '\\\\': '\\\\',\n '\"': '\\\"',\n \"'\": \"\\\\'\",\n '/': '/'\n }\n\nfunction string_at(s, i){\n var error = $B.$call($B.imported[\"json\"].JSONDecodeError)\n\n var j = i + 1,\n escaped = false,\n len = s.length,\n value = ''\n while(j < len){\n if(s[j] == '\"' && ! escaped){\n return [{type: 'str', value}, j + 1]\n }else if(! escaped && s[j] == '\\\\'){\n escaped = ! escaped\n j++\n }else if(escaped){\n var esc = escapes[s[j]]\n if(esc){\n value += esc\n j++\n escaped = false\n }else if(s[j] == 'u' &&\n s.substr(j + 1, 4).match(/[0-9a-fA-f]{4}/)){\n // unicode escape\n value += String.fromCharCode(parseInt(s.substr(j + 1, 4), 16))\n j += 5\n escaped = ! escaped\n }else{\n throw error('invalid escape \"' + s[j] + '\"', s, j)\n }\n }else{\n value += s[j]\n j++\n }\n }\n}\n\nfunction to_num(num_string, nb_dots, exp){\n // convert to correct Brython type\n if(exp || nb_dots){\n return new Number(num_string)\n }else{\n var int = parseInt(num_string)\n if(Math.abs(int) < $B.max_int){\n return int\n }else{\n if(num_string.startsWith('-')){\n return $B.fast_long_int(num_string.substr(1), false)\n }else{\n return $B.fast_long_int(num_string, true)\n }\n }\n }\n}\n\nfunction num_at(s, i){\n var res = s[i],\n j = i + 1,\n nb_dots = 0,\n exp = false,\n len = s.length\n while(j < len){\n if(s[j].match(/\\d/)){\n j++\n }else if(s[j] == '.' && nb_dots == 0){\n nb_dots++\n j++\n }else if('eE'.indexOf(s[j]) > -1 && ! exp){\n exp = ! exp\n j++\n }else if(s[j] == '-' && 'eE'.includes(s[j-1])){\n j++\n }else{\n return [{type: 'num', value: s.substring(i, j)}, j]\n }\n }\n return [{type: 'num', value: s.substring(i, j)}, j]\n}\n\nvar JSONError = $B.make_class('json.decoder.JSONError')\nJSONError.__bases__ = [_b_.Exception]\nJSONError.__mro__ = _b_.type.mro(JSONError)\n\n\nfunction* tokenize(s){\n var i = 0,\n len = s.length,\n line_num = 1,\n column_start = 0,\n value,\n end\n while(i < len){\n if(s[i] == \" \" || s[i] == '\\r' || s[i] == '\\n' || s[i] == '\\t'){\n i++\n line_num++\n column_start = i\n }else if('[]{}:,'.indexOf(s[i]) > -1){\n yield [s[i], i]\n i++\n }else if(s.substr(i, 4) == 'null'){\n yield [_b_.None , i]\n i += 4\n }else if(s.substr(i, 4) == 'true'){\n yield [true, i]\n i += 4\n }else if(s.substr(i, 5) == 'false'){\n yield [false, i]\n i += 5\n }else if(s.substr(i, 8) == 'Infinity'){\n yield [{type: 'num', value: 'Infinity'}, i]\n i += 8\n }else if(s.substr(i, 9) == '-Infinity'){\n yield [{type: 'num', value: '-Infinity'}, i]\n i += 9\n }else if(s.substr(i, 3) == 'NaN'){\n yield [{type: 'num', value: 'NaN'}, i]\n i += 3\n }else if(s[i] == '\"'){\n value = string_at(s, i)\n yield value\n i = value[1]\n }else if(s[i].match(/\\d/) || s[i] == '-'){\n value = num_at(s, i)\n yield value\n i = value[1]\n }else{\n throw $B.$call(JSONError)('Extra data: ' +\n `line ${line_num} column ${1 + i - column_start}`)\n }\n }\n}\n\nfunction Node(parent){\n this.parent = parent\n if(parent instanceof List){\n this.list = parent.items\n }else if(parent instanceof Dict){\n this.list = parent.values\n }else if(parent === undefined){\n this.list = []\n }\n}\n\nNode.prototype.transition = function(token){\n if([true, false, _b_.None].includes(token) ||\n ['str', 'num'].includes(token.type)){\n if(this.parent === undefined &&\n (this.list.length > 0 || this.content)){\n throw Error('Extra data')\n }\n this.list.push(token)\n return this.parent ? this.parent : this\n }else if(token == '{'){\n if(this.parent === undefined){\n this.content = new Dict(this)\n return this.content\n }\n return new Dict(this.parent)\n }else if(token == '['){\n if(this.parent === undefined){\n this.content = new List(this)\n return this.content\n }\n return new List(this.parent)\n }else{\n throw Error('unexpected item:' + token)\n }\n}\n\nfunction Dict(parent){\n this.parent = parent\n this.keys = []\n this.values = []\n this.expect = 'key'\n if(parent instanceof List){\n parent.items.push(this)\n }else if(parent instanceof Dict){\n parent.values.push(this)\n }\n}\n\nDict.prototype.transition = function(token){\n if(this.expect == 'key'){\n if(token.type == 'str'){\n this.keys.push(token.value)\n this.expect = ':'\n return this\n }else if(token == '}' && this.keys.length == 0){\n return this.parent\n }else{\n throw Error('expected str')\n }\n }else if(this.expect == ':'){\n if(token == ':'){\n this.expect = '}'\n return new Node(this)\n }else{\n throw Error('expected :')\n }\n }else if(this.expect == '}'){\n if(token == '}'){\n return this.parent\n }else if(token == ','){\n this.expect = 'key'\n return this\n }\n throw Error('expected }')\n }\n}\n\nfunction List(parent){\n if(parent instanceof List){\n parent.items.push(this)\n }\n this.parent = parent\n this.items = []\n this.expect = 'item'\n}\n\nList.prototype.transition = function(token){\n if(this.expect == 'item'){\n this.expect = ','\n if([true, false, _b_.None].indexOf(token) > -1){\n this.items.push(token)\n return this\n }else if(token.type == 'num' || token.type == 'str'){\n this.items.push(token)\n return this\n }else if(token == '{'){\n return new Dict(this)\n }else if(token == '['){\n return new List(this)\n }else if(token == ']'){\n if(this.items.length == 0){\n if(this.parent instanceof Dict){\n this.parent.values.push(this)\n }\n return this.parent\n }\n throw Error('unexpected ]')\n }else{\n console.log('token', token)\n throw Error('unexpected item:' + token)\n }\n\n }else if(this.expect == ','){\n this.expect = 'item'\n if(token == ','){\n return this\n }else if(token == ']'){\n if(this.parent instanceof Dict){\n this.parent.values.push(this)\n }\n return this.parent\n }else{\n throw Error('expected :')\n }\n }\n}\n\nfunction parse(s){\n var res,\n state,\n node = new Node(),\n root = node,\n token\n for(var item of tokenize(s)){\n token = item[0]\n try{\n node = node.transition(token)\n }catch(err){\n console.log('error, item', item)\n console.log(err, err.message)\n console.log('node', node)\n if(err.__class__){\n throw err\n }else{\n var error = $B.$call($B.imported[\"json\"].JSONDecodeError)\n throw error(err.message, s, item[1])\n }\n }\n }\n return root.content ? root.content : root.list[0]\n}\n\nvar JSONDecoder = $B.make_class(\"JSONDecoder\",\n function(){\n var $defaults = {cls: _b_.None, object_hook: _b_.None,\n parse_float: _b_.None, parse_int: _b_.None,\n parse_constant: _b_.None, object_pairs_hook: _b_.None},\n $ = $B.args(\"decode\", 0, {}, [], arguments, {}, null, \"kw\")\n var kw = _b_.dict.$to_obj($.kw)\n for(var key in $defaults){\n if(kw[key] === undefined){\n kw[key] = $defaults[key]\n }\n }\n return {\n __class__: JSONDecoder,\n object_hook: kw.object_hook,\n parse_float: kw.parse_float,\n parse_int: kw.parse_int,\n parse_constant: kw.parse_constant,\n object_pairs_hook: kw.object_pairs_hook,\n memo: $B.empty_dict()\n }\n }\n)\n\nJSONDecoder.decode = function(self, s){\n return to_py(parse(s), self)\n}\n\n$B.imported._json = {\n dumps: function(){\n return _b_.str.$factory(to_json.apply(null, arguments))\n },\n loads,\n JSONDecoder\n}\n\n})(__BRYTHON__)"],_jsre:[".js","(function($B){\n\n var _b_ = $B.builtins\n\n var MatchObject = $B.make_class(\"Match\",\n function(jsmatch, string, pattern){\n return {\n __class__: MatchObject,\n jsmatch: jsmatch,\n string: string\n }\n }\n )\n MatchObject.item = function(self, rank){\n return self.jsmatch[rank]\n }\n MatchObject.group = function(self){\n var res = []\n for(var i = 0, _len_i = arguments.length; i < _len_i; i++){\n if(self.jsmatch[arguments[i]] === undefined){res.push(_b_.None)}\n else{res.push(self.jsmatch[arguments[i]])}\n }\n if(arguments.length == 1){return res[0]}\n return _b_.tuple.$factory(res)\n }\n MatchObject.groups = function(self, _default){\n if(_default === undefined){_default = _b_.None}\n var res = []\n for(var i = 1, _len_i = self.length; i < _len_i; i++){\n if(self.jsmatch[i] === undefined){res.push(_default)}\n else{res.push(self.jsmatch[i])}\n }\n return _b_.tuple.$factory(res)\n }\n MatchObject.start = function(self){\n return self.index\n }\n MatchObject.end = function(self){\n return self.length - self.index\n }\n\n $B.set_func_names(MatchObject, '_jsre')\n\n var obj = {\n __str__: function(){return \"\"}\n }\n obj.A = obj.ASCII = 256\n obj.I = obj.IGNORECASE = 2 // 'i'\n obj.L = obj.LOCALE = 4\n obj.M = obj.MULTILINE = 8 // 'm'\n obj.S = obj.DOTALL = 16\n obj.U = obj.UNICODE = 32\n obj.X = obj.VERBOSE = 64\n obj._is_valid = function(pattern) {\n if ($B.$options.re == 'pyre'){return false} //force use of python's re module\n if ($B.$options.re == 'jsre'){return true} //force use of brythons re module\n // FIXME: Improve\n\n if(! $B.$isinstance(pattern, _b_.str)){\n // this is probably a SRE_PATTERN, so return false, and let\n // python's re module handle this.\n return false\n }\n var is_valid = false\n try{\n new RegExp(pattern)\n is_valid = true\n }\n catch(e){}\n if(! is_valid){return false} //if js won't parse the pattern return false\n\n // using reference http://www.regular-expressions.info/\n // to compare python re and javascript regex libraries\n\n // look for things javascript does not support\n // check for name capturing group\n var mylist = ['?P=', '?P<', '(?#', '(?<=', '(? -1) return false\n }\n\n var re_list=['\\{,\\d+\\}']\n for(var i=0, _len_i = re_list.length; i < _len_i; i++) {\n var _re = new RegExp(re_list[i])\n if (_re.test(pattern)){return false}\n }\n\n // it looks like the pattern has passed all our tests so lets assume\n // javascript can handle this pattern.\n return true\n }\n var $SRE_PatternDict = {\n __class__:_b_.type,\n $infos:{\n __name__:'SRE_Pattern'\n }\n }\n $SRE_PatternDict.__mro__ = [_b_.object]\n $SRE_PatternDict.findall = function(self, string){\n return obj.findall(self.pattern, string, self.flags)\n }\n $SRE_PatternDict.finditer = function(self, string){\n return obj.finditer(self.pattern, string, self.flags)\n }\n $SRE_PatternDict.match = function(self, string){\n return obj.match(self.pattern, string, self.flags)\n }\n $SRE_PatternDict.search = function(self, string){\n return obj.search(self.pattern, string, self.flags)\n }\n $SRE_PatternDict.sub = function(self,repl,string){\n return obj.sub(self.pattern,repl,string,self.flags)\n }\n $B.set_func_names($SRE_PatternDict, \"_jsre\")\n // TODO: groups\n // TODO: groupindex\n function normflags(flags){\n return ((flags & obj.I)? 'i' : '') + ((flags & obj.M)? 'm' : '');\n }\n // TODO: fullmatch()\n // TODO: split()\n // TODO: subn()\n obj.compile = function(pattern, flags){\n return {\n __class__: $SRE_PatternDict,\n pattern: pattern,\n flags: normflags(flags)\n }\n }\n obj.escape = function(string){\n // Escape all the characters in pattern except ASCII letters, numbers\n // and '_'. This is useful if you want to match an arbitrary literal\n // string that may have regular expression metacharacters in it.\n var res = ''\n var ok = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'\n for(var i = 0, _len_i = string.length; i < _len_i; i++){\n if(ok.search(string.charAt(i))>-1){res += string.charAt(i)}\n }\n return res\n }\n obj.findall = function(pattern, string, flags){\n var $ns=$B.args('re.findall', 2,\n {pattern:null, string:null}, ['pattern', 'string'],\n arguments,{}, 'args', 'kw') ,\n args = $ns['args'] ,\n _flags = 0;\n if(args.length>0){var flags = args[0]}\n else{var _flags = $B.$getattr($ns['kw'], 'get')('flags', 0)}\n\n var flags = normflags()\n flags += 'gm'\n var jsp = new RegExp(pattern,flags),\n jsmatch = string.match(jsp)\n if(jsmatch === null){return []}\n return jsmatch\n }\n obj.finditer = function(pattern, string, flags){\n var $ns=$B.args('re.finditer', 2,\n {pattern:null, string:null}, ['pattern', 'string'],\n arguments,{},'args','kw'),\n args = $ns['args'],\n _flags = 0;\n if(args.length>0){var flags=args[0]}\n else{var _flags = $B.$getattr($ns['kw'], 'get')('flags', 0)}\n\n var flags = normflags()\n flags += 'gm'\n var jsp = new RegExp(pattern, flags),\n jsmatch = string.match(jsp);\n if(jsmatch === null){return []}\n\n var _list = []\n for(var j = 0, _len_j = jsmatch.length; j < _len_j; j++) {\n var mo = {}\n mo._match=jsmatch[j]\n mo.group = function(){\n var res = []\n for(var i=0, _len_i = arguments.length; i < _len_i;i++){\n if(jsmatch[arguments[i]] === undefined){res.push(_b_.None)}\n else{res.push(jsmatch[arguments[i]])}\n }\n if(arguments.length == 1){return res[0]}\n return _b_.tuple.$factory(res)\n }\n mo.groups = function(_default){\n if(_default === undefined){_default = _b_.None}\n var res = []\n for(var i = 1, _len_i = jsmatch.length; i < _len_i; i++){\n if(jsmatch[i] === undefined){res.push(_default)}\n else{res.push(jsmatch[i])}\n }\n return _b_.tuple.$factory(res)\n }\n mo.start = function(){return mo._match.index}\n mo.end = function(){return mo._match.length - mo._match.index}\n mo.string = string\n _list.push(mo)\n }\n return _list\n }\n obj.search = function(pattern, string){\n var $ns = $B.args('re.search', 2,\n {pattern:null, string:null},['pattern', 'string'],\n arguments, {}, 'args', 'kw')\n var args = $ns['args']\n if(args.length>0){var flags = args[0]}\n else{var flags = $B.$getattr($ns['kw'], 'get')('flags', '')}\n flags = normflags(flags)\n var jsp = new RegExp(pattern, flags)\n var jsmatch = string.match(jsp)\n if(jsmatch === null){return _b_.None}\n return MatchObject.$factory(jsmatch, string, pattern)\n }\n obj.sub = function(pattern, repl, string){\n var $ns=$B.args('re.search', 3,\n {pattern: null, repl: null, string: null},\n ['pattern', 'repl', 'string'],\n arguments,{}, 'args', 'kw')\n for($var in $ns){eval(\"var \" + $var + \"=$ns[$var]\")}\n var args = $ns['args']\n var count = _b_.dict.get($ns['kw'], 'count', 0)\n var flags = _b_.dict.get($ns['kw'], 'flags', '')\n if(args.length > 0){var count = args[0]}\n if(args.length > 1){var flags = args[1]}\n flags = normflags(flags)\n if(typeof repl == \"string\"){\n // backreferences are \\1, \\2... in Python but $1,$2... in Javascript\n repl = repl.replace(/\\\\(\\d+)/g, '$$$1')\n }else if(typeof repl == \"function\"){\n // the argument passed to the Python function is the match object\n // the arguments passed to the Javascript function are :\n // - the matched substring\n // - the matched groups\n // - the offset of the matched substring inside the string\n // - the string being examined\n var $repl1 = function(){\n var mo = Object()\n mo.string = arguments[arguments.length - 1]\n var matched = arguments[0];\n var start = arguments[arguments.length - 2]\n var end = start + matched.length\n mo.start = function(){return start}\n mo.end = function(){return end}\n groups = []\n for(var i = 1, _len_i = arguments.length-2; i < _len_i; i++){\n groups.push(arguments[i])\n }\n mo.groups = function(_default){\n if(_default === undefined){_default = _b_.None}\n var res = []\n for(var i = 0, _len_i = groups.length; i < _len_i; i++){\n if(groups[i] === undefined){res.push(_default)}\n else{res.push(groups[i])}\n }\n return res\n }\n mo.group = function(i){\n if(i==0){return matched}\n return groups[i-1]\n }\n return repl(mo)\n }\n }\n if(count == 0){flags += 'g'}\n var jsp = new RegExp(pattern, flags)\n if(typeof repl == 'function'){return string.replace(jsp, $repl1)}\n else{return string.replace(jsp, repl)}\n }\n obj.match = (function(search_func){\n return function(){\n // match is like search but pattern must start with ^\n var pattern = arguments[0]\n if(pattern.charAt(0) != '^'){pattern = '^'+pattern}\n var args = [pattern]\n for(var i = 1, _len_i = arguments.length; i < _len_i; i++){\n args.push(arguments[i])\n }\n return search_func.apply(null, args)\n }\n })(obj.search)\n\n $B.addToImported('_jsre', obj)\n}\n)(__BRYTHON__)\n"],_locale:[".js",'var am = {\n "C": "AM",\n "aa": "saaku",\n "ab": "AM",\n "ae": "AM",\n "af": "vm.",\n "ak": "AN",\n "am": "\\u1325\\u12cb\\u1275",\n "an": "AM",\n "ar": "\\u0635",\n "as": "\\u09f0\\u09be\\u09a4\\u09bf\\u09aa\\u09c1",\n "av": "AM",\n "ay": "AM",\n "az": "AM",\n "ba": "",\n "be": "",\n "bg": "",\n "bh": "AM",\n "bi": "AM",\n "bm": "AM",\n "bn": "AM",\n "bo": "\\u0f66\\u0f94\\u0f0b\\u0f51\\u0fb2\\u0f7c",\n "br": "A.M.",\n "bs": "prijepodne",\n "ca": "a. m.",\n "ce": "AM",\n "ch": "AM",\n "co": "",\n "cr": "AM",\n "cs": "dop.",\n "cu": "\\u0414\\u041f",\n "cv": "AM",\n "cy": "yb",\n "da": "",\n "de": "",\n "dv": "\\u0789\\u0786",\n "dz": "\\u0f66\\u0f94\\u0f0b\\u0f46\\u0f0b",\n "ee": "\\u014bdi",\n "el": "\\u03c0\\u03bc",\n "en": "AM",\n "eo": "atm",\n "es": "",\n "et": "AM",\n "eu": "AM",\n "fa": "\\u0642.\\u0638",\n "ff": "",\n "fi": "ap.",\n "fj": "AM",\n "fo": "um fyr.",\n "fr": "",\n "fy": "AM",\n "ga": "r.n.",\n "gd": "m",\n "gl": "a.m.",\n "gn": "a.m.",\n "gu": "\\u0aaa\\u0ac2\\u0ab0\\u0acd\\u0ab5\\u00a0\\u0aae\\u0aa7\\u0acd\\u0aaf\\u0abe\\u0ab9\\u0acd\\u0aa8",\n "gv": "a.m.",\n "ha": "AM",\n "he": "AM",\n "hi": "\\u092a\\u0942\\u0930\\u094d\\u0935\\u093e\\u0939\\u094d\\u0928",\n "ho": "AM",\n "hr": "",\n "ht": "AM",\n "hu": "de.",\n "hy": "",\n "hz": "AM",\n "ia": "a.m.",\n "id": "AM",\n "ie": "AM",\n "ig": "A.M.",\n "ii": "\\ua0b5\\ua1aa\\ua20c\\ua210",\n "ik": "AM",\n "io": "AM",\n "is": "f.h.",\n "it": "",\n "iu": "AM",\n "ja": "\\u5348\\u524d",\n "jv": "",\n "ka": "AM",\n "kg": "AM",\n "ki": "Kiroko",\n "kj": "AM",\n "kk": "AM",\n "kl": "",\n "km": "\\u1796\\u17d2\\u179a\\u17b9\\u1780",\n "kn": "\\u0caa\\u0cc2\\u0cb0\\u0ccd\\u0cb5\\u0cbe\\u0cb9\\u0ccd\\u0ca8",\n "ko": "\\uc624\\uc804",\n "kr": "AM",\n "ks": "AM",\n "ku": "\\u067e.\\u0646",\n "kv": "AM",\n "kw": "a.m.",\n "ky": "",\n "la": "",\n "lb": "",\n "lg": "AM",\n "li": "AM",\n "ln": "nt\\u0254\\u0301ng\\u0254\\u0301",\n "lo": "\\u0e81\\u0ec8\\u0ead\\u0e99\\u0e97\\u0ec8\\u0ebd\\u0e87",\n "lt": "prie\\u0161piet",\n "lu": "Dinda",\n "lv": "priek\\u0161p.",\n "mg": "AM",\n "mh": "AM",\n "mi": "a.m.",\n "mk": "\\u043f\\u0440\\u0435\\u0442\\u043f\\u043b.",\n "ml": "AM",\n "mn": "??",\n "mo": "AM",\n "mr": "\\u092e.\\u092a\\u0942.",\n "ms": "PG",\n "mt": "AM",\n "my": "\\u1014\\u1036\\u1014\\u1000\\u103a",\n "na": "AM",\n "nb": "a.m.",\n "nd": "AM",\n "ne": "\\u092a\\u0942\\u0930\\u094d\\u0935\\u093e\\u0939\\u094d\\u0928",\n "ng": "AM",\n "nl": "",\n "nn": "f.m.",\n "no": "a.m.",\n "nr": "AM",\n "nv": "AM",\n "ny": "AM",\n "oc": "AM",\n "oj": "AM",\n "om": "WD",\n "or": "AM",\n "os": "AM",\n "pa": "\\u0a38\\u0a35\\u0a47\\u0a30",\n "pi": "AM",\n "pl": "AM",\n "ps": "\\u063a.\\u0645.",\n "pt": "",\n "qu": "a.m.",\n "rc": "AM",\n "rm": "AM",\n "rn": "Z.MU.",\n "ro": "a.m.",\n "ru": "",\n "rw": "AM",\n "sa": "\\u092e\\u0927\\u094d\\u092f\\u093e\\u0928\\u092a\\u0942\\u0930\\u094d\\u0935",\n "sc": "AM",\n "sd": "AM",\n "se": "i.b.",\n "sg": "ND",\n "sh": "AM",\n "si": "\\u0db4\\u0dd9.\\u0dc0.",\n "sk": "AM",\n "sl": "dop.",\n "sm": "AM",\n "sn": "AM",\n "so": "sn.",\n "sq": "e paradites",\n "sr": "pre podne",\n "ss": "AM",\n "st": "AM",\n "su": "AM",\n "sv": "",\n "sw": "AM",\n "ta": "\\u0b95\\u0bbe\\u0bb2\\u0bc8",\n "te": "\\u0c2a\\u0c42\\u0c30\\u0c4d\\u0c35\\u0c3e\\u0c39\\u0c4d\\u0c28",\n "tg": "",\n "th": "AM",\n "ti": "\\u1295\\u1309\\u1206 \\u1230\\u12d3\\u1270",\n "tk": "",\n "tl": "AM",\n "tn": "AM",\n "to": "AM",\n "tr": "\\u00d6\\u00d6",\n "ts": "AM",\n "tt": "",\n "tw": "AM",\n "ty": "AM",\n "ug": "\\u0686?\\u0634\\u062a\\u0649\\u0646 \\u0628?\\u0631?\\u0646",\n "uk": "AM",\n "ur": "AM",\n "uz": "TO",\n "ve": "AM",\n "vi": "SA",\n "vo": "AM",\n "wa": "AM",\n "wo": "",\n "xh": "AM",\n "yi": "\\ua0b5\\ua1aa\\ua20c\\ua210",\n "yo": "\\u00c0\\u00e1r?`",\n "za": "AM",\n "zh": "\\u4e0a\\u5348",\n "zu": "AM"\n}\nvar pm = {\n "C": "PM",\n "aa": "carra",\n "ab": "PM",\n "ae": "PM",\n "af": "nm.",\n "ak": "EW",\n "am": "\\u12a8\\u1230\\u12d3\\u1275",\n "an": "PM",\n "ar": "\\u0645",\n "as": "\\u0986\\u09ac\\u09c7\\u09b2\\u09bf",\n "av": "PM",\n "ay": "PM",\n "az": "PM",\n "ba": "",\n "be": "",\n "bg": "",\n "bh": "PM",\n "bi": "PM",\n "bm": "PM",\n "bn": "PM",\n "bo": "\\u0f55\\u0fb1\\u0f72\\u0f0b\\u0f51\\u0fb2\\u0f7c",\n "br": "G.M.",\n "bs": "popodne",\n "ca": "p. m.",\n "ce": "PM",\n "ch": "PM",\n "co": "",\n "cr": "PM",\n "cs": "odp.",\n "cu": "\\u041f\\u041f",\n "cv": "PM",\n "cy": "yh",\n "da": "",\n "de": "",\n "dv": "\\u0789\\u078a",\n "dz": "\\u0f55\\u0fb1\\u0f72\\u0f0b\\u0f46\\u0f0b",\n "ee": "\\u0263etr\\u0254",\n "el": "\\u03bc\\u03bc",\n "en": "PM",\n "eo": "ptm",\n "es": "",\n "et": "PM",\n "eu": "PM",\n "fa": "\\u0628.\\u0638",\n "ff": "",\n "fi": "ip.",\n "fj": "PM",\n "fo": "um sein.",\n "fr": "",\n "fy": "PM",\n "ga": "i.n.",\n "gd": "f",\n "gl": "p.m.",\n "gn": "p.m.",\n "gu": "\\u0a89\\u0aa4\\u0acd\\u0aa4\\u0ab0\\u00a0\\u0aae\\u0aa7\\u0acd\\u0aaf\\u0abe\\u0ab9\\u0acd\\u0aa8",\n "gv": "p.m.",\n "ha": "PM",\n "he": "PM",\n "hi": "\\u0905\\u092a\\u0930\\u093e\\u0939\\u094d\\u0928",\n "ho": "PM",\n "hr": "",\n "ht": "PM",\n "hu": "du.",\n "hy": "",\n "hz": "PM",\n "ia": "p.m.",\n "id": "PM",\n "ie": "PM",\n "ig": "P.M.",\n "ii": "\\ua0b5\\ua1aa\\ua20c\\ua248",\n "ik": "PM",\n "io": "PM",\n "is": "e.h.",\n "it": "",\n "iu": "PM",\n "ja": "\\u5348\\u5f8c",\n "jv": "",\n "ka": "PM",\n "kg": "PM",\n "ki": "Hwa\\u0129-in\\u0129",\n "kj": "PM",\n "kk": "PM",\n "kl": "",\n "km": "\\u179b\\u17d2\\u1784\\u17b6\\u1785",\n "kn": "\\u0c85\\u0caa\\u0cb0\\u0cbe\\u0cb9\\u0ccd\\u0ca8",\n "ko": "\\uc624\\ud6c4",\n "kr": "PM",\n "ks": "PM",\n "ku": "\\u062f.\\u0646",\n "kv": "PM",\n "kw": "p.m.",\n "ky": "",\n "la": "",\n "lb": "",\n "lg": "PM",\n "li": "PM",\n "ln": "mp\\u00f3kwa",\n "lo": "\\u0eab\\u0ebc\\u0eb1\\u0e87\\u0e97\\u0ec8\\u0ebd\\u0e87",\n "lt": "popiet",\n "lu": "Dilolo",\n "lv": "p\\u0113cp.",\n "mg": "PM",\n "mh": "PM",\n "mi": "p.m.",\n "mk": "\\u043f\\u043e\\u043f\\u043b.",\n "ml": "PM",\n "mn": "?\\u0425",\n "mo": "PM",\n "mr": "\\u092e.\\u0928\\u0902.",\n "ms": "PTG",\n "mt": "PM",\n "my": "\\u100a\\u1014\\u1031",\n "na": "PM",\n "nb": "p.m.",\n "nd": "PM",\n "ne": "\\u0905\\u092a\\u0930\\u093e\\u0939\\u094d\\u0928",\n "ng": "PM",\n "nl": "",\n "nn": "e.m.",\n "no": "p.m.",\n "nr": "PM",\n "nv": "PM",\n "ny": "PM",\n "oc": "PM",\n "oj": "PM",\n "om": "WB",\n "or": "PM",\n "os": "PM",\n "pa": "\\u0a36\\u0a3e\\u0a2e",\n "pi": "PM",\n "pl": "PM",\n "ps": "\\u063a.\\u0648.",\n "pt": "",\n "qu": "p.m.",\n "rc": "PM",\n "rm": "PM",\n "rn": "Z.MW.",\n "ro": "p.m.",\n "ru": "",\n "rw": "PM",\n "sa": "\\u092e\\u0927\\u094d\\u092f\\u093e\\u0928\\u092a\\u091a\\u094d\\u092f\\u093e\\u0924",\n "sc": "PM",\n "sd": "PM",\n "se": "e.b.",\n "sg": "LK",\n "sh": "PM",\n "si": "\\u0db4.\\u0dc0.",\n "sk": "PM",\n "sl": "pop.",\n "sm": "PM",\n "sn": "PM",\n "so": "gn.",\n "sq": "e pasdites",\n "sr": "po podne",\n "ss": "PM",\n "st": "PM",\n "su": "PM",\n "sv": "",\n "sw": "PM",\n "ta": "\\u0bae\\u0bbe\\u0bb2\\u0bc8",\n "te": "\\u0c05\\u0c2a\\u0c30\\u0c3e\\u0c39\\u0c4d\\u0c28",\n "tg": "",\n "th": "PM",\n "ti": "\\u12f5\\u1215\\u122d \\u1230\\u12d3\\u1275",\n "tk": "",\n "tl": "PM",\n "tn": "PM",\n "to": "PM",\n "tr": "\\u00d6S",\n "ts": "PM",\n "tt": "",\n "tw": "PM",\n "ty": "PM",\n "ug": "\\u0686?\\u0634\\u062a\\u0649\\u0646 \\u0643?\\u064a\\u0649\\u0646",\n "uk": "PM",\n "ur": "PM",\n "uz": "TK",\n "ve": "PM",\n "vi": "CH",\n "vo": "PM",\n "wa": "PM",\n "wo": "",\n "xh": "PM",\n "yi": "\\ua0b5\\ua1aa\\ua20c\\ua248",\n "yo": "?`s\\u00e1n",\n "za": "PM",\n "zh": "\\u4e0b\\u5348",\n "zu": "PM"\n}\n\nvar X_format = {\n "%H:%M:%S": [\n "C",\n "ab",\n "ae",\n "af",\n "an",\n "av",\n "ay",\n "az",\n "ba",\n "be",\n "bg",\n "bh",\n "bi",\n "bm",\n "bo",\n "br",\n "bs",\n "ca",\n "ce",\n "ch",\n "co",\n "cr",\n "cs",\n "cu",\n "cv",\n "cy",\n "da",\n "de",\n "dv",\n "eo",\n "es",\n "et",\n "eu",\n "ff",\n "fj",\n "fo",\n "fr",\n "fy",\n "ga",\n "gd",\n "gl",\n "gn",\n "gu",\n "gv",\n "ha",\n "he",\n "hi",\n "ho",\n "hr",\n "ht",\n "hu",\n "hy",\n "hz",\n "ia",\n "ie",\n "ig",\n "ik",\n "io",\n "is",\n "it",\n "ja",\n "ka",\n "kg",\n "ki",\n "kj",\n "kk",\n "kl",\n "km",\n "kn",\n "kv",\n "kw",\n "ky",\n "la",\n "lb",\n "lg",\n "li",\n "ln",\n "lo",\n "lt",\n "lu",\n "lv",\n "mg",\n "mh",\n "mk",\n "mn",\n "mo",\n "mr",\n "mt",\n "my",\n "na",\n "nb",\n "nd",\n "ng",\n "nl",\n "nn",\n "no",\n "nr",\n "nv",\n "ny",\n "oj",\n "or",\n "os",\n "pi",\n "pl",\n "ps",\n "pt",\n "rc",\n "rm",\n "rn",\n "ro",\n "ru",\n "rw",\n "sa",\n "sc",\n "se",\n "sg",\n "sh",\n "sk",\n "sl",\n "sm",\n "sn",\n "sr",\n "ss",\n "st",\n "su",\n "sv",\n "sw",\n "ta",\n "te",\n "tg",\n "th",\n "tk",\n "tl",\n "tn",\n "tr",\n "ts",\n "tt",\n "tw",\n "ty",\n "ug",\n "uk",\n "uz",\n "ve",\n "vo",\n "wa",\n "wo",\n "xh",\n "yo",\n "za",\n "zh",\n "zu"\n ],\n "%i:%M:%S %p": [\n "aa",\n "ak",\n "am",\n "bn",\n "el",\n "en",\n "iu",\n "kr",\n "ks",\n "mi",\n "ml",\n "ms",\n "ne",\n "om",\n "sd",\n "so",\n "sq",\n "ti",\n "to",\n "ur",\n "vi"\n ],\n "%I:%M:%S %p": [\n "ar",\n "fa",\n "ku",\n "qu"\n ],\n "%p %i:%M:%S": [\n "as",\n "ii",\n "ko",\n "yi"\n ],\n "\\u0f46\\u0f74\\u0f0b\\u0f5a\\u0f7c\\u0f51\\u0f0b%i:%M:%S %p": [\n "dz"\n ],\n "%p ga %i:%M:%S": [\n "ee"\n ],\n "%H.%M.%S": [\n "fi",\n "id",\n "jv",\n "oc",\n "si"\n ],\n "%p %I:%M:%S": [\n "pa"\n ]\n}\nvar x_format = {\n "%m/%d/%y": [\n "C"\n ],\n "%d/%m/%Y": [\n "aa",\n "am",\n "bm",\n "bn",\n "ca",\n "co",\n "cy",\n "el",\n "es",\n "ff",\n "fr",\n "ga",\n "gd",\n "gl",\n "gn",\n "gv",\n "ha",\n "he",\n "id",\n "ig",\n "it",\n "iu",\n "jv",\n "ki",\n "kr",\n "kw",\n "la",\n "lg",\n "ln",\n "lo",\n "lu",\n "mi",\n "ml",\n "ms",\n "mt",\n "nd",\n "oc",\n "om",\n "pt",\n "qu",\n "rn",\n "sd",\n "sg",\n "so",\n "sw",\n "ti",\n "to",\n "uk",\n "ur",\n "uz",\n "vi",\n "wo",\n "yo"\n ],\n "%m/%d/%Y": [\n "ab",\n "ae",\n "an",\n "av",\n "ay",\n "bh",\n "bi",\n "ch",\n "cr",\n "cv",\n "ee",\n "en",\n "fj",\n "ho",\n "ht",\n "hz",\n "ie",\n "ik",\n "io",\n "kg",\n "kj",\n "ks",\n "kv",\n "li",\n "mh",\n "mo",\n "na",\n "ne",\n "ng",\n "nv",\n "ny",\n "oj",\n "pi",\n "rc",\n "sc",\n "sh",\n "sm",\n "su",\n "tl",\n "tw",\n "ty",\n "wa",\n "za",\n "zu"\n ],\n "%Y-%m-%d": [\n "af",\n "br",\n "ce",\n "dz",\n "eo",\n "ko",\n "lt",\n "mg",\n "nr",\n "rw",\n "se",\n "si",\n "sn",\n "ss",\n "st",\n "sv",\n "tn",\n "ts",\n "ug",\n "ve",\n "vo",\n "xh"\n ],\n "%Y/%m/%d": [\n "ak",\n "bo",\n "eu",\n "ia",\n "ii",\n "ja",\n "ku",\n "yi",\n "zh"\n ],\n "null": [\n "ar",\n "fa",\n "ps",\n "th"\n ],\n "%d-%m-%Y": [\n "as",\n "da",\n "fy",\n "hi",\n "kl",\n "mr",\n "my",\n "nl",\n "rm",\n "sa",\n "ta"\n ],\n "%d.%m.%Y": [\n "az",\n "cs",\n "de",\n "et",\n "fi",\n "fo",\n "hy",\n "is",\n "ka",\n "kk",\n "lv",\n "mk",\n "nb",\n "nn",\n "no",\n "os",\n "pl",\n "ro",\n "ru",\n "sq",\n "tg",\n "tr",\n "tt"\n ],\n "%d.%m.%y": [\n "ba",\n "be",\n "lb"\n ],\n "%d.%m.%Y \\u0433.": [\n "bg"\n ],\n "%d.%m.%Y.": [\n "bs",\n "hr",\n "sr"\n ],\n "%Y.%m.%d": [\n "cu",\n "mn"\n ],\n "%d/%m/%y": [\n "dv",\n "km"\n ],\n "%d-%m-%y": [\n "gu",\n "kn",\n "or",\n "pa",\n "te"\n ],\n "%Y. %m. %d.": [\n "hu"\n ],\n "%d-%b %y": [\n "ky"\n ],\n "%d. %m. %Y": [\n "sk",\n "sl"\n ],\n "%d.%m.%y \\u00fd.": [\n "tk"\n ]\n}\n\n\n\n__BRYTHON__.imported._locale = (function($B){\n var _b_ = $B.builtins\n return {\n CHAR_MAX: 127,\n LC_ALL: 6,\n LC_COLLATE: 3,\n LC_CTYPE: 0,\n LC_MESSAGES: 5,\n LC_MONETARY: 4,\n LC_NUMERIC: 1,\n LC_TIME: 2,\n Error: _b_.ValueError,\n\n _date_format: function(spec, hour){\n var t,\n locale = __BRYTHON__.locale.substr(0, 2)\n\n if(spec == "p"){\n var res = hours < 12 ? am[locale] : pm[locale]\n if(res === undefined){\n throw _b_.ValueError.$factory("no format " + spec + " for locale " +\n locale)\n }\n return res\n }\n else if(spec == "x"){\n t = x_format\n }else if(spec == "X"){\n t = X_format\n }else{\n throw _b_.ValueError.$factory("invalid format", spec)\n }\n for(var key in t){\n if(t[key].indexOf(locale) > -1){\n return key\n }\n }\n throw _b_.ValueError.$factory("no format " + spec + " for locale " +\n locale)\n },\n\n localeconv: function(){\n var conv = {\'grouping\': [127],\n \'currency_symbol\': \'\',\n \'n_sign_posn\': 127,\n \'p_cs_precedes\': 127,\n \'n_cs_precedes\': 127,\n \'mon_grouping\': [],\n \'n_sep_by_space\': 127,\n \'decimal_point\': \'.\',\n \'negative_sign\': \'\',\n \'positive_sign\': \'\',\n \'p_sep_by_space\': 127,\n \'int_curr_symbol\': \'\',\n \'p_sign_posn\': 127,\n \'thousands_sep\': \'\',\n \'mon_thousands_sep\': \'\',\n \'frac_digits\': 127,\n \'mon_decimal_point\': \'\',\n \'int_frac_digits\': 127\n }\n var res = $B.empty_dict()\n for(var key in conv){\n _b_.dict.$setitem(res, key, conv[key])\n }\n\n return res\n },\n\n setlocale : function(){\n var $ = $B.args("setlocale", 2, {category: null, locale: null},\n ["category", "locale"], arguments, {locale: _b_.None},\n null, null)\n /// XXX category is currently ignored\n if($.locale == ""){\n // use browser language setting, if it is set\n var LANG = ($B.language || "").substr(0, 2)\n if(am.hasOwnProperty(LANG)){\n $B.locale = LANG\n return LANG\n }else{\n console.log("Unknown locale: " + LANG)\n }\n }else if($.locale === _b_.None){\n // return current locale\n return $B.locale\n }else{\n // Only use 2 first characters\n try{$.locale.substr(0, 2)}\n catch(err){\n throw $module.Error.$factory("Invalid locale: " + $.locale)\n }\n if(am.hasOwnProperty($.locale.substr(0, 2))){\n $B.locale = $.locale\n return $.locale\n }else{\n throw $module.Error.$factory("Unknown locale: " + $.locale)\n }\n }\n }\n }\n})(__BRYTHON__)\n'],_multiprocessing:[".js","// multiprocessing\n(function($B){\n\nvar _b_ = $B.builtins\n\nvar Process = $B.make_class('Process')\n\nvar $convert_args=function(args) {\n var _list=[]\n for(var i=0, _len_i = args.length; i < _len_i; i++) {\n var _a=args[i]\n if($B.$isinstance(_a, _b_.str)){_list.push(\"'\"+_a+\"'\")} else {_list.push(_a)}\n }\n\n return _list.join(',')\n}\n\nProcess.is_alive = function(self){return self.$alive}\n\nProcess.join = function(self, timeout){\n // need to block until process is complete\n // could probably use a addEventListener to execute all existing code\n // after this join statement\n\n self.$worker.addEventListener('message', function (e) {\n var data=e.data\n if (data.stdout != '') { // output stdout from process\n $B.stdout.write(data.stdout)\n }\n }, false);\n}\n\nProcess.run = function(self){\n //fix me\n}\n\nProcess.start = function(self){\n self.$worker.postMessage({target: self.$target,\n args: $convert_args(self.$args),\n // kwargs: self.$kwargs\n })\n self.$worker.addEventListener('error', function(e) { throw e})\n self.$alive=true\n}\n\nProcess.terminate = function(self){\n self.$worker.terminate()\n self.$alive=false\n}\n\n// variables\n//name\n//daemon\n//pid\n//exitcode\n\nProcess. $factory = function(){\n //arguments group=None, target=None, name=None, args=(), kwargs=()\n\n var $ns=$B.args('Process',0,{},[],arguments,{},null,'kw')\n var kw=$ns['kw']\n\n var target=_b_.dict.get($ns['kw'],'target', _b_.None)\n var args=_b_.dict.get($ns['kw'],'args', _b_.tuple.$factory())\n\n var worker = new Worker('/src/web_workers/multiprocessing.js')\n\n var res = {\n __class__:Process,\n $worker: worker,\n name: $ns['name'] || _b_.None,\n $target: target+'',\n $args: args,\n //$kwargs: $ns['kw'],\n $alive: false\n }\n return res\n}\n\n$B.set_func_names(Process, \"multiprocessing\")\n\nvar Pool = $B.make_class(\"Pool\")\n\nPool.__enter__ = function(self){}\nPool.__exit__ = function(self){}\n\nPool.__str__ = Pool.toString = Pool.__repr__=function(self){\n return ''\n}\n\nPool.map = function(){\n\n var $ns=$B.args('Pool.map', 3,\n {self:null, func:null, fargs:null}, ['self', 'func', 'fargs'],\n arguments,{},'args','kw')\n var func = $ns['func']\n var fargs = $ns['fargs']\n\n var _results = []\n\n fargs = _b_.iter(fargs)\n\n var _pos = 0\n console.log(self.$processes)\n _workers =[]\n for(var i=0; i < self.$processes; i++) {\n _workers[i] = new Worker('/src/web_workers/multiprocessing.js')\n var arg\n\n try{arg = $B.$getattr(fargs, '__next__')()}\n catch(err) {\n if (err.__class__ !== _b_.StopIteration) throw err\n }\n console.log(arg)\n _workers[i].finished=false\n _workers[i].postMessage({target: func+'', pos: _pos,\n args: $convert_args([arg])})\n _pos++\n\n _workers[i].addEventListener('message', function(e) {\n _results[e.data.pos]=e.data.result\n if (_results.length == args.length) return _results\n\n try {\n arg = $B.$getattr(fargs, '__next__')()\n e.currentTarget.postMessage({target: func+'', pos: _pos,\n args: $convert_args([arg])})\n _pos++\n } catch(err) {\n if (err.__class__ !== _b_.StopIteration) throw err\n this.finished=true\n }\n }, false);\n }\n}\n\nPool.apply_async = function(){\n\n var $ns=$B.$MakeArgs('apply_async', 3,\n {self:null, func:null, fargs:null}, ['self', 'func', 'fargs'],\n arguments,{},'args','kw')\n var func = $ns['func']\n var fargs = $ns['fargs']\n\n fargs = _b_.iter(fargs)\n\n async_result = {}\n async_result.get = function(timeout){\n console.log(results)\n console.log(fargs)\n return this.results}\n async_result.results=[]\n\n var _pos=0\n\n _workers=[]\n for(var i=0; i < self.$processes; i++) {\n _workers[i] = new Worker('/src/web_workers/multiprocessing.js')\n var arg\n\n try{arg = $B.$getattr(fargs, '__next__')()}\n catch(err) {\n if (err.__class__ !== _b_.StopIteration) throw err\n }\n //console.log(arg)\n //_workers[i].finished=false\n _workers[i].postMessage({target: func+'', pos: _pos,\n args: $convert_args([arg])})\n _pos++\n\n _workers[i].addEventListener('message', function(e) {\n async_result.results[e.data.pos]=e.data.result\n //if (_results.length == args.length) return _results\n\n try {\n arg = $B.$getattr(fargs, '__next__')()\n e.currentTarget.postMessage({target: func+'', pos: _pos,\n args: $convert_args([arg])})\n _pos++\n } catch(err) {\n if (err.__class__ !== _b_.StopIteration) throw err\n this.finished=true\n }\n }, false);\n }\n\n console.log(\"return\", async_result)\n return async_result\n}\n\nPool.$factory = function(){\n console.log(\"pool\")\n console.log(arguments)\n var $ns=$B.args('Pool',1,\n {processes:null},['processes'],arguments,{},'args','kw')\n\n var processes = $ns['processes']\n\n if (processes === _b_.None) {\n // look to see if we have stored cpu_count in local storage\n // maybe we should create a brython config file with settings,etc..??\n\n // if not there use a tool such as Core Estimator to calculate number of cpu's\n // http://eligrey.com/blog/post/cpu-core-estimation-with-javascript\n }\n\n console.log(processes)\n var res = {\n __class__:Pool,\n $processes:processes\n }\n return res\n}\n\n$B.set_func_names(Pool, \"multiprocessing\")\n\n$B.imported._multiprocessing = {Process:Process, Pool:Pool}\n\n})(__BRYTHON__)\n"],_posixsubprocess:[".js","(function($B){\n\n $B.imported._posixsubprocess = {\n cloexec_pipe: function() {}, // fixme\n fork_exec: function(){}\n }\n})(__BRYTHON__)\n"],_profile:[".js","// Private interface to the profiling instrumentation implemented in py_utils.js.\n// Uses local a copy of the eval function from py_builtin_functions.js\n\nvar $module=(function($B) {\n eval($B.InjectBuiltins());\n return {\n brython:$B,\n data:$B.$profile_data,\n start:$B.$profile.start,\n stop:$B.$profile.stop,\n pause:$B.$profile.pause,\n status:$B.$profile.status,\n clear:$B.$profile.clear,\n elapsed:$B.$profile.elapsed,\n run:function(src,_globals,_locals,nruns) {\n var current_frame = $B.frames_stack[$B.frames_stack.length-1]\n if(current_frame!==undefined){\n var current_locals_id = current_frame[0].replace(/\\./,'_'),\n current_globals_id = current_frame[2].replace(/\\./,'_')\n }\n\n var is_exec = true,\n leave = false\n\n // code will be run in a specific block\n var globals_id = '$profile_'+$B.UUID(),\n locals_id\n\n if(_locals===_globals){\n locals_id = globals_id\n }else{\n locals_id = '$profile_'+$B.UUID()\n }\n // Initialise the object for block namespaces\n eval('var $locals_'+globals_id+' = {}\\nvar $locals_'+locals_id+' = {}')\n\n // Initialise block globals\n\n // A _globals dictionary is provided, set or reuse its attribute\n // globals_id\n _globals.globals_id = _globals.globals_id || globals_id\n globals_id = _globals.globals_id\n\n if(_locals === _globals || _locals === undefined){\n locals_id = globals_id\n parent_scope = $B.builtins_scope\n }else{\n // The parent block of locals must be set to globals\n parent_scope = {\n id: globals_id,\n parent_block: $B.builtins_scope,\n binding: {}\n }\n for(var attr of _b_.dict.$keys_string(_globals)){\n parent_scope.binding[attr] = true\n }\n }\n\n // Initialise block globals\n if(_globals.$jsobj){\n var items = _globals.$jsobj\n }else{\n var items = {}\n for(var key of _b_.dict.$keys_string(_globals)){\n items[key] = _b_.dict.$getitem_string(_globals, key)\n }\n }\n for(var item in items){\n item1 = to_alias(item)\n try{\n eval('$locals_' + globals_id + '[\"' + item1 +\n '\"] = items[item]')\n }catch(err){\n console.log(err)\n console.log('error setting', item)\n break\n }\n }\n\n // Initialise block locals\n var items = _b_.dict.items(_locals), item\n if(_locals.$jsobj){\n var items = _locals.$jsobj\n }else{\n var items = {}\n for(var key of _b_.dict.$keys_string(_locals)){\n items[key] = _b_.dict.$getitem_string(_locals, key)\n } }\n for(var item in items){\n item1 = to_alias(item)\n try{\n eval('$locals_' + locals_id + '[\"' + item[0] + '\"] = item[1]')\n }catch(err){\n console.log(err)\n console.log('error setting', item)\n break\n }\n }\n //var nb_modules = Object.keys(__BRYTHON__.modules).length\n //console.log('before exec', nb_modules)\n\n console.log(\"call py2js\", src, globals_id, locals_id, parent_scope)\n var root = $B.py2js(src, globals_id, locals_id, parent_scope),\n js, gns, lns\n\n try{\n\n var js = root.to_js()\n\n var i,res,gns;\n for(i=0;i>> i) & 0x1){\n sum = addition32(sum, unsigned32(n2 << i))\n }\n }\n return sum\n }\n\n /* initializes mt[N] with a seed */\n //c//void init_genrand(unsigned long s)\n function init_genrand(s) {\n //c//mt[0]= s & 0xffffffff;\n mt[0] = unsigned32(s & 0xffffffff)\n for(mti = 1; mti < N; mti++){\n mt[mti] =\n //c//(1812433253 * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti);\n addition32(multiplication32(1812433253,\n unsigned32(mt[mti - 1] ^ (mt[mti - 1] >>> 30))), mti)\n /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */\n /* In the previous versions, MSBs of the seed affect */\n /* only MSBs of the array mt[]. */\n /* 2002/01/09 modified by Makoto Matsumoto */\n //c//mt[mti] &= 0xffffffff;\n mt[mti] = unsigned32(mt[mti] & 0xffffffff);\n /* for >32 bit machines */\n }\n }\n\n /* initialize by an array with array-length */\n /* init_key is the array for initializing keys */\n /* key_length is its length */\n /* slight change for C++, 2004/2/26 */\n //c//void init_by_array(unsigned long init_key[], int key_length)\n function init_by_array(init_key, key_length) {\n //c//int i, j, k;\n var i, j, k\n init_genrand(19650218)\n i = 1\n j = 0\n k = (N > key_length ? N : key_length)\n for(; k; k--){\n //c//mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525))\n //c// + init_key[j] + j; /* non linear */\n mt[i] = addition32(\n addition32(unsigned32(mt[i] ^\n multiplication32(unsigned32(mt[i - 1] ^ (mt[i - 1] >>> 30)),\n 1664525)),\n init_key[j]), j)\n mt[i] =\n //c//mt[i] &= 0xffffffff; /* for WORDSIZE > 32 machines */\n unsigned32(mt[i] & 0xffffffff)\n i++\n j++\n if(i >= N){mt[0] = mt[N - 1]; i = 1}\n if(j >= key_length){j = 0}\n }\n for(k = N - 1; k; k--){\n //c//mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941))\n //c//- i; /* non linear */\n mt[i] = subtraction32(\n unsigned32(\n (mt[i]) ^\n multiplication32(\n unsigned32(mt[i - 1] ^ (mt[i - 1] >>> 30)),\n 1566083941)),\n i\n )\n //c//mt[i] &= 0xffffffff; /* for WORDSIZE > 32 machines */\n mt[i] = unsigned32(mt[i] & 0xffffffff)\n i++\n if(i >= N){mt[0] = mt[N - 1]; i = 1}\n }\n mt[0] = 0x80000000; /* MSB is 1; assuring non-zero initial array */\n }\n\n /* generates a random number on [0,0xffffffff]-interval */\n //c//unsigned long genrand_int32(void)\n function genrand_int32() {\n //c//unsigned long y;\n //c//static unsigned long mag01[2]={0x0UL, MATRIX_A};\n var y;\n var mag01 = [0x0, MATRIX_A];\n /* mag01[x] = x * MATRIX_A for x=0,1 */\n\n if(mti >= N){ /* generate N words at one time */\n //c//int kk;\n var kk\n\n if(mti == N + 1){ /* if init_genrand() has not been called, */\n init_genrand(Date.now()) /* a default initial seed is used */\n }\n\n for(kk = 0; kk < N - M; kk++){\n //c//y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);\n //c//mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1];\n y = unsigned32((mt[kk]&UPPER_MASK) | (mt[kk + 1]&LOWER_MASK))\n mt[kk] = unsigned32(mt[kk + M] ^ (y >>> 1) ^ mag01[y & 0x1])\n }\n for(;kk < N - 1; kk++){\n //c//y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);\n //c//mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1];\n y = unsigned32((mt[kk]&UPPER_MASK) | (mt[kk + 1]&LOWER_MASK))\n mt[kk] = unsigned32(mt[kk + (M - N)] ^ (y >>> 1) ^ mag01[y & 0x1])\n }\n //c//y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK);\n //c//mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1];\n y = unsigned32((mt[N - 1] & UPPER_MASK) | (mt[0] & LOWER_MASK))\n mt[N - 1] = unsigned32(mt[M - 1] ^ (y >>> 1) ^ mag01[y & 0x1])\n mti = 0\n }\n\n y = mt[mti++]\n\n /* Tempering */\n //c//y ^= (y >> 11);\n //c//y ^= (y << 7) & 0x9d2c5680;\n //c//y ^= (y << 15) & 0xefc60000;\n //c//y ^= (y >> 18);\n y = unsigned32(y ^ (y >>> 11))\n y = unsigned32(y ^ ((y << 7) & 0x9d2c5680))\n y = unsigned32(y ^ ((y << 15) & 0xefc60000))\n y = unsigned32(y ^ (y >>> 18))\n\n return y\n }\n\n /* generates a random number on [0,0x7fffffff]-interval */\n //c//long genrand_int31(void)\n function genrand_int31(){\n //c//return (genrand_int32()>>1);\n return (genrand_int32()>>>1)\n }\n\n /* generates a random number on [0,1]-real-interval */\n //c//double genrand_real1(void)\n function genrand_real1(){\n return genrand_int32()*(1.0/4294967295.0)\n /* divided by 2^32-1 */\n }\n\n /* generates a random number on [0,1)-real-interval */\n //c//double genrand_real2(void)\n function genrand_real2(){\n return genrand_int32() * (1.0 / 4294967296.0)\n /* divided by 2^32 */\n }\n\n /* generates a random number on (0,1)-real-interval */\n //c//double genrand_real3(void)\n function genrand_real3() {\n return ((genrand_int32()) + 0.5) * (1.0 / 4294967296.0)\n /* divided by 2^32 */\n }\n\n /* generates a random number on [0,1) with 53-bit resolution*/\n //c//double genrand_res53(void)\n function genrand_res53() {\n //c//unsigned long a=genrand_int32()>>5, b=genrand_int32()>>6;\n var a = genrand_int32() >>> 5,\n b = genrand_int32() >>> 6\n return (a * 67108864.0 + b) * (1.0 / 9007199254740992.0)\n }\n /* These real versions are due to Isaku Wada, 2002/01/09 added */\n\n var random = genrand_res53\n\n random.seed = function(seed){\n if(seed === undefined || $B.is_none(seed)){\n const entries = new Uint32Array(N)\n crypto.getRandomValues(entries)\n init_by_array(Array.from(entries), N)\n return\n }\n\n if(!$B.$isinstance(seed, _b_.int)){\n seed = _b_.hash(seed)\n }\n\n // Transform to long integer\n if(typeof seed == "number"){\n seed = BigInt(seed)\n }else if(seed.__class__ === $B.long_int){\n seed = seed.value\n }else{\n return random.seed(seed.$brython_value)\n }\n\n // Take abs(seed)\n seed = seed > 0 ? seed : -seed\n\n var keys = []\n var int32_1 = 2n ** 32n - 1n\n\n // decomposition in factors of 2 ** 32\n while(seed >= int32_1){\n var quot = seed / int32_1,\n rest = seed % int32_1\n // Rest is a JS number (< 2 ** 32)\n keys.push(Number(rest))\n // Quotient is either a JS number or a instance of long_int\n // but seed must be long_int\n seed = quot\n }\n keys.push(Number(seed))\n\n init_by_array(keys, keys.length)\n }\n\n random.seed(seed)\n\n random.int31 = genrand_int31\n random.int32 = genrand_int32\n random.real1 = genrand_real1\n random.real2 = genrand_real2\n random.real3 = genrand_real3\n random.res53 = genrand_res53\n\n // Added for compatibility with Python\n random.getstate = function(){\n return $B.fast_tuple(mt.concat([mti]))\n }\n\n random.setstate = function(state){\n mt = state.slice(0, state.length - 1)\n mti = state[state.length - 1]\n }\n\n return random\n\n}\n\nvar Random = $B.make_class("Random",\n function(){\n return {\n __class__: Random,\n _random: RandomStream(Date.now())\n }\n }\n)\n\nRandom.getrandbits = function(){\n var $ = $B.args("getrandbits", 2, {self: null, k:null}, ["self", "k"],\n arguments, {}, null, null),\n self = $.self,\n k = $B.$GetInt($.k)\n\n if(k < 0)\n throw _b_.ValueError.$factory(\'number of bits must be non-negative\')\n\n if(k === 0)\n return 0\n\n const words = Math.floor((k - 1) / 32) + 1\n const wordarray = new ArrayBuffer(words * 4)\n const wordarray_view = new DataView(wordarray)\n\n /* Fill-out bits of long integer, by 32-bit words, from least significant\n to most significant. */\n for(i = 0; i < words; i++, k -= 32){\n r = self._random.int32()\n if (k < 32)\n r >>>= (32 - k) /* Drop least significant bits */\n wordarray_view.setUint32(i * 4, r, true)\n }\n\n return _b_.int.from_bytes(_b_.bytes.$factory(Array.from(new Uint8Array(wordarray))), "little")\n}\n\nRandom.getstate = function(){\n var $ = $B.args(\'getstate\', 1, {self: null},\n ["self"], arguments, {}, null, null),\n self = $.self\n return self._random.getstate()\n}\n\nRandom.random = function(){\n var $ = $B.args(\'random\', 1, {self: null}, ["self"],\n arguments, {}, null, null),\n self = $.self\n return $B.fast_float(self._random())\n}\n\nRandom.seed = function(){\n var $ = $B.args(\'seed\', 2, {self: null, n: null}, [\'self\', \'n\'],\n arguments, {}, null, null),\n self = $.self,\n n = $.n\n\n if (self._random === undefined)\n self._random = RandomStream(n)\n else\n self._random.seed(n)\n}\n\nRandom.setstate = function(){\n var $ = $B.args(\'setstate\', 2, {self: null, state:null}, [\'self\', \'state\'],\n arguments, {}, null, null),\n self = $.self,\n state = $.state\n return self._random.setstate(state)\n}\n\n$B.set_func_names(Random, "_random")\n\n$B.imported._random = { Random }\n\n})(__BRYTHON__)\n'],_sre:[".py",'\n\'\'\n\n\n\n\n\n\n\nMAXREPEAT=2147483648\nMAXGROUPS=2147483647\n\nimport array\nimport operator,sys\nfrom sre_constants import ATCODES,OPCODES,CHCODES\nfrom sre_constants import SRE_INFO_PREFIX,SRE_INFO_LITERAL\nfrom sre_constants import SRE_FLAG_UNICODE,SRE_FLAG_LOCALE\n\n\nfrom _sre_utils import(unicode_iscased,ascii_iscased,unicode_tolower,\nascii_tolower)\n\nimport sys\n\n\n\nMAGIC=20171005\n\n\n\n\n\n\n\n\n\n\n\n\n\nCODESIZE=4\n\ncopyright="_sre.py 2.4c Copyright 2005 by Nik Haldimann"\n\n\ndef getcodesize():\n return CODESIZE\n \ndef compile(pattern,flags,code,groups=0,groupindex={},indexgroup=[None]):\n \'\'\n \n return SRE_Pattern(pattern,flags,code,groups,groupindex,indexgroup)\n \ndef getlower(char_ord,flags):\n if(char_ord <128)or(flags&SRE_FLAG_UNICODE)\\\n or(flags&SRE_FLAG_LOCALE and char_ord <256):\n \n return ord(chr(char_ord).lower())\n else:\n return char_ord\n \n \nclass SRE_Pattern:\n\n def __init__(self,pattern,flags,code,groups=0,groupindex={},indexgroup=[None]):\n self.pattern=pattern\n self.flags=flags\n self.groups=groups\n self.groupindex=groupindex\n self._indexgroup=indexgroup\n self._code=code\n \n def match(self,string,pos=0,endpos=sys.maxsize):\n \'\'\n\n \n state=_State(string,pos,endpos,self.flags)\n if state.match(self._code):\n return SRE_Match(self,state)\n return None\n \n def fullmatch(self,string,pos=0,endpos=sys.maxsize):\n \'\'\n\n \n end="$"if isinstance(string,str)else b"$"\n if not string.endswith(end):\n string +=end\n state=_State(string,pos,endpos,self.flags)\n if state.match(self._code):\n return SRE_Match(self,state)\n return None\n \n def search(self,string,pos=0,endpos=sys.maxsize):\n \'\'\n\n\n \n state=_State(string,pos,endpos,self.flags)\n if state.search(self._code):\n return SRE_Match(self,state)\n else:\n return None\n \n def findall(self,string,pos=0,endpos=sys.maxsize):\n \'\'\n matchlist=[]\n state=_State(string,pos,endpos,self.flags)\n while state.start <=state.end:\n state.reset()\n state.string_position=state.start\n if not state.search(self._code):\n break\n match=SRE_Match(self,state)\n if self.groups ==0 or self.groups ==1:\n item=match.group(self.groups)\n else:\n item=match.groups("")\n matchlist.append(item)\n if state.string_position ==state.start:\n state.start +=1\n else:\n state.start=state.string_position\n return matchlist\n \n def _subx(self,template,string,count=0,subn=False):\n filter=template\n if not callable(template)and "\\\\"in template:\n \n \n \n \n import re as sre\n filter=sre._subx(self,template)\n state=_State(string,0,sys.maxsize,self.flags)\n sublist=[]\n \n n=last_pos=0\n while not count or n 0):\n \n if callable(filter):\n sublist.append(filter(SRE_Match(self,state)))\n else:\n sublist.append(filter)\n last_pos=state.string_position\n n +=1\n if state.string_position ==state.start:\n state.start +=1\n else:\n state.start=state.string_position\n \n if last_pos =0 and group <=self.re.groups:\n return group\n else:\n if group in self.re.groupindex:\n return self.re.groupindex[group]\n raise IndexError("no such group")\n \n def _get_slice(self,group,default):\n group_indices=self.regs[group]\n if group_indices[0]>=0:\n return self.string[group_indices[0]:group_indices[1]]\n else:\n return default\n \n def start(self,group=0):\n \'\'\n\n \n return self.regs[self._get_index(group)][0]\n \n def end(self,group=0):\n \'\'\n\n \n return self.regs[self._get_index(group)][1]\n \n def span(self,group=0):\n \'\'\n return self.start(group),self.end(group)\n \n def expand(self,template):\n \'\'\n \n import sre\n return sre._expand(self.re,self,template)\n \n def groups(self,default=None):\n \'\'\n\n \n groups=[]\n for indices in self.regs[1:]:\n if indices[0]>=0:\n groups.append(self.string[indices[0]:indices[1]])\n else:\n groups.append(default)\n return tuple(groups)\n \n def groupdict(self,default=None):\n \'\'\n\n \n groupdict={}\n for key,value in self.re.groupindex.items():\n groupdict[key]=self._get_slice(value,default)\n return groupdict\n \n def group(self,*args):\n \'\'\n \n if len(args)==0:\n args=(0,)\n grouplist=[]\n for group in args:\n grouplist.append(self._get_slice(self._get_index(group),None))\n if len(grouplist)==1:\n return grouplist[0]\n else:\n return tuple(grouplist)\n \n def __copy__():\n raise TypeError("cannot copy this pattern object")\n \n def __deepcopy__():\n raise TypeError("cannot copy this pattern object")\n \n def __str__(self):\n start,end=self.start(0),self.end(0)\n return(f"")\n \nclass _State:\n\n def __init__(self,string,start,end,flags):\n if isinstance(string,bytearray):\n string=str(bytes(string),"latin1")\n if isinstance(string,bytes):\n string=str(string,"latin1")\n self.string=string\n if start <0:\n start=0\n if end >len(string):\n end=len(string)\n self.start=start\n self.string_position=self.start\n self.end=end\n self.pos=start\n self.flags=flags\n self.reset()\n \n def reset(self):\n self.marks=[]\n self.lastindex=-1\n self.marks_stack=[]\n self.context_stack=[]\n self.repeat=None\n \n def match(self,pattern_codes):\n \n \n \n \n \n \n \n \n dispatcher=_OpcodeDispatcher()\n self.context_stack.append(_MatchContext(self,pattern_codes))\n has_matched=None\n while len(self.context_stack)>0:\n context=self.context_stack[-1]\n has_matched=dispatcher.match(context)\n if has_matched is not None:\n self.context_stack.pop()\n return has_matched\n \n def search(self,pattern_codes):\n flags=0\n if OPCODES[pattern_codes[0]].name =="info":\n \n \n if pattern_codes[2]&SRE_INFO_PREFIX and pattern_codes[5]>1:\n return self.fast_search(pattern_codes)\n flags=pattern_codes[2]\n pattern_codes=pattern_codes[pattern_codes[1]+1:]\n \n string_position=self.start\n if OPCODES[pattern_codes[0]].name =="literal":\n \n \n character=pattern_codes[1]\n while True:\n while string_position =self.end:\n return False\n self.start=string_position\n string_position +=1\n self.string_position=string_position\n if flags&SRE_INFO_LITERAL:\n return True\n if self.match(pattern_codes[2:]):\n return True\n return False\n \n \n while string_position <=self.end:\n self.reset()\n self.start=self.string_position=string_position\n if self.match(pattern_codes):\n return True\n string_position +=1\n return False\n \n def fast_search(self,pattern_codes):\n \'\'\n \n \n \n flags=pattern_codes[2]\n prefix_len=pattern_codes[5]\n prefix_skip=pattern_codes[6]\n prefix=pattern_codes[7:7+prefix_len]\n overlap=pattern_codes[7+prefix_len -1:pattern_codes[1]+1]\n pattern_codes=pattern_codes[pattern_codes[1]+1:]\n i=0\n string_position=self.string_position\n while string_position =len(self.marks):\n self.marks.extend([None]*(mark_nr -len(self.marks)+1))\n self.marks[mark_nr]=position\n \n def get_marks(self,group_index):\n marks_index=2 *group_index\n if len(self.marks)>marks_index+1:\n return self.marks[marks_index],self.marks[marks_index+1]\n else:\n return None,None\n \n def marks_push(self):\n self.marks_stack.append((self.marks[:],self.lastindex))\n \n def marks_pop(self):\n self.marks,self.lastindex=self.marks_stack.pop()\n \n def marks_pop_keep(self):\n self.marks,self.lastindex=self.marks_stack[-1]\n \n def marks_pop_discard(self):\n self.marks_stack.pop()\n \n def lower(self,char_ord):\n return getlower(char_ord,self.flags)\n \n \nclass _MatchContext:\n\n def __init__(self,state,pattern_codes):\n self.state=state\n self.pattern_codes=pattern_codes\n self.string_position=state.string_position\n self.code_position=0\n self.has_matched=None\n \n def push_new_context(self,pattern_offset):\n \'\'\n\n \n child_context=_MatchContext(self.state,\n self.pattern_codes[self.code_position+pattern_offset:])\n \n \n \n \n self.state.context_stack.append(child_context)\n return child_context\n \n def peek_char(self,peek=0):\n return self.state.string[self.string_position+peek]\n \n def skip_char(self,skip_count):\n self.string_position +=skip_count\n \n def remaining_chars(self):\n return self.state.end -self.string_position\n \n def peek_code(self,peek=0):\n return self.pattern_codes[self.code_position+peek]\n \n def skip_code(self,skip_count):\n self.code_position +=skip_count\n \n def remaining_codes(self):\n return len(self.pattern_codes)-self.code_position\n \n def at_beginning(self):\n return self.string_position ==0\n \n def at_end(self):\n return self.string_position ==self.state.end\n \n def at_linebreak(self):\n return not self.at_end()and _is_linebreak(self.peek_char())\n \n def at_boundary(self,word_checker):\n if self.at_beginning()and self.at_end():\n return False\n that=not self.at_beginning()and word_checker(self.peek_char(-1))\n this=not self.at_end()and word_checker(self.peek_char())\n return this !=that\n \n \nclass _RepeatContext(_MatchContext):\n\n def __init__(self,context):\n _MatchContext.__init__(self,context.state,\n context.pattern_codes[context.code_position:])\n self.count=-1\n \n self.previous=context.state.repeat\n self.last_position=None\n \n \nclass _Dispatcher:\n\n DISPATCH_TABLE=None\n \n def dispatch(self,code,context):\n method=self.DISPATCH_TABLE.get(code,self.__class__.unknown)\n return method(self,context)\n \n def unknown(self,code,ctx):\n raise NotImplementedError()\n \n def build_dispatch_table(cls,items,method_prefix):\n if cls.DISPATCH_TABLE is not None:\n return\n table={}\n for item in items:\n key,value=item.name.lower(),int(item)\n if hasattr(cls,"%s%s"%(method_prefix,key)):\n table[value]=getattr(cls,"%s%s"%(method_prefix,key))\n cls.DISPATCH_TABLE=table\n \n build_dispatch_table=classmethod(build_dispatch_table)\n \n \nclass _OpcodeDispatcher(_Dispatcher):\n\n def __init__(self):\n self.executing_contexts={}\n self.at_dispatcher=_AtcodeDispatcher()\n self.ch_dispatcher=_ChcodeDispatcher()\n self.set_dispatcher=_CharsetDispatcher()\n \n def match(self,context):\n \'\'\n\n \n while context.remaining_codes()>0 and context.has_matched is None:\n opcode=context.peek_code()\n if not self.dispatch(opcode,context):\n return None\n if context.has_matched is None:\n context.has_matched=False\n return context.has_matched\n \n def dispatch(self,opcode,context):\n \'\'\n \n \n if id(context)in self.executing_contexts:\n generator=self.executing_contexts[id(context)]\n del self.executing_contexts[id(context)]\n has_finished=next(generator)\n else:\n method=self.DISPATCH_TABLE.get(opcode,_OpcodeDispatcher.unknown)\n has_finished=method(self,context)\n if hasattr(has_finished,"__next__"):\n generator=has_finished\n has_finished=next(generator)\n if not has_finished:\n self.executing_contexts[id(context)]=generator\n return has_finished\n \n def op_success(self,ctx):\n \n \n ctx.state.string_position=ctx.string_position\n ctx.has_matched=True\n return True\n \n def op_failure(self,ctx):\n \n \n ctx.has_matched=False\n return True\n \n def general_op_literal(self,ctx,compare,decorate=lambda x:x):\n if ctx.at_end()or not compare(decorate(ord(ctx.peek_char())),\n decorate(ctx.peek_code(1))):\n ctx.has_matched=False\n ctx.skip_code(2)\n ctx.skip_char(1)\n \n def op_literal(self,ctx):\n \n \n \n self.general_op_literal(ctx,operator.eq)\n return True\n \n def op_not_literal(self,ctx):\n \n \n \n self.general_op_literal(ctx,operator.ne)\n return True\n \n def op_literal_ignore(self,ctx):\n \n \n \n self.general_op_literal(ctx,operator.eq,ctx.state.lower)\n return True\n \n def op_literal_uni_ignore(self,ctx):\n self.general_op_literal(ctx,operator.eq,ctx.state.lower)\n return True\n \n def op_not_literal_ignore(self,ctx):\n \n \n \n self.general_op_literal(ctx,operator.ne,ctx.state.lower)\n return True\n \n def op_at(self,ctx):\n \n \n \n if not self.at_dispatcher.dispatch(ctx.peek_code(1),ctx):\n ctx.has_matched=False\n \n return True\n ctx.skip_code(2)\n return True\n \n def op_category(self,ctx):\n \n \n \n if ctx.at_end()or not self.ch_dispatcher.dispatch(ctx.peek_code(1),ctx):\n ctx.has_matched=False\n \n return True\n ctx.skip_code(2)\n ctx.skip_char(1)\n return True\n \n def op_any(self,ctx):\n \n \n \n if ctx.at_end()or ctx.at_linebreak():\n ctx.has_matched=False\n \n return True\n ctx.skip_code(1)\n ctx.skip_char(1)\n return True\n \n def op_any_all(self,ctx):\n \n \n \n if ctx.at_end():\n ctx.has_matched=False\n \n return True\n ctx.skip_code(1)\n ctx.skip_char(1)\n return True\n \n def general_op_in(self,ctx,decorate=lambda x:x):\n \n \n if ctx.at_end():\n ctx.has_matched=False\n \n return\n skip=ctx.peek_code(1)\n ctx.skip_code(2)\n \n \n if not self.check_charset(ctx,decorate(ord(ctx.peek_char()))):\n \n ctx.has_matched=False\n return\n ctx.skip_code(skip -1)\n ctx.skip_char(1)\n \n \n def op_in(self,ctx):\n \n \n \n self.general_op_in(ctx)\n return True\n \n def op_in_ignore(self,ctx):\n \n \n \n self.general_op_in(ctx,ctx.state.lower)\n return True\n \n def op_in_uni_ignore(self,ctx):\n self.general_op_in(ctx,ctx.state.lower)\n return True\n \n def op_jump(self,ctx):\n \n \n \n ctx.skip_code(ctx.peek_code(1)+1)\n return True\n \n \n \n op_info=op_jump\n \n def op_mark(self,ctx):\n \n \n \n ctx.state.set_mark(ctx.peek_code(1),ctx.string_position)\n ctx.skip_code(2)\n return True\n \n def op_branch(self,ctx):\n \n \n \n ctx.state.marks_push()\n ctx.skip_code(1)\n current_branch_length=ctx.peek_code(0)\n while current_branch_length:\n \n \n if not(OPCODES[ctx.peek_code(1)].name =="literal"and\\\n (ctx.at_end()or ctx.peek_code(2)!=ord(ctx.peek_char()))):\n ctx.state.string_position=ctx.string_position\n child_context=ctx.push_new_context(1)\n \n yield False\n if child_context.has_matched:\n ctx.has_matched=True\n yield True\n ctx.state.marks_pop_keep()\n ctx.skip_code(current_branch_length)\n current_branch_length=ctx.peek_code(0)\n ctx.state.marks_pop_discard()\n ctx.has_matched=False\n \n yield True\n \n def op_repeat_one(self,ctx):\n \n \n \n \n mincount=ctx.peek_code(2)\n maxcount=ctx.peek_code(3)\n \n \n \n if ctx.remaining_chars()=mincount and\\\n (ctx.at_end()or ord(ctx.peek_char())!=char):\n ctx.skip_char(-1)\n count -=1\n if count =mincount:\n ctx.state.string_position=ctx.string_position\n child_context=ctx.push_new_context(ctx.peek_code(1)+1)\n yield False\n if child_context.has_matched:\n ctx.has_matched=True\n yield True\n ctx.skip_char(-1)\n count -=1\n ctx.state.marks_pop_keep()\n \n ctx.state.marks_pop_discard()\n ctx.has_matched=False\n \n yield True\n \n def op_min_repeat_one(self,ctx):\n \n \n mincount=ctx.peek_code(2)\n maxcount=ctx.peek_code(3)\n \n \n if ctx.remaining_chars()=maxcount and maxcount !=MAXREPEAT:\n ctx.has_matched=False\n \n yield True\n repeat.count=count\n child_context=repeat.push_new_context(4)\n yield False\n ctx.has_matched=child_context.has_matched\n if not ctx.has_matched:\n repeat.count=count -1\n ctx.state.string_position=ctx.string_position\n yield True\n \n def general_op_groupref(self,ctx,decorate=lambda x:x):\n group_start,group_end=ctx.state.get_marks(ctx.peek_code(1))\n if group_start is None or group_end is None or group_end =0:\n child_context=ctx.push_new_context(3)\n yield False\n if child_context.has_matched:\n ctx.has_matched=False\n yield True\n ctx.skip_code(ctx.peek_code(1)+1)\n yield True\n \n def unknown(self,ctx):\n \n raise RuntimeError("Internal re error. Unknown opcode: %s"%ctx.peek_code())\n \n def check_charset(self,ctx,char):\n \'\'\n \n self.set_dispatcher.reset(char)\n save_position=ctx.code_position\n result=None\n while result is None:\n result=self.set_dispatcher.dispatch(ctx.peek_code(),ctx)\n ctx.code_position=save_position\n \n return result\n \n def count_repetitions(self,ctx,maxcount):\n \'\'\n\n \n count=0\n real_maxcount=ctx.state.end -ctx.string_position\n if maxcount >4)\\\n &(1 <<(char_code&15)):\n return self.ok\n ctx.skip_code(16)\n else:\n if char_code <256 and ctx.peek_code(char_code >>5)\\\n &(1 <<(char_code&31)):\n return self.ok\n ctx.skip_code(8)\n def set_range(self,ctx):\n \n if ctx.peek_code(1)<=self.char <=ctx.peek_code(2):\n return self.ok\n ctx.skip_code(3)\n def set_negate(self,ctx):\n self.ok=not self.ok\n ctx.skip_code(1)\n \n def set_bigcharset(self,ctx):\n \n char_code=self.char\n count=ctx.peek_code(1)\n ctx.skip_code(2)\n if char_code <65536:\n block_index=char_code >>8\n \n a=array.array("B")\n a.fromstring(array.array(CODESIZE ==2 and "H"or "I",\n [ctx.peek_code(block_index //CODESIZE)]).tostring())\n block=a[block_index %CODESIZE]\n ctx.skip_code(256 //CODESIZE)\n block_value=ctx.peek_code(block *(32 //CODESIZE)\n +((char_code&255)>>(CODESIZE ==2 and 4 or 5)))\n if block_value&(1 <<(char_code&((8 *CODESIZE)-1))):\n return self.ok\n else:\n ctx.skip_code(256 //CODESIZE)\n ctx.skip_code(count *(32 //CODESIZE))\n \n def unknown(self,ctx):\n return False\n \n_CharsetDispatcher.build_dispatch_table(OPCODES,"set_")\n\n\nclass _AtcodeDispatcher(_Dispatcher):\n\n def at_beginning(self,ctx):\n return ctx.at_beginning()\n at_beginning_string=at_beginning\n def at_beginning_line(self,ctx):\n return ctx.at_beginning()or _is_linebreak(ctx.peek_char(-1))\n def at_end(self,ctx):\n return(ctx.remaining_chars()==1 and ctx.at_linebreak())or ctx.at_end()\n def at_end_line(self,ctx):\n return ctx.at_linebreak()or ctx.at_end()\n def at_end_string(self,ctx):\n return ctx.at_end()\n def at_boundary(self,ctx):\n return ctx.at_boundary(_is_word)\n def at_non_boundary(self,ctx):\n return not ctx.at_boundary(_is_word)\n def at_loc_boundary(self,ctx):\n return ctx.at_boundary(_is_loc_word)\n def at_loc_non_boundary(self,ctx):\n return not ctx.at_boundary(_is_loc_word)\n def at_uni_boundary(self,ctx):\n return ctx.at_boundary(_is_uni_word)\n def at_uni_non_boundary(self,ctx):\n return not ctx.at_boundary(_is_uni_word)\n def unknown(self,ctx):\n return False\n \n_AtcodeDispatcher.build_dispatch_table(ATCODES,"")\n\n\nclass _ChcodeDispatcher(_Dispatcher):\n\n def category_digit(self,ctx):\n return _is_digit(ctx.peek_char())\n def category_not_digit(self,ctx):\n return not _is_digit(ctx.peek_char())\n def category_space(self,ctx):\n return _is_space(ctx.peek_char())\n def category_not_space(self,ctx):\n return not _is_space(ctx.peek_char())\n def category_word(self,ctx):\n return _is_word(ctx.peek_char())\n def category_not_word(self,ctx):\n return not _is_word(ctx.peek_char())\n def category_linebreak(self,ctx):\n return _is_linebreak(ctx.peek_char())\n def category_not_linebreak(self,ctx):\n return not _is_linebreak(ctx.peek_char())\n def category_loc_word(self,ctx):\n return _is_loc_word(ctx.peek_char())\n def category_loc_not_word(self,ctx):\n return not _is_loc_word(ctx.peek_char())\n def category_uni_digit(self,ctx):\n return ctx.peek_char().isdigit()\n def category_uni_not_digit(self,ctx):\n return not ctx.peek_char().isdigit()\n def category_uni_space(self,ctx):\n return ctx.peek_char().isspace()\n def category_uni_not_space(self,ctx):\n return not ctx.peek_char().isspace()\n def category_uni_word(self,ctx):\n return _is_uni_word(ctx.peek_char())\n def category_uni_not_word(self,ctx):\n return not _is_uni_word(ctx.peek_char())\n def category_uni_linebreak(self,ctx):\n return ord(ctx.peek_char())in _uni_linebreaks\n def category_uni_not_linebreak(self,ctx):\n return ord(ctx.peek_char())not in _uni_linebreaks\n def unknown(self,ctx):\n return False\n \n_ChcodeDispatcher.build_dispatch_table(CHCODES,"")\n\n\n_ascii_char_info=[0,0,0,0,0,0,0,0,0,2,6,2,\n2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,25,25,25,25,25,25,25,25,\n25,25,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,\n24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,0,\n0,0,16,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,\n24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,0,0]\n\ndef _is_digit(char):\n code=ord(char)\n return code <128 and _ascii_char_info[code]&1\n \ndef _is_space(char):\n code=ord(char)\n return code <128 and _ascii_char_info[code]&2\n \ndef _is_word(char):\n\n code=ord(char)\n return code <128 and _ascii_char_info[code]&16\n \ndef _is_loc_word(char):\n return(not(ord(char)&~255)and char.isalnum())or char ==\'_\'\n \ndef _is_uni_word(char):\n\n\n return chr(ord(char)).isalnum()or char ==\'_\'\n \ndef _is_linebreak(char):\n return char =="\\n"\n \n \n_uni_linebreaks=[10,13,28,29,30,133,8232,8233]\n\ndef _log(message):\n if 0:\n print(message)\n',["_sre_utils","array","operator","re","sre","sre_constants","sys"]],_sre_utils:[".js","var $module=(function($B){\n\n function unicode_iscased(cp){\n // cp : Unicode code point\n var letter = String.fromCodePoint(cp)\n return (letter != letter.toLowerCase() ||\n letter != letter.toUpperCase())\n }\n\n function ascii_iscased(cp){\n if(cp > 255){return false}\n return unicode_iscased(cp)\n }\n\n function unicode_tolower(cp){\n var letter = String.fromCodePoint(cp),\n lower = letter.toLowerCase()\n return lower.charCodeAt(0)\n }\n\n function ascii_tolower(cp){\n return unicode_tolower(cp)\n }\n\nreturn {\n unicode_iscased: unicode_iscased,\n ascii_iscased: ascii_iscased,\n unicode_tolower: unicode_tolower,\n ascii_tolower: ascii_tolower\n}\n\n}\n\n)(__BRYTHON__)"],_string:[".js",'(function($B){\n\nvar _b_ = $B.builtins\n\nfunction parts(format_string){\n var result = [],\n _parts = $B.split_format(format_string) // defined in py_string.js\n for(var i = 0; i < _parts.length; i+= 2){\n result.push({pre: _parts[i], fmt: _parts[i + 1]})\n }\n return result\n}\n\nfunction Tuple(){\n var args = []\n for(var i=0, len=arguments.length; i < len; i++){\n args.push(arguments[i])\n }\n return _b_.tuple.$factory(args)\n}\n\n$B.imported._string = {\n\n formatter_field_name_split: function(fieldname){\n // Split the argument as a field name\n var parsed = $B.parse_format(fieldname),\n first = parsed.name,\n rest = []\n if(first.match(/\\d+/)){first = parseInt(first)}\n parsed.name_ext.forEach(function(ext){\n if(ext.startsWith("[")){\n var item = ext.substr(1, ext.length - 2)\n if(item.match(/\\d+/)){\n rest.push(Tuple(false, parseInt(item)))\n }else{\n rest.push(Tuple(false, item))\n }\n }else{\n rest.push(Tuple(true, ext.substr(1)))\n }\n })\n return Tuple(first, _b_.iter(rest))\n },\n formatter_parser: function(format_string){\n // Parse the argument as a format string\n\n if(! _b_.isinstance(format_string, _b_.str)){\n throw _b_.ValueError.$factory("Invalid format string type: " +\n $B.class_name(format_string))\n }\n\n var result = []\n parts(format_string).forEach(function(item){\n var pre = item.pre === undefined ? "" : item.pre,\n fmt = item.fmt\n if(fmt === undefined){\n result.push(Tuple(pre, _b_.None, _b_.None, _b_.None))\n }else if(fmt.string == \'\'){\n result.push(Tuple(pre, \'\', \'\', _b_.None))\n }else{\n result.push(Tuple(pre,\n fmt.raw_name + fmt.name_ext.join(""),\n fmt.raw_spec,\n fmt.conv || _b_.None))\n }\n })\n return result\n }\n}\n})(__BRYTHON__)'],_strptime:[".js",'\n(function($B){\n var _b_ = __BRYTHON__.builtins\n $B.imported._strptime = {\n _strptime_datetime: function(cls, s, fmt){\n var pos_s = 0,\n pos_fmt = 0,\n dt = {}\n function error(time_data, format){\n throw _b_.ValueError.$factory(\n `time data \'${time_data}\' does not match format \'${format}\'`)\n }\n\n var locale = __BRYTHON__.locale,\n shortdays = [],\n longdays = [],\n conv_func = locale == "C" ?\n function(d, options){\n return d.toLocaleDateString(\'en-EN\', options)\n } :\n function(d, options){\n return d.toLocaleDateString(locale, options)\n }\n\n for(var day = 16; day < 23; day++){\n var d = new Date(Date.UTC(2012, 11, day, 3, 0, 0))\n shortdays.push(conv_func(d, {weekday: \'short\'}))\n longdays.push(conv_func(d, {weekday: \'long\'}))\n }\n\n var shortmonths = [],\n longmonths = []\n\n for(var month = 0; month < 12; month++){\n var d = new Date(Date.UTC(2012, month, 11, 3, 0, 0))\n shortmonths.push(conv_func(d, {month: \'short\'}))\n longmonths.push(conv_func(d, {month: \'long\'}))\n }\n\n var shortdays_re = new RegExp(shortdays.join("|").replace(".", "\\\\.")),\n longdays_re = new RegExp(longdays.join("|")),\n shortmonths_re = new RegExp(shortmonths.join("|").replace(".", "\\\\.")),\n longmonths_re = new RegExp(longmonths.join("|"))\n\n var regexps = {\n d: ["day", new RegExp("^[123][0-9]|0?[1-9]")],\n f: ["microsecond", new RegExp("^\\\\d{1,6}")],\n H: ["hour", new RegExp("^[01][0-9]|2[0-3]|\\\\d")],\n I: ["hour", new RegExp("^1[0-2]|0?[0-9]")],\n m: ["month", new RegExp("^1[012]|0?[1-9]")],\n M: ["minute", new RegExp("^[1-5][0-9]|0?[0-9]")],\n S: ["second", new RegExp("^[1-5]\\\\d|0?\\\\d")],\n y: ["year", new RegExp("^0{0,2}\\\\d{2}")],\n Y: ["year", new RegExp("^\\\\d{4}")],\n z: ["tzinfo", new RegExp("Z")]\n }\n\n for(var key in regexps){\n var re = new RegExp(\'%\' + key, "g"),\n mo = fmt.match(re)\n if(mo && mo.length > 1){\n throw _b_.ValueError.$factory(\'strptime directive %\' +\n key + \' defined more than once\')\n }\n }\n\n while(pos_fmt < fmt.length){\n var car = fmt.charAt(pos_fmt)\n if(car == "%"){\n var spec = fmt.charAt(pos_fmt + 1),\n regexp = regexps[spec]\n if(regexp !== undefined){\n var re = regexp[1],\n attr = regexp[0],\n res = re.exec(s.substr(pos_s))\n if(res === null){\n error(s, fmt)\n }else{\n dt[attr] = parseInt(res[0])\n if(attr == "microsecond"){\n while(dt[attr] < 100000){\n dt[attr] *= 10\n }\n }else if(attr == "tzinfo"){\n // Only value supported for the moment : Z\n // (UTC)\n var dt_module = $B.imported[cls.__module__]\n dt.tzinfo = dt_module.timezone.utc\n }\n pos_fmt += 2\n pos_s += res[0].length\n }\n }else if(spec == "a" || spec == "A"){\n // Locale\'s abbreviated (a) or full (A) weekday name\n var attr = "weekday",\n re = spec == "a" ? shortdays_re : longdays_re,\n t = spec == "a" ? shortdays : longdays\n res = re.exec(s.substr(pos_s))\n if(res === null){\n console.log(\'error\', re, \'string\', s.substr(pos_s), \'fmt\', fmt)\n error(s, fmt)\n }else{\n var match = res[0],\n ix = t.indexOf(match)\n }\n dt.weekday = ix\n pos_fmt += 2\n pos_s += match.length\n }else if(spec == "b" || spec == "B"){\n // Locales\'s abbreviated (b) or full (B) month\n var attr = "month",\n re = spec == "b" ? shortmonths_re : longmonths_re,\n t = spec == "b" ? shortmonths : longmonths,\n res = re.exec(s.substr(pos_s))\n if(res === null){\n error(s, fmt)\n }else{\n var match = res[0],\n ix = t.indexOf(match)\n }\n dt.month = ix + 1\n pos_fmt += 2\n pos_s += match.length\n }else if(spec == "c"){\n // Locale\'s appropriate date and time representation\n var fmt1 = fmt.substr(0, pos_fmt - 1) + _locale_c_format() +\n fmt.substr(pos_fmt + 2)\n fmt = fmt1\n }else if(spec == "%"){\n if(s.charAt(pos_s) == "%"){\n pos_fmt++\n pos_s++\n }else{\n error(s, fmt)\n }\n }else{\n pos_fmt++\n }\n }else{\n if(car == s.charAt(pos_s)){\n pos_fmt++\n pos_s++\n }else{\n error(s, fmt)\n }\n }\n }\n\n if(pos_s < s.length){\n throw _b_.ValueError.$factory(\'unconverted data remains: \' +\n s.substr(pos_s))\n }\n\n return $B.$call(cls)(dt.year, dt.month, dt.day,\n dt.hour || 0, dt.minute || 0, dt.second || 0,\n dt.microsecond || 0, dt.tzinfo || _b_.None)\n }\n }\n})(__BRYTHON__)\n'],_svg:[".js","// creation of a SVG element\n(function($B){\n\nvar _b_ = $B.builtins\nvar TagSum = $B.TagSum // defined in py_dom.js\n\nvar $svgNS = \"http://www.w3.org/2000/svg\"\nvar $xlinkNS = \"http://www.w3.org/1999/xlink\"\n\nfunction makeTagDict(tagName){\n // return the dictionary for the class associated with tagName\n var dict = $B.make_class(tagName)\n\n dict.__init__ = function(){\n var $ns = $B.args('__init__', 1, {self: null}, ['self'],\n arguments, {}, 'args', 'kw'),\n self = $ns['self'],\n args = $ns['args']\n if(args.length == 1){\n var first = args[0]\n if($B.$isinstance(first, [_b_.str, _b_.int, _b_.float])){\n self.appendChild(document.createTextNode(_b_.str.$factory(first)))\n }else if(first.__class__ === TagSum){\n for(var i = 0, len = first.children.length; i < len; i++){\n self.appendChild(first.children[i].elt)\n }\n }else{ // argument is another DOMNode instance\n try{self.appendChild(first.elt)}\n catch(err){throw _b_.ValueError.$factory('wrong element ' + first)}\n }\n }\n\n // attributes\n var items = _b_.list.$factory(_b_.dict.items($ns['kw']))\n for(var item of _b_.dict.$iter_items($ns.kw)){\n // keyword arguments\n var arg = item.key,\n value = $B.py_immutable_to_js(item.value)\n if(arg.toLowerCase().substr(0,2) == \"on\"){\n // Event binding passed as argument \"onclick\", \"onfocus\"...\n // Better use method bind of DOMNode objects\n $B.DOMNode.bind(self,\n arg.toLowerCase().substr(2),\n value)\n }else if(arg.toLowerCase() == \"style\"){\n $B.DOMNode.set_style(self, value)\n }else if(arg.toLowerCase().indexOf(\"href\") !== -1){ // xlink:href\n self.setAttributeNS( \"http://www.w3.org/1999/xlink\",\n \"href\",value)\n }else{\n if(value !== false){\n // option.selected=false sets it to true :-)\n try{\n arg = arg.replace('_', '-')\n self.setAttributeNS(null, arg, value)\n }catch(err){\n throw _b_.ValueError.$factory(\"can't set attribute \" + arg)\n }\n }\n }\n }\n }\n\n dict.__mro__ = [$B.DOMNode, $B.builtins.object]\n\n dict.__new__ = function(cls){\n var res = $B.DOMNode.$factory(document.createElementNS($svgNS, tagName))\n res.__class__ = cls\n return res\n }\n\n dict.$factory = function(){\n var res = $B.DOMNode.$factory(\n document.createElementNS($svgNS, tagName))\n res.__class__ = dict\n // apply __init__\n dict.__init__(res, ...arguments)\n return res\n }\n\n $B.set_func_names(dict, \"browser.svg\")\n\n return dict\n}\n\n\n// SVG\nvar $svg_tags = ['a',\n'altGlyph',\n'altGlyphDef',\n'altGlyphItem',\n'animate',\n'animateColor',\n'animateMotion',\n'animateTransform',\n'circle',\n'clipPath',\n'color_profile', // instead of color-profile\n'cursor',\n'defs',\n'desc',\n'ellipse',\n'feBlend',\n'foreignObject', //patch to enable foreign objects\n'g',\n'image',\n'line',\n'linearGradient',\n'marker',\n'mask',\n'path',\n'pattern',\n'polygon',\n'polyline',\n'radialGradient',\n'rect',\n'set',\n'stop',\n'svg',\n'text',\n'tref',\n'tspan',\n'use']\n\n// create classes\nvar obj = new Object()\nvar dicts = {}\nfor(var i = 0, len = $svg_tags.length; i < len; i++){\n var tag = $svg_tags[i]\n obj[tag] = makeTagDict(tag)\n}\n\n$B.imported._svg = obj\n})(__BRYTHON__)\n"],_symtable:[".js","(function($B){\n\nvar _b_ = $B.builtins\n\nvar module = {\n CELL: 5,\n DEF_ANNOT: 256,\n DEF_BOUND: 134,\n DEF_FREE: 32,\n DEF_FREE_CLASS: 64,\n DEF_GLOBAL: 1,\n DEF_IMPORT: 128,\n DEF_LOCAL: 2,\n DEF_NONLOCAL: 8,\n DEF_PARAM: 4,\n FREE: 4,\n GLOBAL_EXPLICIT: 2,\n GLOBAL_IMPLICIT: 3,\n LOCAL: 1,\n SCOPE_MASK: 15,\n SCOPE_OFF: 11,\n TYPE_CLASS: 1,\n TYPE_FUNCTION: 0,\n TYPE_MODULE: 2,\n USE: 16,\n symtable: function(){\n var $ = $B.args('symtable', 3,\n {code: null, filename: null, compile_type: null},\n ['code', 'filename', 'compile_type'], arguments,\n {}, null, null)\n var ast = _b_.compile($.code, $.filename, $.compile_type,\n $B.PyCF_ONLY_AST)\n // ast is an instance of Python class\n // _Py_Symtable_Build in symtable.js uses the underlying JS object\n return $B._PySymtable_Build(ast.$js_ast, $.filename)\n }\n}\n\n$B.addToImported('_symtable', module)\n\n})(__BRYTHON__)"],_tokenize:[".js","(function($B){\n\nvar _b_ = $B.builtins\n\n$B.$import('token')\n\nvar TokenizerIter = $B.make_class('TokenizerIter',\n function(it){\n return {\n __class__: TokenizerIter,\n it\n }\n }\n)\n\nTokenizerIter.__iter__ = function(self){\n var js_iter = function*(){\n var line_num = 0\n while(true){\n try{\n var bytes = self.it()\n }catch(err){\n if($B.is_exc(err, [_b_.StopIteration])){\n token = endmarker\n token.lineno++\n token.end_lineno++\n yield $B.fast_tuple([token.num_type, token.string,\n $B.fast_tuple([token.lineno, token.col_offset]),\n $B.fast_tuple([token.end_lineno, token.end_col_offset]),\n token.line])\n }\n throw err\n }\n line_num++\n var line = _b_.bytes.decode(bytes, 'utf-8')\n for(var token of $B.tokenizer(line, 'test')){\n if(token.num_type == $B.py_tokens.ENCODING){ // skip encoding token\n continue\n }else if(token.num_type == $B.py_tokens.ENDMARKER){\n var endmarker = token\n continue\n }\n token.type = token.num_type\n token.lineno = line_num\n token.end_lineno = line_num\n yield $B.fast_tuple([token.num_type, token.string,\n $B.fast_tuple([token.lineno, token.col_offset]),\n $B.fast_tuple([token.end_lineno, token.end_col_offset]),\n token.line])\n }\n }\n\n }\n return $B.generator.$factory(js_iter)()\n}\n\nTokenizerIter.__next__ = function*(self){\n\n}\n\n$B.set_func_names(TokenizerIter, '_tokenize')\n\n$B.addToImported('_tokenize', {TokenizerIter})\n\n\n})(__BRYTHON__)"],_webcomponent:[".js",'// module for Web Components\n(function($B){\n\nvar _b_ = $B.builtins\n\nfunction define(tag_name, cls, options){\n var $ = $B.args("define", 3, {tag_name: null, cls: null, options: null},\n ["tag_name", "cls", "options"], arguments, {options: _b_.None},\n null, null),\n tag_name = $.tag_name,\n cls = $.cls,\n options = $.options,\n _extends,\n extend_dom_name = \'HTMLElement\'\n if(options !== _b_.None){\n if(! $B.$isinstance(options, _b_.dict)){\n throw _b_.TypeError.$factory(\'options can only be None or a \' +\n `dict, not \'${$B.class_name(options)}\'`)\n }\n try{\n _extends = _b_.dict.$getitem(options, \'extends\')\n }catch(err){\n // ignore\n }\n }else{\n let stack = [...cls.__bases__];\n while(stack.length) {\n base = stack.pop();\n if(base.__module__ === \'browser.html\'){\n _extends = base.__name__.toLowerCase()\n break\n }\n\n stack.push(...base.__bases__);\n }\n }\n\n if(_extends){\n if(typeof _extends != \'string\'){\n throw _b_.TypeError.$factory(\'value for extends must be a \' +\n `string, not \'${$B.class_name(_extends)}\'`)\n }\n var elt = document.createElement(_extends)\n if(elt instanceof HTMLUnknownElement){\n throw _b_.ValueError.$factory(`\'${_extends}\' is not a valid ` +\n \'tag name\')\n }\n var extend_tag = _extends.toLowerCase()\n extend_dom_name = Object.getPrototypeOf(elt).constructor.name\n }\n if(typeof tag_name != "string"){\n throw _b_.TypeError.$factory("first argument of define() " +\n "must be a string, not \'" + $B.class_name(tag_name) + "\'")\n }else if(tag_name.indexOf("-") == -1){\n throw _b_.ValueError.$factory("custom tag name must " +\n "contain a hyphen (-)")\n }\n if(!$B.$isinstance(cls, _b_.type)){\n throw _b_.TypeError.$factory("second argument of define() " +\n "must be a class, not \'" + $B.class_name(tag_name) + "\'")\n }\n cls.$webcomponent = true\n\n // Create the Javascript class used for the component. It must have\n // the same name as the Python class\n var src = String.raw`var WebComponent = class extends HTMLElement {\n constructor(){\n // Always call super first in constructor\n super()\n var html = $B.imported[\'browser.html\']\n // Create tag in module html\n if(html[\'tag_name\'] === undefined){\n html.maketag(\'tag_name\', WebComponent)\n }\n var init = $B.$getattr(cls, "__init__", _b_.None)\n if(init !== _b_.None){\n try{\n var _self = $B.DOMNode.$factory(this),\n attrs_before_init = []\n for(var i = 0, len = _self.attributes.length; i < len; i++){\n attrs_before_init.push(_self.attributes.item(i))\n }\n _self.__class__ = cls\n _self.__dict__ = $B.empty_dict()\n $B.$call(init)(_self)\n if(WebComponent.initialized){\n // Check that init() did not introduce new attributes,\n // which is illegal\n // cf. https://html.spec.whatwg.org/multipage/custom-elements.html#custom-element-conformance\n for(var i = 0, len = _self.attributes.length; i < len; i++){\n var item = _self.attributes.item(i)\n if(attrs_before_init.indexOf(item) == -1){\n throw _b_.TypeError.$factory("Custom element " +\n "must not create attributes, found: " +\n item.name + \'="\' + item.value + \'"\')\n }\n }\n }\n }catch(err){\n $B.handle_error(err)\n }\n }\n }\n static get observedAttributes(){\n var obs_attr = $B.$getattr(cls, "observedAttributes", null)\n if(obs_attr === null){\n return []\n }\n if($B.$isinstance(obs_attr, _b_.property)){ // issue 2454\n obs_attr = obs_attr.fget(cls)\n }\n if(obs_attr === null){\n return []\n }else if(typeof obs_attr == "function"){\n var warning = _b_.DeprecationWarning.$factory(\n "Setting observedAttributes as a method " +\n "is deprecated. Set it as a class attribute.")\n // module _warning is in builtin_modules.js\n $B.imported._warnings.warn(warning)\n return $B.$call(obs_attr)(this)\n }else if(Array.isArray(obs_attr)){\n return obs_attr\n }else{\n throw _b_.TypeError.$factory(\n "wrong type for observedAttributes: " +\n $B.class_name(obs_attr))\n }\n }\n }\n `\n var name = cls.__name__,\n code = src.replace(/WebComponent/g, name).\n replace(/tag_name/g, tag_name).\n replace(/HTMLElement/, extend_dom_name)\n var src = eval(code)\n var webcomp = eval(name) // JS class for component\n webcomp.$cls = cls\n\n // Override __getattribute__ to handle DOMNode attributes such as\n // attachShadow\n cls.__getattribute__ = function(self, attr){\n try{\n return $B.DOMNode.__getattribute__(self, attr)\n }catch(err){\n if($B.DOMNode[attr]){\n if(typeof $B.DOMNode[attr] == \'function\'){\n return function(){\n var args = [self]\n for(var i = 0, len = arguments.length; i < len; i++){\n args.push(arguments[i])\n }\n return $B.DOMNode[attr].apply(null, args)\n }\n }else{\n return $B.DOMNode[attr]\n }\n }\n throw err\n }\n }\n\n var mro = [cls].concat(cls.__mro__).reverse()\n for(var i = 0, len = mro.length; i < len; i++){\n var pcls = mro[i]\n for(var key in pcls){\n if((! webcomp.hasOwnProperty(key)) &&\n typeof pcls[key] == "function" &&\n // don\'t set $factory (would make it a class)\n key !== \'$factory\'\n ){\n webcomp.prototype[key] = (function(attr, klass){\n return function(){\n try{\n return $B.$call(klass[attr])($B.DOMNode.$factory(this), ...arguments)\n }catch(err){\n $B.show_error(err)\n }\n }\n })(key, pcls)\n }\n }\n }\n\n // define WebComp as the class to use for the specified tag name\n if(_extends){\n customElements.define(tag_name, webcomp, {extends: extend_tag})\n }else{\n customElements.define(tag_name, webcomp)\n }\n webcomp.initialized = true\n}\n\nfunction get(name){\n var ce = customElements.get(name)\n if(ce && ce.$cls){return ce.$cls}\n return _b_.None\n}\n\nvar module = {\n define: define,\n get: get\n}\n\n$B.addToImported(\'_webcomponent\', module)\n\n})(__BRYTHON__)\n'],_webworker:[".js","// Web Worker implementation\n\n(function($B){\n\nvar _b_ = $B.builtins\n\nvar VFS = $B.brython_modules ? 'brython_modules' :\n $B.use_VFS ? 'brython_stdlib' : null\n\nfunction scripts_to_load(debug_level){\n if(debug_level > 2){\n var brython_scripts = [\n 'brython_builtins',\n\n 'py_ast_classes',\n 'stdlib_paths',\n 'unicode_data',\n 'version_info',\n\n 'py_tokens',\n 'python_tokenizer',\n 'py_ast',\n 'py2js',\n 'loaders',\n 'py_utils',\n 'py_object',\n 'py_type',\n 'py_builtin_functions',\n 'py_sort',\n 'py_exceptions',\n 'py_range_slice',\n 'py_bytes',\n 'py_set',\n 'py_import',\n 'py_string',\n 'py_int',\n 'py_long_int',\n 'py_float',\n 'py_complex',\n 'py_dict',\n 'py_list',\n 'js_objects',\n 'py_generator',\n 'py_dom',\n 'py_pattern_matching',\n 'async',\n 'py_flags',\n 'builtin_modules',\n 'ast_to_js',\n 'symtable',\n\n 'action_helpers_generated_version',\n 'string_parser',\n 'number_parser',\n 'python_parser_peg_version',\n 'pegen',\n 'gen_parse',\n 'brython_ready'\n ]\n }else{\n var brython_scripts = ['brython']\n }\n\n if(VFS !== null){\n brython_scripts.push(VFS)\n }\n return brython_scripts\n}\n\nvar wclass = $B.make_class(\"Worker\",\n function(worker){\n return {\n __class__: wclass,\n worker\n }\n }\n)\n\nwclass.send = function(){\n var $ = $B.args('send', 2, {self: null, message: null}, ['self', 'message'],\n arguments, {}, 'args', null)\n var message = $B.pyobj2structuredclone($.message)\n return $.self.worker.postMessage(message, ...$.args)\n}\n\nwclass.__mro__ = [$B.JSObj, _b_.object]\n\n$B.set_func_names(wclass, \"browser.worker\")\n\n\nvar _Worker = $B.make_class(\"Worker\", function(id, onmessage, onerror){\n $B.warn(_b_.DeprecationWarning,\n \"worker.Worker is deprecated in version 3.12. \" +\n \"Use worker.create_worker instead\")\n var $ = $B.args(\"__init__\", 3, {id: null, onmessage: null, onerror: null},\n ['id', 'onmessage', 'onerror'], arguments,\n {onmessage: _b_.None, onerror: _b_.None}, null, null),\n id = $.id,\n worker_script = $B.webworkers[id]\n\n if(worker_script === undefined){\n throw _b_.KeyError.$factory(id)\n }\n var filepath = worker_script.src ? worker_script.src : $B.script_path + \"#\" + id,\n filename = $B.strip_host(filepath),\n src = $B.file_cache[filename]\n\n var indexedDB = worker_script.attributes &&\n worker_script.attributes.getNamedItem('indexedDB')\n var script_id = \"worker\" + $B.UUID(),\n filename = $B.script_path + \"#\" + id\n $B.url2name[filename] = script_id\n\n var js = $B.py2js({src, filename}, script_id).to_js(),\n header = '';\n var brython_scripts = scripts_to_load(\n $B.get_option_from_filename('debug', filename))\n brython_scripts.forEach(function(script){\n if(script != VFS || VFS == \"brython_stdlib\"){\n var url = $B.brython_path + script + \".js\"\n }else{\n // attribute $B.brython_modules is set to the path of\n // brython_modules.js by the script itself\n var url = $B.brython_modules\n }\n if(! $B.get_option('cache')){ // cf. issue 1954\n url += '?' + (new Date()).getTime()\n }\n header += 'importScripts(\"' + url + '\")\\n'\n })\n // set __BRYTHON__.imported[script_id]\n header += `\n var $B = __BRYTHON__,\n _b_ = $B.builtins\n var module = $B.module.$factory(\"${script_id}\")\n module.__file__ = \"${filename}\"\n module.__doc__ = _b_.None\n $B.imported[\"${script_id}\"] = module\\n`\n // restore brython_path\n header += `$B.brython_path = \"${$B.brython_path}\"\\n`\n // restore path for imports (cf. issue #1305)\n header += `$B.make_import_paths(\"${filename}\")\\n`\n // Call brython() to initialize internal Brython values\n header += `brython(${JSON.stringify($B.$options)})\\n`\n js = header + js\n js = `try{${js}}catch(err){$B.handle_error(err)}`\n\n var blob = new Blob([js], {type: \"application/js\"}),\n url = URL.createObjectURL(blob),\n w = new Worker(url),\n res = wclass.$factory(w)\n return res\n})\n\nfunction create_worker(){\n var $ = $B.args(\"__init__\", 4,\n {id: null, onready: null, onmessage: null, onerror: null},\n ['id', 'onready', 'onmessage', 'onerror'], arguments,\n {onready: _b_.None, onmessage: _b_.None, onerror: _b_.None},\n null, null),\n id = $.id,\n worker_script = $B.webworkers[id],\n onready = $.onready === _b_.None ? _b_.None : $B.$call($.onready),\n onmessage = $.onmessage === _b_.None ? _b_.None : $B.$call($.onmessage),\n onerror = $.onerror === _b_.None ? _b_.None : $B.$call($.onerror)\n\n if(worker_script === undefined){\n throw _b_.RuntimeError.$factory(`No webworker with id '${id}'`)\n }\n var script_id = \"worker\" + $B.UUID(),\n filepath = worker_script.src ? worker_script.src : $B.script_path + \"#\" + id,\n filename = $B.strip_host(filepath),\n src = $B.file_cache[filename]\n $B.url2name[filename] = script_id\n\n var brython_scripts = scripts_to_load(\n $B.get_option_from_filename('debug', filename))\n\n var js = $B.py2js({src, filename}, script_id).to_js(),\n header = '';\n for(var script of brython_scripts){\n if(script != VFS || VFS == \"brython_stdlib\"){\n var url = $B.brython_path + script + \".js\"\n }else{\n // attribute $B.brython_modules is set to the path of\n // brython_modules.js by the script itself\n var url = $B.brython_modules\n }\n if(! $B.get_option('cache')){ // cf. issue 1954\n url += '?' + (new Date()).getTime()\n }\n header += 'importScripts(\"' + url + '\")\\n'\n }\n // set __BRYTHON__.imported[script_id]\n header += `\n var $B = __BRYTHON__,\n _b_ = $B.builtins\n var module = $B.module.$factory(\"${script_id}\")\n module.__file__ = \"${filename}\"\n module.__doc__ = _b_.None\n $B.script_domain = \"${$B.script_domain}\"\n $B.imported[\"${script_id}\"] = module\\n`\n\n header += '$B.file_cache[module.__file__] = `' + src + '`\\n'\n // restore brython_path\n header += `$B.brython_path = \"${$B.brython_path}\"\\n`\n // inject script attributes to get options\n header += `var script = $B.scripts[\"${filename}\"] = new $B.fakeScript()\\n`\n for(var key in $B.brython_options){\n var value = $B.brython_options[key]\n if(Array.isArray(value)){\n value = `[${value.map(x => '\"' + x + '\"')}]`\n }else{\n value = `\"${value}\"`\n }\n header += `script.options[\"${key}\"] = ${value}\\n`\n }\n\n for(var attr of worker_script.attributes){\n header += `script.options[\"${attr.name}\"] = \"${attr.value}\"\\n`\n }\n\n // restore path for imports (cf. issue #1305)\n header += `$B.make_import_paths(\"${filename}\")\\n`\n\n // Call brython() to initialize internal Brython values\n var save_option = JSON.stringify($B.brython_options)\n header += `brython(${save_option})\\n`\n\n // send dummy message to trigger resolution of Promise\n var ok_token = Math.random().toString(36).substr(2, 8),\n error_token = Math.random().toString(36).substr(2, 8)\n\n // open indexedDB cache before running worker code\n js = `$B.idb_open_promise().then(function(){\\n` +\n `try{\\n` +\n `${js}\\n` +\n `self.postMessage('${ok_token}')\\n` +\n `}catch(err){\\n` +\n `self.postMessage('${error_token}Error in worker \"${id}\"\\\\n'` +\n ` + $B.error_trace(err))\\n` +\n `}\\n})`\n js = header + js\n\n var p = new Promise(function(resolve, reject){\n try{\n var blob = new Blob([js], {type: \"application/js\"}),\n url = URL.createObjectURL(blob),\n w = new Worker(url),\n res = wclass.$factory(w)\n }catch(err){\n reject(err)\n }\n\n w.onmessage = function(ev){\n if(ev.data == ok_token){\n resolve(res)\n }else if(typeof ev.data == 'string' &&\n ev.data.startsWith(error_token)){\n reject(_b_.Exception.$factory(ev.data.substr(error_token.length)))\n }else{\n if(onmessage !== _b_.None){\n onmessage(ev)\n }\n try{\n resolve(res)\n }catch(err){\n reject(err)\n }\n }\n }\n\n return res\n })\n\n var error_func = onerror === _b_.None ? $B.handle_error : onerror\n\n if(onready !== _b_.None){\n p.then(onready).catch(error_func)\n }else{\n p.catch(error_func)\n }\n return _b_.None\n}\n\nvar module = {\n Worker: _Worker,\n create_worker\n}\n\n$B.addToImported('_webworker', module)\n\n})(__BRYTHON__)\n"],_zlib_utils:[".js","\n\n(function($B){\n\nfunction Text(bytes){\n this.bytes = bytes\n this.length = bytes.length\n this.hash = {} // this.hash[pos] is the hash of the 3-elt sequence at pos\n this.hash_pos = {} // maps hashes to list of positions in bytes\n this.hash_start = -1\n}\n\nText.prototype.at = function(pos){\n return this.bytes[pos]\n}\n\nText.prototype.make_hashes = function(start, end){\n // for all 3-elt sequences from start to end, store the position of the\n // hash\n for(var pos = start; pos < end; pos++){\n if(this.hash.hasOwnProperty(pos)){\n continue\n }\n var hash = this.hash[pos] = this.make_hash(pos)\n if(pos == 27){\n console.log('hash for pos', pos)\n console.log(this.hash_pos[hash])\n alert()\n }\n if(this.hash_pos.hasOwnProperty(hash)){\n var item = this.hash_pos[hash]\n while(item.next !== null){\n item = item.next\n }\n item.next = {pos, next: null}\n }else{\n this.hash_pos[hash] = {pos, next: null}\n\n }\n }\n if(end == 28){\n console.log('start', start, 'end', end)\n console.log(this.hash_pos)\n alert()\n }\n}\n\nText.prototype.make_hash = function(pos){\n return this.at(pos) +\n (this.at(pos + 1) << 8) +\n (this.at(pos + 2) << 16)\n}\n\nfunction HashChain(value, pointer){\n // points to the first position in text where hash == value\n this.pointer = pointer\n}\n\nfunction rfind1(text, start, end, seq){\n // find seq in text starting at start\n var pos = start,\n len = seq.length,\n found\n while(pos < end - len){\n if(text[pos] == seq[0]){\n found = true\n for(var i = 1; i < len; i++){\n if(text[pos + i] != seq[i]){\n found = false\n break\n }\n }\n if(found){\n return pos\n }\n }\n pos++\n }\n return -1\n}\n\nfunction rfind2(text, start, pos){\n //text.make_hashes(start, pos)\n var h = text.make_hash(pos)\n if(! text.hash_pos.hasOwnProperty(h)){\n // hash was not found\n text.hash_pos[h] = {pos, next: null}\n return -1\n }else{\n /*\n console.log('pos', pos, 'found hash', h, 'in hash_pos')\n console.log(text.hash_pos[h])\n alert()\n */\n var item = text.hash_pos[h]\n // discard items before start\n while(item.pos < start){\n if(item.next !== null){\n item = item.next\n text.hash_pos[h] = item\n }else{\n // no item found after start\n text.hash_pos[h] = {pos, next: null}\n return -1\n }\n }\n var found_at = item.pos\n while(item.next !== null){\n item = item.next\n }\n item.next = {pos, next: null}\n return found_at\n }\n}\n\nfunction rfind(buf, seq){\n var buflen = buf.length,\n len = seq.length\n for(var i = buflen - len; i >= 0; i--){\n var chunk = buf.slice(i, i + len),\n found = true\n for(var j = 0; j < len; j++){\n if(chunk[j] != seq[j]){\n found = false\n break\n }\n }\n if(found){return i}\n }\n return -1\n}\n\nfunction to_str(bytes){\n return bytes.map(x => String.fromCodePoint(x)).join('')\n}\n\nfunction restore(items){\n var s = ''\n for(var item of items){\n if(typeof item == \"number\"){\n s += String.fromCodePoint(item)\n }else{\n var len = item[0],\n distance = item[1]\n s += s.substr(s.length - distance, len)\n }\n }\n return s\n}\n\nvar c;\nvar crcTable = [];\nfor(var n =0; n < 256; n++){\n c = n;\n for(var k =0; k < 8; k++){\n c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n crcTable[n] = c;\n}\n\nvar mod = {\n crc32: function(bytes, crc) {\n var crc = crc ^ (-1);\n\n for (var byte of bytes.source) {\n crc = (crc >>> 8) ^ crcTable[(crc ^ byte) & 0xFF];\n }\n\n return (crc ^ (-1)) >>> 0;\n },\n\n lz_generator_old: function(text, size, min_len){\n /*\n Returns a list of items based on the LZ algorithm, using the\n specified window size and a minimum match length.\n The items are a tuple (length, distance) if a match has been\n found, and a byte otherwise.\n */\n // 'text' is an instance of Python 'bytes' class, the actual\n // bytes are in text.source\n text = text.source\n if(min_len === undefined){\n min_len = 3\n }\n var pos = 0, // position in text\n items = [], // returned items\n start\n var t0 = globalThis.performance.now()\n var nb = 1000,\n delta = 1000\n while(pos < text.length){\n if(items.length > nb){\n // console.log(items.length)\n nb += delta\n //console.log(items)\n // alert()\n }\n sequence = text.slice(pos, pos + min_len)\n if(sequence.length < 3){\n for(var i = pos; i < text.length; i++){\n items.push(text[i])\n }\n break\n }\n // Search the sequence in the 'size' previous bytes\n //buf = text.slice(Math.max(0, pos - size), pos)\n start = Math.max(0, pos - size)\n buf_pos = rfind1(text, start, pos, sequence)\n console.log('buf pos', buf_pos)\n if(buf_pos > -1){\n // Match of length 3 found; search a longer one\n var len = 1\n while(len < 258 &&\n buf_pos + len < pos &&\n pos + len < text.length &&\n text[pos + len] == text[buf_pos + len]){\n len += 1\n }\n if(len > 1 && nb > 105000){\n //console.log('len', len, to_str(text.slice(pos, pos + len)))\n //alert()\n }\n // \"Lazy matching\": search longer match starting at next\n // position\n longer_match = false\n if(pos + len < text.length - 2){\n match2 = text.slice(pos + 1, pos + len + 2)\n var start1 = pos + 1\n end = pos + len + 2\n longer_buf_pos = rfind1(text, start1, end, match2)\n if(longer_buf_pos > -1){\n // found longer match : emit current byte as\n // literal and move 1 byte forward\n console.log('found longer match')\n longer_match = true\n char = text[pos]\n items.push(char)\n pos += 1\n }\n }\n if(! longer_match){\n // position of match start in text is buf_pos\n // distance is pos - buf_pos\n distance = pos - buf_pos\n items.push($B.fast_tuple([len, distance]))\n if(pos + len == text.length){\n break\n }else{\n pos += len\n items.push(text[pos])\n pos += 1\n }\n }\n }else{\n char = text[pos]\n items.push(char)\n pos += 1\n }\n }\n console.log('fini, items', items.length)\n return items\n },\n lz_generator: function(text, size, min_len){\n /*\n Returns a list of items based on the LZ algorithm, using the\n specified window size and a minimum match length.\n The items are a tuple (length, distance) if a match has been\n found, and a byte otherwise.\n */\n // 'text' is an instance of Python 'bytes' class, the actual\n // bytes are in text.source\n text = new Text(text.source)\n if(min_len === undefined){\n min_len = 3\n }\n var pos = 0, // position in text\n items = [], // returned items\n start\n var t0 = globalThis.performance.now()\n var nb = 1000,\n delta = 1000\n while(pos < text.length){\n if(pos > text.length - min_len){\n for(var i = pos; i < text.length; i++){\n items.push(text.at(i))\n }\n break\n }\n // Search the sequence in the 'size' previous bytes\n start = Math.max(0, pos - size)\n buf_pos = rfind2(text, start, pos)\n if(buf_pos > -1 && buf_pos < pos - min_len){\n // Match of length 3 found; search a longer one\n var len = 1\n while(len < 258 &&\n buf_pos + len < pos &&\n pos + len < text.length &&\n text.at(pos + len) == text.at(buf_pos + len)){\n len += 1\n }\n // \"Lazy matching\": search longer match starting at next\n // position\n longer_match = false\n if(pos + len < text.length - 2){\n // match2 = text.slice(pos + 1, pos + len + 2)\n var start1 = pos + 1\n end = pos + len + 2\n longer_buf_pos = rfind2(text, start1, end)\n if(longer_buf_pos > -1){\n // found longer match : emit current byte as\n // literal and move 1 byte forward\n longer_match = true\n char = text.at(pos)\n items.push(char)\n pos += 1\n }\n }\n if(! longer_match){\n // position of match start in text is buf_pos\n // distance is pos - buf_pos\n var distance = pos - buf_pos\n items.push($B.fast_tuple([len, distance]))\n if(pos + len == text.length){\n break\n }else{\n pos += len\n items.push(text.at(pos))\n pos += 1\n }\n }\n }else{\n char = text.bytes[pos]\n items.push(char)\n pos += 1\n }\n }\n return items\n }\n\n}\n\n$B.addToImported('_zlib_utils', mod)\n\n})(__BRYTHON__)\n"],crypto_js:[".py","",[],1],"crypto_js.rollups":[".py","",[],1],"crypto_js.rollups.md5":[".js",'/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\nvar CryptoJS=CryptoJS||function(s,p){var m={},l=m.lib={},n=function(){},r=l.Base={extend:function(b){n.prototype=this;var h=new n;b&&h.mixIn(b);h.hasOwnProperty("init")||(h.init=function(){h.$super.init.apply(this,arguments)});h.init.prototype=h;h.$super=this;return h},create:function(){var b=this.extend();b.init.apply(b,arguments);return b},init:function(){},mixIn:function(b){for(var h in b)b.hasOwnProperty(h)&&(this[h]=b[h]);b.hasOwnProperty("toString")&&(this.toString=b.toString)},clone:function(){return this.init.prototype.extend(this)}},\nq=l.WordArray=r.extend({init:function(b,h){b=this.words=b||[];this.sigBytes=h!=p?h:4*b.length},toString:function(b){return(b||t).stringify(this)},concat:function(b){var h=this.words,a=b.words,j=this.sigBytes;b=b.sigBytes;this.clamp();if(j%4)for(var g=0;g>>2]|=(a[g>>>2]>>>24-8*(g%4)&255)<<24-8*((j+g)%4);else if(65535>>2]=a[g>>>2];else h.push.apply(h,a);this.sigBytes+=b;return this},clamp:function(){var b=this.words,h=this.sigBytes;b[h>>>2]&=4294967295<<\n32-8*(h%4);b.length=s.ceil(h/4)},clone:function(){var b=r.clone.call(this);b.words=this.words.slice(0);return b},random:function(b){for(var h=[],a=0;a>>2]>>>24-8*(j%4)&255;g.push((k>>>4).toString(16));g.push((k&15).toString(16))}return g.join("")},parse:function(b){for(var a=b.length,g=[],j=0;j>>3]|=parseInt(b.substr(j,\n2),16)<<24-4*(j%8);return new q.init(g,a/2)}},a=v.Latin1={stringify:function(b){var a=b.words;b=b.sigBytes;for(var g=[],j=0;j>>2]>>>24-8*(j%4)&255));return g.join("")},parse:function(b){for(var a=b.length,g=[],j=0;j>>2]|=(b.charCodeAt(j)&255)<<24-8*(j%4);return new q.init(g,a)}},u=v.Utf8={stringify:function(b){try{return decodeURIComponent(escape(a.stringify(b)))}catch(g){throw Error("Malformed UTF-8 data");}},parse:function(b){return a.parse(unescape(encodeURIComponent(b)))}},\ng=l.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new q.init;this._nDataBytes=0},_append:function(b){"string"==typeof b&&(b=u.parse(b));this._data.concat(b);this._nDataBytes+=b.sigBytes},_process:function(b){var a=this._data,g=a.words,j=a.sigBytes,k=this.blockSize,m=j/(4*k),m=b?s.ceil(m):s.max((m|0)-this._minBufferSize,0);b=m*k;j=s.min(4*b,j);if(b){for(var l=0;l>>32-j)+k}function m(a,k,b,h,l,j,m){a=a+(k&h|b&~h)+l+m;return(a<>>32-j)+k}function l(a,k,b,h,l,j,m){a=a+(k^b^h)+l+m;return(a<>>32-j)+k}function n(a,k,b,h,l,j,m){a=a+(b^(k|~h))+l+m;return(a<>>32-j)+k}for(var r=CryptoJS,q=r.lib,v=q.WordArray,t=q.Hasher,q=r.algo,a=[],u=0;64>u;u++)a[u]=4294967296*s.abs(s.sin(u+1))|0;q=q.MD5=t.extend({_doReset:function(){this._hash=new v.init([1732584193,4023233417,2562383102,271733878])},\n_doProcessBlock:function(g,k){for(var b=0;16>b;b++){var h=k+b,w=g[h];g[h]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360}var b=this._hash.words,h=g[k+0],w=g[k+1],j=g[k+2],q=g[k+3],r=g[k+4],s=g[k+5],t=g[k+6],u=g[k+7],v=g[k+8],x=g[k+9],y=g[k+10],z=g[k+11],A=g[k+12],B=g[k+13],C=g[k+14],D=g[k+15],c=b[0],d=b[1],e=b[2],f=b[3],c=p(c,d,e,f,h,7,a[0]),f=p(f,c,d,e,w,12,a[1]),e=p(e,f,c,d,j,17,a[2]),d=p(d,e,f,c,q,22,a[3]),c=p(c,d,e,f,r,7,a[4]),f=p(f,c,d,e,s,12,a[5]),e=p(e,f,c,d,t,17,a[6]),d=p(d,e,f,c,u,22,a[7]),\nc=p(c,d,e,f,v,7,a[8]),f=p(f,c,d,e,x,12,a[9]),e=p(e,f,c,d,y,17,a[10]),d=p(d,e,f,c,z,22,a[11]),c=p(c,d,e,f,A,7,a[12]),f=p(f,c,d,e,B,12,a[13]),e=p(e,f,c,d,C,17,a[14]),d=p(d,e,f,c,D,22,a[15]),c=m(c,d,e,f,w,5,a[16]),f=m(f,c,d,e,t,9,a[17]),e=m(e,f,c,d,z,14,a[18]),d=m(d,e,f,c,h,20,a[19]),c=m(c,d,e,f,s,5,a[20]),f=m(f,c,d,e,y,9,a[21]),e=m(e,f,c,d,D,14,a[22]),d=m(d,e,f,c,r,20,a[23]),c=m(c,d,e,f,x,5,a[24]),f=m(f,c,d,e,C,9,a[25]),e=m(e,f,c,d,q,14,a[26]),d=m(d,e,f,c,v,20,a[27]),c=m(c,d,e,f,B,5,a[28]),f=m(f,c,\nd,e,j,9,a[29]),e=m(e,f,c,d,u,14,a[30]),d=m(d,e,f,c,A,20,a[31]),c=l(c,d,e,f,s,4,a[32]),f=l(f,c,d,e,v,11,a[33]),e=l(e,f,c,d,z,16,a[34]),d=l(d,e,f,c,C,23,a[35]),c=l(c,d,e,f,w,4,a[36]),f=l(f,c,d,e,r,11,a[37]),e=l(e,f,c,d,u,16,a[38]),d=l(d,e,f,c,y,23,a[39]),c=l(c,d,e,f,B,4,a[40]),f=l(f,c,d,e,h,11,a[41]),e=l(e,f,c,d,q,16,a[42]),d=l(d,e,f,c,t,23,a[43]),c=l(c,d,e,f,x,4,a[44]),f=l(f,c,d,e,A,11,a[45]),e=l(e,f,c,d,D,16,a[46]),d=l(d,e,f,c,j,23,a[47]),c=n(c,d,e,f,h,6,a[48]),f=n(f,c,d,e,u,10,a[49]),e=n(e,f,c,d,\nC,15,a[50]),d=n(d,e,f,c,s,21,a[51]),c=n(c,d,e,f,A,6,a[52]),f=n(f,c,d,e,q,10,a[53]),e=n(e,f,c,d,y,15,a[54]),d=n(d,e,f,c,w,21,a[55]),c=n(c,d,e,f,v,6,a[56]),f=n(f,c,d,e,D,10,a[57]),e=n(e,f,c,d,t,15,a[58]),d=n(d,e,f,c,B,21,a[59]),c=n(c,d,e,f,r,6,a[60]),f=n(f,c,d,e,z,10,a[61]),e=n(e,f,c,d,j,15,a[62]),d=n(d,e,f,c,x,21,a[63]);b[0]=b[0]+c|0;b[1]=b[1]+d|0;b[2]=b[2]+e|0;b[3]=b[3]+f|0},_doFinalize:function(){var a=this._data,k=a.words,b=8*this._nDataBytes,h=8*a.sigBytes;k[h>>>5]|=128<<24-h%32;var l=s.floor(b/\n4294967296);k[(h+64>>>9<<4)+15]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360;k[(h+64>>>9<<4)+14]=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360;a.sigBytes=4*(k.length+1);this._process();a=this._hash;k=a.words;for(b=0;4>b;b++)h=k[b],k[b]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360;return a},clone:function(){var a=t.clone.call(this);a._hash=this._hash.clone();return a}});r.MD5=t._createHelper(q);r.HmacMD5=t._createHmacHelper(q)})(Math);\n'],"crypto_js.rollups.sha1":[".js",'/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\nvar CryptoJS=CryptoJS||function(e,m){var p={},j=p.lib={},l=function(){},f=j.Base={extend:function(a){l.prototype=this;var c=new l;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},\nn=j.WordArray=f.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=m?c:4*a.length},toString:function(a){return(a||h).stringify(this)},concat:function(a){var c=this.words,q=a.words,d=this.sigBytes;a=a.sigBytes;this.clamp();if(d%4)for(var b=0;b>>2]|=(q[b>>>2]>>>24-8*(b%4)&255)<<24-8*((d+b)%4);else if(65535>>2]=q[b>>>2];else c.push.apply(c,q);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<\n32-8*(c%4);a.length=e.ceil(c/4)},clone:function(){var a=f.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],b=0;b>>2]>>>24-8*(d%4)&255;b.push((f>>>4).toString(16));b.push((f&15).toString(16))}return b.join("")},parse:function(a){for(var c=a.length,b=[],d=0;d>>3]|=parseInt(a.substr(d,\n2),16)<<24-4*(d%8);return new n.init(b,c/2)}},g=b.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var b=[],d=0;d>>2]>>>24-8*(d%4)&255));return b.join("")},parse:function(a){for(var c=a.length,b=[],d=0;d>>2]|=(a.charCodeAt(d)&255)<<24-8*(d%4);return new n.init(b,c)}},r=b.Utf8={stringify:function(a){try{return decodeURIComponent(escape(g.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return g.parse(unescape(encodeURIComponent(a)))}},\nk=j.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new n.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=r.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,b=c.words,d=c.sigBytes,f=this.blockSize,h=d/(4*f),h=a?e.ceil(h):e.max((h|0)-this._minBufferSize,0);a=h*f;d=e.min(4*a,d);if(a){for(var g=0;ga;a++){if(16>a)l[a]=f[n+a]|0;else{var c=l[a-3]^l[a-8]^l[a-14]^l[a-16];l[a]=c<<1|c>>>31}c=(h<<5|h>>>27)+j+l[a];c=20>a?c+((g&e|~g&k)+1518500249):40>a?c+((g^e^k)+1859775393):60>a?c+((g&e|g&k|e&k)-1894007588):c+((g^e^\nk)-899497514);j=k;k=e;e=g<<30|g>>>2;g=h;h=c}b[0]=b[0]+h|0;b[1]=b[1]+g|0;b[2]=b[2]+e|0;b[3]=b[3]+k|0;b[4]=b[4]+j|0},_doFinalize:function(){var f=this._data,e=f.words,b=8*this._nDataBytes,h=8*f.sigBytes;e[h>>>5]|=128<<24-h%32;e[(h+64>>>9<<4)+14]=Math.floor(b/4294967296);e[(h+64>>>9<<4)+15]=b;f.sigBytes=4*e.length;this._process();return this._hash},clone:function(){var e=j.clone.call(this);e._hash=this._hash.clone();return e}});e.SHA1=j._createHelper(m);e.HmacSHA1=j._createHmacHelper(m)})();\n'],"crypto_js.rollups.sha224":[".js",'/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\nvar CryptoJS=CryptoJS||function(g,l){var f={},k=f.lib={},h=function(){},m=k.Base={extend:function(a){h.prototype=this;var c=new h;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},\nq=k.WordArray=m.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=l?c:4*a.length},toString:function(a){return(a||s).stringify(this)},concat:function(a){var c=this.words,d=a.words,b=this.sigBytes;a=a.sigBytes;this.clamp();if(b%4)for(var e=0;e>>2]|=(d[e>>>2]>>>24-8*(e%4)&255)<<24-8*((b+e)%4);else if(65535>>2]=d[e>>>2];else c.push.apply(c,d);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<\n32-8*(c%4);a.length=g.ceil(c/4)},clone:function(){var a=m.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],d=0;d>>2]>>>24-8*(b%4)&255;d.push((e>>>4).toString(16));d.push((e&15).toString(16))}return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b>>3]|=parseInt(a.substr(b,\n2),16)<<24-4*(b%8);return new q.init(d,c/2)}},n=t.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var d=[],b=0;b>>2]>>>24-8*(b%4)&255));return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b>>2]|=(a.charCodeAt(b)&255)<<24-8*(b%4);return new q.init(d,c)}},j=t.Utf8={stringify:function(a){try{return decodeURIComponent(escape(n.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return n.parse(unescape(encodeURIComponent(a)))}},\nw=k.BufferedBlockAlgorithm=m.extend({reset:function(){this._data=new q.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=j.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,d=c.words,b=c.sigBytes,e=this.blockSize,f=b/(4*e),f=a?g.ceil(f):g.max((f|0)-this._minBufferSize,0);a=f*e;b=g.min(4*a,b);if(a){for(var u=0;un;){var j;a:{j=s;for(var w=g.sqrt(j),v=2;v<=w;v++)if(!(j%v)){j=!1;break a}j=!0}j&&(8>n&&(m[n]=t(g.pow(s,0.5))),q[n]=t(g.pow(s,1/3)),n++);s++}var a=[],f=f.SHA256=h.extend({_doReset:function(){this._hash=new k.init(m.slice(0))},_doProcessBlock:function(c,d){for(var b=this._hash.words,e=b[0],f=b[1],g=b[2],k=b[3],h=b[4],l=b[5],m=b[6],n=b[7],p=0;64>p;p++){if(16>p)a[p]=\nc[d+p]|0;else{var j=a[p-15],r=a[p-2];a[p]=((j<<25|j>>>7)^(j<<14|j>>>18)^j>>>3)+a[p-7]+((r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10)+a[p-16]}j=n+((h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25))+(h&l^~h&m)+q[p]+a[p];r=((e<<30|e>>>2)^(e<<19|e>>>13)^(e<<10|e>>>22))+(e&f^e&g^f&g);n=m;m=l;l=h;h=k+j|0;k=g;g=f;f=e;e=j+r|0}b[0]=b[0]+e|0;b[1]=b[1]+f|0;b[2]=b[2]+g|0;b[3]=b[3]+k|0;b[4]=b[4]+h|0;b[5]=b[5]+l|0;b[6]=b[6]+m|0;b[7]=b[7]+n|0},_doFinalize:function(){var a=this._data,d=a.words,b=8*this._nDataBytes,e=8*a.sigBytes;\nd[e>>>5]|=128<<24-e%32;d[(e+64>>>9<<4)+14]=g.floor(b/4294967296);d[(e+64>>>9<<4)+15]=b;a.sigBytes=4*d.length;this._process();return this._hash},clone:function(){var a=h.clone.call(this);a._hash=this._hash.clone();return a}});l.SHA256=h._createHelper(f);l.HmacSHA256=h._createHmacHelper(f)})(Math);\n(function(){var g=CryptoJS,l=g.lib.WordArray,f=g.algo,k=f.SHA256,f=f.SHA224=k.extend({_doReset:function(){this._hash=new l.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var f=k._doFinalize.call(this);f.sigBytes-=4;return f}});g.SHA224=k._createHelper(f);g.HmacSHA224=k._createHmacHelper(f)})();\n'],"crypto_js.rollups.sha256":[".js",'/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\nvar CryptoJS=CryptoJS||function(h,s){var f={},t=f.lib={},g=function(){},j=t.Base={extend:function(a){g.prototype=this;var c=new g;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},\nq=t.WordArray=j.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=s?c:4*a.length},toString:function(a){return(a||u).stringify(this)},concat:function(a){var c=this.words,d=a.words,b=this.sigBytes;a=a.sigBytes;this.clamp();if(b%4)for(var e=0;e>>2]|=(d[e>>>2]>>>24-8*(e%4)&255)<<24-8*((b+e)%4);else if(65535>>2]=d[e>>>2];else c.push.apply(c,d);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<\n32-8*(c%4);a.length=h.ceil(c/4)},clone:function(){var a=j.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],d=0;d>>2]>>>24-8*(b%4)&255;d.push((e>>>4).toString(16));d.push((e&15).toString(16))}return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b>>3]|=parseInt(a.substr(b,\n2),16)<<24-4*(b%8);return new q.init(d,c/2)}},k=v.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var d=[],b=0;b>>2]>>>24-8*(b%4)&255));return d.join("")},parse:function(a){for(var c=a.length,d=[],b=0;b>>2]|=(a.charCodeAt(b)&255)<<24-8*(b%4);return new q.init(d,c)}},l=v.Utf8={stringify:function(a){try{return decodeURIComponent(escape(k.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return k.parse(unescape(encodeURIComponent(a)))}},\nx=t.BufferedBlockAlgorithm=j.extend({reset:function(){this._data=new q.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=l.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,d=c.words,b=c.sigBytes,e=this.blockSize,f=b/(4*e),f=a?h.ceil(f):h.max((f|0)-this._minBufferSize,0);a=f*e;b=h.min(4*a,b);if(a){for(var m=0;mk;){var l;a:{l=u;for(var x=h.sqrt(l),w=2;w<=x;w++)if(!(l%w)){l=!1;break a}l=!0}l&&(8>k&&(j[k]=v(h.pow(u,0.5))),q[k]=v(h.pow(u,1/3)),k++);u++}var a=[],f=f.SHA256=g.extend({_doReset:function(){this._hash=new t.init(j.slice(0))},_doProcessBlock:function(c,d){for(var b=this._hash.words,e=b[0],f=b[1],m=b[2],h=b[3],p=b[4],j=b[5],k=b[6],l=b[7],n=0;64>n;n++){if(16>n)a[n]=\nc[d+n]|0;else{var r=a[n-15],g=a[n-2];a[n]=((r<<25|r>>>7)^(r<<14|r>>>18)^r>>>3)+a[n-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+a[n-16]}r=l+((p<<26|p>>>6)^(p<<21|p>>>11)^(p<<7|p>>>25))+(p&j^~p&k)+q[n]+a[n];g=((e<<30|e>>>2)^(e<<19|e>>>13)^(e<<10|e>>>22))+(e&f^e&m^f&m);l=k;k=j;j=p;p=h+r|0;h=m;m=f;f=e;e=r+g|0}b[0]=b[0]+e|0;b[1]=b[1]+f|0;b[2]=b[2]+m|0;b[3]=b[3]+h|0;b[4]=b[4]+p|0;b[5]=b[5]+j|0;b[6]=b[6]+k|0;b[7]=b[7]+l|0},_doFinalize:function(){var a=this._data,d=a.words,b=8*this._nDataBytes,e=8*a.sigBytes;\nd[e>>>5]|=128<<24-e%32;d[(e+64>>>9<<4)+14]=h.floor(b/4294967296);d[(e+64>>>9<<4)+15]=b;a.sigBytes=4*d.length;this._process();return this._hash},clone:function(){var a=g.clone.call(this);a._hash=this._hash.clone();return a}});s.SHA256=g._createHelper(f);s.HmacSHA256=g._createHmacHelper(f)})(Math);\n'],"crypto_js.rollups.sha3":[".js",'/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\nvar CryptoJS=CryptoJS||function(v,p){var d={},u=d.lib={},r=function(){},f=u.Base={extend:function(a){r.prototype=this;var b=new r;a&&b.mixIn(a);b.hasOwnProperty("init")||(b.init=function(){b.$super.init.apply(this,arguments)});b.init.prototype=b;b.$super=this;return b},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},\ns=u.WordArray=f.extend({init:function(a,b){a=this.words=a||[];this.sigBytes=b!=p?b:4*a.length},toString:function(a){return(a||y).stringify(this)},concat:function(a){var b=this.words,c=a.words,j=this.sigBytes;a=a.sigBytes;this.clamp();if(j%4)for(var n=0;n>>2]|=(c[n>>>2]>>>24-8*(n%4)&255)<<24-8*((j+n)%4);else if(65535>>2]=c[n>>>2];else b.push.apply(b,c);this.sigBytes+=a;return this},clamp:function(){var a=this.words,b=this.sigBytes;a[b>>>2]&=4294967295<<\n32-8*(b%4);a.length=v.ceil(b/4)},clone:function(){var a=f.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var b=[],c=0;c>>2]>>>24-8*(j%4)&255;c.push((n>>>4).toString(16));c.push((n&15).toString(16))}return c.join("")},parse:function(a){for(var b=a.length,c=[],j=0;j>>3]|=parseInt(a.substr(j,\n2),16)<<24-4*(j%8);return new s.init(c,b/2)}},e=x.Latin1={stringify:function(a){var b=a.words;a=a.sigBytes;for(var c=[],j=0;j>>2]>>>24-8*(j%4)&255));return c.join("")},parse:function(a){for(var b=a.length,c=[],j=0;j>>2]|=(a.charCodeAt(j)&255)<<24-8*(j%4);return new s.init(c,b)}},q=x.Utf8={stringify:function(a){try{return decodeURIComponent(escape(e.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return e.parse(unescape(encodeURIComponent(a)))}},\nt=u.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new s.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=q.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var b=this._data,c=b.words,j=b.sigBytes,n=this.blockSize,e=j/(4*n),e=a?v.ceil(e):v.max((e|0)-this._minBufferSize,0);a=e*n;j=v.min(4*a,j);if(a){for(var f=0;ft;t++){s[e+5*q]=(t+1)*(t+2)/2%64;var w=(2*e+3*q)%5,e=q%5,q=w}for(e=0;5>e;e++)for(q=0;5>q;q++)x[e+5*q]=q+5*((2*e+3*q)%5);e=1;for(q=0;24>q;q++){for(var a=w=t=0;7>a;a++){if(e&1){var b=(1<b?w^=1<e;e++)c[e]=f.create();d=d.SHA3=r.extend({cfg:r.cfg.extend({outputLength:512}),_doReset:function(){for(var a=this._state=\n[],b=0;25>b;b++)a[b]=new f.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(a,b){for(var e=this._state,f=this.blockSize/2,h=0;h>>24)&16711935|(l<<24|l>>>8)&4278255360,m=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,g=e[h];g.high^=m;g.low^=l}for(f=0;24>f;f++){for(h=0;5>h;h++){for(var d=l=0,k=0;5>k;k++)g=e[h+5*k],l^=g.high,d^=g.low;g=c[h];g.high=l;g.low=d}for(h=0;5>h;h++){g=c[(h+4)%5];l=c[(h+1)%5];m=l.high;k=l.low;l=g.high^\n(m<<1|k>>>31);d=g.low^(k<<1|m>>>31);for(k=0;5>k;k++)g=e[h+5*k],g.high^=l,g.low^=d}for(m=1;25>m;m++)g=e[m],h=g.high,g=g.low,k=s[m],32>k?(l=h<>>32-k,d=g<>>32-k):(l=g<>>64-k,d=h<>>64-k),g=c[x[m]],g.high=l,g.low=d;g=c[0];h=e[0];g.high=h.high;g.low=h.low;for(h=0;5>h;h++)for(k=0;5>k;k++)m=h+5*k,g=e[m],l=c[m],m=c[(h+1)%5+5*k],d=c[(h+2)%5+5*k],g.high=l.high^~m.high&d.high,g.low=l.low^~m.low&d.low;g=e[0];h=y[f];g.high^=h.high;g.low^=h.low}},_doFinalize:function(){var a=this._data,\nb=a.words,c=8*a.sigBytes,e=32*this.blockSize;b[c>>>5]|=1<<24-c%32;b[(v.ceil((c+1)/e)*e>>>5)-1]|=128;a.sigBytes=4*b.length;this._process();for(var a=this._state,b=this.cfg.outputLength/8,c=b/8,e=[],h=0;h>>24)&16711935|(f<<24|f>>>8)&4278255360,d=(d<<8|d>>>24)&16711935|(d<<24|d>>>8)&4278255360;e.push(d);e.push(f)}return new u.init(e,b)},clone:function(){for(var a=r.clone.call(this),b=a._state=this._state.slice(0),c=0;25>c;c++)b[c]=b[c].clone();return a}});\np.SHA3=r._createHelper(d);p.HmacSHA3=r._createHmacHelper(d)})(Math);\n'],"crypto_js.rollups.sha384":[".js",'/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\nvar CryptoJS=CryptoJS||function(a,c){var d={},j=d.lib={},f=function(){},m=j.Base={extend:function(a){f.prototype=this;var b=new f;a&&b.mixIn(a);b.hasOwnProperty("init")||(b.init=function(){b.$super.init.apply(this,arguments)});b.init.prototype=b;b.$super=this;return b},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},\nB=j.WordArray=m.extend({init:function(a,b){a=this.words=a||[];this.sigBytes=b!=c?b:4*a.length},toString:function(a){return(a||y).stringify(this)},concat:function(a){var b=this.words,g=a.words,e=this.sigBytes;a=a.sigBytes;this.clamp();if(e%4)for(var k=0;k>>2]|=(g[k>>>2]>>>24-8*(k%4)&255)<<24-8*((e+k)%4);else if(65535>>2]=g[k>>>2];else b.push.apply(b,g);this.sigBytes+=a;return this},clamp:function(){var n=this.words,b=this.sigBytes;n[b>>>2]&=4294967295<<\n32-8*(b%4);n.length=a.ceil(b/4)},clone:function(){var a=m.clone.call(this);a.words=this.words.slice(0);return a},random:function(n){for(var b=[],g=0;g>>2]>>>24-8*(e%4)&255;g.push((k>>>4).toString(16));g.push((k&15).toString(16))}return g.join("")},parse:function(a){for(var b=a.length,g=[],e=0;e>>3]|=parseInt(a.substr(e,\n2),16)<<24-4*(e%8);return new B.init(g,b/2)}},F=v.Latin1={stringify:function(a){var b=a.words;a=a.sigBytes;for(var g=[],e=0;e>>2]>>>24-8*(e%4)&255));return g.join("")},parse:function(a){for(var b=a.length,g=[],e=0;e>>2]|=(a.charCodeAt(e)&255)<<24-8*(e%4);return new B.init(g,b)}},ha=v.Utf8={stringify:function(a){try{return decodeURIComponent(escape(F.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return F.parse(unescape(encodeURIComponent(a)))}},\nZ=j.BufferedBlockAlgorithm=m.extend({reset:function(){this._data=new B.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=ha.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(n){var b=this._data,g=b.words,e=b.sigBytes,k=this.blockSize,m=e/(4*k),m=n?a.ceil(m):a.max((m|0)-this._minBufferSize,0);n=m*k;e=a.min(4*n,e);if(n){for(var c=0;cy;y++)v[y]=a();j=j.SHA512=d.extend({_doReset:function(){this._hash=new m.init([new f.init(1779033703,4089235720),new f.init(3144134277,2227873595),new f.init(1013904242,4271175723),new f.init(2773480762,1595750129),new f.init(1359893119,2917565137),new f.init(2600822924,725511199),new f.init(528734635,4215389547),new f.init(1541459225,327033209)])},_doProcessBlock:function(a,c){for(var d=this._hash.words,\nf=d[0],j=d[1],b=d[2],g=d[3],e=d[4],k=d[5],m=d[6],d=d[7],y=f.high,M=f.low,$=j.high,N=j.low,aa=b.high,O=b.low,ba=g.high,P=g.low,ca=e.high,Q=e.low,da=k.high,R=k.low,ea=m.high,S=m.low,fa=d.high,T=d.low,s=y,p=M,G=$,D=N,H=aa,E=O,W=ba,I=P,t=ca,q=Q,U=da,J=R,V=ea,K=S,X=fa,L=T,u=0;80>u;u++){var z=v[u];if(16>u)var r=z.high=a[c+2*u]|0,h=z.low=a[c+2*u+1]|0;else{var r=v[u-15],h=r.high,w=r.low,r=(h>>>1|w<<31)^(h>>>8|w<<24)^h>>>7,w=(w>>>1|h<<31)^(w>>>8|h<<24)^(w>>>7|h<<25),C=v[u-2],h=C.high,l=C.low,C=(h>>>19|l<<\n13)^(h<<3|l>>>29)^h>>>6,l=(l>>>19|h<<13)^(l<<3|h>>>29)^(l>>>6|h<<26),h=v[u-7],Y=h.high,A=v[u-16],x=A.high,A=A.low,h=w+h.low,r=r+Y+(h>>>0>>0?1:0),h=h+l,r=r+C+(h>>>0>>0?1:0),h=h+A,r=r+x+(h>>>0>>0?1:0);z.high=r;z.low=h}var Y=t&U^~t&V,A=q&J^~q&K,z=s&G^s&H^G&H,ja=p&D^p&E^D&E,w=(s>>>28|p<<4)^(s<<30|p>>>2)^(s<<25|p>>>7),C=(p>>>28|s<<4)^(p<<30|s>>>2)^(p<<25|s>>>7),l=B[u],ka=l.high,ga=l.low,l=L+((q>>>14|t<<18)^(q>>>18|t<<14)^(q<<23|t>>>9)),x=X+((t>>>14|q<<18)^(t>>>18|q<<14)^(t<<23|q>>>9))+(l>>>0<\nL>>>0?1:0),l=l+A,x=x+Y+(l>>>0>>0?1:0),l=l+ga,x=x+ka+(l>>>0>>0?1:0),l=l+h,x=x+r+(l>>>0>>0?1:0),h=C+ja,z=w+z+(h>>>0>>0?1:0),X=V,L=K,V=U,K=J,U=t,J=q,q=I+l|0,t=W+x+(q>>>0>>0?1:0)|0,W=H,I=E,H=G,E=D,G=s,D=p,p=l+h|0,s=x+z+(p>>>0>>0?1:0)|0}M=f.low=M+p;f.high=y+s+(M>>>0

>>0?1:0);N=j.low=N+D;j.high=$+G+(N>>>0>>0?1:0);O=b.low=O+E;b.high=aa+H+(O>>>0>>0?1:0);P=g.low=P+I;g.high=ba+W+(P>>>0>>0?1:0);Q=e.low=Q+q;e.high=ca+t+(Q>>>0>>0?1:0);R=k.low=R+J;k.high=da+U+(R>>>0>>0?1:0);\nS=m.low=S+K;m.high=ea+V+(S>>>0>>0?1:0);T=d.low=T+L;d.high=fa+X+(T>>>0>>0?1:0)},_doFinalize:function(){var a=this._data,c=a.words,d=8*this._nDataBytes,f=8*a.sigBytes;c[f>>>5]|=128<<24-f%32;c[(f+128>>>10<<5)+30]=Math.floor(d/4294967296);c[(f+128>>>10<<5)+31]=d;a.sigBytes=4*c.length;this._process();return this._hash.toX32()},clone:function(){var a=d.clone.call(this);a._hash=this._hash.clone();return a},blockSize:32});c.SHA512=d._createHelper(j);c.HmacSHA512=d._createHmacHelper(j)})();\n(function(){var a=CryptoJS,c=a.x64,d=c.Word,j=c.WordArray,c=a.algo,f=c.SHA512,c=c.SHA384=f.extend({_doReset:function(){this._hash=new j.init([new d.init(3418070365,3238371032),new d.init(1654270250,914150663),new d.init(2438529370,812702999),new d.init(355462360,4144912697),new d.init(1731405415,4290775857),new d.init(2394180231,1750603025),new d.init(3675008525,1694076839),new d.init(1203062813,3204075428)])},_doFinalize:function(){var a=f._doFinalize.call(this);a.sigBytes-=16;return a}});a.SHA384=\nf._createHelper(c);a.HmacSHA384=f._createHmacHelper(c)})();\n'],"crypto_js.rollups.sha512":[".js",'/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\nvar CryptoJS=CryptoJS||function(a,m){var r={},f=r.lib={},g=function(){},l=f.Base={extend:function(a){g.prototype=this;var b=new g;a&&b.mixIn(a);b.hasOwnProperty("init")||(b.init=function(){b.$super.init.apply(this,arguments)});b.init.prototype=b;b.$super=this;return b},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},\np=f.WordArray=l.extend({init:function(a,b){a=this.words=a||[];this.sigBytes=b!=m?b:4*a.length},toString:function(a){return(a||q).stringify(this)},concat:function(a){var b=this.words,d=a.words,c=this.sigBytes;a=a.sigBytes;this.clamp();if(c%4)for(var j=0;j>>2]|=(d[j>>>2]>>>24-8*(j%4)&255)<<24-8*((c+j)%4);else if(65535>>2]=d[j>>>2];else b.push.apply(b,d);this.sigBytes+=a;return this},clamp:function(){var n=this.words,b=this.sigBytes;n[b>>>2]&=4294967295<<\n32-8*(b%4);n.length=a.ceil(b/4)},clone:function(){var a=l.clone.call(this);a.words=this.words.slice(0);return a},random:function(n){for(var b=[],d=0;d>>2]>>>24-8*(c%4)&255;d.push((j>>>4).toString(16));d.push((j&15).toString(16))}return d.join("")},parse:function(a){for(var b=a.length,d=[],c=0;c>>3]|=parseInt(a.substr(c,\n2),16)<<24-4*(c%8);return new p.init(d,b/2)}},G=y.Latin1={stringify:function(a){var b=a.words;a=a.sigBytes;for(var d=[],c=0;c>>2]>>>24-8*(c%4)&255));return d.join("")},parse:function(a){for(var b=a.length,d=[],c=0;c>>2]|=(a.charCodeAt(c)&255)<<24-8*(c%4);return new p.init(d,b)}},fa=y.Utf8={stringify:function(a){try{return decodeURIComponent(escape(G.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return G.parse(unescape(encodeURIComponent(a)))}},\nh=f.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new p.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=fa.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(n){var b=this._data,d=b.words,c=b.sigBytes,j=this.blockSize,l=c/(4*j),l=n?a.ceil(l):a.max((l|0)-this._minBufferSize,0);n=l*j;c=a.min(4*n,c);if(n){for(var h=0;hq;q++)y[q]=a();f=f.SHA512=r.extend({_doReset:function(){this._hash=new l.init([new g.init(1779033703,4089235720),new g.init(3144134277,2227873595),new g.init(1013904242,4271175723),new g.init(2773480762,1595750129),new g.init(1359893119,2917565137),new g.init(2600822924,725511199),new g.init(528734635,4215389547),new g.init(1541459225,327033209)])},_doProcessBlock:function(a,f){for(var h=this._hash.words,\ng=h[0],n=h[1],b=h[2],d=h[3],c=h[4],j=h[5],l=h[6],h=h[7],q=g.high,m=g.low,r=n.high,N=n.low,Z=b.high,O=b.low,$=d.high,P=d.low,aa=c.high,Q=c.low,ba=j.high,R=j.low,ca=l.high,S=l.low,da=h.high,T=h.low,v=q,s=m,H=r,E=N,I=Z,F=O,W=$,J=P,w=aa,t=Q,U=ba,K=R,V=ca,L=S,X=da,M=T,x=0;80>x;x++){var B=y[x];if(16>x)var u=B.high=a[f+2*x]|0,e=B.low=a[f+2*x+1]|0;else{var u=y[x-15],e=u.high,z=u.low,u=(e>>>1|z<<31)^(e>>>8|z<<24)^e>>>7,z=(z>>>1|e<<31)^(z>>>8|e<<24)^(z>>>7|e<<25),D=y[x-2],e=D.high,k=D.low,D=(e>>>19|k<<13)^\n(e<<3|k>>>29)^e>>>6,k=(k>>>19|e<<13)^(k<<3|e>>>29)^(k>>>6|e<<26),e=y[x-7],Y=e.high,C=y[x-16],A=C.high,C=C.low,e=z+e.low,u=u+Y+(e>>>0>>0?1:0),e=e+k,u=u+D+(e>>>0>>0?1:0),e=e+C,u=u+A+(e>>>0>>0?1:0);B.high=u;B.low=e}var Y=w&U^~w&V,C=t&K^~t&L,B=v&H^v&I^H&I,ha=s&E^s&F^E&F,z=(v>>>28|s<<4)^(v<<30|s>>>2)^(v<<25|s>>>7),D=(s>>>28|v<<4)^(s<<30|v>>>2)^(s<<25|v>>>7),k=p[x],ia=k.high,ea=k.low,k=M+((t>>>14|w<<18)^(t>>>18|w<<14)^(t<<23|w>>>9)),A=X+((w>>>14|t<<18)^(w>>>18|t<<14)^(w<<23|t>>>9))+(k>>>0>>\n0?1:0),k=k+C,A=A+Y+(k>>>0>>0?1:0),k=k+ea,A=A+ia+(k>>>0>>0?1:0),k=k+e,A=A+u+(k>>>0>>0?1:0),e=D+ha,B=z+B+(e>>>0>>0?1:0),X=V,M=L,V=U,L=K,U=w,K=t,t=J+k|0,w=W+A+(t>>>0>>0?1:0)|0,W=I,J=F,I=H,F=E,H=v,E=s,s=k+e|0,v=A+B+(s>>>0>>0?1:0)|0}m=g.low=m+s;g.high=q+v+(m>>>0>>0?1:0);N=n.low=N+E;n.high=r+H+(N>>>0>>0?1:0);O=b.low=O+F;b.high=Z+I+(O>>>0>>0?1:0);P=d.low=P+J;d.high=$+W+(P>>>0>>0?1:0);Q=c.low=Q+t;c.high=aa+w+(Q>>>0>>0?1:0);R=j.low=R+K;j.high=ba+U+(R>>>0>>0?1:0);S=l.low=\nS+L;l.high=ca+V+(S>>>0>>0?1:0);T=h.low=T+M;h.high=da+X+(T>>>0>>0?1:0)},_doFinalize:function(){var a=this._data,f=a.words,h=8*this._nDataBytes,g=8*a.sigBytes;f[g>>>5]|=128<<24-g%32;f[(g+128>>>10<<5)+30]=Math.floor(h/4294967296);f[(g+128>>>10<<5)+31]=h;a.sigBytes=4*f.length;this._process();return this._hash.toX32()},clone:function(){var a=r.clone.call(this);a._hash=this._hash.clone();return a},blockSize:32});m.SHA512=r._createHelper(f);m.HmacSHA512=r._createHmacHelper(f)})();\n'],abc:[".py","\n\n\n\"\"\"Abstract Base Classes (ABCs) according to PEP 3119.\"\"\"\n\n\ndef abstractmethod(funcobj):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n funcobj.__isabstractmethod__=True\n return funcobj\n \n \nclass abstractclassmethod(classmethod):\n ''\n\n\n\n\n\n\n\n\n\n \n \n __isabstractmethod__=True\n \n def __init__(self,callable):\n callable.__isabstractmethod__=True\n super().__init__(callable)\n \n \nclass abstractstaticmethod(staticmethod):\n ''\n\n\n\n\n\n\n\n\n\n \n \n __isabstractmethod__=True\n \n def __init__(self,callable):\n callable.__isabstractmethod__=True\n super().__init__(callable)\n \n \nclass abstractproperty(property):\n ''\n\n\n\n\n\n\n\n\n\n \n \n __isabstractmethod__=True\n \n \ntry:\n from _abc import(get_cache_token,_abc_init,_abc_register,\n _abc_instancecheck,_abc_subclasscheck,_get_dump,\n _reset_registry,_reset_caches)\nexcept ImportError:\n from _py_abc import ABCMeta,get_cache_token\n ABCMeta.__module__='abc'\nelse:\n class ABCMeta(type):\n ''\n\n\n\n\n\n\n\n\n\n\n \n def __new__(mcls,name,bases,namespace,/,**kwargs):\n cls=super().__new__(mcls,name,bases,namespace,**kwargs)\n _abc_init(cls)\n return cls\n \n def register(cls,subclass):\n ''\n\n\n \n return _abc_register(cls,subclass)\n \n def __instancecheck__(cls,instance):\n ''\n return _abc_instancecheck(cls,instance)\n \n def __subclasscheck__(cls,subclass):\n ''\n return _abc_subclasscheck(cls,subclass)\n \n def _dump_registry(cls,file=None):\n ''\n print(f\"Class: {cls.__module__}.{cls.__qualname__}\",file=file)\n print(f\"Inv. counter: {get_cache_token()}\",file=file)\n (_abc_registry,_abc_cache,_abc_negative_cache,\n _abc_negative_cache_version)=_get_dump(cls)\n print(f\"_abc_registry: {_abc_registry !r}\",file=file)\n print(f\"_abc_cache: {_abc_cache !r}\",file=file)\n print(f\"_abc_negative_cache: {_abc_negative_cache !r}\",file=file)\n print(f\"_abc_negative_cache_version: {_abc_negative_cache_version !r}\",\n file=file)\n \n def _abc_registry_clear(cls):\n ''\n _reset_registry(cls)\n \n def _abc_caches_clear(cls):\n ''\n _reset_caches(cls)\n \n \ndef update_abstractmethods(cls):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not hasattr(cls,'__abstractmethods__'):\n \n \n \n return cls\n \n abstracts=set()\n \n \n for scls in cls.__bases__:\n for name in getattr(scls,'__abstractmethods__',()):\n value=getattr(cls,name,None)\n if getattr(value,\"__isabstractmethod__\",False):\n abstracts.add(name)\n \n for name,value in cls.__dict__.items():\n if getattr(value,\"__isabstractmethod__\",False):\n abstracts.add(name)\n cls.__abstractmethods__=frozenset(abstracts)\n return cls\n \n \nclass ABC(metaclass=ABCMeta):\n ''\n\n \n __slots__=()\n",["_abc","_py_abc"]],antigravity:[".py","\nimport webbrowser\nimport hashlib\n\nwebbrowser.open(\"https://xkcd.com/353/\")\n\ndef geohash(latitude,longitude,datedow):\n ''\n\n\n\n\n \n \n h=hashlib.md5(datedow,usedforsecurity=False).hexdigest()\n p,q=[('%f'%float.fromhex('0.'+x))for x in(h[:16],h[16:32])]\n print('%d%s %d%s'%(latitude,p[1:],longitude,q[1:]))\n",["hashlib","webbrowser"]],argparse:[".py","\n\n\n\"\"\"Command-line parsing library\n\nThis module is an optparse-inspired command-line parsing library that:\n\n - handles both optional and positional arguments\n - produces highly informative usage messages\n - supports parsers that dispatch to sub-parsers\n\nThe following is a simple usage example that sums integers from the\ncommand-line and writes the result to a file::\n\n parser = argparse.ArgumentParser(\n description='sum the integers at the command line')\n parser.add_argument(\n 'integers', metavar='int', nargs='+', type=int,\n help='an integer to be summed')\n parser.add_argument(\n '--log', default=sys.stdout, type=argparse.FileType('w'),\n help='the file where the sum should be written')\n args = parser.parse_args()\n args.log.write('%s' % sum(args.integers))\n args.log.close()\n\nThe module contains the following public classes:\n\n - ArgumentParser -- The main entry point for command-line parsing. As the\n example above shows, the add_argument() method is used to populate\n the parser with actions for optional and positional arguments. Then\n the parse_args() method is invoked to convert the args at the\n command-line into an object with attributes.\n\n - ArgumentError -- The exception raised by ArgumentParser objects when\n there are errors with the parser's actions. Errors raised while\n parsing the command-line are caught by ArgumentParser and emitted\n as command-line messages.\n\n - FileType -- A factory for defining types of files to be created. As the\n example above shows, instances of FileType are typically passed as\n the type= argument of add_argument() calls.\n\n - Action -- The base class for parser actions. Typically actions are\n selected by passing strings like 'store_true' or 'append_const' to\n the action= argument of add_argument(). However, for greater\n customization of ArgumentParser actions, subclasses of Action may\n be defined and passed as the action= argument.\n\n - HelpFormatter, RawDescriptionHelpFormatter, RawTextHelpFormatter,\n ArgumentDefaultsHelpFormatter -- Formatter classes which\n may be passed as the formatter_class= argument to the\n ArgumentParser constructor. HelpFormatter is the default,\n RawDescriptionHelpFormatter and RawTextHelpFormatter tell the parser\n not to change the formatting for help text, and\n ArgumentDefaultsHelpFormatter adds information about argument defaults\n to the help.\n\nAll other classes in this module are considered implementation details.\n(Also note that HelpFormatter and RawDescriptionHelpFormatter are only\nconsidered public as object names -- the API of the formatter objects is\nstill considered an implementation detail.)\n\"\"\"\n\n__version__='1.1'\n__all__=[\n'ArgumentParser',\n'ArgumentError',\n'ArgumentTypeError',\n'BooleanOptionalAction',\n'FileType',\n'HelpFormatter',\n'ArgumentDefaultsHelpFormatter',\n'RawDescriptionHelpFormatter',\n'RawTextHelpFormatter',\n'MetavarTypeHelpFormatter',\n'Namespace',\n'Action',\n'ONE_OR_MORE',\n'OPTIONAL',\n'PARSER',\n'REMAINDER',\n'SUPPRESS',\n'ZERO_OR_MORE',\n]\n\n\nimport os as _os\nimport re as _re\nimport sys as _sys\n\nimport warnings\n\nfrom gettext import gettext as _,ngettext\n\nSUPPRESS='==SUPPRESS=='\n\nOPTIONAL='?'\nZERO_OR_MORE='*'\nONE_OR_MORE='+'\nPARSER='A...'\nREMAINDER='...'\n_UNRECOGNIZED_ARGS_ATTR='_unrecognized_args'\n\n\n\n\n\nclass _AttributeHolder(object):\n ''\n\n\n\n\n\n \n \n def __repr__(self):\n type_name=type(self).__name__\n arg_strings=[]\n star_args={}\n for arg in self._get_args():\n arg_strings.append(repr(arg))\n for name,value in self._get_kwargs():\n if name.isidentifier():\n arg_strings.append('%s=%r'%(name,value))\n else:\n star_args[name]=value\n if star_args:\n arg_strings.append('**%s'%repr(star_args))\n return '%s(%s)'%(type_name,', '.join(arg_strings))\n \n def _get_kwargs(self):\n return list(self.__dict__.items())\n \n def _get_args(self):\n return[]\n \n \ndef _copy_items(items):\n if items is None:\n return[]\n \n \n \n if type(items)is list:\n return items[:]\n import copy\n return copy.copy(items)\n \n \n \n \n \n \n \nclass HelpFormatter(object):\n ''\n\n\n\n \n \n def __init__(self,\n prog,\n indent_increment=2,\n max_help_position=24,\n width=None):\n \n \n if width is None:\n import shutil\n width=shutil.get_terminal_size().columns\n width -=2\n \n self._prog=prog\n self._indent_increment=indent_increment\n self._max_help_position=min(max_help_position,\n max(width -20,indent_increment *2))\n self._width=width\n \n self._current_indent=0\n self._level=0\n self._action_max_length=0\n \n self._root_section=self._Section(self,None)\n self._current_section=self._root_section\n \n self._whitespace_matcher=_re.compile(r'\\s+',_re.ASCII)\n self._long_break_matcher=_re.compile(r'\\n\\n\\n+')\n \n \n \n \n def _indent(self):\n self._current_indent +=self._indent_increment\n self._level +=1\n \n def _dedent(self):\n self._current_indent -=self._indent_increment\n assert self._current_indent >=0,'Indent decreased below 0.'\n self._level -=1\n \n class _Section(object):\n \n def __init__(self,formatter,parent,heading=None):\n self.formatter=formatter\n self.parent=parent\n self.heading=heading\n self.items=[]\n \n def format_help(self):\n \n if self.parent is not None:\n self.formatter._indent()\n join=self.formatter._join_parts\n item_help=join([func(*args)for func,args in self.items])\n if self.parent is not None:\n self.formatter._dedent()\n \n \n if not item_help:\n return ''\n \n \n if self.heading is not SUPPRESS and self.heading is not None:\n current_indent=self.formatter._current_indent\n heading='%*s%s:\\n'%(current_indent,'',self.heading)\n else:\n heading=''\n \n \n return join(['\\n',heading,item_help,'\\n'])\n \n def _add_item(self,func,args):\n self._current_section.items.append((func,args))\n \n \n \n \n def start_section(self,heading):\n self._indent()\n section=self._Section(self,self._current_section,heading)\n self._add_item(section.format_help,[])\n self._current_section=section\n \n def end_section(self):\n self._current_section=self._current_section.parent\n self._dedent()\n \n def add_text(self,text):\n if text is not SUPPRESS and text is not None:\n self._add_item(self._format_text,[text])\n \n def add_usage(self,usage,actions,groups,prefix=None):\n if usage is not SUPPRESS:\n args=usage,actions,groups,prefix\n self._add_item(self._format_usage,args)\n \n def add_argument(self,action):\n if action.help is not SUPPRESS:\n \n \n get_invocation=self._format_action_invocation\n invocations=[get_invocation(action)]\n for subaction in self._iter_indented_subactions(action):\n invocations.append(get_invocation(subaction))\n \n \n invocation_length=max(map(len,invocations))\n action_length=invocation_length+self._current_indent\n self._action_max_length=max(self._action_max_length,\n action_length)\n \n \n self._add_item(self._format_action,[action])\n \n def add_arguments(self,actions):\n for action in actions:\n self.add_argument(action)\n \n \n \n \n def format_help(self):\n help=self._root_section.format_help()\n if help:\n help=self._long_break_matcher.sub('\\n\\n',help)\n help=help.strip('\\n')+'\\n'\n return help\n \n def _join_parts(self,part_strings):\n return ''.join([part\n for part in part_strings\n if part and part is not SUPPRESS])\n \n def _format_usage(self,usage,actions,groups,prefix):\n if prefix is None:\n prefix=_('usage: ')\n \n \n if usage is not None:\n usage=usage %dict(prog=self._prog)\n \n \n elif usage is None and not actions:\n usage='%(prog)s'%dict(prog=self._prog)\n \n \n elif usage is None:\n prog='%(prog)s'%dict(prog=self._prog)\n \n \n optionals=[]\n positionals=[]\n for action in actions:\n if action.option_strings:\n optionals.append(action)\n else:\n positionals.append(action)\n \n \n format=self._format_actions_usage\n action_usage=format(optionals+positionals,groups)\n usage=' '.join([s for s in[prog,action_usage]if s])\n \n \n text_width=self._width -self._current_indent\n if len(prefix)+len(usage)>text_width:\n \n \n part_regexp=(\n r'\\(.*?\\)+(?=\\s|$)|'\n r'\\[.*?\\]+(?=\\s|$)|'\n r'\\S+'\n )\n opt_usage=format(optionals,groups)\n pos_usage=format(positionals,groups)\n opt_parts=_re.findall(part_regexp,opt_usage)\n pos_parts=_re.findall(part_regexp,pos_usage)\n assert ' '.join(opt_parts)==opt_usage\n assert ' '.join(pos_parts)==pos_usage\n \n \n def get_lines(parts,indent,prefix=None):\n lines=[]\n line=[]\n indent_length=len(indent)\n if prefix is not None:\n line_len=len(prefix)-1\n else:\n line_len=indent_length -1\n for part in parts:\n if line_len+1+len(part)>text_width and line:\n lines.append(indent+' '.join(line))\n line=[]\n line_len=indent_length -1\n line.append(part)\n line_len +=len(part)+1\n if line:\n lines.append(indent+' '.join(line))\n if prefix is not None:\n lines[0]=lines[0][indent_length:]\n return lines\n \n \n if len(prefix)+len(prog)<=0.75 *text_width:\n indent=' '*(len(prefix)+len(prog)+1)\n if opt_parts:\n lines=get_lines([prog]+opt_parts,indent,prefix)\n lines.extend(get_lines(pos_parts,indent))\n elif pos_parts:\n lines=get_lines([prog]+pos_parts,indent,prefix)\n else:\n lines=[prog]\n \n \n else:\n indent=' '*len(prefix)\n parts=opt_parts+pos_parts\n lines=get_lines(parts,indent)\n if len(lines)>1:\n lines=[]\n lines.extend(get_lines(opt_parts,indent))\n lines.extend(get_lines(pos_parts,indent))\n lines=[prog]+lines\n \n \n usage='\\n'.join(lines)\n \n \n return '%s%s\\n\\n'%(prefix,usage)\n \n def _format_actions_usage(self,actions,groups):\n \n group_actions=set()\n inserts={}\n for group in groups:\n if not group._group_actions:\n raise ValueError(f'empty group {group}')\n \n try:\n start=actions.index(group._group_actions[0])\n except ValueError:\n continue\n else:\n group_action_count=len(group._group_actions)\n end=start+group_action_count\n if actions[start:end]==group._group_actions:\n \n suppressed_actions_count=0\n for action in group._group_actions:\n group_actions.add(action)\n if action.help is SUPPRESS:\n suppressed_actions_count +=1\n \n exposed_actions_count=group_action_count -suppressed_actions_count\n \n if not group.required:\n if start in inserts:\n inserts[start]+=' ['\n else:\n inserts[start]='['\n if end in inserts:\n inserts[end]+=']'\n else:\n inserts[end]=']'\n elif exposed_actions_count >1:\n if start in inserts:\n inserts[start]+=' ('\n else:\n inserts[start]='('\n if end in inserts:\n inserts[end]+=')'\n else:\n inserts[end]=')'\n for i in range(start+1,end):\n inserts[i]='|'\n \n \n parts=[]\n for i,action in enumerate(actions):\n \n \n \n if action.help is SUPPRESS:\n parts.append(None)\n if inserts.get(i)=='|':\n inserts.pop(i)\n elif inserts.get(i+1)=='|':\n inserts.pop(i+1)\n \n \n elif not action.option_strings:\n default=self._get_default_metavar_for_positional(action)\n part=self._format_args(action,default)\n \n \n if action in group_actions:\n if part[0]=='['and part[-1]==']':\n part=part[1:-1]\n \n \n parts.append(part)\n \n \n else:\n option_string=action.option_strings[0]\n \n \n \n if action.nargs ==0:\n part=action.format_usage()\n \n \n \n else:\n default=self._get_default_metavar_for_optional(action)\n args_string=self._format_args(action,default)\n part='%s %s'%(option_string,args_string)\n \n \n if not action.required and action not in group_actions:\n part='[%s]'%part\n \n \n parts.append(part)\n \n \n for i in sorted(inserts,reverse=True):\n parts[i:i]=[inserts[i]]\n \n \n text=' '.join([item for item in parts if item is not None])\n \n \n open=r'[\\[(]'\n close=r'[\\])]'\n text=_re.sub(r'(%s) '%open,r'\\1',text)\n text=_re.sub(r' (%s)'%close,r'\\1',text)\n text=_re.sub(r'%s *%s'%(open,close),r'',text)\n text=text.strip()\n \n \n return text\n \n def _format_text(self,text):\n if '%(prog)'in text:\n text=text %dict(prog=self._prog)\n text_width=max(self._width -self._current_indent,11)\n indent=' '*self._current_indent\n return self._fill_text(text,text_width,indent)+'\\n\\n'\n \n def _format_action(self,action):\n \n help_position=min(self._action_max_length+2,\n self._max_help_position)\n help_width=max(self._width -help_position,11)\n action_width=help_position -self._current_indent -2\n action_header=self._format_action_invocation(action)\n \n \n if not action.help:\n tup=self._current_indent,'',action_header\n action_header='%*s%s\\n'%tup\n \n \n elif len(action_header)<=action_width:\n tup=self._current_indent,'',action_width,action_header\n action_header='%*s%-*s '%tup\n indent_first=0\n \n \n else:\n tup=self._current_indent,'',action_header\n action_header='%*s%s\\n'%tup\n indent_first=help_position\n \n \n parts=[action_header]\n \n \n if action.help and action.help.strip():\n help_text=self._expand_help(action)\n if help_text:\n help_lines=self._split_lines(help_text,help_width)\n parts.append('%*s%s\\n'%(indent_first,'',help_lines[0]))\n for line in help_lines[1:]:\n parts.append('%*s%s\\n'%(help_position,'',line))\n \n \n elif not action_header.endswith('\\n'):\n parts.append('\\n')\n \n \n for subaction in self._iter_indented_subactions(action):\n parts.append(self._format_action(subaction))\n \n \n return self._join_parts(parts)\n \n def _format_action_invocation(self,action):\n if not action.option_strings:\n default=self._get_default_metavar_for_positional(action)\n metavar,=self._metavar_formatter(action,default)(1)\n return metavar\n \n else:\n parts=[]\n \n \n \n if action.nargs ==0:\n parts.extend(action.option_strings)\n \n \n \n else:\n default=self._get_default_metavar_for_optional(action)\n args_string=self._format_args(action,default)\n for option_string in action.option_strings:\n parts.append('%s %s'%(option_string,args_string))\n \n return ', '.join(parts)\n \n def _metavar_formatter(self,action,default_metavar):\n if action.metavar is not None:\n result=action.metavar\n elif action.choices is not None:\n choice_strs=[str(choice)for choice in action.choices]\n result='{%s}'%','.join(choice_strs)\n else:\n result=default_metavar\n \n def format(tuple_size):\n if isinstance(result,tuple):\n return result\n else:\n return(result,)*tuple_size\n return format\n \n def _format_args(self,action,default_metavar):\n get_metavar=self._metavar_formatter(action,default_metavar)\n if action.nargs is None:\n result='%s'%get_metavar(1)\n elif action.nargs ==OPTIONAL:\n result='[%s]'%get_metavar(1)\n elif action.nargs ==ZERO_OR_MORE:\n metavar=get_metavar(1)\n if len(metavar)==2:\n result='[%s [%s ...]]'%metavar\n else:\n result='[%s ...]'%metavar\n elif action.nargs ==ONE_OR_MORE:\n result='%s [%s ...]'%get_metavar(2)\n elif action.nargs ==REMAINDER:\n result='...'\n elif action.nargs ==PARSER:\n result='%s ...'%get_metavar(1)\n elif action.nargs ==SUPPRESS:\n result=''\n else:\n try:\n formats=['%s'for _ in range(action.nargs)]\n except TypeError:\n raise ValueError(\"invalid nargs value\")from None\n result=' '.join(formats)%get_metavar(action.nargs)\n return result\n \n def _expand_help(self,action):\n params=dict(vars(action),prog=self._prog)\n for name in list(params):\n if params[name]is SUPPRESS:\n del params[name]\n for name in list(params):\n if hasattr(params[name],'__name__'):\n params[name]=params[name].__name__\n if params.get('choices')is not None:\n choices_str=', '.join([str(c)for c in params['choices']])\n params['choices']=choices_str\n return self._get_help_string(action)%params\n \n def _iter_indented_subactions(self,action):\n try:\n get_subactions=action._get_subactions\n except AttributeError:\n pass\n else:\n self._indent()\n yield from get_subactions()\n self._dedent()\n \n def _split_lines(self,text,width):\n text=self._whitespace_matcher.sub(' ',text).strip()\n \n \n import textwrap\n return textwrap.wrap(text,width)\n \n def _fill_text(self,text,width,indent):\n text=self._whitespace_matcher.sub(' ',text).strip()\n import textwrap\n return textwrap.fill(text,width,\n initial_indent=indent,\n subsequent_indent=indent)\n \n def _get_help_string(self,action):\n return action.help\n \n def _get_default_metavar_for_optional(self,action):\n return action.dest.upper()\n \n def _get_default_metavar_for_positional(self,action):\n return action.dest\n \n \nclass RawDescriptionHelpFormatter(HelpFormatter):\n ''\n\n\n\n \n \n def _fill_text(self,text,width,indent):\n return ''.join(indent+line for line in text.splitlines(keepends=True))\n \n \nclass RawTextHelpFormatter(RawDescriptionHelpFormatter):\n ''\n\n\n\n \n \n def _split_lines(self,text,width):\n return text.splitlines()\n \n \nclass ArgumentDefaultsHelpFormatter(HelpFormatter):\n ''\n\n\n\n \n \n def _get_help_string(self,action):\n ''\n\n\n\n\n\n\n \n help=action.help\n if help is None:\n help=''\n \n if '%(default)'not in help:\n if action.default is not SUPPRESS:\n defaulting_nargs=[OPTIONAL,ZERO_OR_MORE]\n if action.option_strings or action.nargs in defaulting_nargs:\n help +=' (default: %(default)s)'\n return help\n \n \n \nclass MetavarTypeHelpFormatter(HelpFormatter):\n ''\n\n\n\n\n \n \n def _get_default_metavar_for_optional(self,action):\n return action.type.__name__\n \n def _get_default_metavar_for_positional(self,action):\n return action.type.__name__\n \n \n \n \n \n \ndef _get_action_name(argument):\n if argument is None:\n return None\n elif argument.option_strings:\n return '/'.join(argument.option_strings)\n elif argument.metavar not in(None,SUPPRESS):\n return argument.metavar\n elif argument.dest not in(None,SUPPRESS):\n return argument.dest\n elif argument.choices:\n return '{'+','.join(argument.choices)+'}'\n else:\n return None\n \n \nclass ArgumentError(Exception):\n ''\n\n\n\n \n \n def __init__(self,argument,message):\n self.argument_name=_get_action_name(argument)\n self.message=message\n \n def __str__(self):\n if self.argument_name is None:\n format='%(message)s'\n else:\n format=_('argument %(argument_name)s: %(message)s')\n return format %dict(message=self.message,\n argument_name=self.argument_name)\n \n \nclass ArgumentTypeError(Exception):\n ''\n pass\n \n \n \n \n \n \nclass Action(_AttributeHolder):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,\n option_strings,\n dest,\n nargs=None,\n const=None,\n default=None,\n type=None,\n choices=None,\n required=False,\n help=None,\n metavar=None):\n self.option_strings=option_strings\n self.dest=dest\n self.nargs=nargs\n self.const=const\n self.default=default\n self.type=type\n self.choices=choices\n self.required=required\n self.help=help\n self.metavar=metavar\n \n def _get_kwargs(self):\n names=[\n 'option_strings',\n 'dest',\n 'nargs',\n 'const',\n 'default',\n 'type',\n 'choices',\n 'required',\n 'help',\n 'metavar',\n ]\n return[(name,getattr(self,name))for name in names]\n \n def format_usage(self):\n return self.option_strings[0]\n \n def __call__(self,parser,namespace,values,option_string=None):\n raise NotImplementedError(_('.__call__() not defined'))\n \n \n \n_deprecated_default=object()\n\nclass BooleanOptionalAction(Action):\n def __init__(self,\n option_strings,\n dest,\n default=None,\n type=_deprecated_default,\n choices=_deprecated_default,\n required=False,\n help=None,\n metavar=_deprecated_default):\n \n _option_strings=[]\n for option_string in option_strings:\n _option_strings.append(option_string)\n \n if option_string.startswith('--'):\n option_string='--no-'+option_string[2:]\n _option_strings.append(option_string)\n \n \n \n \n for field_name in('type','choices','metavar'):\n if locals()[field_name]is not _deprecated_default:\n warnings._deprecated(\n field_name,\n \"{name!r} is deprecated as of Python 3.12 and will be \"\n \"removed in Python {remove}.\",\n remove=(3,14))\n \n if type is _deprecated_default:\n type=None\n if choices is _deprecated_default:\n choices=None\n if metavar is _deprecated_default:\n metavar=None\n \n super().__init__(\n option_strings=_option_strings,\n dest=dest,\n nargs=0,\n default=default,\n type=type,\n choices=choices,\n required=required,\n help=help,\n metavar=metavar)\n \n \n def __call__(self,parser,namespace,values,option_string=None):\n if option_string in self.option_strings:\n setattr(namespace,self.dest,not option_string.startswith('--no-'))\n \n def format_usage(self):\n return ' | '.join(self.option_strings)\n \n \nclass _StoreAction(Action):\n\n def __init__(self,\n option_strings,\n dest,\n nargs=None,\n const=None,\n default=None,\n type=None,\n choices=None,\n required=False,\n help=None,\n metavar=None):\n if nargs ==0:\n raise ValueError('nargs for store actions must be != 0; if you '\n 'have nothing to store, actions such as store '\n 'true or store const may be more appropriate')\n if const is not None and nargs !=OPTIONAL:\n raise ValueError('nargs must be %r to supply const'%OPTIONAL)\n super(_StoreAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n nargs=nargs,\n const=const,\n default=default,\n type=type,\n choices=choices,\n required=required,\n help=help,\n metavar=metavar)\n \n def __call__(self,parser,namespace,values,option_string=None):\n setattr(namespace,self.dest,values)\n \n \nclass _StoreConstAction(Action):\n\n def __init__(self,\n option_strings,\n dest,\n const=None,\n default=None,\n required=False,\n help=None,\n metavar=None):\n super(_StoreConstAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n nargs=0,\n const=const,\n default=default,\n required=required,\n help=help)\n \n def __call__(self,parser,namespace,values,option_string=None):\n setattr(namespace,self.dest,self.const)\n \n \nclass _StoreTrueAction(_StoreConstAction):\n\n def __init__(self,\n option_strings,\n dest,\n default=False,\n required=False,\n help=None):\n super(_StoreTrueAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n const=True,\n default=default,\n required=required,\n help=help)\n \n \nclass _StoreFalseAction(_StoreConstAction):\n\n def __init__(self,\n option_strings,\n dest,\n default=True,\n required=False,\n help=None):\n super(_StoreFalseAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n const=False,\n default=default,\n required=required,\n help=help)\n \n \nclass _AppendAction(Action):\n\n def __init__(self,\n option_strings,\n dest,\n nargs=None,\n const=None,\n default=None,\n type=None,\n choices=None,\n required=False,\n help=None,\n metavar=None):\n if nargs ==0:\n raise ValueError('nargs for append actions must be != 0; if arg '\n 'strings are not supplying the value to append, '\n 'the append const action may be more appropriate')\n if const is not None and nargs !=OPTIONAL:\n raise ValueError('nargs must be %r to supply const'%OPTIONAL)\n super(_AppendAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n nargs=nargs,\n const=const,\n default=default,\n type=type,\n choices=choices,\n required=required,\n help=help,\n metavar=metavar)\n \n def __call__(self,parser,namespace,values,option_string=None):\n items=getattr(namespace,self.dest,None)\n items=_copy_items(items)\n items.append(values)\n setattr(namespace,self.dest,items)\n \n \nclass _AppendConstAction(Action):\n\n def __init__(self,\n option_strings,\n dest,\n const=None,\n default=None,\n required=False,\n help=None,\n metavar=None):\n super(_AppendConstAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n nargs=0,\n const=const,\n default=default,\n required=required,\n help=help,\n metavar=metavar)\n \n def __call__(self,parser,namespace,values,option_string=None):\n items=getattr(namespace,self.dest,None)\n items=_copy_items(items)\n items.append(self.const)\n setattr(namespace,self.dest,items)\n \n \nclass _CountAction(Action):\n\n def __init__(self,\n option_strings,\n dest,\n default=None,\n required=False,\n help=None):\n super(_CountAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n nargs=0,\n default=default,\n required=required,\n help=help)\n \n def __call__(self,parser,namespace,values,option_string=None):\n count=getattr(namespace,self.dest,None)\n if count is None:\n count=0\n setattr(namespace,self.dest,count+1)\n \n \nclass _HelpAction(Action):\n\n def __init__(self,\n option_strings,\n dest=SUPPRESS,\n default=SUPPRESS,\n help=None):\n super(_HelpAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n default=default,\n nargs=0,\n help=help)\n \n def __call__(self,parser,namespace,values,option_string=None):\n parser.print_help()\n parser.exit()\n \n \nclass _VersionAction(Action):\n\n def __init__(self,\n option_strings,\n version=None,\n dest=SUPPRESS,\n default=SUPPRESS,\n help=\"show program's version number and exit\"):\n super(_VersionAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n default=default,\n nargs=0,\n help=help)\n self.version=version\n \n def __call__(self,parser,namespace,values,option_string=None):\n version=self.version\n if version is None:\n version=parser.version\n formatter=parser._get_formatter()\n formatter.add_text(version)\n parser._print_message(formatter.format_help(),_sys.stdout)\n parser.exit()\n \n \nclass _SubParsersAction(Action):\n\n class _ChoicesPseudoAction(Action):\n \n def __init__(self,name,aliases,help):\n metavar=dest=name\n if aliases:\n metavar +=' (%s)'%', '.join(aliases)\n sup=super(_SubParsersAction._ChoicesPseudoAction,self)\n sup.__init__(option_strings=[],dest=dest,help=help,\n metavar=metavar)\n \n def __init__(self,\n option_strings,\n prog,\n parser_class,\n dest=SUPPRESS,\n required=False,\n help=None,\n metavar=None):\n \n self._prog_prefix=prog\n self._parser_class=parser_class\n self._name_parser_map={}\n self._choices_actions=[]\n \n super(_SubParsersAction,self).__init__(\n option_strings=option_strings,\n dest=dest,\n nargs=PARSER,\n choices=self._name_parser_map,\n required=required,\n help=help,\n metavar=metavar)\n \n def add_parser(self,name,**kwargs):\n \n if kwargs.get('prog')is None:\n kwargs['prog']='%s %s'%(self._prog_prefix,name)\n \n aliases=kwargs.pop('aliases',())\n \n if name in self._name_parser_map:\n raise ArgumentError(self,_('conflicting subparser: %s')%name)\n for alias in aliases:\n if alias in self._name_parser_map:\n raise ArgumentError(\n self,_('conflicting subparser alias: %s')%alias)\n \n \n if 'help'in kwargs:\n help=kwargs.pop('help')\n choice_action=self._ChoicesPseudoAction(name,aliases,help)\n self._choices_actions.append(choice_action)\n \n \n parser=self._parser_class(**kwargs)\n self._name_parser_map[name]=parser\n \n \n for alias in aliases:\n self._name_parser_map[alias]=parser\n \n return parser\n \n def _get_subactions(self):\n return self._choices_actions\n \n def __call__(self,parser,namespace,values,option_string=None):\n parser_name=values[0]\n arg_strings=values[1:]\n \n \n if self.dest is not SUPPRESS:\n setattr(namespace,self.dest,parser_name)\n \n \n try:\n parser=self._name_parser_map[parser_name]\n except KeyError:\n args={'parser_name':parser_name,\n 'choices':', '.join(self._name_parser_map)}\n msg=_('unknown parser %(parser_name)r (choices: %(choices)s)')%args\n raise ArgumentError(self,msg)\n \n \n \n \n \n \n \n \n subnamespace,arg_strings=parser.parse_known_args(arg_strings,None)\n for key,value in vars(subnamespace).items():\n setattr(namespace,key,value)\n \n if arg_strings:\n vars(namespace).setdefault(_UNRECOGNIZED_ARGS_ATTR,[])\n getattr(namespace,_UNRECOGNIZED_ARGS_ATTR).extend(arg_strings)\n \nclass _ExtendAction(_AppendAction):\n def __call__(self,parser,namespace,values,option_string=None):\n items=getattr(namespace,self.dest,None)\n items=_copy_items(items)\n items.extend(values)\n setattr(namespace,self.dest,items)\n \n \n \n \n \nclass FileType(object):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,mode='r',bufsize=-1,encoding=None,errors=None):\n self._mode=mode\n self._bufsize=bufsize\n self._encoding=encoding\n self._errors=errors\n \n def __call__(self,string):\n \n if string =='-':\n if 'r'in self._mode:\n return _sys.stdin.buffer if 'b'in self._mode else _sys.stdin\n elif any(c in self._mode for c in 'wax'):\n return _sys.stdout.buffer if 'b'in self._mode else _sys.stdout\n else:\n msg=_('argument \"-\" with mode %r')%self._mode\n raise ValueError(msg)\n \n \n try:\n return open(string,self._mode,self._bufsize,self._encoding,\n self._errors)\n except OSError as e:\n args={'filename':string,'error':e}\n message=_(\"can't open '%(filename)s': %(error)s\")\n raise ArgumentTypeError(message %args)\n \n def __repr__(self):\n args=self._mode,self._bufsize\n kwargs=[('encoding',self._encoding),('errors',self._errors)]\n args_str=', '.join([repr(arg)for arg in args if arg !=-1]+\n ['%s=%r'%(kw,arg)for kw,arg in kwargs\n if arg is not None])\n return '%s(%s)'%(type(self).__name__,args_str)\n \n \n \n \n \nclass Namespace(_AttributeHolder):\n ''\n\n\n\n \n \n def __init__(self,**kwargs):\n for name in kwargs:\n setattr(self,name,kwargs[name])\n \n def __eq__(self,other):\n if not isinstance(other,Namespace):\n return NotImplemented\n return vars(self)==vars(other)\n \n def __contains__(self,key):\n return key in self.__dict__\n \n \nclass _ActionsContainer(object):\n\n def __init__(self,\n description,\n prefix_chars,\n argument_default,\n conflict_handler):\n super(_ActionsContainer,self).__init__()\n \n self.description=description\n self.argument_default=argument_default\n self.prefix_chars=prefix_chars\n self.conflict_handler=conflict_handler\n \n \n self._registries={}\n \n \n self.register('action',None,_StoreAction)\n self.register('action','store',_StoreAction)\n self.register('action','store_const',_StoreConstAction)\n self.register('action','store_true',_StoreTrueAction)\n self.register('action','store_false',_StoreFalseAction)\n self.register('action','append',_AppendAction)\n self.register('action','append_const',_AppendConstAction)\n self.register('action','count',_CountAction)\n self.register('action','help',_HelpAction)\n self.register('action','version',_VersionAction)\n self.register('action','parsers',_SubParsersAction)\n self.register('action','extend',_ExtendAction)\n \n \n self._get_handler()\n \n \n self._actions=[]\n self._option_string_actions={}\n \n \n self._action_groups=[]\n self._mutually_exclusive_groups=[]\n \n \n self._defaults={}\n \n \n self._negative_number_matcher=_re.compile(r'^-\\d+$|^-\\d*\\.\\d+$')\n \n \n \n self._has_negative_number_optionals=[]\n \n \n \n \n def register(self,registry_name,value,object):\n registry=self._registries.setdefault(registry_name,{})\n registry[value]=object\n \n def _registry_get(self,registry_name,value,default=None):\n return self._registries[registry_name].get(value,default)\n \n \n \n \n def set_defaults(self,**kwargs):\n self._defaults.update(kwargs)\n \n \n \n for action in self._actions:\n if action.dest in kwargs:\n action.default=kwargs[action.dest]\n \n def get_default(self,dest):\n for action in self._actions:\n if action.dest ==dest and action.default is not None:\n return action.default\n return self._defaults.get(dest,None)\n \n \n \n \n \n def add_argument(self,*args,**kwargs):\n ''\n\n\n \n \n \n \n \n chars=self.prefix_chars\n if not args or len(args)==1 and args[0][0]not in chars:\n if args and 'dest'in kwargs:\n raise ValueError('dest supplied twice for positional argument')\n kwargs=self._get_positional_kwargs(*args,**kwargs)\n \n \n else:\n kwargs=self._get_optional_kwargs(*args,**kwargs)\n \n \n if 'default'not in kwargs:\n dest=kwargs['dest']\n if dest in self._defaults:\n kwargs['default']=self._defaults[dest]\n elif self.argument_default is not None:\n kwargs['default']=self.argument_default\n \n \n action_class=self._pop_action_class(kwargs)\n if not callable(action_class):\n raise ValueError('unknown action \"%s\"'%(action_class,))\n action=action_class(**kwargs)\n \n \n type_func=self._registry_get('type',action.type,action.type)\n if not callable(type_func):\n raise ValueError('%r is not callable'%(type_func,))\n \n if type_func is FileType:\n raise ValueError('%r is a FileType class object, instance of it'\n ' must be passed'%(type_func,))\n \n \n if hasattr(self,\"_get_formatter\"):\n try:\n self._get_formatter()._format_args(action,None)\n except TypeError:\n raise ValueError(\"length of metavar tuple does not match nargs\")\n \n return self._add_action(action)\n \n def add_argument_group(self,*args,**kwargs):\n group=_ArgumentGroup(self,*args,**kwargs)\n self._action_groups.append(group)\n return group\n \n def add_mutually_exclusive_group(self,**kwargs):\n group=_MutuallyExclusiveGroup(self,**kwargs)\n self._mutually_exclusive_groups.append(group)\n return group\n \n def _add_action(self,action):\n \n self._check_conflict(action)\n \n \n self._actions.append(action)\n action.container=self\n \n \n for option_string in action.option_strings:\n self._option_string_actions[option_string]=action\n \n \n for option_string in action.option_strings:\n if self._negative_number_matcher.match(option_string):\n if not self._has_negative_number_optionals:\n self._has_negative_number_optionals.append(True)\n \n \n return action\n \n def _remove_action(self,action):\n self._actions.remove(action)\n \n def _add_container_actions(self,container):\n \n title_group_map={}\n for group in self._action_groups:\n if group.title in title_group_map:\n msg=_('cannot merge actions - two groups are named %r')\n raise ValueError(msg %(group.title))\n title_group_map[group.title]=group\n \n \n group_map={}\n for group in container._action_groups:\n \n \n \n if group.title not in title_group_map:\n title_group_map[group.title]=self.add_argument_group(\n title=group.title,\n description=group.description,\n conflict_handler=group.conflict_handler)\n \n \n for action in group._group_actions:\n group_map[action]=title_group_map[group.title]\n \n \n \n \n for group in container._mutually_exclusive_groups:\n mutex_group=self.add_mutually_exclusive_group(\n required=group.required)\n \n \n for action in group._group_actions:\n group_map[action]=mutex_group\n \n \n for action in container._actions:\n group_map.get(action,self)._add_action(action)\n \n def _get_positional_kwargs(self,dest,**kwargs):\n \n if 'required'in kwargs:\n msg=_(\"'required' is an invalid argument for positionals\")\n raise TypeError(msg)\n \n \n \n if kwargs.get('nargs')not in[OPTIONAL,ZERO_OR_MORE]:\n kwargs['required']=True\n if kwargs.get('nargs')==ZERO_OR_MORE and 'default'not in kwargs:\n kwargs['required']=True\n \n \n return dict(kwargs,dest=dest,option_strings=[])\n \n def _get_optional_kwargs(self,*args,**kwargs):\n \n option_strings=[]\n long_option_strings=[]\n for option_string in args:\n \n if not option_string[0]in self.prefix_chars:\n args={'option':option_string,\n 'prefix_chars':self.prefix_chars}\n msg=_('invalid option string %(option)r: '\n 'must start with a character %(prefix_chars)r')\n raise ValueError(msg %args)\n \n \n option_strings.append(option_string)\n if len(option_string)>1 and option_string[1]in self.prefix_chars:\n long_option_strings.append(option_string)\n \n \n dest=kwargs.pop('dest',None)\n if dest is None:\n if long_option_strings:\n dest_option_string=long_option_strings[0]\n else:\n dest_option_string=option_strings[0]\n dest=dest_option_string.lstrip(self.prefix_chars)\n if not dest:\n msg=_('dest= is required for options like %r')\n raise ValueError(msg %option_string)\n dest=dest.replace('-','_')\n \n \n return dict(kwargs,dest=dest,option_strings=option_strings)\n \n def _pop_action_class(self,kwargs,default=None):\n action=kwargs.pop('action',default)\n return self._registry_get('action',action,action)\n \n def _get_handler(self):\n \n handler_func_name='_handle_conflict_%s'%self.conflict_handler\n try:\n return getattr(self,handler_func_name)\n except AttributeError:\n msg=_('invalid conflict_resolution value: %r')\n raise ValueError(msg %self.conflict_handler)\n \n def _check_conflict(self,action):\n \n \n confl_optionals=[]\n for option_string in action.option_strings:\n if option_string in self._option_string_actions:\n confl_optional=self._option_string_actions[option_string]\n confl_optionals.append((option_string,confl_optional))\n \n \n if confl_optionals:\n conflict_handler=self._get_handler()\n conflict_handler(action,confl_optionals)\n \n def _handle_conflict_error(self,action,conflicting_actions):\n message=ngettext('conflicting option string: %s',\n 'conflicting option strings: %s',\n len(conflicting_actions))\n conflict_string=', '.join([option_string\n for option_string,action\n in conflicting_actions])\n raise ArgumentError(action,message %conflict_string)\n \n def _handle_conflict_resolve(self,action,conflicting_actions):\n \n \n for option_string,action in conflicting_actions:\n \n \n action.option_strings.remove(option_string)\n self._option_string_actions.pop(option_string,None)\n \n \n \n if not action.option_strings:\n action.container._remove_action(action)\n \n \nclass _ArgumentGroup(_ActionsContainer):\n\n def __init__(self,container,title=None,description=None,**kwargs):\n \n update=kwargs.setdefault\n update('conflict_handler',container.conflict_handler)\n update('prefix_chars',container.prefix_chars)\n update('argument_default',container.argument_default)\n super_init=super(_ArgumentGroup,self).__init__\n super_init(description=description,**kwargs)\n \n \n self.title=title\n self._group_actions=[]\n \n \n self._registries=container._registries\n self._actions=container._actions\n self._option_string_actions=container._option_string_actions\n self._defaults=container._defaults\n self._has_negative_number_optionals=\\\n container._has_negative_number_optionals\n self._mutually_exclusive_groups=container._mutually_exclusive_groups\n \n def _add_action(self,action):\n action=super(_ArgumentGroup,self)._add_action(action)\n self._group_actions.append(action)\n return action\n \n def _remove_action(self,action):\n super(_ArgumentGroup,self)._remove_action(action)\n self._group_actions.remove(action)\n \n def add_argument_group(self,*args,**kwargs):\n warnings.warn(\n \"Nesting argument groups is deprecated.\",\n category=DeprecationWarning,\n stacklevel=2\n )\n return super().add_argument_group(*args,**kwargs)\n \n \nclass _MutuallyExclusiveGroup(_ArgumentGroup):\n\n def __init__(self,container,required=False):\n super(_MutuallyExclusiveGroup,self).__init__(container)\n self.required=required\n self._container=container\n \n def _add_action(self,action):\n if action.required:\n msg=_('mutually exclusive arguments must be optional')\n raise ValueError(msg)\n action=self._container._add_action(action)\n self._group_actions.append(action)\n return action\n \n def _remove_action(self,action):\n self._container._remove_action(action)\n self._group_actions.remove(action)\n \n def add_mutually_exclusive_group(self,*args,**kwargs):\n warnings.warn(\n \"Nesting mutually exclusive groups is deprecated.\",\n category=DeprecationWarning,\n stacklevel=2\n )\n return super().add_mutually_exclusive_group(*args,**kwargs)\n \n \nclass ArgumentParser(_AttributeHolder,_ActionsContainer):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,\n prog=None,\n usage=None,\n description=None,\n epilog=None,\n parents=[],\n formatter_class=HelpFormatter,\n prefix_chars='-',\n fromfile_prefix_chars=None,\n argument_default=None,\n conflict_handler='error',\n add_help=True,\n allow_abbrev=True,\n exit_on_error=True):\n \n superinit=super(ArgumentParser,self).__init__\n superinit(description=description,\n prefix_chars=prefix_chars,\n argument_default=argument_default,\n conflict_handler=conflict_handler)\n \n \n if prog is None:\n prog=_os.path.basename(_sys.argv[0])\n \n self.prog=prog\n self.usage=usage\n self.epilog=epilog\n self.formatter_class=formatter_class\n self.fromfile_prefix_chars=fromfile_prefix_chars\n self.add_help=add_help\n self.allow_abbrev=allow_abbrev\n self.exit_on_error=exit_on_error\n \n add_group=self.add_argument_group\n self._positionals=add_group(_('positional arguments'))\n self._optionals=add_group(_('options'))\n self._subparsers=None\n \n \n def identity(string):\n return string\n self.register('type',None,identity)\n \n \n \n default_prefix='-'if '-'in prefix_chars else prefix_chars[0]\n if self.add_help:\n self.add_argument(\n default_prefix+'h',default_prefix *2+'help',\n action='help',default=SUPPRESS,\n help=_('show this help message and exit'))\n \n \n for parent in parents:\n self._add_container_actions(parent)\n try:\n defaults=parent._defaults\n except AttributeError:\n pass\n else:\n self._defaults.update(defaults)\n \n \n \n \n def _get_kwargs(self):\n names=[\n 'prog',\n 'usage',\n 'description',\n 'formatter_class',\n 'conflict_handler',\n 'add_help',\n ]\n return[(name,getattr(self,name))for name in names]\n \n \n \n \n def add_subparsers(self,**kwargs):\n if self._subparsers is not None:\n self.error(_('cannot have multiple subparser arguments'))\n \n \n kwargs.setdefault('parser_class',type(self))\n \n if 'title'in kwargs or 'description'in kwargs:\n title=_(kwargs.pop('title','subcommands'))\n description=_(kwargs.pop('description',None))\n self._subparsers=self.add_argument_group(title,description)\n else:\n self._subparsers=self._positionals\n \n \n \n if kwargs.get('prog')is None:\n formatter=self._get_formatter()\n positionals=self._get_positional_actions()\n groups=self._mutually_exclusive_groups\n formatter.add_usage(self.usage,positionals,groups,'')\n kwargs['prog']=formatter.format_help().strip()\n \n \n parsers_class=self._pop_action_class(kwargs,'parsers')\n action=parsers_class(option_strings=[],**kwargs)\n self._subparsers._add_action(action)\n \n \n return action\n \n def _add_action(self,action):\n if action.option_strings:\n self._optionals._add_action(action)\n else:\n self._positionals._add_action(action)\n return action\n \n def _get_optional_actions(self):\n return[action\n for action in self._actions\n if action.option_strings]\n \n def _get_positional_actions(self):\n return[action\n for action in self._actions\n if not action.option_strings]\n \n \n \n \n def parse_args(self,args=None,namespace=None):\n args,argv=self.parse_known_args(args,namespace)\n if argv:\n msg=_('unrecognized arguments: %s')\n self.error(msg %' '.join(argv))\n return args\n \n def parse_known_args(self,args=None,namespace=None):\n if args is None:\n \n args=_sys.argv[1:]\n else:\n \n args=list(args)\n \n \n if namespace is None:\n namespace=Namespace()\n \n \n for action in self._actions:\n if action.dest is not SUPPRESS:\n if not hasattr(namespace,action.dest):\n if action.default is not SUPPRESS:\n setattr(namespace,action.dest,action.default)\n \n \n for dest in self._defaults:\n if not hasattr(namespace,dest):\n setattr(namespace,dest,self._defaults[dest])\n \n \n if self.exit_on_error:\n try:\n namespace,args=self._parse_known_args(args,namespace)\n except ArgumentError as err:\n self.error(str(err))\n else:\n namespace,args=self._parse_known_args(args,namespace)\n \n if hasattr(namespace,_UNRECOGNIZED_ARGS_ATTR):\n args.extend(getattr(namespace,_UNRECOGNIZED_ARGS_ATTR))\n delattr(namespace,_UNRECOGNIZED_ARGS_ATTR)\n return namespace,args\n \n def _parse_known_args(self,arg_strings,namespace):\n \n if self.fromfile_prefix_chars is not None:\n arg_strings=self._read_args_from_files(arg_strings)\n \n \n \n action_conflicts={}\n for mutex_group in self._mutually_exclusive_groups:\n group_actions=mutex_group._group_actions\n for i,mutex_action in enumerate(mutex_group._group_actions):\n conflicts=action_conflicts.setdefault(mutex_action,[])\n conflicts.extend(group_actions[:i])\n conflicts.extend(group_actions[i+1:])\n \n \n \n \n option_string_indices={}\n arg_string_pattern_parts=[]\n arg_strings_iter=iter(arg_strings)\n for i,arg_string in enumerate(arg_strings_iter):\n \n \n if arg_string =='--':\n arg_string_pattern_parts.append('-')\n for arg_string in arg_strings_iter:\n arg_string_pattern_parts.append('A')\n \n \n \n else:\n option_tuple=self._parse_optional(arg_string)\n if option_tuple is None:\n pattern='A'\n else:\n option_string_indices[i]=option_tuple\n pattern='O'\n arg_string_pattern_parts.append(pattern)\n \n \n arg_strings_pattern=''.join(arg_string_pattern_parts)\n \n \n seen_actions=set()\n seen_non_default_actions=set()\n \n def take_action(action,argument_strings,option_string=None):\n seen_actions.add(action)\n argument_values=self._get_values(action,argument_strings)\n \n \n \n \n if argument_values is not action.default:\n seen_non_default_actions.add(action)\n for conflict_action in action_conflicts.get(action,[]):\n if conflict_action in seen_non_default_actions:\n msg=_('not allowed with argument %s')\n action_name=_get_action_name(conflict_action)\n raise ArgumentError(action,msg %action_name)\n \n \n \n if argument_values is not SUPPRESS:\n action(self,namespace,argument_values,option_string)\n \n \n def consume_optional(start_index):\n \n \n option_tuple=option_string_indices[start_index]\n action,option_string,explicit_arg=option_tuple\n \n \n \n match_argument=self._match_argument\n action_tuples=[]\n while True:\n \n \n if action is None:\n extras.append(arg_strings[start_index])\n return start_index+1\n \n \n \n if explicit_arg is not None:\n arg_count=match_argument(action,'A')\n \n \n \n \n chars=self.prefix_chars\n if(\n arg_count ==0\n and option_string[1]not in chars\n and explicit_arg !=''\n ):\n action_tuples.append((action,[],option_string))\n char=option_string[0]\n option_string=char+explicit_arg[0]\n new_explicit_arg=explicit_arg[1:]or None\n optionals_map=self._option_string_actions\n if option_string in optionals_map:\n action=optionals_map[option_string]\n explicit_arg=new_explicit_arg\n else:\n msg=_('ignored explicit argument %r')\n raise ArgumentError(action,msg %explicit_arg)\n \n \n \n elif arg_count ==1:\n stop=start_index+1\n args=[explicit_arg]\n action_tuples.append((action,args,option_string))\n break\n \n \n \n else:\n msg=_('ignored explicit argument %r')\n raise ArgumentError(action,msg %explicit_arg)\n \n \n \n \n else:\n start=start_index+1\n selected_patterns=arg_strings_pattern[start:]\n arg_count=match_argument(action,selected_patterns)\n stop=start+arg_count\n args=arg_strings[start:stop]\n action_tuples.append((action,args,option_string))\n break\n \n \n \n assert action_tuples\n for action,args,option_string in action_tuples:\n take_action(action,args,option_string)\n return stop\n \n \n \n positionals=self._get_positional_actions()\n \n \n def consume_positionals(start_index):\n \n match_partial=self._match_arguments_partial\n selected_pattern=arg_strings_pattern[start_index:]\n arg_counts=match_partial(positionals,selected_pattern)\n \n \n \n for action,arg_count in zip(positionals,arg_counts):\n args=arg_strings[start_index:start_index+arg_count]\n start_index +=arg_count\n take_action(action,args)\n \n \n \n positionals[:]=positionals[len(arg_counts):]\n return start_index\n \n \n \n extras=[]\n start_index=0\n if option_string_indices:\n max_option_string_index=max(option_string_indices)\n else:\n max_option_string_index=-1\n while start_index <=max_option_string_index:\n \n \n next_option_string_index=min([\n index\n for index in option_string_indices\n if index >=start_index])\n if start_index !=next_option_string_index:\n positionals_end_index=consume_positionals(start_index)\n \n \n \n if positionals_end_index >start_index:\n start_index=positionals_end_index\n continue\n else:\n start_index=positionals_end_index\n \n \n \n if start_index not in option_string_indices:\n strings=arg_strings[start_index:next_option_string_index]\n extras.extend(strings)\n start_index=next_option_string_index\n \n \n start_index=consume_optional(start_index)\n \n \n stop_index=consume_positionals(start_index)\n \n \n extras.extend(arg_strings[stop_index:])\n \n \n \n required_actions=[]\n for action in self._actions:\n if action not in seen_actions:\n if action.required:\n required_actions.append(_get_action_name(action))\n else:\n \n \n \n \n if(action.default is not None and\n isinstance(action.default,str)and\n hasattr(namespace,action.dest)and\n action.default is getattr(namespace,action.dest)):\n setattr(namespace,action.dest,\n self._get_value(action,action.default))\n \n if required_actions:\n self.error(_('the following arguments are required: %s')%\n ', '.join(required_actions))\n \n \n for group in self._mutually_exclusive_groups:\n if group.required:\n for action in group._group_actions:\n if action in seen_non_default_actions:\n break\n \n \n else:\n names=[_get_action_name(action)\n for action in group._group_actions\n if action.help is not SUPPRESS]\n msg=_('one of the arguments %s is required')\n self.error(msg %' '.join(names))\n \n \n return namespace,extras\n \n def _read_args_from_files(self,arg_strings):\n \n new_arg_strings=[]\n for arg_string in arg_strings:\n \n \n if not arg_string or arg_string[0]not in self.fromfile_prefix_chars:\n new_arg_strings.append(arg_string)\n \n \n else:\n try:\n with open(arg_string[1:],\n encoding=_sys.getfilesystemencoding(),\n errors=_sys.getfilesystemencodeerrors())as args_file:\n arg_strings=[]\n for arg_line in args_file.read().splitlines():\n for arg in self.convert_arg_line_to_args(arg_line):\n arg_strings.append(arg)\n arg_strings=self._read_args_from_files(arg_strings)\n new_arg_strings.extend(arg_strings)\n except OSError as err:\n self.error(str(err))\n \n \n return new_arg_strings\n \n def convert_arg_line_to_args(self,arg_line):\n return[arg_line]\n \n def _match_argument(self,action,arg_strings_pattern):\n \n nargs_pattern=self._get_nargs_pattern(action)\n match=_re.match(nargs_pattern,arg_strings_pattern)\n \n \n if match is None:\n nargs_errors={\n None:_('expected one argument'),\n OPTIONAL:_('expected at most one argument'),\n ONE_OR_MORE:_('expected at least one argument'),\n }\n msg=nargs_errors.get(action.nargs)\n if msg is None:\n msg=ngettext('expected %s argument',\n 'expected %s arguments',\n action.nargs)%action.nargs\n raise ArgumentError(action,msg)\n \n \n return len(match.group(1))\n \n def _match_arguments_partial(self,actions,arg_strings_pattern):\n \n \n result=[]\n for i in range(len(actions),0,-1):\n actions_slice=actions[:i]\n pattern=''.join([self._get_nargs_pattern(action)\n for action in actions_slice])\n match=_re.match(pattern,arg_strings_pattern)\n if match is not None:\n result.extend([len(string)for string in match.groups()])\n break\n \n \n return result\n \n def _parse_optional(self,arg_string):\n \n if not arg_string:\n return None\n \n \n if not arg_string[0]in self.prefix_chars:\n return None\n \n \n if arg_string in self._option_string_actions:\n action=self._option_string_actions[arg_string]\n return action,arg_string,None\n \n \n if len(arg_string)==1:\n return None\n \n \n if '='in arg_string:\n option_string,explicit_arg=arg_string.split('=',1)\n if option_string in self._option_string_actions:\n action=self._option_string_actions[option_string]\n return action,option_string,explicit_arg\n \n \n \n option_tuples=self._get_option_tuples(arg_string)\n \n \n if len(option_tuples)>1:\n options=', '.join([option_string\n for action,option_string,explicit_arg in option_tuples])\n args={'option':arg_string,'matches':options}\n msg=_('ambiguous option: %(option)s could match %(matches)s')\n self.error(msg %args)\n \n \n \n elif len(option_tuples)==1:\n option_tuple,=option_tuples\n return option_tuple\n \n \n \n \n if self._negative_number_matcher.match(arg_string):\n if not self._has_negative_number_optionals:\n return None\n \n \n if ' 'in arg_string:\n return None\n \n \n \n return None,arg_string,None\n \n def _get_option_tuples(self,option_string):\n result=[]\n \n \n \n chars=self.prefix_chars\n if option_string[0]in chars and option_string[1]in chars:\n if self.allow_abbrev:\n if '='in option_string:\n option_prefix,explicit_arg=option_string.split('=',1)\n else:\n option_prefix=option_string\n explicit_arg=None\n for option_string in self._option_string_actions:\n if option_string.startswith(option_prefix):\n action=self._option_string_actions[option_string]\n tup=action,option_string,explicit_arg\n result.append(tup)\n \n \n \n \n elif option_string[0]in chars and option_string[1]not in chars:\n option_prefix=option_string\n explicit_arg=None\n short_option_prefix=option_string[:2]\n short_explicit_arg=option_string[2:]\n \n for option_string in self._option_string_actions:\n if option_string ==short_option_prefix:\n action=self._option_string_actions[option_string]\n tup=action,option_string,short_explicit_arg\n result.append(tup)\n elif option_string.startswith(option_prefix):\n action=self._option_string_actions[option_string]\n tup=action,option_string,explicit_arg\n result.append(tup)\n \n \n else:\n self.error(_('unexpected option string: %s')%option_string)\n \n \n return result\n \n def _get_nargs_pattern(self,action):\n \n \n nargs=action.nargs\n \n \n if nargs is None:\n nargs_pattern='(-*A-*)'\n \n \n elif nargs ==OPTIONAL:\n nargs_pattern='(-*A?-*)'\n \n \n elif nargs ==ZERO_OR_MORE:\n nargs_pattern='(-*[A-]*)'\n \n \n elif nargs ==ONE_OR_MORE:\n nargs_pattern='(-*A[A-]*)'\n \n \n elif nargs ==REMAINDER:\n nargs_pattern='([-AO]*)'\n \n \n elif nargs ==PARSER:\n nargs_pattern='(-*A[-AO]*)'\n \n \n elif nargs ==SUPPRESS:\n nargs_pattern='(-*-*)'\n \n \n else:\n nargs_pattern='(-*%s-*)'%'-*'.join('A'*nargs)\n \n \n if action.option_strings:\n nargs_pattern=nargs_pattern.replace('-*','')\n nargs_pattern=nargs_pattern.replace('-','')\n \n \n return nargs_pattern\n \n \n \n \n \n def parse_intermixed_args(self,args=None,namespace=None):\n args,argv=self.parse_known_intermixed_args(args,namespace)\n if argv:\n msg=_('unrecognized arguments: %s')\n self.error(msg %' '.join(argv))\n return args\n \n def parse_known_intermixed_args(self,args=None,namespace=None):\n \n \n \n \n \n \n \n \n \n \n \n \n positionals=self._get_positional_actions()\n a=[action for action in positionals\n if action.nargs in[PARSER,REMAINDER]]\n if a:\n raise TypeError('parse_intermixed_args: positional arg'\n ' with nargs=%s'%a[0].nargs)\n \n if[action.dest for group in self._mutually_exclusive_groups\n for action in group._group_actions if action in positionals]:\n raise TypeError('parse_intermixed_args: positional in'\n ' mutuallyExclusiveGroup')\n \n try:\n save_usage=self.usage\n try:\n if self.usage is None:\n \n self.usage=self.format_usage()[7:]\n for action in positionals:\n \n action.save_nargs=action.nargs\n \n action.nargs=SUPPRESS\n action.save_default=action.default\n action.default=SUPPRESS\n namespace,remaining_args=self.parse_known_args(args,\n namespace)\n for action in positionals:\n \n if(hasattr(namespace,action.dest)\n and getattr(namespace,action.dest)==[]):\n from warnings import warn\n warn('Do not expect %s in %s'%(action.dest,namespace))\n delattr(namespace,action.dest)\n finally:\n \n for action in positionals:\n action.nargs=action.save_nargs\n action.default=action.save_default\n optionals=self._get_optional_actions()\n try:\n \n \n for action in optionals:\n action.save_required=action.required\n action.required=False\n for group in self._mutually_exclusive_groups:\n group.save_required=group.required\n group.required=False\n namespace,extras=self.parse_known_args(remaining_args,\n namespace)\n finally:\n \n for action in optionals:\n action.required=action.save_required\n for group in self._mutually_exclusive_groups:\n group.required=group.save_required\n finally:\n self.usage=save_usage\n return namespace,extras\n \n \n \n \n def _get_values(self,action,arg_strings):\n \n if action.nargs not in[PARSER,REMAINDER]:\n try:\n arg_strings.remove('--')\n except ValueError:\n pass\n \n \n if not arg_strings and action.nargs ==OPTIONAL:\n if action.option_strings:\n value=action.const\n else:\n value=action.default\n if isinstance(value,str):\n value=self._get_value(action,value)\n self._check_value(action,value)\n \n \n \n elif(not arg_strings and action.nargs ==ZERO_OR_MORE and\n not action.option_strings):\n if action.default is not None:\n value=action.default\n self._check_value(action,value)\n else:\n \n \n value=arg_strings\n \n \n elif len(arg_strings)==1 and action.nargs in[None,OPTIONAL]:\n arg_string,=arg_strings\n value=self._get_value(action,arg_string)\n self._check_value(action,value)\n \n \n elif action.nargs ==REMAINDER:\n value=[self._get_value(action,v)for v in arg_strings]\n \n \n elif action.nargs ==PARSER:\n value=[self._get_value(action,v)for v in arg_strings]\n self._check_value(action,value[0])\n \n \n elif action.nargs ==SUPPRESS:\n value=SUPPRESS\n \n \n else:\n value=[self._get_value(action,v)for v in arg_strings]\n for v in value:\n self._check_value(action,v)\n \n \n return value\n \n def _get_value(self,action,arg_string):\n type_func=self._registry_get('type',action.type,action.type)\n if not callable(type_func):\n msg=_('%r is not callable')\n raise ArgumentError(action,msg %type_func)\n \n \n try:\n result=type_func(arg_string)\n \n \n except ArgumentTypeError as err:\n msg=str(err)\n raise ArgumentError(action,msg)\n \n \n except(TypeError,ValueError):\n name=getattr(action.type,'__name__',repr(action.type))\n args={'type':name,'value':arg_string}\n msg=_('invalid %(type)s value: %(value)r')\n raise ArgumentError(action,msg %args)\n \n \n return result\n \n def _check_value(self,action,value):\n \n if action.choices is not None and value not in action.choices:\n args={'value':value,\n 'choices':', '.join(map(repr,action.choices))}\n msg=_('invalid choice: %(value)r (choose from %(choices)s)')\n raise ArgumentError(action,msg %args)\n \n \n \n \n def format_usage(self):\n formatter=self._get_formatter()\n formatter.add_usage(self.usage,self._actions,\n self._mutually_exclusive_groups)\n return formatter.format_help()\n \n def format_help(self):\n formatter=self._get_formatter()\n \n \n formatter.add_usage(self.usage,self._actions,\n self._mutually_exclusive_groups)\n \n \n formatter.add_text(self.description)\n \n \n for action_group in self._action_groups:\n formatter.start_section(action_group.title)\n formatter.add_text(action_group.description)\n formatter.add_arguments(action_group._group_actions)\n formatter.end_section()\n \n \n formatter.add_text(self.epilog)\n \n \n return formatter.format_help()\n \n def _get_formatter(self):\n return self.formatter_class(prog=self.prog)\n \n \n \n \n def print_usage(self,file=None):\n if file is None:\n file=_sys.stdout\n self._print_message(self.format_usage(),file)\n \n def print_help(self,file=None):\n if file is None:\n file=_sys.stdout\n self._print_message(self.format_help(),file)\n \n def _print_message(self,message,file=None):\n if message:\n file=file or _sys.stderr\n try:\n file.write(message)\n except(AttributeError,OSError):\n pass\n \n \n \n \n def exit(self,status=0,message=None):\n if message:\n self._print_message(message,_sys.stderr)\n _sys.exit(status)\n \n def error(self,message):\n ''\n\n\n\n\n\n\n \n self.print_usage(_sys.stderr)\n args={'prog':self.prog,'message':message}\n self.exit(2,_('%(prog)s: error: %(message)s\\n')%args)\n",["copy","gettext","os","re","shutil","sys","textwrap","warnings"]],ast:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport sys\nimport re\nfrom _ast import *\nfrom contextlib import contextmanager,nullcontext\nfrom enum import IntEnum,auto,_simple_enum\n\n\ndef parse(source,filename=\'\',mode=\'exec\',*,\ntype_comments=False,feature_version=None):\n \'\'\n\n\n\n \n flags=PyCF_ONLY_AST\n if type_comments:\n flags |=PyCF_TYPE_COMMENTS\n if feature_version is None:\n feature_version=-1\n elif isinstance(feature_version,tuple):\n major,minor=feature_version\n if major !=3:\n raise ValueError(f"Unsupported major version: {major}")\n feature_version=minor\n \n return compile(source,filename,mode,flags,\n _feature_version=feature_version)\n \n \ndef literal_eval(node_or_string):\n \'\'\n\n\n\n\n\n\n \n if isinstance(node_or_string,str):\n node_or_string=parse(node_or_string.lstrip(" \\t"),mode=\'eval\')\n if isinstance(node_or_string,Expression):\n node_or_string=node_or_string.body\n def _raise_malformed_node(node):\n msg="malformed node or string"\n if lno :=getattr(node,\'lineno\',None):\n msg +=f\' on line {lno}\'\n raise ValueError(msg+f\': {node !r}\')\n def _convert_num(node):\n if not isinstance(node,Constant)or type(node.value)not in(int,float,complex):\n _raise_malformed_node(node)\n return node.value\n def _convert_signed_num(node):\n if isinstance(node,UnaryOp)and isinstance(node.op,(UAdd,USub)):\n operand=_convert_num(node.operand)\n if isinstance(node.op,UAdd):\n return+operand\n else:\n return -operand\n return _convert_num(node)\n def _convert(node):\n if isinstance(node,Constant):\n return node.value\n elif isinstance(node,Tuple):\n return tuple(map(_convert,node.elts))\n elif isinstance(node,List):\n return list(map(_convert,node.elts))\n elif isinstance(node,Set):\n return set(map(_convert,node.elts))\n elif(isinstance(node,Call)and isinstance(node.func,Name)and\n node.func.id ==\'set\'and node.args ==node.keywords ==[]):\n return set()\n elif isinstance(node,Dict):\n if len(node.keys)!=len(node.values):\n _raise_malformed_node(node)\n return dict(zip(map(_convert,node.keys),\n map(_convert,node.values)))\n elif isinstance(node,BinOp)and isinstance(node.op,(Add,Sub)):\n left=_convert_signed_num(node.left)\n right=_convert_num(node.right)\n if isinstance(left,(int,float))and isinstance(right,complex):\n if isinstance(node.op,Add):\n return left+right\n else:\n return left -right\n return _convert_signed_num(node)\n return _convert(node_or_string)\n \n \ndef dump(node,annotate_fields=True,include_attributes=False,*,indent=None):\n \'\'\n\n\n\n\n\n\n\n\n\n \n def _format(node,level=0):\n if indent is not None:\n level +=1\n prefix=\'\\n\'+indent *level\n sep=\',\\n\'+indent *level\n else:\n prefix=\'\'\n sep=\', \'\n if isinstance(node,AST):\n cls=type(node)\n args=[]\n allsimple=True\n keywords=annotate_fields\n for name in node._fields:\n try:\n value=getattr(node,name)\n except AttributeError:\n keywords=True\n continue\n if value is None and getattr(cls,name,...)is None:\n keywords=True\n continue\n value,simple=_format(value,level)\n allsimple=allsimple and simple\n if keywords:\n args.append(\'%s=%s\'%(name,value))\n else:\n args.append(value)\n if include_attributes and node._attributes:\n for name in node._attributes:\n try:\n value=getattr(node,name)\n except AttributeError:\n continue\n if value is None and getattr(cls,name,...)is None:\n continue\n value,simple=_format(value,level)\n allsimple=allsimple and simple\n args.append(\'%s=%s\'%(name,value))\n if allsimple and len(args)<=3:\n return \'%s(%s)\'%(node.__class__.__name__,\', \'.join(args)),not args\n return \'%s(%s%s)\'%(node.__class__.__name__,prefix,sep.join(args)),False\n elif isinstance(node,list):\n if not node:\n return \'[]\',True\n return \'[%s%s]\'%(prefix,sep.join(_format(x,level)[0]for x in node)),False\n return repr(node),True\n \n if not isinstance(node,AST):\n raise TypeError(\'expected AST, got %r\'%node.__class__.__name__)\n if indent is not None and not isinstance(indent,str):\n indent=\' \'*indent\n return _format(node)[0]\n \n \ndef copy_location(new_node,old_node):\n \'\'\n\n\n \n for attr in \'lineno\',\'col_offset\',\'end_lineno\',\'end_col_offset\':\n if attr in old_node._attributes and attr in new_node._attributes:\n value=getattr(old_node,attr,None)\n \n \n if value is not None or(\n hasattr(old_node,attr)and attr.startswith("end_")\n ):\n setattr(new_node,attr,value)\n return new_node\n \n \ndef fix_missing_locations(node):\n \'\'\n\n\n\n\n\n \n def _fix(node,lineno,col_offset,end_lineno,end_col_offset):\n if \'lineno\'in node._attributes:\n if not hasattr(node,\'lineno\'):\n node.lineno=lineno\n else:\n lineno=node.lineno\n if \'end_lineno\'in node._attributes:\n if getattr(node,\'end_lineno\',None)is None:\n node.end_lineno=end_lineno\n else:\n end_lineno=node.end_lineno\n if \'col_offset\'in node._attributes:\n if not hasattr(node,\'col_offset\'):\n node.col_offset=col_offset\n else:\n col_offset=node.col_offset\n if \'end_col_offset\'in node._attributes:\n if getattr(node,\'end_col_offset\',None)is None:\n node.end_col_offset=end_col_offset\n else:\n end_col_offset=node.end_col_offset\n for child in iter_child_nodes(node):\n _fix(child,lineno,col_offset,end_lineno,end_col_offset)\n _fix(node,1,0,1,0)\n return node\n \n \ndef increment_lineno(node,n=1):\n \'\'\n\n\n\n \n for child in walk(node):\n \n \n if isinstance(child,TypeIgnore):\n child.lineno=getattr(child,\'lineno\',0)+n\n continue\n \n if \'lineno\'in child._attributes:\n child.lineno=getattr(child,\'lineno\',0)+n\n if(\n "end_lineno"in child._attributes\n and(end_lineno :=getattr(child,"end_lineno",0))is not None\n ):\n child.end_lineno=end_lineno+n\n return node\n \n \ndef iter_fields(node):\n \'\'\n\n\n \n for field in node._fields:\n try:\n yield field,getattr(node,field)\n except AttributeError:\n pass\n \n \ndef iter_child_nodes(node):\n \'\'\n\n\n \n for name,field in iter_fields(node):\n if isinstance(field,AST):\n yield field\n elif isinstance(field,list):\n for item in field:\n if isinstance(item,AST):\n yield item\n \n \ndef get_docstring(node,clean=True):\n \'\'\n\n\n\n\n\n\n \n if not isinstance(node,(AsyncFunctionDef,FunctionDef,ClassDef,Module)):\n raise TypeError("%r can\'t have docstrings"%node.__class__.__name__)\n if not(node.body and isinstance(node.body[0],Expr)):\n return None\n node=node.body[0].value\n if isinstance(node,Constant)and isinstance(node.value,str):\n text=node.value\n else:\n return None\n if clean:\n import inspect\n text=inspect.cleandoc(text)\n return text\n \n \n_line_pattern=re.compile(r"(.*?(?:\\r\\n|\\n|\\r|$))")\ndef _splitlines_no_ff(source,maxlines=None):\n \'\'\n\n\n \n lines=[]\n for lineno,match in enumerate(_line_pattern.finditer(source),1):\n if maxlines is not None and lineno >maxlines:\n break\n lines.append(match[0])\n return lines\n \n \ndef _pad_whitespace(source):\n \'\'\n result=\'\'\n for c in source:\n if c in \'\\f\\t\':\n result +=c\n else:\n result +=\' \'\n return result\n \n \ndef get_source_segment(source,node,*,padded=False):\n \'\'\n\n\n\n\n\n\n \n try:\n if node.end_lineno is None or node.end_col_offset is None:\n return None\n lineno=node.lineno -1\n end_lineno=node.end_lineno -1\n col_offset=node.col_offset\n end_col_offset=node.end_col_offset\n except AttributeError:\n return None\n \n lines=_splitlines_no_ff(source,maxlines=end_lineno+1)\n if end_lineno ==lineno:\n return lines[lineno].encode()[col_offset:end_col_offset].decode()\n \n if padded:\n padding=_pad_whitespace(lines[lineno].encode()[:col_offset].decode())\n else:\n padding=\'\'\n \n first=padding+lines[lineno].encode()[col_offset:].decode()\n last=lines[end_lineno].encode()[:end_col_offset].decode()\n lines=lines[lineno+1:end_lineno]\n \n lines.insert(0,first)\n lines.append(last)\n return \'\'.join(lines)\n \n \ndef walk(node):\n \'\'\n\n\n\n \n from collections import deque\n todo=deque([node])\n while todo:\n node=todo.popleft()\n todo.extend(iter_child_nodes(node))\n yield node\n \n \nclass NodeVisitor(object):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def visit(self,node):\n \'\'\n method=\'visit_\'+node.__class__.__name__\n visitor=getattr(self,method,self.generic_visit)\n return visitor(node)\n \n def generic_visit(self,node):\n \'\'\n for field,value in iter_fields(node):\n if isinstance(value,list):\n for item in value:\n if isinstance(item,AST):\n self.visit(item)\n elif isinstance(value,AST):\n self.visit(value)\n \n def visit_Constant(self,node):\n value=node.value\n type_name=_const_node_type_names.get(type(value))\n if type_name is None:\n for cls,name in _const_node_type_names.items():\n if isinstance(value,cls):\n type_name=name\n break\n if type_name is not None:\n method=\'visit_\'+type_name\n try:\n visitor=getattr(self,method)\n except AttributeError:\n pass\n else:\n import warnings\n warnings.warn(f"{method} is deprecated; add visit_Constant",\n DeprecationWarning,2)\n return visitor(node)\n return self.generic_visit(node)\n \n \nclass NodeTransformer(NodeVisitor):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def generic_visit(self,node):\n for field,old_value in iter_fields(node):\n if isinstance(old_value,list):\n new_values=[]\n for value in old_value:\n if isinstance(value,AST):\n value=self.visit(value)\n if value is None:\n continue\n elif not isinstance(value,AST):\n new_values.extend(value)\n continue\n new_values.append(value)\n old_value[:]=new_values\n elif isinstance(old_value,AST):\n new_node=self.visit(old_value)\n if new_node is None:\n delattr(node,field)\n else:\n setattr(node,field,new_node)\n return node\n \n \n_DEPRECATED_VALUE_ALIAS_MESSAGE=(\n"{name} is deprecated and will be removed in Python {remove}; use value instead"\n)\n_DEPRECATED_CLASS_MESSAGE=(\n"{name} is deprecated and will be removed in Python {remove}; "\n"use ast.Constant instead"\n)\n\n\n\nif not hasattr(Constant,\'n\'):\n\n\n\n def _n_getter(self):\n \'\'\n import warnings\n warnings._deprecated(\n "Attribute n",message=_DEPRECATED_VALUE_ALIAS_MESSAGE,remove=(3,14)\n )\n return self.value\n \n def _n_setter(self,value):\n import warnings\n warnings._deprecated(\n "Attribute n",message=_DEPRECATED_VALUE_ALIAS_MESSAGE,remove=(3,14)\n )\n self.value=value\n \n def _s_getter(self):\n \'\'\n import warnings\n warnings._deprecated(\n "Attribute s",message=_DEPRECATED_VALUE_ALIAS_MESSAGE,remove=(3,14)\n )\n return self.value\n \n def _s_setter(self,value):\n import warnings\n warnings._deprecated(\n "Attribute s",message=_DEPRECATED_VALUE_ALIAS_MESSAGE,remove=(3,14)\n )\n self.value=value\n \n Constant.n=property(_n_getter,_n_setter)\n Constant.s=property(_s_getter,_s_setter)\n \nclass _ABC(type):\n\n def __init__(cls,*args):\n cls.__doc__="""Deprecated AST node class. Use ast.Constant instead"""\n \n def __instancecheck__(cls,inst):\n if cls in _const_types:\n import warnings\n warnings._deprecated(\n f"ast.{cls.__qualname__}",\n message=_DEPRECATED_CLASS_MESSAGE,\n remove=(3,14)\n )\n if not isinstance(inst,Constant):\n return False\n if cls in _const_types:\n try:\n value=inst.value\n except AttributeError:\n return False\n else:\n return(\n isinstance(value,_const_types[cls])and\n not isinstance(value,_const_types_not.get(cls,()))\n )\n return type.__instancecheck__(cls,inst)\n \ndef _new(cls,*args,**kwargs):\n for key in kwargs:\n if key not in cls._fields:\n \n continue\n pos=cls._fields.index(key)\n if pos precedence)\n \n def get_precedence(self,node):\n return self._precedences.get(node,_Precedence.TEST)\n \n def set_precedence(self,precedence,*nodes):\n for node in nodes:\n self._precedences[node]=precedence\n \n def get_raw_docstring(self,node):\n \'\'\n\n\n \n if not isinstance(\n node,(AsyncFunctionDef,FunctionDef,ClassDef,Module)\n )or len(node.body)<1:\n return None\n node=node.body[0]\n if not isinstance(node,Expr):\n return None\n node=node.value\n if isinstance(node,Constant)and isinstance(node.value,str):\n return node\n \n def get_type_comment(self,node):\n comment=self._type_ignores.get(node.lineno)or node.type_comment\n if comment is not None:\n return f" # type: {comment}"\n \n def traverse(self,node):\n if isinstance(node,list):\n for item in node:\n self.traverse(item)\n else:\n super().visit(node)\n \n \n \n \n def visit(self,node):\n \'\'\n \n self._source=[]\n self.traverse(node)\n return "".join(self._source)\n \n def _write_docstring_and_traverse_body(self,node):\n if(docstring :=self.get_raw_docstring(node)):\n self._write_docstring(docstring)\n self.traverse(node.body[1:])\n else:\n self.traverse(node.body)\n \n def visit_Module(self,node):\n self._type_ignores={\n ignore.lineno:f"ignore{ignore.tag}"\n for ignore in node.type_ignores\n }\n self._write_docstring_and_traverse_body(node)\n self._type_ignores.clear()\n \n def visit_FunctionType(self,node):\n with self.delimit("(",")"):\n self.interleave(\n lambda:self.write(", "),self.traverse,node.argtypes\n )\n \n self.write(" -> ")\n self.traverse(node.returns)\n \n def visit_Expr(self,node):\n self.fill()\n self.set_precedence(_Precedence.YIELD,node.value)\n self.traverse(node.value)\n \n def visit_NamedExpr(self,node):\n with self.require_parens(_Precedence.NAMED_EXPR,node):\n self.set_precedence(_Precedence.ATOM,node.target,node.value)\n self.traverse(node.target)\n self.write(" := ")\n self.traverse(node.value)\n \n def visit_Import(self,node):\n self.fill("import ")\n self.interleave(lambda:self.write(", "),self.traverse,node.names)\n \n def visit_ImportFrom(self,node):\n self.fill("from ")\n self.write("."*(node.level or 0))\n if node.module:\n self.write(node.module)\n self.write(" import ")\n self.interleave(lambda:self.write(", "),self.traverse,node.names)\n \n def visit_Assign(self,node):\n self.fill()\n for target in node.targets:\n self.set_precedence(_Precedence.TUPLE,target)\n self.traverse(target)\n self.write(" = ")\n self.traverse(node.value)\n if type_comment :=self.get_type_comment(node):\n self.write(type_comment)\n \n def visit_AugAssign(self,node):\n self.fill()\n self.traverse(node.target)\n self.write(" "+self.binop[node.op.__class__.__name__]+"= ")\n self.traverse(node.value)\n \n def visit_AnnAssign(self,node):\n self.fill()\n with self.delimit_if("(",")",not node.simple and isinstance(node.target,Name)):\n self.traverse(node.target)\n self.write(": ")\n self.traverse(node.annotation)\n if node.value:\n self.write(" = ")\n self.traverse(node.value)\n \n def visit_Return(self,node):\n self.fill("return")\n if node.value:\n self.write(" ")\n self.traverse(node.value)\n \n def visit_Pass(self,node):\n self.fill("pass")\n \n def visit_Break(self,node):\n self.fill("break")\n \n def visit_Continue(self,node):\n self.fill("continue")\n \n def visit_Delete(self,node):\n self.fill("del ")\n self.interleave(lambda:self.write(", "),self.traverse,node.targets)\n \n def visit_Assert(self,node):\n self.fill("assert ")\n self.traverse(node.test)\n if node.msg:\n self.write(", ")\n self.traverse(node.msg)\n \n def visit_Global(self,node):\n self.fill("global ")\n self.interleave(lambda:self.write(", "),self.write,node.names)\n \n def visit_Nonlocal(self,node):\n self.fill("nonlocal ")\n self.interleave(lambda:self.write(", "),self.write,node.names)\n \n def visit_Await(self,node):\n with self.require_parens(_Precedence.AWAIT,node):\n self.write("await")\n if node.value:\n self.write(" ")\n self.set_precedence(_Precedence.ATOM,node.value)\n self.traverse(node.value)\n \n def visit_Yield(self,node):\n with self.require_parens(_Precedence.YIELD,node):\n self.write("yield")\n if node.value:\n self.write(" ")\n self.set_precedence(_Precedence.ATOM,node.value)\n self.traverse(node.value)\n \n def visit_YieldFrom(self,node):\n with self.require_parens(_Precedence.YIELD,node):\n self.write("yield from ")\n if not node.value:\n raise ValueError("Node can\'t be used without a value attribute.")\n self.set_precedence(_Precedence.ATOM,node.value)\n self.traverse(node.value)\n \n def visit_Raise(self,node):\n self.fill("raise")\n if not node.exc:\n if node.cause:\n raise ValueError(f"Node can\'t use cause without an exception.")\n return\n self.write(" ")\n self.traverse(node.exc)\n if node.cause:\n self.write(" from ")\n self.traverse(node.cause)\n \n def do_visit_try(self,node):\n self.fill("try")\n with self.block():\n self.traverse(node.body)\n for ex in node.handlers:\n self.traverse(ex)\n if node.orelse:\n self.fill("else")\n with self.block():\n self.traverse(node.orelse)\n if node.finalbody:\n self.fill("finally")\n with self.block():\n self.traverse(node.finalbody)\n \n def visit_Try(self,node):\n prev_in_try_star=self._in_try_star\n try:\n self._in_try_star=False\n self.do_visit_try(node)\n finally:\n self._in_try_star=prev_in_try_star\n \n def visit_TryStar(self,node):\n prev_in_try_star=self._in_try_star\n try:\n self._in_try_star=True\n self.do_visit_try(node)\n finally:\n self._in_try_star=prev_in_try_star\n \n def visit_ExceptHandler(self,node):\n self.fill("except*"if self._in_try_star else "except")\n if node.type:\n self.write(" ")\n self.traverse(node.type)\n if node.name:\n self.write(" as ")\n self.write(node.name)\n with self.block():\n self.traverse(node.body)\n \n def visit_ClassDef(self,node):\n self.maybe_newline()\n for deco in node.decorator_list:\n self.fill("@")\n self.traverse(deco)\n self.fill("class "+node.name)\n if hasattr(node,"type_params"):\n self._type_params_helper(node.type_params)\n with self.delimit_if("(",")",condition=node.bases or node.keywords):\n comma=False\n for e in node.bases:\n if comma:\n self.write(", ")\n else:\n comma=True\n self.traverse(e)\n for e in node.keywords:\n if comma:\n self.write(", ")\n else:\n comma=True\n self.traverse(e)\n \n with self.block():\n self._write_docstring_and_traverse_body(node)\n \n def visit_FunctionDef(self,node):\n self._function_helper(node,"def")\n \n def visit_AsyncFunctionDef(self,node):\n self._function_helper(node,"async def")\n \n def _function_helper(self,node,fill_suffix):\n self.maybe_newline()\n for deco in node.decorator_list:\n self.fill("@")\n self.traverse(deco)\n def_str=fill_suffix+" "+node.name\n self.fill(def_str)\n if hasattr(node,"type_params"):\n self._type_params_helper(node.type_params)\n with self.delimit("(",")"):\n self.traverse(node.args)\n if node.returns:\n self.write(" -> ")\n self.traverse(node.returns)\n with self.block(extra=self.get_type_comment(node)):\n self._write_docstring_and_traverse_body(node)\n \n def _type_params_helper(self,type_params):\n if type_params is not None and len(type_params)>0:\n with self.delimit("[","]"):\n self.interleave(lambda:self.write(", "),self.traverse,type_params)\n \n def visit_TypeVar(self,node):\n self.write(node.name)\n if node.bound:\n self.write(": ")\n self.traverse(node.bound)\n \n def visit_TypeVarTuple(self,node):\n self.write("*"+node.name)\n \n def visit_ParamSpec(self,node):\n self.write("**"+node.name)\n \n def visit_TypeAlias(self,node):\n self.fill("type ")\n self.traverse(node.name)\n self._type_params_helper(node.type_params)\n self.write(" = ")\n self.traverse(node.value)\n \n def visit_For(self,node):\n self._for_helper("for ",node)\n \n def visit_AsyncFor(self,node):\n self._for_helper("async for ",node)\n \n def _for_helper(self,fill,node):\n self.fill(fill)\n self.set_precedence(_Precedence.TUPLE,node.target)\n self.traverse(node.target)\n self.write(" in ")\n self.traverse(node.iter)\n with self.block(extra=self.get_type_comment(node)):\n self.traverse(node.body)\n if node.orelse:\n self.fill("else")\n with self.block():\n self.traverse(node.orelse)\n \n def visit_If(self,node):\n self.fill("if ")\n self.traverse(node.test)\n with self.block():\n self.traverse(node.body)\n \n while node.orelse and len(node.orelse)==1 and isinstance(node.orelse[0],If):\n node=node.orelse[0]\n self.fill("elif ")\n self.traverse(node.test)\n with self.block():\n self.traverse(node.body)\n \n if node.orelse:\n self.fill("else")\n with self.block():\n self.traverse(node.orelse)\n \n def visit_While(self,node):\n self.fill("while ")\n self.traverse(node.test)\n with self.block():\n self.traverse(node.body)\n if node.orelse:\n self.fill("else")\n with self.block():\n self.traverse(node.orelse)\n \n def visit_With(self,node):\n self.fill("with ")\n self.interleave(lambda:self.write(", "),self.traverse,node.items)\n with self.block(extra=self.get_type_comment(node)):\n self.traverse(node.body)\n \n def visit_AsyncWith(self,node):\n self.fill("async with ")\n self.interleave(lambda:self.write(", "),self.traverse,node.items)\n with self.block(extra=self.get_type_comment(node)):\n self.traverse(node.body)\n \n def _str_literal_helper(\n self,string,*,quote_types=_ALL_QUOTES,escape_special_whitespace=False\n ):\n \'\'\n\n \n def escape_char(c):\n \n \n if not escape_special_whitespace and c in "\\n\\t":\n return c\n \n if c =="\\\\"or not c.isprintable():\n return c.encode("unicode_escape").decode("ascii")\n return c\n \n escaped_string="".join(map(escape_char,string))\n possible_quotes=quote_types\n if "\\n"in escaped_string:\n possible_quotes=[q for q in possible_quotes if q in _MULTI_QUOTES]\n possible_quotes=[q for q in possible_quotes if q not in escaped_string]\n if not possible_quotes:\n \n \n \n string=repr(string)\n quote=next((q for q in quote_types if string[0]in q),string[0])\n return string[1:-1],[quote]\n if escaped_string:\n \n possible_quotes.sort(key=lambda q:q[0]==escaped_string[-1])\n \n \n if possible_quotes[0][0]==escaped_string[-1]:\n assert len(possible_quotes[0])==3\n escaped_string=escaped_string[:-1]+"\\\\"+escaped_string[-1]\n return escaped_string,possible_quotes\n \n def _write_str_avoiding_backslashes(self,string,*,quote_types=_ALL_QUOTES):\n \'\'\n string,quote_types=self._str_literal_helper(string,quote_types=quote_types)\n quote_type=quote_types[0]\n self.write(f"{quote_type}{string}{quote_type}")\n \n def visit_JoinedStr(self,node):\n self.write("f")\n \n fstring_parts=[]\n for value in node.values:\n with self.buffered()as buffer:\n self._write_fstring_inner(value)\n fstring_parts.append(\n ("".join(buffer),isinstance(value,Constant))\n )\n \n new_fstring_parts=[]\n quote_types=list(_ALL_QUOTES)\n fallback_to_repr=False\n for value,is_constant in fstring_parts:\n if is_constant:\n value,new_quote_types=self._str_literal_helper(\n value,\n quote_types=quote_types,\n escape_special_whitespace=True,\n )\n if set(new_quote_types).isdisjoint(quote_types):\n fallback_to_repr=True\n break\n quote_types=new_quote_types\n elif "\\n"in value:\n quote_types=[q for q in quote_types if q in _MULTI_QUOTES]\n assert quote_types\n new_fstring_parts.append(value)\n \n if fallback_to_repr:\n \n \n quote_types=["\'\'\'"]\n new_fstring_parts.clear()\n for value,is_constant in fstring_parts:\n if is_constant:\n value=repr(\'"\'+value)\n expected_prefix="\'\\""\n assert value.startswith(expected_prefix),repr(value)\n value=value[len(expected_prefix):-1]\n new_fstring_parts.append(value)\n \n value="".join(new_fstring_parts)\n quote_type=quote_types[0]\n self.write(f"{quote_type}{value}{quote_type}")\n \n def _write_fstring_inner(self,node):\n if isinstance(node,JoinedStr):\n \n for value in node.values:\n self._write_fstring_inner(value)\n elif isinstance(node,Constant)and isinstance(node.value,str):\n value=node.value.replace("{","{{").replace("}","}}")\n self.write(value)\n elif isinstance(node,FormattedValue):\n self.visit_FormattedValue(node)\n else:\n raise ValueError(f"Unexpected node inside JoinedStr, {node !r}")\n \n def visit_FormattedValue(self,node):\n def unparse_inner(inner):\n unparser=type(self)()\n unparser.set_precedence(_Precedence.TEST.next(),inner)\n return unparser.visit(inner)\n \n with self.delimit("{","}"):\n expr=unparse_inner(node.value)\n if expr.startswith("{"):\n \n self.write(" ")\n self.write(expr)\n if node.conversion !=-1:\n self.write(f"!{chr(node.conversion)}")\n if node.format_spec:\n self.write(":")\n self._write_fstring_inner(node.format_spec)\n \n def visit_Name(self,node):\n self.write(node.id)\n \n def _write_docstring(self,node):\n self.fill()\n if node.kind =="u":\n self.write("u")\n self._write_str_avoiding_backslashes(node.value,quote_types=_MULTI_QUOTES)\n \n def _write_constant(self,value):\n if isinstance(value,(float,complex)):\n \n \n self.write(\n repr(value)\n .replace("inf",_INFSTR)\n .replace("nan",f"({_INFSTR}-{_INFSTR})")\n )\n elif self._avoid_backslashes and isinstance(value,str):\n self._write_str_avoiding_backslashes(value)\n else:\n self.write(repr(value))\n \n def visit_Constant(self,node):\n value=node.value\n if isinstance(value,tuple):\n with self.delimit("(",")"):\n self.items_view(self._write_constant,value)\n elif value is ...:\n self.write("...")\n else:\n if node.kind =="u":\n self.write("u")\n self._write_constant(node.value)\n \n def visit_List(self,node):\n with self.delimit("[","]"):\n self.interleave(lambda:self.write(", "),self.traverse,node.elts)\n \n def visit_ListComp(self,node):\n with self.delimit("[","]"):\n self.traverse(node.elt)\n for gen in node.generators:\n self.traverse(gen)\n \n def visit_GeneratorExp(self,node):\n with self.delimit("(",")"):\n self.traverse(node.elt)\n for gen in node.generators:\n self.traverse(gen)\n \n def visit_SetComp(self,node):\n with self.delimit("{","}"):\n self.traverse(node.elt)\n for gen in node.generators:\n self.traverse(gen)\n \n def visit_DictComp(self,node):\n with self.delimit("{","}"):\n self.traverse(node.key)\n self.write(": ")\n self.traverse(node.value)\n for gen in node.generators:\n self.traverse(gen)\n \n def visit_comprehension(self,node):\n if node.is_async:\n self.write(" async for ")\n else:\n self.write(" for ")\n self.set_precedence(_Precedence.TUPLE,node.target)\n self.traverse(node.target)\n self.write(" in ")\n self.set_precedence(_Precedence.TEST.next(),node.iter,*node.ifs)\n self.traverse(node.iter)\n for if_clause in node.ifs:\n self.write(" if ")\n self.traverse(if_clause)\n \n def visit_IfExp(self,node):\n with self.require_parens(_Precedence.TEST,node):\n self.set_precedence(_Precedence.TEST.next(),node.body,node.test)\n self.traverse(node.body)\n self.write(" if ")\n self.traverse(node.test)\n self.write(" else ")\n self.set_precedence(_Precedence.TEST,node.orelse)\n self.traverse(node.orelse)\n \n def visit_Set(self,node):\n if node.elts:\n with self.delimit("{","}"):\n self.interleave(lambda:self.write(", "),self.traverse,node.elts)\n else:\n \n \n self.write(\'{*()}\')\n \n def visit_Dict(self,node):\n def write_key_value_pair(k,v):\n self.traverse(k)\n self.write(": ")\n self.traverse(v)\n \n def write_item(item):\n k,v=item\n if k is None:\n \n \n self.write("**")\n self.set_precedence(_Precedence.EXPR,v)\n self.traverse(v)\n else:\n write_key_value_pair(k,v)\n \n with self.delimit("{","}"):\n self.interleave(\n lambda:self.write(", "),write_item,zip(node.keys,node.values)\n )\n \n def visit_Tuple(self,node):\n with self.delimit_if(\n "(",\n ")",\n len(node.elts)==0 or self.get_precedence(node)>_Precedence.TUPLE\n ):\n self.items_view(self.traverse,node.elts)\n \n unop={"Invert":"~","Not":"not","UAdd":"+","USub":"-"}\n unop_precedence={\n "not":_Precedence.NOT,\n "~":_Precedence.FACTOR,\n "+":_Precedence.FACTOR,\n "-":_Precedence.FACTOR,\n }\n \n def visit_UnaryOp(self,node):\n operator=self.unop[node.op.__class__.__name__]\n operator_precedence=self.unop_precedence[operator]\n with self.require_parens(operator_precedence,node):\n self.write(operator)\n \n \n if operator_precedence is not _Precedence.FACTOR:\n self.write(" ")\n self.set_precedence(operator_precedence,node.operand)\n self.traverse(node.operand)\n \n binop={\n "Add":"+",\n "Sub":"-",\n "Mult":"*",\n "MatMult":"@",\n "Div":"/",\n "Mod":"%",\n "LShift":"<<",\n "RShift":">>",\n "BitOr":"|",\n "BitXor":"^",\n "BitAnd":"&",\n "FloorDiv":"//",\n "Pow":"**",\n }\n \n binop_precedence={\n "+":_Precedence.ARITH,\n "-":_Precedence.ARITH,\n "*":_Precedence.TERM,\n "@":_Precedence.TERM,\n "/":_Precedence.TERM,\n "%":_Precedence.TERM,\n "<<":_Precedence.SHIFT,\n ">>":_Precedence.SHIFT,\n "|":_Precedence.BOR,\n "^":_Precedence.BXOR,\n "&":_Precedence.BAND,\n "//":_Precedence.TERM,\n "**":_Precedence.POWER,\n }\n \n binop_rassoc=frozenset(("**",))\n def visit_BinOp(self,node):\n operator=self.binop[node.op.__class__.__name__]\n operator_precedence=self.binop_precedence[operator]\n with self.require_parens(operator_precedence,node):\n if operator in self.binop_rassoc:\n left_precedence=operator_precedence.next()\n right_precedence=operator_precedence\n else:\n left_precedence=operator_precedence\n right_precedence=operator_precedence.next()\n \n self.set_precedence(left_precedence,node.left)\n self.traverse(node.left)\n self.write(f" {operator} ")\n self.set_precedence(right_precedence,node.right)\n self.traverse(node.right)\n \n cmpops={\n "Eq":"==",\n "NotEq":"!=",\n "Lt":"<",\n "LtE":"<=",\n "Gt":">",\n "GtE":">=",\n "Is":"is",\n "IsNot":"is not",\n "In":"in",\n "NotIn":"not in",\n }\n \n def visit_Compare(self,node):\n with self.require_parens(_Precedence.CMP,node):\n self.set_precedence(_Precedence.CMP.next(),node.left,*node.comparators)\n self.traverse(node.left)\n for o,e in zip(node.ops,node.comparators):\n self.write(" "+self.cmpops[o.__class__.__name__]+" ")\n self.traverse(e)\n \n boolops={"And":"and","Or":"or"}\n boolop_precedence={"and":_Precedence.AND,"or":_Precedence.OR}\n \n def visit_BoolOp(self,node):\n operator=self.boolops[node.op.__class__.__name__]\n operator_precedence=self.boolop_precedence[operator]\n \n def increasing_level_traverse(node):\n nonlocal operator_precedence\n operator_precedence=operator_precedence.next()\n self.set_precedence(operator_precedence,node)\n self.traverse(node)\n \n with self.require_parens(operator_precedence,node):\n s=f" {operator} "\n self.interleave(lambda:self.write(s),increasing_level_traverse,node.values)\n \n def visit_Attribute(self,node):\n self.set_precedence(_Precedence.ATOM,node.value)\n self.traverse(node.value)\n \n \n \n if isinstance(node.value,Constant)and isinstance(node.value.value,int):\n self.write(" ")\n self.write(".")\n self.write(node.attr)\n \n def visit_Call(self,node):\n self.set_precedence(_Precedence.ATOM,node.func)\n self.traverse(node.func)\n with self.delimit("(",")"):\n comma=False\n for e in node.args:\n if comma:\n self.write(", ")\n else:\n comma=True\n self.traverse(e)\n for e in node.keywords:\n if comma:\n self.write(", ")\n else:\n comma=True\n self.traverse(e)\n \n def visit_Subscript(self,node):\n def is_non_empty_tuple(slice_value):\n return(\n isinstance(slice_value,Tuple)\n and slice_value.elts\n )\n \n self.set_precedence(_Precedence.ATOM,node.value)\n self.traverse(node.value)\n with self.delimit("[","]"):\n if is_non_empty_tuple(node.slice):\n \n self.items_view(self.traverse,node.slice.elts)\n else:\n self.traverse(node.slice)\n \n def visit_Starred(self,node):\n self.write("*")\n self.set_precedence(_Precedence.EXPR,node.value)\n self.traverse(node.value)\n \n def visit_Ellipsis(self,node):\n self.write("...")\n \n def visit_Slice(self,node):\n if node.lower:\n self.traverse(node.lower)\n self.write(":")\n if node.upper:\n self.traverse(node.upper)\n if node.step:\n self.write(":")\n self.traverse(node.step)\n \n def visit_Match(self,node):\n self.fill("match ")\n self.traverse(node.subject)\n with self.block():\n for case in node.cases:\n self.traverse(case)\n \n def visit_arg(self,node):\n self.write(node.arg)\n if node.annotation:\n self.write(": ")\n self.traverse(node.annotation)\n \n def visit_arguments(self,node):\n first=True\n \n all_args=node.posonlyargs+node.args\n defaults=[None]*(len(all_args)-len(node.defaults))+node.defaults\n for index,elements in enumerate(zip(all_args,defaults),1):\n a,d=elements\n if first:\n first=False\n else:\n self.write(", ")\n self.traverse(a)\n if d:\n self.write("=")\n self.traverse(d)\n if index ==len(node.posonlyargs):\n self.write(", /")\n \n \n if node.vararg or node.kwonlyargs:\n if first:\n first=False\n else:\n self.write(", ")\n self.write("*")\n if node.vararg:\n self.write(node.vararg.arg)\n if node.vararg.annotation:\n self.write(": ")\n self.traverse(node.vararg.annotation)\n \n \n if node.kwonlyargs:\n for a,d in zip(node.kwonlyargs,node.kw_defaults):\n self.write(", ")\n self.traverse(a)\n if d:\n self.write("=")\n self.traverse(d)\n \n \n if node.kwarg:\n if first:\n first=False\n else:\n self.write(", ")\n self.write("**"+node.kwarg.arg)\n if node.kwarg.annotation:\n self.write(": ")\n self.traverse(node.kwarg.annotation)\n \n def visit_keyword(self,node):\n if node.arg is None:\n self.write("**")\n else:\n self.write(node.arg)\n self.write("=")\n self.traverse(node.value)\n \n def visit_Lambda(self,node):\n with self.require_parens(_Precedence.TEST,node):\n self.write("lambda")\n with self.buffered()as buffer:\n self.traverse(node.args)\n if buffer:\n self.write(" ",*buffer)\n self.write(": ")\n self.set_precedence(_Precedence.TEST,node.body)\n self.traverse(node.body)\n \n def visit_alias(self,node):\n self.write(node.name)\n if node.asname:\n self.write(" as "+node.asname)\n \n def visit_withitem(self,node):\n self.traverse(node.context_expr)\n if node.optional_vars:\n self.write(" as ")\n self.traverse(node.optional_vars)\n \n def visit_match_case(self,node):\n self.fill("case ")\n self.traverse(node.pattern)\n if node.guard:\n self.write(" if ")\n self.traverse(node.guard)\n with self.block():\n self.traverse(node.body)\n \n def visit_MatchValue(self,node):\n self.traverse(node.value)\n \n def visit_MatchSingleton(self,node):\n self._write_constant(node.value)\n \n def visit_MatchSequence(self,node):\n with self.delimit("[","]"):\n self.interleave(\n lambda:self.write(", "),self.traverse,node.patterns\n )\n \n def visit_MatchStar(self,node):\n name=node.name\n if name is None:\n name="_"\n self.write(f"*{name}")\n \n def visit_MatchMapping(self,node):\n def write_key_pattern_pair(pair):\n k,p=pair\n self.traverse(k)\n self.write(": ")\n self.traverse(p)\n \n with self.delimit("{","}"):\n keys=node.keys\n self.interleave(\n lambda:self.write(", "),\n write_key_pattern_pair,\n zip(keys,node.patterns,strict=True),\n )\n rest=node.rest\n if rest is not None:\n if keys:\n self.write(", ")\n self.write(f"**{rest}")\n \n def visit_MatchClass(self,node):\n self.set_precedence(_Precedence.ATOM,node.cls)\n self.traverse(node.cls)\n with self.delimit("(",")"):\n patterns=node.patterns\n self.interleave(\n lambda:self.write(", "),self.traverse,patterns\n )\n attrs=node.kwd_attrs\n if attrs:\n def write_attr_pattern(pair):\n attr,pattern=pair\n self.write(f"{attr}=")\n self.traverse(pattern)\n \n if patterns:\n self.write(", ")\n self.interleave(\n lambda:self.write(", "),\n write_attr_pattern,\n zip(attrs,node.kwd_patterns,strict=True),\n )\n \n def visit_MatchAs(self,node):\n name=node.name\n pattern=node.pattern\n if name is None:\n self.write("_")\n elif pattern is None:\n self.write(node.name)\n else:\n with self.require_parens(_Precedence.TEST,node):\n self.set_precedence(_Precedence.BOR,node.pattern)\n self.traverse(node.pattern)\n self.write(f" as {node.name}")\n \n def visit_MatchOr(self,node):\n with self.require_parens(_Precedence.BOR,node):\n self.set_precedence(_Precedence.BOR.next(),*node.patterns)\n self.interleave(lambda:self.write(" | "),self.traverse,node.patterns)\n \ndef unparse(ast_obj):\n unparser=_Unparser()\n return unparser.visit(ast_obj)\n \n \n_deprecated_globals={\nname:globals().pop(name)\nfor name in(\'Num\',\'Str\',\'Bytes\',\'NameConstant\',\'Ellipsis\')\n}\n\ndef __getattr__(name):\n if name in _deprecated_globals:\n globals()[name]=value=_deprecated_globals[name]\n import warnings\n warnings._deprecated(\n f"ast.{name}",message=_DEPRECATED_CLASS_MESSAGE,remove=(3,14)\n )\n return value\n raise AttributeError(f"module \'ast\' has no attribute \'{name}\'")\n \n \ndef main():\n import argparse\n \n parser=argparse.ArgumentParser(prog=\'python -m ast\')\n parser.add_argument(\'infile\',type=argparse.FileType(mode=\'rb\'),nargs=\'?\',\n default=\'-\',\n help=\'the file to parse; defaults to stdin\')\n parser.add_argument(\'-m\',\'--mode\',default=\'exec\',\n choices=(\'exec\',\'single\',\'eval\',\'func_type\'),\n help=\'specify what kind of code must be parsed\')\n parser.add_argument(\'--no-type-comments\',default=True,action=\'store_false\',\n help="don\'t add information about type comments")\n parser.add_argument(\'-a\',\'--include-attributes\',action=\'store_true\',\n help=\'include attributes such as line numbers and \'\n \'column offsets\')\n parser.add_argument(\'-i\',\'--indent\',type=int,default=3,\n help=\'indentation of nodes (number of spaces)\')\n args=parser.parse_args()\n \n with args.infile as infile:\n source=infile.read()\n tree=parse(source,args.infile.name,args.mode,type_comments=args.no_type_comments)\n print(dump(tree,include_attributes=args.include_attributes,indent=args.indent))\n \nif __name__ ==\'__main__\':\n main()\n',["_ast","argparse","collections","contextlib","enum","inspect","re","sys","warnings"]],asyncio:[".py",'print(\'Brython implementation of asyncio is present to avoid ImportError \'+\n\'in some modules, but does not implement the asyncio features \'+\n\'because of browser limitations.\\nFor asynchronous programming, use \'+\n\'browser.aio instead\')\n\nALL_COMPLETED="""ALL_COMPLETED"""\n\n\nclass AbstractEventLoop:\n\n __module__="""asyncio.events"""\n \n def _timer_handle_cancelled(*args,**kw):\n pass\n \n def add_reader(*args,**kw):\n pass\n \n def add_signal_handler(*args,**kw):\n pass\n \n def add_writer(*args,**kw):\n pass\n \n def call_at(*args,**kw):\n pass\n \n def call_exception_handler(*args,**kw):\n pass\n \n def call_later(*args,**kw):\n pass\n \n def call_soon(*args,**kw):\n pass\n \n def call_soon_threadsafe(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def connect_accepted_socket(*args,**kw):\n pass\n \n def connect_read_pipe(*args,**kw):\n pass\n \n def connect_write_pipe(*args,**kw):\n pass\n \n def create_connection(*args,**kw):\n pass\n \n def create_datagram_endpoint(*args,**kw):\n pass\n \n def create_future(*args,**kw):\n pass\n \n def create_server(*args,**kw):\n pass\n \n def create_task(*args,**kw):\n pass\n \n def create_unix_connection(*args,**kw):\n pass\n \n def create_unix_server(*args,**kw):\n pass\n \n def default_exception_handler(*args,**kw):\n pass\n \n def get_debug(*args,**kw):\n pass\n \n def get_exception_handler(*args,**kw):\n pass\n \n def get_task_factory(*args,**kw):\n pass\n \n def getaddrinfo(*args,**kw):\n pass\n \n def getnameinfo(*args,**kw):\n pass\n \n def is_closed(*args,**kw):\n pass\n \n def is_running(*args,**kw):\n pass\n \n def remove_reader(*args,**kw):\n pass\n \n def remove_signal_handler(*args,**kw):\n pass\n \n def remove_writer(*args,**kw):\n pass\n \n def run_forever(*args,**kw):\n pass\n \n def run_in_executor(*args,**kw):\n pass\n \n def run_until_complete(*args,**kw):\n pass\n \n def sendfile(*args,**kw):\n pass\n \n def set_debug(*args,**kw):\n pass\n \n def set_default_executor(*args,**kw):\n pass\n \n def set_exception_handler(*args,**kw):\n pass\n \n def set_task_factory(*args,**kw):\n pass\n \n def shutdown_asyncgens(*args,**kw):\n pass\n \n def shutdown_default_executor(*args,**kw):\n pass\n \n def sock_accept(*args,**kw):\n pass\n \n def sock_connect(*args,**kw):\n pass\n \n def sock_recv(*args,**kw):\n pass\n \n def sock_recv_into(*args,**kw):\n pass\n \n def sock_recvfrom(*args,**kw):\n pass\n \n def sock_recvfrom_into(*args,**kw):\n pass\n \n def sock_sendall(*args,**kw):\n pass\n \n def sock_sendfile(*args,**kw):\n pass\n \n def sock_sendto(*args,**kw):\n pass\n \n def start_tls(*args,**kw):\n pass\n \n def stop(*args,**kw):\n pass\n \n def subprocess_exec(*args,**kw):\n pass\n \n def subprocess_shell(*args,**kw):\n pass\n \n def time(*args,**kw):\n pass\n \nclass AbstractEventLoopPolicy:\n\n __module__="""asyncio.events"""\n \n def get_child_watcher(*args,**kw):\n pass\n \n def get_event_loop(*args,**kw):\n pass\n \n def new_event_loop(*args,**kw):\n pass\n \n def set_child_watcher(*args,**kw):\n pass\n \n def set_event_loop(*args,**kw):\n pass\n \nclass AbstractServer:\n\n __module__="""asyncio.events"""\n \n def close(*args,**kw):\n pass\n \n def get_loop(*args,**kw):\n pass\n \n def is_serving(*args,**kw):\n pass\n \n def serve_forever(*args,**kw):\n pass\n \n def start_serving(*args,**kw):\n pass\n \n def wait_closed(*args,**kw):\n pass\n \nclass Barrier:\n\n __module__="""asyncio.locks"""\n \n def _block(*args,**kw):\n pass\n \n def _exit(*args,**kw):\n pass\n \n def _get_loop(*args,**kw):\n pass\n \n _loop=None\n \n def _release(*args,**kw):\n pass\n \n def _wait(*args,**kw):\n pass\n \n def abort(*args,**kw):\n pass\n \n broken=""\n \n n_waiting=""\n \n parties=""\n \n def reset(*args,**kw):\n pass\n \n def wait(*args,**kw):\n pass\n \nclass BaseEventLoop:\n\n __module__="""asyncio.base_events"""\n \n def _add_callback(*args,**kw):\n pass\n \n def _add_callback_signalsafe(*args,**kw):\n pass\n \n def _asyncgen_finalizer_hook(*args,**kw):\n pass\n \n def _asyncgen_firstiter_hook(*args,**kw):\n pass\n \n def _call_soon(*args,**kw):\n pass\n \n def _check_callback(*args,**kw):\n pass\n \n def _check_closed(*args,**kw):\n pass\n \n def _check_default_executor(*args,**kw):\n pass\n \n def _check_running(*args,**kw):\n pass\n \n def _check_sendfile_params(*args,**kw):\n pass\n \n def _check_thread(*args,**kw):\n pass\n \n def _connect_sock(*args,**kw):\n pass\n \n def _create_connection_transport(*args,**kw):\n pass\n \n def _create_server_getaddrinfo(*args,**kw):\n pass\n \n def _do_shutdown(*args,**kw):\n pass\n \n def _ensure_resolved(*args,**kw):\n pass\n \n def _getaddrinfo_debug(*args,**kw):\n pass\n \n def _log_subprocess(*args,**kw):\n pass\n \n def _make_datagram_transport(*args,**kw):\n pass\n \n def _make_read_pipe_transport(*args,**kw):\n pass\n \n def _make_socket_transport(*args,**kw):\n pass\n \n def _make_ssl_transport(*args,**kw):\n pass\n \n def _make_subprocess_transport(*args,**kw):\n pass\n \n def _make_write_pipe_transport(*args,**kw):\n pass\n \n def _process_events(*args,**kw):\n pass\n \n def _run_once(*args,**kw):\n pass\n \n def _sendfile_fallback(*args,**kw):\n pass\n \n def _sendfile_native(*args,**kw):\n pass\n \n def _set_coroutine_origin_tracking(*args,**kw):\n pass\n \n def _sock_sendfile_fallback(*args,**kw):\n pass\n \n def _sock_sendfile_native(*args,**kw):\n pass\n \n def _timer_handle_cancelled(*args,**kw):\n pass\n \n def _write_to_self(*args,**kw):\n pass\n \n def add_reader(*args,**kw):\n pass\n \n def add_signal_handler(*args,**kw):\n pass\n \n def add_writer(*args,**kw):\n pass\n \n def call_at(*args,**kw):\n pass\n \n def call_exception_handler(*args,**kw):\n pass\n \n def call_later(*args,**kw):\n pass\n \n def call_soon(*args,**kw):\n pass\n \n def call_soon_threadsafe(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def connect_accepted_socket(*args,**kw):\n pass\n \n def connect_read_pipe(*args,**kw):\n pass\n \n def connect_write_pipe(*args,**kw):\n pass\n \n def create_connection(*args,**kw):\n pass\n \n def create_datagram_endpoint(*args,**kw):\n pass\n \n def create_future(*args,**kw):\n pass\n \n def create_server(*args,**kw):\n pass\n \n def create_task(*args,**kw):\n pass\n \n def create_unix_connection(*args,**kw):\n pass\n \n def create_unix_server(*args,**kw):\n pass\n \n def default_exception_handler(*args,**kw):\n pass\n \n def get_debug(*args,**kw):\n pass\n \n def get_exception_handler(*args,**kw):\n pass\n \n def get_task_factory(*args,**kw):\n pass\n \n def getaddrinfo(*args,**kw):\n pass\n \n def getnameinfo(*args,**kw):\n pass\n \n def is_closed(*args,**kw):\n pass\n \n def is_running(*args,**kw):\n pass\n \n def remove_reader(*args,**kw):\n pass\n \n def remove_signal_handler(*args,**kw):\n pass\n \n def remove_writer(*args,**kw):\n pass\n \n def run_forever(*args,**kw):\n pass\n \n def run_in_executor(*args,**kw):\n pass\n \n def run_until_complete(*args,**kw):\n pass\n \n def sendfile(*args,**kw):\n pass\n \n def set_debug(*args,**kw):\n pass\n \n def set_default_executor(*args,**kw):\n pass\n \n def set_exception_handler(*args,**kw):\n pass\n \n def set_task_factory(*args,**kw):\n pass\n \n def shutdown_asyncgens(*args,**kw):\n pass\n \n def shutdown_default_executor(*args,**kw):\n pass\n \n def sock_accept(*args,**kw):\n pass\n \n def sock_connect(*args,**kw):\n pass\n \n def sock_recv(*args,**kw):\n pass\n \n def sock_recv_into(*args,**kw):\n pass\n \n def sock_recvfrom(*args,**kw):\n pass\n \n def sock_recvfrom_into(*args,**kw):\n pass\n \n def sock_sendall(*args,**kw):\n pass\n \n def sock_sendfile(*args,**kw):\n pass\n \n def sock_sendto(*args,**kw):\n pass\n \n def start_tls(*args,**kw):\n pass\n \n def stop(*args,**kw):\n pass\n \n def subprocess_exec(*args,**kw):\n pass\n \n def subprocess_shell(*args,**kw):\n pass\n \n def time(*args,**kw):\n pass\n \nclass BaseProtocol:\n\n __module__="""asyncio.protocols"""\n \n def connection_lost(*args,**kw):\n pass\n \n def connection_made(*args,**kw):\n pass\n \n def pause_writing(*args,**kw):\n pass\n \n def resume_writing(*args,**kw):\n pass\n \nclass BaseTransport:\n\n __module__="""asyncio.transports"""\n \n _extra=""\n \n def close(*args,**kw):\n pass\n \n def get_extra_info(*args,**kw):\n pass\n \n def get_protocol(*args,**kw):\n pass\n \n def is_closing(*args,**kw):\n pass\n \n def set_protocol(*args,**kw):\n pass\n \nclass BoundedSemaphore:\n\n __module__="""asyncio.locks"""\n \n def _get_loop(*args,**kw):\n pass\n \n _loop=None\n \n def _wake_up_next(*args,**kw):\n pass\n \n def acquire(*args,**kw):\n pass\n \n def locked(*args,**kw):\n pass\n \n def release(*args,**kw):\n pass\n \nclass BrokenBarrierError:\n\n __module__="""asyncio.exceptions"""\n \n add_note=""\n \n args=""\n \n with_traceback=""\n \nclass BufferedProtocol:\n\n __module__="""asyncio.protocols"""\n \n def buffer_updated(*args,**kw):\n pass\n \n def connection_lost(*args,**kw):\n pass\n \n def connection_made(*args,**kw):\n pass\n \n def eof_received(*args,**kw):\n pass\n \n def get_buffer(*args,**kw):\n pass\n \n def pause_writing(*args,**kw):\n pass\n \n def resume_writing(*args,**kw):\n pass\n \nclass CancelledError:\n\n __module__="""asyncio.exceptions"""\n \n add_note=""\n \n args=""\n \n with_traceback=""\n \nclass Condition:\n\n __module__="""asyncio.locks"""\n \n def _get_loop(*args,**kw):\n pass\n \n _loop=None\n \n def notify(*args,**kw):\n pass\n \n def notify_all(*args,**kw):\n pass\n \n def wait(*args,**kw):\n pass\n \n def wait_for(*args,**kw):\n pass\n \nclass DatagramProtocol:\n\n __module__="""asyncio.protocols"""\n \n def connection_lost(*args,**kw):\n pass\n \n def connection_made(*args,**kw):\n pass\n \n def datagram_received(*args,**kw):\n pass\n \n def error_received(*args,**kw):\n pass\n \n def pause_writing(*args,**kw):\n pass\n \n def resume_writing(*args,**kw):\n pass\n \nclass DatagramTransport:\n\n __module__="""asyncio.transports"""\n \n _extra=""\n \n def abort(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def get_extra_info(*args,**kw):\n pass\n \n def get_protocol(*args,**kw):\n pass\n \n def is_closing(*args,**kw):\n pass\n \n def sendto(*args,**kw):\n pass\n \n def set_protocol(*args,**kw):\n pass\n \nclass DefaultEventLoopPolicy:\n\n\n class _Local:\n \n __module__="""asyncio.events"""\n \n _loop=None\n \n _set_called=False\n __module__="""asyncio.windows_events"""\n \n \n class _loop_factory:\n \n __module__="""asyncio.windows_events"""\n \n def _add_callback(*args,**kw):\n pass\n \n def _add_callback_signalsafe(*args,**kw):\n pass\n \n def _asyncgen_finalizer_hook(*args,**kw):\n pass\n \n def _asyncgen_firstiter_hook(*args,**kw):\n pass\n \n def _call_soon(*args,**kw):\n pass\n \n def _check_callback(*args,**kw):\n pass\n \n def _check_closed(*args,**kw):\n pass\n \n def _check_default_executor(*args,**kw):\n pass\n \n def _check_running(*args,**kw):\n pass\n \n def _check_sendfile_params(*args,**kw):\n pass\n \n def _check_thread(*args,**kw):\n pass\n \n def _close_self_pipe(*args,**kw):\n pass\n \n def _connect_sock(*args,**kw):\n pass\n \n def _create_connection_transport(*args,**kw):\n pass\n \n def _create_server_getaddrinfo(*args,**kw):\n pass\n \n def _do_shutdown(*args,**kw):\n pass\n \n def _ensure_resolved(*args,**kw):\n pass\n \n def _getaddrinfo_debug(*args,**kw):\n pass\n \n def _log_subprocess(*args,**kw):\n pass\n \n def _loop_self_reading(*args,**kw):\n pass\n \n def _make_datagram_transport(*args,**kw):\n pass\n \n def _make_duplex_pipe_transport(*args,**kw):\n pass\n \n def _make_read_pipe_transport(*args,**kw):\n pass\n \n def _make_self_pipe(*args,**kw):\n pass\n \n def _make_socket_transport(*args,**kw):\n pass\n \n def _make_ssl_transport(*args,**kw):\n pass\n \n def _make_subprocess_transport(*args,**kw):\n pass\n \n def _make_write_pipe_transport(*args,**kw):\n pass\n \n def _process_events(*args,**kw):\n pass\n \n def _run_once(*args,**kw):\n pass\n \n def _sendfile_fallback(*args,**kw):\n pass\n \n def _sendfile_native(*args,**kw):\n pass\n \n def _set_coroutine_origin_tracking(*args,**kw):\n pass\n \n def _sock_sendfile_fallback(*args,**kw):\n pass\n \n def _sock_sendfile_native(*args,**kw):\n pass\n \n def _start_serving(*args,**kw):\n pass\n \n def _stop_accept_futures(*args,**kw):\n pass\n \n def _stop_serving(*args,**kw):\n pass\n \n def _timer_handle_cancelled(*args,**kw):\n pass\n \n def _write_to_self(*args,**kw):\n pass\n \n def add_reader(*args,**kw):\n pass\n \n def add_signal_handler(*args,**kw):\n pass\n \n def add_writer(*args,**kw):\n pass\n \n def call_at(*args,**kw):\n pass\n \n def call_exception_handler(*args,**kw):\n pass\n \n def call_later(*args,**kw):\n pass\n \n def call_soon(*args,**kw):\n pass\n \n def call_soon_threadsafe(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def connect_accepted_socket(*args,**kw):\n pass\n \n def connect_read_pipe(*args,**kw):\n pass\n \n def connect_write_pipe(*args,**kw):\n pass\n \n def create_connection(*args,**kw):\n pass\n \n def create_datagram_endpoint(*args,**kw):\n pass\n \n def create_future(*args,**kw):\n pass\n \n def create_pipe_connection(*args,**kw):\n pass\n \n def create_server(*args,**kw):\n pass\n \n def create_task(*args,**kw):\n pass\n \n def create_unix_connection(*args,**kw):\n pass\n \n def create_unix_server(*args,**kw):\n pass\n \n def default_exception_handler(*args,**kw):\n pass\n \n def get_debug(*args,**kw):\n pass\n \n def get_exception_handler(*args,**kw):\n pass\n \n def get_task_factory(*args,**kw):\n pass\n \n def getaddrinfo(*args,**kw):\n pass\n \n def getnameinfo(*args,**kw):\n pass\n \n def is_closed(*args,**kw):\n pass\n \n def is_running(*args,**kw):\n pass\n \n def remove_reader(*args,**kw):\n pass\n \n def remove_signal_handler(*args,**kw):\n pass\n \n def remove_writer(*args,**kw):\n pass\n \n def run_forever(*args,**kw):\n pass\n \n def run_in_executor(*args,**kw):\n pass\n \n def run_until_complete(*args,**kw):\n pass\n \n def sendfile(*args,**kw):\n pass\n \n def set_debug(*args,**kw):\n pass\n \n def set_default_executor(*args,**kw):\n pass\n \n def set_exception_handler(*args,**kw):\n pass\n \n def set_task_factory(*args,**kw):\n pass\n \n def shutdown_asyncgens(*args,**kw):\n pass\n \n def shutdown_default_executor(*args,**kw):\n pass\n \n def sock_accept(*args,**kw):\n pass\n \n def sock_connect(*args,**kw):\n pass\n \n def sock_recv(*args,**kw):\n pass\n \n def sock_recv_into(*args,**kw):\n pass\n \n def sock_recvfrom(*args,**kw):\n pass\n \n def sock_recvfrom_into(*args,**kw):\n pass\n \n def sock_sendall(*args,**kw):\n pass\n \n def sock_sendfile(*args,**kw):\n pass\n \n def sock_sendto(*args,**kw):\n pass\n \n def start_serving_pipe(*args,**kw):\n pass\n \n def start_tls(*args,**kw):\n pass\n \n def stop(*args,**kw):\n pass\n \n def subprocess_exec(*args,**kw):\n pass\n \n def subprocess_shell(*args,**kw):\n pass\n \n def time(*args,**kw):\n pass\n def get_child_watcher(*args,**kw):\n pass\n \n def get_event_loop(*args,**kw):\n pass\n \n def new_event_loop(*args,**kw):\n pass\n \n def set_child_watcher(*args,**kw):\n pass\n \n def set_event_loop(*args,**kw):\n pass\n \nclass Event:\n\n __module__="""asyncio.locks"""\n \n def _get_loop(*args,**kw):\n pass\n \n _loop=None\n \n def clear(*args,**kw):\n pass\n \n def is_set(*args,**kw):\n pass\n \n def set(*args,**kw):\n pass\n \n def wait(*args,**kw):\n pass\nFIRST_COMPLETED="""FIRST_COMPLETED"""\n\nFIRST_EXCEPTION="""FIRST_EXCEPTION"""\n\n\nclass Future:\n\n _asyncio_future_blocking=""\n \n _callbacks=""\n \n _cancel_message=""\n \n _exception=""\n \n _log_traceback=""\n \n _loop=""\n \n _make_cancelled_error=""\n \n _result=""\n \n _source_traceback=""\n \n _state=""\n \n add_done_callback=""\n \n cancel=""\n \n cancelled=""\n \n done=""\n \n exception=""\n \n get_loop=""\n \n remove_done_callback=""\n \n result=""\n \n set_exception=""\n \n set_result=""\n \nclass Handle:\n\n __module__="""asyncio.events"""\n \n _args=""\n \n _callback=""\n \n _cancelled=""\n \n _context=""\n \n _loop=""\n \n _repr=""\n \n def _repr_info(*args,**kw):\n pass\n \n def _run(*args,**kw):\n pass\n \n _source_traceback=""\n \n def cancel(*args,**kw):\n pass\n \n def cancelled(*args,**kw):\n pass\n \nclass IncompleteReadError:\n\n __module__="""asyncio.exceptions"""\n \n add_note=""\n \n args=""\n \n with_traceback=""\n \nclass InvalidStateError:\n\n __module__="""asyncio.exceptions"""\n \n add_note=""\n \n args=""\n \n with_traceback=""\n \nclass IocpProactor:\n\n __module__="""asyncio.windows_events"""\n \n def _check_closed(*args,**kw):\n pass\n \n def _get_accept_socket(*args,**kw):\n pass\n \n def _poll(*args,**kw):\n pass\n \n def _register(*args,**kw):\n pass\n \n def _register_with_iocp(*args,**kw):\n pass\n \n def _result(*args,**kw):\n pass\n \n def _stop_serving(*args,**kw):\n pass\n \n def _unregister(*args,**kw):\n pass\n \n def _wait_cancel(*args,**kw):\n pass\n \n def _wait_for_handle(*args,**kw):\n pass\n \n def accept(*args,**kw):\n pass\n \n def accept_pipe(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def connect(*args,**kw):\n pass\n \n def connect_pipe(*args,**kw):\n pass\n \n def recv(*args,**kw):\n pass\n \n def recv_into(*args,**kw):\n pass\n \n def recvfrom(*args,**kw):\n pass\n \n def recvfrom_into(*args,**kw):\n pass\n \n def select(*args,**kw):\n pass\n \n def send(*args,**kw):\n pass\n \n def sendfile(*args,**kw):\n pass\n \n def sendto(*args,**kw):\n pass\n \n def set_loop(*args,**kw):\n pass\n \n def wait_for_handle(*args,**kw):\n pass\n \nclass LifoQueue:\n\n __module__="""asyncio.queues"""\n \n def _format(*args,**kw):\n pass\n \n def _get(*args,**kw):\n pass\n \n def _get_loop(*args,**kw):\n pass\n \n def _init(*args,**kw):\n pass\n \n _loop=None\n \n def _put(*args,**kw):\n pass\n \n def _wakeup_next(*args,**kw):\n pass\n \n def empty(*args,**kw):\n pass\n \n def full(*args,**kw):\n pass\n \n def get(*args,**kw):\n pass\n \n def get_nowait(*args,**kw):\n pass\n \n def join(*args,**kw):\n pass\n \n maxsize=""\n \n def put(*args,**kw):\n pass\n \n def put_nowait(*args,**kw):\n pass\n \n def qsize(*args,**kw):\n pass\n \n def task_done(*args,**kw):\n pass\n \nclass LimitOverrunError:\n\n __module__="""asyncio.exceptions"""\n \n add_note=""\n \n args=""\n \n with_traceback=""\n \nclass Lock:\n\n __module__="""asyncio.locks"""\n \n def _get_loop(*args,**kw):\n pass\n \n _loop=None\n \n def _wake_up_first(*args,**kw):\n pass\n \n def acquire(*args,**kw):\n pass\n \n def locked(*args,**kw):\n pass\n \n def release(*args,**kw):\n pass\n \nclass PriorityQueue:\n\n __module__="""asyncio.queues"""\n \n def _format(*args,**kw):\n pass\n \n def _get(*args,**kw):\n pass\n \n def _get_loop(*args,**kw):\n pass\n \n def _init(*args,**kw):\n pass\n \n _loop=None\n \n def _put(*args,**kw):\n pass\n \n def _wakeup_next(*args,**kw):\n pass\n \n def empty(*args,**kw):\n pass\n \n def full(*args,**kw):\n pass\n \n def get(*args,**kw):\n pass\n \n def get_nowait(*args,**kw):\n pass\n \n def join(*args,**kw):\n pass\n \n maxsize=""\n \n def put(*args,**kw):\n pass\n \n def put_nowait(*args,**kw):\n pass\n \n def qsize(*args,**kw):\n pass\n \n def task_done(*args,**kw):\n pass\n \nclass ProactorEventLoop:\n\n __module__="""asyncio.windows_events"""\n \n def _add_callback(*args,**kw):\n pass\n \n def _add_callback_signalsafe(*args,**kw):\n pass\n \n def _asyncgen_finalizer_hook(*args,**kw):\n pass\n \n def _asyncgen_firstiter_hook(*args,**kw):\n pass\n \n def _call_soon(*args,**kw):\n pass\n \n def _check_callback(*args,**kw):\n pass\n \n def _check_closed(*args,**kw):\n pass\n \n def _check_default_executor(*args,**kw):\n pass\n \n def _check_running(*args,**kw):\n pass\n \n def _check_sendfile_params(*args,**kw):\n pass\n \n def _check_thread(*args,**kw):\n pass\n \n def _close_self_pipe(*args,**kw):\n pass\n \n def _connect_sock(*args,**kw):\n pass\n \n def _create_connection_transport(*args,**kw):\n pass\n \n def _create_server_getaddrinfo(*args,**kw):\n pass\n \n def _do_shutdown(*args,**kw):\n pass\n \n def _ensure_resolved(*args,**kw):\n pass\n \n def _getaddrinfo_debug(*args,**kw):\n pass\n \n def _log_subprocess(*args,**kw):\n pass\n \n def _loop_self_reading(*args,**kw):\n pass\n \n def _make_datagram_transport(*args,**kw):\n pass\n \n def _make_duplex_pipe_transport(*args,**kw):\n pass\n \n def _make_read_pipe_transport(*args,**kw):\n pass\n \n def _make_self_pipe(*args,**kw):\n pass\n \n def _make_socket_transport(*args,**kw):\n pass\n \n def _make_ssl_transport(*args,**kw):\n pass\n \n def _make_subprocess_transport(*args,**kw):\n pass\n \n def _make_write_pipe_transport(*args,**kw):\n pass\n \n def _process_events(*args,**kw):\n pass\n \n def _run_once(*args,**kw):\n pass\n \n def _sendfile_fallback(*args,**kw):\n pass\n \n def _sendfile_native(*args,**kw):\n pass\n \n def _set_coroutine_origin_tracking(*args,**kw):\n pass\n \n def _sock_sendfile_fallback(*args,**kw):\n pass\n \n def _sock_sendfile_native(*args,**kw):\n pass\n \n def _start_serving(*args,**kw):\n pass\n \n def _stop_accept_futures(*args,**kw):\n pass\n \n def _stop_serving(*args,**kw):\n pass\n \n def _timer_handle_cancelled(*args,**kw):\n pass\n \n def _write_to_self(*args,**kw):\n pass\n \n def add_reader(*args,**kw):\n pass\n \n def add_signal_handler(*args,**kw):\n pass\n \n def add_writer(*args,**kw):\n pass\n \n def call_at(*args,**kw):\n pass\n \n def call_exception_handler(*args,**kw):\n pass\n \n def call_later(*args,**kw):\n pass\n \n def call_soon(*args,**kw):\n pass\n \n def call_soon_threadsafe(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def connect_accepted_socket(*args,**kw):\n pass\n \n def connect_read_pipe(*args,**kw):\n pass\n \n def connect_write_pipe(*args,**kw):\n pass\n \n def create_connection(*args,**kw):\n pass\n \n def create_datagram_endpoint(*args,**kw):\n pass\n \n def create_future(*args,**kw):\n pass\n \n def create_pipe_connection(*args,**kw):\n pass\n \n def create_server(*args,**kw):\n pass\n \n def create_task(*args,**kw):\n pass\n \n def create_unix_connection(*args,**kw):\n pass\n \n def create_unix_server(*args,**kw):\n pass\n \n def default_exception_handler(*args,**kw):\n pass\n \n def get_debug(*args,**kw):\n pass\n \n def get_exception_handler(*args,**kw):\n pass\n \n def get_task_factory(*args,**kw):\n pass\n \n def getaddrinfo(*args,**kw):\n pass\n \n def getnameinfo(*args,**kw):\n pass\n \n def is_closed(*args,**kw):\n pass\n \n def is_running(*args,**kw):\n pass\n \n def remove_reader(*args,**kw):\n pass\n \n def remove_signal_handler(*args,**kw):\n pass\n \n def remove_writer(*args,**kw):\n pass\n \n def run_forever(*args,**kw):\n pass\n \n def run_in_executor(*args,**kw):\n pass\n \n def run_until_complete(*args,**kw):\n pass\n \n def sendfile(*args,**kw):\n pass\n \n def set_debug(*args,**kw):\n pass\n \n def set_default_executor(*args,**kw):\n pass\n \n def set_exception_handler(*args,**kw):\n pass\n \n def set_task_factory(*args,**kw):\n pass\n \n def shutdown_asyncgens(*args,**kw):\n pass\n \n def shutdown_default_executor(*args,**kw):\n pass\n \n def sock_accept(*args,**kw):\n pass\n \n def sock_connect(*args,**kw):\n pass\n \n def sock_recv(*args,**kw):\n pass\n \n def sock_recv_into(*args,**kw):\n pass\n \n def sock_recvfrom(*args,**kw):\n pass\n \n def sock_recvfrom_into(*args,**kw):\n pass\n \n def sock_sendall(*args,**kw):\n pass\n \n def sock_sendfile(*args,**kw):\n pass\n \n def sock_sendto(*args,**kw):\n pass\n \n def start_serving_pipe(*args,**kw):\n pass\n \n def start_tls(*args,**kw):\n pass\n \n def stop(*args,**kw):\n pass\n \n def subprocess_exec(*args,**kw):\n pass\n \n def subprocess_shell(*args,**kw):\n pass\n \n def time(*args,**kw):\n pass\n \nclass Protocol:\n\n __module__="""asyncio.protocols"""\n \n def connection_lost(*args,**kw):\n pass\n \n def connection_made(*args,**kw):\n pass\n \n def data_received(*args,**kw):\n pass\n \n def eof_received(*args,**kw):\n pass\n \n def pause_writing(*args,**kw):\n pass\n \n def resume_writing(*args,**kw):\n pass\n \nclass Queue:\n\n __module__="""asyncio.queues"""\n \n def _format(*args,**kw):\n pass\n \n def _get(*args,**kw):\n pass\n \n def _get_loop(*args,**kw):\n pass\n \n def _init(*args,**kw):\n pass\n \n _loop=None\n \n def _put(*args,**kw):\n pass\n \n def _wakeup_next(*args,**kw):\n pass\n \n def empty(*args,**kw):\n pass\n \n def full(*args,**kw):\n pass\n \n def get(*args,**kw):\n pass\n \n def get_nowait(*args,**kw):\n pass\n \n def join(*args,**kw):\n pass\n \n maxsize=""\n \n def put(*args,**kw):\n pass\n \n def put_nowait(*args,**kw):\n pass\n \n def qsize(*args,**kw):\n pass\n \n def task_done(*args,**kw):\n pass\n \nclass QueueEmpty:\n\n __module__="""asyncio.queues"""\n \n add_note=""\n \n args=""\n \n with_traceback=""\n \nclass QueueFull:\n\n __module__="""asyncio.queues"""\n \n add_note=""\n \n args=""\n \n with_traceback=""\n \nclass ReadTransport:\n\n __module__="""asyncio.transports"""\n \n _extra=""\n \n def close(*args,**kw):\n pass\n \n def get_extra_info(*args,**kw):\n pass\n \n def get_protocol(*args,**kw):\n pass\n \n def is_closing(*args,**kw):\n pass\n \n def is_reading(*args,**kw):\n pass\n \n def pause_reading(*args,**kw):\n pass\n \n def resume_reading(*args,**kw):\n pass\n \n def set_protocol(*args,**kw):\n pass\n \nclass Runner:\n\n __module__="""asyncio.runners"""\n \n def _lazy_init(*args,**kw):\n pass\n \n def _on_sigint(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def get_loop(*args,**kw):\n pass\n \n def run(*args,**kw):\n pass\n \nclass SelectorEventLoop:\n\n __module__="""asyncio.windows_events"""\n \n def _accept_connection(*args,**kw):\n pass\n \n def _accept_connection2(*args,**kw):\n pass\n \n def _add_callback(*args,**kw):\n pass\n \n def _add_callback_signalsafe(*args,**kw):\n pass\n \n def _add_reader(*args,**kw):\n pass\n \n def _add_writer(*args,**kw):\n pass\n \n def _asyncgen_finalizer_hook(*args,**kw):\n pass\n \n def _asyncgen_firstiter_hook(*args,**kw):\n pass\n \n def _call_soon(*args,**kw):\n pass\n \n def _check_callback(*args,**kw):\n pass\n \n def _check_closed(*args,**kw):\n pass\n \n def _check_default_executor(*args,**kw):\n pass\n \n def _check_running(*args,**kw):\n pass\n \n def _check_sendfile_params(*args,**kw):\n pass\n \n def _check_thread(*args,**kw):\n pass\n \n def _close_self_pipe(*args,**kw):\n pass\n \n def _connect_sock(*args,**kw):\n pass\n \n def _create_connection_transport(*args,**kw):\n pass\n \n def _create_server_getaddrinfo(*args,**kw):\n pass\n \n def _do_shutdown(*args,**kw):\n pass\n \n def _ensure_fd_no_transport(*args,**kw):\n pass\n \n def _ensure_resolved(*args,**kw):\n pass\n \n def _getaddrinfo_debug(*args,**kw):\n pass\n \n def _log_subprocess(*args,**kw):\n pass\n \n def _make_datagram_transport(*args,**kw):\n pass\n \n def _make_read_pipe_transport(*args,**kw):\n pass\n \n def _make_self_pipe(*args,**kw):\n pass\n \n def _make_socket_transport(*args,**kw):\n pass\n \n def _make_ssl_transport(*args,**kw):\n pass\n \n def _make_subprocess_transport(*args,**kw):\n pass\n \n def _make_write_pipe_transport(*args,**kw):\n pass\n \n def _process_events(*args,**kw):\n pass\n \n def _process_self_data(*args,**kw):\n pass\n \n def _read_from_self(*args,**kw):\n pass\n \n def _remove_reader(*args,**kw):\n pass\n \n def _remove_writer(*args,**kw):\n pass\n \n def _run_once(*args,**kw):\n pass\n \n def _sendfile_fallback(*args,**kw):\n pass\n \n def _sendfile_native(*args,**kw):\n pass\n \n def _set_coroutine_origin_tracking(*args,**kw):\n pass\n \n def _sock_accept(*args,**kw):\n pass\n \n def _sock_connect(*args,**kw):\n pass\n \n def _sock_connect_cb(*args,**kw):\n pass\n \n def _sock_read_done(*args,**kw):\n pass\n \n def _sock_recv(*args,**kw):\n pass\n \n def _sock_recv_into(*args,**kw):\n pass\n \n def _sock_recvfrom(*args,**kw):\n pass\n \n def _sock_recvfrom_into(*args,**kw):\n pass\n \n def _sock_sendall(*args,**kw):\n pass\n \n def _sock_sendfile_fallback(*args,**kw):\n pass\n \n def _sock_sendfile_native(*args,**kw):\n pass\n \n def _sock_sendto(*args,**kw):\n pass\n \n def _sock_write_done(*args,**kw):\n pass\n \n def _start_serving(*args,**kw):\n pass\n \n def _stop_serving(*args,**kw):\n pass\n \n def _timer_handle_cancelled(*args,**kw):\n pass\n \n def _write_to_self(*args,**kw):\n pass\n \n def add_reader(*args,**kw):\n pass\n \n def add_signal_handler(*args,**kw):\n pass\n \n def add_writer(*args,**kw):\n pass\n \n def call_at(*args,**kw):\n pass\n \n def call_exception_handler(*args,**kw):\n pass\n \n def call_later(*args,**kw):\n pass\n \n def call_soon(*args,**kw):\n pass\n \n def call_soon_threadsafe(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def connect_accepted_socket(*args,**kw):\n pass\n \n def connect_read_pipe(*args,**kw):\n pass\n \n def connect_write_pipe(*args,**kw):\n pass\n \n def create_connection(*args,**kw):\n pass\n \n def create_datagram_endpoint(*args,**kw):\n pass\n \n def create_future(*args,**kw):\n pass\n \n def create_server(*args,**kw):\n pass\n \n def create_task(*args,**kw):\n pass\n \n def create_unix_connection(*args,**kw):\n pass\n \n def create_unix_server(*args,**kw):\n pass\n \n def default_exception_handler(*args,**kw):\n pass\n \n def get_debug(*args,**kw):\n pass\n \n def get_exception_handler(*args,**kw):\n pass\n \n def get_task_factory(*args,**kw):\n pass\n \n def getaddrinfo(*args,**kw):\n pass\n \n def getnameinfo(*args,**kw):\n pass\n \n def is_closed(*args,**kw):\n pass\n \n def is_running(*args,**kw):\n pass\n \n def remove_reader(*args,**kw):\n pass\n \n def remove_signal_handler(*args,**kw):\n pass\n \n def remove_writer(*args,**kw):\n pass\n \n def run_forever(*args,**kw):\n pass\n \n def run_in_executor(*args,**kw):\n pass\n \n def run_until_complete(*args,**kw):\n pass\n \n def sendfile(*args,**kw):\n pass\n \n def set_debug(*args,**kw):\n pass\n \n def set_default_executor(*args,**kw):\n pass\n \n def set_exception_handler(*args,**kw):\n pass\n \n def set_task_factory(*args,**kw):\n pass\n \n def shutdown_asyncgens(*args,**kw):\n pass\n \n def shutdown_default_executor(*args,**kw):\n pass\n \n def sock_accept(*args,**kw):\n pass\n \n def sock_connect(*args,**kw):\n pass\n \n def sock_recv(*args,**kw):\n pass\n \n def sock_recv_into(*args,**kw):\n pass\n \n def sock_recvfrom(*args,**kw):\n pass\n \n def sock_recvfrom_into(*args,**kw):\n pass\n \n def sock_sendall(*args,**kw):\n pass\n \n def sock_sendfile(*args,**kw):\n pass\n \n def sock_sendto(*args,**kw):\n pass\n \n def start_tls(*args,**kw):\n pass\n \n def stop(*args,**kw):\n pass\n \n def subprocess_exec(*args,**kw):\n pass\n \n def subprocess_shell(*args,**kw):\n pass\n \n def time(*args,**kw):\n pass\n \nclass Semaphore:\n\n __module__="""asyncio.locks"""\n \n def _get_loop(*args,**kw):\n pass\n \n _loop=None\n \n def _wake_up_next(*args,**kw):\n pass\n \n def acquire(*args,**kw):\n pass\n \n def locked(*args,**kw):\n pass\n \n def release(*args,**kw):\n pass\n \nclass SendfileNotAvailableError:\n\n __module__="""asyncio.exceptions"""\n \n add_note=""\n \n args=""\n \n with_traceback=""\n \nclass Server:\n\n __module__="""asyncio.base_events"""\n \n def _attach(*args,**kw):\n pass\n \n def _detach(*args,**kw):\n pass\n \n def _start_serving(*args,**kw):\n pass\n \n def _wakeup(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def get_loop(*args,**kw):\n pass\n \n def is_serving(*args,**kw):\n pass\n \n def serve_forever(*args,**kw):\n pass\n \n sockets=""\n \n def start_serving(*args,**kw):\n pass\n \n def wait_closed(*args,**kw):\n pass\n \nclass StreamReader:\n\n __module__="""asyncio.streams"""\n \n def _maybe_resume_transport(*args,**kw):\n pass\n \n _source_traceback=None\n \n def _wait_for_data(*args,**kw):\n pass\n \n def _wakeup_waiter(*args,**kw):\n pass\n \n def at_eof(*args,**kw):\n pass\n \n def exception(*args,**kw):\n pass\n \n def feed_data(*args,**kw):\n pass\n \n def feed_eof(*args,**kw):\n pass\n \n def read(*args,**kw):\n pass\n \n def readexactly(*args,**kw):\n pass\n \n def readline(*args,**kw):\n pass\n \n def readuntil(*args,**kw):\n pass\n \n def set_exception(*args,**kw):\n pass\n \n def set_transport(*args,**kw):\n pass\n \nclass StreamReaderProtocol:\n\n __module__="""asyncio.streams"""\n \n def _drain_helper(*args,**kw):\n pass\n \n def _get_close_waiter(*args,**kw):\n pass\n \n def _replace_writer(*args,**kw):\n pass\n \n _source_traceback=None\n \n _stream_reader=""\n \n def connection_lost(*args,**kw):\n pass\n \n def connection_made(*args,**kw):\n pass\n \n def data_received(*args,**kw):\n pass\n \n def eof_received(*args,**kw):\n pass\n \n def pause_writing(*args,**kw):\n pass\n \n def resume_writing(*args,**kw):\n pass\n \nclass StreamWriter:\n\n __module__="""asyncio.streams"""\n \n def can_write_eof(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def drain(*args,**kw):\n pass\n \n def get_extra_info(*args,**kw):\n pass\n \n def is_closing(*args,**kw):\n pass\n \n def start_tls(*args,**kw):\n pass\n \n transport=""\n \n def wait_closed(*args,**kw):\n pass\n \n def write(*args,**kw):\n pass\n \n def write_eof(*args,**kw):\n pass\n \n def writelines(*args,**kw):\n pass\n \nclass SubprocessProtocol:\n\n __module__="""asyncio.protocols"""\n \n def connection_lost(*args,**kw):\n pass\n \n def connection_made(*args,**kw):\n pass\n \n def pause_writing(*args,**kw):\n pass\n \n def pipe_connection_lost(*args,**kw):\n pass\n \n def pipe_data_received(*args,**kw):\n pass\n \n def process_exited(*args,**kw):\n pass\n \n def resume_writing(*args,**kw):\n pass\n \nclass SubprocessTransport:\n\n __module__="""asyncio.transports"""\n \n _extra=""\n \n def close(*args,**kw):\n pass\n \n def get_extra_info(*args,**kw):\n pass\n \n def get_pid(*args,**kw):\n pass\n \n def get_pipe_transport(*args,**kw):\n pass\n \n def get_protocol(*args,**kw):\n pass\n \n def get_returncode(*args,**kw):\n pass\n \n def is_closing(*args,**kw):\n pass\n \n def kill(*args,**kw):\n pass\n \n def send_signal(*args,**kw):\n pass\n \n def set_protocol(*args,**kw):\n pass\n \n def terminate(*args,**kw):\n pass\n \nclass Task:\n\n _asyncio_future_blocking=""\n \n _callbacks=""\n \n _cancel_message=""\n \n _check_future=""\n \n _coro=""\n \n _exception=""\n \n _fut_waiter=""\n \n _log_destroy_pending=""\n \n _log_traceback=""\n \n _loop=""\n \n _make_cancelled_error=""\n \n _must_cancel=""\n \n _result=""\n \n _source_traceback=""\n \n _state=""\n \n add_done_callback=""\n \n cancel=""\n \n cancelled=""\n \n cancelling=""\n \n done=""\n \n exception=""\n \n get_coro=""\n \n get_loop=""\n \n get_name=""\n \n get_stack=""\n \n print_stack=""\n \n remove_done_callback=""\n \n result=""\n \n set_exception=""\n \n set_name=""\n \n set_result=""\n \n uncancel=""\n \nclass TaskGroup:\n\n __module__="""asyncio.taskgroups"""\n \n def _abort(*args,**kw):\n pass\n \n def _is_base_error(*args,**kw):\n pass\n \n def _on_task_done(*args,**kw):\n pass\n \n def create_task(*args,**kw):\n pass\n \nclass Timeout:\n\n __module__="""asyncio.timeouts"""\n \n def _on_timeout(*args,**kw):\n pass\n \n def expired(*args,**kw):\n pass\n \n def reschedule(*args,**kw):\n pass\n \n def when(*args,**kw):\n pass\n \nclass TimeoutError:\n\n add_note=""\n \n args=""\n \n characters_written=""\n \n errno=""\n \n filename=""\n \n filename2=""\n \n strerror=""\n \n winerror=""\n \n with_traceback=""\n \nclass TimerHandle:\n\n __module__="""asyncio.events"""\n \n _args=""\n \n _callback=""\n \n _cancelled=""\n \n _context=""\n \n _loop=""\n \n _repr=""\n \n def _repr_info(*args,**kw):\n pass\n \n def _run(*args,**kw):\n pass\n \n _scheduled=""\n \n _source_traceback=""\n \n _when=""\n \n def cancel(*args,**kw):\n pass\n \n def cancelled(*args,**kw):\n pass\n \n def when(*args,**kw):\n pass\n \nclass Transport:\n\n __module__="""asyncio.transports"""\n \n _extra=""\n \n def abort(*args,**kw):\n pass\n \n def can_write_eof(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def get_extra_info(*args,**kw):\n pass\n \n def get_protocol(*args,**kw):\n pass\n \n def get_write_buffer_limits(*args,**kw):\n pass\n \n def get_write_buffer_size(*args,**kw):\n pass\n \n def is_closing(*args,**kw):\n pass\n \n def is_reading(*args,**kw):\n pass\n \n def pause_reading(*args,**kw):\n pass\n \n def resume_reading(*args,**kw):\n pass\n \n def set_protocol(*args,**kw):\n pass\n \n def set_write_buffer_limits(*args,**kw):\n pass\n \n def write(*args,**kw):\n pass\n \n def write_eof(*args,**kw):\n pass\n \n def writelines(*args,**kw):\n pass\n \nclass WindowsProactorEventLoopPolicy:\n\n\n class _Local:\n \n __module__="""asyncio.events"""\n \n _loop=None\n \n _set_called=False\n __module__="""asyncio.windows_events"""\n \n \n class _loop_factory:\n \n __module__="""asyncio.windows_events"""\n \n def _add_callback(*args,**kw):\n pass\n \n def _add_callback_signalsafe(*args,**kw):\n pass\n \n def _asyncgen_finalizer_hook(*args,**kw):\n pass\n \n def _asyncgen_firstiter_hook(*args,**kw):\n pass\n \n def _call_soon(*args,**kw):\n pass\n \n def _check_callback(*args,**kw):\n pass\n \n def _check_closed(*args,**kw):\n pass\n \n def _check_default_executor(*args,**kw):\n pass\n \n def _check_running(*args,**kw):\n pass\n \n def _check_sendfile_params(*args,**kw):\n pass\n \n def _check_thread(*args,**kw):\n pass\n \n def _close_self_pipe(*args,**kw):\n pass\n \n def _connect_sock(*args,**kw):\n pass\n \n def _create_connection_transport(*args,**kw):\n pass\n \n def _create_server_getaddrinfo(*args,**kw):\n pass\n \n def _do_shutdown(*args,**kw):\n pass\n \n def _ensure_resolved(*args,**kw):\n pass\n \n def _getaddrinfo_debug(*args,**kw):\n pass\n \n def _log_subprocess(*args,**kw):\n pass\n \n def _loop_self_reading(*args,**kw):\n pass\n \n def _make_datagram_transport(*args,**kw):\n pass\n \n def _make_duplex_pipe_transport(*args,**kw):\n pass\n \n def _make_read_pipe_transport(*args,**kw):\n pass\n \n def _make_self_pipe(*args,**kw):\n pass\n \n def _make_socket_transport(*args,**kw):\n pass\n \n def _make_ssl_transport(*args,**kw):\n pass\n \n def _make_subprocess_transport(*args,**kw):\n pass\n \n def _make_write_pipe_transport(*args,**kw):\n pass\n \n def _process_events(*args,**kw):\n pass\n \n def _run_once(*args,**kw):\n pass\n \n def _sendfile_fallback(*args,**kw):\n pass\n \n def _sendfile_native(*args,**kw):\n pass\n \n def _set_coroutine_origin_tracking(*args,**kw):\n pass\n \n def _sock_sendfile_fallback(*args,**kw):\n pass\n \n def _sock_sendfile_native(*args,**kw):\n pass\n \n def _start_serving(*args,**kw):\n pass\n \n def _stop_accept_futures(*args,**kw):\n pass\n \n def _stop_serving(*args,**kw):\n pass\n \n def _timer_handle_cancelled(*args,**kw):\n pass\n \n def _write_to_self(*args,**kw):\n pass\n \n def add_reader(*args,**kw):\n pass\n \n def add_signal_handler(*args,**kw):\n pass\n \n def add_writer(*args,**kw):\n pass\n \n def call_at(*args,**kw):\n pass\n \n def call_exception_handler(*args,**kw):\n pass\n \n def call_later(*args,**kw):\n pass\n \n def call_soon(*args,**kw):\n pass\n \n def call_soon_threadsafe(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def connect_accepted_socket(*args,**kw):\n pass\n \n def connect_read_pipe(*args,**kw):\n pass\n \n def connect_write_pipe(*args,**kw):\n pass\n \n def create_connection(*args,**kw):\n pass\n \n def create_datagram_endpoint(*args,**kw):\n pass\n \n def create_future(*args,**kw):\n pass\n \n def create_pipe_connection(*args,**kw):\n pass\n \n def create_server(*args,**kw):\n pass\n \n def create_task(*args,**kw):\n pass\n \n def create_unix_connection(*args,**kw):\n pass\n \n def create_unix_server(*args,**kw):\n pass\n \n def default_exception_handler(*args,**kw):\n pass\n \n def get_debug(*args,**kw):\n pass\n \n def get_exception_handler(*args,**kw):\n pass\n \n def get_task_factory(*args,**kw):\n pass\n \n def getaddrinfo(*args,**kw):\n pass\n \n def getnameinfo(*args,**kw):\n pass\n \n def is_closed(*args,**kw):\n pass\n \n def is_running(*args,**kw):\n pass\n \n def remove_reader(*args,**kw):\n pass\n \n def remove_signal_handler(*args,**kw):\n pass\n \n def remove_writer(*args,**kw):\n pass\n \n def run_forever(*args,**kw):\n pass\n \n def run_in_executor(*args,**kw):\n pass\n \n def run_until_complete(*args,**kw):\n pass\n \n def sendfile(*args,**kw):\n pass\n \n def set_debug(*args,**kw):\n pass\n \n def set_default_executor(*args,**kw):\n pass\n \n def set_exception_handler(*args,**kw):\n pass\n \n def set_task_factory(*args,**kw):\n pass\n \n def shutdown_asyncgens(*args,**kw):\n pass\n \n def shutdown_default_executor(*args,**kw):\n pass\n \n def sock_accept(*args,**kw):\n pass\n \n def sock_connect(*args,**kw):\n pass\n \n def sock_recv(*args,**kw):\n pass\n \n def sock_recv_into(*args,**kw):\n pass\n \n def sock_recvfrom(*args,**kw):\n pass\n \n def sock_recvfrom_into(*args,**kw):\n pass\n \n def sock_sendall(*args,**kw):\n pass\n \n def sock_sendfile(*args,**kw):\n pass\n \n def sock_sendto(*args,**kw):\n pass\n \n def start_serving_pipe(*args,**kw):\n pass\n \n def start_tls(*args,**kw):\n pass\n \n def stop(*args,**kw):\n pass\n \n def subprocess_exec(*args,**kw):\n pass\n \n def subprocess_shell(*args,**kw):\n pass\n \n def time(*args,**kw):\n pass\n def get_child_watcher(*args,**kw):\n pass\n \n def get_event_loop(*args,**kw):\n pass\n \n def new_event_loop(*args,**kw):\n pass\n \n def set_child_watcher(*args,**kw):\n pass\n \n def set_event_loop(*args,**kw):\n pass\n \nclass WindowsSelectorEventLoopPolicy:\n\n\n class _Local:\n \n __module__="""asyncio.events"""\n \n _loop=None\n \n _set_called=False\n __module__="""asyncio.windows_events"""\n \n \n class _loop_factory:\n \n __module__="""asyncio.windows_events"""\n \n def _accept_connection(*args,**kw):\n pass\n \n def _accept_connection2(*args,**kw):\n pass\n \n def _add_callback(*args,**kw):\n pass\n \n def _add_callback_signalsafe(*args,**kw):\n pass\n \n def _add_reader(*args,**kw):\n pass\n \n def _add_writer(*args,**kw):\n pass\n \n def _asyncgen_finalizer_hook(*args,**kw):\n pass\n \n def _asyncgen_firstiter_hook(*args,**kw):\n pass\n \n def _call_soon(*args,**kw):\n pass\n \n def _check_callback(*args,**kw):\n pass\n \n def _check_closed(*args,**kw):\n pass\n \n def _check_default_executor(*args,**kw):\n pass\n \n def _check_running(*args,**kw):\n pass\n \n def _check_sendfile_params(*args,**kw):\n pass\n \n def _check_thread(*args,**kw):\n pass\n \n def _close_self_pipe(*args,**kw):\n pass\n \n def _connect_sock(*args,**kw):\n pass\n \n def _create_connection_transport(*args,**kw):\n pass\n \n def _create_server_getaddrinfo(*args,**kw):\n pass\n \n def _do_shutdown(*args,**kw):\n pass\n \n def _ensure_fd_no_transport(*args,**kw):\n pass\n \n def _ensure_resolved(*args,**kw):\n pass\n \n def _getaddrinfo_debug(*args,**kw):\n pass\n \n def _log_subprocess(*args,**kw):\n pass\n \n def _make_datagram_transport(*args,**kw):\n pass\n \n def _make_read_pipe_transport(*args,**kw):\n pass\n \n def _make_self_pipe(*args,**kw):\n pass\n \n def _make_socket_transport(*args,**kw):\n pass\n \n def _make_ssl_transport(*args,**kw):\n pass\n \n def _make_subprocess_transport(*args,**kw):\n pass\n \n def _make_write_pipe_transport(*args,**kw):\n pass\n \n def _process_events(*args,**kw):\n pass\n \n def _process_self_data(*args,**kw):\n pass\n \n def _read_from_self(*args,**kw):\n pass\n \n def _remove_reader(*args,**kw):\n pass\n \n def _remove_writer(*args,**kw):\n pass\n \n def _run_once(*args,**kw):\n pass\n \n def _sendfile_fallback(*args,**kw):\n pass\n \n def _sendfile_native(*args,**kw):\n pass\n \n def _set_coroutine_origin_tracking(*args,**kw):\n pass\n \n def _sock_accept(*args,**kw):\n pass\n \n def _sock_connect(*args,**kw):\n pass\n \n def _sock_connect_cb(*args,**kw):\n pass\n \n def _sock_read_done(*args,**kw):\n pass\n \n def _sock_recv(*args,**kw):\n pass\n \n def _sock_recv_into(*args,**kw):\n pass\n \n def _sock_recvfrom(*args,**kw):\n pass\n \n def _sock_recvfrom_into(*args,**kw):\n pass\n \n def _sock_sendall(*args,**kw):\n pass\n \n def _sock_sendfile_fallback(*args,**kw):\n pass\n \n def _sock_sendfile_native(*args,**kw):\n pass\n \n def _sock_sendto(*args,**kw):\n pass\n \n def _sock_write_done(*args,**kw):\n pass\n \n def _start_serving(*args,**kw):\n pass\n \n def _stop_serving(*args,**kw):\n pass\n \n def _timer_handle_cancelled(*args,**kw):\n pass\n \n def _write_to_self(*args,**kw):\n pass\n \n def add_reader(*args,**kw):\n pass\n \n def add_signal_handler(*args,**kw):\n pass\n \n def add_writer(*args,**kw):\n pass\n \n def call_at(*args,**kw):\n pass\n \n def call_exception_handler(*args,**kw):\n pass\n \n def call_later(*args,**kw):\n pass\n \n def call_soon(*args,**kw):\n pass\n \n def call_soon_threadsafe(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def connect_accepted_socket(*args,**kw):\n pass\n \n def connect_read_pipe(*args,**kw):\n pass\n \n def connect_write_pipe(*args,**kw):\n pass\n \n def create_connection(*args,**kw):\n pass\n \n def create_datagram_endpoint(*args,**kw):\n pass\n \n def create_future(*args,**kw):\n pass\n \n def create_server(*args,**kw):\n pass\n \n def create_task(*args,**kw):\n pass\n \n def create_unix_connection(*args,**kw):\n pass\n \n def create_unix_server(*args,**kw):\n pass\n \n def default_exception_handler(*args,**kw):\n pass\n \n def get_debug(*args,**kw):\n pass\n \n def get_exception_handler(*args,**kw):\n pass\n \n def get_task_factory(*args,**kw):\n pass\n \n def getaddrinfo(*args,**kw):\n pass\n \n def getnameinfo(*args,**kw):\n pass\n \n def is_closed(*args,**kw):\n pass\n \n def is_running(*args,**kw):\n pass\n \n def remove_reader(*args,**kw):\n pass\n \n def remove_signal_handler(*args,**kw):\n pass\n \n def remove_writer(*args,**kw):\n pass\n \n def run_forever(*args,**kw):\n pass\n \n def run_in_executor(*args,**kw):\n pass\n \n def run_until_complete(*args,**kw):\n pass\n \n def sendfile(*args,**kw):\n pass\n \n def set_debug(*args,**kw):\n pass\n \n def set_default_executor(*args,**kw):\n pass\n \n def set_exception_handler(*args,**kw):\n pass\n \n def set_task_factory(*args,**kw):\n pass\n \n def shutdown_asyncgens(*args,**kw):\n pass\n \n def shutdown_default_executor(*args,**kw):\n pass\n \n def sock_accept(*args,**kw):\n pass\n \n def sock_connect(*args,**kw):\n pass\n \n def sock_recv(*args,**kw):\n pass\n \n def sock_recv_into(*args,**kw):\n pass\n \n def sock_recvfrom(*args,**kw):\n pass\n \n def sock_recvfrom_into(*args,**kw):\n pass\n \n def sock_sendall(*args,**kw):\n pass\n \n def sock_sendfile(*args,**kw):\n pass\n \n def sock_sendto(*args,**kw):\n pass\n \n def start_tls(*args,**kw):\n pass\n \n def stop(*args,**kw):\n pass\n \n def subprocess_exec(*args,**kw):\n pass\n \n def subprocess_shell(*args,**kw):\n pass\n \n def time(*args,**kw):\n pass\n def get_child_watcher(*args,**kw):\n pass\n \n def get_event_loop(*args,**kw):\n pass\n \n def new_event_loop(*args,**kw):\n pass\n \n def set_child_watcher(*args,**kw):\n pass\n \n def set_event_loop(*args,**kw):\n pass\n \nclass WriteTransport:\n\n __module__="""asyncio.transports"""\n \n _extra=""\n \n def abort(*args,**kw):\n pass\n \n def can_write_eof(*args,**kw):\n pass\n \n def close(*args,**kw):\n pass\n \n def get_extra_info(*args,**kw):\n pass\n \n def get_protocol(*args,**kw):\n pass\n \n def get_write_buffer_limits(*args,**kw):\n pass\n \n def get_write_buffer_size(*args,**kw):\n pass\n \n def is_closing(*args,**kw):\n pass\n \n def set_protocol(*args,**kw):\n pass\n \n def set_write_buffer_limits(*args,**kw):\n pass\n \n def write(*args,**kw):\n pass\n \n def write_eof(*args,**kw):\n pass\n \n def writelines(*args,**kw):\n pass\ndef _enter_task(*args,**kw):\n pass\n \ndef _get_running_loop(*args,**kw):\n pass\n \ndef _leave_task(*args,**kw):\n pass\n \ndef _register_task(*args,**kw):\n pass\n \ndef _set_running_loop(*args,**kw):\n pass\n \ndef _unregister_task(*args,**kw):\n pass\n \ndef all_tasks(*args,**kw):\n pass\n \ndef as_completed(*args,**kw):\n pass\n \nbase_events=""\n\nbase_futures=""\n\nbase_subprocess=""\n\nbase_tasks=""\n\nconstants=""\n\ncoroutines=""\n\ndef create_subprocess_exec(*args,**kw):\n pass\n \ndef create_subprocess_shell(*args,**kw):\n pass\n \ndef create_task(*args,**kw):\n pass\n \ndef current_task(*args,**kw):\n pass\n \ndef ensure_future(*args,**kw):\n pass\n \nevents=""\n\nexceptions=""\n\nformat_helpers=""\n\nfutures=""\n\ndef gather(*args,**kw):\n pass\n \ndef get_child_watcher(*args,**kw):\n pass\n \ndef get_event_loop(*args,**kw):\n pass\n \ndef get_event_loop_policy(*args,**kw):\n pass\n \ndef get_running_loop(*args,**kw):\n pass\n \ndef iscoroutine(*args,**kw):\n pass\n \ndef iscoroutinefunction(*args,**kw):\n pass\n \ndef isfuture(*args,**kw):\n pass\n \nlocks=""\n\nlog=""\n\nmixins=""\n\ndef new_event_loop(*args,**kw):\n pass\n \ndef open_connection(*args,**kw):\n pass\n \nproactor_events=""\n\nprotocols=""\n\nqueues=""\n\ndef run(*args,**kw):\n pass\n \ndef run_coroutine_threadsafe(*args,**kw):\n pass\n \nrunners=""\n\nselector_events=""\n\ndef set_child_watcher(*args,**kw):\n pass\n \ndef set_event_loop(*args,**kw):\n pass\n \ndef set_event_loop_policy(*args,**kw):\n pass\n \ndef shield(*args,**kw):\n pass\n \ndef sleep(*args,**kw):\n pass\n \nsslproto=""\n\nstaggered=""\n\ndef start_server(*args,**kw):\n pass\n \nstreams=""\n\nsubprocess=""\n\nsys=""\n\ntaskgroups=""\n\ntasks=""\n\nthreads=""\n\ndef timeout(*args,**kw):\n pass\n \ndef timeout_at(*args,**kw):\n pass\n \ntimeouts=""\n\ndef to_thread(*args,**kw):\n pass\n \ntransports=""\n\ntrsock=""\n\ndef wait(*args,**kw):\n pass\n \ndef wait_for(*args,**kw):\n pass\n \nwindows_events=""\n\nwindows_utils=""\n\ndef wrap_future(*args,**kw):\n pass\n \n',[]],atexit:[".py","''\n\n\n\n\n\nclass __loader__(object):\n pass\n \ndef _clear(*args,**kw):\n ''\n \n pass\n \ndef _run_exitfuncs(*args,**kw):\n ''\n \n pass\n \ndef register(*args,**kw):\n ''\n\n\n\n\n\n\n \n pass\n \ndef unregister(*args,**kw):\n ''\n\n\n\n \n pass\n",[]],base64:[".py","#! /usr/bin/env python3\n\n\"\"\"Base16, Base32, Base64 (RFC 3548), Base85 and Ascii85 data encodings\"\"\"\n\n\n\n\n\nimport re\nimport struct\nimport binascii\n\n\n__all__=[\n\n'encode','decode','encodebytes','decodebytes',\n\n'b64encode','b64decode','b32encode','b32decode',\n'b32hexencode','b32hexdecode','b16encode','b16decode',\n\n'b85encode','b85decode','a85encode','a85decode',\n\n'standard_b64encode','standard_b64decode',\n\n\n\n\n'urlsafe_b64encode','urlsafe_b64decode',\n]\n\n\nbytes_types=(bytes,bytearray)\n\ndef _bytes_from_decode_data(s):\n if isinstance(s,str):\n try:\n return s.encode('ascii')\n except UnicodeEncodeError:\n raise ValueError('string argument should contain only ASCII characters')\n if isinstance(s,bytes_types):\n return s\n try:\n return memoryview(s).tobytes()\n except TypeError:\n raise TypeError(\"argument should be a bytes-like object or ASCII \"\n \"string, not %r\"%s.__class__.__name__)from None\n \n \n \n \ndef b64encode(s,altchars=None):\n ''\n\n\n\n\n \n encoded=binascii.b2a_base64(s,newline=False)\n if altchars is not None:\n assert len(altchars)==2,repr(altchars)\n return encoded.translate(bytes.maketrans(b'+/',altchars))\n return encoded\n \n \ndef b64decode(s,altchars=None,validate=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n s=_bytes_from_decode_data(s)\n if altchars is not None:\n altchars=_bytes_from_decode_data(altchars)\n assert len(altchars)==2,repr(altchars)\n s=s.translate(bytes.maketrans(altchars,b'+/'))\n return binascii.a2b_base64(s,strict_mode=validate)\n \n \ndef standard_b64encode(s):\n ''\n\n\n \n return b64encode(s)\n \ndef standard_b64decode(s):\n ''\n\n\n\n\n\n \n return b64decode(s)\n \n \n_urlsafe_encode_translation=bytes.maketrans(b'+/',b'-_')\n_urlsafe_decode_translation=bytes.maketrans(b'-_',b'+/')\n\ndef urlsafe_b64encode(s):\n ''\n\n\n\n\n \n return b64encode(s).translate(_urlsafe_encode_translation)\n \ndef urlsafe_b64decode(s):\n ''\n\n\n\n\n\n\n\n\n \n s=_bytes_from_decode_data(s)\n s=s.translate(_urlsafe_decode_translation)\n return b64decode(s)\n \n \n \n \n_B32_ENCODE_DOCSTRING='''\nEncode the bytes-like objects using {encoding} and return a bytes object.\n'''\n_B32_DECODE_DOCSTRING='''\nDecode the {encoding} encoded bytes-like object or ASCII string s.\n\nOptional casefold is a flag specifying whether a lowercase alphabet is\nacceptable as input. For security purposes, the default is False.\n{extra_args}\nThe result is returned as a bytes object. A binascii.Error is raised if\nthe input is incorrectly padded or if there are non-alphabet\ncharacters present in the input.\n'''\n_B32_DECODE_MAP01_DOCSTRING='''\nRFC 3548 allows for optional mapping of the digit 0 (zero) to the\nletter O (oh), and for optional mapping of the digit 1 (one) to\neither the letter I (eye) or letter L (el). The optional argument\nmap01 when not None, specifies which letter the digit 1 should be\nmapped to (when map01 is not None, the digit 0 is always mapped to\nthe letter O). For security purposes the default is None, so that\n0 and 1 are not allowed in the input.\n'''\n_b32alphabet=b'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'\n_b32hexalphabet=b'0123456789ABCDEFGHIJKLMNOPQRSTUV'\n_b32tab2={}\n_b32rev={}\n\ndef _b32encode(alphabet,s):\n global _b32tab2\n \n \n if alphabet not in _b32tab2:\n b32tab=[bytes((i,))for i in alphabet]\n _b32tab2[alphabet]=[a+b for a in b32tab for b in b32tab]\n b32tab=None\n \n if not isinstance(s,bytes_types):\n s=memoryview(s).tobytes()\n leftover=len(s)%5\n \n if leftover:\n s=s+b'\\0'*(5 -leftover)\n encoded=bytearray()\n from_bytes=int.from_bytes\n b32tab2=_b32tab2[alphabet]\n for i in range(0,len(s),5):\n c=from_bytes(s[i:i+5])\n encoded +=(b32tab2[c >>30]+\n b32tab2[(c >>20)&0x3ff]+\n b32tab2[(c >>10)&0x3ff]+\n b32tab2[c&0x3ff]\n )\n \n if leftover ==1:\n encoded[-6:]=b'======'\n elif leftover ==2:\n encoded[-4:]=b'===='\n elif leftover ==3:\n encoded[-3:]=b'==='\n elif leftover ==4:\n encoded[-1:]=b'='\n return bytes(encoded)\n \ndef _b32decode(alphabet,s,casefold=False,map01=None):\n global _b32rev\n \n \n if alphabet not in _b32rev:\n _b32rev[alphabet]={v:k for k,v in enumerate(alphabet)}\n s=_bytes_from_decode_data(s)\n if len(s)%8:\n raise binascii.Error('Incorrect padding')\n \n \n \n if map01 is not None:\n map01=_bytes_from_decode_data(map01)\n assert len(map01)==1,repr(map01)\n s=s.translate(bytes.maketrans(b'01',b'O'+map01))\n if casefold:\n s=s.upper()\n \n \n \n l=len(s)\n s=s.rstrip(b'=')\n padchars=l -len(s)\n \n decoded=bytearray()\n b32rev=_b32rev[alphabet]\n for i in range(0,len(s),8):\n quanta=s[i:i+8]\n acc=0\n try:\n for c in quanta:\n acc=(acc <<5)+b32rev[c]\n except KeyError:\n raise binascii.Error('Non-base32 digit found')from None\n decoded +=acc.to_bytes(5)\n \n if l %8 or padchars not in{0,1,3,4,6}:\n raise binascii.Error('Incorrect padding')\n if padchars and decoded:\n acc <<=5 *padchars\n last=acc.to_bytes(5)\n leftover=(43 -5 *padchars)//8\n decoded[-5:]=last[:leftover]\n return bytes(decoded)\n \n \ndef b32encode(s):\n return _b32encode(_b32alphabet,s)\nb32encode.__doc__=_B32_ENCODE_DOCSTRING.format(encoding='base32')\n\ndef b32decode(s,casefold=False,map01=None):\n return _b32decode(_b32alphabet,s,casefold,map01)\nb32decode.__doc__=_B32_DECODE_DOCSTRING.format(encoding='base32',\nextra_args=_B32_DECODE_MAP01_DOCSTRING)\n\ndef b32hexencode(s):\n return _b32encode(_b32hexalphabet,s)\nb32hexencode.__doc__=_B32_ENCODE_DOCSTRING.format(encoding='base32hex')\n\ndef b32hexdecode(s,casefold=False):\n\n return _b32decode(_b32hexalphabet,s,casefold)\nb32hexdecode.__doc__=_B32_DECODE_DOCSTRING.format(encoding='base32hex',\nextra_args='')\n\n\n\n\n\ndef b16encode(s):\n ''\n \n return binascii.hexlify(s).upper()\n \n \ndef b16decode(s,casefold=False):\n ''\n\n\n\n\n\n\n\n \n s=_bytes_from_decode_data(s)\n if casefold:\n s=s.upper()\n if re.search(b'[^0-9A-F]',s):\n raise binascii.Error('Non-base16 digit found')\n return binascii.unhexlify(s)\n \n \n \n \n \n_a85chars=None\n_a85chars2=None\n_A85START=b\"<~\"\n_A85END=b\"~>\"\n\ndef _85encode(b,chars,chars2,pad=False,foldnuls=False,foldspaces=False):\n\n if not isinstance(b,bytes_types):\n b=memoryview(b).tobytes()\n \n padding=(-len(b))%4\n if padding:\n b=b+b'\\0'*padding\n words=struct.Struct('!%dI'%(len(b)//4)).unpack(b)\n \n chunks=[b'z'if foldnuls and not word else\n b'y'if foldspaces and word ==0x20202020 else\n (chars2[word //614125]+\n chars2[word //85 %7225]+\n chars[word %85])\n for word in words]\n \n if padding and not pad:\n if chunks[-1]==b'z':\n chunks[-1]=chars[0]*5\n chunks[-1]=chunks[-1][:-padding]\n \n return b''.join(chunks)\n \ndef a85encode(b,*,foldspaces=False,wrapcol=0,pad=False,adobe=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n global _a85chars,_a85chars2\n \n \n if _a85chars2 is None:\n _a85chars=[bytes((i,))for i in range(33,118)]\n _a85chars2=[(a+b)for a in _a85chars for b in _a85chars]\n \n result=_85encode(b,_a85chars,_a85chars2,pad,True,foldspaces)\n \n if adobe:\n result=_A85START+result\n if wrapcol:\n wrapcol=max(2 if adobe else 1,wrapcol)\n chunks=[result[i:i+wrapcol]\n for i in range(0,len(result),wrapcol)]\n if adobe:\n if len(chunks[-1])+2 >wrapcol:\n chunks.append(b'')\n result=b'\\n'.join(chunks)\n if adobe:\n result +=_A85END\n \n return result\n \ndef a85decode(b,*,foldspaces=False,adobe=False,ignorechars=b' \\t\\n\\r\\v'):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n b=_bytes_from_decode_data(b)\n if adobe:\n if not b.endswith(_A85END):\n raise ValueError(\n \"Ascii85 encoded byte sequences must end \"\n \"with {!r}\".format(_A85END)\n )\n if b.startswith(_A85START):\n b=b[2:-2]\n else:\n b=b[:-2]\n \n \n \n \n packI=struct.Struct('!I').pack\n decoded=[]\n decoded_append=decoded.append\n curr=[]\n curr_append=curr.append\n curr_clear=curr.clear\n for x in b+b'u'*4:\n if b'!'[0]<=x <=b'u'[0]:\n curr_append(x)\n if len(curr)==5:\n acc=0\n for x in curr:\n acc=85 *acc+(x -33)\n try:\n decoded_append(packI(acc))\n except struct.error:\n raise ValueError('Ascii85 overflow')from None\n curr_clear()\n elif x ==b'z'[0]:\n if curr:\n raise ValueError('z inside Ascii85 5-tuple')\n decoded_append(b'\\0\\0\\0\\0')\n elif foldspaces and x ==b'y'[0]:\n if curr:\n raise ValueError('y inside Ascii85 5-tuple')\n decoded_append(b'\\x20\\x20\\x20\\x20')\n elif x in ignorechars:\n \n continue\n else:\n raise ValueError('Non-Ascii85 digit found: %c'%x)\n \n result=b''.join(decoded)\n padding=4 -len(curr)\n if padding:\n \n result=result[:-padding]\n return result\n \n \n \n_b85alphabet=(b\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\nb\"abcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~\")\n_b85chars=None\n_b85chars2=None\n_b85dec=None\n\ndef b85encode(b,pad=False):\n ''\n\n\n\n \n global _b85chars,_b85chars2\n \n \n if _b85chars2 is None:\n _b85chars=[bytes((i,))for i in _b85alphabet]\n _b85chars2=[(a+b)for a in _b85chars for b in _b85chars]\n return _85encode(b,_b85chars,_b85chars2,pad)\n \ndef b85decode(b):\n ''\n\n\n \n global _b85dec\n \n \n if _b85dec is None:\n _b85dec=[None]*256\n for i,c in enumerate(_b85alphabet):\n _b85dec[c]=i\n \n b=_bytes_from_decode_data(b)\n padding=(-len(b))%5\n b=b+b'~'*padding\n out=[]\n packI=struct.Struct('!I').pack\n for i in range(0,len(b),5):\n chunk=b[i:i+5]\n acc=0\n try:\n for c in chunk:\n acc=acc *85+_b85dec[c]\n except TypeError:\n for j,c in enumerate(chunk):\n if _b85dec[c]is None:\n raise ValueError('bad base85 character at position %d'\n %(i+j))from None\n raise\n try:\n out.append(packI(acc))\n except struct.error:\n raise ValueError('base85 overflow in hunk starting at byte %d'\n %i)from None\n \n result=b''.join(out)\n if padding:\n result=result[:-padding]\n return result\n \n \n \n \n \nMAXLINESIZE=76\nMAXBINSIZE=(MAXLINESIZE //4)*3\n\ndef encode(input,output):\n ''\n while s :=input.read(MAXBINSIZE):\n while len(s)\":\n return filename\n canonic=self.fncache.get(filename)\n if not canonic:\n canonic=os.path.abspath(filename)\n canonic=os.path.normcase(canonic)\n self.fncache[filename]=canonic\n return canonic\n \n def reset(self):\n ''\n import linecache\n linecache.checkcache()\n self.botframe=None\n self._set_stopinfo(None,None)\n \n def trace_dispatch(self,frame,event,arg):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if self.quitting:\n return\n if event =='line':\n return self.dispatch_line(frame)\n if event =='call':\n return self.dispatch_call(frame,arg)\n if event =='return':\n return self.dispatch_return(frame,arg)\n if event =='exception':\n return self.dispatch_exception(frame,arg)\n if event =='c_call':\n return self.trace_dispatch\n if event =='c_exception':\n return self.trace_dispatch\n if event =='c_return':\n return self.trace_dispatch\n print('bdb.Bdb.dispatch: unknown debugging event:',repr(event))\n return self.trace_dispatch\n \n def dispatch_line(self,frame):\n ''\n\n\n\n\n \n if self.stop_here(frame)or self.break_here(frame):\n self.user_line(frame)\n if self.quitting:raise BdbQuit\n return self.trace_dispatch\n \n def dispatch_call(self,frame,arg):\n ''\n\n\n\n\n \n \n if self.botframe is None:\n \n self.botframe=frame.f_back\n return self.trace_dispatch\n if not(self.stop_here(frame)or self.break_anywhere(frame)):\n \n return\n \n if self.stopframe and frame.f_code.co_flags&GENERATOR_AND_COROUTINE_FLAGS:\n return self.trace_dispatch\n self.user_call(frame,arg)\n if self.quitting:raise BdbQuit\n return self.trace_dispatch\n \n def dispatch_return(self,frame,arg):\n ''\n\n\n\n\n \n if self.stop_here(frame)or frame ==self.returnframe:\n \n if self.stopframe and frame.f_code.co_flags&GENERATOR_AND_COROUTINE_FLAGS:\n return self.trace_dispatch\n try:\n self.frame_returning=frame\n self.user_return(frame,arg)\n finally:\n self.frame_returning=None\n if self.quitting:raise BdbQuit\n \n if self.stopframe is frame and self.stoplineno !=-1:\n self._set_stopinfo(None,None)\n return self.trace_dispatch\n \n def dispatch_exception(self,frame,arg):\n ''\n\n\n\n\n \n if self.stop_here(frame):\n \n \n \n if not(frame.f_code.co_flags&GENERATOR_AND_COROUTINE_FLAGS\n and arg[0]is StopIteration and arg[2]is None):\n self.user_exception(frame,arg)\n if self.quitting:raise BdbQuit\n \n \n \n \n elif(self.stopframe and frame is not self.stopframe\n and self.stopframe.f_code.co_flags&GENERATOR_AND_COROUTINE_FLAGS\n and arg[0]in(StopIteration,GeneratorExit)):\n self.user_exception(frame,arg)\n if self.quitting:raise BdbQuit\n \n return self.trace_dispatch\n \n \n \n \n \n def is_skipped_module(self,module_name):\n ''\n if module_name is None:\n return False\n for pattern in self.skip:\n if fnmatch.fnmatch(module_name,pattern):\n return True\n return False\n \n def stop_here(self,frame):\n ''\n \n \n if self.skip and\\\n self.is_skipped_module(frame.f_globals.get('__name__')):\n return False\n if frame is self.stopframe:\n if self.stoplineno ==-1:\n return False\n return frame.f_lineno >=self.stoplineno\n if not self.stopframe:\n return True\n return False\n \n def break_here(self,frame):\n ''\n\n\n\n \n filename=self.canonic(frame.f_code.co_filename)\n if filename not in self.breaks:\n return False\n lineno=frame.f_lineno\n if lineno not in self.breaks[filename]:\n \n \n lineno=frame.f_code.co_firstlineno\n if lineno not in self.breaks[filename]:\n return False\n \n \n (bp,flag)=effective(filename,lineno,frame)\n if bp:\n self.currentbp=bp.number\n if(flag and bp.temporary):\n self.do_clear(str(bp.number))\n return True\n else:\n return False\n \n def do_clear(self,arg):\n ''\n\n\n \n raise NotImplementedError(\"subclass of bdb must implement do_clear()\")\n \n def break_anywhere(self,frame):\n ''\n \n return self.canonic(frame.f_code.co_filename)in self.breaks\n \n \n \n \n def user_call(self,frame,argument_list):\n ''\n pass\n \n def user_line(self,frame):\n ''\n pass\n \n def user_return(self,frame,return_value):\n ''\n pass\n \n def user_exception(self,frame,exc_info):\n ''\n pass\n \n def _set_stopinfo(self,stopframe,returnframe,stoplineno=0):\n ''\n\n\n\n\n \n self.stopframe=stopframe\n self.returnframe=returnframe\n self.quitting=False\n \n \n self.stoplineno=stoplineno\n \n \n \n \n def set_until(self,frame,lineno=None):\n ''\n \n \n if lineno is None:\n lineno=frame.f_lineno+1\n self._set_stopinfo(frame,frame,lineno)\n \n def set_step(self):\n ''\n \n \n \n \n if self.frame_returning:\n caller_frame=self.frame_returning.f_back\n if caller_frame and not caller_frame.f_trace:\n caller_frame.f_trace=self.trace_dispatch\n self._set_stopinfo(None,None)\n \n def set_next(self,frame):\n ''\n self._set_stopinfo(frame,None)\n \n def set_return(self,frame):\n ''\n if frame.f_code.co_flags&GENERATOR_AND_COROUTINE_FLAGS:\n self._set_stopinfo(frame,None,-1)\n else:\n self._set_stopinfo(frame.f_back,frame)\n \n def set_trace(self,frame=None):\n ''\n\n\n \n if frame is None:\n frame=sys._getframe().f_back\n self.reset()\n while frame:\n frame.f_trace=self.trace_dispatch\n self.botframe=frame\n frame=frame.f_back\n self.set_step()\n sys.settrace(self.trace_dispatch)\n \n def set_continue(self):\n ''\n\n\n \n \n self._set_stopinfo(self.botframe,None,-1)\n if not self.breaks:\n \n sys.settrace(None)\n frame=sys._getframe().f_back\n while frame and frame is not self.botframe:\n del frame.f_trace\n frame=frame.f_back\n \n def set_quit(self):\n ''\n\n\n \n self.stopframe=self.botframe\n self.returnframe=None\n self.quitting=True\n sys.settrace(None)\n \n \n \n \n \n \n \n \n def _add_to_breaks(self,filename,lineno):\n ''\n bp_linenos=self.breaks.setdefault(filename,[])\n if lineno not in bp_linenos:\n bp_linenos.append(lineno)\n \n def set_break(self,filename,lineno,temporary=False,cond=None,\n funcname=None):\n ''\n\n\n\n \n filename=self.canonic(filename)\n import linecache\n line=linecache.getline(filename,lineno)\n if not line:\n return 'Line %s:%d does not exist'%(filename,lineno)\n self._add_to_breaks(filename,lineno)\n bp=Breakpoint(filename,lineno,temporary,cond,funcname)\n return None\n \n def _load_breaks(self):\n ''\n\n\n\n\n\n \n for(filename,lineno)in Breakpoint.bplist.keys():\n self._add_to_breaks(filename,lineno)\n \n def _prune_breaks(self,filename,lineno):\n ''\n\n\n\n\n\n \n if(filename,lineno)not in Breakpoint.bplist:\n self.breaks[filename].remove(lineno)\n if not self.breaks[filename]:\n del self.breaks[filename]\n \n def clear_break(self,filename,lineno):\n ''\n\n\n \n filename=self.canonic(filename)\n if filename not in self.breaks:\n return 'There are no breakpoints in %s'%filename\n if lineno not in self.breaks[filename]:\n return 'There is no breakpoint at %s:%d'%(filename,lineno)\n \n \n for bp in Breakpoint.bplist[filename,lineno][:]:\n bp.deleteMe()\n self._prune_breaks(filename,lineno)\n return None\n \n def clear_bpbynumber(self,arg):\n ''\n\n\n \n try:\n bp=self.get_bpbynumber(arg)\n except ValueError as err:\n return str(err)\n bp.deleteMe()\n self._prune_breaks(bp.file,bp.line)\n return None\n \n def clear_all_file_breaks(self,filename):\n ''\n\n\n \n filename=self.canonic(filename)\n if filename not in self.breaks:\n return 'There are no breakpoints in %s'%filename\n for line in self.breaks[filename]:\n blist=Breakpoint.bplist[filename,line]\n for bp in blist:\n bp.deleteMe()\n del self.breaks[filename]\n return None\n \n def clear_all_breaks(self):\n ''\n\n\n \n if not self.breaks:\n return 'There are no breakpoints'\n for bp in Breakpoint.bpbynumber:\n if bp:\n bp.deleteMe()\n self.breaks={}\n return None\n \n def get_bpbynumber(self,arg):\n ''\n\n\n\n \n if not arg:\n raise ValueError('Breakpoint number expected')\n try:\n number=int(arg)\n except ValueError:\n raise ValueError('Non-numeric breakpoint number %s'%arg)from None\n try:\n bp=Breakpoint.bpbynumber[number]\n except IndexError:\n raise ValueError('Breakpoint number %d out of range'%number)from None\n if bp is None:\n raise ValueError('Breakpoint %d already deleted'%number)\n return bp\n \n def get_break(self,filename,lineno):\n ''\n filename=self.canonic(filename)\n return filename in self.breaks and\\\n lineno in self.breaks[filename]\n \n def get_breaks(self,filename,lineno):\n ''\n\n\n \n filename=self.canonic(filename)\n return filename in self.breaks and\\\n lineno in self.breaks[filename]and\\\n Breakpoint.bplist[filename,lineno]or[]\n \n def get_file_breaks(self,filename):\n ''\n\n\n \n filename=self.canonic(filename)\n if filename in self.breaks:\n return self.breaks[filename]\n else:\n return[]\n \n def get_all_breaks(self):\n ''\n return self.breaks\n \n \n \n \n def get_stack(self,f,t):\n ''\n\n\n\n \n stack=[]\n if t and t.tb_frame is f:\n t=t.tb_next\n while f is not None:\n stack.append((f,f.f_lineno))\n if f is self.botframe:\n break\n f=f.f_back\n stack.reverse()\n i=max(0,len(stack)-1)\n while t is not None:\n stack.append((t.tb_frame,t.tb_lineno))\n t=t.tb_next\n if f is None:\n i=max(0,len(stack)-1)\n return stack,i\n \n def format_stack_entry(self,frame_lineno,lprefix=': '):\n ''\n\n\n\n\n\n\n \n import linecache,reprlib\n frame,lineno=frame_lineno\n filename=self.canonic(frame.f_code.co_filename)\n s='%s(%r)'%(filename,lineno)\n if frame.f_code.co_name:\n s +=frame.f_code.co_name\n else:\n s +=\"\"\n s +='()'\n if '__return__'in frame.f_locals:\n rv=frame.f_locals['__return__']\n s +='->'\n s +=reprlib.repr(rv)\n if lineno is not None:\n line=linecache.getline(filename,lineno,frame.f_globals)\n if line:\n s +=lprefix+line.strip()\n else:\n s +=f'{lprefix}Warning: lineno is None'\n return s\n \n \n \n \n \n def run(self,cmd,globals=None,locals=None):\n ''\n\n\n \n if globals is None:\n import __main__\n globals=__main__.__dict__\n if locals is None:\n locals=globals\n self.reset()\n if isinstance(cmd,str):\n cmd=compile(cmd,\"\",\"exec\")\n sys.settrace(self.trace_dispatch)\n try:\n exec(cmd,globals,locals)\n except BdbQuit:\n pass\n finally:\n self.quitting=True\n sys.settrace(None)\n \n def runeval(self,expr,globals=None,locals=None):\n ''\n\n\n \n if globals is None:\n import __main__\n globals=__main__.__dict__\n if locals is None:\n locals=globals\n self.reset()\n sys.settrace(self.trace_dispatch)\n try:\n return eval(expr,globals,locals)\n except BdbQuit:\n pass\n finally:\n self.quitting=True\n sys.settrace(None)\n \n def runctx(self,cmd,globals,locals):\n ''\n \n self.run(cmd,globals,locals)\n \n \n \n def runcall(self,func,/,*args,**kwds):\n ''\n\n\n \n self.reset()\n sys.settrace(self.trace_dispatch)\n res=None\n try:\n res=func(*args,**kwds)\n except BdbQuit:\n pass\n finally:\n self.quitting=True\n sys.settrace(None)\n return res\n \n \ndef set_trace():\n ''\n Bdb().set_trace()\n \n \nclass Breakpoint:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n next=1\n bplist={}\n bpbynumber=[None]\n \n \n \n def __init__(self,file,line,temporary=False,cond=None,funcname=None):\n self.funcname=funcname\n \n self.func_first_executable_line=None\n self.file=file\n self.line=line\n self.temporary=temporary\n self.cond=cond\n self.enabled=True\n self.ignore=0\n self.hits=0\n self.number=Breakpoint.next\n Breakpoint.next +=1\n \n self.bpbynumber.append(self)\n if(file,line)in self.bplist:\n self.bplist[file,line].append(self)\n else:\n self.bplist[file,line]=[self]\n \n @staticmethod\n def clearBreakpoints():\n Breakpoint.next=1\n Breakpoint.bplist={}\n Breakpoint.bpbynumber=[None]\n \n def deleteMe(self):\n ''\n\n\n\n \n \n index=(self.file,self.line)\n self.bpbynumber[self.number]=None\n self.bplist[index].remove(self)\n if not self.bplist[index]:\n \n del self.bplist[index]\n \n def enable(self):\n ''\n self.enabled=True\n \n def disable(self):\n ''\n self.enabled=False\n \n def bpprint(self,out=None):\n ''\n\n\n\n \n if out is None:\n out=sys.stdout\n print(self.bpformat(),file=out)\n \n def bpformat(self):\n ''\n\n\n\n\n\n \n if self.temporary:\n disp='del '\n else:\n disp='keep '\n if self.enabled:\n disp=disp+'yes '\n else:\n disp=disp+'no '\n ret='%-4dbreakpoint %s at %s:%d'%(self.number,disp,\n self.file,self.line)\n if self.cond:\n ret +='\\n\\tstop only if %s'%(self.cond,)\n if self.ignore:\n ret +='\\n\\tignore next %d hits'%(self.ignore,)\n if self.hits:\n if self.hits >1:\n ss='s'\n else:\n ss=''\n ret +='\\n\\tbreakpoint already hit %d time%s'%(self.hits,ss)\n return ret\n \n def __str__(self):\n ''\n return 'breakpoint %s at %s:%s'%(self.number,self.file,self.line)\n \n \n \n \ndef checkfuncname(b,frame):\n ''\n\n\n\n\n\n \n if not b.funcname:\n \n if b.line !=frame.f_lineno:\n \n \n return False\n return True\n \n \n if frame.f_code.co_name !=b.funcname:\n \n return False\n \n \n if not b.func_first_executable_line:\n \n b.func_first_executable_line=frame.f_lineno\n \n if b.func_first_executable_line !=frame.f_lineno:\n \n return False\n return True\n \n \ndef effective(file,line,frame):\n ''\n\n\n\n\n\n\n\n\n\n\n \n possibles=Breakpoint.bplist[file,line]\n for b in possibles:\n if not b.enabled:\n continue\n if not checkfuncname(b,frame):\n continue\n \n b.hits +=1\n if not b.cond:\n \n if b.ignore >0:\n b.ignore -=1\n continue\n else:\n \n return(b,True)\n else:\n \n \n \n try:\n val=eval(b.cond,frame.f_globals,frame.f_locals)\n if val:\n if b.ignore >0:\n b.ignore -=1\n \n else:\n return(b,True)\n \n \n except:\n \n \n \n return(b,False)\n return(None,None)\n \n \n \n \nclass Tdb(Bdb):\n def user_call(self,frame,args):\n name=frame.f_code.co_name\n if not name:name='???'\n print('+++ call',name,args)\n def user_line(self,frame):\n import linecache\n name=frame.f_code.co_name\n if not name:name='???'\n fn=self.canonic(frame.f_code.co_filename)\n line=linecache.getline(fn,frame.f_lineno,frame.f_globals)\n print('+++',fn,frame.f_lineno,name,':',line.strip())\n def user_return(self,frame,retval):\n print('+++ return',retval)\n def user_exception(self,frame,exc_stuff):\n print('+++ exception',exc_stuff)\n self.set_continue()\n \ndef foo(n):\n print('foo(',n,')')\n x=bar(n *10)\n print('bar returned',x)\n \ndef bar(a):\n print('bar(',a,')')\n return a /2\n \ndef test():\n t=Tdb()\n t.run('import bdb; bdb.foo(10)')\n",["__main__","fnmatch","inspect","linecache","os","reprlib","sys"]],binascii:[".py","''\n\n\n\n\n\n\n\nimport _base64\n\nfrom _binascii import *\n\nclass Error(ValueError):\n def __init__(self,msg=''):\n self._msg=msg\n \n def __str__(self):\n return \" binascii.Error: \"+self._msg\n \n \nclass Done(Exception):\n pass\n \nclass Incomplete(Error):\n pass\n \ndef a2b_uu(s):\n if not s:\n return ''\n \n length=(ord(s[0])-0x20)%64\n \n def quadruplets_gen(s):\n while s:\n try:\n yield ord(s[0]),ord(s[1]),ord(s[2]),ord(s[3])\n except IndexError:\n s +=' '\n yield ord(s[0]),ord(s[1]),ord(s[2]),ord(s[3])\n return\n s=s[4:]\n \n try:\n result=[''.join(\n [chr((A -0x20)<<2 |(((B -0x20)>>4)&0x3)),\n chr(((B -0x20)&0xf)<<4 |(((C -0x20)>>2)&0xf)),\n chr(((C -0x20)&0x3)<<6 |((D -0x20)&0x3f))\n ])for A,B,C,D in quadruplets_gen(s[1:].rstrip())]\n except ValueError:\n raise Error('Illegal char')\n result=''.join(result)\n trailingdata=result[length:]\n if trailingdata.strip('\\x00'):\n raise Error('Trailing garbage')\n result=result[:length]\n if len(result)>2)&0x3F],\n table_b2a_base64[((A <<4)|((B >>4)&0xF))&0x3F],\n table_b2a_base64[((B <<2)|((C >>6)&0x3))&0x3F],\n table_b2a_base64[(C)&0x3F]])\n for A,B,C in a]\n \n final=s[length -final_length:]\n if final_length ==0:\n snippet=''\n elif final_length ==1:\n a=final[0]\n snippet=table_b2a_base64[(a >>2)&0x3F]+\\\n table_b2a_base64[(a <<4)&0x3F]+'=='\n else:\n a=final[0]\n b=final[1]\n snippet=table_b2a_base64[(a >>2)&0x3F]+\\\n table_b2a_base64[((a <<4)|(b >>4)&0xF)&0x3F]+\\\n table_b2a_base64[(b <<2)&0x3F]+'='\n \n result=''.join(result)+snippet\n if newline:\n result +='\\n'\n return bytes(result,__BRYTHON__.charset)\n \ndef a2b_qp(s,header=False):\n inp=0\n odata=[]\n while inp =len(s):\n break\n \n if(s[inp]=='\\n')or(s[inp]=='\\r'):\n if s[inp]!='\\n':\n while inp 0 and data[lf -1]=='\\r'\n \n inp=0\n linelen=0\n odata=[]\n while inp '~'or\n c =='='or\n (header and c =='_')or\n (c =='.'and linelen ==0 and(inp+1 ==len(data)or\n data[inp+1]=='\\n'or\n data[inp+1]=='\\r'))or\n (not istext and(c =='\\r'or c =='\\n'))or\n ((c =='\\t'or c ==' ')and(inp+1 ==len(data)))or\n (c <=' 'and c !='\\r'and c !='\\n'and\n (quotetabs or(not quotetabs and(c !='\\t'and c !=' '))))):\n linelen +=3\n if linelen >=MAXLINESIZE:\n odata.append('=')\n if crlf:odata.append('\\r')\n odata.append('\\n')\n linelen=3\n odata.append('='+two_hex_digits(ord(c)))\n inp +=1\n else:\n if(istext and\n (c =='\\n'or(inp+1 0 and\n (odata[-1]==' 'or odata[-1]=='\\t')):\n ch=ord(odata[-1])\n odata[-1]='='\n odata.append(two_hex_digits(ch))\n \n if crlf:odata.append('\\r')\n odata.append('\\n')\n if c =='\\r':\n inp +=2\n else:\n inp +=1\n else:\n if(inp+1 =MAXLINESIZE):\n odata.append('=')\n if crlf:odata.append('\\r')\n odata.append('\\n')\n linelen=0\n \n linelen +=1\n if header and c ==' ':\n c='_'\n odata.append(c)\n inp +=1\n return ''.join(odata)\n \nhex_numbers='0123456789ABCDEF'\ndef hex(n):\n if n ==0:\n return '0'\n \n if n <0:\n n=-n\n sign='-'\n else:\n sign=''\n arr=[]\n \n def hex_gen(n):\n ''\n while n:\n yield n %0x10\n n=n /0x10\n \n for nibble in hex_gen(n):\n arr=[hex_numbers[nibble]]+arr\n return sign+''.join(arr)\n \ndef two_hex_digits(n):\n return hex_numbers[n /0x10]+hex_numbers[n %0x10]\n \n \ndef strhex_to_int(s):\n i=0\n for c in s:\n i=i *0x10+hex_numbers.index(c)\n return i\n \nhqx_encoding='!\"#$%&\\'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr'\n\nDONE=0x7f\nSKIP=0x7e\nFAIL=0x7d\n\ntable_a2b_hqx=[\n\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\n\nFAIL,FAIL,SKIP,FAIL,FAIL,SKIP,FAIL,FAIL,\n\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\n\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\n\nFAIL,0x00,0x01,0x02,0x03,0x04,0x05,0x06,\n\n0x07,0x08,0x09,0x0A,0x0B,0x0C,FAIL,FAIL,\n\n0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13,FAIL,\n\n0x14,0x15,DONE,FAIL,FAIL,FAIL,FAIL,FAIL,\n\n0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,\n\n0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,FAIL,\n\n0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,FAIL,\n\n0x2C,0x2D,0x2E,0x2F,FAIL,FAIL,FAIL,FAIL,\n\n0x30,0x31,0x32,0x33,0x34,0x35,0x36,FAIL,\n\n0x37,0x38,0x39,0x3A,0x3B,0x3C,FAIL,FAIL,\n\n0x3D,0x3E,0x3F,FAIL,FAIL,FAIL,FAIL,FAIL,\n\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\nFAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,FAIL,\n]\n\ndef a2b_hqx(s):\n result=[]\n \n def quadruples_gen(s):\n t=[]\n for c in s:\n res=table_a2b_hqx[ord(c)]\n if res ==SKIP:\n continue\n elif res ==FAIL:\n raise Error('Illegal character')\n elif res ==DONE:\n yield t\n raise Done\n else:\n t.append(res)\n if len(t)==4:\n yield t\n t=[]\n yield t\n \n done=0\n try:\n for snippet in quadruples_gen(s):\n length=len(snippet)\n if length ==4:\n result.append(chr(((snippet[0]&0x3f)<<2)|(snippet[1]>>4)))\n result.append(chr(((snippet[1]&0x0f)<<4)|(snippet[2]>>2)))\n result.append(chr(((snippet[2]&0x03)<<6)|(snippet[3])))\n elif length ==3:\n result.append(chr(((snippet[0]&0x3f)<<2)|(snippet[1]>>4)))\n result.append(chr(((snippet[1]&0x0f)<<4)|(snippet[2]>>2)))\n elif length ==2:\n result.append(chr(((snippet[0]&0x3f)<<2)|(snippet[1]>>4)))\n except Done:\n done=1\n except Error:\n raise\n return(''.join(result),done)\n \n \n \ndef b2a_hqx(s):\n result=[]\n \n def triples_gen(s):\n while s:\n try:\n yield ord(s[0]),ord(s[1]),ord(s[2])\n except IndexError:\n yield tuple([ord(c)for c in s])\n s=s[3:]\n \n for snippet in triples_gen(s):\n length=len(snippet)\n if length ==3:\n result.append(\n hqx_encoding[(snippet[0]&0xfc)>>2])\n result.append(hqx_encoding[\n ((snippet[0]&0x03)<<4)|((snippet[1]&0xf0)>>4)])\n result.append(hqx_encoding[\n (snippet[1]&0x0f)<<2 |((snippet[2]&0xc0)>>6)])\n result.append(hqx_encoding[snippet[2]&0x3f])\n elif length ==2:\n result.append(\n hqx_encoding[(snippet[0]&0xfc)>>2])\n result.append(hqx_encoding[\n ((snippet[0]&0x03)<<4)|((snippet[1]&0xf0)>>4)])\n result.append(hqx_encoding[\n (snippet[1]&0x0f)<<2])\n elif length ==1:\n result.append(\n hqx_encoding[(snippet[0]&0xfc)>>2])\n result.append(hqx_encoding[\n ((snippet[0]&0x03)<<4)])\n return ''.join(result)\n \ncrctab_hqx=[\n0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7,\n0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef,\n0x1231,0x0210,0x3273,0x2252,0x52b5,0x4294,0x72f7,0x62d6,\n0x9339,0x8318,0xb37b,0xa35a,0xd3bd,0xc39c,0xf3ff,0xe3de,\n0x2462,0x3443,0x0420,0x1401,0x64e6,0x74c7,0x44a4,0x5485,\n0xa56a,0xb54b,0x8528,0x9509,0xe5ee,0xf5cf,0xc5ac,0xd58d,\n0x3653,0x2672,0x1611,0x0630,0x76d7,0x66f6,0x5695,0x46b4,\n0xb75b,0xa77a,0x9719,0x8738,0xf7df,0xe7fe,0xd79d,0xc7bc,\n0x48c4,0x58e5,0x6886,0x78a7,0x0840,0x1861,0x2802,0x3823,\n0xc9cc,0xd9ed,0xe98e,0xf9af,0x8948,0x9969,0xa90a,0xb92b,\n0x5af5,0x4ad4,0x7ab7,0x6a96,0x1a71,0x0a50,0x3a33,0x2a12,\n0xdbfd,0xcbdc,0xfbbf,0xeb9e,0x9b79,0x8b58,0xbb3b,0xab1a,\n0x6ca6,0x7c87,0x4ce4,0x5cc5,0x2c22,0x3c03,0x0c60,0x1c41,\n0xedae,0xfd8f,0xcdec,0xddcd,0xad2a,0xbd0b,0x8d68,0x9d49,\n0x7e97,0x6eb6,0x5ed5,0x4ef4,0x3e13,0x2e32,0x1e51,0x0e70,\n0xff9f,0xefbe,0xdfdd,0xcffc,0xbf1b,0xaf3a,0x9f59,0x8f78,\n0x9188,0x81a9,0xb1ca,0xa1eb,0xd10c,0xc12d,0xf14e,0xe16f,\n0x1080,0x00a1,0x30c2,0x20e3,0x5004,0x4025,0x7046,0x6067,\n0x83b9,0x9398,0xa3fb,0xb3da,0xc33d,0xd31c,0xe37f,0xf35e,\n0x02b1,0x1290,0x22f3,0x32d2,0x4235,0x5214,0x6277,0x7256,\n0xb5ea,0xa5cb,0x95a8,0x8589,0xf56e,0xe54f,0xd52c,0xc50d,\n0x34e2,0x24c3,0x14a0,0x0481,0x7466,0x6447,0x5424,0x4405,\n0xa7db,0xb7fa,0x8799,0x97b8,0xe75f,0xf77e,0xc71d,0xd73c,\n0x26d3,0x36f2,0x0691,0x16b0,0x6657,0x7676,0x4615,0x5634,\n0xd94c,0xc96d,0xf90e,0xe92f,0x99c8,0x89e9,0xb98a,0xa9ab,\n0x5844,0x4865,0x7806,0x6827,0x18c0,0x08e1,0x3882,0x28a3,\n0xcb7d,0xdb5c,0xeb3f,0xfb1e,0x8bf9,0x9bd8,0xabbb,0xbb9a,\n0x4a75,0x5a54,0x6a37,0x7a16,0x0af1,0x1ad0,0x2ab3,0x3a92,\n0xfd2e,0xed0f,0xdd6c,0xcd4d,0xbdaa,0xad8b,0x9de8,0x8dc9,\n0x7c26,0x6c07,0x5c64,0x4c45,0x3ca2,0x2c83,0x1ce0,0x0cc1,\n0xef1f,0xff3e,0xcf5d,0xdf7c,0xaf9b,0xbfba,0x8fd9,0x9ff8,\n0x6e17,0x7e36,0x4e55,0x5e74,0x2e93,0x3eb2,0x0ed1,0x1ef0,\n]\n\ndef crc_hqx(s,crc):\n for c in s:\n crc=((crc <<8)&0xff00)^crctab_hqx[((crc >>8)&0xff)^ord(c)]\n \n return crc\n \ndef rlecode_hqx(s):\n ''\n\n\n\n \n if not s:\n return ''\n result=[]\n prev=s[0]\n count=1\n \n \n \n \n if s[-1]=='!':\n s=s[1:]+'?'\n else:\n s=s[1:]+'!'\n \n for c in s:\n if c ==prev and count <255:\n count +=1\n else:\n if count ==1:\n if prev !='\\x90':\n result.append(prev)\n else:\n result.extend(['\\x90','\\x00'])\n elif count <4:\n if prev !='\\x90':\n result.extend([prev]*count)\n else:\n result.extend(['\\x90','\\x00']*count)\n else:\n if prev !='\\x90':\n result.extend([prev,'\\x90',chr(count)])\n else:\n result.extend(['\\x90','\\x00','\\x90',chr(count)])\n count=1\n prev=c\n \n return ''.join(result)\n \ndef rledecode_hqx(s):\n s=s.split('\\x90')\n result=[s[0]]\n prev=s[0]\n for snippet in s[1:]:\n count=ord(snippet[0])\n if count >0:\n result.append(prev[-1]*(count -1))\n prev=snippet\n else:\n result.append('\\x90')\n prev='\\x90'\n result.append(snippet[1:])\n \n return ''.join(result)\n \ncrc_32_tab=[\n0x00000000,0x77073096,0xee0e612c,0x990951ba,0x076dc419,\n0x706af48f,0xe963a535,0x9e6495a3,0x0edb8832,0x79dcb8a4,\n0xe0d5e91e,0x97d2d988,0x09b64c2b,0x7eb17cbd,0xe7b82d07,\n0x90bf1d91,0x1db71064,0x6ab020f2,0xf3b97148,0x84be41de,\n0x1adad47d,0x6ddde4eb,0xf4d4b551,0x83d385c7,0x136c9856,\n0x646ba8c0,0xfd62f97a,0x8a65c9ec,0x14015c4f,0x63066cd9,\n0xfa0f3d63,0x8d080df5,0x3b6e20c8,0x4c69105e,0xd56041e4,\n0xa2677172,0x3c03e4d1,0x4b04d447,0xd20d85fd,0xa50ab56b,\n0x35b5a8fa,0x42b2986c,0xdbbbc9d6,0xacbcf940,0x32d86ce3,\n0x45df5c75,0xdcd60dcf,0xabd13d59,0x26d930ac,0x51de003a,\n0xc8d75180,0xbfd06116,0x21b4f4b5,0x56b3c423,0xcfba9599,\n0xb8bda50f,0x2802b89e,0x5f058808,0xc60cd9b2,0xb10be924,\n0x2f6f7c87,0x58684c11,0xc1611dab,0xb6662d3d,0x76dc4190,\n0x01db7106,0x98d220bc,0xefd5102a,0x71b18589,0x06b6b51f,\n0x9fbfe4a5,0xe8b8d433,0x7807c9a2,0x0f00f934,0x9609a88e,\n0xe10e9818,0x7f6a0dbb,0x086d3d2d,0x91646c97,0xe6635c01,\n0x6b6b51f4,0x1c6c6162,0x856530d8,0xf262004e,0x6c0695ed,\n0x1b01a57b,0x8208f4c1,0xf50fc457,0x65b0d9c6,0x12b7e950,\n0x8bbeb8ea,0xfcb9887c,0x62dd1ddf,0x15da2d49,0x8cd37cf3,\n0xfbd44c65,0x4db26158,0x3ab551ce,0xa3bc0074,0xd4bb30e2,\n0x4adfa541,0x3dd895d7,0xa4d1c46d,0xd3d6f4fb,0x4369e96a,\n0x346ed9fc,0xad678846,0xda60b8d0,0x44042d73,0x33031de5,\n0xaa0a4c5f,0xdd0d7cc9,0x5005713c,0x270241aa,0xbe0b1010,\n0xc90c2086,0x5768b525,0x206f85b3,0xb966d409,0xce61e49f,\n0x5edef90e,0x29d9c998,0xb0d09822,0xc7d7a8b4,0x59b33d17,\n0x2eb40d81,0xb7bd5c3b,0xc0ba6cad,0xedb88320,0x9abfb3b6,\n0x03b6e20c,0x74b1d29a,0xead54739,0x9dd277af,0x04db2615,\n0x73dc1683,0xe3630b12,0x94643b84,0x0d6d6a3e,0x7a6a5aa8,\n0xe40ecf0b,0x9309ff9d,0x0a00ae27,0x7d079eb1,0xf00f9344,\n0x8708a3d2,0x1e01f268,0x6906c2fe,0xf762575d,0x806567cb,\n0x196c3671,0x6e6b06e7,0xfed41b76,0x89d32be0,0x10da7a5a,\n0x67dd4acc,0xf9b9df6f,0x8ebeeff9,0x17b7be43,0x60b08ed5,\n0xd6d6a3e8,0xa1d1937e,0x38d8c2c4,0x4fdff252,0xd1bb67f1,\n0xa6bc5767,0x3fb506dd,0x48b2364b,0xd80d2bda,0xaf0a1b4c,\n0x36034af6,0x41047a60,0xdf60efc3,0xa867df55,0x316e8eef,\n0x4669be79,0xcb61b38c,0xbc66831a,0x256fd2a0,0x5268e236,\n0xcc0c7795,0xbb0b4703,0x220216b9,0x5505262f,0xc5ba3bbe,\n0xb2bd0b28,0x2bb45a92,0x5cb36a04,0xc2d7ffa7,0xb5d0cf31,\n0x2cd99e8b,0x5bdeae1d,0x9b64c2b0,0xec63f226,0x756aa39c,\n0x026d930a,0x9c0906a9,0xeb0e363f,0x72076785,0x05005713,\n0x95bf4a82,0xe2b87a14,0x7bb12bae,0x0cb61b38,0x92d28e9b,\n0xe5d5be0d,0x7cdcefb7,0x0bdbdf21,0x86d3d2d4,0xf1d4e242,\n0x68ddb3f8,0x1fda836e,0x81be16cd,0xf6b9265b,0x6fb077e1,\n0x18b74777,0x88085ae6,0xff0f6a70,0x66063bca,0x11010b5c,\n0x8f659eff,0xf862ae69,0x616bffd3,0x166ccf45,0xa00ae278,\n0xd70dd2ee,0x4e048354,0x3903b3c2,0xa7672661,0xd06016f7,\n0x4969474d,0x3e6e77db,0xaed16a4a,0xd9d65adc,0x40df0b66,\n0x37d83bf0,0xa9bcae53,0xdebb9ec5,0x47b2cf7f,0x30b5ffe9,\n0xbdbdf21c,0xcabac28a,0x53b39330,0x24b4a3a6,0xbad03605,\n0xcdd70693,0x54de5729,0x23d967bf,0xb3667a2e,0xc4614ab8,\n0x5d681b02,0x2a6f2b94,0xb40bbe37,0xc30c8ea1,0x5a05df1b,\n0x2d02ef8d\n]\n\ndef crc32(s,crc=0):\n result=0\n crc=~int(crc)&0xffffffff\n \n for c in s:\n crc=crc_32_tab[(crc ^int(ord(c)))&0xff]^(crc >>8)\n \n \n \n result=crc ^0xffffffff\n \n if result >2 **31:\n result=((result+2 **31)%2 **32)-2 **31\n \n return result\n",["_base64","_binascii"]],bisect:[".py","''\n\n\ndef insort_right(a,x,lo=0,hi=None,*,key=None):\n ''\n\n\n\n\n\n\n\n \n if key is None:\n lo=bisect_right(a,x,lo,hi)\n else:\n lo=bisect_right(a,key(x),lo,hi,key=key)\n a.insert(lo,x)\n \n \ndef bisect_right(a,x,lo=0,hi=None,*,key=None):\n ''\n\n\n\n\n\n\n\n\n\n \n \n if lo <0:\n raise ValueError('lo must be non-negative')\n if hi is None:\n hi=len(a)\n \n \n if key is None:\n while lo =9:\n names=day_name\n else:\n names=day_abbr\n return names[day][:width].center(width)\n \n def formatweekheader(self,width):\n \'\'\n\n \n return \' \'.join(self.formatweekday(i,width)for i in self.iterweekdays())\n \n def formatmonthname(self,theyear,themonth,width,withyear=True):\n \'\'\n\n \n s=month_name[themonth]\n if withyear:\n s="%s %r"%(s,theyear)\n return s.center(width)\n \n def prmonth(self,theyear,themonth,w=0,l=0):\n \'\'\n\n \n print(self.formatmonth(theyear,themonth,w,l),end=\'\')\n \n def formatmonth(self,theyear,themonth,w=0,l=0):\n \'\'\n\n \n w=max(2,w)\n l=max(1,l)\n s=self.formatmonthname(theyear,themonth,7 *(w+1)-1)\n s=s.rstrip()\n s +=\'\\n\'*l\n s +=self.formatweekheader(w).rstrip()\n s +=\'\\n\'*l\n for week in self.monthdays2calendar(theyear,themonth):\n s +=self.formatweek(week,w).rstrip()\n s +=\'\\n\'*l\n return s\n \n def formatyear(self,theyear,w=2,l=1,c=6,m=3):\n \'\'\n\n \n w=max(2,w)\n l=max(1,l)\n c=max(2,c)\n colwidth=(w+1)*7 -1\n v=[]\n a=v.append\n a(repr(theyear).center(colwidth *m+c *(m -1)).rstrip())\n a(\'\\n\'*l)\n header=self.formatweekheader(w)\n for(i,row)in enumerate(self.yeardays2calendar(theyear,m)):\n \n months=range(m *i+1,min(m *(i+1)+1,13))\n a(\'\\n\'*l)\n names=(self.formatmonthname(theyear,k,colwidth,False)\n for k in months)\n a(formatstring(names,colwidth,c).rstrip())\n a(\'\\n\'*l)\n headers=(header for k in months)\n a(formatstring(headers,colwidth,c).rstrip())\n a(\'\\n\'*l)\n \n height=max(len(cal)for cal in row)\n for j in range(height):\n weeks=[]\n for cal in row:\n if j >=len(cal):\n weeks.append(\'\')\n else:\n weeks.append(self.formatweek(cal[j],w))\n a(formatstring(weeks,colwidth,c).rstrip())\n a(\'\\n\'*l)\n return \'\'.join(v)\n \n def pryear(self,theyear,w=0,l=0,c=6,m=3):\n \'\'\n print(self.formatyear(theyear,w,l,c,m),end=\'\')\n \n \nclass HTMLCalendar(Calendar):\n \'\'\n\n \n \n \n cssclasses=["mon","tue","wed","thu","fri","sat","sun"]\n \n \n cssclasses_weekday_head=cssclasses\n \n \n cssclass_noday="noday"\n \n \n cssclass_month_head="month"\n \n \n cssclass_month="month"\n \n \n cssclass_year_head="year"\n \n \n cssclass_year="year"\n \n def formatday(self,day,weekday):\n \'\'\n\n \n if day ==0:\n \n return \' \'%self.cssclass_noday\n else:\n return \'%d\'%(self.cssclasses[weekday],day)\n \n def formatweek(self,theweek):\n \'\'\n\n \n s=\'\'.join(self.formatday(d,wd)for(d,wd)in theweek)\n return \'%s\'%s\n \n def formatweekday(self,day):\n \'\'\n\n \n return \'%s\'%(\n self.cssclasses_weekday_head[day],day_abbr[day])\n \n def formatweekheader(self):\n \'\'\n\n \n s=\'\'.join(self.formatweekday(i)for i in self.iterweekdays())\n return \'%s\'%s\n \n def formatmonthname(self,theyear,themonth,withyear=True):\n \'\'\n\n \n if withyear:\n s=\'%s %s\'%(month_name[themonth],theyear)\n else:\n s=\'%s\'%month_name[themonth]\n return \'%s\'%(\n self.cssclass_month_head,s)\n \n def formatmonth(self,theyear,themonth,withyear=True):\n \'\'\n\n \n v=[]\n a=v.append\n a(\'\'%(\n self.cssclass_month))\n a(\'\\n\')\n a(self.formatmonthname(theyear,themonth,withyear=withyear))\n a(\'\\n\')\n a(self.formatweekheader())\n a(\'\\n\')\n for week in self.monthdays2calendar(theyear,themonth):\n a(self.formatweek(week))\n a(\'\\n\')\n a(\'
\')\n a(\'\\n\')\n return \'\'.join(v)\n \n def formatyear(self,theyear,width=3):\n \'\'\n\n \n v=[]\n a=v.append\n width=max(width,1)\n a(\'\'%\n self.cssclass_year)\n a(\'\\n\')\n a(\'\'%(\n width,self.cssclass_year_head,theyear))\n for i in range(JANUARY,JANUARY+12,width):\n \n months=range(i,min(i+width,13))\n a(\'\')\n for m in months:\n a(\'\')\n a(\'\')\n a(\'
%s
\')\n a(self.formatmonth(theyear,m,withyear=False))\n a(\'
\')\n return \'\'.join(v)\n \n def formatyearpage(self,theyear,width=3,css=\'calendar.css\',encoding=None):\n \'\'\n\n \n if encoding is None:\n encoding=sys.getdefaultencoding()\n v=[]\n a=v.append\n a(\'\\n\'%encoding)\n a(\'\\n\')\n a(\'\\n\')\n a(\'\\n\')\n a(\'\\n\'%encoding)\n if css is not None:\n a(\'\\n\'%css)\n a(\'Calendar for %d\\n\'%theyear)\n a(\'\\n\')\n a(\'\\n\')\n a(self.formatyear(theyear,width))\n a(\'\\n\')\n a(\'\\n\')\n return \'\'.join(v).encode(encoding,"xmlcharrefreplace")\n \n \nclass different_locale:\n def __init__(self,locale):\n self.locale=locale\n self.oldlocale=None\n \n def __enter__(self):\n self.oldlocale=_locale.setlocale(_locale.LC_TIME,None)\n _locale.setlocale(_locale.LC_TIME,self.locale)\n \n def __exit__(self,*args):\n if self.oldlocale is None:\n return\n _locale.setlocale(_locale.LC_TIME,self.oldlocale)\n \n \ndef _get_default_locale():\n locale=_locale.setlocale(_locale.LC_TIME,None)\n if locale =="C":\n with different_locale(""):\n \n \n locale=_locale.setlocale(_locale.LC_TIME,None)\n return locale\n \n \nclass LocaleTextCalendar(TextCalendar):\n \'\'\n\n\n \n \n def __init__(self,firstweekday=0,locale=None):\n TextCalendar.__init__(self,firstweekday)\n if locale is None:\n locale=_get_default_locale()\n self.locale=locale\n \n def formatweekday(self,day,width):\n with different_locale(self.locale):\n return super().formatweekday(day,width)\n \n def formatmonthname(self,theyear,themonth,width,withyear=True):\n with different_locale(self.locale):\n return super().formatmonthname(theyear,themonth,width,withyear)\n \n \nclass LocaleHTMLCalendar(HTMLCalendar):\n \'\'\n\n\n \n def __init__(self,firstweekday=0,locale=None):\n HTMLCalendar.__init__(self,firstweekday)\n if locale is None:\n locale=_get_default_locale()\n self.locale=locale\n \n def formatweekday(self,day):\n with different_locale(self.locale):\n return super().formatweekday(day)\n \n def formatmonthname(self,theyear,themonth,withyear=True):\n with different_locale(self.locale):\n return super().formatmonthname(theyear,themonth,withyear)\n \n \nc=TextCalendar()\n\nfirstweekday=c.getfirstweekday\n\ndef setfirstweekday(firstweekday):\n if not MONDAY <=firstweekday <=SUNDAY:\n raise IllegalWeekdayError(firstweekday)\n c.firstweekday=firstweekday\n \nmonthcalendar=c.monthdayscalendar\nprweek=c.prweek\nweek=c.formatweek\nweekheader=c.formatweekheader\nprmonth=c.prmonth\nmonth=c.formatmonth\ncalendar=c.formatyear\nprcal=c.pryear\n\n\n\n_colwidth=7 *3 -1\n_spacing=6\n\n\ndef format(cols,colwidth=_colwidth,spacing=_spacing):\n \'\'\n print(formatstring(cols,colwidth,spacing))\n \n \ndef formatstring(cols,colwidth=_colwidth,spacing=_spacing):\n \'\'\n spacing *=\' \'\n return spacing.join(c.center(colwidth)for c in cols)\n \n \nEPOCH=1970\n_EPOCH_ORD=datetime.date(EPOCH,1,1).toordinal()\n\n\ndef timegm(tuple):\n \'\'\n year,month,day,hour,minute,second=tuple[:6]\n days=datetime.date(year,month,1).toordinal()-_EPOCH_ORD+day -1\n hours=days *24+hour\n minutes=hours *60+minute\n seconds=minutes *60+second\n return seconds\n \n \ndef main(args):\n import argparse\n parser=argparse.ArgumentParser()\n textgroup=parser.add_argument_group(\'text only arguments\')\n htmlgroup=parser.add_argument_group(\'html only arguments\')\n textgroup.add_argument(\n "-w","--width",\n type=int,default=2,\n help="width of date column (default 2)"\n )\n textgroup.add_argument(\n "-l","--lines",\n type=int,default=1,\n help="number of lines for each week (default 1)"\n )\n textgroup.add_argument(\n "-s","--spacing",\n type=int,default=6,\n help="spacing between months (default 6)"\n )\n textgroup.add_argument(\n "-m","--months",\n type=int,default=3,\n help="months per row (default 3)"\n )\n htmlgroup.add_argument(\n "-c","--css",\n default="calendar.css",\n help="CSS to use for page"\n )\n parser.add_argument(\n "-L","--locale",\n default=None,\n help="locale to use for month and weekday names"\n )\n parser.add_argument(\n "-e","--encoding",\n default=None,\n help="encoding to use for output"\n )\n parser.add_argument(\n "-t","--type",\n default="text",\n choices=("text","html"),\n help="output type (text or html)"\n )\n parser.add_argument(\n "year",\n nargs=\'?\',type=int,\n help="year number (1-9999)"\n )\n parser.add_argument(\n "month",\n nargs=\'?\',type=int,\n help="month number (1-12, text only)"\n )\n \n options=parser.parse_args(args[1:])\n \n if options.locale and not options.encoding:\n parser.error("if --locale is specified --encoding is required")\n sys.exit(1)\n \n locale=options.locale,options.encoding\n \n if options.type =="html":\n if options.locale:\n cal=LocaleHTMLCalendar(locale=locale)\n else:\n cal=HTMLCalendar()\n encoding=options.encoding\n if encoding is None:\n encoding=sys.getdefaultencoding()\n optdict=dict(encoding=encoding,css=options.css)\n write=sys.stdout.buffer.write\n if options.year is None:\n write(cal.formatyearpage(datetime.date.today().year,**optdict))\n elif options.month is None:\n write(cal.formatyearpage(options.year,**optdict))\n else:\n parser.error("incorrect number of arguments")\n sys.exit(1)\n else:\n if options.locale:\n cal=LocaleTextCalendar(locale=locale)\n else:\n cal=TextCalendar()\n optdict=dict(w=options.width,l=options.lines)\n if options.month is None:\n optdict["c"]=options.spacing\n optdict["m"]=options.months\n if options.year is None:\n result=cal.formatyear(datetime.date.today().year,**optdict)\n elif options.month is None:\n result=cal.formatyear(options.year,**optdict)\n else:\n result=cal.formatmonth(options.year,options.month,**optdict)\n write=sys.stdout.write\n if options.encoding:\n result=result.encode(options.encoding)\n write=sys.stdout.buffer.write\n write(result)\n \n \nif __name__ =="__main__":\n main(sys.argv)\n',["argparse","datetime","enum","itertools","locale","sys","warnings"]],cmath:[".py","\n\n\n\n\n\n\n\n\n\nimport math\nimport sys\n\ndef _takes_complex(func):\n def decorated(x):\n if isinstance(x,complex):\n return func(x)\n elif type(x)in[int,float]:\n return func(complex(x))\n elif hasattr(x,'__complex__'):\n c=x.__complex__()\n if not isinstance(c,complex):\n raise TypeError(\"A complex number is required\")\n else:\n return func(c)\n elif hasattr(x,'__float__'):\n try:\n c=complex(x.__float__(),0)\n except:\n raise TypeError(\"A complex number is required\")\n return func(c)\n elif hasattr(x,'__index__'):\n try:\n c=complex(x.__index__(),0)\n except:\n raise TypeError(\"A complex number is required\")\n return func(c)\n else:\n raise TypeError(\"A complex number is required\")\n if hasattr(func,'__doc__'):\n decorated.__doc__=func.__doc__\n if hasattr(func,'__name__'):\n decorated.__name__=func.__name__\n return decorated\n \n@_takes_complex\ndef isfinite(x):\n return math.isfinite(x.imag)and math.isfinite(x.real)\n \n@_takes_complex\ndef phase(x):\n ''\n return math.atan2(x.imag,x.real)\n \n@_takes_complex\ndef polar(x):\n ''\n\n\n\n\n \n phi=math.atan2(x.imag,x.real)\n if math.isnan(x.imag):\n if math.isinf(x.real):\n return abs(x.real),nan\n return nan,nan\n elif math.isinf(x.imag):\n r=inf\n elif math.isinf(x.real):\n r=inf\n else:\n r=math.sqrt(x.real **2+x.imag **2)\n if math.isinf(r):\n raise OverflowError(\"math range error\")\n return r,phi\n \ndef rect(r,phi):\n ''\n\n \n if math.isnan(r):\n if not math.isnan(phi)and not phi:\n return complex(nan,0)\n return complex(nan,nan)\n elif math.isnan(phi):\n if not r:\n return complex(0,0)\n elif math.isinf(r):\n return complex(inf,nan)\n return complex(nan,nan)\n if math.isinf(r)or math.isinf(phi):\n \n \n if math.isinf(phi)and r !=.0 and not math.isnan(r):\n raise ValueError(\"math domain error\")\n \n \n \n \n if -inf 0:\n _real=math.copysign(inf,math.cos(phi))\n _imag=math.copysign(inf,math.sin(phi))\n else:\n _real=-math.copysign(inf,math.cos(phi));\n _imag=-math.copysign(inf,math.sin(phi));\n return complex(_real,_imag)\n return _SPECIAL_VALUE(complex(r,phi),_rect_special_values)\n \n else:\n if phi ==.0:\n \n \n \n return complex(r,phi *r)\n else:\n return complex(r *math.cos(phi),r *math.sin(phi))\n \n@_takes_complex\ndef sqrt(x):\n ''\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n s,d,ax,ay=.0,.0,math.fabs(x.real),math.fabs(x.imag)\n \n ret=_SPECIAL_VALUE(x,_sqrt_special_values)\n if ret is not None:\n return ret\n \n if math.isinf(x.imag):\n return complex(inf,x.imag)\n \n if x.real ==.0 and x.imag ==.0:\n _real=.0\n _imag=x.imag\n return complex(_real,_imag)\n \n if ay ==0:\n s=math.sqrt(ax)\n d=0\n elif ax 0. or ay >0.):\n \n AX=math.ldexp(ax,_CM_SCALE_UP)\n AY=math.ldexp(ay,_CM_SCALE_UP)\n S=math.sqrt((AX+math.hypot(AX,AY))/2.0)\n D=AY /(2 *S)\n s=math.ldexp(S,_CM_SCALE_DOWN)\n d=math.ldexp(D,_CM_SCALE_DOWN)\n else:\n ax /=8.0 ;\n s=2.0 *math.sqrt(ax+math.hypot(ax,ay /8.0));\n d=ay /(2.0 *s)\n \n if x.real >=.0:\n _real=s ;\n _imag=math.copysign(d,x.imag)\n else:\n _real=d ;\n _imag=math.copysign(s,x.imag)\n \n return complex(_real,_imag)\n \n@_takes_complex\ndef acos(x):\n ''\n\n\n\n\n \n \n ret=_SPECIAL_VALUE(x,_acos_special_values)\n if ret is not None:\n if isinstance(ret,Exception):\n raise ret\n return ret\n \n if math.fabs(x.real)>_CM_LARGE_DOUBLE or math.fabs(x.imag)>_CM_LARGE_DOUBLE:\n \n _real=math.atan2(math.fabs(x.imag),x.real)\n \n \n \n if x.real <0:\n _imag=-math.copysign(math.log(math.hypot(x.real /2.,x.imag /2.))+_M_LN2 *2.,x.imag);\n else:\n _imag=math.copysign(math.log(math.hypot(x.real /2.,x.imag /2.))+_M_LN2 *2.,-x.imag);\n elif math.isnan(x.real):\n return complex(nan,nan)\n elif math.isnan(x.imag):\n if x.real ==0:\n return complex(pi /2,nan)\n return complex(nan,nan)\n else:\n s1=complex(float(1 -x.real),-x.imag)\n s1=sqrt(s1)\n s2=complex(1.0+x.real,x.imag)\n s2=sqrt(s2)\n _real=2.0 *math.atan2(s1.real,s2.real)\n _imag=math.asinh(s2.real *s1.imag -s2.imag *s1.real)\n if not x.imag:\n if x.real >1:\n _real=0\n elif x.real <-1:\n _real=math.pi\n \n return complex(_real,_imag)\n \n@_takes_complex\ndef acosh(x):\n ''\n\n\n\n \n ret=_SPECIAL_VALUE(x,_acosh_special_values)\n if ret is not None:\n return ret\n \n if math.fabs(x.real)>_CM_LARGE_DOUBLE or math.fabs(x.imag)>_CM_LARGE_DOUBLE:\n \n _real=math.log(math.hypot(x.real /2.0,x.imag /2.0))+_M_LN2 *2.0\n _imag=math.atan2(x.imag,x.real);\n else:\n s1=sqrt(complex(x.real -1.0,x.imag))\n s2=sqrt(complex(x.real+1.0,x.imag))\n _real=math.asinh(s1.real *s2.real+s1.imag *s2.imag)\n _imag=2. *math.atan2(s1.imag,s2.real)\n \n return complex(_real,_imag)\n \n@_takes_complex\ndef asin(x):\n ''\n\n\n\n \n \n s=complex(-x.imag,x.real)\n s=asinh(s)\n return complex(s.imag,-s.real)\n \n@_takes_complex\ndef asinh(x):\n ''\n\n\n\n\n \n ret=_SPECIAL_VALUE(x,_asinh_special_values)\n if ret is not None:\n return ret\n \n if math.fabs(x.real)>_CM_LARGE_DOUBLE or math.fabs(x.imag)>_CM_LARGE_DOUBLE:\n if x.imag >=.0:\n _real=math.copysign(math.log(math.hypot(x.real /2.,x.imag /2.))+_M_LN2 *2.,x.real)\n else:\n _real=-math.copysign(math.log(math.hypot(x.real /2.,x.imag /2.))+_M_LN2 *2.,-x.real)\n _imag=math.atan2(x.imag,math.fabs(x.real))\n else:\n s1=sqrt(complex(1.0+x.imag,-x.real))\n s2=sqrt(complex(1.0 -x.imag,x.real))\n _real=math.asinh(s1.real *s2.imag -s2.real *s1.imag)\n _imag=math.atan2(x.imag,s1.real *s2.real -s1.imag *s2.imag)\n return complex(_real,_imag)\n \n@_takes_complex\ndef atan(x):\n ''\n\n\n\n\n \n ret=_SPECIAL_VALUE(x,_atan_special_values)\n if ret is not None:\n return ret\n \n if isinf(x):\n return complex(math.copysign(1,x.real)*pi /2,\n math.copysign(0,x.imag))\n s=atanh(complex(-x.imag,x.real))\n return complex(s.imag,-s.real)\n \n@_takes_complex\ndef atanh(x):\n ''\n\n\n\n\n \n \n ret=_SPECIAL_VALUE(x,_atanh_special_values)\n if ret is not None:\n return ret\n \n if isinf(x):\n return complex(math.copysign(0,x.real),\n math.copysign(1,x.imag)*pi /2)\n \n \n if x.real <.0:\n return -(atanh(-x))\n \n ay=math.fabs(x.imag)\n \n if x.real >_CM_SQRT_LARGE_DOUBLE or ay >_CM_SQRT_LARGE_DOUBLE:\n \n \n \n \n \n h=math.hypot(x.real /2.,x.imag /2.)\n _real=x.real /4. /h /h\n \n \n \n \n \n \n _imag=-math.copysign(math.pi /2.,-x.imag)\n \n elif x.real ==1.0 and ay <_CM_SQRT_DBL_MIN:\n \n \n if(ay ==.0):\n raise ValueError(\"math domain error\")\n else:\n _real=-math.log(math.sqrt(ay)/math.sqrt(math.hypot(ay,2.)))\n _imag=math.copysign(math.atan2(2.0,-ay)/2,x.imag)\n \n else:\n \n _real=math.log1p(4. *x.real /((1 -x.real)*(1 -x.real)+ay *ay))/4.\n _imag=-math.atan2(-2. *x.imag,(1 -x.real)*(1+x.real)-ay *ay)/2.\n errno=0\n \n return complex(_real,_imag)\n \n@_takes_complex\ndef cos(x):\n ''\n return cosh(complex(-x.imag,x.real))\n \n@_takes_complex\ndef cosh(x):\n ''\n \n ret=_SPECIAL_VALUE(x,_cosh_special_values)\n if ret is not None:\n if isinstance(ret,Exception):\n raise ret\n return ret\n \n if not math.isinf(x.real)and math.fabs(x.real)>_CM_LOG_LARGE_DOUBLE:\n \n \n x_minus_one=x.real -math.copysign(1.0,x.real)\n _real=cos(x.imag)*math.cosh(x_minus_one)*math.e\n _imag=sin(x.imag)*math.sinh(x_minus_one)*math.e\n elif math.isinf(x.real)and x.imag ==0:\n if x.real >0:\n return x\n else:\n return complex(inf,-x.imag)\n elif math.isinf(x.imag):\n raise ValueError(\"math domain error\")\n else:\n _real=math.cos(x.imag)*math.cosh(x.real)\n _imag=math.sin(x.imag)*math.sinh(x.real)\n \n ret=complex(_real,_imag)\n return ret\n \n@_takes_complex\ndef exp(x):\n ''\n if math.isinf(x.real)or math.isinf(x.imag):\n \n if math.isinf(x.imag)and(-inf 0):\n raise ValueError(\"math domain error\")\n \n if math.isinf(x.real)and -inf 0:\n _real=math.copysign(inf,math.cos(x.imag))\n _imag=math.copysign(inf,math.sin(x.imag))\n else:\n _real=math.copysign(.0,math.cos(x.imag))\n _imag=math.copysign(.0,math.sin(x.imag))\n return complex(_real,_imag)\n \n return _SPECIAL_VALUE(x,_exp_special_values)\n \n if math.isnan(x.real)and x.imag ==0:\n return x\n \n if x.real >_CM_LOG_LARGE_DOUBLE:\n l=math.exp(x.real -1.);\n _real=l *math.cos(x.imag)*math.e\n _imag=l *math.sin(x.imag)*math.e\n else:\n l=math.exp(x.real);\n _real=l *math.cos(x.imag)\n _imag=l *math.sin(x.imag)\n \n if math.isinf(_real)or math.isinf(_imag):\n raise OverflowError()\n \n return complex(_real,_imag)\n \ndef isclose(x,y,*,rel_tol=1e-09,abs_tol=0.0):\n try:\n complex(x)\n except ValueError:\n raise TypeError(f\"must be a number, not {x.__class__.__name__}\")\n try:\n complex(y)\n except ValueError:\n raise TypeError(f\"must be a number, not {y.__class__.__name__}\")\n rel_tol=float(rel_tol)\n abs_tol=float(abs_tol)\n if rel_tol <0.0 or abs_tol <0.0:\n raise ValueError('tolerances must be non-negative')\n if x is inf or x is _NINF or y is inf or y is _NINF:\n return y is x\n if x is nan or y is nan:\n return False\n return abs(x -y)<=max(rel_tol *float(max(abs(x),abs(y))),abs_tol)\n \n@_takes_complex\ndef isinf(x):\n ''\n return math.isinf(x.real)or math.isinf(x.imag)\n \n@_takes_complex\ndef isnan(x):\n ''\n return math.isnan(x.real)or math.isnan(x.imag)\n \n \n@_takes_complex\ndef _to_complex(x):\n return x\n \ndef log(x,base=None):\n ''\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n x=_to_complex(x)\n \n \n \n \n \n \n denom=1 if base is None else log(base)\n ''\n\n\n\n \n \n ret=_SPECIAL_VALUE(x,_log_special_values)\n if ret is not None:\n return ret\n \n if math.isnan(x.real):\n return complex(inf if math.isinf(x.imag)else nan,nan)\n elif math.isnan(x.imag):\n return complex(inf if math.isinf(x.real)else nan,nan)\n \n ax=math.fabs(x.real)\n ay=math.fabs(x.imag)\n \n if ax >_CM_LARGE_DOUBLE or ay >_CM_LARGE_DOUBLE:\n _real=math.log(math.hypot(ax /2.0,ay /2.0))+_M_LN2\n elif ax .0 or ay >.0:\n \n _real=math.log(math.hypot(math.ldexp(ax,sys.float_info.mant_dig),math.ldexp(ay,sys.float_info.mant_dig)))-sys.float_info.mant_dig *_M_LN2\n else:\n \n raise ValueError(\"math domain error\")\n _real=-inf\n _imag=math.atan2(x.imag,x.real)\n else:\n h=math.hypot(ax,ay)\n _real=math.log(h)/denom\n if not ay:\n if type(_real)==complex:\n return _real\n if x.real <0:\n return complex(_real,math.copysign(math.pi,x.imag))\n return complex(_real,x.imag)\n _imag=math.atan2(x.imag,x.real)\n return complex(_real,_imag)\n \n@_takes_complex\ndef log10(x):\n ''\n\n\n\n \n ret=log(x)\n _real=ret.real /_M_LN10\n _imag=ret.imag /_M_LN10\n return complex(_real,_imag)\n \n@_takes_complex\ndef sin(x):\n ''\n \n s=complex(-x.imag,x.real)\n s=sinh(s)\n return complex(s.imag,-s.real)\n \n@_takes_complex\ndef sinh(x):\n ''\n \n ret=_SPECIAL_VALUE(x,_sinh_special_values)\n if ret is not None:\n if isinstance(ret,Exception):\n raise ret\n return ret\n \n if math.isinf(x.real)or math.isinf(x.imag):\n \n \n if math.isinf(x.imag)and not math.isnan(x.real):\n raise ValueError(\"math domain error\")\n \n if math.isinf(x.real)and -inf 0:\n _real=math.copysign(inf,math.cos(x.imag))\n _imag=math.copysign(inf,math.sin(x.imag))\n else:\n _real=-math.copysign(inf,math.cos(x.imag))\n _imag=math.copysign(inf,math.sin(x.imag))\n return complex(_real,_imag)\n \n return _SPECIAL_VALUE(x,_sinh_special_values)\n \n if math.fabs(x.real)>_CM_LOG_LARGE_DOUBLE:\n x_minus_one=x.real -math.copysign(1.0,x.real)\n z=complex(x_minus_one,x.imag)\n _real=math.cos(z.imag)*math.sinh(z.real)*math.e\n _imag=math.sin(z.imag)*math.cosh(z.real)*math.e\n else:\n _real=math.cos(x.imag)*math.sinh(x.real)\n _imag=math.sin(x.imag)*math.cosh(x.real)\n \n if math.isinf(_real)or math.isinf(_imag):\n raise OverflowError()\n \n return complex(_real,_imag)\n \n@_takes_complex\ndef tan(x):\n ''\n if math.isnan(x.real):\n if math.isinf(x.imag):\n return complex(0,math.copysign(1,x.imag))\n return complex(nan,nan)\n elif math.isnan(x.imag):\n if not x.real:\n return complex(math.copysign(0,x.real),nan)\n return complex(nan,nan)\n s=tanh(complex(-x.imag,x.real))\n return complex(s.imag,-s.real)\n \n@_takes_complex\ndef tanh(x):\n ''\n ''\n\n\n \n \n \n \n \n \n \n \n \n \n if math.isnan(x.real):\n if x.imag ==0:\n return complex(nan,math.copysign(0,x.imag))\n return complex(nan,nan)\n elif math.isnan(x.imag):\n if math.isinf(x.real):\n return complex(math.copysign(1,x.real),0)\n return complex(nan,nan)\n \n if isinf(x):\n if math.isinf(x.imag)and -inf 0:\n _real=1.0\n _imag=math.copysign(.0,2.0 *math.sin(x.imag)*math.cos(x.imag))\n else:\n _real=-1.0\n _imag=math.copysign(.0,2. *math.sin(x.imag)*math.cos(x.imag))\n return complex(_real,_imag)\n return _SPECIAL_VALUE(x,_tanh_special_values)\n \n \n if math.fabs(x.real)>_CM_LOG_LARGE_DOUBLE:\n _real=math.copysign(1.,x.real)\n _imag=4. *math.sin(x.imag)*math.cos(x.imag)*math.exp(-2. *math.fabs(x.real))\n else:\n tx=math.tanh(x.real)\n ty=math.tan(x.imag)\n cx=1.0 /math.cosh(x.real)\n txty=tx *ty\n denom=1.+txty *txty\n _real=tx *(1.+ty *ty)/denom\n _imag=((ty /denom)*cx)*cx\n return complex(_real,_imag)\n \n \nFunctionType=type(_takes_complex)\nlocs=locals()\nkeys=list(locs.keys())\nfor f in keys:\n if type(locs[f])is FunctionType and not f.startswith(\"_\"):\n locals()[f]=type(abs)(locals()[f])\n \npi=math.pi\ne=math.e\ntau=math.tau\n\n_CM_LARGE_DOUBLE=sys.float_info.max /4\n_CM_SQRT_LARGE_DOUBLE=math.sqrt(_CM_LARGE_DOUBLE)\n_CM_LOG_LARGE_DOUBLE=math.log(_CM_LARGE_DOUBLE)\n_CM_SQRT_DBL_MIN=math.sqrt(sys.float_info.min)\n_M_LN2=0.6931471805599453094\n_M_LN10=2.302585092994045684\n\nif sys.float_info.radix ==2:\n _CM_SCALE_UP=int((2 *(sys.float_info.mant_dig /2)+1))\nelif sys.float_info.radix ==16:\n _CM_SCALE_UP=int((4 *sys.float_info.mant_dig+1))\nelse:\n raise(\"cmath implementation expects the float base to be either 2 or 16, got \"+str(sys.float_info.radix)+\" instead.\")\n_CM_SCALE_DOWN=int((-(_CM_SCALE_UP+1)/2))\n\ninf=float('inf')\ninfj=complex(0.0,inf)\n_NINF=float('-inf')\nnan=float('nan')\nnanj=complex(0.0,float('nan'))\n\n_P14=0.25 *pi\n_P12=0.5 *pi\n_P34=0.75 *pi\n_U=-9.5426319407711027e33\n\n\n_ST_NINF=0\n_ST_NEG=1\n_ST_NZERO=2\n_ST_PZERO=3\n_ST_POS=4\n_ST_PINF=5\n_ST_NAN=6\n\n\ndef _SPECIAL_VALUE(z,table):\n if not math.isfinite(z.real)or not math.isfinite(z.imag):\n return table[_special_type(z.real)][_special_type(z.imag)]\n else:\n return None\n \ndef _special_type(x):\n if -inf ):\"\n misc_header=\"Miscellaneous help topics:\"\n undoc_header=\"Undocumented commands:\"\n nohelp=\"*** No help on %s\"\n use_rawinput=1\n \n def __init__(self,completekey='tab',stdin=None,stdout=None):\n ''\n\n\n\n\n\n\n\n\n \n if stdin is not None:\n self.stdin=stdin\n else:\n self.stdin=sys.stdin\n if stdout is not None:\n self.stdout=stdout\n else:\n self.stdout=sys.stdout\n self.cmdqueue=[]\n self.completekey=completekey\n \n def cmdloop(self,intro=None):\n ''\n\n\n\n \n \n self.preloop()\n if self.use_rawinput and self.completekey:\n try:\n import readline\n self.old_completer=readline.get_completer()\n readline.set_completer(self.complete)\n readline.parse_and_bind(self.completekey+\": complete\")\n except ImportError:\n pass\n try:\n if intro is not None:\n self.intro=intro\n if self.intro:\n self.stdout.write(str(self.intro)+\"\\n\")\n stop=None\n while not stop:\n if self.cmdqueue:\n line=self.cmdqueue.pop(0)\n else:\n if self.use_rawinput:\n try:\n line=input(self.prompt)\n except EOFError:\n line='EOF'\n else:\n self.stdout.write(self.prompt)\n self.stdout.flush()\n line=self.stdin.readline()\n if not len(line):\n line='EOF'\n else:\n line=line.rstrip('\\r\\n')\n line=self.precmd(line)\n stop=self.onecmd(line)\n stop=self.postcmd(stop,line)\n self.postloop()\n finally:\n if self.use_rawinput and self.completekey:\n try:\n import readline\n readline.set_completer(self.old_completer)\n except ImportError:\n pass\n \n \n def precmd(self,line):\n ''\n\n\n \n return line\n \n def postcmd(self,stop,line):\n ''\n return stop\n \n def preloop(self):\n ''\n pass\n \n def postloop(self):\n ''\n\n\n \n pass\n \n def parseline(self,line):\n ''\n\n\n \n line=line.strip()\n if not line:\n return None,None,line\n elif line[0]=='?':\n line='help '+line[1:]\n elif line[0]=='!':\n if hasattr(self,'do_shell'):\n line='shell '+line[1:]\n else:\n return None,None,line\n i,n=0,len(line)\n while i 0:\n cmd,args,foo=self.parseline(line)\n if cmd =='':\n compfunc=self.completedefault\n else:\n try:\n compfunc=getattr(self,'complete_'+cmd)\n except AttributeError:\n compfunc=self.completedefault\n else:\n compfunc=self.completenames\n self.completion_matches=compfunc(text,line,begidx,endidx)\n try:\n return self.completion_matches[state]\n except IndexError:\n return None\n \n def get_names(self):\n \n \n return dir(self.__class__)\n \n def complete_help(self,*args):\n commands=set(self.completenames(*args))\n topics=set(a[5:]for a in self.get_names()\n if a.startswith('help_'+args[0]))\n return list(commands |topics)\n \n def do_help(self,arg):\n ''\n if arg:\n \n try:\n func=getattr(self,'help_'+arg)\n except AttributeError:\n try:\n doc=getattr(self,'do_'+arg).__doc__\n if doc:\n self.stdout.write(\"%s\\n\"%str(doc))\n return\n except AttributeError:\n pass\n self.stdout.write(\"%s\\n\"%str(self.nohelp %(arg,)))\n return\n func()\n else:\n names=self.get_names()\n cmds_doc=[]\n cmds_undoc=[]\n topics=set()\n for name in names:\n if name[:5]=='help_':\n topics.add(name[5:])\n names.sort()\n \n prevname=''\n for name in names:\n if name[:3]=='do_':\n if name ==prevname:\n continue\n prevname=name\n cmd=name[3:]\n if cmd in topics:\n cmds_doc.append(cmd)\n topics.remove(cmd)\n elif getattr(self,name).__doc__:\n cmds_doc.append(cmd)\n else:\n cmds_undoc.append(cmd)\n self.stdout.write(\"%s\\n\"%str(self.doc_leader))\n self.print_topics(self.doc_header,cmds_doc,15,80)\n self.print_topics(self.misc_header,sorted(topics),15,80)\n self.print_topics(self.undoc_header,cmds_undoc,15,80)\n \n def print_topics(self,header,cmds,cmdlen,maxcol):\n if cmds:\n self.stdout.write(\"%s\\n\"%str(header))\n if self.ruler:\n self.stdout.write(\"%s\\n\"%str(self.ruler *len(header)))\n self.columnize(cmds,maxcol -1)\n self.stdout.write(\"\\n\")\n \n def columnize(self,list,displaywidth=80):\n ''\n\n\n\n \n if not list:\n self.stdout.write(\"\\n\")\n return\n \n nonstrings=[i for i in range(len(list))\n if not isinstance(list[i],str)]\n if nonstrings:\n raise TypeError(\"list[i] not a string for i in %s\"\n %\", \".join(map(str,nonstrings)))\n size=len(list)\n if size ==1:\n self.stdout.write('%s\\n'%str(list[0]))\n return\n \n for nrows in range(1,len(list)):\n ncols=(size+nrows -1)//nrows\n colwidths=[]\n totwidth=-2\n for col in range(ncols):\n colwidth=0\n for row in range(nrows):\n i=row+nrows *col\n if i >=size:\n break\n x=list[i]\n colwidth=max(colwidth,len(x))\n colwidths.append(colwidth)\n totwidth +=colwidth+2\n if totwidth >displaywidth:\n break\n if totwidth <=displaywidth:\n break\n else:\n nrows=len(list)\n ncols=1\n colwidths=[0]\n for row in range(nrows):\n texts=[]\n for col in range(ncols):\n i=row+nrows *col\n if i >=size:\n x=\"\"\n else:\n x=list[i]\n texts.append(x)\n while texts and not texts[-1]:\n del texts[-1]\n for col in range(len(texts)):\n texts[col]=texts[col].ljust(colwidths[col])\n self.stdout.write(\"%s\\n\"%str(\" \".join(texts)))\n",["readline","string","sys"]],code:[".py","''\n\n\n\n\n\n\nimport sys\nimport traceback\nfrom codeop import CommandCompiler,compile_command\n\n__all__=[\"InteractiveInterpreter\",\"InteractiveConsole\",\"interact\",\n\"compile_command\"]\n\nclass InteractiveInterpreter:\n ''\n\n\n\n\n\n \n \n def __init__(self,locals=None):\n ''\n\n\n\n\n\n\n \n if locals is None:\n locals={\"__name__\":\"__console__\",\"__doc__\":None}\n self.locals=locals\n self.compile=CommandCompiler()\n \n def runsource(self,source,filename=\"\",symbol=\"single\"):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n code=self.compile(source,filename,symbol)\n except(OverflowError,SyntaxError,ValueError):\n \n self.showsyntaxerror(filename)\n return False\n \n if code is None:\n \n return True\n \n \n self.runcode(code)\n return False\n \n def runcode(self,code):\n ''\n\n\n\n\n\n\n\n\n\n \n try:\n exec(code,self.locals)\n except SystemExit:\n raise\n except:\n self.showtraceback()\n \n def showsyntaxerror(self,filename=None):\n ''\n\n\n\n\n\n\n\n\n\n \n type,value,tb=sys.exc_info()\n sys.last_exc=value\n sys.last_type=type\n sys.last_value=value\n sys.last_traceback=tb\n if filename and type is SyntaxError:\n \n try:\n msg,(dummy_filename,lineno,offset,line)=value.args\n except ValueError:\n \n pass\n else:\n \n value=SyntaxError(msg,(filename,lineno,offset,line))\n sys.last_exc=sys.last_value=value\n if sys.excepthook is sys.__excepthook__:\n lines=traceback.format_exception_only(type,value)\n self.write(''.join(lines))\n else:\n \n \n sys.excepthook(type,value,tb)\n \n def showtraceback(self):\n ''\n\n\n\n\n\n \n sys.last_type,sys.last_value,last_tb=ei=sys.exc_info()\n sys.last_traceback=last_tb\n sys.last_exc=ei[1]\n try:\n lines=traceback.format_exception(ei[0],ei[1],last_tb.tb_next)\n if sys.excepthook is sys.__excepthook__:\n self.write(''.join(lines))\n else:\n \n \n sys.excepthook(ei[0],ei[1],last_tb)\n finally:\n last_tb=ei=None\n \n def write(self,data):\n ''\n\n\n\n\n \n sys.stderr.write(data)\n \n \nclass InteractiveConsole(InteractiveInterpreter):\n ''\n\n\n\n\n \n \n def __init__(self,locals=None,filename=\"\"):\n ''\n\n\n\n\n\n\n\n \n InteractiveInterpreter.__init__(self,locals)\n self.filename=filename\n self.resetbuffer()\n \n def resetbuffer(self):\n ''\n self.buffer=[]\n \n def interact(self,banner=None,exitmsg=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n sys.ps1\n except AttributeError:\n sys.ps1=\">>> \"\n try:\n sys.ps2\n except AttributeError:\n sys.ps2=\"... \"\n cprt='Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.'\n if banner is None:\n self.write(\"Python %s on %s\\n%s\\n(%s)\\n\"%\n (sys.version,sys.platform,cprt,\n self.__class__.__name__))\n elif banner:\n self.write(\"%s\\n\"%str(banner))\n more=0\n while 1:\n try:\n if more:\n prompt=sys.ps2\n else:\n prompt=sys.ps1\n try:\n line=self.raw_input(prompt)\n except EOFError:\n self.write(\"\\n\")\n break\n else:\n more=self.push(line)\n except KeyboardInterrupt:\n self.write(\"\\nKeyboardInterrupt\\n\")\n self.resetbuffer()\n more=0\n if exitmsg is None:\n self.write('now exiting %s...\\n'%self.__class__.__name__)\n elif exitmsg !='':\n self.write('%s\\n'%exitmsg)\n \n def push(self,line):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n self.buffer.append(line)\n source=\"\\n\".join(self.buffer)\n more=self.runsource(source,self.filename)\n if not more:\n self.resetbuffer()\n return more\n \n def raw_input(self,prompt=\"\"):\n ''\n\n\n\n\n\n\n\n\n \n return input(prompt)\n \n \n \ndef interact(banner=None,readfunc=None,local=None,exitmsg=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n console=InteractiveConsole(local)\n if readfunc is not None:\n console.raw_input=readfunc\n else:\n try:\n import readline\n except ImportError:\n pass\n console.interact(banner,exitmsg)\n \n \nif __name__ ==\"__main__\":\n import argparse\n \n parser=argparse.ArgumentParser()\n parser.add_argument('-q',action='store_true',\n help=\"don't print version and copyright messages\")\n args=parser.parse_args()\n if args.q or sys.flags.quiet:\n banner=''\n else:\n banner=None\n interact(banner)\n",["argparse","codeop","readline","sys","traceback"]],codecs:[".py","''\n\n\n\n\n\n\n\n\nimport builtins\nimport sys\n\n\n\ntry:\n from _codecs import *\nexcept ImportError as why:\n raise SystemError('Failed to load the builtin codecs: %s'%why)\n \n__all__=[\"register\",\"lookup\",\"open\",\"EncodedFile\",\"BOM\",\"BOM_BE\",\n\"BOM_LE\",\"BOM32_BE\",\"BOM32_LE\",\"BOM64_BE\",\"BOM64_LE\",\n\"BOM_UTF8\",\"BOM_UTF16\",\"BOM_UTF16_LE\",\"BOM_UTF16_BE\",\n\"BOM_UTF32\",\"BOM_UTF32_LE\",\"BOM_UTF32_BE\",\n\"CodecInfo\",\"Codec\",\"IncrementalEncoder\",\"IncrementalDecoder\",\n\"StreamReader\",\"StreamWriter\",\n\"StreamReaderWriter\",\"StreamRecoder\",\n\"getencoder\",\"getdecoder\",\"getincrementalencoder\",\n\"getincrementaldecoder\",\"getreader\",\"getwriter\",\n\"encode\",\"decode\",\"iterencode\",\"iterdecode\",\n\"strict_errors\",\"ignore_errors\",\"replace_errors\",\n\"xmlcharrefreplace_errors\",\n\"backslashreplace_errors\",\"namereplace_errors\",\n\"register_error\",\"lookup_error\"]\n\n\n\n\n\n\n\n\n\n\nBOM_UTF8=b'\\xef\\xbb\\xbf'\n\n\nBOM_LE=BOM_UTF16_LE=b'\\xff\\xfe'\n\n\nBOM_BE=BOM_UTF16_BE=b'\\xfe\\xff'\n\n\nBOM_UTF32_LE=b'\\xff\\xfe\\x00\\x00'\n\n\nBOM_UTF32_BE=b'\\x00\\x00\\xfe\\xff'\n\nif sys.byteorder =='little':\n\n\n BOM=BOM_UTF16=BOM_UTF16_LE\n \n \n BOM_UTF32=BOM_UTF32_LE\n \nelse:\n\n\n BOM=BOM_UTF16=BOM_UTF16_BE\n \n \n BOM_UTF32=BOM_UTF32_BE\n \n \nBOM32_LE=BOM_UTF16_LE\nBOM32_BE=BOM_UTF16_BE\nBOM64_LE=BOM_UTF32_LE\nBOM64_BE=BOM_UTF32_BE\n\n\n\n\nclass CodecInfo(tuple):\n ''\n \n \n \n \n \n \n \n _is_text_encoding=True\n \n def __new__(cls,encode,decode,streamreader=None,streamwriter=None,\n incrementalencoder=None,incrementaldecoder=None,name=None,\n *,_is_text_encoding=None):\n self=tuple.__new__(cls,(encode,decode,streamreader,streamwriter))\n self.name=name\n self.encode=encode\n self.decode=decode\n self.incrementalencoder=incrementalencoder\n self.incrementaldecoder=incrementaldecoder\n self.streamwriter=streamwriter\n self.streamreader=streamreader\n if _is_text_encoding is not None:\n self._is_text_encoding=_is_text_encoding\n return self\n \n def __repr__(self):\n return \"<%s.%s object for encoding %s at %#x>\"%\\\n (self.__class__.__module__,self.__class__.__qualname__,\n self.name,id(self))\n \nclass Codec:\n\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def encode(self,input,errors='strict'):\n \n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n raise NotImplementedError\n \n def decode(self,input,errors='strict'):\n \n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n raise NotImplementedError\n \nclass IncrementalEncoder(object):\n ''\n\n\n\n \n def __init__(self,errors='strict'):\n ''\n\n\n\n\n\n \n self.errors=errors\n self.buffer=\"\"\n \n def encode(self,input,final=False):\n ''\n\n \n raise NotImplementedError\n \n def reset(self):\n ''\n\n \n \n def getstate(self):\n ''\n\n \n return 0\n \n def setstate(self,state):\n ''\n\n\n \n \nclass BufferedIncrementalEncoder(IncrementalEncoder):\n ''\n\n\n\n \n def __init__(self,errors='strict'):\n IncrementalEncoder.__init__(self,errors)\n \n self.buffer=\"\"\n \n def _buffer_encode(self,input,errors,final):\n \n \n raise NotImplementedError\n \n def encode(self,input,final=False):\n \n data=self.buffer+input\n (result,consumed)=self._buffer_encode(data,self.errors,final)\n \n self.buffer=data[consumed:]\n return result\n \n def reset(self):\n IncrementalEncoder.reset(self)\n self.buffer=\"\"\n \n def getstate(self):\n return self.buffer or 0\n \n def setstate(self,state):\n self.buffer=state or \"\"\n \nclass IncrementalDecoder(object):\n ''\n\n\n\n \n def __init__(self,errors='strict'):\n ''\n\n\n\n\n\n \n self.errors=errors\n \n def decode(self,input,final=False):\n ''\n\n \n raise NotImplementedError\n \n def reset(self):\n ''\n\n \n \n def getstate(self):\n ''\n\n\n\n\n\n\n\n\n\n \n return(b\"\",0)\n \n def setstate(self,state):\n ''\n\n\n\n\n \n \nclass BufferedIncrementalDecoder(IncrementalDecoder):\n ''\n\n\n\n \n def __init__(self,errors='strict'):\n IncrementalDecoder.__init__(self,errors)\n \n self.buffer=b\"\"\n \n def _buffer_decode(self,input,errors,final):\n \n \n raise NotImplementedError\n \n def decode(self,input,final=False):\n \n data=self.buffer+input\n (result,consumed)=self._buffer_decode(data,self.errors,final)\n \n self.buffer=data[consumed:]\n return result\n \n def reset(self):\n IncrementalDecoder.reset(self)\n self.buffer=b\"\"\n \n def getstate(self):\n \n return(self.buffer,0)\n \n def setstate(self,state):\n \n self.buffer=state[0]\n \n \n \n \n \n \n \n \nclass StreamWriter(Codec):\n\n def __init__(self,stream,errors='strict'):\n \n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self.stream=stream\n self.errors=errors\n \n def write(self,object):\n \n ''\n \n data,consumed=self.encode(object,self.errors)\n self.stream.write(data)\n \n def writelines(self,list):\n \n ''\n\n \n self.write(''.join(list))\n \n def reset(self):\n \n ''\n\n\n\n\n\n\n \n pass\n \n def seek(self,offset,whence=0):\n self.stream.seek(offset,whence)\n if whence ==0 and offset ==0:\n self.reset()\n \n def __getattr__(self,name,\n getattr=getattr):\n \n ''\n \n return getattr(self.stream,name)\n \n def __enter__(self):\n return self\n \n def __exit__(self,type,value,tb):\n self.stream.close()\n \n \n \nclass StreamReader(Codec):\n\n charbuffertype=str\n \n def __init__(self,stream,errors='strict'):\n \n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self.stream=stream\n self.errors=errors\n self.bytebuffer=b\"\"\n self._empty_charbuffer=self.charbuffertype()\n self.charbuffer=self._empty_charbuffer\n self.linebuffer=None\n \n def decode(self,input,errors='strict'):\n raise NotImplementedError\n \n def read(self,size=-1,chars=-1,firstline=False):\n \n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if self.linebuffer:\n self.charbuffer=self._empty_charbuffer.join(self.linebuffer)\n self.linebuffer=None\n \n if chars <0:\n \n \n chars=size\n \n \n while True:\n \n if chars >=0:\n if len(self.charbuffer)>=chars:\n break\n \n if size <0:\n newdata=self.stream.read()\n else:\n newdata=self.stream.read(size)\n \n data=self.bytebuffer+newdata\n if not data:\n break\n try:\n newchars,decodedbytes=self.decode(data,self.errors)\n except UnicodeDecodeError as exc:\n if firstline:\n newchars,decodedbytes=\\\n self.decode(data[:exc.start],self.errors)\n lines=newchars.splitlines(keepends=True)\n if len(lines)<=1:\n raise\n else:\n raise\n \n self.bytebuffer=data[decodedbytes:]\n \n self.charbuffer +=newchars\n \n if not newdata:\n break\n if chars <0:\n \n result=self.charbuffer\n self.charbuffer=self._empty_charbuffer\n else:\n \n result=self.charbuffer[:chars]\n self.charbuffer=self.charbuffer[chars:]\n return result\n \n def readline(self,size=None,keepends=True):\n \n ''\n\n\n\n\n\n \n \n \n if self.linebuffer:\n line=self.linebuffer[0]\n del self.linebuffer[0]\n if len(self.linebuffer)==1:\n \n \n self.charbuffer=self.linebuffer[0]\n self.linebuffer=None\n if not keepends:\n line=line.splitlines(keepends=False)[0]\n return line\n \n readsize=size or 72\n line=self._empty_charbuffer\n \n while True:\n data=self.read(readsize,firstline=True)\n if data:\n \n \n \n if(isinstance(data,str)and data.endswith(\"\\r\"))or\\\n (isinstance(data,bytes)and data.endswith(b\"\\r\")):\n data +=self.read(size=1,chars=1)\n \n line +=data\n lines=line.splitlines(keepends=True)\n if lines:\n if len(lines)>1:\n \n \n line=lines[0]\n del lines[0]\n if len(lines)>1:\n \n lines[-1]+=self.charbuffer\n self.linebuffer=lines\n self.charbuffer=None\n else:\n \n self.charbuffer=lines[0]+self.charbuffer\n if not keepends:\n line=line.splitlines(keepends=False)[0]\n break\n line0withend=lines[0]\n line0withoutend=lines[0].splitlines(keepends=False)[0]\n if line0withend !=line0withoutend:\n \n self.charbuffer=self._empty_charbuffer.join(lines[1:])+\\\n self.charbuffer\n if keepends:\n line=line0withend\n else:\n line=line0withoutend\n break\n \n if not data or size is not None:\n if line and not keepends:\n line=line.splitlines(keepends=False)[0]\n break\n if readsize <8000:\n readsize *=2\n return line\n \n def readlines(self,sizehint=None,keepends=True):\n \n ''\n\n\n\n\n\n\n\n\n \n data=self.read()\n return data.splitlines(keepends)\n \n def reset(self):\n \n ''\n\n\n\n\n\n \n self.bytebuffer=b\"\"\n self.charbuffer=self._empty_charbuffer\n self.linebuffer=None\n \n def seek(self,offset,whence=0):\n ''\n\n\n \n self.stream.seek(offset,whence)\n self.reset()\n \n def __next__(self):\n \n ''\n line=self.readline()\n if line:\n return line\n raise StopIteration\n \n def __iter__(self):\n return self\n \n def __getattr__(self,name,\n getattr=getattr):\n \n ''\n \n return getattr(self.stream,name)\n \n def __enter__(self):\n return self\n \n def __exit__(self,type,value,tb):\n self.stream.close()\n \n \n \nclass StreamReaderWriter:\n\n ''\n\n\n\n\n\n\n \n \n encoding='unknown'\n \n def __init__(self,stream,Reader,Writer,errors='strict'):\n \n ''\n\n\n\n\n\n\n\n\n\n \n self.stream=stream\n self.reader=Reader(stream,errors)\n self.writer=Writer(stream,errors)\n self.errors=errors\n \n def read(self,size=-1):\n \n return self.reader.read(size)\n \n def readline(self,size=None):\n \n return self.reader.readline(size)\n \n def readlines(self,sizehint=None):\n \n return self.reader.readlines(sizehint)\n \n def __next__(self):\n \n ''\n return next(self.reader)\n \n def __iter__(self):\n return self\n \n def write(self,data):\n \n return self.writer.write(data)\n \n def writelines(self,list):\n \n return self.writer.writelines(list)\n \n def reset(self):\n \n self.reader.reset()\n self.writer.reset()\n \n def seek(self,offset,whence=0):\n self.stream.seek(offset,whence)\n self.reader.reset()\n if whence ==0 and offset ==0:\n self.writer.reset()\n \n def __getattr__(self,name,\n getattr=getattr):\n \n ''\n \n return getattr(self.stream,name)\n \n \n \n def __enter__(self):\n return self\n \n def __exit__(self,type,value,tb):\n self.stream.close()\n \n \n \nclass StreamRecoder:\n\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n data_encoding='unknown'\n file_encoding='unknown'\n \n def __init__(self,stream,encode,decode,Reader,Writer,\n errors='strict'):\n \n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self.stream=stream\n self.encode=encode\n self.decode=decode\n self.reader=Reader(stream,errors)\n self.writer=Writer(stream,errors)\n self.errors=errors\n \n def read(self,size=-1):\n \n data=self.reader.read(size)\n data,bytesencoded=self.encode(data,self.errors)\n return data\n \n def readline(self,size=None):\n \n if size is None:\n data=self.reader.readline()\n else:\n data=self.reader.readline(size)\n data,bytesencoded=self.encode(data,self.errors)\n return data\n \n def readlines(self,sizehint=None):\n \n data=self.reader.read()\n data,bytesencoded=self.encode(data,self.errors)\n return data.splitlines(keepends=True)\n \n def __next__(self):\n \n ''\n data=next(self.reader)\n data,bytesencoded=self.encode(data,self.errors)\n return data\n \n def __iter__(self):\n return self\n \n def write(self,data):\n \n data,bytesdecoded=self.decode(data,self.errors)\n return self.writer.write(data)\n \n def writelines(self,list):\n \n data=b''.join(list)\n data,bytesdecoded=self.decode(data,self.errors)\n return self.writer.write(data)\n \n def reset(self):\n \n self.reader.reset()\n self.writer.reset()\n \n def seek(self,offset,whence=0):\n \n \n self.reader.seek(offset,whence)\n self.writer.seek(offset,whence)\n \n def __getattr__(self,name,\n getattr=getattr):\n \n ''\n \n return getattr(self.stream,name)\n \n def __enter__(self):\n return self\n \n def __exit__(self,type,value,tb):\n self.stream.close()\n \n \n \ndef open(filename,mode='r',encoding=None,errors='strict',buffering=-1):\n\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if encoding is not None and\\\n 'b'not in mode:\n \n mode=mode+'b'\n file=builtins.open(filename,mode,buffering)\n if encoding is None:\n return file\n \n try:\n info=lookup(encoding)\n srw=StreamReaderWriter(file,info.streamreader,info.streamwriter,errors)\n \n srw.encoding=encoding\n return srw\n except:\n file.close()\n raise\n \ndef EncodedFile(file,data_encoding,file_encoding=None,errors='strict'):\n\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if file_encoding is None:\n file_encoding=data_encoding\n data_info=lookup(data_encoding)\n file_info=lookup(file_encoding)\n sr=StreamRecoder(file,data_info.encode,data_info.decode,\n file_info.streamreader,file_info.streamwriter,errors)\n \n sr.data_encoding=data_encoding\n sr.file_encoding=file_encoding\n return sr\n \n \n \ndef getencoder(encoding):\n\n ''\n\n\n\n\n \n return lookup(encoding).encode\n \ndef getdecoder(encoding):\n\n ''\n\n\n\n\n \n return lookup(encoding).decode\n \ndef getincrementalencoder(encoding):\n\n ''\n\n\n\n\n\n \n encoder=lookup(encoding).incrementalencoder\n if encoder is None:\n raise LookupError(encoding)\n return encoder\n \ndef getincrementaldecoder(encoding):\n\n ''\n\n\n\n\n\n \n decoder=lookup(encoding).incrementaldecoder\n if decoder is None:\n raise LookupError(encoding)\n return decoder\n \ndef getreader(encoding):\n\n ''\n\n\n\n\n \n return lookup(encoding).streamreader\n \ndef getwriter(encoding):\n\n ''\n\n\n\n\n \n return lookup(encoding).streamwriter\n \ndef iterencode(iterator,encoding,errors='strict',**kwargs):\n ''\n\n\n\n\n\n\n \n encoder=getincrementalencoder(encoding)(errors,**kwargs)\n for input in iterator:\n output=encoder.encode(input)\n if output:\n yield output\n output=encoder.encode(\"\",True)\n if output:\n yield output\n \ndef iterdecode(iterator,encoding,errors='strict',**kwargs):\n ''\n\n\n\n\n\n\n \n decoder=getincrementaldecoder(encoding)(errors,**kwargs)\n for input in iterator:\n output=decoder.decode(input)\n if output:\n yield output\n output=decoder.decode(b\"\",True)\n if output:\n yield output\n \n \n \ndef make_identity_dict(rng):\n\n ''\n\n\n\n\n \n return{i:i for i in rng}\n \ndef make_encoding_map(decoding_map):\n\n ''\n\n\n\n\n\n\n\n\n\n \n m={}\n for k,v in decoding_map.items():\n if not v in m:\n m[v]=k\n else:\n m[v]=None\n return m\n \n \n \ntry:\n strict_errors=lookup_error(\"strict\")\n ignore_errors=lookup_error(\"ignore\")\n replace_errors=lookup_error(\"replace\")\n xmlcharrefreplace_errors=lookup_error(\"xmlcharrefreplace\")\n backslashreplace_errors=lookup_error(\"backslashreplace\")\n namereplace_errors=lookup_error(\"namereplace\")\nexcept LookupError:\n\n strict_errors=None\n ignore_errors=None\n replace_errors=None\n xmlcharrefreplace_errors=None\n backslashreplace_errors=None\n namereplace_errors=None\n \n \n \n_false=0\nif _false:\n import encodings\n",["_codecs","builtins","encodings","sys"]],codeop:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport __future__\nimport warnings\n\n_features=[getattr(__future__,fname)\nfor fname in __future__.all_feature_names]\n\n__all__=["compile_command","Compile","CommandCompiler"]\n\n\n\n\nPyCF_DONT_IMPLY_DEDENT=0x200\nPyCF_ALLOW_INCOMPLETE_INPUT=0x4000\n\ndef _maybe_compile(compiler,source,filename,symbol):\n\n for line in source.split("\\n"):\n line=line.strip()\n if line and line[0]!=\'#\':\n break\n else:\n if symbol !="eval":\n source="pass"\n \n \n with warnings.catch_warnings():\n warnings.simplefilter("ignore",(SyntaxWarning,DeprecationWarning))\n try:\n compiler(source,filename,symbol)\n except SyntaxError:\n try:\n compiler(source+"\\n",filename,symbol)\n return None\n except SyntaxError as e:\n if "incomplete input"in str(e):\n return None\n \n \n return compiler(source,filename,symbol)\n \n \ndef _is_syntax_error(err1,err2):\n rep1=repr(err1)\n rep2=repr(err2)\n if "was never closed"in rep1 and "was never closed"in rep2:\n return False\n if rep1 ==rep2:\n return True\n return False\n \ndef _compile(source,filename,symbol):\n return compile(source,filename,symbol,PyCF_DONT_IMPLY_DEDENT |PyCF_ALLOW_INCOMPLETE_INPUT)\n \ndef compile_command(source,filename="",symbol="single"):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return _maybe_compile(_compile,source,filename,symbol)\n \nclass Compile:\n \'\'\n\n\n \n def __init__(self):\n self.flags=PyCF_DONT_IMPLY_DEDENT |PyCF_ALLOW_INCOMPLETE_INPUT\n \n def __call__(self,source,filename,symbol):\n codeob=compile(source,filename,symbol,self.flags,True)\n for feature in _features:\n if codeob.co_flags&feature.compiler_flag:\n self.flags |=feature.compiler_flag\n return codeob\n \nclass CommandCompiler:\n \'\'\n\n\n\n \n \n def __init__(self,):\n self.compiler=Compile()\n \n def __call__(self,source,filename="",symbol="single"):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return _maybe_compile(self.compiler,source,filename,symbol)\n',["__future__","warnings"]],colorsys:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=["rgb_to_yiq","yiq_to_rgb","rgb_to_hls","hls_to_rgb",\n"rgb_to_hsv","hsv_to_rgb"]\n\n\n\nONE_THIRD=1.0 /3.0\nONE_SIXTH=1.0 /6.0\nTWO_THIRD=2.0 /3.0\n\n\n\n\n\n\n\n\ndef rgb_to_yiq(r,g,b):\n y=0.30 *r+0.59 *g+0.11 *b\n i=0.74 *(r -y)-0.27 *(b -y)\n q=0.48 *(r -y)+0.41 *(b -y)\n return(y,i,q)\n \ndef yiq_to_rgb(y,i,q):\n\n\n\n\n r=y+0.9468822170900693 *i+0.6235565819861433 *q\n g=y -0.27478764629897834 *i -0.6356910791873801 *q\n b=y -1.1085450346420322 *i+1.7090069284064666 *q\n \n if r <0.0:\n r=0.0\n if g <0.0:\n g=0.0\n if b <0.0:\n b=0.0\n if r >1.0:\n r=1.0\n if g >1.0:\n g=1.0\n if b >1.0:\n b=1.0\n return(r,g,b)\n \n \n \n \n \n \n \ndef rgb_to_hls(r,g,b):\n maxc=max(r,g,b)\n minc=min(r,g,b)\n sumc=(maxc+minc)\n rangec=(maxc -minc)\n l=sumc /2.0\n if minc ==maxc:\n return 0.0,l,0.0\n if l <=0.5:\n s=rangec /sumc\n else:\n s=rangec /(2.0 -maxc -minc)\n rc=(maxc -r)/rangec\n gc=(maxc -g)/rangec\n bc=(maxc -b)/rangec\n if r ==maxc:\n h=bc -gc\n elif g ==maxc:\n h=2.0+rc -bc\n else:\n h=4.0+gc -rc\n h=(h /6.0)%1.0\n return h,l,s\n \ndef hls_to_rgb(h,l,s):\n if s ==0.0:\n return l,l,l\n if l <=0.5:\n m2=l *(1.0+s)\n else:\n m2=l+s -(l *s)\n m1=2.0 *l -m2\n return(_v(m1,m2,h+ONE_THIRD),_v(m1,m2,h),_v(m1,m2,h -ONE_THIRD))\n \ndef _v(m1,m2,hue):\n hue=hue %1.0\n if hue MAX_INTERPOLATION_DEPTH:\n raise InterpolationDepthError(option,section,rawval)\n while rest:\n p=rest.find(\"%\")\n if p <0:\n accum.append(rest)\n return\n if p >0:\n accum.append(rest[:p])\n rest=rest[p:]\n \n c=rest[1:2]\n if c ==\"%\":\n accum.append(\"%\")\n rest=rest[2:]\n elif c ==\"(\":\n m=self._KEYCRE.match(rest)\n if m is None:\n raise InterpolationSyntaxError(option,section,\n \"bad interpolation variable reference %r\"%rest)\n var=parser.optionxform(m.group(1))\n rest=rest[m.end():]\n try:\n v=map[var]\n except KeyError:\n raise InterpolationMissingOptionError(\n option,section,rawval,var)from None\n if \"%\"in v:\n self._interpolate_some(parser,option,accum,v,\n section,map,depth+1)\n else:\n accum.append(v)\n else:\n raise InterpolationSyntaxError(\n option,section,\n \"'%%' must be followed by '%%' or '(', \"\n \"found: %r\"%(rest,))\n \n \nclass ExtendedInterpolation(Interpolation):\n ''\n \n \n _KEYCRE=re.compile(r\"\\$\\{([^}]+)\\}\")\n \n def before_get(self,parser,section,option,value,defaults):\n L=[]\n self._interpolate_some(parser,option,L,value,section,defaults,1)\n return ''.join(L)\n \n def before_set(self,parser,section,option,value):\n tmp_value=value.replace('$$','')\n tmp_value=self._KEYCRE.sub('',tmp_value)\n if '$'in tmp_value:\n raise ValueError(\"invalid interpolation syntax in %r at \"\n \"position %d\"%(value,tmp_value.find('$')))\n return value\n \n def _interpolate_some(self,parser,option,accum,rest,section,map,\n depth):\n rawval=parser.get(section,option,raw=True,fallback=rest)\n if depth >MAX_INTERPOLATION_DEPTH:\n raise InterpolationDepthError(option,section,rawval)\n while rest:\n p=rest.find(\"$\")\n if p <0:\n accum.append(rest)\n return\n if p >0:\n accum.append(rest[:p])\n rest=rest[p:]\n \n c=rest[1:2]\n if c ==\"$\":\n accum.append(\"$\")\n rest=rest[2:]\n elif c ==\"{\":\n m=self._KEYCRE.match(rest)\n if m is None:\n raise InterpolationSyntaxError(option,section,\n \"bad interpolation variable reference %r\"%rest)\n path=m.group(1).split(':')\n rest=rest[m.end():]\n sect=section\n opt=option\n try:\n if len(path)==1:\n opt=parser.optionxform(path[0])\n v=map[opt]\n elif len(path)==2:\n sect=path[0]\n opt=parser.optionxform(path[1])\n v=parser.get(sect,opt,raw=True)\n else:\n raise InterpolationSyntaxError(\n option,section,\n \"More than one ':' found: %r\"%(rest,))\n except(KeyError,NoSectionError,NoOptionError):\n raise InterpolationMissingOptionError(\n option,section,rawval,\":\".join(path))from None\n if \"$\"in v:\n self._interpolate_some(parser,opt,accum,v,sect,\n dict(parser.items(sect,raw=True)),\n depth+1)\n else:\n accum.append(v)\n else:\n raise InterpolationSyntaxError(\n option,section,\n \"'$' must be followed by '$' or '{', \"\n \"found: %r\"%(rest,))\n \n \nclass LegacyInterpolation(Interpolation):\n ''\n \n \n _KEYCRE=re.compile(r\"%\\(([^)]*)\\)s|.\")\n \n def __init__(self,*args,**kwargs):\n super().__init__(*args,**kwargs)\n warnings.warn(\n \"LegacyInterpolation has been deprecated since Python 3.2 \"\n \"and will be removed from the configparser module in Python 3.13. \"\n \"Use BasicInterpolation or ExtendedInterpolation instead.\",\n DeprecationWarning,stacklevel=2\n )\n \n def before_get(self,parser,section,option,value,vars):\n rawval=value\n depth=MAX_INTERPOLATION_DEPTH\n while depth:\n depth -=1\n if value and \"%(\"in value:\n replace=functools.partial(self._interpolation_replace,\n parser=parser)\n value=self._KEYCRE.sub(replace,value)\n try:\n value=value %vars\n except KeyError as e:\n raise InterpolationMissingOptionError(\n option,section,rawval,e.args[0])from None\n else:\n break\n if value and \"%(\"in value:\n raise InterpolationDepthError(option,section,rawval)\n return value\n \n def before_set(self,parser,section,option,value):\n return value\n \n @staticmethod\n def _interpolation_replace(match,parser):\n s=match.group(1)\n if s is None:\n return match.group()\n else:\n return \"%%(%s)s\"%parser.optionxform(s)\n \n \nclass RawConfigParser(MutableMapping):\n ''\n \n \n _SECT_TMPL=r\"\"\"\n \\[ # [\n (?P

.+) # very permissive!\n \\] # ]\n \"\"\"\n _OPT_TMPL=r\"\"\"\n (?Pn'%(\n toprefix,num_chg)\n else:\n in_change=False\n \n if not flaglist:\n flaglist=[False]\n next_id=['']\n next_href=['']\n last=0\n if context:\n fromlist=[' No Differences Found ']\n tolist=fromlist\n else:\n fromlist=tolist=[' Empty File ']\n \n if not flaglist[0]:\n next_href[0]='f'%toprefix\n \n next_href[last]='t'%(toprefix)\n \n return fromlist,tolist,flaglist,next_href,next_id\n \n def make_table(self,fromlines,tolines,fromdesc='',todesc='',context=False,\n numlines=5):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n self._make_prefix()\n \n \n \n fromlines,tolines=self._tab_newline_replace(fromlines,tolines)\n \n \n if context:\n context_lines=numlines\n else:\n context_lines=None\n diffs=_mdiff(fromlines,tolines,context_lines,linejunk=self._linejunk,\n charjunk=self._charjunk)\n \n \n if self._wrapcolumn:\n diffs=self._line_wrapper(diffs)\n \n \n fromlist,tolist,flaglist=self._collect_lines(diffs)\n \n \n fromlist,tolist,flaglist,next_href,next_id=self._convert_flags(\n fromlist,tolist,flaglist,context,numlines)\n \n s=[]\n fmt=' %s%s'+\\\n '%s%s\\n'\n for i in range(len(flaglist)):\n if flaglist[i]is None:\n \n \n if i >0:\n s.append(' \\n \\n')\n else:\n s.append(fmt %(next_id[i],next_href[i],fromlist[i],\n next_href[i],tolist[i]))\n if fromdesc or todesc:\n header_row='%s%s%s%s'%(\n '
',\n '%s'%fromdesc,\n '
',\n '%s'%todesc)\n else:\n header_row=''\n \n table=self._table_template %dict(\n data_rows=''.join(s),\n header_row=header_row,\n prefix=self._prefix[1])\n \n return table.replace('\\0+','').\\\n replace('\\0-','').\\\n replace('\\0^','').\\\n replace('\\1','').\\\n replace('\\t',' ')\n \ndel re\n\ndef restore(delta,which):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n tag={1:\"- \",2:\"+ \"}[int(which)]\n except KeyError:\n raise ValueError('unknown delta choice (must be 1 or 2): %r'\n %which)from None\n prefixes=(\" \",tag)\n for line in delta:\n if line[:2]in prefixes:\n yield line[2:]\n \ndef _test():\n import doctest,difflib\n return doctest.testmod(difflib)\n \nif __name__ ==\"__main__\":\n _test()\n",["collections","difflib","doctest","heapq","re","types"]],doctest:[".py","\n\n\n\n\n\n\n\nr\"\"\"Module doctest -- a framework for running examples in docstrings.\n\nIn simplest use, end each module M to be tested with:\n\ndef _test():\n import doctest\n doctest.testmod()\n\nif __name__ == \"__main__\":\n _test()\n\nThen running the module as a script will cause the examples in the\ndocstrings to get executed and verified:\n\npython M.py\n\nThis won't display anything unless an example fails, in which case the\nfailing example(s) and the cause(s) of the failure(s) are printed to stdout\n(why not stderr? because stderr is a lame hack <0.2 wink>), and the final\nline of output is \"Test failed.\".\n\nRun it with the -v switch instead:\n\npython M.py -v\n\nand a detailed report of all examples tried is printed to stdout, along\nwith assorted summaries at the end.\n\nYou can force verbose mode by passing \"verbose=True\" to testmod, or prohibit\nit by passing \"verbose=False\". In either of those cases, sys.argv is not\nexamined by testmod.\n\nThere are a variety of other ways to run doctests, including integration\nwith the unittest framework, and support for running non-Python text\nfiles containing doctests. There are also many ways to override parts\nof doctest's default behaviors. See the Library Reference Manual for\ndetails.\n\"\"\"\n\n__docformat__='reStructuredText en'\n\n__all__=[\n\n'register_optionflag',\n'DONT_ACCEPT_TRUE_FOR_1',\n'DONT_ACCEPT_BLANKLINE',\n'NORMALIZE_WHITESPACE',\n'ELLIPSIS',\n'SKIP',\n'IGNORE_EXCEPTION_DETAIL',\n'COMPARISON_FLAGS',\n'REPORT_UDIFF',\n'REPORT_CDIFF',\n'REPORT_NDIFF',\n'REPORT_ONLY_FIRST_FAILURE',\n'REPORTING_FLAGS',\n'FAIL_FAST',\n\n\n'Example',\n'DocTest',\n\n'DocTestParser',\n\n'DocTestFinder',\n\n'DocTestRunner',\n'OutputChecker',\n'DocTestFailure',\n'UnexpectedException',\n'DebugRunner',\n\n'testmod',\n'testfile',\n'run_docstring_examples',\n\n'DocTestSuite',\n'DocFileSuite',\n'set_unittest_reportflags',\n\n'script_from_examples',\n'testsource',\n'debug_src',\n'debug',\n]\n\nimport __future__\nimport difflib\nimport inspect\nimport linecache\nimport os\nimport pdb\nimport re\nimport sys\nimport traceback\nimport unittest\nfrom io import StringIO,IncrementalNewlineDecoder\nfrom collections import namedtuple\n\nTestResults=namedtuple('TestResults','failed attempted')\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nOPTIONFLAGS_BY_NAME={}\ndef register_optionflag(name):\n\n return OPTIONFLAGS_BY_NAME.setdefault(name,1 <=2\n \n \n startpos,endpos=0,len(got)\n w=ws[0]\n if w:\n if got.startswith(w):\n startpos=len(w)\n del ws[0]\n else:\n return False\n w=ws[-1]\n if w:\n if got.endswith(w):\n endpos -=len(w)\n del ws[-1]\n else:\n return False\n \n if startpos >endpos:\n \n \n return False\n \n \n \n \n for w in ws:\n \n \n \n startpos=got.find(w,startpos,endpos)\n if startpos <0:\n return False\n startpos +=len(w)\n \n return True\n \ndef _comment_line(line):\n ''\n line=line.rstrip()\n if line:\n return '# '+line\n else:\n return '#'\n \ndef _strip_exception_details(msg):\n\n\n\n\n\n\n\n\n\n\n start,end=0,len(msg)\n \n i=msg.find(\"\\n\")\n if i >=0:\n end=i\n \n i=msg.find(':',0,end)\n if i >=0:\n end=i\n \n i=msg.rfind('.',0,end)\n if i >=0:\n start=i+1\n return msg[start:end]\n \nclass _OutputRedirectingPdb(pdb.Pdb):\n ''\n\n\n\n \n def __init__(self,out):\n self.__out=out\n self.__debugger_used=False\n \n pdb.Pdb.__init__(self,stdout=out,nosigint=True)\n \n self.use_rawinput=1\n \n def set_trace(self,frame=None):\n self.__debugger_used=True\n if frame is None:\n frame=sys._getframe().f_back\n pdb.Pdb.set_trace(self,frame)\n \n def set_continue(self):\n \n \n if self.__debugger_used:\n pdb.Pdb.set_continue(self)\n \n def trace_dispatch(self,*args):\n \n save_stdout=sys.stdout\n sys.stdout=self.__out\n \n try:\n return pdb.Pdb.trace_dispatch(self,*args)\n finally:\n sys.stdout=save_stdout\n \n \ndef _module_relative_path(module,test_path):\n if not inspect.ismodule(module):\n raise TypeError('Expected a module: %r'%module)\n if test_path.startswith('/'):\n raise ValueError('Module-relative files may not have absolute paths')\n \n \n test_path=os.path.join(*(test_path.split('/')))\n \n \n if hasattr(module,'__file__'):\n \n basedir=os.path.split(module.__file__)[0]\n elif module.__name__ =='__main__':\n \n if len(sys.argv)>0 and sys.argv[0]!='':\n basedir=os.path.split(sys.argv[0])[0]\n else:\n basedir=os.curdir\n else:\n if hasattr(module,'__path__'):\n for directory in module.__path__:\n fullpath=os.path.join(directory,test_path)\n if os.path.exists(fullpath):\n return fullpath\n \n \n raise ValueError(\"Can't resolve paths relative to the module \"\n \"%r (it has no __file__)\"\n %module.__name__)\n \n \n return os.path.join(basedir,test_path)\n \n \n \n \n \n \n \n \n \n \n \n \n \nclass Example:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def __init__(self,source,want,exc_msg=None,lineno=0,indent=0,\n options=None):\n \n if not source.endswith('\\n'):\n source +='\\n'\n if want and not want.endswith('\\n'):\n want +='\\n'\n if exc_msg is not None and not exc_msg.endswith('\\n'):\n exc_msg +='\\n'\n \n self.source=source\n self.want=want\n self.lineno=lineno\n self.indent=indent\n if options is None:options={}\n self.options=options\n self.exc_msg=exc_msg\n \n def __eq__(self,other):\n if type(self)is not type(other):\n return NotImplemented\n \n return self.source ==other.source and\\\n self.want ==other.want and\\\n self.lineno ==other.lineno and\\\n self.indent ==other.indent and\\\n self.options ==other.options and\\\n self.exc_msg ==other.exc_msg\n \n def __hash__(self):\n return hash((self.source,self.want,self.lineno,self.indent,\n self.exc_msg))\n \nclass DocTest:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def __init__(self,examples,globs,name,filename,lineno,docstring):\n ''\n\n\n \n assert not isinstance(examples,str),\\\n \"DocTest no longer accepts str; use DocTestParser instead\"\n self.examples=examples\n self.docstring=docstring\n self.globs=globs.copy()\n self.name=name\n self.filename=filename\n self.lineno=lineno\n \n def __repr__(self):\n if len(self.examples)==0:\n examples='no examples'\n elif len(self.examples)==1:\n examples='1 example'\n else:\n examples='%d examples'%len(self.examples)\n return('<%s %s from %s:%s (%s)>'%\n (self.__class__.__name__,\n self.name,self.filename,self.lineno,examples))\n \n def __eq__(self,other):\n if type(self)is not type(other):\n return NotImplemented\n \n return self.examples ==other.examples and\\\n self.docstring ==other.docstring and\\\n self.globs ==other.globs and\\\n self.name ==other.name and\\\n self.filename ==other.filename and\\\n self.lineno ==other.lineno\n \n def __hash__(self):\n return hash((self.docstring,self.name,self.filename,self.lineno))\n \n \n def __lt__(self,other):\n if not isinstance(other,DocTest):\n return NotImplemented\n return((self.name,self.filename,self.lineno,id(self))\n <\n (other.name,other.filename,other.lineno,id(other)))\n \n \n \n \n \nclass DocTestParser:\n ''\n\n \n \n \n \n \n \n _EXAMPLE_RE=re.compile(r'''\n # Source consists of a PS1 line followed by zero or more PS2 lines.\n (?P\n (?:^(?P [ ]*) >>> .*) # PS1 line\n (?:\\n [ ]* \\.\\.\\. .*)*) # PS2 lines\n \\n?\n # Want consists of any non-blank lines that do not start with PS1.\n (?P (?:(?![ ]*$) # Not a blank line\n (?![ ]*>>>) # Not a line starting with PS1\n .+$\\n? # But any other line\n )*)\n ''',re.MULTILINE |re.VERBOSE)\n \n \n \n \n \n \n \n \n \n \n _EXCEPTION_RE=re.compile(r\"\"\"\n # Grab the traceback header. Different versions of Python have\n # said different things on the first traceback line.\n ^(?P Traceback\\ \\(\n (?: most\\ recent\\ call\\ last\n | innermost\\ last\n ) \\) :\n )\n \\s* $ # toss trailing whitespace on the header.\n (?P .*?) # don't blink: absorb stuff until...\n ^ (?P \\w+ .*) # a line *starts* with alphanum.\n \"\"\",re.VERBOSE |re.MULTILINE |re.DOTALL)\n \n \n \n _IS_BLANK_OR_COMMENT=re.compile(r'^[ ]*(#.*)?$').match\n \n def parse(self,string,name=''):\n ''\n\n\n\n\n\n \n string=string.expandtabs()\n \n min_indent=self._min_indent(string)\n if min_indent >0:\n string='\\n'.join([l[min_indent:]for l in string.split('\\n')])\n \n output=[]\n charno,lineno=0,0\n \n for m in self._EXAMPLE_RE.finditer(string):\n \n output.append(string[charno:m.start()])\n \n lineno +=string.count('\\n',charno,m.start())\n \n (source,options,want,exc_msg)=\\\n self._parse_example(m,name,lineno)\n \n if not self._IS_BLANK_OR_COMMENT(source):\n output.append(Example(source,want,exc_msg,\n lineno=lineno,\n indent=min_indent+len(m.group('indent')),\n options=options))\n \n lineno +=string.count('\\n',m.start(),m.end())\n \n charno=m.end()\n \n output.append(string[charno:])\n return output\n \n def get_doctest(self,string,globs,name,filename,lineno):\n ''\n\n\n\n\n\n\n \n return DocTest(self.get_examples(string,name),globs,\n name,filename,lineno,string)\n \n def get_examples(self,string,name=''):\n ''\n\n\n\n\n\n\n\n\n \n return[x for x in self.parse(string,name)\n if isinstance(x,Example)]\n \n def _parse_example(self,m,name,lineno):\n ''\n\n\n\n\n\n\n\n\n \n \n indent=len(m.group('indent'))\n \n \n \n source_lines=m.group('source').split('\\n')\n self._check_prompt_blank(source_lines,indent,name,lineno)\n self._check_prefix(source_lines[1:],' '*indent+'.',name,lineno)\n source='\\n'.join([sl[indent+4:]for sl in source_lines])\n \n \n \n \n want=m.group('want')\n want_lines=want.split('\\n')\n if len(want_lines)>1 and re.match(r' *$',want_lines[-1]):\n del want_lines[-1]\n self._check_prefix(want_lines,' '*indent,name,\n lineno+len(source_lines))\n want='\\n'.join([wl[indent:]for wl in want_lines])\n \n \n m=self._EXCEPTION_RE.match(want)\n if m:\n exc_msg=m.group('msg')\n else:\n exc_msg=None\n \n \n options=self._find_options(source,name,lineno)\n \n return source,options,want,exc_msg\n \n \n \n \n \n \n \n \n _OPTION_DIRECTIVE_RE=re.compile(r'#\\s*doctest:\\s*([^\\n\\'\"]*)$',\n re.MULTILINE)\n \n def _find_options(self,source,name,lineno):\n ''\n\n\n\n\n\n \n options={}\n \n for m in self._OPTION_DIRECTIVE_RE.finditer(source):\n option_strings=m.group(1).replace(',',' ').split()\n for option in option_strings:\n if(option[0]not in '+-'or\n option[1:]not in OPTIONFLAGS_BY_NAME):\n raise ValueError('line %r of the doctest for %s '\n 'has an invalid option: %r'%\n (lineno+1,name,option))\n flag=OPTIONFLAGS_BY_NAME[option[1:]]\n options[flag]=(option[0]=='+')\n if options and self._IS_BLANK_OR_COMMENT(source):\n raise ValueError('line %r of the doctest for %s has an option '\n 'directive on a line with no example: %r'%\n (lineno,name,source))\n return options\n \n \n \n _INDENT_RE=re.compile(r'^([ ]*)(?=\\S)',re.MULTILINE)\n \n def _min_indent(self,s):\n ''\n indents=[len(indent)for indent in self._INDENT_RE.findall(s)]\n if len(indents)>0:\n return min(indents)\n else:\n return 0\n \n def _check_prompt_blank(self,lines,indent,name,lineno):\n ''\n\n\n\n\n \n for i,line in enumerate(lines):\n if len(line)>=indent+4 and line[indent+3]!=' ':\n raise ValueError('line %r of the docstring for %s '\n 'lacks blank after %s: %r'%\n (lineno+i+1,name,\n line[indent:indent+3],line))\n \n def _check_prefix(self,lines,prefix,name,lineno):\n ''\n\n\n \n for i,line in enumerate(lines):\n if line and not line.startswith(prefix):\n raise ValueError('line %r of the docstring for %s has '\n 'inconsistent leading whitespace: %r'%\n (lineno+i+1,name,line))\n \n \n \n \n \n \nclass DocTestFinder:\n ''\n\n\n\n\n\n \n \n def __init__(self,verbose=False,parser=DocTestParser(),\n recurse=True,exclude_empty=True):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self._parser=parser\n self._verbose=verbose\n self._recurse=recurse\n self._exclude_empty=exclude_empty\n \n def find(self,obj,name=None,module=None,globs=None,extraglobs=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if name is None:\n name=getattr(obj,'__name__',None)\n if name is None:\n raise ValueError(\"DocTestFinder.find: name must be given \"\n \"when obj.__name__ doesn't exist: %r\"%\n (type(obj),))\n \n \n \n \n if module is False:\n module=None\n elif module is None:\n module=inspect.getmodule(obj)\n \n \n \n \n try:\n file=inspect.getsourcefile(obj)\n except TypeError:\n source_lines=None\n else:\n if not file:\n \n \n file=inspect.getfile(obj)\n if not file[0]+file[-2:]=='<]>':file=None\n if file is None:\n source_lines=None\n else:\n if module is not None:\n \n \n \n source_lines=linecache.getlines(file,module.__dict__)\n else:\n \n \n source_lines=linecache.getlines(file)\n if not source_lines:\n source_lines=None\n \n \n if globs is None:\n if module is None:\n globs={}\n else:\n globs=module.__dict__.copy()\n else:\n globs=globs.copy()\n if extraglobs is not None:\n globs.update(extraglobs)\n if '__name__'not in globs:\n globs['__name__']='__main__'\n \n \n tests=[]\n self._find(tests,obj,name,module,source_lines,globs,{})\n \n \n \n \n tests.sort()\n return tests\n \n def _from_module(self,module,object):\n ''\n\n\n \n if module is None:\n return True\n elif inspect.getmodule(object)is not None:\n return module is inspect.getmodule(object)\n elif inspect.isfunction(object):\n return module.__dict__ is object.__globals__\n elif(inspect.ismethoddescriptor(object)or\n inspect.ismethodwrapper(object)):\n if hasattr(object,'__objclass__'):\n obj_mod=object.__objclass__.__module__\n elif hasattr(object,'__module__'):\n obj_mod=object.__module__\n else:\n return True\n return module.__name__ ==obj_mod\n elif inspect.isclass(object):\n return module.__name__ ==object.__module__\n elif hasattr(object,'__module__'):\n return module.__name__ ==object.__module__\n elif isinstance(object,property):\n return True\n else:\n raise ValueError(\"object must be a class or function\")\n \n def _is_routine(self,obj):\n ''\n\n \n maybe_routine=obj\n try:\n maybe_routine=inspect.unwrap(maybe_routine)\n except ValueError:\n pass\n return inspect.isroutine(maybe_routine)\n \n def _find(self,tests,obj,name,module,source_lines,globs,seen):\n ''\n\n\n \n if self._verbose:\n print('Finding tests in %s'%name)\n \n \n if id(obj)in seen:\n return\n seen[id(obj)]=1\n \n \n test=self._get_test(obj,name,module,globs,source_lines)\n if test is not None:\n tests.append(test)\n \n \n if inspect.ismodule(obj)and self._recurse:\n for valname,val in obj.__dict__.items():\n valname='%s.%s'%(name,valname)\n \n \n if((self._is_routine(val)or inspect.isclass(val))and\n self._from_module(module,val)):\n self._find(tests,val,valname,module,source_lines,\n globs,seen)\n \n \n if inspect.ismodule(obj)and self._recurse:\n for valname,val in getattr(obj,'__test__',{}).items():\n if not isinstance(valname,str):\n raise ValueError(\"DocTestFinder.find: __test__ keys \"\n \"must be strings: %r\"%\n (type(valname),))\n if not(inspect.isroutine(val)or inspect.isclass(val)or\n inspect.ismodule(val)or isinstance(val,str)):\n raise ValueError(\"DocTestFinder.find: __test__ values \"\n \"must be strings, functions, methods, \"\n \"classes, or modules: %r\"%\n (type(val),))\n valname='%s.__test__.%s'%(name,valname)\n self._find(tests,val,valname,module,source_lines,\n globs,seen)\n \n \n if inspect.isclass(obj)and self._recurse:\n for valname,val in obj.__dict__.items():\n \n if isinstance(val,(staticmethod,classmethod)):\n val=val.__func__\n \n \n if((inspect.isroutine(val)or inspect.isclass(val)or\n isinstance(val,property))and\n self._from_module(module,val)):\n valname='%s.%s'%(name,valname)\n self._find(tests,val,valname,module,source_lines,\n globs,seen)\n \n def _get_test(self,obj,name,module,globs,source_lines):\n ''\n\n\n \n \n \n if isinstance(obj,str):\n docstring=obj\n else:\n try:\n if obj.__doc__ is None:\n docstring=''\n else:\n docstring=obj.__doc__\n if not isinstance(docstring,str):\n docstring=str(docstring)\n except(TypeError,AttributeError):\n docstring=''\n \n \n lineno=self._find_lineno(obj,source_lines)\n \n \n if self._exclude_empty and not docstring:\n return None\n \n \n if module is None:\n filename=None\n else:\n \n filename=getattr(module,'__file__',None)or module.__name__\n if filename[-4:]==\".pyc\":\n filename=filename[:-1]\n return self._parser.get_doctest(docstring,globs,name,\n filename,lineno)\n \n def _find_lineno(self,obj,source_lines):\n ''\n\n\n\n \n lineno=None\n docstring=getattr(obj,'__doc__',None)\n \n \n if inspect.ismodule(obj)and docstring is not None:\n lineno=0\n \n \n \n \n if inspect.isclass(obj)and docstring is not None:\n if source_lines is None:\n return None\n pat=re.compile(r'^\\s*class\\s*%s\\b'%\n re.escape(getattr(obj,'__name__','-')))\n for i,line in enumerate(source_lines):\n if pat.match(line):\n lineno=i\n break\n \n \n if inspect.ismethod(obj):obj=obj.__func__\n if inspect.isfunction(obj)and getattr(obj,'__doc__',None):\n \n obj=obj.__code__\n if inspect.istraceback(obj):obj=obj.tb_frame\n if inspect.isframe(obj):obj=obj.f_code\n if inspect.iscode(obj):\n lineno=obj.co_firstlineno -1\n \n \n \n \n \n \n if lineno is not None:\n if source_lines is None:\n return lineno+1\n pat=re.compile(r'(^|.*:)\\s*\\w*(\"|\\')')\n for lineno in range(lineno,len(source_lines)):\n if pat.match(source_lines[lineno]):\n return lineno\n \n \n return None\n \n \n \n \n \nclass DocTestRunner:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n DIVIDER=\"*\"*70\n \n def __init__(self,checker=None,verbose=None,optionflags=0):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self._checker=checker or OutputChecker()\n if verbose is None:\n verbose='-v'in sys.argv\n self._verbose=verbose\n self.optionflags=optionflags\n self.original_optionflags=optionflags\n \n \n self.tries=0\n self.failures=0\n self._name2ft={}\n \n \n self._fakeout=_SpoofOut()\n \n \n \n \n \n def report_start(self,out,test,example):\n ''\n\n\n \n if self._verbose:\n if example.want:\n out('Trying:\\n'+_indent(example.source)+\n 'Expecting:\\n'+_indent(example.want))\n else:\n out('Trying:\\n'+_indent(example.source)+\n 'Expecting nothing\\n')\n \n def report_success(self,out,test,example,got):\n ''\n\n\n \n if self._verbose:\n out(\"ok\\n\")\n \n def report_failure(self,out,test,example,got):\n ''\n\n \n out(self._failure_header(test,example)+\n self._checker.output_difference(example,got,self.optionflags))\n \n def report_unexpected_exception(self,out,test,example,exc_info):\n ''\n\n \n out(self._failure_header(test,example)+\n 'Exception raised:\\n'+_indent(_exception_traceback(exc_info)))\n \n def _failure_header(self,test,example):\n out=[self.DIVIDER]\n if test.filename:\n if test.lineno is not None and example.lineno is not None:\n lineno=test.lineno+example.lineno+1\n else:\n lineno='?'\n out.append('File \"%s\", line %s, in %s'%\n (test.filename,lineno,test.name))\n else:\n out.append('Line %s, in %s'%(example.lineno+1,test.name))\n out.append('Failed example:')\n source=example.source\n out.append(_indent(source))\n return '\\n'.join(out)\n \n \n \n \n \n def __run(self,test,compileflags,out):\n ''\n\n\n\n\n\n\n\n \n \n failures=tries=0\n \n \n \n original_optionflags=self.optionflags\n \n SUCCESS,FAILURE,BOOM=range(3)\n \n check=self._checker.check_output\n \n \n for examplenum,example in enumerate(test.examples):\n \n \n \n quiet=(self.optionflags&REPORT_ONLY_FIRST_FAILURE and\n failures >0)\n \n \n self.optionflags=original_optionflags\n if example.options:\n for(optionflag,val)in example.options.items():\n if val:\n self.optionflags |=optionflag\n else:\n self.optionflags &=~optionflag\n \n \n if self.optionflags&SKIP:\n continue\n \n \n tries +=1\n if not quiet:\n self.report_start(out,test,example)\n \n \n \n \n filename=''%(test.name,examplenum)\n \n \n \n \n try:\n \n exec(compile(example.source,filename,\"single\",\n compileflags,True),test.globs)\n self.debugger.set_continue()\n exception=None\n except KeyboardInterrupt:\n raise\n except:\n exception=sys.exc_info()\n self.debugger.set_continue()\n \n got=self._fakeout.getvalue()\n self._fakeout.truncate(0)\n outcome=FAILURE\n \n \n \n if exception is None:\n if check(example.want,got,self.optionflags):\n outcome=SUCCESS\n \n \n else:\n exc_msg=traceback.format_exception_only(*exception[:2])[-1]\n if not quiet:\n got +=_exception_traceback(exception)\n \n \n \n if example.exc_msg is None:\n outcome=BOOM\n \n \n elif check(example.exc_msg,exc_msg,self.optionflags):\n outcome=SUCCESS\n \n \n elif self.optionflags&IGNORE_EXCEPTION_DETAIL:\n if check(_strip_exception_details(example.exc_msg),\n _strip_exception_details(exc_msg),\n self.optionflags):\n outcome=SUCCESS\n \n \n if outcome is SUCCESS:\n if not quiet:\n self.report_success(out,test,example,got)\n elif outcome is FAILURE:\n if not quiet:\n self.report_failure(out,test,example,got)\n failures +=1\n elif outcome is BOOM:\n if not quiet:\n self.report_unexpected_exception(out,test,example,\n exception)\n failures +=1\n else:\n assert False,(\"unknown outcome\",outcome)\n \n if failures and self.optionflags&FAIL_FAST:\n break\n \n \n self.optionflags=original_optionflags\n \n \n self.__record_outcome(test,failures,tries)\n return TestResults(failures,tries)\n \n def __record_outcome(self,test,f,t):\n ''\n\n\n \n f2,t2=self._name2ft.get(test.name,(0,0))\n self._name2ft[test.name]=(f+f2,t+t2)\n self.failures +=f\n self.tries +=t\n \n __LINECACHE_FILENAME_RE=re.compile(r'.+)'\n r'\\[(?P\\d+)\\]>$')\n def __patched_linecache_getlines(self,filename,module_globals=None):\n m=self.__LINECACHE_FILENAME_RE.match(filename)\n if m and m.group('name')==self.test.name:\n example=self.test.examples[int(m.group('examplenum'))]\n return example.source.splitlines(keepends=True)\n else:\n return self.save_linecache_getlines(filename,module_globals)\n \n def run(self,test,compileflags=None,out=None,clear_globs=True):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self.test=test\n \n if compileflags is None:\n compileflags=_extract_future_flags(test.globs)\n \n save_stdout=sys.stdout\n if out is None:\n encoding=save_stdout.encoding\n if encoding is None or encoding.lower()=='utf-8':\n out=save_stdout.write\n else:\n \n def out(s):\n s=str(s.encode(encoding,'backslashreplace'),encoding)\n save_stdout.write(s)\n sys.stdout=self._fakeout\n \n \n \n \n \n \n save_trace=sys.gettrace()\n save_set_trace=pdb.set_trace\n self.debugger=_OutputRedirectingPdb(save_stdout)\n self.debugger.reset()\n pdb.set_trace=self.debugger.set_trace\n \n \n \n self.save_linecache_getlines=linecache.getlines\n linecache.getlines=self.__patched_linecache_getlines\n \n \n save_displayhook=sys.displayhook\n sys.displayhook=sys.__displayhook__\n \n try:\n return self.__run(test,compileflags,out)\n finally:\n sys.stdout=save_stdout\n pdb.set_trace=save_set_trace\n sys.settrace(save_trace)\n linecache.getlines=self.save_linecache_getlines\n sys.displayhook=save_displayhook\n if clear_globs:\n test.globs.clear()\n import builtins\n builtins._=None\n \n \n \n \n def summarize(self,verbose=None):\n ''\n\n\n\n\n\n\n\n\n \n if verbose is None:\n verbose=self._verbose\n notests=[]\n passed=[]\n failed=[]\n totalt=totalf=0\n for x in self._name2ft.items():\n name,(f,t)=x\n assert f <=t\n totalt +=t\n totalf +=f\n if t ==0:\n notests.append(name)\n elif f ==0:\n passed.append((name,t))\n else:\n failed.append(x)\n if verbose:\n if notests:\n print(len(notests),\"items had no tests:\")\n notests.sort()\n for thing in notests:\n print(\" \",thing)\n if passed:\n print(len(passed),\"items passed all tests:\")\n passed.sort()\n for thing,count in passed:\n print(\" %3d tests in %s\"%(count,thing))\n if failed:\n print(self.DIVIDER)\n print(len(failed),\"items had failures:\")\n failed.sort()\n for thing,(f,t)in failed:\n print(\" %3d of %3d in %s\"%(f,t,thing))\n if verbose:\n print(totalt,\"tests in\",len(self._name2ft),\"items.\")\n print(totalt -totalf,\"passed and\",totalf,\"failed.\")\n if totalf:\n print(\"***Test Failed***\",totalf,\"failures.\")\n elif verbose:\n print(\"Test passed.\")\n return TestResults(totalf,totalt)\n \n \n \n \n def merge(self,other):\n d=self._name2ft\n for name,(f,t)in other._name2ft.items():\n if name in d:\n \n \n \n \n f2,t2=d[name]\n f=f+f2\n t=t+t2\n d[name]=f,t\n \nclass OutputChecker:\n ''\n\n\n\n\n\n \n def _toAscii(self,s):\n ''\n\n \n return str(s.encode('ASCII','backslashreplace'),\"ASCII\")\n \n def check_output(self,want,got,optionflags):\n ''\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n got=self._toAscii(got)\n want=self._toAscii(want)\n \n \n \n if got ==want:\n return True\n \n \n \n if not(optionflags&DONT_ACCEPT_TRUE_FOR_1):\n if(got,want)==(\"True\\n\",\"1\\n\"):\n return True\n if(got,want)==(\"False\\n\",\"0\\n\"):\n return True\n \n \n \n if not(optionflags&DONT_ACCEPT_BLANKLINE):\n \n want=re.sub(r'(?m)^%s\\s*?$'%re.escape(BLANKLINE_MARKER),\n '',want)\n \n \n got=re.sub(r'(?m)^[^\\S\\n]+$','',got)\n if got ==want:\n return True\n \n \n \n \n if optionflags&NORMALIZE_WHITESPACE:\n got=' '.join(got.split())\n want=' '.join(want.split())\n if got ==want:\n return True\n \n \n \n if optionflags&ELLIPSIS:\n if _ellipsis_match(want,got):\n return True\n \n \n return False\n \n \n def _do_a_fancy_diff(self,want,got,optionflags):\n \n if not optionflags&(REPORT_UDIFF |\n REPORT_CDIFF |\n REPORT_NDIFF):\n return False\n \n \n \n \n \n \n \n \n \n \n \n if optionflags&REPORT_NDIFF:\n return True\n \n \n return want.count('\\n')>2 and got.count('\\n')>2\n \n def output_difference(self,example,got,optionflags):\n ''\n\n\n\n\n \n want=example.want\n \n \n if not(optionflags&DONT_ACCEPT_BLANKLINE):\n got=re.sub('(?m)^[ ]*(?=\\n)',BLANKLINE_MARKER,got)\n \n \n if self._do_a_fancy_diff(want,got,optionflags):\n \n want_lines=want.splitlines(keepends=True)\n got_lines=got.splitlines(keepends=True)\n \n if optionflags&REPORT_UDIFF:\n diff=difflib.unified_diff(want_lines,got_lines,n=2)\n diff=list(diff)[2:]\n kind='unified diff with -expected +actual'\n elif optionflags&REPORT_CDIFF:\n diff=difflib.context_diff(want_lines,got_lines,n=2)\n diff=list(diff)[2:]\n kind='context diff with expected followed by actual'\n elif optionflags&REPORT_NDIFF:\n engine=difflib.Differ(charjunk=difflib.IS_CHARACTER_JUNK)\n diff=list(engine.compare(want_lines,got_lines))\n kind='ndiff with -expected +actual'\n else:\n assert 0,'Bad diff option'\n return 'Differences (%s):\\n'%kind+_indent(''.join(diff))\n \n \n \n if want and got:\n return 'Expected:\\n%sGot:\\n%s'%(_indent(want),_indent(got))\n elif want:\n return 'Expected:\\n%sGot nothing\\n'%_indent(want)\n elif got:\n return 'Expected nothing\\nGot:\\n%s'%_indent(got)\n else:\n return 'Expected nothing\\nGot nothing\\n'\n \nclass DocTestFailure(Exception):\n ''\n\n\n\n\n\n\n\n\n \n def __init__(self,test,example,got):\n self.test=test\n self.example=example\n self.got=got\n \n def __str__(self):\n return str(self.test)\n \nclass UnexpectedException(Exception):\n ''\n\n\n\n\n\n\n\n\n \n def __init__(self,test,example,exc_info):\n self.test=test\n self.example=example\n self.exc_info=exc_info\n \n def __str__(self):\n return str(self.test)\n \nclass DebugRunner(DocTestRunner):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def run(self,test,compileflags=None,out=None,clear_globs=True):\n r=DocTestRunner.run(self,test,compileflags,out,False)\n if clear_globs:\n test.globs.clear()\n return r\n \n def report_unexpected_exception(self,out,test,example,exc_info):\n raise UnexpectedException(test,example,exc_info)\n \n def report_failure(self,out,test,example,got):\n raise DocTestFailure(test,example,got)\n \n \n \n \n \n \n \n \nmaster=None\n\ndef testmod(m=None,name=None,globs=None,verbose=None,\nreport=True,optionflags=0,extraglobs=None,\nraise_on_error=False,exclude_empty=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n global master\n \n \n if m is None:\n \n \n \n m=sys.modules.get('__main__')\n \n \n if not inspect.ismodule(m):\n raise TypeError(\"testmod: module required; %r\"%(m,))\n \n \n if name is None:\n name=m.__name__\n \n \n finder=DocTestFinder(exclude_empty=exclude_empty)\n \n if raise_on_error:\n runner=DebugRunner(verbose=verbose,optionflags=optionflags)\n else:\n runner=DocTestRunner(verbose=verbose,optionflags=optionflags)\n \n for test in finder.find(m,name,globs=globs,extraglobs=extraglobs):\n runner.run(test)\n \n if report:\n runner.summarize()\n \n if master is None:\n master=runner\n else:\n master.merge(runner)\n \n return TestResults(runner.failures,runner.tries)\n \ndef testfile(filename,module_relative=True,name=None,package=None,\nglobs=None,verbose=None,report=True,optionflags=0,\nextraglobs=None,raise_on_error=False,parser=DocTestParser(),\nencoding=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n global master\n \n if package and not module_relative:\n raise ValueError(\"Package may only be specified for module-\"\n \"relative paths.\")\n \n \n text,filename=_load_testfile(filename,package,module_relative,\n encoding or \"utf-8\")\n \n \n if name is None:\n name=os.path.basename(filename)\n \n \n if globs is None:\n globs={}\n else:\n globs=globs.copy()\n if extraglobs is not None:\n globs.update(extraglobs)\n if '__name__'not in globs:\n globs['__name__']='__main__'\n \n if raise_on_error:\n runner=DebugRunner(verbose=verbose,optionflags=optionflags)\n else:\n runner=DocTestRunner(verbose=verbose,optionflags=optionflags)\n \n \n test=parser.get_doctest(text,globs,name,filename,0)\n runner.run(test)\n \n if report:\n runner.summarize()\n \n if master is None:\n master=runner\n else:\n master.merge(runner)\n \n return TestResults(runner.failures,runner.tries)\n \ndef run_docstring_examples(f,globs,verbose=False,name=\"NoName\",\ncompileflags=None,optionflags=0):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n finder=DocTestFinder(verbose=verbose,recurse=False)\n runner=DocTestRunner(verbose=verbose,optionflags=optionflags)\n for test in finder.find(f,name,globs=globs):\n runner.run(test,compileflags=compileflags)\n \n \n \n \n \n_unittest_reportflags=0\n\ndef set_unittest_reportflags(flags):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n global _unittest_reportflags\n \n if(flags&REPORTING_FLAGS)!=flags:\n raise ValueError(\"Only reporting flags allowed\",flags)\n old=_unittest_reportflags\n _unittest_reportflags=flags\n return old\n \n \nclass DocTestCase(unittest.TestCase):\n\n def __init__(self,test,optionflags=0,setUp=None,tearDown=None,\n checker=None):\n \n unittest.TestCase.__init__(self)\n self._dt_optionflags=optionflags\n self._dt_checker=checker\n self._dt_globs=test.globs.copy()\n self._dt_test=test\n self._dt_setUp=setUp\n self._dt_tearDown=tearDown\n \n def setUp(self):\n test=self._dt_test\n \n if self._dt_setUp is not None:\n self._dt_setUp(test)\n \n def tearDown(self):\n test=self._dt_test\n \n if self._dt_tearDown is not None:\n self._dt_tearDown(test)\n \n \n test.globs.clear()\n test.globs.update(self._dt_globs)\n \n def runTest(self):\n test=self._dt_test\n old=sys.stdout\n new=StringIO()\n optionflags=self._dt_optionflags\n \n if not(optionflags&REPORTING_FLAGS):\n \n \n optionflags |=_unittest_reportflags\n \n runner=DocTestRunner(optionflags=optionflags,\n checker=self._dt_checker,verbose=False)\n \n try:\n runner.DIVIDER=\"-\"*70\n failures,tries=runner.run(\n test,out=new.write,clear_globs=False)\n finally:\n sys.stdout=old\n \n if failures:\n raise self.failureException(self.format_failure(new.getvalue()))\n \n def format_failure(self,err):\n test=self._dt_test\n if test.lineno is None:\n lineno='unknown line number'\n else:\n lineno='%s'%test.lineno\n lname='.'.join(test.name.split('.')[-1:])\n return('Failed doctest test for %s\\n'\n ' File \"%s\", line %s, in %s\\n\\n%s'\n %(test.name,test.filename,lineno,lname,err)\n )\n \n def debug(self):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n self.setUp()\n runner=DebugRunner(optionflags=self._dt_optionflags,\n checker=self._dt_checker,verbose=False)\n runner.run(self._dt_test,clear_globs=False)\n self.tearDown()\n \n def id(self):\n return self._dt_test.name\n \n def __eq__(self,other):\n if type(self)is not type(other):\n return NotImplemented\n \n return self._dt_test ==other._dt_test and\\\n self._dt_optionflags ==other._dt_optionflags and\\\n self._dt_setUp ==other._dt_setUp and\\\n self._dt_tearDown ==other._dt_tearDown and\\\n self._dt_checker ==other._dt_checker\n \n def __hash__(self):\n return hash((self._dt_optionflags,self._dt_setUp,self._dt_tearDown,\n self._dt_checker))\n \n def __repr__(self):\n name=self._dt_test.name.split('.')\n return \"%s (%s)\"%(name[-1],'.'.join(name[:-1]))\n \n __str__=object.__str__\n \n def shortDescription(self):\n return \"Doctest: \"+self._dt_test.name\n \nclass SkipDocTestCase(DocTestCase):\n def __init__(self,module):\n self.module=module\n DocTestCase.__init__(self,None)\n \n def setUp(self):\n self.skipTest(\"DocTestSuite will not work with -O2 and above\")\n \n def test_skip(self):\n pass\n \n def shortDescription(self):\n return \"Skipping tests from %s\"%self.module.__name__\n \n __str__=shortDescription\n \n \nclass _DocTestSuite(unittest.TestSuite):\n\n def _removeTestAtIndex(self,index):\n pass\n \n \ndef DocTestSuite(module=None,globs=None,extraglobs=None,test_finder=None,\n**options):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if test_finder is None:\n test_finder=DocTestFinder()\n \n module=_normalize_module(module)\n tests=test_finder.find(module,globs=globs,extraglobs=extraglobs)\n \n if not tests and sys.flags.optimize >=2:\n \n suite=_DocTestSuite()\n suite.addTest(SkipDocTestCase(module))\n return suite\n \n tests.sort()\n suite=_DocTestSuite()\n \n for test in tests:\n if len(test.examples)==0:\n continue\n if not test.filename:\n filename=module.__file__\n if filename[-4:]==\".pyc\":\n filename=filename[:-1]\n test.filename=filename\n suite.addTest(DocTestCase(test,**options))\n \n return suite\n \nclass DocFileCase(DocTestCase):\n\n def id(self):\n return '_'.join(self._dt_test.name.split('.'))\n \n def __repr__(self):\n return self._dt_test.filename\n \n def format_failure(self,err):\n return('Failed doctest test for %s\\n File \"%s\", line 0\\n\\n%s'\n %(self._dt_test.name,self._dt_test.filename,err)\n )\n \ndef DocFileTest(path,module_relative=True,package=None,\nglobs=None,parser=DocTestParser(),\nencoding=None,**options):\n if globs is None:\n globs={}\n else:\n globs=globs.copy()\n \n if package and not module_relative:\n raise ValueError(\"Package may only be specified for module-\"\n \"relative paths.\")\n \n \n doc,path=_load_testfile(path,package,module_relative,\n encoding or \"utf-8\")\n \n if \"__file__\"not in globs:\n globs[\"__file__\"]=path\n \n \n name=os.path.basename(path)\n \n \n test=parser.get_doctest(doc,globs,name,path,0)\n return DocFileCase(test,**options)\n \ndef DocFileSuite(*paths,**kw):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n suite=_DocTestSuite()\n \n \n \n \n if kw.get('module_relative',True):\n kw['package']=_normalize_module(kw.get('package'))\n \n for path in paths:\n suite.addTest(DocFileTest(path,**kw))\n \n return suite\n \n \n \n \n \ndef script_from_examples(s):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n output=[]\n for piece in DocTestParser().parse(s):\n if isinstance(piece,Example):\n \n output.append(piece.source[:-1])\n \n want=piece.want\n if want:\n output.append('# Expected:')\n output +=['## '+l for l in want.split('\\n')[:-1]]\n else:\n \n output +=[_comment_line(l)\n for l in piece.split('\\n')[:-1]]\n \n \n while output and output[-1]=='#':\n output.pop()\n while output and output[0]=='#':\n output.pop(0)\n \n \n return '\\n'.join(output)+'\\n'\n \ndef testsource(module,name):\n ''\n\n\n\n\n \n module=_normalize_module(module)\n tests=DocTestFinder().find(module)\n test=[t for t in tests if t.name ==name]\n if not test:\n raise ValueError(name,\"not found in tests\")\n test=test[0]\n testsrc=script_from_examples(test.docstring)\n return testsrc\n \ndef debug_src(src,pm=False,globs=None):\n ''\n testsrc=script_from_examples(src)\n debug_script(testsrc,pm,globs)\n \ndef debug_script(src,pm=False,globs=None):\n ''\n import pdb\n \n if globs:\n globs=globs.copy()\n else:\n globs={}\n \n if pm:\n try:\n exec(src,globs,globs)\n except:\n print(sys.exc_info()[1])\n p=pdb.Pdb(nosigint=True)\n p.reset()\n p.interaction(None,sys.exc_info()[2])\n else:\n pdb.Pdb(nosigint=True).run(\"exec(%r)\"%src,globs,globs)\n \ndef debug(module,name,pm=False):\n ''\n\n\n\n\n \n module=_normalize_module(module)\n testsrc=testsource(module,name)\n debug_script(testsrc,pm,module.__dict__)\n \n \n \n \nclass _TestClass:\n ''\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,val):\n ''\n\n\n\n\n \n \n self.val=val\n \n def square(self):\n ''\n\n\n\n \n \n self.val=self.val **2\n return self\n \n def get(self):\n ''\n\n\n\n\n \n \n return self.val\n \n__test__={\"_TestClass\":_TestClass,\n\"string\":r\"\"\"\n Example of a string object, searched as-is.\n >>> x = 1; y = 2\n >>> x + y, x * y\n (3, 2)\n \"\"\",\n\n\"bool-int equivalence\":r\"\"\"\n In 2.2, boolean expressions displayed\n 0 or 1. By default, we still accept\n them. This can be disabled by passing\n DONT_ACCEPT_TRUE_FOR_1 to the new\n optionflags argument.\n >>> 4 == 4\n 1\n >>> 4 == 4\n True\n >>> 4 > 4\n 0\n >>> 4 > 4\n False\n \"\"\",\n\n\"blank lines\":r\"\"\"\n Blank lines can be marked with :\n >>> print('foo\\n\\nbar\\n')\n foo\n \n bar\n \n \"\"\",\n\n\"ellipsis\":r\"\"\"\n If the ellipsis flag is used, then '...' can be used to\n elide substrings in the desired output:\n >>> print(list(range(1000))) #doctest: +ELLIPSIS\n [0, 1, 2, ..., 999]\n \"\"\",\n\n\"whitespace normalization\":r\"\"\"\n If the whitespace normalization flag is used, then\n differences in whitespace are ignored.\n >>> print(list(range(30))) #doctest: +NORMALIZE_WHITESPACE\n [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,\n 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,\n 27, 28, 29]\n \"\"\",\n}\n\n\ndef _test():\n import argparse\n \n parser=argparse.ArgumentParser(description=\"doctest runner\")\n parser.add_argument('-v','--verbose',action='store_true',default=False,\n help='print very verbose output for all tests')\n parser.add_argument('-o','--option',action='append',\n choices=OPTIONFLAGS_BY_NAME.keys(),default=[],\n help=('specify a doctest option flag to apply'\n ' to the test run; may be specified more'\n ' than once to apply multiple options'))\n parser.add_argument('-f','--fail-fast',action='store_true',\n help=('stop running tests after first failure (this'\n ' is a shorthand for -o FAIL_FAST, and is'\n ' in addition to any other -o options)'))\n parser.add_argument('file',nargs='+',\n help='file containing the tests to run')\n args=parser.parse_args()\n testfiles=args.file\n \n \n verbose=args.verbose\n options=0\n for option in args.option:\n options |=OPTIONFLAGS_BY_NAME[option]\n if args.fail_fast:\n options |=FAIL_FAST\n for filename in testfiles:\n if filename.endswith(\".py\"):\n \n \n \n dirname,filename=os.path.split(filename)\n sys.path.insert(0,dirname)\n m=__import__(filename[:-3])\n del sys.path[0]\n failures,_=testmod(m,verbose=verbose,optionflags=options)\n else:\n failures,_=testfile(filename,module_relative=False,\n verbose=verbose,optionflags=options)\n if failures:\n return 1\n return 0\n \n \nif __name__ ==\"__main__\":\n sys.exit(_test())\n",["__future__","argparse","builtins","collections","difflib","inspect","io","linecache","os","pdb","re","sys","traceback","unittest"]],enum:[".py","import sys\nimport builtins as bltns\nfrom types import MappingProxyType,DynamicClassAttribute\nfrom operator import or_ as _or_\nfrom functools import reduce\n\n\n__all__=[\n'EnumType','EnumMeta',\n'Enum','IntEnum','StrEnum','Flag','IntFlag','ReprEnum',\n'auto','unique','property','verify','member','nonmember',\n'FlagBoundary','STRICT','CONFORM','EJECT','KEEP',\n'global_flag_repr','global_enum_repr','global_str','global_enum',\n'EnumCheck','CONTINUOUS','NAMED_FLAGS','UNIQUE',\n'pickle_by_global_name','pickle_by_enum_name',\n]\n\n\n\n\n\nEnum=Flag=EJECT=_stdlib_enums=ReprEnum=None\n\nclass nonmember(object):\n ''\n\n \n def __init__(self,value):\n self.value=value\n \nclass member(object):\n ''\n\n \n def __init__(self,value):\n self.value=value\n \ndef _is_descriptor(obj):\n ''\n\n \n return(\n hasattr(obj,'__get__')or\n hasattr(obj,'__set__')or\n hasattr(obj,'__delete__')\n )\n \ndef _is_dunder(name):\n ''\n\n \n return(\n len(name)>4 and\n name[:2]==name[-2:]=='__'and\n name[2]!='_'and\n name[-3]!='_'\n )\n \ndef _is_sunder(name):\n ''\n\n \n return(\n len(name)>2 and\n name[0]==name[-1]=='_'and\n name[1:2]!='_'and\n name[-2:-1]!='_'\n )\n \ndef _is_internal_class(cls_name,obj):\n\n if not isinstance(obj,type):\n return False\n qualname=getattr(obj,'__qualname__','')\n s_pattern=cls_name+'.'+getattr(obj,'__name__','')\n e_pattern='.'+s_pattern\n return qualname ==s_pattern or qualname.endswith(e_pattern)\n \ndef _is_private(cls_name,name):\n\n pattern='_%s__'%(cls_name,)\n pat_len=len(pattern)\n if(\n len(name)>pat_len\n and name.startswith(pattern)\n and name[pat_len:pat_len+1]!=['_']\n and(name[-1]!='_'or name[-2]!='_')\n ):\n return True\n else:\n return False\n \ndef _is_single_bit(num):\n ''\n\n \n if num ==0:\n return False\n num &=num -1\n return num ==0\n \ndef _make_class_unpicklable(obj):\n ''\n\n\n\n \n def _break_on_call_reduce(self,proto):\n raise TypeError('%r cannot be pickled'%self)\n if isinstance(obj,dict):\n obj['__reduce_ex__']=_break_on_call_reduce\n obj['__module__']=''\n else:\n setattr(obj,'__reduce_ex__',_break_on_call_reduce)\n setattr(obj,'__module__','')\n \ndef _iter_bits_lsb(num):\n\n original=num\n if isinstance(num,Enum):\n num=num.value\n if num <0:\n raise ValueError('%r is not a positive integer'%original)\n while num:\n b=num&(~num+1)\n yield b\n num ^=b\n \ndef show_flag_values(value):\n return list(_iter_bits_lsb(value))\n \ndef bin(num,max_bits=None):\n ''\n\n\n\n\n\n\n\n\n \n \n ceiling=2 **(num).bit_length()\n if num >=0:\n s=bltns.bin(num+ceiling).replace('1','0',1)\n else:\n s=bltns.bin(~num ^(ceiling -1)+ceiling)\n sign=s[:3]\n digits=s[3:]\n if max_bits is not None:\n if len(digits) cannot set attribute %r\"%(self.clsname,self.name)\n )\n \n def __delete__(self,instance):\n if self.fdel is not None:\n return self.fdel(instance)\n raise AttributeError(\n \" cannot delete attribute %r\"%(self.clsname,self.name)\n )\n \n def __set_name__(self,ownerclass,name):\n self.name=name\n self.clsname=ownerclass.__name__\n \n \nclass _proto_member:\n ''\n\n \n \n def __init__(self,value):\n self.value=value\n \n def __set_name__(self,enum_class,member_name):\n ''\n\n \n \n delattr(enum_class,member_name)\n \n value=self.value\n if not isinstance(value,tuple):\n args=(value,)\n else:\n args=value\n if enum_class._member_type_ is tuple:\n args=(args,)\n if not enum_class._use_args_:\n enum_member=enum_class._new_member_(enum_class)\n else:\n enum_member=enum_class._new_member_(enum_class,*args)\n if not hasattr(enum_member,'_value_'):\n if enum_class._member_type_ is object:\n enum_member._value_=value\n else:\n try:\n enum_member._value_=enum_class._member_type_(*args)\n except Exception as exc:\n new_exc=TypeError(\n '_value_ not set in __new__, unable to create it'\n )\n new_exc.__cause__=exc\n raise new_exc\n value=enum_member._value_\n enum_member._name_=member_name\n enum_member.__objclass__=enum_class\n enum_member.__init__(*args)\n enum_member._sort_order_=len(enum_class._member_names_)\n \n if Flag is not None and issubclass(enum_class,Flag):\n enum_class._flag_mask_ |=value\n if _is_single_bit(value):\n enum_class._singles_mask_ |=value\n enum_class._all_bits_=2 **((enum_class._flag_mask_).bit_length())-1\n \n \n \n try:\n try:\n \n enum_member=enum_class._value2member_map_[value]\n except TypeError:\n for name,canonical_member in enum_class._member_map_.items():\n if canonical_member._value_ ==value:\n enum_member=canonical_member\n break\n else:\n raise KeyError\n except KeyError:\n \n \n if(\n Flag is None\n or not issubclass(enum_class,Flag)\n ):\n \n enum_class._member_names_.append(member_name)\n elif(\n Flag is not None\n and issubclass(enum_class,Flag)\n and _is_single_bit(value)\n ):\n \n enum_class._member_names_.append(member_name)\n \n found_descriptor=None\n descriptor_type=None\n class_type=None\n for base in enum_class.__mro__[1:]:\n attr=base.__dict__.get(member_name)\n if attr is not None:\n if isinstance(attr,(property,DynamicClassAttribute)):\n found_descriptor=attr\n class_type=base\n descriptor_type='enum'\n break\n elif _is_descriptor(attr):\n found_descriptor=attr\n descriptor_type=descriptor_type or 'desc'\n class_type=class_type or base\n continue\n else:\n descriptor_type='attr'\n class_type=base\n if found_descriptor:\n redirect=property()\n redirect.member=enum_member\n redirect.__set_name__(enum_class,member_name)\n if descriptor_type in('enum','desc'):\n \n redirect.fget=getattr(found_descriptor,'fget',None)\n redirect._get=getattr(found_descriptor,'__get__',None)\n redirect.fset=getattr(found_descriptor,'fset',None)\n redirect._set=getattr(found_descriptor,'__set__',None)\n redirect.fdel=getattr(found_descriptor,'fdel',None)\n redirect._del=getattr(found_descriptor,'__delete__',None)\n redirect._attr_type=descriptor_type\n redirect._cls_type=class_type\n setattr(enum_class,member_name,redirect)\n else:\n setattr(enum_class,member_name,enum_member)\n \n enum_class._member_map_[member_name]=enum_member\n try:\n \n \n \n enum_class._value2member_map_.setdefault(value,enum_member)\n except TypeError:\n \n enum_class._unhashable_values_.append(value)\n \n \nclass _EnumDict(dict):\n ''\n\n\n\n\n \n def __init__(self):\n super().__init__()\n self._member_names={}\n self._last_values=[]\n self._ignore=[]\n self._auto_called=False\n \n def __setitem__(self,key,value):\n ''\n\n\n\n\n\n\n \n if _is_internal_class(self._cls_name,value):\n import warnings\n warnings.warn(\n \"In 3.13 classes created inside an enum will not become a member. \"\n \"Use the `member` decorator to keep the current behavior.\",\n DeprecationWarning,\n stacklevel=2,\n )\n if _is_private(self._cls_name,key):\n \n pass\n elif _is_sunder(key):\n if key not in(\n '_order_',\n '_generate_next_value_','_numeric_repr_','_missing_','_ignore_',\n '_iter_member_','_iter_member_by_value_','_iter_member_by_def_',\n ):\n raise ValueError(\n '_sunder_ names, such as %r, are reserved for future Enum use'\n %(key,)\n )\n if key =='_generate_next_value_':\n \n if self._auto_called:\n raise TypeError(\"_generate_next_value_ must be defined before members\")\n _gnv=value.__func__ if isinstance(value,staticmethod)else value\n setattr(self,'_generate_next_value',_gnv)\n elif key =='_ignore_':\n if isinstance(value,str):\n value=value.replace(',',' ').split()\n else:\n value=list(value)\n self._ignore=value\n already=set(value)&set(self._member_names)\n if already:\n raise ValueError(\n '_ignore_ cannot specify already set names: %r'\n %(already,)\n )\n elif _is_dunder(key):\n if key =='__order__':\n key='_order_'\n elif key in self._member_names:\n \n raise TypeError('%r already defined as %r'%(key,self[key]))\n elif key in self._ignore:\n pass\n elif isinstance(value,nonmember):\n \n value=value.value\n elif _is_descriptor(value):\n pass\n \n \n \n \n else:\n if key in self:\n \n raise TypeError('%r already defined as %r'%(key,self[key]))\n elif isinstance(value,member):\n \n value=value.value\n non_auto_store=True\n single=False\n if isinstance(value,auto):\n single=True\n value=(value,)\n if type(value)is tuple and any(isinstance(v,auto)for v in value):\n \n \n auto_valued=[]\n for v in value:\n if isinstance(v,auto):\n non_auto_store=False\n if v.value ==_auto_null:\n v.value=self._generate_next_value(\n key,1,len(self._member_names),self._last_values[:],\n )\n self._auto_called=True\n v=v.value\n self._last_values.append(v)\n auto_valued.append(v)\n if single:\n value=auto_valued[0]\n else:\n value=tuple(auto_valued)\n self._member_names[key]=None\n if non_auto_store:\n self._last_values.append(value)\n super().__setitem__(key,value)\n \n def update(self,members,**more_members):\n try:\n for name in members.keys():\n self[name]=members[name]\n except AttributeError:\n for name,value in members:\n self[name]=value\n for name,value in more_members.items():\n self[name]=value\n \n \nclass EnumType(type):\n ''\n\n \n \n @classmethod\n def __prepare__(metacls,cls,bases,**kwds):\n \n metacls._check_for_existing_members_(cls,bases)\n \n enum_dict=_EnumDict()\n enum_dict._cls_name=cls\n \n member_type,first_enum=metacls._get_mixins_(cls,bases)\n if first_enum is not None:\n enum_dict['_generate_next_value_']=getattr(\n first_enum,'_generate_next_value_',None,\n )\n return enum_dict\n \n def __new__(metacls,cls,bases,classdict,*,boundary=None,_simple=False,**kwds):\n \n \n \n \n \n if _simple:\n return super().__new__(metacls,cls,bases,classdict,**kwds)\n \n \n classdict.setdefault('_ignore_',[]).append('_ignore_')\n ignore=classdict['_ignore_']\n for key in ignore:\n classdict.pop(key,None)\n \n \n member_names=classdict._member_names\n \n \n invalid_names=set(member_names)&{'mro',''}\n if invalid_names:\n raise ValueError('invalid enum member name(s) %s'%(\n ','.join(repr(n)for n in invalid_names)\n ))\n \n \n _order_=classdict.pop('_order_',None)\n _gnv=classdict.get('_generate_next_value_')\n if _gnv is not None and type(_gnv)is not staticmethod:\n _gnv=staticmethod(_gnv)\n \n classdict=dict(classdict.items())\n if _gnv is not None:\n classdict['_generate_next_value_']=_gnv\n \n \n member_type,first_enum=metacls._get_mixins_(cls,bases)\n __new__,save_new,use_args=metacls._find_new_(\n classdict,member_type,first_enum,\n )\n classdict['_new_member_']=__new__\n classdict['_use_args_']=use_args\n \n \n for name in member_names:\n value=classdict[name]\n classdict[name]=_proto_member(value)\n \n \n classdict['_member_names_']=[]\n classdict['_member_map_']={}\n classdict['_value2member_map_']={}\n classdict['_unhashable_values_']=[]\n classdict['_member_type_']=member_type\n \n classdict['_value_repr_']=metacls._find_data_repr_(cls,bases)\n \n \n classdict['_boundary_']=(\n boundary\n or getattr(first_enum,'_boundary_',None)\n )\n classdict['_flag_mask_']=0\n classdict['_singles_mask_']=0\n classdict['_all_bits_']=0\n classdict['_inverted_']=None\n try:\n exc=None\n enum_class=super().__new__(metacls,cls,bases,classdict,**kwds)\n except RuntimeError as e:\n \n \n exc=e.__cause__ or e\n if exc is not None:\n raise exc\n \n \n classdict.update(enum_class.__dict__)\n \n \n \n \n \n \n \n if ReprEnum is not None and ReprEnum in bases:\n if member_type is object:\n raise TypeError(\n 'ReprEnum subclasses must be mixed with a data type (i.e.'\n ' int, str, float, etc.)'\n )\n if '__format__'not in classdict:\n enum_class.__format__=member_type.__format__\n classdict['__format__']=enum_class.__format__\n if '__str__'not in classdict:\n method=member_type.__str__\n if method is object.__str__:\n \n \n method=member_type.__repr__\n enum_class.__str__=method\n classdict['__str__']=enum_class.__str__\n for name in('__repr__','__str__','__format__','__reduce_ex__'):\n if name not in classdict:\n \n enum_method=getattr(first_enum,name)\n found_method=getattr(enum_class,name)\n object_method=getattr(object,name)\n data_type_method=getattr(member_type,name)\n if found_method in(data_type_method,object_method):\n setattr(enum_class,name,enum_method)\n \n \n if Flag is not None and issubclass(enum_class,Flag):\n for name in(\n '__or__','__and__','__xor__',\n '__ror__','__rand__','__rxor__',\n '__invert__'\n ):\n if name not in classdict:\n enum_method=getattr(Flag,name)\n setattr(enum_class,name,enum_method)\n classdict[name]=enum_method\n \n \n \n if Enum is not None:\n \n \n if save_new:\n enum_class.__new_member__=__new__\n enum_class.__new__=Enum.__new__\n \n \n \n \n \n \n \n \n \n \n if _order_ is not None:\n if isinstance(_order_,str):\n _order_=_order_.replace(',',' ').split()\n \n \n if(\n Flag is None and cls !='Flag'\n or Flag is not None and not issubclass(enum_class,Flag)\n ):\n delattr(enum_class,'_boundary_')\n delattr(enum_class,'_flag_mask_')\n delattr(enum_class,'_singles_mask_')\n delattr(enum_class,'_all_bits_')\n delattr(enum_class,'_inverted_')\n elif Flag is not None and issubclass(enum_class,Flag):\n \n member_list=[m._value_ for m in enum_class]\n if member_list !=sorted(member_list):\n enum_class._iter_member_=enum_class._iter_member_by_def_\n if _order_:\n \n _order_=[\n o\n for o in _order_\n if o not in enum_class._member_map_ or _is_single_bit(enum_class[o]._value_)\n ]\n \n if _order_:\n \n _order_=[\n o\n for o in _order_\n if(\n o not in enum_class._member_map_\n or\n (o in enum_class._member_map_ and o in enum_class._member_names_)\n )]\n \n if _order_ !=enum_class._member_names_:\n raise TypeError(\n 'member order does not match _order_:\\n %r\\n %r'\n %(enum_class._member_names_,_order_)\n )\n \n return enum_class\n \n def __bool__(cls):\n ''\n\n \n return True\n \n def __call__(cls,value,names=None,*values,module=None,qualname=None,type=None,start=1,boundary=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if cls._member_map_:\n \n if names:\n value=(value,names)+values\n return cls.__new__(cls,value)\n \n if names is None and type is None:\n \n raise TypeError(\n f\"{cls} has no members; specify `names=()` if you meant to create a new, empty, enum\"\n )\n return cls._create_(\n class_name=value,\n names=names,\n module=module,\n qualname=qualname,\n type=type,\n start=start,\n boundary=boundary,\n )\n \n def __contains__(cls,value):\n ''\n\n\n\n\n \n if isinstance(value,cls):\n return True\n return value in cls._value2member_map_ or value in cls._unhashable_values_\n \n def __delattr__(cls,attr):\n \n \n if attr in cls._member_map_:\n raise AttributeError(\"%r cannot delete member %r.\"%(cls.__name__,attr))\n super().__delattr__(attr)\n \n def __dir__(cls):\n interesting=set([\n '__class__','__contains__','__doc__','__getitem__',\n '__iter__','__len__','__members__','__module__',\n '__name__','__qualname__',\n ]\n +cls._member_names_\n )\n if cls._new_member_ is not object.__new__:\n interesting.add('__new__')\n if cls.__init_subclass__ is not object.__init_subclass__:\n interesting.add('__init_subclass__')\n if cls._member_type_ is object:\n return sorted(interesting)\n else:\n \n return sorted(set(dir(cls._member_type_))|interesting)\n \n def __getitem__(cls,name):\n ''\n\n \n return cls._member_map_[name]\n \n def __iter__(cls):\n ''\n\n \n return(cls._member_map_[name]for name in cls._member_names_)\n \n def __len__(cls):\n ''\n\n \n return len(cls._member_names_)\n \n @bltns.property\n def __members__(cls):\n ''\n\n\n\n\n \n return MappingProxyType(cls._member_map_)\n \n def __repr__(cls):\n if Flag is not None and issubclass(cls,Flag):\n return \"\"%cls.__name__\n else:\n return \"\"%cls.__name__\n \n def __reversed__(cls):\n ''\n\n \n return(cls._member_map_[name]for name in reversed(cls._member_names_))\n \n def __setattr__(cls,name,value):\n ''\n\n\n\n\n\n \n member_map=cls.__dict__.get('_member_map_',{})\n if name in member_map:\n raise AttributeError('cannot reassign member %r'%(name,))\n super().__setattr__(name,value)\n \n def _create_(cls,class_name,names,*,module=None,qualname=None,type=None,start=1,boundary=None):\n ''\n\n\n\n\n\n\n\n\n\n \n metacls=cls.__class__\n bases=(cls,)if type is None else(type,cls)\n _,first_enum=cls._get_mixins_(class_name,bases)\n classdict=metacls.__prepare__(class_name,bases)\n \n \n if isinstance(names,str):\n names=names.replace(',',' ').split()\n if isinstance(names,(tuple,list))and names and isinstance(names[0],str):\n original_names,names=names,[]\n last_values=[]\n for count,name in enumerate(original_names):\n value=first_enum._generate_next_value_(name,start,count,last_values[:])\n last_values.append(value)\n names.append((name,value))\n if names is None:\n names=()\n \n \n for item in names:\n if isinstance(item,str):\n member_name,member_value=item,names[item]\n else:\n member_name,member_value=item\n classdict[member_name]=member_value\n \n if module is None:\n try:\n module=sys._getframemodulename(2)\n except AttributeError:\n \n try:\n module=sys._getframe(2).f_globals['__name__']\n except(AttributeError,ValueError,KeyError):\n pass\n if module is None:\n _make_class_unpicklable(classdict)\n else:\n classdict['__module__']=module\n if qualname is not None:\n classdict['__qualname__']=qualname\n \n return metacls.__new__(metacls,class_name,bases,classdict,boundary=boundary)\n \n def _convert_(cls,name,module,filter,source=None,*,boundary=None,as_global=False):\n ''\n\n \n \n \n \n \n \n module_globals=sys.modules[module].__dict__\n if source:\n source=source.__dict__\n else:\n source=module_globals\n \n \n \n members=[\n (name,value)\n for name,value in source.items()\n if filter(name)]\n try:\n \n members.sort(key=lambda t:(t[1],t[0]))\n except TypeError:\n \n members.sort(key=lambda t:t[0])\n body={t[0]:t[1]for t in members}\n body['__module__']=module\n tmp_cls=type(name,(object,),body)\n cls=_simple_enum(etype=cls,boundary=boundary or KEEP)(tmp_cls)\n if as_global:\n global_enum(cls)\n else:\n sys.modules[cls.__module__].__dict__.update(cls.__members__)\n module_globals[name]=cls\n return cls\n \n @classmethod\n def _check_for_existing_members_(mcls,class_name,bases):\n for chain in bases:\n for base in chain.__mro__:\n if isinstance(base,EnumType)and base._member_names_:\n raise TypeError(\n \" cannot extend %r\"\n %(class_name,base)\n )\n \n @classmethod\n def _get_mixins_(mcls,class_name,bases):\n ''\n\n\n\n\n \n if not bases:\n return object,Enum\n \n \n first_enum=bases[-1]\n if not isinstance(first_enum,EnumType):\n raise TypeError(\"new enumerations should be created as \"\n \"`EnumName([mixin_type, ...] [data_type,] enum_type)`\")\n member_type=mcls._find_data_type_(class_name,bases)or object\n return member_type,first_enum\n \n @classmethod\n def _find_data_repr_(mcls,class_name,bases):\n for chain in bases:\n for base in chain.__mro__:\n if base is object:\n continue\n elif isinstance(base,EnumType):\n \n return base._value_repr_\n elif '__repr__'in base.__dict__:\n \n \n if(\n '__dataclass_fields__'in base.__dict__\n and '__dataclass_params__'in base.__dict__\n and base.__dict__['__dataclass_params__'].repr\n ):\n return _dataclass_repr\n else:\n return base.__dict__['__repr__']\n return None\n \n @classmethod\n def _find_data_type_(mcls,class_name,bases):\n \n data_types=set()\n base_chain=set()\n for chain in bases:\n candidate=None\n for base in chain.__mro__:\n base_chain.add(base)\n if base is object:\n continue\n elif isinstance(base,EnumType):\n if base._member_type_ is not object:\n data_types.add(base._member_type_)\n break\n elif '__new__'in base.__dict__ or '__dataclass_fields__'in base.__dict__:\n data_types.add(candidate or base)\n break\n else:\n candidate=candidate or base\n if len(data_types)>1:\n raise TypeError('too many data types for %r: %r'%(class_name,data_types))\n elif data_types:\n return data_types.pop()\n else:\n return None\n \n @classmethod\n def _find_new_(mcls,classdict,member_type,first_enum):\n ''\n\n\n\n\n\n \n \n \n \n __new__=classdict.get('__new__',None)\n \n \n save_new=first_enum is not None and __new__ is not None\n \n if __new__ is None:\n \n \n for method in('__new_member__','__new__'):\n for possible in(member_type,first_enum):\n target=getattr(possible,method,None)\n if target not in{\n None,\n None.__new__,\n object.__new__,\n Enum.__new__,\n }:\n __new__=target\n break\n if __new__ is not None:\n break\n else:\n __new__=object.__new__\n \n \n \n \n if first_enum is None or __new__ in(Enum.__new__,object.__new__):\n use_args=False\n else:\n use_args=True\n return __new__,save_new,use_args\nEnumMeta=EnumType\n\n\nclass Enum(metaclass=EnumType):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n @classmethod\n def __signature__(cls):\n if cls._member_names_:\n return '(*values)'\n else:\n return '(new_class_name, /, names, *, module=None, qualname=None, type=None, start=1, boundary=None)'\n \n def __new__(cls,value):\n \n \n \n if type(value)is cls:\n \n return value\n \n \n try:\n return cls._value2member_map_[value]\n except KeyError:\n \n pass\n except TypeError:\n \n for member in cls._member_map_.values():\n if member._value_ ==value:\n return member\n \n \n if not cls._member_map_:\n raise TypeError(\"%r has no members defined\"%cls)\n \n \n try:\n exc=None\n result=cls._missing_(value)\n except Exception as e:\n exc=e\n result=None\n try:\n if isinstance(result,cls):\n return result\n elif(\n Flag is not None and issubclass(cls,Flag)\n and cls._boundary_ is EJECT and isinstance(result,int)\n ):\n return result\n else:\n ve_exc=ValueError(\"%r is not a valid %s\"%(value,cls.__qualname__))\n if result is None and exc is None:\n raise ve_exc\n elif exc is None:\n exc=TypeError(\n 'error in %s._missing_: returned %r instead of None or a valid member'\n %(cls.__name__,result)\n )\n if not isinstance(exc,ValueError):\n exc.__context__=ve_exc\n raise exc\n finally:\n \n exc=None\n ve_exc=None\n \n def __init__(self,*args,**kwds):\n pass\n \n @staticmethod\n def _generate_next_value_(name,start,count,last_values):\n ''\n\n\n\n\n\n\n \n if not last_values:\n return start\n try:\n last=last_values[-1]\n last_values.sort()\n if last ==last_values[-1]:\n \n return last+1\n else:\n \n raise TypeError\n except TypeError:\n import warnings\n warnings.warn(\n \"In 3.13 the default `auto()`/`_generate_next_value_` will require all values to be sortable and support adding +1\\n\"\n \"and the value returned will be the largest value in the enum incremented by 1\",\n DeprecationWarning,\n stacklevel=3,\n )\n for v in reversed(last_values):\n try:\n return v+1\n except TypeError:\n pass\n return start\n \n @classmethod\n def _missing_(cls,value):\n return None\n \n def __repr__(self):\n v_repr=self.__class__._value_repr_ or repr\n return \"<%s.%s: %s>\"%(self.__class__.__name__,self._name_,v_repr(self._value_))\n \n def __str__(self):\n return \"%s.%s\"%(self.__class__.__name__,self._name_,)\n \n def __dir__(self):\n ''\n\n \n if self.__class__._member_type_ is object:\n interesting=set(['__class__','__doc__','__eq__','__hash__','__module__','name','value'])\n else:\n interesting=set(object.__dir__(self))\n for name in getattr(self,'__dict__',[]):\n if name[0]!='_':\n interesting.add(name)\n for cls in self.__class__.mro():\n for name,obj in cls.__dict__.items():\n if name[0]=='_':\n continue\n if isinstance(obj,property):\n \n if obj.fget is not None or name not in self._member_map_:\n interesting.add(name)\n else:\n \n interesting.discard(name)\n else:\n interesting.add(name)\n names=sorted(\n set(['__class__','__doc__','__eq__','__hash__','__module__'])\n |interesting\n )\n return names\n \n def __format__(self,format_spec):\n return str.__format__(str(self),format_spec)\n \n def __hash__(self):\n return hash(self._name_)\n \n def __reduce_ex__(self,proto):\n return self.__class__,(self._value_,)\n \n def __deepcopy__(self,memo):\n return self\n \n def __copy__(self):\n return self\n \n \n \n \n \n \n \n \n \n @property\n def name(self):\n ''\n return self._name_\n \n @property\n def value(self):\n ''\n return self._value_\n \n \nclass ReprEnum(Enum):\n ''\n\n \n \n \nclass IntEnum(int,ReprEnum):\n ''\n\n \n \n \nclass StrEnum(str,ReprEnum):\n ''\n\n \n \n def __new__(cls,*values):\n ''\n if len(values)>3:\n raise TypeError('too many arguments for str(): %r'%(values,))\n if len(values)==1:\n \n if not isinstance(values[0],str):\n raise TypeError('%r is not a string'%(values[0],))\n if len(values)>=2:\n \n if not isinstance(values[1],str):\n raise TypeError('encoding must be a string, not %r'%(values[1],))\n if len(values)==3:\n \n if not isinstance(values[2],str):\n raise TypeError('errors must be a string, not %r'%(values[2]))\n value=str(*values)\n member=str.__new__(cls,value)\n member._value_=value\n return member\n \n @staticmethod\n def _generate_next_value_(name,start,count,last_values):\n ''\n\n \n return name.lower()\n \n \ndef pickle_by_global_name(self,proto):\n\n return self.name\n_reduce_ex_by_global_name=pickle_by_global_name\n\ndef pickle_by_enum_name(self,proto):\n\n return getattr,(self.__class__,self._name_)\n \nclass FlagBoundary(StrEnum):\n ''\n\n\n\n\n\n \n STRICT=auto()\n CONFORM=auto()\n EJECT=auto()\n KEEP=auto()\nSTRICT,CONFORM,EJECT,KEEP=FlagBoundary\n\n\nclass Flag(Enum,boundary=STRICT):\n ''\n\n \n \n _numeric_repr_=repr\n \n @staticmethod\n def _generate_next_value_(name,start,count,last_values):\n ''\n\n\n\n\n\n\n \n if not count:\n return start if start is not None else 1\n last_value=max(last_values)\n try:\n high_bit=_high_bit(last_value)\n except Exception:\n raise TypeError('invalid flag value %r'%last_value)from None\n return 2 **(high_bit+1)\n \n @classmethod\n def _iter_member_by_value_(cls,value):\n ''\n\n \n for val in _iter_bits_lsb(value&cls._flag_mask_):\n yield cls._value2member_map_.get(val)\n \n _iter_member_=_iter_member_by_value_\n \n @classmethod\n def _iter_member_by_def_(cls,value):\n ''\n\n \n yield from sorted(\n cls._iter_member_by_value_(value),\n key=lambda m:m._sort_order_,\n )\n \n @classmethod\n def _missing_(cls,value):\n ''\n\n\n\n \n if not isinstance(value,int):\n raise ValueError(\n \"%r is not a valid %s\"%(value,cls.__qualname__)\n )\n \n \n \n \n flag_mask=cls._flag_mask_\n singles_mask=cls._singles_mask_\n all_bits=cls._all_bits_\n neg_value=None\n if(\n not ~all_bits <=value <=all_bits\n or value&(all_bits ^flag_mask)\n ):\n if cls._boundary_ is STRICT:\n max_bits=max(value.bit_length(),flag_mask.bit_length())\n raise ValueError(\n \"%r invalid value %r\\n given %s\\n allowed %s\"%(\n cls,value,bin(value,max_bits),bin(flag_mask,max_bits),\n ))\n elif cls._boundary_ is CONFORM:\n value=value&flag_mask\n elif cls._boundary_ is EJECT:\n return value\n elif cls._boundary_ is KEEP:\n if value <0:\n value=(\n max(all_bits+1,2 **(value.bit_length()))\n +value\n )\n else:\n raise ValueError(\n '%r unknown flag boundary %r'%(cls,cls._boundary_,)\n )\n if value <0:\n neg_value=value\n value=all_bits+1+value\n \n unknown=value&~flag_mask\n aliases=value&~singles_mask\n member_value=value&singles_mask\n if unknown and cls._boundary_ is not KEEP:\n raise ValueError(\n '%s(%r) --\x3e unknown values %r [%s]'\n %(cls.__name__,value,unknown,bin(unknown))\n )\n \n if cls._member_type_ is object:\n \n pseudo_member=object.__new__(cls)\n else:\n pseudo_member=cls._member_type_.__new__(cls,value)\n if not hasattr(pseudo_member,'_value_'):\n pseudo_member._value_=value\n if member_value or aliases:\n members=[]\n combined_value=0\n for m in cls._iter_member_(member_value):\n members.append(m)\n combined_value |=m._value_\n if aliases:\n value=member_value |aliases\n for n,pm in cls._member_map_.items():\n if pm not in members and pm._value_ and pm._value_&value ==pm._value_:\n members.append(pm)\n combined_value |=pm._value_\n unknown=value ^combined_value\n pseudo_member._name_='|'.join([m._name_ for m in members])\n if not combined_value:\n pseudo_member._name_=None\n elif unknown and cls._boundary_ is STRICT:\n raise ValueError('%r: no members with value %r'%(cls,unknown))\n elif unknown:\n pseudo_member._name_ +='|%s'%cls._numeric_repr_(unknown)\n else:\n pseudo_member._name_=None\n \n \n \n pseudo_member=cls._value2member_map_.setdefault(value,pseudo_member)\n if neg_value is not None:\n cls._value2member_map_[neg_value]=pseudo_member\n return pseudo_member\n \n def __contains__(self,other):\n ''\n\n \n if not isinstance(other,self.__class__):\n raise TypeError(\n \"unsupported operand type(s) for 'in': %r and %r\"%(\n type(other).__qualname__,self.__class__.__qualname__))\n return other._value_&self._value_ ==other._value_\n \n def __iter__(self):\n ''\n\n \n yield from self._iter_member_(self._value_)\n \n def __len__(self):\n return self._value_.bit_count()\n \n def __repr__(self):\n cls_name=self.__class__.__name__\n v_repr=self.__class__._value_repr_ or repr\n if self._name_ is None:\n return \"<%s: %s>\"%(cls_name,v_repr(self._value_))\n else:\n return \"<%s.%s: %s>\"%(cls_name,self._name_,v_repr(self._value_))\n \n def __str__(self):\n cls_name=self.__class__.__name__\n if self._name_ is None:\n return '%s(%r)'%(cls_name,self._value_)\n else:\n return \"%s.%s\"%(cls_name,self._name_)\n \n def __bool__(self):\n return bool(self._value_)\n \n def __or__(self,other):\n if isinstance(other,self.__class__):\n other=other._value_\n elif self._member_type_ is not object and isinstance(other,self._member_type_):\n other=other\n else:\n return NotImplemented\n value=self._value_\n return self.__class__(value |other)\n \n def __and__(self,other):\n if isinstance(other,self.__class__):\n other=other._value_\n elif self._member_type_ is not object and isinstance(other,self._member_type_):\n other=other\n else:\n return NotImplemented\n value=self._value_\n return self.__class__(value&other)\n \n def __xor__(self,other):\n if isinstance(other,self.__class__):\n other=other._value_\n elif self._member_type_ is not object and isinstance(other,self._member_type_):\n other=other\n else:\n return NotImplemented\n value=self._value_\n return self.__class__(value ^other)\n \n def __invert__(self):\n if self._inverted_ is None:\n if self._boundary_ in(EJECT,KEEP):\n self._inverted_=self.__class__(~self._value_)\n else:\n self._inverted_=self.__class__(self._singles_mask_&~self._value_)\n return self._inverted_\n \n __rand__=__and__\n __ror__=__or__\n __rxor__=__xor__\n \n \nclass IntFlag(int,ReprEnum,Flag,boundary=KEEP):\n ''\n\n \n \n \ndef _high_bit(value):\n ''\n\n \n return value.bit_length()-1\n \ndef unique(enumeration):\n ''\n\n \n duplicates=[]\n for name,member in enumeration.__members__.items():\n if name !=member.name:\n duplicates.append((name,member.name))\n if duplicates:\n alias_details=', '.join(\n [\"%s -> %s\"%(alias,name)for(alias,name)in duplicates])\n raise ValueError('duplicate values found in %r: %s'%\n (enumeration,alias_details))\n return enumeration\n \ndef _dataclass_repr(self):\n dcf=self.__dataclass_fields__\n return ', '.join(\n '%s=%r'%(k,getattr(self,k))\n for k in dcf.keys()\n if dcf[k].repr\n )\n \ndef global_enum_repr(self):\n ''\n\n\n\n \n module=self.__class__.__module__.split('.')[-1]\n return '%s.%s'%(module,self._name_)\n \ndef global_flag_repr(self):\n ''\n\n\n\n \n module=self.__class__.__module__.split('.')[-1]\n cls_name=self.__class__.__name__\n if self._name_ is None:\n return \"%s.%s(%r)\"%(module,cls_name,self._value_)\n if _is_single_bit(self):\n return '%s.%s'%(module,self._name_)\n if self._boundary_ is not FlagBoundary.KEEP:\n return '|'.join(['%s.%s'%(module,name)for name in self.name.split('|')])\n else:\n name=[]\n for n in self._name_.split('|'):\n if n[0].isdigit():\n name.append(n)\n else:\n name.append('%s.%s'%(module,n))\n return '|'.join(name)\n \ndef global_str(self):\n ''\n\n \n if self._name_ is None:\n cls_name=self.__class__.__name__\n return \"%s(%r)\"%(cls_name,self._value_)\n else:\n return self._name_\n \ndef global_enum(cls,update_str=False):\n ''\n\n\n\n \n if issubclass(cls,Flag):\n cls.__repr__=global_flag_repr\n else:\n cls.__repr__=global_enum_repr\n if not issubclass(cls,ReprEnum)or update_str:\n cls.__str__=global_str\n sys.modules[cls.__module__].__dict__.update(cls.__members__)\n return cls\n \ndef _simple_enum(etype=Enum,*,boundary=None,use_args=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def convert_class(cls):\n nonlocal use_args\n cls_name=cls.__name__\n if use_args is None:\n use_args=etype._use_args_\n __new__=cls.__dict__.get('__new__')\n if __new__ is not None:\n new_member=__new__.__func__\n else:\n new_member=etype._member_type_.__new__\n attrs={}\n body={}\n if __new__ is not None:\n body['__new_member__']=new_member\n body['_new_member_']=new_member\n body['_use_args_']=use_args\n body['_generate_next_value_']=gnv=etype._generate_next_value_\n body['_member_names_']=member_names=[]\n body['_member_map_']=member_map={}\n body['_value2member_map_']=value2member_map={}\n body['_unhashable_values_']=[]\n body['_member_type_']=member_type=etype._member_type_\n body['_value_repr_']=etype._value_repr_\n if issubclass(etype,Flag):\n body['_boundary_']=boundary or etype._boundary_\n body['_flag_mask_']=None\n body['_all_bits_']=None\n body['_singles_mask_']=None\n body['_inverted_']=None\n body['__or__']=Flag.__or__\n body['__xor__']=Flag.__xor__\n body['__and__']=Flag.__and__\n body['__ror__']=Flag.__ror__\n body['__rxor__']=Flag.__rxor__\n body['__rand__']=Flag.__rand__\n body['__invert__']=Flag.__invert__\n for name,obj in cls.__dict__.items():\n if name in('__dict__','__weakref__'):\n continue\n if _is_dunder(name)or _is_private(cls_name,name)or _is_sunder(name)or _is_descriptor(obj):\n body[name]=obj\n else:\n attrs[name]=obj\n if cls.__dict__.get('__doc__')is None:\n body['__doc__']='An enumeration.'\n \n \n \n \n \n enum_class=type(cls_name,(etype,),body,boundary=boundary,_simple=True)\n for name in('__repr__','__str__','__format__','__reduce_ex__'):\n if name not in body:\n \n enum_method=getattr(etype,name)\n found_method=getattr(enum_class,name)\n object_method=getattr(object,name)\n data_type_method=getattr(member_type,name)\n if found_method in(data_type_method,object_method):\n setattr(enum_class,name,enum_method)\n gnv_last_values=[]\n if issubclass(enum_class,Flag):\n \n single_bits=multi_bits=0\n for name,value in attrs.items():\n if isinstance(value,auto)and auto.value is _auto_null:\n value=gnv(name,1,len(member_names),gnv_last_values)\n if value in value2member_map:\n \n member=value2member_map[value]\n redirect=property()\n redirect.member=member\n redirect.__set_name__(enum_class,name)\n setattr(enum_class,name,redirect)\n member_map[name]=member\n else:\n \n if use_args:\n if not isinstance(value,tuple):\n value=(value,)\n member=new_member(enum_class,*value)\n value=value[0]\n else:\n member=new_member(enum_class)\n if __new__ is None:\n member._value_=value\n member._name_=name\n member.__objclass__=enum_class\n member.__init__(value)\n redirect=property()\n redirect.member=member\n redirect.__set_name__(enum_class,name)\n setattr(enum_class,name,redirect)\n member_map[name]=member\n member._sort_order_=len(member_names)\n value2member_map[value]=member\n if _is_single_bit(value):\n \n member_names.append(name)\n single_bits |=value\n else:\n multi_bits |=value\n gnv_last_values.append(value)\n enum_class._flag_mask_=single_bits |multi_bits\n enum_class._singles_mask_=single_bits\n enum_class._all_bits_=2 **((single_bits |multi_bits).bit_length())-1\n \n member_list=[m._value_ for m in enum_class]\n if member_list !=sorted(member_list):\n enum_class._iter_member_=enum_class._iter_member_by_def_\n else:\n \n for name,value in attrs.items():\n if isinstance(value,auto):\n if value.value is _auto_null:\n value.value=gnv(name,1,len(member_names),gnv_last_values)\n value=value.value\n if value in value2member_map:\n \n member=value2member_map[value]\n redirect=property()\n redirect.member=member\n redirect.__set_name__(enum_class,name)\n setattr(enum_class,name,redirect)\n member_map[name]=member\n else:\n \n if use_args:\n if not isinstance(value,tuple):\n value=(value,)\n member=new_member(enum_class,*value)\n value=value[0]\n else:\n member=new_member(enum_class)\n if __new__ is None:\n member._value_=value\n member._name_=name\n member.__objclass__=enum_class\n member.__init__(value)\n member._sort_order_=len(member_names)\n redirect=property()\n redirect.member=member\n redirect.__set_name__(enum_class,name)\n setattr(enum_class,name,redirect)\n member_map[name]=member\n value2member_map[value]=member\n member_names.append(name)\n gnv_last_values.append(value)\n if '__new__'in body:\n enum_class.__new_member__=enum_class.__new__\n enum_class.__new__=Enum.__new__\n return enum_class\n return convert_class\n \n@_simple_enum(StrEnum)\nclass EnumCheck:\n ''\n\n \n CONTINUOUS=\"no skipped integer values\"\n NAMED_FLAGS=\"multi-flag aliases may not contain unnamed flags\"\n UNIQUE=\"one name per value\"\nCONTINUOUS,NAMED_FLAGS,UNIQUE=EnumCheck\n\n\nclass verify:\n ''\n\n \n def __init__(self,*checks):\n self.checks=checks\n def __call__(self,enumeration):\n checks=self.checks\n cls_name=enumeration.__name__\n if Flag is not None and issubclass(enumeration,Flag):\n enum_type='flag'\n elif issubclass(enumeration,Enum):\n enum_type='enum'\n else:\n raise TypeError(\"the 'verify' decorator only works with Enum and Flag\")\n for check in checks:\n if check is UNIQUE:\n \n duplicates=[]\n for name,member in enumeration.__members__.items():\n if name !=member.name:\n duplicates.append((name,member.name))\n if duplicates:\n alias_details=', '.join(\n [\"%s -> %s\"%(alias,name)for(alias,name)in duplicates])\n raise ValueError('aliases found in %r: %s'%\n (enumeration,alias_details))\n elif check is CONTINUOUS:\n values=set(e.value for e in enumeration)\n if len(values)<2:\n continue\n low,high=min(values),max(values)\n missing=[]\n if enum_type =='flag':\n \n for i in range(_high_bit(low)+1,_high_bit(high)):\n if 2 **i not in values:\n missing.append(2 **i)\n elif enum_type =='enum':\n \n for i in range(low+1,high):\n if i not in values:\n missing.append(i)\n else:\n raise Exception('verify: unknown type %r'%enum_type)\n if missing:\n raise ValueError(('invalid %s %r: missing values %s'%(\n enum_type,cls_name,', '.join((str(m)for m in missing)))\n )[:256])\n \n elif check is NAMED_FLAGS:\n \n member_names=enumeration._member_names_\n member_values=[m.value for m in enumeration]\n missing_names=[]\n missing_value=0\n for name,alias in enumeration._member_map_.items():\n if name in member_names:\n \n continue\n if alias.value <0:\n \n continue\n values=list(_iter_bits_lsb(alias.value))\n missed=[v for v in values if v not in member_values]\n if missed:\n missing_names.append(name)\n missing_value |=reduce(_or_,missed)\n if missing_names:\n if len(missing_names)==1:\n alias='alias %s is missing'%missing_names[0]\n else:\n alias='aliases %s and %s are missing'%(\n ', '.join(missing_names[:-1]),missing_names[-1]\n )\n if _is_single_bit(missing_value):\n value='value 0x%x'%missing_value\n else:\n value='combined values of 0x%x'%missing_value\n raise ValueError(\n 'invalid Flag %r: %s %s [use enum.show_flag_values(value) for details]'\n %(cls_name,alias,value)\n )\n return enumeration\n \ndef _test_simple_enum(checked_enum,simple_enum):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n failed=[]\n if checked_enum.__dict__ !=simple_enum.__dict__:\n checked_dict=checked_enum.__dict__\n checked_keys=list(checked_dict.keys())\n simple_dict=simple_enum.__dict__\n simple_keys=list(simple_dict.keys())\n member_names=set(\n list(checked_enum._member_map_.keys())\n +list(simple_enum._member_map_.keys())\n )\n for key in set(checked_keys+simple_keys):\n if key in('__module__','_member_map_','_value2member_map_','__doc__'):\n \n continue\n elif key in member_names:\n \n continue\n elif key not in simple_keys:\n failed.append(\"missing key: %r\"%(key,))\n elif key not in checked_keys:\n failed.append(\"extra key: %r\"%(key,))\n else:\n checked_value=checked_dict[key]\n simple_value=simple_dict[key]\n if callable(checked_value)or isinstance(checked_value,bltns.property):\n continue\n if key =='__doc__':\n \n compressed_checked_value=checked_value.replace(' ','').replace('\\t','')\n compressed_simple_value=simple_value.replace(' ','').replace('\\t','')\n if compressed_checked_value !=compressed_simple_value:\n failed.append(\"%r:\\n %s\\n %s\"%(\n key,\n \"checked -> %r\"%(checked_value,),\n \"simple -> %r\"%(simple_value,),\n ))\n elif checked_value !=simple_value:\n failed.append(\"%r:\\n %s\\n %s\"%(\n key,\n \"checked -> %r\"%(checked_value,),\n \"simple -> %r\"%(simple_value,),\n ))\n failed.sort()\n for name in member_names:\n failed_member=[]\n if name not in simple_keys:\n failed.append('missing member from simple enum: %r'%name)\n elif name not in checked_keys:\n failed.append('extra member in simple enum: %r'%name)\n else:\n checked_member_dict=checked_enum[name].__dict__\n checked_member_keys=list(checked_member_dict.keys())\n simple_member_dict=simple_enum[name].__dict__\n simple_member_keys=list(simple_member_dict.keys())\n for key in set(checked_member_keys+simple_member_keys):\n if key in('__module__','__objclass__','_inverted_'):\n \n continue\n elif key not in simple_member_keys:\n failed_member.append(\"missing key %r not in the simple enum member %r\"%(key,name))\n elif key not in checked_member_keys:\n failed_member.append(\"extra key %r in simple enum member %r\"%(key,name))\n else:\n checked_value=checked_member_dict[key]\n simple_value=simple_member_dict[key]\n if checked_value !=simple_value:\n failed_member.append(\"%r:\\n %s\\n %s\"%(\n key,\n \"checked member -> %r\"%(checked_value,),\n \"simple member -> %r\"%(simple_value,),\n ))\n if failed_member:\n failed.append('%r member mismatch:\\n %s'%(\n name,'\\n '.join(failed_member),\n ))\n for method in(\n '__str__','__repr__','__reduce_ex__','__format__',\n '__getnewargs_ex__','__getnewargs__','__reduce_ex__','__reduce__'\n ):\n if method in simple_keys and method in checked_keys:\n \n continue\n elif method not in simple_keys and method not in checked_keys:\n \n checked_method=getattr(checked_enum,method,None)\n simple_method=getattr(simple_enum,method,None)\n if hasattr(checked_method,'__func__'):\n checked_method=checked_method.__func__\n simple_method=simple_method.__func__\n if checked_method !=simple_method:\n failed.append(\"%r: %-30s %s\"%(\n method,\n \"checked -> %r\"%(checked_method,),\n \"simple -> %r\"%(simple_method,),\n ))\n else:\n \n \n pass\n if failed:\n raise TypeError('enum mismatch:\\n %s'%'\\n '.join(failed))\n \ndef _old_convert_(etype,name,module,filter,source=None,*,boundary=None):\n ''\n\n \n \n \n \n \n \n module_globals=sys.modules[module].__dict__\n if source:\n source=source.__dict__\n else:\n source=module_globals\n \n \n \n members=[\n (name,value)\n for name,value in source.items()\n if filter(name)]\n try:\n \n members.sort(key=lambda t:(t[1],t[0]))\n except TypeError:\n \n members.sort(key=lambda t:t[0])\n cls=etype(name,members,module=module,boundary=boundary or KEEP)\n return cls\n \n_stdlib_enums=IntEnum,StrEnum,IntFlag\n",["builtins","functools","operator","sys","types","warnings"]],errno:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\nE2BIG=7\n\nEACCES=13\n\nEADDRINUSE=10048\n\nEADDRNOTAVAIL=10049\n\nEAFNOSUPPORT=10047\n\nEAGAIN=11\n\nEALREADY=10037\n\nEBADF=9\n\nEBADMSG=104\n\nEBUSY=16\n\nECANCELED=105\n\nECHILD=10\n\nECONNABORTED=10053\n\nECONNREFUSED=10061\n\nECONNRESET=10054\n\nEDEADLK=36\n\nEDEADLOCK=36\n\nEDESTADDRREQ=10039\n\nEDOM=33\n\nEDQUOT=10069\n\nEEXIST=17\n\nEFAULT=14\n\nEFBIG=27\n\nEHOSTDOWN=10064\n\nEHOSTUNREACH=10065\n\nEIDRM=111\n\nEILSEQ=42\n\nEINPROGRESS=10036\n\nEINTR=4\n\nEINVAL=22\n\nEIO=5\n\nEISCONN=10056\n\nEISDIR=21\n\nELOOP=10062\n\nEMFILE=24\n\nEMLINK=31\n\nEMSGSIZE=10040\n\nENAMETOOLONG=38\n\nENETDOWN=10050\n\nENETRESET=10052\n\nENETUNREACH=10051\n\nENFILE=23\n\nENOBUFS=10055\n\nENODATA=120\n\nENODEV=19\n\nENOENT=2\n\nENOEXEC=8\n\nENOLCK=39\n\nENOLINK=121\n\nENOMEM=12\n\nENOMSG=122\n\nENOPROTOOPT=10042\n\nENOSPC=28\n\nENOSR=124\n\nENOSTR=125\n\nENOSYS=40\n\nENOTCONN=10057\n\nENOTDIR=20\n\nENOTEMPTY=41\n\nENOTRECOVERABLE=127\n\nENOTSOCK=10038\n\nENOTSUP=129\n\nENOTTY=25\n\nENXIO=6\n\nEOPNOTSUPP=10045\n\nEOVERFLOW=132\n\nEOWNERDEAD=133\n\nEPERM=1\n\nEPFNOSUPPORT=10046\n\nEPIPE=32\n\nEPROTO=134\n\nEPROTONOSUPPORT=10043\n\nEPROTOTYPE=10041\n\nERANGE=34\n\nEREMOTE=10071\n\nEROFS=30\n\nESHUTDOWN=10058\n\nESOCKTNOSUPPORT=10044\n\nESPIPE=29\n\nESRCH=3\n\nESTALE=10070\n\nETIME=137\n\nETIMEDOUT=10060\n\nETOOMANYREFS=10059\n\nETXTBSY=139\n\nEUSERS=10068\n\nEWOULDBLOCK=10035\n\nEXDEV=18\n\nWSABASEERR=10000\n\nWSAEACCES=10013\n\nWSAEADDRINUSE=10048\n\nWSAEADDRNOTAVAIL=10049\n\nWSAEAFNOSUPPORT=10047\n\nWSAEALREADY=10037\n\nWSAEBADF=10009\n\nWSAECONNABORTED=10053\n\nWSAECONNREFUSED=10061\n\nWSAECONNRESET=10054\n\nWSAEDESTADDRREQ=10039\n\nWSAEDISCON=10101\n\nWSAEDQUOT=10069\n\nWSAEFAULT=10014\n\nWSAEHOSTDOWN=10064\n\nWSAEHOSTUNREACH=10065\n\nWSAEINPROGRESS=10036\n\nWSAEINTR=10004\n\nWSAEINVAL=10022\n\nWSAEISCONN=10056\n\nWSAELOOP=10062\n\nWSAEMFILE=10024\n\nWSAEMSGSIZE=10040\n\nWSAENAMETOOLONG=10063\n\nWSAENETDOWN=10050\n\nWSAENETRESET=10052\n\nWSAENETUNREACH=10051\n\nWSAENOBUFS=10055\n\nWSAENOPROTOOPT=10042\n\nWSAENOTCONN=10057\n\nWSAENOTEMPTY=10066\n\nWSAENOTSOCK=10038\n\nWSAEOPNOTSUPP=10045\n\nWSAEPFNOSUPPORT=10046\n\nWSAEPROCLIM=10067\n\nWSAEPROTONOSUPPORT=10043\n\nWSAEPROTOTYPE=10041\n\nWSAEREMOTE=10071\n\nWSAESHUTDOWN=10058\n\nWSAESOCKTNOSUPPORT=10044\n\nWSAESTALE=10070\n\nWSAETIMEDOUT=10060\n\nWSAETOOMANYREFS=10059\n\nWSAEUSERS=10068\n\nWSAEWOULDBLOCK=10035\n\nWSANOTINITIALISED=10093\n\nWSASYSNOTREADY=10091\n\nWSAVERNOTSUPPORTED=10092\n\nerrorcode={v:k for(k,v)in globals().items()if k ==k.upper()}\n",[]],external_import:[".py","import os\nimport sys\nfrom browser import doc\nimport urllib.request\n\n\n\n\n\nclass ModuleFinder:\n def __init__(self,path_entry):\n print(\"external_import here..\")\n \n self._module=None\n if path_entry.startswith('http://'):\n self.path_entry=path_entry\n else:\n raise ImportError()\n \n def __str__(self):\n return '<%s for \"%s\">'%(self.__class__.__name__,self.path_entry)\n \n def find_module(self,fullname,path=None):\n path=path or self.path_entry\n \n for _ext in['js','pyj','py']:\n _fp,_url,_headers=urllib.request.urlopen(path+'/'+'%s.%s'%(fullname,_ext))\n self._module=_fp.read()\n _fp.close()\n if self._module is not None:\n print(\"module found at %s:%s\"%(path,fullname))\n return ModuleLoader(path,fullname,self._module)\n \n print('module %s not found'%fullname)\n raise ImportError()\n return None\n \nclass ModuleLoader:\n ''\n \n def __init__(self,filepath,name,module_source):\n self._filepath=filepath\n self._name=name\n self._module_source=module_source\n \n def get_source(self):\n return self._module_source\n \n def is_package(self):\n return '.'in self._name\n \n def load_module(self):\n if self._name in sys.modules:\n \n mod=sys.modules[self._name]\n return mod\n \n _src=self.get_source()\n if self._filepath.endswith('.js'):\n mod=JSObject(import_js_module(_src,self._filepath,self._name))\n elif self._filepath.endswith('.py'):\n mod=JSObject(import_py_module(_src,self._filepath,self._name))\n elif self._filepath.endswith('.pyj'):\n mod=JSObject(import_pyj_module(_src,self._filepath,self._name))\n else:\n raise ImportError('Invalid Module: %s'%self._filepath)\n \n \n mod.__file__=self._filepath\n mod.__name__=self._name\n mod.__path__=os.path.abspath(self._filepath)\n mod.__loader__=self\n mod.__package__='.'.join(self._name.split('.')[:-1])\n \n if self.is_package():\n print('adding path for package')\n \n \n mod.__path__=[self._filepath]\n else:\n print('imported as regular module')\n \n print('creating a new module object for \"%s\"'%self._name)\n sys.modules.setdefault(self._name,mod)\n JSObject(__BRYTHON__.imported)[self._name]=mod\n \n return mod\n",["browser","os","sys","urllib.request"]],faulthandler:[".py","''\n\n\n_EXCEPTION_ACCESS_VIOLATION=-1073741819\n\n_EXCEPTION_INT_DIVIDE_BY_ZERO=-1073741676\n\n_EXCEPTION_NONCONTINUABLE=1\n\n_EXCEPTION_NONCONTINUABLE_EXCEPTION=-1073741787\n\n_EXCEPTION_STACK_OVERFLOW=-1073741571\n\nclass __loader__(object):\n ''\n\n\n\n\n \n \n \n __delattr__=\"\"\n \n __dict__=\"{'__module__': '_frozen_importlib', '__doc__': 'Meta path import for built-in modules.\\n\\n All methods are either class or static methods to avoid the need to\\n instantiate the class.\\n\\n ', 'module_repr': , 'find_spec': , 'find_module': , 'create_module': , 'exec_module': , 'get_code': , 'get_source': , 'is_package': , 'load_module': , '__dict__': , '__weakref__': }\"\n \n __dir__=\"\"\n \n __eq__=\"\"\n \n __format__=\"\"\n \n __ge__=\"\"\n \n __getattribute__=\"\"\n \n __gt__=\"\"\n \n __hash__=\"\"\n \n __init__=\"\"\n \n def __init_subclass__(*args,**kw):\n ''\n\n\n \n pass\n \n __le__=\"\"\n \n __lt__=\"\"\n \n __module__=\"\"\"_frozen_importlib\"\"\"\n \n __ne__=\"\"\n \n def __new__(*args,**kw):\n ''\n pass\n \n __reduce__=\"\"\n \n __reduce_ex__=\"\"\n \n __repr__=\"\"\n \n __setattr__=\"\"\n \n __sizeof__=\"\"\n \n __str__=\"\"\n \n def __subclasshook__(*args,**kw):\n ''\n\n\n\n\n \n pass\n \n __weakref__=\"\"\n \n create_module=\">\"\n \n exec_module=\">\"\n \n find_module=\">\"\n \n find_spec=\">\"\n \n get_code=\">\"\n \n get_source=\">\"\n \n is_package=\">\"\n \n load_module=\">\"\n \n def module_repr(*args,**kw):\n ''\n\n\n \n pass\n__spec__=\"ModuleSpec(name='faulthandler', loader=, origin='built-in')\"\n\ndef _fatal_error(*args,**kw):\n ''\n pass\n \ndef _fatal_error_c_thread(*args,**kw):\n ''\n pass\n \ndef _raise_exception(*args,**kw):\n ''\n pass\n \ndef _read_null(*args,**kw):\n ''\n pass\n \ndef _sigabrt(*args,**kw):\n ''\n pass\n \ndef _sigfpe(*args,**kw):\n ''\n pass\n \ndef _sigsegv(*args,**kw):\n ''\n pass\n \ndef cancel_dump_traceback_later(*args,**kw):\n ''\n pass\n \ndef disable(*args,**kw):\n ''\n pass\n \ndef dump_traceback(*args,**kw):\n ''\n pass\n \ndef dump_traceback_later(*args,**kw):\n ''\n \n pass\n \ndef enable(*args,**kw):\n ''\n pass\n \ndef is_enabled(*args,**kw):\n ''\n pass\n",[]],fnmatch:[".py","''\n\n\n\n\n\n\n\n\n\n\nimport os\nimport posixpath\nimport re\nimport functools\n\n__all__=[\"filter\",\"fnmatch\",\"fnmatchcase\",\"translate\"]\n\ndef fnmatch(name,pat):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n name=os.path.normcase(name)\n pat=os.path.normcase(pat)\n return fnmatchcase(name,pat)\n \n@functools.lru_cache(maxsize=32768,typed=True)\ndef _compile_pattern(pat):\n if isinstance(pat,bytes):\n pat_str=str(pat,'ISO-8859-1')\n res_str=translate(pat_str)\n res=bytes(res_str,'ISO-8859-1')\n else:\n res=translate(pat)\n return re.compile(res).match\n \ndef filter(names,pat):\n ''\n result=[]\n pat=os.path.normcase(pat)\n match=_compile_pattern(pat)\n if os.path is posixpath:\n \n for name in names:\n if match(name):\n result.append(name)\n else:\n for name in names:\n if match(os.path.normcase(name)):\n result.append(name)\n return result\n \ndef fnmatchcase(name,pat):\n ''\n\n\n\n \n match=_compile_pattern(pat)\n return match(name)is not None\n \n \ndef translate(pat):\n ''\n\n\n \n \n STAR=object()\n res=[]\n add=res.append\n i,n=0,len(pat)\n while i =n:\n add('\\\\[')\n else:\n stuff=pat[i:j]\n if '-'not in stuff:\n stuff=stuff.replace('\\\\',r'\\\\')\n else:\n chunks=[]\n k=i+2 if pat[i]=='!'else i+1\n while True:\n k=pat.find('-',k,j)\n if k <0:\n break\n chunks.append(pat[i:k])\n i=k+1\n k=k+3\n chunk=pat[i:j]\n if chunk:\n chunks.append(chunk)\n else:\n chunks[-1]+='-'\n \n for k in range(len(chunks)-1,0,-1):\n if chunks[k -1][-1]>chunks[k][0]:\n chunks[k -1]=chunks[k -1][:-1]+chunks[k][1:]\n del chunks[k]\n \n \n stuff='-'.join(s.replace('\\\\',r'\\\\').replace('-',r'\\-')\n for s in chunks)\n \n stuff=re.sub(r'([&~|])',r'\\\\\\1',stuff)\n i=j+1\n if not stuff:\n \n add('(?!)')\n elif stuff =='!':\n \n add('.')\n else:\n if stuff[0]=='!':\n stuff='^'+stuff[1:]\n elif stuff[0]in('^','['):\n stuff='\\\\'+stuff\n add(f'[{stuff}]')\n else:\n add(re.escape(c))\n assert i ==n\n \n \n inp=res\n res=[]\n add=res.append\n i,n=0,len(inp)\n \n while i .*?{fixed})\")\n assert i ==n\n res=\"\".join(res)\n return fr'(?s:{res})\\Z'\n",["functools","os","posixpath","re"]],formatter:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport sys\nimport warnings\nwarnings.warn('the formatter module is deprecated',DeprecationWarning,\nstacklevel=2)\n\n\nAS_IS=None\n\n\nclass NullFormatter:\n ''\n\n\n\n\n\n\n\n \n \n def __init__(self,writer=None):\n if writer is None:\n writer=NullWriter()\n self.writer=writer\n def end_paragraph(self,blankline):pass\n def add_line_break(self):pass\n def add_hor_rule(self,*args,**kw):pass\n def add_label_data(self,format,counter,blankline=None):pass\n def add_flowing_data(self,data):pass\n def add_literal_data(self,data):pass\n def flush_softspace(self):pass\n def push_alignment(self,align):pass\n def pop_alignment(self):pass\n def push_font(self,x):pass\n def pop_font(self):pass\n def push_margin(self,margin):pass\n def pop_margin(self):pass\n def set_spacing(self,spacing):pass\n def push_style(self,*styles):pass\n def pop_style(self,n=1):pass\n def assert_line_data(self,flag=1):pass\n \n \nclass AbstractFormatter:\n ''\n\n\n\n\n\n \n \n \n \n \n \n \n def __init__(self,writer):\n self.writer=writer\n self.align=None\n self.align_stack=[]\n self.font_stack=[]\n self.margin_stack=[]\n self.spacing=None\n self.style_stack=[]\n self.nospace=1\n self.softspace=0\n self.para_end=1\n self.parskip=0\n self.hard_break=1\n self.have_label=0\n \n def end_paragraph(self,blankline):\n if not self.hard_break:\n self.writer.send_line_break()\n self.have_label=0\n if self.parskip 0:\n label=label+self.format_letter(c,counter)\n elif c in 'iI':\n if counter >0:\n label=label+self.format_roman(c,counter)\n else:\n label=label+c\n return label\n \n def format_letter(self,case,counter):\n label=''\n while counter >0:\n counter,x=divmod(counter -1,26)\n \n \n \n s=chr(ord(case)+x)\n label=s+label\n return label\n \n def format_roman(self,case,counter):\n ones=['i','x','c','m']\n fives=['v','l','d']\n label,index='',0\n \n while counter >0:\n counter,x=divmod(counter,10)\n if x ==9:\n label=ones[index]+ones[index+1]+label\n elif x ==4:\n label=ones[index]+fives[index]+label\n else:\n if x >=5:\n s=fives[index]\n x=x -5\n else:\n s=''\n s=s+ones[index]*x\n label=s+label\n index=index+1\n if case =='I':\n return label.upper()\n return label\n \n def add_flowing_data(self,data):\n if not data:return\n prespace=data[:1].isspace()\n postspace=data[-1:].isspace()\n data=\" \".join(data.split())\n if self.nospace and not data:\n return\n elif prespace or self.softspace:\n if not data:\n if not self.nospace:\n self.softspace=1\n self.parskip=0\n return\n if not self.nospace:\n data=' '+data\n self.hard_break=self.nospace=self.para_end=\\\n self.parskip=self.have_label=0\n self.softspace=postspace\n self.writer.send_flowing_data(data)\n \n def add_literal_data(self,data):\n if not data:return\n if self.softspace:\n self.writer.send_flowing_data(\" \")\n self.hard_break=data[-1:]=='\\n'\n self.nospace=self.para_end=self.softspace=\\\n self.parskip=self.have_label=0\n self.writer.send_literal_data(data)\n \n def flush_softspace(self):\n if self.softspace:\n self.hard_break=self.para_end=self.parskip=\\\n self.have_label=self.softspace=0\n self.nospace=1\n self.writer.send_flowing_data(' ')\n \n def push_alignment(self,align):\n if align and align !=self.align:\n self.writer.new_alignment(align)\n self.align=align\n self.align_stack.append(align)\n else:\n self.align_stack.append(self.align)\n \n def pop_alignment(self):\n if self.align_stack:\n del self.align_stack[-1]\n if self.align_stack:\n self.align=align=self.align_stack[-1]\n self.writer.new_alignment(align)\n else:\n self.align=None\n self.writer.new_alignment(None)\n \n def push_font(self,font):\n size,i,b,tt=font\n if self.softspace:\n self.hard_break=self.para_end=self.softspace=0\n self.nospace=1\n self.writer.send_flowing_data(' ')\n if self.font_stack:\n csize,ci,cb,ctt=self.font_stack[-1]\n if size is AS_IS:size=csize\n if i is AS_IS:i=ci\n if b is AS_IS:b=cb\n if tt is AS_IS:tt=ctt\n font=(size,i,b,tt)\n self.font_stack.append(font)\n self.writer.new_font(font)\n \n def pop_font(self):\n if self.font_stack:\n del self.font_stack[-1]\n if self.font_stack:\n font=self.font_stack[-1]\n else:\n font=None\n self.writer.new_font(font)\n \n def push_margin(self,margin):\n self.margin_stack.append(margin)\n fstack=[m for m in self.margin_stack if m]\n if not margin and fstack:\n margin=fstack[-1]\n self.writer.new_margin(margin,len(fstack))\n \n def pop_margin(self):\n if self.margin_stack:\n del self.margin_stack[-1]\n fstack=[m for m in self.margin_stack if m]\n if fstack:\n margin=fstack[-1]\n else:\n margin=None\n self.writer.new_margin(margin,len(fstack))\n \n def set_spacing(self,spacing):\n self.spacing=spacing\n self.writer.new_spacing(spacing)\n \n def push_style(self,*styles):\n if self.softspace:\n self.hard_break=self.para_end=self.softspace=0\n self.nospace=1\n self.writer.send_flowing_data(' ')\n for style in styles:\n self.style_stack.append(style)\n self.writer.new_styles(tuple(self.style_stack))\n \n def pop_style(self,n=1):\n del self.style_stack[-n:]\n self.writer.new_styles(tuple(self.style_stack))\n \n def assert_line_data(self,flag=1):\n self.nospace=self.hard_break=not flag\n self.para_end=self.parskip=self.have_label=0\n \n \nclass NullWriter:\n ''\n\n\n\n\n\n \n def __init__(self):pass\n def flush(self):pass\n def new_alignment(self,align):pass\n def new_font(self,font):pass\n def new_margin(self,margin,level):pass\n def new_spacing(self,spacing):pass\n def new_styles(self,styles):pass\n def send_paragraph(self,blankline):pass\n def send_line_break(self):pass\n def send_hor_rule(self,*args,**kw):pass\n def send_label_data(self,data):pass\n def send_flowing_data(self,data):pass\n def send_literal_data(self,data):pass\n \n \nclass AbstractWriter(NullWriter):\n ''\n\n\n\n\n \n \n def new_alignment(self,align):\n print(\"new_alignment(%r)\"%(align,))\n \n def new_font(self,font):\n print(\"new_font(%r)\"%(font,))\n \n def new_margin(self,margin,level):\n print(\"new_margin(%r, %d)\"%(margin,level))\n \n def new_spacing(self,spacing):\n print(\"new_spacing(%r)\"%(spacing,))\n \n def new_styles(self,styles):\n print(\"new_styles(%r)\"%(styles,))\n \n def send_paragraph(self,blankline):\n print(\"send_paragraph(%r)\"%(blankline,))\n \n def send_line_break(self):\n print(\"send_line_break()\")\n \n def send_hor_rule(self,*args,**kw):\n print(\"send_hor_rule()\")\n \n def send_label_data(self,data):\n print(\"send_label_data(%r)\"%(data,))\n \n def send_flowing_data(self,data):\n print(\"send_flowing_data(%r)\"%(data,))\n \n def send_literal_data(self,data):\n print(\"send_literal_data(%r)\"%(data,))\n \n \nclass DumbWriter(NullWriter):\n ''\n\n\n\n\n\n \n \n def __init__(self,file=None,maxcol=72):\n self.file=file or sys.stdout\n self.maxcol=maxcol\n NullWriter.__init__(self)\n self.reset()\n \n def reset(self):\n self.col=0\n self.atbreak=0\n \n def send_paragraph(self,blankline):\n self.file.write('\\n'*blankline)\n self.col=0\n self.atbreak=0\n \n def send_line_break(self):\n self.file.write('\\n')\n self.col=0\n self.atbreak=0\n \n def send_hor_rule(self,*args,**kw):\n self.file.write('\\n')\n self.file.write('-'*self.maxcol)\n self.file.write('\\n')\n self.col=0\n self.atbreak=0\n \n def send_literal_data(self,data):\n self.file.write(data)\n i=data.rfind('\\n')\n if i >=0:\n self.col=0\n data=data[i+1:]\n data=data.expandtabs()\n self.col=self.col+len(data)\n self.atbreak=0\n \n def send_flowing_data(self,data):\n if not data:return\n atbreak=self.atbreak or data[0].isspace()\n col=self.col\n maxcol=self.maxcol\n write=self.file.write\n for word in data.split():\n if atbreak:\n if col+len(word)>=maxcol:\n write('\\n')\n col=0\n else:\n write(' ')\n col=col+1\n write(word)\n col=col+len(word)\n atbreak=1\n self.col=col\n self.atbreak=data[-1].isspace()\n \n \ndef test(file=None):\n w=DumbWriter()\n f=AbstractFormatter(w)\n if file is not None:\n fp=open(file)\n elif sys.argv[1:]:\n fp=open(sys.argv[1])\n else:\n fp=sys.stdin\n try:\n for line in fp:\n if line =='\\n':\n f.end_paragraph(1)\n else:\n f.add_flowing_data(line)\n finally:\n if fp is not sys.stdin:\n fp.close()\n f.end_paragraph(0)\n \n \nif __name__ =='__main__':\n test()\n",["sys","warnings"]],fractions:[".py","\n\n\n\"\"\"Fraction, infinite-precision, rational numbers.\"\"\"\n\nfrom decimal import Decimal\nimport functools\nimport math\nimport numbers\nimport operator\nimport re\nimport sys\n\n__all__=['Fraction']\n\n\n\n\n_PyHASH_MODULUS=sys.hash_info.modulus\n\n\n_PyHASH_INF=sys.hash_info.inf\n\n@functools.lru_cache(maxsize=1 <<14)\ndef _hash_algorithm(numerator,denominator):\n\n\n\n\n\n\n try:\n dinv=pow(denominator,-1,_PyHASH_MODULUS)\n except ValueError:\n \n hash_=_PyHASH_INF\n else:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hash_=hash(hash(abs(numerator))*dinv)\n result=hash_ if numerator >=0 else -hash_\n return -2 if result ==-1 else result\n \n_RATIONAL_FORMAT=re.compile(r\"\"\"\n \\A\\s* # optional whitespace at the start,\n (?P[-+]?) # an optional sign, then\n (?=\\d|\\.\\d) # lookahead for digit or .digit\n (?P\\d*|\\d+(_\\d+)*) # numerator (possibly empty)\n (?: # followed by\n (?:\\s*/\\s*(?P\\d+(_\\d+)*))? # an optional denominator\n | # or\n (?:\\.(?Pd*|\\d+(_\\d+)*))? # an optional fractional part\n (?:E(?P[-+]?\\d+(_\\d+)*))? # and optional exponent\n )\n \\s*\\Z # and optional whitespace to finish\n\"\"\",re.VERBOSE |re.IGNORECASE)\n\n\n\n\ndef _round_to_exponent(n,d,exponent,no_neg_zero=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n if exponent >=0:\n d *=10 **exponent\n else:\n n *=10 **-exponent\n \n \n \n q,r=divmod(n+(d >>1),d)\n if r ==0 and d&1 ==0:\n q &=-2\n \n sign=q <0 if no_neg_zero else n <0\n return sign,abs(q)\n \n \ndef _round_to_figures(n,d,figures):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if n ==0:\n return False,0,1 -figures\n \n \n \n str_n,str_d=str(abs(n)),str(d)\n m=len(str_n)-len(str_d)+(str_d <=str_n)\n \n \n \n exponent=m -figures\n sign,significand=_round_to_exponent(n,d,exponent)\n \n \n \n if len(str(significand))==figures+1:\n significand //=10\n exponent +=1\n \n return sign,significand,exponent\n \n \n \n \n_FLOAT_FORMAT_SPECIFICATION_MATCHER=re.compile(r\"\"\"\n (?:\n (?P.)?\n (?P[<>=^])\n )?\n (?P[-+ ]?)\n (?Pz)?\n (?P\\#)?\n # A '0' that's *not* followed by another digit is parsed as a minimum width\n # rather than a zeropad flag.\n (?P0(?=[0-9]))?\n (?P0|[1-9][0-9]*)?\n (?P[,_])?\n (?:\\.(?P0|[1-9][0-9]*))?\n (?P[eEfFgG%])\n\"\"\",re.DOTALL |re.VERBOSE).fullmatch\n\n\nclass Fraction(numbers.Rational):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __slots__=('_numerator','_denominator')\n \n \n def __new__(cls,numerator=0,denominator=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self=super(Fraction,cls).__new__(cls)\n \n if denominator is None:\n if type(numerator)is int:\n self._numerator=numerator\n self._denominator=1\n return self\n \n elif isinstance(numerator,numbers.Rational):\n self._numerator=numerator.numerator\n self._denominator=numerator.denominator\n return self\n \n elif isinstance(numerator,(float,Decimal)):\n \n self._numerator,self._denominator=numerator.as_integer_ratio()\n return self\n \n elif isinstance(numerator,str):\n \n m=_RATIONAL_FORMAT.match(numerator)\n if m is None:\n raise ValueError('Invalid literal for Fraction: %r'%\n numerator)\n numerator=int(m.group('num')or '0')\n denom=m.group('denom')\n if denom:\n denominator=int(denom)\n else:\n denominator=1\n decimal=m.group('decimal')\n if decimal:\n decimal=decimal.replace('_','')\n scale=10 **len(decimal)\n numerator=numerator *scale+int(decimal)\n denominator *=scale\n exp=m.group('exp')\n if exp:\n exp=int(exp)\n if exp >=0:\n numerator *=10 **exp\n else:\n denominator *=10 **-exp\n if m.group('sign')=='-':\n numerator=-numerator\n \n else:\n raise TypeError(\"argument should be a string \"\n \"or a Rational instance\")\n \n elif type(numerator)is int is type(denominator):\n pass\n \n elif(isinstance(numerator,numbers.Rational)and\n isinstance(denominator,numbers.Rational)):\n numerator,denominator=(\n numerator.numerator *denominator.denominator,\n denominator.numerator *numerator.denominator\n )\n else:\n raise TypeError(\"both arguments should be \"\n \"Rational instances\")\n \n if denominator ==0:\n raise ZeroDivisionError('Fraction(%s, 0)'%numerator)\n g=math.gcd(numerator,denominator)\n if denominator <0:\n g=-g\n numerator //=g\n denominator //=g\n self._numerator=numerator\n self._denominator=denominator\n return self\n \n @classmethod\n def from_float(cls,f):\n ''\n\n\n\n \n if isinstance(f,numbers.Integral):\n return cls(f)\n elif not isinstance(f,float):\n raise TypeError(\"%s.from_float() only takes floats, not %r (%s)\"%\n (cls.__name__,f,type(f).__name__))\n return cls._from_coprime_ints(*f.as_integer_ratio())\n \n @classmethod\n def from_decimal(cls,dec):\n ''\n from decimal import Decimal\n if isinstance(dec,numbers.Integral):\n dec=Decimal(int(dec))\n elif not isinstance(dec,Decimal):\n raise TypeError(\n \"%s.from_decimal() only takes Decimals, not %r (%s)\"%\n (cls.__name__,dec,type(dec).__name__))\n return cls._from_coprime_ints(*dec.as_integer_ratio())\n \n @classmethod\n def _from_coprime_ints(cls,numerator,denominator,/):\n ''\n\n\n\n \n obj=super(Fraction,cls).__new__(cls)\n obj._numerator=numerator\n obj._denominator=denominator\n return obj\n \n def is_integer(self):\n ''\n return self._denominator ==1\n \n def as_integer_ratio(self):\n ''\n\n\n \n return(self._numerator,self._denominator)\n \n def limit_denominator(self,max_denominator=1000000):\n ''\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n if max_denominator <1:\n raise ValueError(\"max_denominator should be at least 1\")\n if self._denominator <=max_denominator:\n return Fraction(self)\n \n p0,q0,p1,q1=0,1,1,0\n n,d=self._numerator,self._denominator\n while True:\n a=n //d\n q2=q0+a *q1\n if q2 >max_denominator:\n break\n p0,q0,p1,q1=p1,q1,p0+a *p1,q2\n n,d=d,n -a *d\n k=(max_denominator -q0)//q1\n \n \n \n \n \n if 2 *d *(q0+k *q1)<=self._denominator:\n return Fraction._from_coprime_ints(p1,q1)\n else:\n return Fraction._from_coprime_ints(p0+k *p1,q0+k *q1)\n \n @property\n def numerator(a):\n return a._numerator\n \n @property\n def denominator(a):\n return a._denominator\n \n def __repr__(self):\n ''\n return '%s(%s, %s)'%(self.__class__.__name__,\n self._numerator,self._denominator)\n \n def __str__(self):\n ''\n if self._denominator ==1:\n return str(self._numerator)\n else:\n return '%s/%s'%(self._numerator,self._denominator)\n \n def __format__(self,format_spec,/):\n ''\n \n \n if not format_spec:\n return str(self)\n \n \n match=_FLOAT_FORMAT_SPECIFICATION_MATCHER(format_spec)\n if match is None:\n raise ValueError(\n f\"Invalid format specifier {format_spec !r} \"\n f\"for object of type {type(self).__name__ !r}\"\n )\n elif match[\"align\"]is not None and match[\"zeropad\"]is not None:\n \n raise ValueError(\n f\"Invalid format specifier {format_spec !r} \"\n f\"for object of type {type(self).__name__ !r}; \"\n \"can't use explicit alignment when zero-padding\"\n )\n fill=match[\"fill\"]or \" \"\n align=match[\"align\"]or \">\"\n pos_sign=\"\"if match[\"sign\"]==\"-\"else match[\"sign\"]\n no_neg_zero=bool(match[\"no_neg_zero\"])\n alternate_form=bool(match[\"alt\"])\n zeropad=bool(match[\"zeropad\"])\n minimumwidth=int(match[\"minimumwidth\"]or \"0\")\n thousands_sep=match[\"thousands_sep\"]\n precision=int(match[\"precision\"]or \"6\")\n presentation_type=match[\"presentation_type\"]\n trim_zeros=presentation_type in \"gG\"and not alternate_form\n trim_point=not alternate_form\n exponent_indicator=\"E\"if presentation_type in \"EFG\"else \"e\"\n \n \n \n \n \n if presentation_type in \"fF%\":\n exponent=-precision\n if presentation_type ==\"%\":\n exponent -=2\n negative,significand=_round_to_exponent(\n self._numerator,self._denominator,exponent,no_neg_zero)\n scientific=False\n point_pos=precision\n else:\n figures=(\n max(precision,1)\n if presentation_type in \"gG\"\n else precision+1\n )\n negative,significand,exponent=_round_to_figures(\n self._numerator,self._denominator,figures)\n scientific=(\n presentation_type in \"eE\"\n or exponent >0\n or exponent+figures <=-4\n )\n point_pos=figures -1 if scientific else -exponent\n \n \n if presentation_type ==\"%\":\n suffix=\"%\"\n elif scientific:\n suffix=f\"{exponent_indicator}{exponent+point_pos:+03d}\"\n else:\n suffix=\"\"\n \n \n \n digits=f\"{significand:0{point_pos+1}d}\"\n \n \n \n \n sign=\"-\"if negative else pos_sign\n leading=digits[:len(digits)-point_pos]\n frac_part=digits[len(digits)-point_pos:]\n if trim_zeros:\n frac_part=frac_part.rstrip(\"0\")\n separator=\"\"if trim_point and not frac_part else \".\"\n trailing=separator+frac_part+suffix\n \n \n if zeropad:\n min_leading=minimumwidth -len(sign)-len(trailing)\n \n \n leading=leading.zfill(\n 3 *min_leading //4+1 if thousands_sep else min_leading\n )\n \n \n if thousands_sep:\n first_pos=1+(len(leading)-1)%3\n leading=leading[:first_pos]+\"\".join(\n thousands_sep+leading[pos:pos+3]\n for pos in range(first_pos,len(leading),3)\n )\n \n \n \n body=leading+trailing\n padding=fill *(minimumwidth -len(sign)-len(body))\n if align ==\">\":\n return padding+sign+body\n elif align ==\"<\":\n return sign+body+padding\n elif align ==\"^\":\n half=len(padding)//2\n return padding[:half]+sign+body+padding[half:]\n else:\n return sign+padding+body\n \n def _operator_fallbacks(monomorphic_operator,fallback_operator):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def forward(a,b):\n if isinstance(b,Fraction):\n return monomorphic_operator(a,b)\n elif isinstance(b,int):\n return monomorphic_operator(a,Fraction(b))\n elif isinstance(b,float):\n return fallback_operator(float(a),b)\n elif isinstance(b,complex):\n return fallback_operator(complex(a),b)\n else:\n return NotImplemented\n forward.__name__='__'+fallback_operator.__name__+'__'\n forward.__doc__=monomorphic_operator.__doc__\n \n def reverse(b,a):\n if isinstance(a,numbers.Rational):\n \n return monomorphic_operator(Fraction(a),b)\n elif isinstance(a,numbers.Real):\n return fallback_operator(float(a),float(b))\n elif isinstance(a,numbers.Complex):\n return fallback_operator(complex(a),complex(b))\n else:\n return NotImplemented\n reverse.__name__='__r'+fallback_operator.__name__+'__'\n reverse.__doc__=monomorphic_operator.__doc__\n \n return forward,reverse\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n def _add(a,b):\n ''\n na,da=a._numerator,a._denominator\n nb,db=b._numerator,b._denominator\n g=math.gcd(da,db)\n if g ==1:\n return Fraction._from_coprime_ints(na *db+da *nb,da *db)\n s=da //g\n t=na *(db //g)+nb *s\n g2=math.gcd(t,g)\n if g2 ==1:\n return Fraction._from_coprime_ints(t,s *db)\n return Fraction._from_coprime_ints(t //g2,s *(db //g2))\n \n __add__,__radd__=_operator_fallbacks(_add,operator.add)\n \n def _sub(a,b):\n ''\n na,da=a._numerator,a._denominator\n nb,db=b._numerator,b._denominator\n g=math.gcd(da,db)\n if g ==1:\n return Fraction._from_coprime_ints(na *db -da *nb,da *db)\n s=da //g\n t=na *(db //g)-nb *s\n g2=math.gcd(t,g)\n if g2 ==1:\n return Fraction._from_coprime_ints(t,s *db)\n return Fraction._from_coprime_ints(t //g2,s *(db //g2))\n \n __sub__,__rsub__=_operator_fallbacks(_sub,operator.sub)\n \n def _mul(a,b):\n ''\n na,da=a._numerator,a._denominator\n nb,db=b._numerator,b._denominator\n g1=math.gcd(na,db)\n if g1 >1:\n na //=g1\n db //=g1\n g2=math.gcd(nb,da)\n if g2 >1:\n nb //=g2\n da //=g2\n return Fraction._from_coprime_ints(na *nb,db *da)\n \n __mul__,__rmul__=_operator_fallbacks(_mul,operator.mul)\n \n def _div(a,b):\n ''\n \n nb,db=b._numerator,b._denominator\n if nb ==0:\n raise ZeroDivisionError('Fraction(%s, 0)'%db)\n na,da=a._numerator,a._denominator\n g1=math.gcd(na,nb)\n if g1 >1:\n na //=g1\n nb //=g1\n g2=math.gcd(db,da)\n if g2 >1:\n da //=g2\n db //=g2\n n,d=na *db,nb *da\n if d <0:\n n,d=-n,-d\n return Fraction._from_coprime_ints(n,d)\n \n __truediv__,__rtruediv__=_operator_fallbacks(_div,operator.truediv)\n \n def _floordiv(a,b):\n ''\n return(a.numerator *b.denominator)//(a.denominator *b.numerator)\n \n __floordiv__,__rfloordiv__=_operator_fallbacks(_floordiv,operator.floordiv)\n \n def _divmod(a,b):\n ''\n da,db=a.denominator,b.denominator\n div,n_mod=divmod(a.numerator *db,da *b.numerator)\n return div,Fraction(n_mod,da *db)\n \n __divmod__,__rdivmod__=_operator_fallbacks(_divmod,divmod)\n \n def _mod(a,b):\n ''\n da,db=a.denominator,b.denominator\n return Fraction((a.numerator *db)%(b.numerator *da),da *db)\n \n __mod__,__rmod__=_operator_fallbacks(_mod,operator.mod)\n \n def __pow__(a,b):\n ''\n\n\n\n\n\n \n if isinstance(b,numbers.Rational):\n if b.denominator ==1:\n power=b.numerator\n if power >=0:\n return Fraction._from_coprime_ints(a._numerator **power,\n a._denominator **power)\n elif a._numerator >0:\n return Fraction._from_coprime_ints(a._denominator **-power,\n a._numerator **-power)\n elif a._numerator ==0:\n raise ZeroDivisionError('Fraction(%s, 0)'%\n a._denominator **-power)\n else:\n return Fraction._from_coprime_ints((-a._denominator)**-power,\n (-a._numerator)**-power)\n else:\n \n \n return float(a)**float(b)\n else:\n return float(a)**b\n \n def __rpow__(b,a):\n ''\n if b._denominator ==1 and b._numerator >=0:\n \n return a **b._numerator\n \n if isinstance(a,numbers.Rational):\n return Fraction(a.numerator,a.denominator)**b\n \n if b._denominator ==1:\n return a **b._numerator\n \n return a **float(b)\n \n def __pos__(a):\n ''\n return Fraction._from_coprime_ints(a._numerator,a._denominator)\n \n def __neg__(a):\n ''\n return Fraction._from_coprime_ints(-a._numerator,a._denominator)\n \n def __abs__(a):\n ''\n return Fraction._from_coprime_ints(abs(a._numerator),a._denominator)\n \n def __int__(a,_index=operator.index):\n ''\n if a._numerator <0:\n return _index(-(-a._numerator //a._denominator))\n else:\n return _index(a._numerator //a._denominator)\n \n def __trunc__(a):\n ''\n if a._numerator <0:\n return -(-a._numerator //a._denominator)\n else:\n return a._numerator //a._denominator\n \n def __floor__(a):\n ''\n return a._numerator //a._denominator\n \n def __ceil__(a):\n ''\n \n return -(-a._numerator //a._denominator)\n \n def __round__(self,ndigits=None):\n ''\n\n\n \n if ndigits is None:\n d=self._denominator\n floor,remainder=divmod(self._numerator,d)\n if remainder *2 d:\n return floor+1\n \n elif floor %2 ==0:\n return floor\n else:\n return floor+1\n shift=10 **abs(ndigits)\n \n \n \n if ndigits >0:\n return Fraction(round(self *shift),shift)\n else:\n return Fraction(round(self /shift)*shift)\n \n def __hash__(self):\n ''\n return _hash_algorithm(self._numerator,self._denominator)\n \n def __eq__(a,b):\n ''\n if type(b)is int:\n return a._numerator ==b and a._denominator ==1\n if isinstance(b,numbers.Rational):\n return(a._numerator ==b.numerator and\n a._denominator ==b.denominator)\n if isinstance(b,numbers.Complex)and b.imag ==0:\n b=b.real\n if isinstance(b,float):\n if math.isnan(b)or math.isinf(b):\n \n \n return 0.0 ==b\n else:\n return a ==a.from_float(b)\n else:\n \n \n return NotImplemented\n \n def _richcmp(self,other,op):\n ''\n\n\n\n\n\n\n\n \n \n if isinstance(other,numbers.Rational):\n return op(self._numerator *other.denominator,\n self._denominator *other.numerator)\n if isinstance(other,float):\n if math.isnan(other)or math.isinf(other):\n return op(0.0,other)\n else:\n return op(self,self.from_float(other))\n else:\n return NotImplemented\n \n def __lt__(a,b):\n ''\n return a._richcmp(b,operator.lt)\n \n def __gt__(a,b):\n ''\n return a._richcmp(b,operator.gt)\n \n def __le__(a,b):\n ''\n return a._richcmp(b,operator.le)\n \n def __ge__(a,b):\n ''\n return a._richcmp(b,operator.ge)\n \n def __bool__(a):\n ''\n \n \n return bool(a._numerator)\n \n \n \n def __reduce__(self):\n return(self.__class__,(self._numerator,self._denominator))\n \n def __copy__(self):\n if type(self)==Fraction:\n return self\n return self.__class__(self._numerator,self._denominator)\n \n def __deepcopy__(self,memo):\n if type(self)==Fraction:\n return self\n return self.__class__(self._numerator,self._denominator)\n",["decimal","functools","math","numbers","operator","re","sys"]],functools:[".py","''\n\n\n\n\n\n\n\n\n\n\n__all__=['update_wrapper','wraps','WRAPPER_ASSIGNMENTS','WRAPPER_UPDATES',\n'total_ordering','cache','cmp_to_key','lru_cache','reduce',\n'partial','partialmethod','singledispatch','singledispatchmethod',\n'cached_property']\n\nfrom abc import get_cache_token\nfrom collections import namedtuple\n\nfrom reprlib import recursive_repr\nfrom _thread import RLock\nfrom types import GenericAlias\n\n\n\n\n\n\n\n\n\nWRAPPER_ASSIGNMENTS=('__module__','__name__','__qualname__','__doc__',\n'__annotations__','__type_params__')\nWRAPPER_UPDATES=('__dict__',)\ndef update_wrapper(wrapper,\nwrapped,\nassigned=WRAPPER_ASSIGNMENTS,\nupdated=WRAPPER_UPDATES):\n ''\n\n\n\n\n\n\n\n\n\n \n for attr in assigned:\n try:\n value=getattr(wrapped,attr)\n except AttributeError:\n pass\n else:\n setattr(wrapper,attr,value)\n for attr in updated:\n getattr(wrapper,attr).update(getattr(wrapped,attr,{}))\n \n \n wrapper.__wrapped__=wrapped\n \n return wrapper\n \ndef wraps(wrapped,\nassigned=WRAPPER_ASSIGNMENTS,\nupdated=WRAPPER_UPDATES):\n ''\n\n\n\n\n\n\n \n return partial(update_wrapper,wrapped=wrapped,\n assigned=assigned,updated=updated)\n \n \n \n \n \n \n \n \n \n \n \ndef _gt_from_lt(self,other):\n ''\n op_result=type(self).__lt__(self,other)\n if op_result is NotImplemented:\n return op_result\n return not op_result and self !=other\n \ndef _le_from_lt(self,other):\n ''\n op_result=type(self).__lt__(self,other)\n if op_result is NotImplemented:\n return op_result\n return op_result or self ==other\n \ndef _ge_from_lt(self,other):\n ''\n op_result=type(self).__lt__(self,other)\n if op_result is NotImplemented:\n return op_result\n return not op_result\n \ndef _ge_from_le(self,other):\n ''\n op_result=type(self).__le__(self,other)\n if op_result is NotImplemented:\n return op_result\n return not op_result or self ==other\n \ndef _lt_from_le(self,other):\n ''\n op_result=type(self).__le__(self,other)\n if op_result is NotImplemented:\n return op_result\n return op_result and self !=other\n \ndef _gt_from_le(self,other):\n ''\n op_result=type(self).__le__(self,other)\n if op_result is NotImplemented:\n return op_result\n return not op_result\n \ndef _lt_from_gt(self,other):\n ''\n op_result=type(self).__gt__(self,other)\n if op_result is NotImplemented:\n return op_result\n return not op_result and self !=other\n \ndef _ge_from_gt(self,other):\n ''\n op_result=type(self).__gt__(self,other)\n if op_result is NotImplemented:\n return op_result\n return op_result or self ==other\n \ndef _le_from_gt(self,other):\n ''\n op_result=type(self).__gt__(self,other)\n if op_result is NotImplemented:\n return op_result\n return not op_result\n \ndef _le_from_ge(self,other):\n ''\n op_result=type(self).__ge__(self,other)\n if op_result is NotImplemented:\n return op_result\n return not op_result or self ==other\n \ndef _gt_from_ge(self,other):\n ''\n op_result=type(self).__ge__(self,other)\n if op_result is NotImplemented:\n return op_result\n return op_result and self !=other\n \ndef _lt_from_ge(self,other):\n ''\n op_result=type(self).__ge__(self,other)\n if op_result is NotImplemented:\n return op_result\n return not op_result\n \n_convert={\n'__lt__':[('__gt__',_gt_from_lt),\n('__le__',_le_from_lt),\n('__ge__',_ge_from_lt)],\n'__le__':[('__ge__',_ge_from_le),\n('__lt__',_lt_from_le),\n('__gt__',_gt_from_le)],\n'__gt__':[('__lt__',_lt_from_gt),\n('__ge__',_ge_from_gt),\n('__le__',_le_from_gt)],\n'__ge__':[('__le__',_le_from_ge),\n('__gt__',_gt_from_ge),\n('__lt__',_lt_from_ge)]\n}\n\ndef total_ordering(cls):\n ''\n \n roots={op for op in _convert if getattr(cls,op,None)is not getattr(object,op,None)}\n if not roots:\n raise ValueError('must define at least one ordering operation: < > <= >=')\n root=max(roots)\n for opname,opfunc in _convert[root]:\n if opname not in roots:\n opfunc.__name__=opname\n setattr(cls,opname,opfunc)\n return cls\n \n \n \n \n \n \ndef cmp_to_key(mycmp):\n ''\n class K(object):\n __slots__=['obj']\n def __init__(self,obj):\n self.obj=obj\n def __lt__(self,other):\n return mycmp(self.obj,other.obj)<0\n def __gt__(self,other):\n return mycmp(self.obj,other.obj)>0\n def __eq__(self,other):\n return mycmp(self.obj,other.obj)==0\n def __le__(self,other):\n return mycmp(self.obj,other.obj)<=0\n def __ge__(self,other):\n return mycmp(self.obj,other.obj)>=0\n __hash__=None\n return K\n \ntry:\n from _functools import cmp_to_key\nexcept ImportError:\n pass\n \n \n \n \n \n \n_initial_missing=object()\n\ndef reduce(function,sequence,initial=_initial_missing):\n ''\n\n\n\n\n\n\n\n\n \n \n it=iter(sequence)\n \n if initial is _initial_missing:\n try:\n value=next(it)\n except StopIteration:\n raise TypeError(\n \"reduce() of empty iterable with no initial value\")from None\n else:\n value=initial\n \n for element in it:\n value=function(value,element)\n \n return value\n \ntry:\n from _functools import reduce\nexcept ImportError:\n pass\n \n \n \n \n \n \n \nclass partial:\n ''\n\n \n \n __slots__=\"func\",\"args\",\"keywords\",\"__dict__\",\"__weakref__\"\n \n def __new__(cls,func,/,*args,**keywords):\n if not callable(func):\n raise TypeError(\"the first argument must be callable\")\n \n if hasattr(func,\"func\"):\n args=func.args+args\n keywords={**func.keywords,**keywords}\n func=func.func\n \n self=super(partial,cls).__new__(cls)\n \n self.func=func\n self.args=args\n self.keywords=keywords\n return self\n \n def __call__(self,/,*args,**keywords):\n keywords={**self.keywords,**keywords}\n return self.func(*self.args,*args,**keywords)\n \n @recursive_repr()\n def __repr__(self):\n qualname=type(self).__qualname__\n args=[repr(self.func)]\n args.extend(repr(x)for x in self.args)\n args.extend(f\"{k}={v !r}\"for(k,v)in self.keywords.items())\n if type(self).__module__ ==\"functools\":\n return f\"functools.{qualname}({', '.join(args)})\"\n return f\"{qualname}({', '.join(args)})\"\n \n def __reduce__(self):\n return type(self),(self.func,),(self.func,self.args,\n self.keywords or None,self.__dict__ or None)\n \n def __setstate__(self,state):\n if not isinstance(state,tuple):\n raise TypeError(\"argument to __setstate__ must be a tuple\")\n if len(state)!=4:\n raise TypeError(f\"expected 4 items in state, got {len(state)}\")\n func,args,kwds,namespace=state\n if(not callable(func)or not isinstance(args,tuple)or\n (kwds is not None and not isinstance(kwds,dict))or\n (namespace is not None and not isinstance(namespace,dict))):\n raise TypeError(\"invalid partial state\")\n \n args=tuple(args)\n if kwds is None:\n kwds={}\n elif type(kwds)is not dict:\n kwds=dict(kwds)\n if namespace is None:\n namespace={}\n \n self.__dict__=namespace\n self.func=func\n self.args=args\n self.keywords=kwds\n \ntry:\n from _functools import partial\nexcept ImportError:\n pass\n \n \nclass partialmethod(object):\n ''\n\n\n\n\n \n \n def __init__(self,func,/,*args,**keywords):\n if not callable(func)and not hasattr(func,\"__get__\"):\n raise TypeError(\"{!r} is not callable or a descriptor\"\n .format(func))\n \n \n \n if isinstance(func,partialmethod):\n \n \n \n self.func=func.func\n self.args=func.args+args\n self.keywords={**func.keywords,**keywords}\n else:\n self.func=func\n self.args=args\n self.keywords=keywords\n \n def __repr__(self):\n args=\", \".join(map(repr,self.args))\n keywords=\", \".join(\"{}={!r}\".format(k,v)\n for k,v in self.keywords.items())\n format_string=\"{module}.{cls}({func}, {args}, {keywords})\"\n return format_string.format(module=self.__class__.__module__,\n cls=self.__class__.__qualname__,\n func=self.func,\n args=args,\n keywords=keywords)\n \n def _make_unbound_method(self):\n def _method(cls_or_self,/,*args,**keywords):\n keywords={**self.keywords,**keywords}\n return self.func(cls_or_self,*self.args,*args,**keywords)\n _method.__isabstractmethod__=self.__isabstractmethod__\n _method._partialmethod=self\n return _method\n \n def __get__(self,obj,cls=None):\n get=getattr(self.func,\"__get__\",None)\n result=None\n if get is not None:\n new_func=get(obj,cls)\n if new_func is not self.func:\n \n \n result=partial(new_func,*self.args,**self.keywords)\n try:\n result.__self__=new_func.__self__\n except AttributeError:\n pass\n if result is None:\n \n \n result=self._make_unbound_method().__get__(obj,cls)\n return result\n \n @property\n def __isabstractmethod__(self):\n return getattr(self.func,\"__isabstractmethod__\",False)\n \n __class_getitem__=classmethod(GenericAlias)\n \n \n \n \ndef _unwrap_partial(func):\n while isinstance(func,partial):\n func=func.func\n return func\n \n \n \n \n \n_CacheInfo=namedtuple(\"CacheInfo\",[\"hits\",\"misses\",\"maxsize\",\"currsize\"])\n\nclass _HashedSeq(list):\n ''\n\n\n\n \n \n __slots__='hashvalue'\n \n def __init__(self,tup,hash=hash):\n self[:]=tup\n self.hashvalue=hash(tup)\n \n def __hash__(self):\n return self.hashvalue\n \ndef _make_key(args,kwds,typed,\nkwd_mark=(object(),),\nfasttypes={int,str},\ntuple=tuple,type=type,len=len):\n ''\n\n\n\n\n\n\n\n\n \n \n \n \n \n key=args\n if kwds:\n key +=kwd_mark\n for item in kwds.items():\n key +=item\n if typed:\n key +=tuple(type(v)for v in args)\n if kwds:\n key +=tuple(type(v)for v in kwds.values())\n elif len(key)==1 and type(key[0])in fasttypes:\n return key[0]\n return _HashedSeq(key)\n \ndef lru_cache(maxsize=128,typed=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n if isinstance(maxsize,int):\n \n if maxsize <0:\n maxsize=0\n elif callable(maxsize)and isinstance(typed,bool):\n \n user_function,maxsize=maxsize,128\n wrapper=_lru_cache_wrapper(user_function,maxsize,typed,_CacheInfo)\n wrapper.cache_parameters=lambda:{'maxsize':maxsize,'typed':typed}\n return update_wrapper(wrapper,user_function)\n elif maxsize is not None:\n raise TypeError(\n 'Expected first argument to be an integer, a callable, or None')\n \n def decorating_function(user_function):\n wrapper=_lru_cache_wrapper(user_function,maxsize,typed,_CacheInfo)\n wrapper.cache_parameters=lambda:{'maxsize':maxsize,'typed':typed}\n return update_wrapper(wrapper,user_function)\n \n return decorating_function\n \ndef _lru_cache_wrapper(user_function,maxsize,typed,_CacheInfo):\n\n sentinel=object()\n make_key=_make_key\n PREV,NEXT,KEY,RESULT=0,1,2,3\n \n cache={}\n hits=misses=0\n full=False\n cache_get=cache.get\n cache_len=cache.__len__\n lock=RLock()\n root=[]\n root[:]=[root,root,None,None]\n \n if maxsize ==0:\n \n def wrapper(*args,**kwds):\n \n nonlocal misses\n misses +=1\n result=user_function(*args,**kwds)\n return result\n \n elif maxsize is None:\n \n def wrapper(*args,**kwds):\n \n nonlocal hits,misses\n key=make_key(args,kwds,typed)\n result=cache_get(key,sentinel)\n if result is not sentinel:\n hits +=1\n return result\n misses +=1\n result=user_function(*args,**kwds)\n cache[key]=result\n return result\n \n else:\n \n def wrapper(*args,**kwds):\n \n nonlocal root,hits,misses,full\n key=make_key(args,kwds,typed)\n with lock:\n link=cache_get(key)\n if link is not None:\n \n link_prev,link_next,_key,result=link\n link_prev[NEXT]=link_next\n link_next[PREV]=link_prev\n last=root[PREV]\n last[NEXT]=root[PREV]=link\n link[PREV]=last\n link[NEXT]=root\n hits +=1\n return result\n misses +=1\n result=user_function(*args,**kwds)\n with lock:\n if key in cache:\n \n \n \n \n pass\n elif full:\n \n oldroot=root\n oldroot[KEY]=key\n oldroot[RESULT]=result\n \n \n \n \n \n \n root=oldroot[NEXT]\n oldkey=root[KEY]\n oldresult=root[RESULT]\n root[KEY]=root[RESULT]=None\n \n del cache[oldkey]\n \n \n \n cache[key]=oldroot\n else:\n \n last=root[PREV]\n link=[last,root,key,result]\n last[NEXT]=root[PREV]=cache[key]=link\n \n \n full=(cache_len()>=maxsize)\n return result\n \n def cache_info():\n ''\n with lock:\n return _CacheInfo(hits,misses,maxsize,cache_len())\n \n def cache_clear():\n ''\n nonlocal hits,misses,full\n with lock:\n cache.clear()\n root[:]=[root,root,None,None]\n hits=misses=0\n full=False\n \n wrapper.cache_info=cache_info\n wrapper.cache_clear=cache_clear\n return wrapper\n \ntry:\n from _functools import _lru_cache_wrapper\nexcept ImportError:\n pass\n \n \n \n \n \n \ndef cache(user_function,/):\n ''\n return lru_cache(maxsize=None)(user_function)\n \n \n \n \n \n \ndef _c3_merge(sequences):\n ''\n\n\n\n \n result=[]\n while True:\n sequences=[s for s in sequences if s]\n if not sequences:\n return result\n for s1 in sequences:\n candidate=s1[0]\n for s2 in sequences:\n if candidate in s2[1:]:\n candidate=None\n break\n else:\n break\n if candidate is None:\n raise RuntimeError(\"Inconsistent hierarchy\")\n result.append(candidate)\n \n for seq in sequences:\n if seq[0]==candidate:\n del seq[0]\n \ndef _c3_mro(cls,abcs=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n for i,base in enumerate(reversed(cls.__bases__)):\n if hasattr(base,'__abstractmethods__'):\n boundary=len(cls.__bases__)-i\n break\n else:\n boundary=0\n abcs=list(abcs)if abcs else[]\n explicit_bases=list(cls.__bases__[:boundary])\n abstract_bases=[]\n other_bases=list(cls.__bases__[boundary:])\n for base in abcs:\n if issubclass(cls,base)and not any(\n issubclass(b,base)for b in cls.__bases__\n ):\n \n \n abstract_bases.append(base)\n for base in abstract_bases:\n abcs.remove(base)\n explicit_c3_mros=[_c3_mro(base,abcs=abcs)for base in explicit_bases]\n abstract_c3_mros=[_c3_mro(base,abcs=abcs)for base in abstract_bases]\n other_c3_mros=[_c3_mro(base,abcs=abcs)for base in other_bases]\n return _c3_merge(\n [[cls]]+\n explicit_c3_mros+abstract_c3_mros+other_c3_mros+\n [explicit_bases]+[abstract_bases]+[other_bases]\n )\n \ndef _compose_mro(cls,types):\n ''\n\n\n\n\n \n bases=set(cls.__mro__)\n \n def is_related(typ):\n return(typ not in bases and hasattr(typ,'__mro__')\n and not isinstance(typ,GenericAlias)\n and issubclass(cls,typ))\n types=[n for n in types if is_related(n)]\n \n \n def is_strict_base(typ):\n for other in types:\n if typ !=other and typ in other.__mro__:\n return True\n return False\n types=[n for n in types if not is_strict_base(n)]\n \n \n type_set=set(types)\n mro=[]\n for typ in types:\n found=[]\n for sub in typ.__subclasses__():\n if sub not in bases and issubclass(cls,sub):\n found.append([s for s in sub.__mro__ if s in type_set])\n if not found:\n mro.append(typ)\n continue\n \n found.sort(key=len,reverse=True)\n for sub in found:\n for subcls in sub:\n if subcls not in mro:\n mro.append(subcls)\n return _c3_mro(cls,abcs=mro)\n \ndef _find_impl(cls,registry):\n ''\n\n\n\n\n\n\n\n \n mro=_compose_mro(cls,registry.keys())\n match=None\n for t in mro:\n if match is not None:\n \n \n if(t in registry and t not in cls.__mro__\n and match not in cls.__mro__\n and not issubclass(match,t)):\n raise RuntimeError(\"Ambiguous dispatch: {} or {}\".format(\n match,t))\n break\n if t in registry:\n match=t\n return registry.get(match)\n \ndef singledispatch(func):\n ''\n\n\n\n\n\n\n \n \n \n \n import types,weakref\n \n registry={}\n dispatch_cache=weakref.WeakKeyDictionary()\n cache_token=None\n \n def dispatch(cls):\n ''\n\n\n\n\n \n nonlocal cache_token\n if cache_token is not None:\n current_token=get_cache_token()\n if cache_token !=current_token:\n dispatch_cache.clear()\n cache_token=current_token\n try:\n impl=dispatch_cache[cls]\n except KeyError:\n try:\n impl=registry[cls]\n except KeyError:\n impl=_find_impl(cls,registry)\n dispatch_cache[cls]=impl\n return impl\n \n def _is_union_type(cls):\n from typing import get_origin,Union\n return get_origin(cls)in{Union,types.UnionType}\n \n def _is_valid_dispatch_type(cls):\n if isinstance(cls,type):\n return True\n from typing import get_args\n return(_is_union_type(cls)and\n all(isinstance(arg,type)for arg in get_args(cls)))\n \n def register(cls,func=None):\n ''\n\n\n\n \n nonlocal cache_token\n if _is_valid_dispatch_type(cls):\n if func is None:\n return lambda f:register(cls,f)\n else:\n if func is not None:\n raise TypeError(\n f\"Invalid first argument to `register()`. \"\n f\"{cls !r} is not a class or union type.\"\n )\n ann=getattr(cls,'__annotations__',{})\n if not ann:\n raise TypeError(\n f\"Invalid first argument to `register()`: {cls !r}. \"\n f\"Use either `@register(some_class)` or plain `@register` \"\n f\"on an annotated function.\"\n )\n func=cls\n \n \n from typing import get_type_hints\n argname,cls=next(iter(get_type_hints(func).items()))\n if not _is_valid_dispatch_type(cls):\n if _is_union_type(cls):\n raise TypeError(\n f\"Invalid annotation for {argname !r}. \"\n f\"{cls !r} not all arguments are classes.\"\n )\n else:\n raise TypeError(\n f\"Invalid annotation for {argname !r}. \"\n f\"{cls !r} is not a class.\"\n )\n \n if _is_union_type(cls):\n from typing import get_args\n \n for arg in get_args(cls):\n registry[arg]=func\n else:\n registry[cls]=func\n if cache_token is None and hasattr(cls,'__abstractmethods__'):\n cache_token=get_cache_token()\n dispatch_cache.clear()\n return func\n \n def wrapper(*args,**kw):\n if not args:\n raise TypeError(f'{funcname} requires at least '\n '1 positional argument')\n \n return dispatch(args[0].__class__)(*args,**kw)\n \n funcname=getattr(func,'__name__','singledispatch function')\n registry[object]=func\n wrapper.register=register\n wrapper.dispatch=dispatch\n wrapper.registry=types.MappingProxyType(registry)\n wrapper._clear_cache=dispatch_cache.clear\n update_wrapper(wrapper,func)\n return wrapper\n \n \n \nclass singledispatchmethod:\n ''\n\n\n\n \n \n def __init__(self,func):\n if not callable(func)and not hasattr(func,\"__get__\"):\n raise TypeError(f\"{func !r} is not callable or a descriptor\")\n \n self.dispatcher=singledispatch(func)\n self.func=func\n \n def register(self,cls,method=None):\n ''\n\n\n \n return self.dispatcher.register(cls,func=method)\n \n def __get__(self,obj,cls=None):\n def _method(*args,**kwargs):\n method=self.dispatcher.dispatch(args[0].__class__)\n return method.__get__(obj,cls)(*args,**kwargs)\n \n _method.__isabstractmethod__=self.__isabstractmethod__\n _method.register=self.register\n update_wrapper(_method,self.func)\n return _method\n \n @property\n def __isabstractmethod__(self):\n return getattr(self.func,'__isabstractmethod__',False)\n \n \n \n \n \n \n_NOT_FOUND=object()\n\nclass cached_property:\n def __init__(self,func):\n self.func=func\n self.attrname=None\n self.__doc__=func.__doc__\n \n def __set_name__(self,owner,name):\n if self.attrname is None:\n self.attrname=name\n elif name !=self.attrname:\n raise TypeError(\n \"Cannot assign the same cached_property to two different names \"\n f\"({self.attrname !r} and {name !r}).\"\n )\n \n def __get__(self,instance,owner=None):\n if instance is None:\n return self\n if self.attrname is None:\n raise TypeError(\n \"Cannot use cached_property instance without calling __set_name__ on it.\")\n try:\n cache=instance.__dict__\n except AttributeError:\n msg=(\n f\"No '__dict__' attribute on {type(instance).__name__ !r} \"\n f\"instance to cache {self.attrname !r} property.\"\n )\n raise TypeError(msg)from None\n val=cache.get(self.attrname,_NOT_FOUND)\n if val is _NOT_FOUND:\n val=self.func(instance)\n try:\n cache[self.attrname]=val\n except TypeError:\n msg=(\n f\"The '__dict__' attribute on {type(instance).__name__ !r} instance \"\n f\"does not support item assignment for caching {self.attrname !r} property.\"\n )\n raise TypeError(msg)from None\n return val\n \n __class_getitem__=classmethod(GenericAlias)\n",["_functools","_thread","abc","collections","reprlib","types","typing","weakref"]],gc:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nDEBUG_COLLECTABLE=2\n\nDEBUG_LEAK=38\n\nDEBUG_SAVEALL=32\n\nDEBUG_STATS=1\n\nDEBUG_UNCOLLECTABLE=4\n\nclass __loader__:\n pass\n \ncallbacks=[]\n\ndef collect(*args,**kw):\n ''\n\n\n\n\n\n \n pass\n \ndef disable(*args,**kw):\n ''\n\n \n pass\n \ndef enable(*args,**kw):\n ''\n\n \n pass\n \ngarbage=[]\n\ndef get_count(*args,**kw):\n ''\n\n \n pass\n \ndef get_debug(*args,**kw):\n ''\n\n \n pass\n \ndef get_objects(*args,**kw):\n ''\n\n\n \n pass\n \ndef get_referents(*args,**kw):\n ''\n pass\n \ndef get_referrers(*args,**kw):\n ''\n pass\n \ndef get_threshold(*args,**kw):\n ''\n\n \n pass\n \ndef is_tracked(*args,**kw):\n ''\n\n\n \n pass\n \ndef isenabled(*args,**kw):\n ''\n\n \n pass\n \ndef set_debug(*args,**kw):\n ''\n\n\n\n\n\n\n\n\n\n\n \n pass\n \ndef set_threshold(*args,**kw):\n ''\n\n\n \n pass\n",[]],genericpath:[".py","''\n\n\n\n\nimport os\nimport stat\n\n__all__=['commonprefix','exists','getatime','getctime','getmtime',\n'getsize','isdir','isfile','islink','samefile','sameopenfile',\n'samestat']\n\n\n\n\ndef exists(path):\n ''\n try:\n os.stat(path)\n except(OSError,ValueError):\n return False\n return True\n \n \n \n \ndef isfile(path):\n ''\n try:\n st=os.stat(path)\n except(OSError,ValueError):\n return False\n return stat.S_ISREG(st.st_mode)\n \n \n \n \n \ndef isdir(s):\n ''\n try:\n st=os.stat(s)\n except(OSError,ValueError):\n return False\n return stat.S_ISDIR(st.st_mode)\n \n \n \n \n \ndef islink(path):\n ''\n try:\n st=os.lstat(path)\n except(OSError,ValueError,AttributeError):\n return False\n return stat.S_ISLNK(st.st_mode)\n \n \ndef getsize(filename):\n ''\n return os.stat(filename).st_size\n \n \ndef getmtime(filename):\n ''\n return os.stat(filename).st_mtime\n \n \ndef getatime(filename):\n ''\n return os.stat(filename).st_atime\n \n \ndef getctime(filename):\n ''\n return os.stat(filename).st_ctime\n \n \n \ndef commonprefix(m):\n ''\n if not m:return ''\n \n \n \n \n if not isinstance(m[0],(list,tuple)):\n m=tuple(map(os.fspath,m))\n s1=min(m)\n s2=max(m)\n for i,c in enumerate(s1):\n if c !=s2[i]:\n return s1[:i]\n return s1\n \n \n \ndef samestat(s1,s2):\n ''\n return(s1.st_ino ==s2.st_ino and\n s1.st_dev ==s2.st_dev)\n \n \n \ndef samefile(f1,f2):\n ''\n\n\n\n \n s1=os.stat(f1)\n s2=os.stat(f2)\n return samestat(s1,s2)\n \n \n \n \ndef sameopenfile(fp1,fp2):\n ''\n s1=os.fstat(fp1)\n s2=os.fstat(fp2)\n return samestat(s1,s2)\n \n \n \n \n \n \n \n \n \ndef _splitext(p,sep,altsep,extsep):\n ''\n\n\n \n \n \n sepIndex=p.rfind(sep)\n if altsep:\n altsepIndex=p.rfind(altsep)\n sepIndex=max(sepIndex,altsepIndex)\n \n dotIndex=p.rfind(extsep)\n if dotIndex >sepIndex:\n \n filenameIndex=sepIndex+1\n while filenameIndex [ \\t]+) | # spaces and horizontal tabs\n (?P[0-9]+\\b) | # decimal integer\n (?Pn\\b) | # only n is allowed\n (?P[()]) |\n (?P[-*/%+?:]|[>,\n # <=, >=, ==, !=, &&, ||,\n # ? :\n # unary and bitwise ops\n # not allowed\n (?P\\w+|.) # invalid token\n \"\"\",re.VERBOSE |re.DOTALL)\n\n\ndef _tokenize(plural):\n for mo in re.finditer(_token_pattern,plural):\n kind=mo.lastgroup\n if kind =='WHITESPACES':\n continue\n value=mo.group(kind)\n if kind =='INVALID':\n raise ValueError('invalid token in plural form: %s'%value)\n yield value\n yield ''\n \n \ndef _error(value):\n if value:\n return ValueError('unexpected token in plural form: %s'%value)\n else:\n return ValueError('unexpected end of plural form')\n \n \n_binary_ops=(\n('||',),\n('&&',),\n('==','!='),\n('<','>','<=','>='),\n('+','-'),\n('*','/','%'),\n)\n_binary_ops={op:i for i,ops in enumerate(_binary_ops,1)for op in ops}\n_c2py_ops={'||':'or','&&':'and','/':'//'}\n\n\ndef _parse(tokens,priority=-1):\n result=''\n nexttok=next(tokens)\n while nexttok =='!':\n result +='not '\n nexttok=next(tokens)\n \n if nexttok =='(':\n sub,nexttok=_parse(tokens)\n result='%s(%s)'%(result,sub)\n if nexttok !=')':\n raise ValueError('unbalanced parenthesis in plural form')\n elif nexttok =='n':\n result='%s%s'%(result,nexttok)\n else:\n try:\n value=int(nexttok,10)\n except ValueError:\n raise _error(nexttok)from None\n result='%s%d'%(result,value)\n nexttok=next(tokens)\n \n j=100\n while nexttok in _binary_ops:\n i=_binary_ops[nexttok]\n if i 1000:\n raise ValueError('plural form expression is too long')\n try:\n result,nexttok=_parse(_tokenize(plural))\n if nexttok:\n raise _error(nexttok)\n \n depth=0\n for c in result:\n if c =='(':\n depth +=1\n if depth >20:\n \n \n raise ValueError('plural form expression is too complex')\n elif c ==')':\n depth -=1\n \n ns={'_as_int':_as_int}\n exec('''if True:\n def func(n):\n if not isinstance(n, int):\n n = _as_int(n)\n return int(%s)\n '''%result,ns)\n return ns['func']\n except RecursionError:\n \n raise ValueError('plural form expression is too complex')\n \n \ndef _expand_lang(loc):\n import locale\n loc=locale.normalize(loc)\n COMPONENT_CODESET=1 <<0\n COMPONENT_TERRITORY=1 <<1\n COMPONENT_MODIFIER=1 <<2\n \n mask=0\n pos=loc.find('@')\n if pos >=0:\n modifier=loc[pos:]\n loc=loc[:pos]\n mask |=COMPONENT_MODIFIER\n else:\n modifier=''\n pos=loc.find('.')\n if pos >=0:\n codeset=loc[pos:]\n loc=loc[:pos]\n mask |=COMPONENT_CODESET\n else:\n codeset=''\n pos=loc.find('_')\n if pos >=0:\n territory=loc[pos:]\n loc=loc[:pos]\n mask |=COMPONENT_TERRITORY\n else:\n territory=''\n language=loc\n ret=[]\n for i in range(mask+1):\n if not(i&~mask):\n val=language\n if i&COMPONENT_TERRITORY:val +=territory\n if i&COMPONENT_CODESET:val +=codeset\n if i&COMPONENT_MODIFIER:val +=modifier\n ret.append(val)\n ret.reverse()\n return ret\n \n \nclass NullTranslations:\n def __init__(self,fp=None):\n self._info={}\n self._charset=None\n self._fallback=None\n if fp is not None:\n self._parse(fp)\n \n def _parse(self,fp):\n pass\n \n def add_fallback(self,fallback):\n if self._fallback:\n self._fallback.add_fallback(fallback)\n else:\n self._fallback=fallback\n \n def gettext(self,message):\n if self._fallback:\n return self._fallback.gettext(message)\n return message\n \n def ngettext(self,msgid1,msgid2,n):\n if self._fallback:\n return self._fallback.ngettext(msgid1,msgid2,n)\n if n ==1:\n return msgid1\n else:\n return msgid2\n \n def pgettext(self,context,message):\n if self._fallback:\n return self._fallback.pgettext(context,message)\n return message\n \n def npgettext(self,context,msgid1,msgid2,n):\n if self._fallback:\n return self._fallback.npgettext(context,msgid1,msgid2,n)\n if n ==1:\n return msgid1\n else:\n return msgid2\n \n def info(self):\n return self._info\n \n def charset(self):\n return self._charset\n \n def install(self,names=None):\n import builtins\n builtins.__dict__['_']=self.gettext\n if names is not None:\n allowed={'gettext','ngettext','npgettext','pgettext'}\n for name in allowed&set(names):\n builtins.__dict__[name]=getattr(self,name)\n \n \nclass GNUTranslations(NullTranslations):\n\n LE_MAGIC=0x950412de\n BE_MAGIC=0xde120495\n \n \n \n CONTEXT=\"%s\\x04%s\"\n \n \n VERSIONS=(0,1)\n \n def _get_versions(self,version):\n ''\n return(version >>16,version&0xffff)\n \n def _parse(self,fp):\n ''\n \n \n from struct import unpack\n filename=getattr(fp,'name','')\n \n \n self._catalog=catalog={}\n self.plural=lambda n:int(n !=1)\n buf=fp.read()\n buflen=len(buf)\n \n magic=unpack('4I',buf[4:20])\n ii='>II'\n else:\n raise OSError(0,'Bad magic number',filename)\n \n major_version,minor_version=self._get_versions(version)\n \n if major_version not in self.VERSIONS:\n raise OSError(0,'Bad version number '+str(major_version),filename)\n \n \n \n for i in range(0,msgcount):\n mlen,moff=unpack(ii,buf[masteridx:masteridx+8])\n mend=moff+mlen\n tlen,toff=unpack(ii,buf[transidx:transidx+8])\n tend=toff+tlen\n if mend \'\n \n def _init_write(self,filename):\n self.name=filename\n self.crc=zlib.crc32(b"")\n self.size=0\n self.writebuf=[]\n self.bufsize=0\n self.offset=0\n \n def _write_gzip_header(self,compresslevel):\n self.fileobj.write(b\'\\037\\213\')\n self.fileobj.write(b\'\\010\')\n try:\n \n \n fname=os.path.basename(self.name)\n if not isinstance(fname,bytes):\n fname=fname.encode(\'latin-1\')\n if fname.endswith(b\'.gz\'):\n fname=fname[:-3]\n except UnicodeEncodeError:\n fname=b\'\'\n flags=0\n if fname:\n flags=FNAME\n self.fileobj.write(chr(flags).encode(\'latin-1\'))\n mtime=self._write_mtime\n if mtime is None:\n mtime=time.time()\n write32u(self.fileobj,int(mtime))\n if compresslevel ==_COMPRESS_LEVEL_BEST:\n xfl=b\'\\002\'\n elif compresslevel ==_COMPRESS_LEVEL_FAST:\n xfl=b\'\\004\'\n else:\n xfl=b\'\\000\'\n self.fileobj.write(xfl)\n self.fileobj.write(b\'\\377\')\n if fname:\n self.fileobj.write(fname+b\'\\000\')\n \n def write(self,data):\n self._check_not_closed()\n if self.mode !=WRITE:\n import errno\n raise OSError(errno.EBADF,"write() on read-only GzipFile object")\n \n if self.fileobj is None:\n raise ValueError("write() on closed GzipFile object")\n \n if isinstance(data,(bytes,bytearray)):\n length=len(data)\n else:\n \n data=memoryview(data)\n length=data.nbytes\n \n if length >0:\n self.fileobj.write(self.compress.compress(data))\n self.size +=length\n self.crc=zlib.crc32(data,self.crc)\n self.offset +=length\n \n return length\n \n def read(self,size=-1):\n self._check_not_closed()\n if self.mode !=READ:\n import errno\n raise OSError(errno.EBADF,"read() on write-only GzipFile object")\n return self._buffer.read(size)\n \n def read1(self,size=-1):\n \'\'\n\n \n self._check_not_closed()\n if self.mode !=READ:\n import errno\n raise OSError(errno.EBADF,"read1() on write-only GzipFile object")\n \n if size <0:\n size=io.DEFAULT_BUFFER_SIZE\n return self._buffer.read1(size)\n \n def peek(self,n):\n self._check_not_closed()\n if self.mode !=READ:\n import errno\n raise OSError(errno.EBADF,"peek() on write-only GzipFile object")\n return self._buffer.peek(n)\n \n @property\n def closed(self):\n return self.fileobj is None\n \n def close(self):\n fileobj=self.fileobj\n if fileobj is None:\n return\n self.fileobj=None\n try:\n if self.mode ==WRITE:\n fileobj.write(self.compress.flush())\n write32u(fileobj,self.crc)\n \n write32u(fileobj,self.size&0xffffffff)\n elif self.mode ==READ:\n self._buffer.close()\n finally:\n myfileobj=self.myfileobj\n if myfileobj:\n self.myfileobj=None\n myfileobj.close()\n \n def flush(self,zlib_mode=zlib.Z_SYNC_FLUSH):\n self._check_not_closed()\n if self.mode ==WRITE:\n \n self.fileobj.write(self.compress.flush(zlib_mode))\n self.fileobj.flush()\n \n def fileno(self):\n \'\'\n\n\n\n \n return self.fileobj.fileno()\n \n def rewind(self):\n \'\'\n \n if self.mode !=READ:\n raise OSError("Can\'t rewind in write mode")\n self._buffer.seek(0)\n \n def readable(self):\n return self.mode ==READ\n \n def writable(self):\n return self.mode ==WRITE\n \n def seekable(self):\n return True\n \n def seek(self,offset,whence=io.SEEK_SET):\n if self.mode ==WRITE:\n if whence !=io.SEEK_SET:\n if whence ==io.SEEK_CUR:\n offset=self.offset+offset\n else:\n raise ValueError(\'Seek from end not supported\')\n if offset startpos:\n parentpos=(pos -1)>>1\n parent=heap[parentpos]\n if newitem startpos:\n parentpos=(pos -1)>>1\n parent=heap[parentpos]\n if parent 1:\n try:\n while True:\n value,order,next=s=h[0]\n yield value\n s[0]=next()\n _heapreplace(h,s)\n except StopIteration:\n _heappop(h)\n if h:\n \n value,order,next=h[0]\n yield value\n yield from next.__self__\n return\n \n for order,it in enumerate(map(iter,iterables)):\n try:\n next=it.__next__\n value=next()\n h_append([key(value),order *direction,value,next])\n except StopIteration:\n pass\n _heapify(h)\n while len(h)>1:\n try:\n while True:\n key_value,order,value,next=s=h[0]\n yield value\n value=next()\n s[0]=key(value)\n s[2]=value\n _heapreplace(h,s)\n except StopIteration:\n _heappop(h)\n if h:\n key_value,order,value,next=h[0]\n yield value\n yield from next.__self__\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \ndef nsmallest(n,iterable,key=None):\n ''\n\n\n \n \n \n if n ==1:\n it=iter(iterable)\n sentinel=object()\n result=min(it,default=sentinel,key=key)\n return[]if result is sentinel else[result]\n \n \n try:\n size=len(iterable)\n except(TypeError,AttributeError):\n pass\n else:\n if n >=size:\n return sorted(iterable,key=key)[:n]\n \n \n if key is None:\n it=iter(iterable)\n \n \n result=[(elem,i)for i,elem in zip(range(n),it)]\n if not result:\n return result\n _heapify_max(result)\n top=result[0][0]\n order=n\n _heapreplace=_heapreplace_max\n for elem in it:\n if elem =size:\n return sorted(iterable,key=key,reverse=True)[:n]\n \n \n if key is None:\n it=iter(iterable)\n result=[(elem,i)for i,elem in zip(range(0,-n,-1),it)]\n if not result:\n return result\n heapify(result)\n top=result[0][0]\n order=-n\n _heapreplace=heapreplace\n for elem in it:\n if top blocksize:\n key=digest_cons(key).digest()\n \n \n \n self.block_size=blocksize\n \n key=key.ljust(blocksize,b'\\0')\n self._outer.update(key.translate(trans_5C))\n self._inner.update(key.translate(trans_36))\n if msg is not None:\n self.update(msg)\n \n @property\n def name(self):\n if self._hmac:\n return self._hmac.name\n else:\n return f\"hmac-{self._inner.name}\"\n \n def update(self,msg):\n ''\n inst=self._hmac or self._inner\n inst.update(msg)\n \n def copy(self):\n ''\n\n\n \n \n other=self.__class__.__new__(self.__class__)\n other.digest_size=self.digest_size\n if self._hmac:\n other._hmac=self._hmac.copy()\n other._inner=other._outer=None\n else:\n other._hmac=None\n other._inner=self._inner.copy()\n other._outer=self._outer.copy()\n return other\n \n def _current(self):\n ''\n\n\n \n if self._hmac:\n return self._hmac\n else:\n h=self._outer.copy()\n h.update(self._inner.digest())\n return h\n \n def digest(self):\n ''\n\n\n\n\n \n h=self._current()\n return h.digest()\n \n def hexdigest(self):\n ''\n \n h=self._current()\n return h.hexdigest()\n \ndef new(key,msg=None,digestmod=''):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return HMAC(key,msg,digestmod)\n \n \ndef digest(key,msg,digest):\n ''\n\n\n\n\n\n\n \n if _hashopenssl is not None and isinstance(digest,(str,_functype)):\n try:\n return _hashopenssl.hmac_digest(key,msg,digest)\n except _hashopenssl.UnsupportedDigestmodError:\n pass\n \n if callable(digest):\n digest_cons=digest\n elif isinstance(digest,str):\n digest_cons=lambda d=b'':_hashlib.new(digest,d)\n else:\n digest_cons=lambda d=b'':digest.new(d)\n \n inner=digest_cons()\n outer=digest_cons()\n blocksize=getattr(inner,'block_size',64)\n if len(key)>blocksize:\n key=digest_cons(key).digest()\n key=key+b'\\x00'*(blocksize -len(key))\n inner.update(key.translate(trans_36))\n outer.update(key.translate(trans_5C))\n inner.update(msg)\n outer.update(inner.digest())\n return outer.digest()\n",["_hashlib","_operator","hashlib","warnings"]],imp:[".py","''\n\n\n\n\n\n\n\nfrom _imp import(lock_held,acquire_lock,release_lock,\nget_frozen_object,is_frozen_package,\ninit_frozen,is_builtin,is_frozen,\n_fix_co_filename,_frozen_module_names)\ntry:\n from _imp import create_dynamic\nexcept ImportError:\n\n create_dynamic=None\n \nfrom importlib._bootstrap import _ERR_MSG,_exec,_load,_builtin_from_name\nfrom importlib._bootstrap_external import SourcelessFileLoader\n\nfrom importlib import machinery\nfrom importlib import util\nimport importlib\nimport os\nimport sys\nimport tokenize\nimport types\nimport warnings\n\nwarnings.warn(\"the imp module is deprecated in favour of importlib and slated \"\n\"for removal in Python 3.12; \"\n\"see the module's documentation for alternative uses\",\nDeprecationWarning,stacklevel=2)\n\n\nSEARCH_ERROR=0\nPY_SOURCE=1\nPY_COMPILED=2\nC_EXTENSION=3\nPY_RESOURCE=4\nPKG_DIRECTORY=5\nC_BUILTIN=6\nPY_FROZEN=7\nPY_CODERESOURCE=8\nIMP_HOOK=9\n\n\ndef new_module(name):\n ''\n\n\n\n\n\n \n return types.ModuleType(name)\n \n \ndef get_magic():\n ''\n\n\n \n return util.MAGIC_NUMBER\n \n \ndef get_tag():\n ''\n return sys.implementation.cache_tag\n \n \ndef cache_from_source(path,debug_override=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n with warnings.catch_warnings():\n warnings.simplefilter('ignore')\n return util.cache_from_source(path,debug_override)\n \n \ndef source_from_cache(path):\n ''\n\n\n\n\n\n\n\n\n \n return util.source_from_cache(path)\n \n \ndef get_suffixes():\n ''\n extensions=[(s,'rb',C_EXTENSION)for s in machinery.EXTENSION_SUFFIXES]\n source=[(s,'r',PY_SOURCE)for s in machinery.SOURCE_SUFFIXES]\n bytecode=[(s,'rb',PY_COMPILED)for s in machinery.BYTECODE_SUFFIXES]\n \n return extensions+source+bytecode\n \n \nclass NullImporter:\n\n ''\n\n\n\n \n \n def __init__(self,path):\n if path =='':\n raise ImportError('empty pathname',path='')\n elif os.path.isdir(path):\n raise ImportError('existing directory',path=path)\n \n def find_module(self,fullname):\n ''\n return None\n \n \nclass _HackedGetData:\n\n ''\n \n \n def __init__(self,fullname,path,file=None):\n super().__init__(fullname,path)\n self.file=file\n \n def get_data(self,path):\n ''\n if self.file and path ==self.path:\n \n \n if not self.file.closed:\n file=self.file\n if 'b'not in file.mode:\n file.close()\n if self.file.closed:\n self.file=file=open(self.path,'rb')\n \n with file:\n return file.read()\n else:\n return super().get_data(path)\n \n \nclass _LoadSourceCompatibility(_HackedGetData,machinery.SourceFileLoader):\n\n ''\n \n \ndef load_source(name,pathname,file=None):\n loader=_LoadSourceCompatibility(name,pathname,file)\n spec=util.spec_from_file_location(name,pathname,loader=loader)\n if name in sys.modules:\n module=_exec(spec,sys.modules[name])\n else:\n module=_load(spec)\n \n \n module.__loader__=machinery.SourceFileLoader(name,pathname)\n module.__spec__.loader=module.__loader__\n return module\n \n \nclass _LoadCompiledCompatibility(_HackedGetData,SourcelessFileLoader):\n\n ''\n \n \ndef load_compiled(name,pathname,file=None):\n ''\n loader=_LoadCompiledCompatibility(name,pathname,file)\n spec=util.spec_from_file_location(name,pathname,loader=loader)\n if name in sys.modules:\n module=_exec(spec,sys.modules[name])\n else:\n module=_load(spec)\n \n \n module.__loader__=SourcelessFileLoader(name,pathname)\n module.__spec__.loader=module.__loader__\n return module\n \n \ndef load_package(name,path):\n ''\n if os.path.isdir(path):\n extensions=(machinery.SOURCE_SUFFIXES[:]+\n machinery.BYTECODE_SUFFIXES[:])\n for extension in extensions:\n init_path=os.path.join(path,'__init__'+extension)\n if os.path.exists(init_path):\n path=init_path\n break\n else:\n raise ValueError('{!r} is not a package'.format(path))\n spec=util.spec_from_file_location(name,path,\n submodule_search_locations=[])\n if name in sys.modules:\n return _exec(spec,sys.modules[name])\n else:\n return _load(spec)\n \n \ndef load_module(name,file,filename,details):\n ''\n\n\n\n\n\n \n suffix,mode,type_=details\n if mode and(not mode.startswith('r')or '+'in mode):\n raise ValueError('invalid file open mode {!r}'.format(mode))\n elif file is None and type_ in{PY_SOURCE,PY_COMPILED}:\n msg='file object required for import (type code {})'.format(type_)\n raise ValueError(msg)\n elif type_ ==PY_SOURCE:\n return load_source(name,filename,file)\n elif type_ ==PY_COMPILED:\n return load_compiled(name,filename,file)\n elif type_ ==C_EXTENSION and load_dynamic is not None:\n if file is None:\n with open(filename,'rb')as opened_file:\n return load_dynamic(name,filename,opened_file)\n else:\n return load_dynamic(name,filename,file)\n elif type_ ==PKG_DIRECTORY:\n return load_package(name,filename)\n elif type_ ==C_BUILTIN:\n return init_builtin(name)\n elif type_ ==PY_FROZEN:\n return init_frozen(name)\n else:\n msg=\"Don't know how to import {} (type code {})\".format(name,type_)\n raise ImportError(msg,name=name)\n \n \ndef find_module(name,path=None):\n ''\n\n\n\n\n\n\n\n\n \n if not isinstance(name,str):\n raise TypeError(\"'name' must be a str, not {}\".format(type(name)))\n elif not isinstance(path,(type(None),list)):\n \n raise RuntimeError(\"'path' must be None or a list, \"\n \"not {}\".format(type(path)))\n \n if path is None:\n if is_builtin(name):\n return None,None,('','',C_BUILTIN)\n elif is_frozen(name):\n return None,None,('','',PY_FROZEN)\n else:\n path=sys.path\n \n for entry in path:\n package_directory=os.path.join(entry,name)\n for suffix in['.py',machinery.BYTECODE_SUFFIXES[0]]:\n package_file_name='__init__'+suffix\n file_path=os.path.join(package_directory,package_file_name)\n if os.path.isfile(file_path):\n return None,package_directory,('','',PKG_DIRECTORY)\n for suffix,mode,type_ in get_suffixes():\n file_name=name+suffix\n file_path=os.path.join(entry,file_name)\n if os.path.isfile(file_path):\n break\n else:\n continue\n break\n else:\n raise ImportError(_ERR_MSG.format(name),name=name)\n \n encoding=None\n if 'b'not in mode:\n with open(file_path,'rb')as file:\n encoding=tokenize.detect_encoding(file.readline)[0]\n file=open(file_path,mode,encoding=encoding)\n return file,file_path,(suffix,mode,type_)\n \n \ndef reload(module):\n ''\n\n\n\n\n\n \n return importlib.reload(module)\n \n \ndef init_builtin(name):\n ''\n\n\n\n \n try:\n return _builtin_from_name(name)\n except ImportError:\n return None\n \n \nif create_dynamic:\n def load_dynamic(name,path,file=None):\n ''\n\n\n \n import importlib.machinery\n loader=importlib.machinery.ExtensionFileLoader(name,path)\n \n \n \n spec=importlib.machinery.ModuleSpec(\n name=name,loader=loader,origin=path)\n return _load(spec)\n \nelse:\n load_dynamic=None\n",["_imp","importlib","importlib._bootstrap","importlib._bootstrap_external","importlib.machinery","importlib.util","os","sys","tokenize","types","warnings"]],inspect:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__author__=('Ka-Ping Yee ',\n'Yury Selivanov ')\n\n__all__=[\n\"AGEN_CLOSED\",\n\"AGEN_CREATED\",\n\"AGEN_RUNNING\",\n\"AGEN_SUSPENDED\",\n\"ArgInfo\",\n\"Arguments\",\n\"Attribute\",\n\"BlockFinder\",\n\"BoundArguments\",\n\"BufferFlags\",\n\"CORO_CLOSED\",\n\"CORO_CREATED\",\n\"CORO_RUNNING\",\n\"CORO_SUSPENDED\",\n\"CO_ASYNC_GENERATOR\",\n\"CO_COROUTINE\",\n\"CO_GENERATOR\",\n\"CO_ITERABLE_COROUTINE\",\n\"CO_NESTED\",\n\"CO_NEWLOCALS\",\n\"CO_NOFREE\",\n\"CO_OPTIMIZED\",\n\"CO_VARARGS\",\n\"CO_VARKEYWORDS\",\n\"ClassFoundException\",\n\"ClosureVars\",\n\"EndOfBlock\",\n\"FrameInfo\",\n\"FullArgSpec\",\n\"GEN_CLOSED\",\n\"GEN_CREATED\",\n\"GEN_RUNNING\",\n\"GEN_SUSPENDED\",\n\"Parameter\",\n\"Signature\",\n\"TPFLAGS_IS_ABSTRACT\",\n\"Traceback\",\n\"classify_class_attrs\",\n\"cleandoc\",\n\"currentframe\",\n\"findsource\",\n\"formatannotation\",\n\"formatannotationrelativeto\",\n\"formatargvalues\",\n\"get_annotations\",\n\"getabsfile\",\n\"getargs\",\n\"getargvalues\",\n\"getasyncgenlocals\",\n\"getasyncgenstate\",\n\"getattr_static\",\n\"getblock\",\n\"getcallargs\",\n\"getclasstree\",\n\"getclosurevars\",\n\"getcomments\",\n\"getcoroutinelocals\",\n\"getcoroutinestate\",\n\"getdoc\",\n\"getfile\",\n\"getframeinfo\",\n\"getfullargspec\",\n\"getgeneratorlocals\",\n\"getgeneratorstate\",\n\"getinnerframes\",\n\"getlineno\",\n\"getmembers\",\n\"getmembers_static\",\n\"getmodule\",\n\"getmodulename\",\n\"getmro\",\n\"getouterframes\",\n\"getsource\",\n\"getsourcefile\",\n\"getsourcelines\",\n\"indentsize\",\n\"isabstract\",\n\"isasyncgen\",\n\"isasyncgenfunction\",\n\"isawaitable\",\n\"isbuiltin\",\n\"isclass\",\n\"iscode\",\n\"iscoroutine\",\n\"iscoroutinefunction\",\n\"isdatadescriptor\",\n\"isframe\",\n\"isfunction\",\n\"isgenerator\",\n\"isgeneratorfunction\",\n\"isgetsetdescriptor\",\n\"ismemberdescriptor\",\n\"ismethod\",\n\"ismethoddescriptor\",\n\"ismethodwrapper\",\n\"ismodule\",\n\"isroutine\",\n\"istraceback\",\n\"markcoroutinefunction\",\n\"signature\",\n\"stack\",\n\"trace\",\n\"unwrap\",\n\"walktree\",\n]\n\n\nimport abc\nimport ast\nimport dis\nimport collections.abc\nimport enum\nimport importlib.machinery\nimport itertools\nimport linecache\nimport os\nimport re\nimport sys\nimport tokenize\nimport token\nimport types\nimport functools\nimport builtins\nfrom keyword import iskeyword\nfrom operator import attrgetter\nfrom collections import namedtuple,OrderedDict\n\n\n\nmod_dict=globals()\nfor k,v in dis.COMPILER_FLAG_NAMES.items():\n mod_dict[\"CO_\"+v]=k\ndel k,v,mod_dict\n\n\nTPFLAGS_IS_ABSTRACT=1 <<20\n\n\ndef get_annotations(obj,*,globals=None,locals=None,eval_str=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if isinstance(obj,type):\n \n obj_dict=getattr(obj,'__dict__',None)\n if obj_dict and hasattr(obj_dict,'get'):\n ann=obj_dict.get('__annotations__',None)\n if isinstance(ann,types.GetSetDescriptorType):\n ann=None\n else:\n ann=None\n \n obj_globals=None\n module_name=getattr(obj,'__module__',None)\n if module_name:\n module=sys.modules.get(module_name,None)\n if module:\n obj_globals=getattr(module,'__dict__',None)\n obj_locals=dict(vars(obj))\n unwrap=obj\n elif isinstance(obj,types.ModuleType):\n \n ann=getattr(obj,'__annotations__',None)\n obj_globals=getattr(obj,'__dict__')\n obj_locals=None\n unwrap=None\n elif callable(obj):\n \n \n \n ann=getattr(obj,'__annotations__',None)\n obj_globals=getattr(obj,'__globals__',None)\n obj_locals=None\n unwrap=obj\n else:\n raise TypeError(f\"{obj !r} is not a module, class, or callable.\")\n \n if ann is None:\n return{}\n \n if not isinstance(ann,dict):\n raise ValueError(f\"{obj !r}.__annotations__ is neither a dict nor None\")\n \n if not ann:\n return{}\n \n if not eval_str:\n return dict(ann)\n \n if unwrap is not None:\n while True:\n if hasattr(unwrap,'__wrapped__'):\n unwrap=unwrap.__wrapped__\n continue\n if isinstance(unwrap,functools.partial):\n unwrap=unwrap.func\n continue\n break\n if hasattr(unwrap,\"__globals__\"):\n obj_globals=unwrap.__globals__\n \n if globals is None:\n globals=obj_globals\n if locals is None:\n locals=obj_locals\n \n return_value={key:\n value if not isinstance(value,str)else eval(value,globals,locals)\n for key,value in ann.items()}\n return return_value\n \n \n \ndef ismodule(object):\n ''\n return isinstance(object,types.ModuleType)\n \ndef isclass(object):\n ''\n return isinstance(object,type)\n \ndef ismethod(object):\n ''\n return isinstance(object,types.MethodType)\n \ndef ismethoddescriptor(object):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n if isclass(object)or ismethod(object)or isfunction(object):\n \n return False\n tp=type(object)\n return hasattr(tp,\"__get__\")and not hasattr(tp,\"__set__\")\n \ndef isdatadescriptor(object):\n ''\n\n\n\n\n\n \n if isclass(object)or ismethod(object)or isfunction(object):\n \n return False\n tp=type(object)\n return hasattr(tp,\"__set__\")or hasattr(tp,\"__delete__\")\n \nif hasattr(types,'MemberDescriptorType'):\n\n def ismemberdescriptor(object):\n ''\n\n\n \n return isinstance(object,types.MemberDescriptorType)\nelse:\n\n def ismemberdescriptor(object):\n ''\n\n\n \n return False\n \nif hasattr(types,'GetSetDescriptorType'):\n\n def isgetsetdescriptor(object):\n ''\n\n\n \n return isinstance(object,types.GetSetDescriptorType)\nelse:\n\n def isgetsetdescriptor(object):\n ''\n\n\n \n return False\n \ndef isfunction(object):\n ''\n\n\n\n\n\n\n\n\n \n return isinstance(object,types.FunctionType)\n \ndef _has_code_flag(f,flag):\n ''\n\n \n while ismethod(f):\n f=f.__func__\n f=functools._unwrap_partial(f)\n if not(isfunction(f)or _signature_is_functionlike(f)):\n return False\n return bool(f.__code__.co_flags&flag)\n \ndef isgeneratorfunction(obj):\n ''\n\n\n \n return _has_code_flag(obj,CO_GENERATOR)\n \n \n_is_coroutine_marker=object()\n\ndef _has_coroutine_mark(f):\n while ismethod(f):\n f=f.__func__\n f=functools._unwrap_partial(f)\n return getattr(f,\"_is_coroutine_marker\",None)is _is_coroutine_marker\n \ndef markcoroutinefunction(func):\n ''\n\n \n if hasattr(func,'__func__'):\n func=func.__func__\n func._is_coroutine_marker=_is_coroutine_marker\n return func\n \ndef iscoroutinefunction(obj):\n ''\n\n\n\n \n return _has_code_flag(obj,CO_COROUTINE)or _has_coroutine_mark(obj)\n \ndef isasyncgenfunction(obj):\n ''\n\n\n\n \n return _has_code_flag(obj,CO_ASYNC_GENERATOR)\n \ndef isasyncgen(object):\n ''\n return isinstance(object,types.AsyncGeneratorType)\n \ndef isgenerator(object):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n return isinstance(object,types.GeneratorType)\n \ndef iscoroutine(object):\n ''\n return isinstance(object,types.CoroutineType)\n \ndef isawaitable(object):\n ''\n return(isinstance(object,types.CoroutineType)or\n isinstance(object,types.GeneratorType)and\n bool(object.gi_code.co_flags&CO_ITERABLE_COROUTINE)or\n isinstance(object,collections.abc.Awaitable))\n \ndef istraceback(object):\n ''\n\n\n\n\n\n \n return isinstance(object,types.TracebackType)\n \ndef isframe(object):\n ''\n\n\n\n\n\n\n\n\n\n \n return isinstance(object,types.FrameType)\n \ndef iscode(object):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return isinstance(object,types.CodeType)\n \ndef isbuiltin(object):\n ''\n\n\n\n\n \n return isinstance(object,types.BuiltinFunctionType)\n \ndef ismethodwrapper(object):\n ''\n return isinstance(object,types.MethodWrapperType)\n \ndef isroutine(object):\n ''\n return(isbuiltin(object)\n or isfunction(object)\n or ismethod(object)\n or ismethoddescriptor(object)\n or ismethodwrapper(object))\n \ndef isabstract(object):\n ''\n if not isinstance(object,type):\n return False\n if object.__flags__&TPFLAGS_IS_ABSTRACT:\n return True\n if not issubclass(type(object),abc.ABCMeta):\n return False\n if hasattr(object,'__abstractmethods__'):\n \n \n return False\n \n \n for name,value in object.__dict__.items():\n if getattr(value,\"__isabstractmethod__\",False):\n return True\n for base in object.__bases__:\n for name in getattr(base,\"__abstractmethods__\",()):\n value=getattr(object,name,None)\n if getattr(value,\"__isabstractmethod__\",False):\n return True\n return False\n \ndef _getmembers(object,predicate,getter):\n results=[]\n processed=set()\n names=dir(object)\n if isclass(object):\n mro=getmro(object)\n \n \n \n try:\n for base in object.__bases__:\n for k,v in base.__dict__.items():\n if isinstance(v,types.DynamicClassAttribute):\n names.append(k)\n except AttributeError:\n pass\n else:\n mro=()\n for key in names:\n \n \n \n try:\n value=getter(object,key)\n \n if key in processed:\n raise AttributeError\n except AttributeError:\n for base in mro:\n if key in base.__dict__:\n value=base.__dict__[key]\n break\n else:\n \n \n continue\n if not predicate or predicate(value):\n results.append((key,value))\n processed.add(key)\n results.sort(key=lambda pair:pair[0])\n return results\n \ndef getmembers(object,predicate=None):\n ''\n \n return _getmembers(object,predicate,getattr)\n \ndef getmembers_static(object,predicate=None):\n ''\n\n\n\n\n\n\n\n\n\n \n return _getmembers(object,predicate,getattr_static)\n \nAttribute=namedtuple('Attribute','name kind defining_class object')\n\ndef classify_class_attrs(cls):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n mro=getmro(cls)\n metamro=getmro(type(cls))\n metamro=tuple(cls for cls in metamro if cls not in(type,object))\n class_bases=(cls,)+mro\n all_bases=class_bases+metamro\n names=dir(cls)\n \n \n \n for base in mro:\n for k,v in base.__dict__.items():\n if isinstance(v,types.DynamicClassAttribute)and v.fget is not None:\n names.append(k)\n result=[]\n processed=set()\n \n for name in names:\n \n \n \n \n \n \n \n \n \n homecls=None\n get_obj=None\n dict_obj=None\n if name not in processed:\n try:\n if name =='__dict__':\n raise Exception(\"__dict__ is special, don't want the proxy\")\n get_obj=getattr(cls,name)\n except Exception:\n pass\n else:\n homecls=getattr(get_obj,\"__objclass__\",homecls)\n if homecls not in class_bases:\n \n \n homecls=None\n last_cls=None\n \n for srch_cls in class_bases:\n srch_obj=getattr(srch_cls,name,None)\n if srch_obj is get_obj:\n last_cls=srch_cls\n \n for srch_cls in metamro:\n try:\n srch_obj=srch_cls.__getattr__(cls,name)\n except AttributeError:\n continue\n if srch_obj is get_obj:\n last_cls=srch_cls\n if last_cls is not None:\n homecls=last_cls\n for base in all_bases:\n if name in base.__dict__:\n dict_obj=base.__dict__[name]\n if homecls not in metamro:\n homecls=base\n break\n if homecls is None:\n \n \n continue\n obj=get_obj if get_obj is not None else dict_obj\n \n if isinstance(dict_obj,(staticmethod,types.BuiltinMethodType)):\n kind=\"static method\"\n obj=dict_obj\n elif isinstance(dict_obj,(classmethod,types.ClassMethodDescriptorType)):\n kind=\"class method\"\n obj=dict_obj\n elif isinstance(dict_obj,property):\n kind=\"property\"\n obj=dict_obj\n elif isroutine(obj):\n kind=\"method\"\n else:\n kind=\"data\"\n result.append(Attribute(name,kind,homecls,obj))\n processed.add(name)\n return result\n \n \n \ndef getmro(cls):\n ''\n return cls.__mro__\n \n \n \ndef unwrap(func,*,stop=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if stop is None:\n def _is_wrapper(f):\n return hasattr(f,'__wrapped__')\n else:\n def _is_wrapper(f):\n return hasattr(f,'__wrapped__')and not stop(f)\n f=func\n \n \n memo={id(f):f}\n recursion_limit=sys.getrecursionlimit()\n while _is_wrapper(func):\n func=func.__wrapped__\n id_func=id(func)\n if(id_func in memo)or(len(memo)>=recursion_limit):\n raise ValueError('wrapper loop when unwrapping {!r}'.format(f))\n memo[id_func]=func\n return func\n \n \ndef indentsize(line):\n ''\n expline=line.expandtabs()\n return len(expline)-len(expline.lstrip())\n \ndef _findclass(func):\n cls=sys.modules.get(func.__module__)\n if cls is None:\n return None\n for name in func.__qualname__.split('.')[:-1]:\n cls=getattr(cls,name)\n if not isclass(cls):\n return None\n return cls\n \ndef _finddoc(obj):\n if isclass(obj):\n for base in obj.__mro__:\n if base is not object:\n try:\n doc=base.__doc__\n except AttributeError:\n continue\n if doc is not None:\n return doc\n return None\n \n if ismethod(obj):\n name=obj.__func__.__name__\n self=obj.__self__\n if(isclass(self)and\n getattr(getattr(self,name,None),'__func__')is obj.__func__):\n \n cls=self\n else:\n cls=self.__class__\n elif isfunction(obj):\n name=obj.__name__\n cls=_findclass(obj)\n if cls is None or getattr(cls,name)is not obj:\n return None\n elif isbuiltin(obj):\n name=obj.__name__\n self=obj.__self__\n if(isclass(self)and\n self.__qualname__+'.'+name ==obj.__qualname__):\n \n cls=self\n else:\n cls=self.__class__\n \n elif isinstance(obj,property):\n func=obj.fget\n name=func.__name__\n cls=_findclass(func)\n if cls is None or getattr(cls,name)is not obj:\n return None\n elif ismethoddescriptor(obj)or isdatadescriptor(obj):\n name=obj.__name__\n cls=obj.__objclass__\n if getattr(cls,name)is not obj:\n return None\n if ismemberdescriptor(obj):\n slots=getattr(cls,'__slots__',None)\n if isinstance(slots,dict)and name in slots:\n return slots[name]\n else:\n return None\n for base in cls.__mro__:\n try:\n doc=getattr(base,name).__doc__\n except AttributeError:\n continue\n if doc is not None:\n return doc\n return None\n \ndef getdoc(object):\n ''\n\n\n\n \n try:\n doc=object.__doc__\n except AttributeError:\n return None\n if doc is None:\n try:\n doc=_finddoc(object)\n except(AttributeError,TypeError):\n return None\n if not isinstance(doc,str):\n return None\n return cleandoc(doc)\n \ndef cleandoc(doc):\n ''\n\n\n \n try:\n lines=doc.expandtabs().split('\\n')\n except UnicodeError:\n return None\n else:\n \n margin=sys.maxsize\n for line in lines[1:]:\n content=len(line.lstrip())\n if content:\n indent=len(line)-content\n margin=min(margin,indent)\n \n if lines:\n lines[0]=lines[0].lstrip()\n if margin ')\n self.generic_visit(node)\n self.stack.pop()\n self.stack.pop()\n \n visit_AsyncFunctionDef=visit_FunctionDef\n \n def visit_ClassDef(self,node):\n self.stack.append(node.name)\n if self.qualname =='.'.join(self.stack):\n \n if node.decorator_list:\n line_number=node.decorator_list[0].lineno\n else:\n line_number=node.lineno\n \n \n line_number -=1\n raise ClassFoundException(line_number)\n self.generic_visit(node)\n self.stack.pop()\n \n \ndef findsource(object):\n ''\n\n\n\n\n \n \n file=getsourcefile(object)\n if file:\n \n linecache.checkcache(file)\n else:\n file=getfile(object)\n \n \n \n if not(file.startswith('<')and file.endswith('>')):\n raise OSError('source code not available')\n \n module=getmodule(object,file)\n if module:\n lines=linecache.getlines(file,module.__dict__)\n else:\n lines=linecache.getlines(file)\n if not lines:\n raise OSError('could not get source code')\n \n if ismodule(object):\n return lines,0\n \n if isclass(object):\n qualname=object.__qualname__\n source=''.join(lines)\n tree=ast.parse(source)\n class_finder=_ClassFinder(qualname)\n try:\n class_finder.visit(tree)\n except ClassFoundException as e:\n line_number=e.args[0]\n return lines,line_number\n else:\n raise OSError('could not find class definition')\n \n if ismethod(object):\n object=object.__func__\n if isfunction(object):\n object=object.__code__\n if istraceback(object):\n object=object.tb_frame\n if isframe(object):\n object=object.f_code\n if iscode(object):\n if not hasattr(object,'co_firstlineno'):\n raise OSError('could not find function definition')\n lnum=object.co_firstlineno -1\n pat=re.compile(r'^(\\s*def\\s)|(\\s*async\\s+def\\s)|(.*(?0:\n try:\n line=lines[lnum]\n except IndexError:\n raise OSError('lineno is out of bounds')\n if pat.match(line):\n break\n lnum=lnum -1\n return lines,lnum\n raise OSError('could not find code object')\n \ndef getcomments(object):\n ''\n\n\n \n try:\n lines,lnum=findsource(object)\n except(OSError,TypeError):\n return None\n \n if ismodule(object):\n \n start=0\n if lines and lines[0][:2]=='#!':start=1\n while start 0:\n indent=indentsize(lines[lnum])\n end=lnum -1\n if end >=0 and lines[end].lstrip()[:1]=='#'and\\\n indentsize(lines[end])==indent:\n comments=[lines[end].expandtabs().lstrip()]\n if end >0:\n end=end -1\n comment=lines[end].expandtabs().lstrip()\n while comment[:1]=='#'and indentsize(lines[end])==indent:\n comments[:0]=[comment]\n end=end -1\n if end <0:break\n comment=lines[end].expandtabs().lstrip()\n while comments and comments[0].strip()=='#':\n comments[:1]=[]\n while comments and comments[-1].strip()=='#':\n comments[-1:]=[]\n return ''.join(comments)\n \nclass EndOfBlock(Exception):pass\n\nclass BlockFinder:\n ''\n def __init__(self):\n self.indent=0\n self.islambda=False\n self.started=False\n self.passline=False\n self.indecorator=False\n self.last=1\n self.body_col0=None\n \n def tokeneater(self,type,token,srowcol,erowcol,line):\n if not self.started and not self.indecorator:\n \n if token ==\"@\":\n self.indecorator=True\n \n elif token in(\"def\",\"class\",\"lambda\"):\n if token ==\"lambda\":\n self.islambda=True\n self.started=True\n self.passline=True\n elif type ==tokenize.NEWLINE:\n self.passline=False\n self.last=srowcol[0]\n if self.islambda:\n raise EndOfBlock\n \n \n if self.indecorator:\n self.indecorator=False\n elif self.passline:\n pass\n elif type ==tokenize.INDENT:\n if self.body_col0 is None and self.started:\n self.body_col0=erowcol[1]\n self.indent=self.indent+1\n self.passline=True\n elif type ==tokenize.DEDENT:\n self.indent=self.indent -1\n \n \n \n if self.indent <=0:\n raise EndOfBlock\n elif type ==tokenize.COMMENT:\n if self.body_col0 is not None and srowcol[1]>=self.body_col0:\n \n self.last=srowcol[0]\n elif self.indent ==0 and type not in(tokenize.COMMENT,tokenize.NL):\n \n \n raise EndOfBlock\n \ndef getblock(lines):\n ''\n blockfinder=BlockFinder()\n try:\n tokens=tokenize.generate_tokens(iter(lines).__next__)\n for _token in tokens:\n blockfinder.tokeneater(*_token)\n except(EndOfBlock,IndentationError):\n pass\n except SyntaxError as e:\n if \"unmatched\"not in e.msg:\n raise e from None\n _,*_token_info=_token\n try:\n blockfinder.tokeneater(tokenize.NEWLINE,*_token_info)\n except(EndOfBlock,IndentationError):\n pass\n return lines[:blockfinder.last]\n \ndef getsourcelines(object):\n ''\n\n\n\n\n\n \n object=unwrap(object)\n lines,lnum=findsource(object)\n \n if istraceback(object):\n object=object.tb_frame\n \n \n if(ismodule(object)or\n (isframe(object)and object.f_code.co_name ==\"\")):\n return lines,0\n else:\n return getblock(lines[lnum:]),lnum+1\n \ndef getsource(object):\n ''\n\n\n\n \n lines,lnum=getsourcelines(object)\n return ''.join(lines)\n \n \ndef walktree(classes,children,parent):\n ''\n results=[]\n classes.sort(key=attrgetter('__module__','__name__'))\n for c in classes:\n results.append((c,c.__bases__))\n if c in children:\n results.append(walktree(children[c],children,c))\n return results\n \ndef getclasstree(classes,unique=False):\n ''\n\n\n\n\n\n\n \n children={}\n roots=[]\n for c in classes:\n if c.__bases__:\n for parent in c.__bases__:\n if parent not in children:\n children[parent]=[]\n if c not in children[parent]:\n children[parent].append(c)\n if unique and parent in classes:break\n elif c not in roots:\n roots.append(c)\n for parent in children:\n if parent not in classes:\n roots.append(parent)\n return walktree(roots,children,None)\n \n \nArguments=namedtuple('Arguments','args, varargs, varkw')\n\ndef getargs(co):\n ''\n\n\n\n\n \n if not iscode(co):\n raise TypeError('{!r} is not a code object'.format(co))\n \n names=co.co_varnames\n nargs=co.co_argcount\n nkwargs=co.co_kwonlyargcount\n args=list(names[:nargs])\n kwonlyargs=list(names[nargs:nargs+nkwargs])\n \n nargs +=nkwargs\n varargs=None\n if co.co_flags&CO_VARARGS:\n varargs=co.co_varnames[nargs]\n nargs=nargs+1\n varkw=None\n if co.co_flags&CO_VARKEYWORDS:\n varkw=co.co_varnames[nargs]\n return Arguments(args+kwonlyargs,varargs,varkw)\n \n \nFullArgSpec=namedtuple('FullArgSpec',\n'args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations')\n\ndef getfullargspec(func):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n sig=_signature_from_callable(func,\n follow_wrapper_chains=False,\n skip_bound_arg=False,\n sigcls=Signature,\n eval_str=False)\n except Exception as ex:\n \n \n \n \n raise TypeError('unsupported callable')from ex\n \n args=[]\n varargs=None\n varkw=None\n posonlyargs=[]\n kwonlyargs=[]\n annotations={}\n defaults=()\n kwdefaults={}\n \n if sig.return_annotation is not sig.empty:\n annotations['return']=sig.return_annotation\n \n for param in sig.parameters.values():\n kind=param.kind\n name=param.name\n \n if kind is _POSITIONAL_ONLY:\n posonlyargs.append(name)\n if param.default is not param.empty:\n defaults +=(param.default,)\n elif kind is _POSITIONAL_OR_KEYWORD:\n args.append(name)\n if param.default is not param.empty:\n defaults +=(param.default,)\n elif kind is _VAR_POSITIONAL:\n varargs=name\n elif kind is _KEYWORD_ONLY:\n kwonlyargs.append(name)\n if param.default is not param.empty:\n kwdefaults[name]=param.default\n elif kind is _VAR_KEYWORD:\n varkw=name\n \n if param.annotation is not param.empty:\n annotations[name]=param.annotation\n \n if not kwdefaults:\n \n kwdefaults=None\n \n if not defaults:\n \n defaults=None\n \n return FullArgSpec(posonlyargs+args,varargs,varkw,defaults,\n kwonlyargs,kwdefaults,annotations)\n \n \nArgInfo=namedtuple('ArgInfo','args varargs keywords locals')\n\ndef getargvalues(frame):\n ''\n\n\n\n\n \n args,varargs,varkw=getargs(frame.f_code)\n return ArgInfo(args,varargs,varkw,frame.f_locals)\n \ndef formatannotation(annotation,base_module=None):\n if getattr(annotation,'__module__',None)=='typing':\n def repl(match):\n text=match.group()\n return text.removeprefix('typing.')\n return re.sub(r'[\\w\\.]+',repl,repr(annotation))\n if isinstance(annotation,types.GenericAlias):\n return str(annotation)\n if isinstance(annotation,type):\n if annotation.__module__ in('builtins',base_module):\n return annotation.__qualname__\n return annotation.__module__+'.'+annotation.__qualname__\n return repr(annotation)\n \ndef formatannotationrelativeto(object):\n module=getattr(object,'__module__',None)\n def _formatannotation(annotation):\n return formatannotation(annotation,module)\n return _formatannotation\n \n \ndef formatargvalues(args,varargs,varkw,locals,\nformatarg=str,\nformatvarargs=lambda name:'*'+name,\nformatvarkw=lambda name:'**'+name,\nformatvalue=lambda value:'='+repr(value)):\n ''\n\n\n\n\n \n def convert(name,locals=locals,\n formatarg=formatarg,formatvalue=formatvalue):\n return formatarg(name)+formatvalue(locals[name])\n specs=[]\n for i in range(len(args)):\n specs.append(convert(args[i]))\n if varargs:\n specs.append(formatvarargs(varargs)+formatvalue(locals[varargs]))\n if varkw:\n specs.append(formatvarkw(varkw)+formatvalue(locals[varkw]))\n return '('+', '.join(specs)+')'\n \ndef _missing_arguments(f_name,argnames,pos,values):\n names=[repr(name)for name in argnames if name not in values]\n missing=len(names)\n if missing ==1:\n s=names[0]\n elif missing ==2:\n s=\"{} and {}\".format(*names)\n else:\n tail=\", {} and {}\".format(*names[-2:])\n del names[-2:]\n s=\", \".join(names)+tail\n raise TypeError(\"%s() missing %i required %s argument%s: %s\"%\n (f_name,missing,\n \"positional\"if pos else \"keyword-only\",\n \"\"if missing ==1 else \"s\",s))\n \ndef _too_many(f_name,args,kwonly,varargs,defcount,given,values):\n atleast=len(args)-defcount\n kwonly_given=len([arg for arg in kwonly if arg in values])\n if varargs:\n plural=atleast !=1\n sig=\"at least %d\"%(atleast,)\n elif defcount:\n plural=True\n sig=\"from %d to %d\"%(atleast,len(args))\n else:\n plural=len(args)!=1\n sig=str(len(args))\n kwonly_sig=\"\"\n if kwonly_given:\n msg=\" positional argument%s (and %d keyword-only argument%s)\"\n kwonly_sig=(msg %(\"s\"if given !=1 else \"\",kwonly_given,\n \"s\"if kwonly_given !=1 else \"\"))\n raise TypeError(\"%s() takes %s positional argument%s but %d%s %s given\"%\n (f_name,sig,\"s\"if plural else \"\",given,kwonly_sig,\n \"was\"if given ==1 and not kwonly_given else \"were\"))\n \ndef getcallargs(func,/,*positional,**named):\n ''\n\n\n\n \n spec=getfullargspec(func)\n args,varargs,varkw,defaults,kwonlyargs,kwonlydefaults,ann=spec\n f_name=func.__name__\n arg2value={}\n \n \n if ismethod(func)and func.__self__ is not None:\n \n positional=(func.__self__,)+positional\n num_pos=len(positional)\n num_args=len(args)\n num_defaults=len(defaults)if defaults else 0\n \n n=min(num_pos,num_args)\n for i in range(n):\n arg2value[args[i]]=positional[i]\n if varargs:\n arg2value[varargs]=tuple(positional[n:])\n possible_kwargs=set(args+kwonlyargs)\n if varkw:\n arg2value[varkw]={}\n for kw,value in named.items():\n if kw not in possible_kwargs:\n if not varkw:\n raise TypeError(\"%s() got an unexpected keyword argument %r\"%\n (f_name,kw))\n arg2value[varkw][kw]=value\n continue\n if kw in arg2value:\n raise TypeError(\"%s() got multiple values for argument %r\"%\n (f_name,kw))\n arg2value[kw]=value\n if num_pos >num_args and not varargs:\n _too_many(f_name,args,kwonlyargs,varargs,num_defaults,\n num_pos,arg2value)\n if num_pos 0:\n start=lineno -1 -context //2\n try:\n lines,lnum=findsource(frame)\n except OSError:\n lines=index=None\n else:\n start=max(0,min(start,len(lines)-context))\n lines=lines[start:start+context]\n index=lineno -1 -start\n else:\n lines=index=None\n \n return Traceback(filename,lineno,frame.f_code.co_name,lines,\n index,positions=dis.Positions(*positions))\n \ndef getlineno(frame):\n ''\n \n return frame.f_lineno\n \n_FrameInfo=namedtuple('_FrameInfo',('frame',)+Traceback._fields)\nclass FrameInfo(_FrameInfo):\n def __new__(cls,frame,filename,lineno,function,code_context,index,*,positions=None):\n instance=super().__new__(cls,frame,filename,lineno,function,code_context,index)\n instance.positions=positions\n return instance\n \n def __repr__(self):\n return('FrameInfo(frame={!r}, filename={!r}, lineno={!r}, function={!r}, '\n 'code_context={!r}, index={!r}, positions={!r})'.format(\n self.frame,self.filename,self.lineno,self.function,\n self.code_context,self.index,self.positions))\n \ndef getouterframes(frame,context=1):\n ''\n\n\n \n framelist=[]\n while frame:\n traceback_info=getframeinfo(frame,context)\n frameinfo=(frame,)+traceback_info\n framelist.append(FrameInfo(*frameinfo,positions=traceback_info.positions))\n frame=frame.f_back\n return framelist\n \ndef getinnerframes(tb,context=1):\n ''\n\n\n \n framelist=[]\n while tb:\n traceback_info=getframeinfo(tb,context)\n frameinfo=(tb.tb_frame,)+traceback_info\n framelist.append(FrameInfo(*frameinfo,positions=traceback_info.positions))\n tb=tb.tb_next\n return framelist\n \ndef currentframe():\n ''\n return sys._getframe(1)if hasattr(sys,\"_getframe\")else None\n \ndef stack(context=1):\n ''\n return getouterframes(sys._getframe(1),context)\n \ndef trace(context=1):\n ''\n exc=sys.exception()\n tb=None if exc is None else exc.__traceback__\n return getinnerframes(tb,context)\n \n \n \n \n_sentinel=object()\n_static_getmro=type.__dict__['__mro__'].__get__\n_get_dunder_dict_of_class=type.__dict__[\"__dict__\"].__get__\n\n\ndef _check_instance(obj,attr):\n instance_dict={}\n try:\n instance_dict=object.__getattribute__(obj,\"__dict__\")\n except AttributeError:\n pass\n return dict.get(instance_dict,attr,_sentinel)\n \n \ndef _check_class(klass,attr):\n for entry in _static_getmro(klass):\n if _shadowed_dict(type(entry))is _sentinel and attr in entry.__dict__:\n return entry.__dict__[attr]\n return _sentinel\n \n@functools.lru_cache()\ndef _shadowed_dict_from_mro_tuple(mro):\n for entry in mro:\n dunder_dict=_get_dunder_dict_of_class(entry)\n if '__dict__'in dunder_dict:\n class_dict=dunder_dict['__dict__']\n if not(type(class_dict)is types.GetSetDescriptorType and\n class_dict.__name__ ==\"__dict__\"and\n class_dict.__objclass__ is entry):\n return class_dict\n return _sentinel\n \ndef _shadowed_dict(klass):\n return _shadowed_dict_from_mro_tuple(_static_getmro(klass))\n \ndef getattr_static(obj,attr,default=_sentinel):\n ''\n\n\n\n\n\n\n\n\n \n instance_result=_sentinel\n \n objtype=type(obj)\n if type not in _static_getmro(objtype):\n klass=objtype\n dict_attr=_shadowed_dict(klass)\n if(dict_attr is _sentinel or\n type(dict_attr)is types.MemberDescriptorType):\n instance_result=_check_instance(obj,attr)\n else:\n klass=obj\n \n klass_result=_check_class(klass,attr)\n \n if instance_result is not _sentinel and klass_result is not _sentinel:\n if _check_class(type(klass_result),\"__get__\")is not _sentinel and(\n _check_class(type(klass_result),\"__set__\")is not _sentinel\n or _check_class(type(klass_result),\"__delete__\")is not _sentinel\n ):\n return klass_result\n \n if instance_result is not _sentinel:\n return instance_result\n if klass_result is not _sentinel:\n return klass_result\n \n if obj is klass:\n \n for entry in _static_getmro(type(klass)):\n if(\n _shadowed_dict(type(entry))is _sentinel\n and attr in entry.__dict__\n ):\n return entry.__dict__[attr]\n if default is not _sentinel:\n return default\n raise AttributeError(attr)\n \n \n \n \nGEN_CREATED='GEN_CREATED'\nGEN_RUNNING='GEN_RUNNING'\nGEN_SUSPENDED='GEN_SUSPENDED'\nGEN_CLOSED='GEN_CLOSED'\n\ndef getgeneratorstate(generator):\n ''\n\n\n\n\n\n\n \n if generator.gi_running:\n return GEN_RUNNING\n if generator.gi_suspended:\n return GEN_SUSPENDED\n if generator.gi_frame is None:\n return GEN_CLOSED\n return GEN_CREATED\n \n \ndef getgeneratorlocals(generator):\n ''\n\n\n\n \n \n if not isgenerator(generator):\n raise TypeError(\"{!r} is not a Python generator\".format(generator))\n \n frame=getattr(generator,\"gi_frame\",None)\n if frame is not None:\n return generator.gi_frame.f_locals\n else:\n return{}\n \n \n \n \nCORO_CREATED='CORO_CREATED'\nCORO_RUNNING='CORO_RUNNING'\nCORO_SUSPENDED='CORO_SUSPENDED'\nCORO_CLOSED='CORO_CLOSED'\n\ndef getcoroutinestate(coroutine):\n ''\n\n\n\n\n\n\n \n if coroutine.cr_running:\n return CORO_RUNNING\n if coroutine.cr_suspended:\n return CORO_SUSPENDED\n if coroutine.cr_frame is None:\n return CORO_CLOSED\n return CORO_CREATED\n \n \ndef getcoroutinelocals(coroutine):\n ''\n\n\n\n \n frame=getattr(coroutine,\"cr_frame\",None)\n if frame is not None:\n return frame.f_locals\n else:\n return{}\n \n \n \n \nAGEN_CREATED='AGEN_CREATED'\nAGEN_RUNNING='AGEN_RUNNING'\nAGEN_SUSPENDED='AGEN_SUSPENDED'\nAGEN_CLOSED='AGEN_CLOSED'\n\n\ndef getasyncgenstate(agen):\n ''\n\n\n\n\n\n\n \n if agen.ag_running:\n return AGEN_RUNNING\n if agen.ag_suspended:\n return AGEN_SUSPENDED\n if agen.ag_frame is None:\n return AGEN_CLOSED\n return AGEN_CREATED\n \n \ndef getasyncgenlocals(agen):\n ''\n\n\n\n\n \n \n if not isasyncgen(agen):\n raise TypeError(f\"{agen !r} is not a Python async generator\")\n \n frame=getattr(agen,\"ag_frame\",None)\n if frame is not None:\n return agen.ag_frame.f_locals\n else:\n return{}\n \n \n \n \n \n \n \n_NonUserDefinedCallables=(types.WrapperDescriptorType,\ntypes.MethodWrapperType,\ntypes.ClassMethodDescriptorType,\ntypes.BuiltinFunctionType)\n\n\ndef _signature_get_user_defined_method(cls,method_name):\n ''\n\n\n \n try:\n meth=getattr(cls,method_name)\n except AttributeError:\n return\n else:\n if not isinstance(meth,_NonUserDefinedCallables):\n \n \n return meth\n \n \ndef _signature_get_partial(wrapped_sig,partial,extra_args=()):\n ''\n\n\n \n \n old_params=wrapped_sig.parameters\n new_params=OrderedDict(old_params.items())\n \n partial_args=partial.args or()\n partial_keywords=partial.keywords or{}\n \n if extra_args:\n partial_args=extra_args+partial_args\n \n try:\n ba=wrapped_sig.bind_partial(*partial_args,**partial_keywords)\n except TypeError as ex:\n msg='partial object {!r} has incorrect arguments'.format(partial)\n raise ValueError(msg)from ex\n \n \n transform_to_kwonly=False\n for param_name,param in old_params.items():\n try:\n arg_value=ba.arguments[param_name]\n except KeyError:\n pass\n else:\n if param.kind is _POSITIONAL_ONLY:\n \n \n new_params.pop(param_name)\n continue\n \n if param.kind is _POSITIONAL_OR_KEYWORD:\n if param_name in partial_keywords:\n \n \n \n \n \n \n \n \n \n \n \n \n transform_to_kwonly=True\n \n new_params[param_name]=param.replace(default=arg_value)\n else:\n \n new_params.pop(param.name)\n continue\n \n if param.kind is _KEYWORD_ONLY:\n \n new_params[param_name]=param.replace(default=arg_value)\n \n if transform_to_kwonly:\n assert param.kind is not _POSITIONAL_ONLY\n \n if param.kind is _POSITIONAL_OR_KEYWORD:\n new_param=new_params[param_name].replace(kind=_KEYWORD_ONLY)\n new_params[param_name]=new_param\n new_params.move_to_end(param_name)\n elif param.kind in(_KEYWORD_ONLY,_VAR_KEYWORD):\n new_params.move_to_end(param_name)\n elif param.kind is _VAR_POSITIONAL:\n new_params.pop(param.name)\n \n return wrapped_sig.replace(parameters=new_params.values())\n \n \ndef _signature_bound_method(sig):\n ''\n\n \n \n params=tuple(sig.parameters.values())\n \n if not params or params[0].kind in(_VAR_KEYWORD,_KEYWORD_ONLY):\n raise ValueError('invalid method signature')\n \n kind=params[0].kind\n if kind in(_POSITIONAL_OR_KEYWORD,_POSITIONAL_ONLY):\n \n \n params=params[1:]\n else:\n if kind is not _VAR_POSITIONAL:\n \n \n raise ValueError('invalid argument type')\n \n \n \n return sig.replace(parameters=params)\n \n \ndef _signature_is_builtin(obj):\n ''\n\n \n return(isbuiltin(obj)or\n ismethoddescriptor(obj)or\n isinstance(obj,_NonUserDefinedCallables)or\n \n \n obj in(type,object))\n \n \ndef _signature_is_functionlike(obj):\n ''\n\n\n\n \n \n if not callable(obj)or isclass(obj):\n \n \n return False\n \n name=getattr(obj,'__name__',None)\n code=getattr(obj,'__code__',None)\n defaults=getattr(obj,'__defaults__',_void)\n kwdefaults=getattr(obj,'__kwdefaults__',_void)\n annotations=getattr(obj,'__annotations__',None)\n \n return(isinstance(code,types.CodeType)and\n isinstance(name,str)and\n (defaults is None or isinstance(defaults,tuple))and\n (kwdefaults is None or isinstance(kwdefaults,dict))and\n (isinstance(annotations,(dict))or annotations is None))\n \n \ndef _signature_strip_non_python_syntax(signature):\n ''\n\n\n\n\n\n\n\n \n \n if not signature:\n return signature,None\n \n self_parameter=None\n \n lines=[l.encode('ascii')for l in signature.split('\\n')if l]\n generator=iter(lines).__next__\n token_stream=tokenize.tokenize(generator)\n \n text=[]\n add=text.append\n \n current_parameter=0\n OP=token.OP\n ERRORTOKEN=token.ERRORTOKEN\n \n \n t=next(token_stream)\n assert t.type ==tokenize.ENCODING\n \n for t in token_stream:\n type,string=t.type,t.string\n \n if type ==OP:\n if string ==',':\n current_parameter +=1\n \n if(type ==OP)and(string =='$'):\n assert self_parameter is None\n self_parameter=current_parameter\n continue\n \n add(string)\n if(string ==','):\n add(' ')\n clean_signature=''.join(text).strip().replace(\"\\n\",\"\")\n return clean_signature,self_parameter\n \n \ndef _signature_fromstr(cls,obj,s,skip_bound_arg=True):\n ''\n\n \n Parameter=cls._parameter_cls\n \n clean_signature,self_parameter=_signature_strip_non_python_syntax(s)\n \n program=\"def foo\"+clean_signature+\": pass\"\n \n try:\n module=ast.parse(program)\n except SyntaxError:\n module=None\n \n if not isinstance(module,ast.Module):\n raise ValueError(\"{!r} builtin has invalid signature\".format(obj))\n \n f=module.body[0]\n \n parameters=[]\n empty=Parameter.empty\n \n module=None\n module_dict={}\n module_name=getattr(obj,'__module__',None)\n if module_name:\n module=sys.modules.get(module_name,None)\n if module:\n module_dict=module.__dict__\n sys_module_dict=sys.modules.copy()\n \n def parse_name(node):\n assert isinstance(node,ast.arg)\n if node.annotation is not None:\n raise ValueError(\"Annotations are not currently supported\")\n return node.arg\n \n def wrap_value(s):\n try:\n value=eval(s,module_dict)\n except NameError:\n try:\n value=eval(s,sys_module_dict)\n except NameError:\n raise ValueError\n \n if isinstance(value,(str,int,float,bytes,bool,type(None))):\n return ast.Constant(value)\n raise ValueError\n \n class RewriteSymbolics(ast.NodeTransformer):\n def visit_Attribute(self,node):\n a=[]\n n=node\n while isinstance(n,ast.Attribute):\n a.append(n.attr)\n n=n.value\n if not isinstance(n,ast.Name):\n raise ValueError\n a.append(n.id)\n value=\".\".join(reversed(a))\n return wrap_value(value)\n \n def visit_Name(self,node):\n if not isinstance(node.ctx,ast.Load):\n raise ValueError()\n return wrap_value(node.id)\n \n def visit_BinOp(self,node):\n \n \n left=self.visit(node.left)\n right=self.visit(node.right)\n if not isinstance(left,ast.Constant)or not isinstance(right,ast.Constant):\n raise ValueError\n if isinstance(node.op,ast.Add):\n return ast.Constant(left.value+right.value)\n elif isinstance(node.op,ast.Sub):\n return ast.Constant(left.value -right.value)\n elif isinstance(node.op,ast.BitOr):\n return ast.Constant(left.value |right.value)\n raise ValueError\n \n def p(name_node,default_node,default=empty):\n name=parse_name(name_node)\n if default_node and default_node is not _empty:\n try:\n default_node=RewriteSymbolics().visit(default_node)\n default=ast.literal_eval(default_node)\n except ValueError:\n raise ValueError(\"{!r} builtin has invalid signature\".format(obj))from None\n parameters.append(Parameter(name,kind,default=default,annotation=empty))\n \n \n total_non_kw_args=len(f.args.posonlyargs)+len(f.args.args)\n required_non_kw_args=total_non_kw_args -len(f.args.defaults)\n defaults=itertools.chain(itertools.repeat(None,required_non_kw_args),f.args.defaults)\n \n kind=Parameter.POSITIONAL_ONLY\n for(name,default)in zip(f.args.posonlyargs,defaults):\n p(name,default)\n \n kind=Parameter.POSITIONAL_OR_KEYWORD\n for(name,default)in zip(f.args.args,defaults):\n p(name,default)\n \n \n if f.args.vararg:\n kind=Parameter.VAR_POSITIONAL\n p(f.args.vararg,empty)\n \n \n kind=Parameter.KEYWORD_ONLY\n for name,default in zip(f.args.kwonlyargs,f.args.kw_defaults):\n p(name,default)\n \n \n if f.args.kwarg:\n kind=Parameter.VAR_KEYWORD\n p(f.args.kwarg,empty)\n \n if self_parameter is not None:\n \n \n \n \n \n assert parameters\n _self=getattr(obj,'__self__',None)\n self_isbound=_self is not None\n self_ismodule=ismodule(_self)\n if self_isbound and(self_ismodule or skip_bound_arg):\n parameters.pop(0)\n else:\n \n p=parameters[0].replace(kind=Parameter.POSITIONAL_ONLY)\n parameters[0]=p\n \n return cls(parameters,return_annotation=cls.empty)\n \n \ndef _signature_from_builtin(cls,func,skip_bound_arg=True):\n ''\n\n \n \n if not _signature_is_builtin(func):\n raise TypeError(\"{!r} is not a Python builtin \"\n \"function\".format(func))\n \n s=getattr(func,\"__text_signature__\",None)\n if not s:\n raise ValueError(\"no signature found for builtin {!r}\".format(func))\n \n return _signature_fromstr(cls,func,s,skip_bound_arg)\n \n \ndef _signature_from_function(cls,func,skip_bound_arg=True,\nglobals=None,locals=None,eval_str=False):\n ''\n \n is_duck_function=False\n if not isfunction(func):\n if _signature_is_functionlike(func):\n is_duck_function=True\n else:\n \n \n raise TypeError('{!r} is not a Python function'.format(func))\n \n s=getattr(func,\"__text_signature__\",None)\n if s:\n return _signature_fromstr(cls,func,s,skip_bound_arg)\n \n Parameter=cls._parameter_cls\n \n \n func_code=func.__code__\n pos_count=func_code.co_argcount\n arg_names=func_code.co_varnames\n posonly_count=func_code.co_posonlyargcount\n positional=arg_names[:pos_count]\n keyword_only_count=func_code.co_kwonlyargcount\n keyword_only=arg_names[pos_count:pos_count+keyword_only_count]\n annotations=get_annotations(func,globals=globals,locals=locals,eval_str=eval_str)\n defaults=func.__defaults__\n kwdefaults=func.__kwdefaults__\n \n if defaults:\n pos_default_count=len(defaults)\n else:\n pos_default_count=0\n \n parameters=[]\n \n non_default_count=pos_count -pos_default_count\n posonly_left=posonly_count\n \n \n for name in positional[:non_default_count]:\n kind=_POSITIONAL_ONLY if posonly_left else _POSITIONAL_OR_KEYWORD\n annotation=annotations.get(name,_empty)\n parameters.append(Parameter(name,annotation=annotation,\n kind=kind))\n if posonly_left:\n posonly_left -=1\n \n \n for offset,name in enumerate(positional[non_default_count:]):\n kind=_POSITIONAL_ONLY if posonly_left else _POSITIONAL_OR_KEYWORD\n annotation=annotations.get(name,_empty)\n parameters.append(Parameter(name,annotation=annotation,\n kind=kind,\n default=defaults[offset]))\n if posonly_left:\n posonly_left -=1\n \n \n if func_code.co_flags&CO_VARARGS:\n name=arg_names[pos_count+keyword_only_count]\n annotation=annotations.get(name,_empty)\n parameters.append(Parameter(name,annotation=annotation,\n kind=_VAR_POSITIONAL))\n \n \n for name in keyword_only:\n default=_empty\n if kwdefaults is not None:\n default=kwdefaults.get(name,_empty)\n \n annotation=annotations.get(name,_empty)\n parameters.append(Parameter(name,annotation=annotation,\n kind=_KEYWORD_ONLY,\n default=default))\n \n if func_code.co_flags&CO_VARKEYWORDS:\n index=pos_count+keyword_only_count\n if func_code.co_flags&CO_VARARGS:\n index +=1\n \n name=arg_names[index]\n annotation=annotations.get(name,_empty)\n parameters.append(Parameter(name,annotation=annotation,\n kind=_VAR_KEYWORD))\n \n \n \n return cls(parameters,\n return_annotation=annotations.get('return',_empty),\n __validate_parameters__=is_duck_function)\n \n \ndef _signature_from_callable(obj,*,\nfollow_wrapper_chains=True,\nskip_bound_arg=True,\nglobals=None,\nlocals=None,\neval_str=False,\nsigcls):\n\n ''\n\n \n \n _get_signature_of=functools.partial(_signature_from_callable,\n follow_wrapper_chains=follow_wrapper_chains,\n skip_bound_arg=skip_bound_arg,\n globals=globals,\n locals=locals,\n sigcls=sigcls,\n eval_str=eval_str)\n \n if not callable(obj):\n raise TypeError('{!r} is not a callable object'.format(obj))\n \n if isinstance(obj,types.MethodType):\n \n \n sig=_get_signature_of(obj.__func__)\n \n if skip_bound_arg:\n return _signature_bound_method(sig)\n else:\n return sig\n \n \n if follow_wrapper_chains:\n \n \n obj=unwrap(obj,stop=(lambda f:hasattr(f,\"__signature__\")\n or isinstance(f,types.MethodType)))\n if isinstance(obj,types.MethodType):\n \n \n \n return _get_signature_of(obj)\n \n try:\n sig=obj.__signature__\n except AttributeError:\n pass\n else:\n if sig is not None:\n \n \n \n o_sig=sig\n if not isinstance(sig,(Signature,str))and callable(sig):\n sig=sig()\n if isinstance(sig,str):\n sig=_signature_fromstr(sigcls,obj,sig)\n if not isinstance(sig,Signature):\n raise TypeError(\n 'unexpected object {!r} in __signature__ '\n 'attribute'.format(o_sig))\n return sig\n \n try:\n partialmethod=obj._partialmethod\n except AttributeError:\n pass\n else:\n if isinstance(partialmethod,functools.partialmethod):\n \n \n \n \n \n \n \n wrapped_sig=_get_signature_of(partialmethod.func)\n \n sig=_signature_get_partial(wrapped_sig,partialmethod,(None,))\n first_wrapped_param=tuple(wrapped_sig.parameters.values())[0]\n if first_wrapped_param.kind is Parameter.VAR_POSITIONAL:\n \n \n return sig\n else:\n sig_params=tuple(sig.parameters.values())\n assert(not sig_params or\n first_wrapped_param is not sig_params[0])\n new_params=(first_wrapped_param,)+sig_params\n return sig.replace(parameters=new_params)\n \n if isfunction(obj)or _signature_is_functionlike(obj):\n \n \n return _signature_from_function(sigcls,obj,\n skip_bound_arg=skip_bound_arg,\n globals=globals,locals=locals,eval_str=eval_str)\n \n if _signature_is_builtin(obj):\n return _signature_from_builtin(sigcls,obj,\n skip_bound_arg=skip_bound_arg)\n \n if isinstance(obj,functools.partial):\n wrapped_sig=_get_signature_of(obj.func)\n return _signature_get_partial(wrapped_sig,obj)\n \n sig=None\n if isinstance(obj,type):\n \n \n \n \n call=_signature_get_user_defined_method(type(obj),'__call__')\n if call is not None:\n sig=_get_signature_of(call)\n else:\n factory_method=None\n new=_signature_get_user_defined_method(obj,'__new__')\n init=_signature_get_user_defined_method(obj,'__init__')\n \n \n \n for base in obj.__mro__:\n \n if new is not None and '__new__'in base.__dict__:\n factory_method=new\n break\n \n elif init is not None and '__init__'in base.__dict__:\n factory_method=init\n break\n \n if factory_method is not None:\n sig=_get_signature_of(factory_method)\n \n if sig is None:\n \n \n \n for base in obj.__mro__[:-1]:\n \n \n \n \n \n \n \n try:\n text_sig=base.__text_signature__\n except AttributeError:\n pass\n else:\n if text_sig:\n \n \n return _signature_fromstr(sigcls,base,text_sig)\n \n \n \n \n if type not in obj.__mro__:\n \n \n if(obj.__init__ is object.__init__ and\n obj.__new__ is object.__new__):\n \n return sigcls.from_callable(object)\n else:\n raise ValueError(\n 'no signature found for builtin type {!r}'.format(obj))\n \n elif not isinstance(obj,_NonUserDefinedCallables):\n \n \n \n \n call=_signature_get_user_defined_method(type(obj),'__call__')\n if call is not None:\n try:\n sig=_get_signature_of(call)\n except ValueError as ex:\n msg='no signature found for {!r}'.format(obj)\n raise ValueError(msg)from ex\n \n if sig is not None:\n \n \n if skip_bound_arg:\n return _signature_bound_method(sig)\n else:\n return sig\n \n if isinstance(obj,types.BuiltinFunctionType):\n \n msg='no signature found for builtin function {!r}'.format(obj)\n raise ValueError(msg)\n \n raise ValueError('callable {!r} is not supported by signature'.format(obj))\n \n \nclass _void:\n ''\n \n \nclass _empty:\n ''\n \n \nclass _ParameterKind(enum.IntEnum):\n POSITIONAL_ONLY='positional-only'\n POSITIONAL_OR_KEYWORD='positional or keyword'\n VAR_POSITIONAL='variadic positional'\n KEYWORD_ONLY='keyword-only'\n VAR_KEYWORD='variadic keyword'\n \n def __new__(cls,description):\n value=len(cls.__members__)\n member=int.__new__(cls,value)\n member._value_=value\n member.description=description\n return member\n \n def __str__(self):\n return self.name\n \n_POSITIONAL_ONLY=_ParameterKind.POSITIONAL_ONLY\n_POSITIONAL_OR_KEYWORD=_ParameterKind.POSITIONAL_OR_KEYWORD\n_VAR_POSITIONAL=_ParameterKind.VAR_POSITIONAL\n_KEYWORD_ONLY=_ParameterKind.KEYWORD_ONLY\n_VAR_KEYWORD=_ParameterKind.VAR_KEYWORD\n\n\nclass Parameter:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __slots__=('_name','_kind','_default','_annotation')\n \n POSITIONAL_ONLY=_POSITIONAL_ONLY\n POSITIONAL_OR_KEYWORD=_POSITIONAL_OR_KEYWORD\n VAR_POSITIONAL=_VAR_POSITIONAL\n KEYWORD_ONLY=_KEYWORD_ONLY\n VAR_KEYWORD=_VAR_KEYWORD\n \n empty=_empty\n \n def __init__(self,name,kind,*,default=_empty,annotation=_empty):\n try:\n self._kind=_ParameterKind(kind)\n except ValueError:\n raise ValueError(f'value {kind !r} is not a valid Parameter.kind')\n if default is not _empty:\n if self._kind in(_VAR_POSITIONAL,_VAR_KEYWORD):\n msg='{} parameters cannot have default values'\n msg=msg.format(self._kind.description)\n raise ValueError(msg)\n self._default=default\n self._annotation=annotation\n \n if name is _empty:\n raise ValueError('name is a required attribute for Parameter')\n \n if not isinstance(name,str):\n msg='name must be a str, not a {}'.format(type(name).__name__)\n raise TypeError(msg)\n \n if name[0]=='.'and name[1:].isdigit():\n \n \n \n \n if self._kind !=_POSITIONAL_OR_KEYWORD:\n msg=(\n 'implicit arguments must be passed as '\n 'positional or keyword arguments, not {}'\n )\n msg=msg.format(self._kind.description)\n raise ValueError(msg)\n self._kind=_POSITIONAL_ONLY\n name='implicit{}'.format(name[1:])\n \n \n \n is_keyword=iskeyword(name)and self._kind is not _POSITIONAL_ONLY\n if is_keyword or not name.isidentifier():\n raise ValueError('{!r} is not a valid parameter name'.format(name))\n \n self._name=name\n \n def __reduce__(self):\n return(type(self),\n (self._name,self._kind),\n {'_default':self._default,\n '_annotation':self._annotation})\n \n def __setstate__(self,state):\n self._default=state['_default']\n self._annotation=state['_annotation']\n \n @property\n def name(self):\n return self._name\n \n @property\n def default(self):\n return self._default\n \n @property\n def annotation(self):\n return self._annotation\n \n @property\n def kind(self):\n return self._kind\n \n def replace(self,*,name=_void,kind=_void,\n annotation=_void,default=_void):\n ''\n \n if name is _void:\n name=self._name\n \n if kind is _void:\n kind=self._kind\n \n if annotation is _void:\n annotation=self._annotation\n \n if default is _void:\n default=self._default\n \n return type(self)(name,kind,default=default,annotation=annotation)\n \n def __str__(self):\n kind=self.kind\n formatted=self._name\n \n \n if self._annotation is not _empty:\n formatted='{}: {}'.format(formatted,\n formatannotation(self._annotation))\n \n if self._default is not _empty:\n if self._annotation is not _empty:\n formatted='{} = {}'.format(formatted,repr(self._default))\n else:\n formatted='{}={}'.format(formatted,repr(self._default))\n \n if kind ==_VAR_POSITIONAL:\n formatted='*'+formatted\n elif kind ==_VAR_KEYWORD:\n formatted='**'+formatted\n \n return formatted\n \n def __repr__(self):\n return '<{} \"{}\">'.format(self.__class__.__name__,self)\n \n def __hash__(self):\n return hash((self._name,self._kind,self._annotation,self._default))\n \n def __eq__(self,other):\n if self is other:\n return True\n if not isinstance(other,Parameter):\n return NotImplemented\n return(self._name ==other._name and\n self._kind ==other._kind and\n self._default ==other._default and\n self._annotation ==other._annotation)\n \n \nclass BoundArguments:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __slots__=('arguments','_signature','__weakref__')\n \n def __init__(self,signature,arguments):\n self.arguments=arguments\n self._signature=signature\n \n @property\n def signature(self):\n return self._signature\n \n @property\n def args(self):\n args=[]\n for param_name,param in self._signature.parameters.items():\n if param.kind in(_VAR_KEYWORD,_KEYWORD_ONLY):\n break\n \n try:\n arg=self.arguments[param_name]\n except KeyError:\n \n \n break\n else:\n if param.kind ==_VAR_POSITIONAL:\n \n args.extend(arg)\n else:\n \n args.append(arg)\n \n return tuple(args)\n \n @property\n def kwargs(self):\n kwargs={}\n kwargs_started=False\n for param_name,param in self._signature.parameters.items():\n if not kwargs_started:\n if param.kind in(_VAR_KEYWORD,_KEYWORD_ONLY):\n kwargs_started=True\n else:\n if param_name not in self.arguments:\n kwargs_started=True\n continue\n \n if not kwargs_started:\n continue\n \n try:\n arg=self.arguments[param_name]\n except KeyError:\n pass\n else:\n if param.kind ==_VAR_KEYWORD:\n \n kwargs.update(arg)\n else:\n \n kwargs[param_name]=arg\n \n return kwargs\n \n def apply_defaults(self):\n ''\n\n\n\n\n\n\n \n arguments=self.arguments\n new_arguments=[]\n for name,param in self._signature.parameters.items():\n try:\n new_arguments.append((name,arguments[name]))\n except KeyError:\n if param.default is not _empty:\n val=param.default\n elif param.kind is _VAR_POSITIONAL:\n val=()\n elif param.kind is _VAR_KEYWORD:\n val={}\n else:\n \n \n continue\n new_arguments.append((name,val))\n self.arguments=dict(new_arguments)\n \n def __eq__(self,other):\n if self is other:\n return True\n if not isinstance(other,BoundArguments):\n return NotImplemented\n return(self.signature ==other.signature and\n self.arguments ==other.arguments)\n \n def __setstate__(self,state):\n self._signature=state['_signature']\n self.arguments=state['arguments']\n \n def __getstate__(self):\n return{'_signature':self._signature,'arguments':self.arguments}\n \n def __repr__(self):\n args=[]\n for arg,value in self.arguments.items():\n args.append('{}={!r}'.format(arg,value))\n return '<{} ({})>'.format(self.__class__.__name__,', '.join(args))\n \n \nclass Signature:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __slots__=('_return_annotation','_parameters')\n \n _parameter_cls=Parameter\n _bound_arguments_cls=BoundArguments\n \n empty=_empty\n \n def __init__(self,parameters=None,*,return_annotation=_empty,\n __validate_parameters__=True):\n ''\n\n \n \n if parameters is None:\n params=OrderedDict()\n else:\n if __validate_parameters__:\n params=OrderedDict()\n top_kind=_POSITIONAL_ONLY\n seen_default=False\n \n for param in parameters:\n kind=param.kind\n name=param.name\n \n if kind top_kind:\n top_kind=kind\n \n if kind in(_POSITIONAL_ONLY,_POSITIONAL_OR_KEYWORD):\n if param.default is _empty:\n if seen_default:\n \n \n msg='non-default argument follows default '\\\n 'argument'\n raise ValueError(msg)\n else:\n \n seen_default=True\n \n if name in params:\n msg='duplicate parameter name: {!r}'.format(name)\n raise ValueError(msg)\n \n params[name]=param\n else:\n params=OrderedDict((param.name,param)for param in parameters)\n \n self._parameters=types.MappingProxyType(params)\n self._return_annotation=return_annotation\n \n @classmethod\n def from_callable(cls,obj,*,\n follow_wrapped=True,globals=None,locals=None,eval_str=False):\n ''\n return _signature_from_callable(obj,sigcls=cls,\n follow_wrapper_chains=follow_wrapped,\n globals=globals,locals=locals,eval_str=eval_str)\n \n @property\n def parameters(self):\n return self._parameters\n \n @property\n def return_annotation(self):\n return self._return_annotation\n \n def replace(self,*,parameters=_void,return_annotation=_void):\n ''\n\n\n \n \n if parameters is _void:\n parameters=self.parameters.values()\n \n if return_annotation is _void:\n return_annotation=self._return_annotation\n \n return type(self)(parameters,\n return_annotation=return_annotation)\n \n def _hash_basis(self):\n params=tuple(param for param in self.parameters.values()\n if param.kind !=_KEYWORD_ONLY)\n \n kwo_params={param.name:param for param in self.parameters.values()\n if param.kind ==_KEYWORD_ONLY}\n \n return params,kwo_params,self.return_annotation\n \n def __hash__(self):\n params,kwo_params,return_annotation=self._hash_basis()\n kwo_params=frozenset(kwo_params.values())\n return hash((params,kwo_params,return_annotation))\n \n def __eq__(self,other):\n if self is other:\n return True\n if not isinstance(other,Signature):\n return NotImplemented\n return self._hash_basis()==other._hash_basis()\n \n def _bind(self,args,kwargs,*,partial=False):\n ''\n \n arguments={}\n \n parameters=iter(self.parameters.values())\n parameters_ex=()\n arg_vals=iter(args)\n \n while True:\n \n \n try:\n arg_val=next(arg_vals)\n except StopIteration:\n \n try:\n param=next(parameters)\n except StopIteration:\n \n \n break\n else:\n if param.kind ==_VAR_POSITIONAL:\n \n \n break\n elif param.name in kwargs:\n if param.kind ==_POSITIONAL_ONLY:\n msg='{arg!r} parameter is positional only, '\\\n 'but was passed as a keyword'\n msg=msg.format(arg=param.name)\n raise TypeError(msg)from None\n parameters_ex=(param,)\n break\n elif(param.kind ==_VAR_KEYWORD or\n param.default is not _empty):\n \n \n \n parameters_ex=(param,)\n break\n else:\n \n \n if partial:\n parameters_ex=(param,)\n break\n else:\n if param.kind ==_KEYWORD_ONLY:\n argtype=' keyword-only'\n else:\n argtype=''\n msg='missing a required{argtype} argument: {arg!r}'\n msg=msg.format(arg=param.name,argtype=argtype)\n raise TypeError(msg)from None\n else:\n \n try:\n param=next(parameters)\n except StopIteration:\n raise TypeError('too many positional arguments')from None\n else:\n if param.kind in(_VAR_KEYWORD,_KEYWORD_ONLY):\n \n \n raise TypeError(\n 'too many positional arguments')from None\n \n if param.kind ==_VAR_POSITIONAL:\n \n \n \n values=[arg_val]\n values.extend(arg_vals)\n arguments[param.name]=tuple(values)\n break\n \n if param.name in kwargs and param.kind !=_POSITIONAL_ONLY:\n raise TypeError(\n 'multiple values for argument {arg!r}'.format(\n arg=param.name))from None\n \n arguments[param.name]=arg_val\n \n \n \n kwargs_param=None\n for param in itertools.chain(parameters_ex,parameters):\n if param.kind ==_VAR_KEYWORD:\n \n kwargs_param=param\n continue\n \n if param.kind ==_VAR_POSITIONAL:\n \n \n \n continue\n \n param_name=param.name\n try:\n arg_val=kwargs.pop(param_name)\n except KeyError:\n \n \n \n \n if(not partial and param.kind !=_VAR_POSITIONAL and\n param.default is _empty):\n raise TypeError('missing a required argument: {arg!r}'.\\\n format(arg=param_name))from None\n \n else:\n if param.kind ==_POSITIONAL_ONLY:\n \n \n \n raise TypeError('{arg!r} parameter is positional only, '\n 'but was passed as a keyword'.\\\n format(arg=param.name))\n \n arguments[param_name]=arg_val\n \n if kwargs:\n if kwargs_param is not None:\n \n arguments[kwargs_param.name]=kwargs\n else:\n raise TypeError(\n 'got an unexpected keyword argument {arg!r}'.format(\n arg=next(iter(kwargs))))\n \n return self._bound_arguments_cls(self,arguments)\n \n def bind(self,/,*args,**kwargs):\n ''\n\n\n \n return self._bind(args,kwargs)\n \n def bind_partial(self,/,*args,**kwargs):\n ''\n\n\n \n return self._bind(args,kwargs,partial=True)\n \n def __reduce__(self):\n return(type(self),\n (tuple(self._parameters.values()),),\n {'_return_annotation':self._return_annotation})\n \n def __setstate__(self,state):\n self._return_annotation=state['_return_annotation']\n \n def __repr__(self):\n return '<{} {}>'.format(self.__class__.__name__,self)\n \n def __str__(self):\n result=[]\n render_pos_only_separator=False\n render_kw_only_separator=True\n for param in self.parameters.values():\n formatted=str(param)\n \n kind=param.kind\n \n if kind ==_POSITIONAL_ONLY:\n render_pos_only_separator=True\n elif render_pos_only_separator:\n \n \n result.append('/')\n render_pos_only_separator=False\n \n if kind ==_VAR_POSITIONAL:\n \n \n render_kw_only_separator=False\n elif kind ==_KEYWORD_ONLY and render_kw_only_separator:\n \n \n \n result.append('*')\n \n \n render_kw_only_separator=False\n \n result.append(formatted)\n \n if render_pos_only_separator:\n \n \n result.append('/')\n \n rendered='({})'.format(', '.join(result))\n \n if self.return_annotation is not _empty:\n anno=formatannotation(self.return_annotation)\n rendered +=' -> {}'.format(anno)\n \n return rendered\n \n \ndef signature(obj,*,follow_wrapped=True,globals=None,locals=None,eval_str=False):\n ''\n return Signature.from_callable(obj,follow_wrapped=follow_wrapped,\n globals=globals,locals=locals,eval_str=eval_str)\n \n \nclass BufferFlags(enum.IntFlag):\n SIMPLE=0x0\n WRITABLE=0x1\n FORMAT=0x4\n ND=0x8\n STRIDES=0x10 |ND\n C_CONTIGUOUS=0x20 |STRIDES\n F_CONTIGUOUS=0x40 |STRIDES\n ANY_CONTIGUOUS=0x80 |STRIDES\n INDIRECT=0x100 |STRIDES\n CONTIG=ND |WRITABLE\n CONTIG_RO=ND\n STRIDED=STRIDES |WRITABLE\n STRIDED_RO=STRIDES\n RECORDS=STRIDES |WRITABLE |FORMAT\n RECORDS_RO=STRIDES |FORMAT\n FULL=INDIRECT |WRITABLE |FORMAT\n FULL_RO=INDIRECT |FORMAT\n READ=0x100\n WRITE=0x200\n \n \ndef _main():\n ''\n import argparse\n import importlib\n \n parser=argparse.ArgumentParser()\n parser.add_argument(\n 'object',\n help=\"The object to be analysed. \"\n \"It supports the 'module:qualname' syntax\")\n parser.add_argument(\n '-d','--details',action='store_true',\n help='Display info about the module rather than its source code')\n \n args=parser.parse_args()\n \n target=args.object\n mod_name,has_attrs,attrs=target.partition(\":\")\n try:\n obj=module=importlib.import_module(mod_name)\n except Exception as exc:\n msg=\"Failed to import {} ({}: {})\".format(mod_name,\n type(exc).__name__,\n exc)\n print(msg,file=sys.stderr)\n sys.exit(2)\n \n if has_attrs:\n parts=attrs.split(\".\")\n obj=module\n for part in parts:\n obj=getattr(obj,part)\n \n if module.__name__ in sys.builtin_module_names:\n print(\"Can't get info for builtin modules.\",file=sys.stderr)\n sys.exit(1)\n \n if args.details:\n print('Target: {}'.format(target))\n print('Origin: {}'.format(getsourcefile(module)))\n print('Cached: {}'.format(module.__cached__))\n if obj is module:\n print('Loader: {}'.format(repr(module.__loader__)))\n if hasattr(module,'__path__'):\n print('Submodule search path: {}'.format(module.__path__))\n else:\n try:\n __,lineno=findsource(obj)\n except Exception:\n pass\n else:\n print('Line: {}'.format(lineno))\n \n print('\\n')\n else:\n print(getsource(obj))\n \n \nif __name__ ==\"__main__\":\n _main()\n \n",["abc","argparse","ast","builtins","collections","collections.abc","dis","enum","functools","importlib","importlib.machinery","itertools","keyword","linecache","operator","os","re","sys","token","tokenize","types"]],interpreter:[".py",'import sys\nimport builtins\nimport re\n\nimport tb as traceback\n\nfrom browser import console,document,window,html,DOMNode\nfrom browser.widgets.dialog import Dialog\n\n_credits=""" Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands\n for supporting Python development. See www.python.org for more information."""\n\n_copyright="""Copyright (c) 2012, Pierre Quentel pierre.quentel@gmail.com\nAll Rights Reserved.\n\nCopyright (c) 2001-2022 Python Software Foundation.\nAll Rights Reserved.\n\nCopyright (c) 2000 BeOpen.com.\nAll Rights Reserved.\n\nCopyright (c) 1995-2001 Corporation for National Research Initiatives.\nAll Rights Reserved.\n\nCopyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.\nAll Rights Reserved."""\n\n_help="Type help() for interactive help, or help(object) for help about object."\n\n_license="""Copyright (c) 2012, Pierre Quentel pierre.quentel@gmail.com\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer. Redistributions in binary\nform must reproduce the above copyright notice, this list of conditions and\nthe following disclaimer in the documentation and/or other materials provided\nwith the distribution.\nNeither the name of the nor the names of its contributors may\nbe used to endorse or promote products derived from this software without\nspecific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n"""\n\nclass Info:\n\n def __init__(self,msg):\n self.msg=msg\n \n def __repr__(self):\n return self.msg\n \n \n \neditor_ns={\n\'credits\':Info(_credits),\n\'copyright\':Info(_copyright),\n\'license\':Info(_license),\n\'__annotations__\':{},\n\'__builtins__\':builtins,\n\'__doc__\':None,\n\'__file__\':\'\',\n\'__name__\':\'__main__\'\n}\n\n\nstyle_sheet="""\n.brython-interpreter {\n background-color: #000;\n color: #fff;\n font-family: consolas, courier;\n caret-color: #fff;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n@keyframes blinker {\n 50% {\n opacity: 0;\n }\n}\n\npre{\n display:inline;\n}\n"""\n\nactive=[]\n\nclass Output:\n\n def __init__(self,interpreter):\n self.interpreter=interpreter\n \n def write(self,*args,**kw):\n self.interpreter.write(*args,**kw)\n \n def __len__(self):\n return len(self.interpreter.buffer)\n \n \n \n \ncolor_character_pattern=re.compile(r\'^\\033\\[([0-9;]*)m\')\n\ndef swap_color_bgcolor(element):\n \'\'\n element.style.color,element.style.backgroundColor=\\\n element.style.backgroundColor,element.style.color\n \ncc_styles={\n0:["fontStyle","normal"],\n1:["fontWeight","bold"],\n2:["fontWeight","lighter"],\n3:["fontStyle","italic"],\n4:["textDecoration","underline"],\n5:["animation","blinker 1s step-start infinite"],\n6:["animation","blinker 0.5s step-start infinite"],\n7:swap_color_bgcolor\n}\n\ncc_colors={\n30:"Black",\n31:"Red",\n32:"Green",\n33:"Yellow",\n34:"Blue",\n35:"Magenta",\n36:"Cyan",\n37:"White"\n}\n\ncc_bgcolors={k+10:v for(k,v)in cc_colors.items()}\n\n\nclass Trace:\n\n def __init__(self,exc):\n self.buf=""\n self.is_syntax_error=exc.__name__ in[\'SyntaxError\',\n \'IndentationError\']\n \n def write(self,data):\n self.buf +=str(data)\n \n def format(self):\n \'\'\n lines=self.buf.strip().split("\\n")\n stripped=[lines[0]]if not self.is_syntax_error else[\'\']\n for i in range(1,len(lines),2):\n if __file__ in lines[i]:\n continue\n stripped +=lines[i:i+2]\n return "\\n".join(stripped)\n \n \nclass Interpreter:\n \'\'\n \n def __init__(self,elt_id=None,title="Interactive Interpreter",\n globals=None,locals=None,history=None,\n rows=30,cols=120,default_css=True,\n clear_zone=True,banner=True):\n \'\'\n\n\n\n\n\n \n if default_css:\n \n for stylesheet in document.styleSheets:\n if stylesheet.ownerNode.id =="brython-interpreter":\n break\n else:\n document <=html.STYLE(style_sheet,id="brython-interpreter")\n \n self.cc_style=None\n self.cc_color=None\n self.cc_bgcolor=None\n self.default_cc_color=\'#fff\'\n self.default_cc_bgcolor=\'#000\'\n \n if elt_id is None:\n self.dialog=Dialog(title=title,top=10,left=10,\n default_css=default_css)\n self.dialog.bind(\'blur\',self.blur)\n self.dialog.bind(\'click\',self.focus)\n self.dialog.close_button.bind(\'click\',self.close)\n self.zone=html.DIV(Class="brython-interpreter",\n contenteditable=True)\n self.zone.style.width=f\'{cols}ch\'\n self.zone.style.height=f\'{rows}ch\'\n self.dialog.panel <=self.zone\n else:\n if isinstance(elt_id,str):\n try:\n elt=document[elt_id]\n if elt.tagName !="DIV":\n raise ValueError(\n f"element {elt_id} is a {elt.tagName}, "+\n "not a DIV")\n self.zone=elt\n except KeyError:\n raise KeyError(f"no element with id \'{elt_id}\'")\n elif isinstance(elt_id,DOMNode):\n if elt_id.tagName =="DIV":\n self.zone=elt_id\n else:\n raise ValueError("element is not a DIV")\n else:\n raise ValueError("element should be a string or "+\n f"a DIV, got \'{elt_id.__class__.__name__}\'")\n if self.zone.contentEditable !=\'true\':\n raise ValueError("DIV element must be contenteditable")\n v=sys.implementation.version\n if clear_zone:\n self.clear()\n if banner:\n self.insert(\n f"Brython {v[0]}.{v[1]}.{v[2]} on "\n f"{window.navigator.appName} {window.navigator.appVersion}"\n "\\n"\n )\n self.insert(\'Type "help", "copyright", "credits" \'\n \'or "license" for more information.\'+\'\\n\')\n self.insert_prompt()\n \n self._status="main"\n self.history=history or[]\n self.current=len(self.history)\n \n self.globals={}if globals is None else globals\n self.globals.update(editor_ns)\n self.locals=self.globals if locals is None else locals\n \n self.zone.bind(\'keypress\',self.keypress)\n self.zone.bind(\'keydown\',self.keydown)\n self.zone.bind(\'mouseup\',self.mouseup)\n \n self.zone.bind(\'focus\',self.focus)\n self.zone.bind(\'blur\',self.blur)\n self.focus()\n \n self.cursor_to_end()\n \n active.append(self)\n \n def clear(self):\n self.zone.text=\'\'\n \n def insert(self,text):\n \n pre=html.PRE(style="display:inline;white-space:pre-wrap;")\n pre.text=text\n if self.cc_color is not None:\n pre.style.color=self.cc_color\n if self.cc_bgcolor is not None:\n pre.style.backgroundColor=self.cc_bgcolor\n if self.cc_style is not None:\n style=cc_styles[self.cc_style]\n if isinstance(style,list):\n attr,value=style\n setattr(pre.style,attr,value)\n else:\n style(pre)\n self.zone <=pre\n \n def insert_prompt(self):\n self.insert(\'>>> \')\n \n def insert_continuation(self):\n self.insert(\'\\n... \')\n \n def insert_cr(self):\n self.insert(\'\\n\')\n \n def get_content(self):\n return self.zone.text\n \n def blur(self,ev):\n if hasattr(self,\'dialog\'):\n self.dialog.style.zIndex=0\n \n def close(self,ev):\n active.remove(self)\n \n def cursor_to_end(self,*args):\n \n sel=window.getSelection()\n \n last_child=self.zone.lastChild.firstChild\n if last_child is None:\n last_child=self.zone.lastChild\n pos=len(last_child.text)\n \n sel.setBaseAndExtent(last_child,pos,last_child,pos)\n \n self.zone.lastChild.scrollIntoView({"block":"end","behaviour":"smooth"})\n \n def focus(self,*args):\n \'\'\n if hasattr(self,\'dialog\'):\n \n for w in active:\n if w is not self:\n w.dialog.style.zIndex=0\n self.dialog.style.zIndex=1\n sys.stdout=sys.stderr=Output(self)\n self.zone.focus()\n \n def keypress(self,event):\n if event.key =="Tab":\n event.preventDefault()\n self.insert(" ")\n elif event.key =="Enter":\n event.preventDefault()\n selection=window.getSelection().toString()\n if selection:\n \n self.cursor_to_end()\n return\n self.handle_line(event)\n \n def feed(self,src):\n \'\'\n\n\n \n current_indent=0\n lines=src.strip().split(\'\\n\')\n for line in lines:\n self.insert(line)\n self.handle_line()\n \n def add_to_history(self,line):\n self.history.append(line)\n \n def handle_line(self,event=None):\n src=self.get_content().strip()\n if self._status =="main":\n currentLine=src[src.rfind(\'\\n>>>\')+5:]\n elif self._status in["3string","parenth_expr"]:\n currentLine=src[src.rfind(\'\\n>>>\')+5:]\n currentLine=currentLine.replace(\'\\n... \',\'\\n\')\n else:\n currentLine=src[src.rfind(\'\\n...\')+5:]\n if self._status ==\'main\'and not currentLine.strip():\n self.insert_cr()\n self.insert_prompt()\n self.cursor_to_end()\n if event is not None:\n event.preventDefault()\n return\n self.add_to_history(currentLine)\n self.current=len(self.history)\n if self._status in["main","3string","parenth_expr"]:\n \n if currentLine =="help":\n self.insert_cr()\n self.write(_help)\n self.insert_cr()\n self.insert_prompt()\n self.cursor_to_end()\n if event is not None:\n event.preventDefault()\n return\n try:\n code=compile(currentLine,\'\',\'eval\')\n except IndentationError:\n self.insert_continuation()\n self._status="block"\n except SyntaxError as msg:\n if str(msg).startswith(\'unterminated triple-quoted string literal\'):\n self.insert_continuation()\n self._status="3string"\n elif str(msg)==\'decorator expects function\':\n self.insert_continuation()\n self._status="block"\n elif str(msg).endswith(\'was never closed\'):\n self.insert_continuation()\n self._status="parenth_expr"\n else:\n try:\n code=compile(currentLine,\'\',\'exec\')\n exec(code,self.globals,self.locals)\n except SyntaxError as exc:\n if exc.args[0].startswith(\'expected an indented block\'):\n self.insert_continuation()\n self._status="block"\n else:\n self.insert_cr()\n self.print_tb(exc)\n self.insert_prompt()\n except Exception as exc:\n self.insert_cr()\n self.print_tb(msg)\n self.insert_prompt()\n self._status="main"\n else:\n self.insert_cr()\n self.insert_prompt()\n self._status="main"\n except Exception as exc:\n \n \n \n self.print_tb(exc)\n self.insert_prompt()\n self._status="main"\n else:\n self.insert_cr()\n try:\n self.globals[\'_\']=eval(code,\n self.globals,\n self.locals)\n if self.globals[\'_\']is not None:\n self.write(repr(self.globals[\'_\'])+\'\\n\')\n self.insert_prompt()\n self._status="main"\n except Exception as exc:\n self.print_tb(exc)\n self.insert_prompt()\n self._status="main"\n \n elif currentLine =="":\n block=src[src.rfind(\'\\n>>>\')+5:].splitlines()\n block=[block[0]]+[b[4:]for b in block[1:]]\n block_src=\'\\n\'.join(block)\n self.insert_cr()\n mode=eval if self._status =="parenth_expr"else exec\n \n self._status="main"\n if mode is eval:\n try:\n self.globals[\'_\']=eval(block_src,\n self.globals,\n self.locals)\n if self.globals[\'_\']is not None:\n self.write(repr(self.globals[\'_\'])+\'\\n\')\n self._status="main"\n except Exception as exc:\n self.print_tb(exc)\n self._status="main"\n else:\n try:\n mode(block_src,self.globals,self.locals)\n except Exception as exc:\n self.print_tb(exc)\n self.insert_prompt()\n \n else:\n self.insert_continuation()\n \n self.cursor_to_end()\n if event is not None:\n event.preventDefault()\n \n def keydown(self,event):\n sel=window.getSelection()\n if event.key in("ArrowLeft","Backspace"):\n \n if sel.anchorNode is not self.zone:\n caret_column=sel.anchorOffset\n if caret_column >=5:\n return\n event.preventDefault()\n event.stopPropagation()\n elif event.key =="Home":\n anchor=sel.anchorNode\n sel.setBaseAndExtent(anchor,4,anchor,4)\n event.preventDefault()\n event.stopPropagation()\n elif event.key =="ArrowUp":\n if self.current >0:\n last_child=self.zone.lastChild\n last_child.text=last_child.text[:4]+self.history[self.current -1]\n self.current -=1\n self.cursor_to_end()\n event.preventDefault()\n elif event.key =="ArrowDown":\n if self.current ",">")\n frames_sel <=html.OPTION(name)\n frame=frame.f_back\n frames_sel.bind("change",self.change_frame)\n frame_div=html.DIV("Frame "+frames_sel)\n panel_style=window.getComputedStyle(self.dialog.panel)\n frame_div.style.paddingLeft=panel_style.paddingLeft\n frame_div.style.paddingTop=panel_style.paddingTop\n self.dialog.insertBefore(frame_div,self.dialog.panel)\n \n def change_frame(self,ev):\n self.globals,self.locals=self.frames[ev.target.selectedIndex]\n \n',["browser","browser.widgets.dialog","builtins","re","sys","tb"]],io:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__author__=("Guido van Rossum , "\n"Mike Verdone , "\n"Mark Russell , "\n"Antoine Pitrou , "\n"Amaury Forgeot d\'Arc , "\n"Benjamin Peterson ")\n\n__all__=["BlockingIOError","open","open_code","IOBase","RawIOBase",\n"FileIO","BytesIO","StringIO","BufferedIOBase",\n"BufferedReader","BufferedWriter","BufferedRWPair",\n"BufferedRandom","TextIOBase","TextIOWrapper",\n"UnsupportedOperation","SEEK_SET","SEEK_CUR","SEEK_END"]\n\n\nimport _io\nimport abc\n\nfrom _io import(DEFAULT_BUFFER_SIZE,BlockingIOError,UnsupportedOperation,\nopen,open_code,FileIO,BytesIO,StringIO,BufferedReader,\nBufferedWriter,BufferedRWPair,BufferedRandom,\nIncrementalNewlineDecoder,text_encoding,TextIOWrapper)\n\n\n\nUnsupportedOperation.__module__="io"\n\n\nSEEK_SET=0\nSEEK_CUR=1\nSEEK_END=2\n\n\n\n\nclass IOBase(_io._IOBase,metaclass=abc.ABCMeta):\n __doc__=_io._IOBase.__doc__\n \nclass RawIOBase(_io._RawIOBase,IOBase):\n __doc__=_io._RawIOBase.__doc__\n \nclass BufferedIOBase(_io._BufferedIOBase,IOBase):\n __doc__=_io._BufferedIOBase.__doc__\n \nclass TextIOBase(_io._TextIOBase,IOBase):\n __doc__=_io._TextIOBase.__doc__\n \nRawIOBase.register(FileIO)\n\nfor klass in(BytesIO,BufferedReader,BufferedWriter,BufferedRandom,\nBufferedRWPair):\n BufferedIOBase.register(klass)\n \nfor klass in(StringIO,TextIOWrapper):\n TextIOBase.register(klass)\ndel klass\n\ntry:\n from _io import _WindowsConsoleIO\nexcept ImportError:\n pass\nelse:\n RawIOBase.register(_WindowsConsoleIO)\n',["_io","abc"]],ipaddress:[".py","\n\n\n\"\"\"A fast, lightweight IPv4/IPv6 manipulation library in Python.\n\nThis library is used to create/poke/manipulate IPv4 and IPv6 addresses\nand networks.\n\n\"\"\"\n\n__version__='1.0'\n\n\nimport functools\n\nIPV4LENGTH=32\nIPV6LENGTH=128\n\n\nclass AddressValueError(ValueError):\n ''\n \n \nclass NetmaskValueError(ValueError):\n ''\n \n \ndef ip_address(address):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n return IPv4Address(address)\n except(AddressValueError,NetmaskValueError):\n pass\n \n try:\n return IPv6Address(address)\n except(AddressValueError,NetmaskValueError):\n pass\n \n raise ValueError(f'{address !r} does not appear to be an IPv4 or IPv6 address')\n \n \ndef ip_network(address,strict=True):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n return IPv4Network(address,strict)\n except(AddressValueError,NetmaskValueError):\n pass\n \n try:\n return IPv6Network(address,strict)\n except(AddressValueError,NetmaskValueError):\n pass\n \n raise ValueError(f'{address !r} does not appear to be an IPv4 or IPv6 network')\n \n \ndef ip_interface(address):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n return IPv4Interface(address)\n except(AddressValueError,NetmaskValueError):\n pass\n \n try:\n return IPv6Interface(address)\n except(AddressValueError,NetmaskValueError):\n pass\n \n raise ValueError(f'{address !r} does not appear to be an IPv4 or IPv6 interface')\n \n \ndef v4_int_to_packed(address):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n return address.to_bytes(4)\n except OverflowError:\n raise ValueError(\"Address negative or too large for IPv4\")\n \n \ndef v6_int_to_packed(address):\n ''\n\n\n\n\n\n\n\n \n try:\n return address.to_bytes(16)\n except OverflowError:\n raise ValueError(\"Address negative or too large for IPv6\")\n \n \ndef _split_optional_netmask(address):\n ''\n addr=str(address).split('/')\n if len(addr)>2:\n raise AddressValueError(f\"Only one '/' permitted in {address !r}\")\n return addr\n \n \ndef _find_address_range(addresses):\n ''\n\n\n\n\n\n\n\n \n it=iter(addresses)\n first=last=next(it)\n for ip in it:\n if ip._ip !=last._ip+1:\n yield first,last\n first=ip\n last=ip\n yield first,last\n \n \ndef _count_righthand_zero_bits(number,bits):\n ''\n\n\n\n\n\n\n\n\n \n if number ==0:\n return bits\n return min(bits,(~number&(number -1)).bit_length())\n \n \ndef summarize_address_range(first,last):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if(not(isinstance(first,_BaseAddress)and\n isinstance(last,_BaseAddress))):\n raise TypeError('first and last must be IP addresses, not networks')\n if first.version !=last.version:\n raise TypeError(\"%s and %s are not of the same version\"%(\n first,last))\n if first >last:\n raise ValueError('last IP address must be greater than first')\n \n if first.version ==4:\n ip=IPv4Network\n elif first.version ==6:\n ip=IPv6Network\n else:\n raise ValueError('unknown IP version')\n \n ip_bits=first._max_prefixlen\n first_int=first._ip\n last_int=last._ip\n while first_int <=last_int:\n nbits=min(_count_righthand_zero_bits(first_int,ip_bits),\n (last_int -first_int+1).bit_length()-1)\n net=ip((first_int,ip_bits -nbits))\n yield net\n first_int +=1 <=net.broadcast_address:\n continue\n yield net\n last=net\n \n \ndef collapse_addresses(addresses):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n addrs=[]\n ips=[]\n nets=[]\n \n \n for ip in addresses:\n if isinstance(ip,_BaseAddress):\n if ips and ips[-1]._version !=ip._version:\n raise TypeError(\"%s and %s are not of the same version\"%(\n ip,ips[-1]))\n ips.append(ip)\n elif ip._prefixlen ==ip._max_prefixlen:\n if ips and ips[-1]._version !=ip._version:\n raise TypeError(\"%s and %s are not of the same version\"%(\n ip,ips[-1]))\n try:\n ips.append(ip.ip)\n except AttributeError:\n ips.append(ip.network_address)\n else:\n if nets and nets[-1]._version !=ip._version:\n raise TypeError(\"%s and %s are not of the same version\"%(\n ip,nets[-1]))\n nets.append(ip)\n \n \n ips=sorted(set(ips))\n \n \n if ips:\n for first,last in _find_address_range(ips):\n addrs.extend(summarize_address_range(first,last))\n \n return _collapse_addresses_internal(addrs+nets)\n \n \ndef get_mixed_type_key(obj):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if isinstance(obj,_BaseNetwork):\n return obj._get_networks_key()\n elif isinstance(obj,_BaseAddress):\n return obj._get_address_key()\n return NotImplemented\n \n \nclass _IPAddressBase:\n\n ''\n \n __slots__=()\n \n @property\n def exploded(self):\n ''\n return self._explode_shorthand_ip_string()\n \n @property\n def compressed(self):\n ''\n return str(self)\n \n @property\n def reverse_pointer(self):\n ''\n\n\n\n\n\n \n return self._reverse_pointer()\n \n @property\n def version(self):\n msg='%200s has no version specified'%(type(self),)\n raise NotImplementedError(msg)\n \n def _check_int_address(self,address):\n if address <0:\n msg=\"%d (< 0) is not permitted as an IPv%d address\"\n raise AddressValueError(msg %(address,self._version))\n if address >self._ALL_ONES:\n msg=\"%d (>= 2**%d) is not permitted as an IPv%d address\"\n raise AddressValueError(msg %(address,self._max_prefixlen,\n self._version))\n \n def _check_packed_address(self,address,expected_len):\n address_len=len(address)\n if address_len !=expected_len:\n msg=\"%r (len %d != %d) is not permitted as an IPv%d address\"\n raise AddressValueError(msg %(address,address_len,\n expected_len,self._version))\n \n @classmethod\n def _ip_int_from_prefix(cls,prefixlen):\n ''\n\n\n\n\n\n\n\n \n return cls._ALL_ONES ^(cls._ALL_ONES >>prefixlen)\n \n @classmethod\n def _prefix_from_ip_int(cls,ip_int):\n ''\n\n\n\n\n\n\n\n\n\n \n trailing_zeroes=_count_righthand_zero_bits(ip_int,\n cls._max_prefixlen)\n prefixlen=cls._max_prefixlen -trailing_zeroes\n leading_ones=ip_int >>trailing_zeroes\n all_ones=(1 <1:\n return address\n return address[0],cls._max_prefixlen\n \n def __reduce__(self):\n return self.__class__,(str(self),)\n \n \n_address_fmt_re=None\n\n@functools.total_ordering\nclass _BaseAddress(_IPAddressBase):\n\n ''\n\n\n\n \n \n __slots__=()\n \n def __int__(self):\n return self._ip\n \n def __eq__(self,other):\n try:\n return(self._ip ==other._ip\n and self._version ==other._version)\n except AttributeError:\n return NotImplemented\n \n def __lt__(self,other):\n if not isinstance(other,_BaseAddress):\n return NotImplemented\n if self._version !=other._version:\n raise TypeError('%s and %s are not of the same version'%(\n self,other))\n if self._ip !=other._ip:\n return self._ip =0:\n if network+n >broadcast:\n raise IndexError('address out of range')\n return self._address_class(network+n)\n else:\n n +=1\n if broadcast+n other.network_address:\n return 1\n \n if self.netmask other.netmask:\n return 1\n return 0\n \n def _get_networks_key(self):\n ''\n\n\n\n\n\n \n return(self._version,self.network_address,self.netmask)\n \n def subnets(self,prefixlen_diff=1,new_prefix=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if self._prefixlen ==self._max_prefixlen:\n yield self\n return\n \n if new_prefix is not None:\n if new_prefix 0')\n new_prefixlen=self._prefixlen+prefixlen_diff\n \n if new_prefixlen >self._max_prefixlen:\n raise ValueError(\n 'prefix length diff %d is invalid for netblock %s'%(\n new_prefixlen,self))\n \n start=int(self.network_address)\n end=int(self.broadcast_address)+1\n step=(int(self.hostmask)+1)>>prefixlen_diff\n for new_addr in range(start,end,step):\n current=self.__class__((new_addr,new_prefixlen))\n yield current\n \n def supernet(self,prefixlen_diff=1,new_prefix=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if self._prefixlen ==0:\n return self\n \n if new_prefix is not None:\n if new_prefix >self._prefixlen:\n raise ValueError('new prefix must be shorter')\n if prefixlen_diff !=1:\n raise ValueError('cannot set prefixlen_diff and new_prefix')\n prefixlen_diff=self._prefixlen -new_prefix\n \n new_prefixlen=self.prefixlen -prefixlen_diff\n if new_prefixlen <0:\n raise ValueError(\n 'current prefixlen is %d, cannot have a prefixlen_diff of %d'%\n (self.prefixlen,prefixlen_diff))\n return self.__class__((\n int(self.network_address)&(int(self.netmask)<=a.broadcast_address)\n except AttributeError:\n raise TypeError(f\"Unable to test subnet containment \"\n f\"between {a} and {b}\")\n \n def subnet_of(self,other):\n ''\n return self._is_subnet_of(self,other)\n \n def supernet_of(self,other):\n ''\n return self._is_subnet_of(other,self)\n \n @property\n def is_reserved(self):\n ''\n\n\n\n\n\n \n return(self.network_address.is_reserved and\n self.broadcast_address.is_reserved)\n \n @property\n def is_link_local(self):\n ''\n\n\n\n\n \n return(self.network_address.is_link_local and\n self.broadcast_address.is_link_local)\n \n @property\n def is_private(self):\n ''\n\n\n\n\n\n \n return(self.network_address.is_private and\n self.broadcast_address.is_private)\n \n @property\n def is_global(self):\n ''\n\n\n\n\n\n \n return not self.is_private\n \n @property\n def is_unspecified(self):\n ''\n\n\n\n\n\n \n return(self.network_address.is_unspecified and\n self.broadcast_address.is_unspecified)\n \n @property\n def is_loopback(self):\n ''\n\n\n\n\n\n \n return(self.network_address.is_loopback and\n self.broadcast_address.is_loopback)\n \nclass _BaseV4:\n\n ''\n\n\n\n\n \n \n __slots__=()\n _version=4\n \n _ALL_ONES=(2 **IPV4LENGTH)-1\n \n _max_prefixlen=IPV4LENGTH\n \n \n _netmask_cache={}\n \n def _explode_shorthand_ip_string(self):\n return str(self)\n \n @classmethod\n def _make_netmask(cls,arg):\n ''\n\n\n\n\n\n \n if arg not in cls._netmask_cache:\n if isinstance(arg,int):\n prefixlen=arg\n if not(0 <=prefixlen <=cls._max_prefixlen):\n cls._report_invalid_netmask(prefixlen)\n else:\n try:\n \n prefixlen=cls._prefix_from_prefix_string(arg)\n except NetmaskValueError:\n \n \n prefixlen=cls._prefix_from_ip_string(arg)\n netmask=IPv4Address(cls._ip_int_from_prefix(prefixlen))\n cls._netmask_cache[arg]=netmask,prefixlen\n return cls._netmask_cache[arg]\n \n @classmethod\n def _ip_int_from_string(cls,ip_str):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if not ip_str:\n raise AddressValueError('Address cannot be empty')\n \n octets=ip_str.split('.')\n if len(octets)!=4:\n raise AddressValueError(\"Expected 4 octets in %r\"%ip_str)\n \n try:\n return int.from_bytes(map(cls._parse_octet,octets),'big')\n except ValueError as exc:\n raise AddressValueError(\"%s in %r\"%(exc,ip_str))from None\n \n @classmethod\n def _parse_octet(cls,octet_str):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if not octet_str:\n raise ValueError(\"Empty octet not permitted\")\n \n if not(octet_str.isascii()and octet_str.isdigit()):\n msg=\"Only decimal digits permitted in %r\"\n raise ValueError(msg %octet_str)\n \n \n if len(octet_str)>3:\n msg=\"At most 3 characters permitted in %r\"\n raise ValueError(msg %octet_str)\n \n \n if octet_str !='0'and octet_str[0]=='0':\n msg=\"Leading zeros are not permitted in %r\"\n raise ValueError(msg %octet_str)\n \n octet_int=int(octet_str,10)\n if octet_int >255:\n raise ValueError(\"Octet %d (> 255) not permitted\"%octet_int)\n return octet_int\n \n @classmethod\n def _string_from_ip_int(cls,ip_int):\n ''\n\n\n\n\n\n\n\n \n return '.'.join(map(str,ip_int.to_bytes(4,'big')))\n \n def _reverse_pointer(self):\n ''\n\n\n\n \n reverse_octets=str(self).split('.')[::-1]\n return '.'.join(reverse_octets)+'.in-addr.arpa'\n \n @property\n def max_prefixlen(self):\n return self._max_prefixlen\n \n @property\n def version(self):\n return self._version\n \n \nclass IPv4Address(_BaseV4,_BaseAddress):\n\n ''\n \n __slots__=('_ip','__weakref__')\n \n def __init__(self,address):\n \n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if isinstance(address,int):\n self._check_int_address(address)\n self._ip=address\n return\n \n \n if isinstance(address,bytes):\n self._check_packed_address(address,4)\n self._ip=int.from_bytes(address)\n return\n \n \n \n addr_str=str(address)\n if '/'in addr_str:\n raise AddressValueError(f\"Unexpected '/' in {address !r}\")\n self._ip=self._ip_int_from_string(addr_str)\n \n @property\n def packed(self):\n ''\n return v4_int_to_packed(self._ip)\n \n @property\n def is_reserved(self):\n ''\n\n\n\n\n\n \n return self in self._constants._reserved_network\n \n @property\n @functools.lru_cache()\n def is_private(self):\n ''\n\n\n\n\n\n \n return any(self in net for net in self._constants._private_networks)\n \n @property\n @functools.lru_cache()\n def is_global(self):\n return self not in self._constants._public_network and not self.is_private\n \n @property\n def is_multicast(self):\n ''\n\n\n\n\n\n \n return self in self._constants._multicast_network\n \n @property\n def is_unspecified(self):\n ''\n\n\n\n\n\n \n return self ==self._constants._unspecified_address\n \n @property\n def is_loopback(self):\n ''\n\n\n\n\n \n return self in self._constants._loopback_network\n \n @property\n def is_link_local(self):\n ''\n\n\n\n\n \n return self in self._constants._linklocal_network\n \n \nclass IPv4Interface(IPv4Address):\n\n def __init__(self,address):\n addr,mask=self._split_addr_prefix(address)\n \n IPv4Address.__init__(self,addr)\n self.network=IPv4Network((addr,mask),strict=False)\n self.netmask=self.network.netmask\n self._prefixlen=self.network._prefixlen\n \n @functools.cached_property\n def hostmask(self):\n return self.network.hostmask\n \n def __str__(self):\n return '%s/%d'%(self._string_from_ip_int(self._ip),\n self._prefixlen)\n \n def __eq__(self,other):\n address_equal=IPv4Address.__eq__(self,other)\n if address_equal is NotImplemented or not address_equal:\n return address_equal\n try:\n return self.network ==other.network\n except AttributeError:\n \n \n \n return False\n \n def __lt__(self,other):\n address_less=IPv4Address.__lt__(self,other)\n if address_less is NotImplemented:\n return NotImplemented\n try:\n return(self.network >16)&0xFFFF))\n parts.append('%x'%(ipv4_int&0xFFFF))\n \n \n \n \n _max_parts=cls._HEXTET_COUNT+1\n if len(parts)>_max_parts:\n msg=\"At most %d colons permitted in %r\"%(_max_parts -1,ip_str)\n raise AddressValueError(msg)\n \n \n \n skip_index=None\n for i in range(1,len(parts)-1):\n if not parts[i]:\n if skip_index is not None:\n \n msg=\"At most one '::' permitted in %r\"%ip_str\n raise AddressValueError(msg)\n skip_index=i\n \n \n \n if skip_index is not None:\n \n parts_hi=skip_index\n parts_lo=len(parts)-skip_index -1\n if not parts[0]:\n parts_hi -=1\n if parts_hi:\n msg=\"Leading ':' only permitted as part of '::' in %r\"\n raise AddressValueError(msg %ip_str)\n if not parts[-1]:\n parts_lo -=1\n if parts_lo:\n msg=\"Trailing ':' only permitted as part of '::' in %r\"\n raise AddressValueError(msg %ip_str)\n parts_skipped=cls._HEXTET_COUNT -(parts_hi+parts_lo)\n if parts_skipped <1:\n msg=\"Expected at most %d other parts with '::' in %r\"\n raise AddressValueError(msg %(cls._HEXTET_COUNT -1,ip_str))\n else:\n \n \n \n if len(parts)!=cls._HEXTET_COUNT:\n msg=\"Exactly %d parts expected without '::' in %r\"\n raise AddressValueError(msg %(cls._HEXTET_COUNT,ip_str))\n if not parts[0]:\n msg=\"Leading ':' only permitted as part of '::' in %r\"\n raise AddressValueError(msg %ip_str)\n if not parts[-1]:\n msg=\"Trailing ':' only permitted as part of '::' in %r\"\n raise AddressValueError(msg %ip_str)\n parts_hi=len(parts)\n parts_lo=0\n parts_skipped=0\n \n try:\n \n ip_int=0\n for i in range(parts_hi):\n ip_int <<=16\n ip_int |=cls._parse_hextet(parts[i])\n ip_int <<=16 *parts_skipped\n for i in range(-parts_lo,0):\n ip_int <<=16\n ip_int |=cls._parse_hextet(parts[i])\n return ip_int\n except ValueError as exc:\n raise AddressValueError(\"%s in %r\"%(exc,ip_str))from None\n \n @classmethod\n def _parse_hextet(cls,hextet_str):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n \n if not cls._HEX_DIGITS.issuperset(hextet_str):\n raise ValueError(\"Only hex digits permitted in %r\"%hextet_str)\n \n \n if len(hextet_str)>4:\n msg=\"At most 4 characters permitted in %r\"\n raise ValueError(msg %hextet_str)\n \n return int(hextet_str,16)\n \n @classmethod\n def _compress_hextets(cls,hextets):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n best_doublecolon_start=-1\n best_doublecolon_len=0\n doublecolon_start=-1\n doublecolon_len=0\n for index,hextet in enumerate(hextets):\n if hextet =='0':\n doublecolon_len +=1\n if doublecolon_start ==-1:\n \n doublecolon_start=index\n if doublecolon_len >best_doublecolon_len:\n \n best_doublecolon_len=doublecolon_len\n best_doublecolon_start=doublecolon_start\n else:\n doublecolon_len=0\n doublecolon_start=-1\n \n if best_doublecolon_len >1:\n best_doublecolon_end=(best_doublecolon_start+\n best_doublecolon_len)\n \n if best_doublecolon_end ==len(hextets):\n hextets +=['']\n hextets[best_doublecolon_start:best_doublecolon_end]=['']\n \n if best_doublecolon_start ==0:\n hextets=['']+hextets\n \n return hextets\n \n @classmethod\n def _string_from_ip_int(cls,ip_int=None):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if ip_int is None:\n ip_int=int(cls._ip)\n \n if ip_int >cls._ALL_ONES:\n raise ValueError('IPv6 address is too large')\n \n hex_str='%032x'%ip_int\n hextets=['%x'%int(hex_str[x:x+4],16)for x in range(0,32,4)]\n \n hextets=cls._compress_hextets(hextets)\n return ':'.join(hextets)\n \n def _explode_shorthand_ip_string(self):\n ''\n\n\n\n\n\n\n\n \n if isinstance(self,IPv6Network):\n ip_str=str(self.network_address)\n elif isinstance(self,IPv6Interface):\n ip_str=str(self.ip)\n else:\n ip_str=str(self)\n \n ip_int=self._ip_int_from_string(ip_str)\n hex_str='%032x'%ip_int\n parts=[hex_str[x:x+4]for x in range(0,32,4)]\n if isinstance(self,(_BaseNetwork,IPv6Interface)):\n return '%s/%d'%(':'.join(parts),self._prefixlen)\n return ':'.join(parts)\n \n def _reverse_pointer(self):\n ''\n\n\n\n \n reverse_chars=self.exploded[::-1].replace(':','')\n return '.'.join(reverse_chars)+'.ip6.arpa'\n \n @staticmethod\n def _split_scope_id(ip_str):\n ''\n\n\n\n\n\n\n\n\n\n \n addr,sep,scope_id=ip_str.partition('%')\n if not sep:\n scope_id=None\n elif not scope_id or '%'in scope_id:\n raise AddressValueError('Invalid IPv6 address: \"%r\"'%ip_str)\n return addr,scope_id\n \n @property\n def max_prefixlen(self):\n return self._max_prefixlen\n \n @property\n def version(self):\n return self._version\n \n \nclass IPv6Address(_BaseV6,_BaseAddress):\n\n ''\n \n __slots__=('_ip','_scope_id','__weakref__')\n \n def __init__(self,address):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if isinstance(address,int):\n self._check_int_address(address)\n self._ip=address\n self._scope_id=None\n return\n \n \n if isinstance(address,bytes):\n self._check_packed_address(address,16)\n self._ip=int.from_bytes(address,'big')\n self._scope_id=None\n return\n \n \n \n addr_str=str(address)\n if '/'in addr_str:\n raise AddressValueError(f\"Unexpected '/' in {address !r}\")\n addr_str,self._scope_id=self._split_scope_id(addr_str)\n \n self._ip=self._ip_int_from_string(addr_str)\n \n def __str__(self):\n ip_str=super().__str__()\n return ip_str+'%'+self._scope_id if self._scope_id else ip_str\n \n def __hash__(self):\n return hash((self._ip,self._scope_id))\n \n def __eq__(self,other):\n address_equal=super().__eq__(other)\n if address_equal is NotImplemented:\n return NotImplemented\n if not address_equal:\n return False\n return self._scope_id ==getattr(other,'_scope_id',None)\n \n @property\n def scope_id(self):\n ''\n\n\n\n\n\n\n \n return self._scope_id\n \n @property\n def packed(self):\n ''\n return v6_int_to_packed(self._ip)\n \n @property\n def is_multicast(self):\n ''\n\n\n\n\n\n \n return self in self._constants._multicast_network\n \n @property\n def is_reserved(self):\n ''\n\n\n\n\n\n \n return any(self in x for x in self._constants._reserved_networks)\n \n @property\n def is_link_local(self):\n ''\n\n\n\n\n \n return self in self._constants._linklocal_network\n \n @property\n def is_site_local(self):\n ''\n\n\n\n\n\n\n\n\n \n return self in self._constants._sitelocal_network\n \n @property\n @functools.lru_cache()\n def is_private(self):\n ''\n\n\n\n\n\n\n \n ipv4_mapped=self.ipv4_mapped\n if ipv4_mapped is not None:\n return ipv4_mapped.is_private\n return any(self in net for net in self._constants._private_networks)\n \n @property\n def is_global(self):\n ''\n\n\n\n\n\n \n return not self.is_private\n \n @property\n def is_unspecified(self):\n ''\n\n\n\n\n\n \n return self._ip ==0\n \n @property\n def is_loopback(self):\n ''\n\n\n\n\n\n \n return self._ip ==1\n \n @property\n def ipv4_mapped(self):\n ''\n\n\n\n\n\n \n if(self._ip >>32)!=0xFFFF:\n return None\n return IPv4Address(self._ip&0xFFFFFFFF)\n \n @property\n def teredo(self):\n ''\n\n\n\n\n\n\n \n if(self._ip >>96)!=0x20010000:\n return None\n return(IPv4Address((self._ip >>64)&0xFFFFFFFF),\n IPv4Address(~self._ip&0xFFFFFFFF))\n \n @property\n def sixtofour(self):\n ''\n\n\n\n\n\n \n if(self._ip >>112)!=0x2002:\n return None\n return IPv4Address((self._ip >>80)&0xFFFFFFFF)\n \n \nclass IPv6Interface(IPv6Address):\n\n def __init__(self,address):\n addr,mask=self._split_addr_prefix(address)\n \n IPv6Address.__init__(self,addr)\n self.network=IPv6Network((addr,mask),strict=False)\n self.netmask=self.network.netmask\n self._prefixlen=self.network._prefixlen\n \n @functools.cached_property\n def hostmask(self):\n return self.network.hostmask\n \n def __str__(self):\n return '%s/%d'%(super().__str__(),\n self._prefixlen)\n \n def __eq__(self,other):\n address_equal=IPv6Address.__eq__(self,other)\n if address_equal is NotImplemented or not address_equal:\n return address_equal\n try:\n return self.network ==other.network\n except AttributeError:\n \n \n \n return False\n \n def __lt__(self,other):\n address_less=IPv6Address.__lt__(self,other)\n if address_less is NotImplemented:\n return address_less\n try:\n return(self.network self.n:\n raise StopIteration\n if not self.zero:\n self.zero=True\n return tuple(self.pool[i]for i in self.indices)\n else:\n try:\n for i in reversed(range(self.r)):\n if self.indices[i]!=i+self.n -self.r:\n break\n self.indices[i]+=1\n for j in range(i+1,self.r):\n self.indices[j]=self.indices[j -1]+1\n return tuple(self.pool[i]for i in self.indices)\n except:\n raise StopIteration\n \nclass combinations_with_replacement:\n def __init__(self,iterable,r):\n self.pool=tuple(iterable)\n self.n=len(self.pool)\n self.r=r\n self.indices=[0]*self.r\n self.zero=False\n \n def __iter__(self):\n return self\n \n def __next__(self):\n if not self.n and self.r:\n raise StopIteration\n if not self.zero:\n self.zero=True\n return tuple(self.pool[i]for i in self.indices)\n else:\n try:\n for i in reversed(range(self.r)):\n if self.indices[i]!=self.n -1:\n break\n self.indices[i:]=[self.indices[i]+1]*(self.r -i)\n return tuple(self.pool[i]for i in self.indices)\n except:\n raise StopIteration\n \n \n \nclass compress:\n def __init__(self,data,selectors):\n self.data=iter(data)\n self.selectors=iter(selectors)\n \n def __iter__(self):\n return self\n \n def __next__(self):\n while True:\n next_item=next(self.data)\n next_selector=next(self.selectors)\n if bool(next_selector):\n return next_item\n \n \n \n \nclass count:\n \'\'\n\n\n\n \n def __init__(self,start=0,step=1):\n if not isinstance(start,(int,float)):\n raise TypeError(\'a number is required\')\n self.times=start -step\n self.step=step\n \n def __iter__(self):\n return self\n \n def __next__(self):\n self.times +=self.step\n return self.times\n \n def __repr__(self):\n return \'count(%d)\'%(self.times+self.step)\n \n \n \nclass cycle:\n def __init__(self,iterable):\n self._cur_iter=iter(iterable)\n self._saved=[]\n self._must_save=True\n \n def __iter__(self):\n return self\n \n def __next__(self):\n try:\n next_elt=next(self._cur_iter)\n if self._must_save:\n self._saved.append(next_elt)\n except StopIteration:\n self._cur_iter=iter(self._saved)\n next_elt=next(self._cur_iter)\n self._must_save=False\n return next_elt\n \n \n \nclass dropwhile:\n def __init__(self,predicate,iterable):\n self._predicate=predicate\n self._iter=iter(iterable)\n self._dropped=False\n \n def __iter__(self):\n return self\n \n def __next__(self):\n value=next(self._iter)\n if self._dropped:\n return value\n while self._predicate(value):\n value=next(self._iter)\n self._dropped=True\n return value\n \n \n \nclass filterfalse:\n def __init__(self,predicate,iterable):\n \n self._iter=iter(iterable)\n if predicate is None:\n self._predicate=bool\n else:\n self._predicate=predicate\n \n def __iter__(self):\n return self\n def __next__(self):\n next_elt=next(self._iter)\n while True:\n if not self._predicate(next_elt):\n return next_elt\n next_elt=next(self._iter)\n \nclass groupby:\n\n\n def __init__(self,iterable,key=None):\n if key is None:\n key=lambda x:x\n self.keyfunc=key\n self.it=iter(iterable)\n self.tgtkey=self.currkey=self.currvalue=object()\n def __iter__(self):\n return self\n def __next__(self):\n while self.currkey ==self.tgtkey:\n self.currvalue=next(self.it)\n self.currkey=self.keyfunc(self.currvalue)\n self.tgtkey=self.currkey\n return(self.currkey,self._grouper(self.tgtkey))\n def _grouper(self,tgtkey):\n while self.currkey ==tgtkey:\n yield self.currvalue\n self.currvalue=next(self.it)\n self.currkey=self.keyfunc(self.currvalue)\n \n \n \nclass islice:\n def __init__(self,iterable,*args):\n s=slice(*args)\n self.start,self.stop,self.step=s.start or 0,s.stop,s.step\n if not isinstance(self.start,int):\n raise ValueError("Start argument must be an integer")\n if self.stop !=None and not isinstance(self.stop,int):\n raise ValueError("Stop argument must be an integer or None")\n if self.step is None:\n self.step=1\n if self.start <0 or(self.stop !=None and self.stop <0\n )or self.step <=0:\n raise ValueError("indices for islice() must be positive")\n self.it=iter(iterable)\n self.donext=None\n self.cnt=0\n \n def __iter__(self):\n return self\n \n def __next__(self):\n nextindex=self.start\n if self.stop !=None and nextindex >=self.stop:\n raise StopIteration\n while self.cnt <=nextindex:\n nextitem=next(self.it)\n self.cnt +=1\n self.start +=self.step\n return nextitem\n \nclass permutations:\n def __init__(self,iterable,r=None):\n self.pool=tuple(iterable)\n self.n=len(self.pool)\n self.r=self.n if r is None else r\n self.indices=list(range(self.n))\n self.cycles=list(range(self.n,self.n -self.r,-1))\n self.zero=False\n self.stop=False\n \n def __iter__(self):\n return self\n \n def __next__(self):\n indices=self.indices\n if self.r >self.n:\n raise StopIteration\n if not self.zero:\n self.zero=True\n return tuple(self.pool[i]for i in indices[:self.r])\n \n i=self.r -1\n while i >=0:\n j=self.cycles[i]-1\n if j >0:\n self.cycles[i]=j\n indices[i],indices[-j]=indices[-j],indices[i]\n return tuple(self.pool[i]for i in indices[:self.r])\n self.cycles[i]=len(indices)-i\n n1=len(indices)-1\n assert n1 >=0\n num=indices[i]\n for k in range(i,n1):\n indices[k]=indices[k+1]\n indices[n1]=num\n i -=1\n raise StopIteration\n \n \ndef product(*args,repeat=1):\n\n\n pools=[tuple(pool)for pool in args]*repeat\n result=[[]]\n for pool in pools:\n result=[x+[y]for x in result for y in pool]\n for prod in result:\n yield tuple(prod)\n \n \n \n \n \n \n \n \nclass _product:\n def __init__(self,*args,**kw):\n if len(kw)>1:\n raise TypeError("product() takes at most 1 argument (%d given)"%\n len(kw))\n self.repeat=kw.get(\'repeat\',1)\n if not isinstance(self.repeat,int):\n raise TypeError("integer argument expected, got %s"%\n type(self.repeat))\n self.gears=[x for x in args]*self.repeat\n self.num_gears=len(self.gears)\n \n self.indicies=[(0,len(self.gears[x]))\n for x in range(0,self.num_gears)]\n self.cont=True\n self.zero=False\n \n def roll_gears(self):\n \n \n \n should_carry=True\n for n in range(0,self.num_gears):\n nth_gear=self.num_gears -n -1\n if should_carry:\n count,lim=self.indicies[nth_gear]\n count +=1\n if count ==lim and nth_gear ==0:\n self.cont=False\n if count ==lim:\n should_carry=True\n count=0\n else:\n should_carry=False\n self.indicies[nth_gear]=(count,lim)\n else:\n break\n \n def __iter__(self):\n return self\n \n def __next__(self):\n if self.zero:\n raise StopIteration\n if self.repeat >0:\n if not self.cont:\n raise StopIteration\n l=[]\n for x in range(0,self.num_gears):\n index,limit=self.indicies[x]\n print(\'itertools 353\',self.gears,x,index)\n l.append(self.gears[x][index])\n self.roll_gears()\n return tuple(l)\n elif self.repeat ==0:\n self.zero=True\n return()\n else:\n raise ValueError("repeat argument cannot be negative")\n \n \n \nclass repeat:\n def __init__(self,obj,times=None):\n self._obj=obj\n if times is not None:\n range(times)\n if times <0:\n times=0\n self._times=times\n \n def __iter__(self):\n return self\n \n def __next__(self):\n \n if self._times is not None:\n if self._times <=0:\n raise StopIteration()\n self._times -=1\n return self._obj\n \n def __repr__(self):\n if self._times is not None:\n return \'repeat(%r, %r)\'%(self._obj,self._times)\n else:\n return \'repeat(%r)\'%(self._obj,)\n \n def __len__(self):\n if self._times ==-1 or self._times is None:\n raise TypeError("len() of uniszed object")\n return self._times\n \n \n \nclass starmap(object):\n def __init__(self,function,iterable):\n self._func=function\n self._iter=iter(iterable)\n \n def __iter__(self):\n return self\n \n def __next__(self):\n t=next(self._iter)\n return self._func(*t)\n \n \n \nclass takewhile(object):\n def __init__(self,predicate,iterable):\n self._predicate=predicate\n self._iter=iter(iterable)\n \n def __iter__(self):\n return self\n \n def __next__(self):\n value=next(self._iter)\n if not self._predicate(value):\n raise StopIteration()\n return value\n \n \n \nclass TeeData(object):\n def __init__(self,iterator):\n self.data=[]\n self._iter=iterator\n \n def __getitem__(self,i):\n \n while i >=len(self.data):\n self.data.append(next(self._iter))\n return self.data[i]\n \n \nclass TeeObject(object):\n def __init__(self,iterable=None,tee_data=None):\n if tee_data:\n self.tee_data=tee_data\n self.pos=0\n \n elif isinstance(iterable,TeeObject):\n self.tee_data=iterable.tee_data\n self.pos=iterable.pos\n else:\n self.tee_data=TeeData(iter(iterable))\n self.pos=0\n \n def __next__(self):\n data=self.tee_data[self.pos]\n self.pos +=1\n return data\n \n def __iter__(self):\n return self\n \n \ndef tee(iterable,n=2):\n if isinstance(iterable,TeeObject):\n return tuple([iterable]+\n [TeeObject(tee_data=iterable.tee_data)for i in range(n -1)])\n tee_data=TeeData(iter(iterable))\n return tuple([TeeObject(tee_data=tee_data)for i in range(n)])\n \nclass zip_longest:\n def __init__(self,*args,fillvalue=None):\n self.args=[iter(arg)for arg in args]\n self.fillvalue=fillvalue\n self.units=len(args)\n \n def __iter__(self):\n return self\n \n def __next__(self):\n temp=[]\n nb=0\n for i in range(self.units):\n try:\n temp.append(next(self.args[i]))\n nb +=1\n except StopIteration:\n temp.append(self.fillvalue)\n if nb ==0:\n raise StopIteration\n return tuple(temp)\n',["operator"]],keyword:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=[\"iskeyword\",\"issoftkeyword\",\"kwlist\",\"softkwlist\"]\n\nkwlist=[\n'False',\n'None',\n'True',\n'and',\n'as',\n'assert',\n'async',\n'await',\n'break',\n'class',\n'continue',\n'def',\n'del',\n'elif',\n'else',\n'except',\n'finally',\n'for',\n'from',\n'global',\n'if',\n'import',\n'in',\n'is',\n'lambda',\n'nonlocal',\n'not',\n'or',\n'pass',\n'raise',\n'return',\n'try',\n'while',\n'with',\n'yield'\n]\n\nsoftkwlist=[\n'_',\n'case',\n'match',\n'type'\n]\n\niskeyword=frozenset(kwlist).__contains__\nissoftkeyword=frozenset(softkwlist).__contains__\n",[]],linecache:[".py","''\n\n\n\n\n\n\nimport functools\nimport sys\nimport os\nimport tokenize\n\n__all__=[\"getline\",\"clearcache\",\"checkcache\",\"lazycache\"]\n\n\n\n\ncache={}\n\n\ndef clearcache():\n ''\n cache.clear()\n \n \ndef getline(filename,lineno,module_globals=None):\n ''\n \n \n lines=getlines(filename,module_globals)\n if 1 <=lineno <=len(lines):\n return lines[lineno -1]\n return ''\n \n \ndef getlines(filename,module_globals=None):\n ''\n \n \n if filename in cache:\n entry=cache[filename]\n if len(entry)!=1:\n return cache[filename][2]\n \n try:\n return updatecache(filename,module_globals)\n except MemoryError:\n clearcache()\n return[]\n \n \ndef checkcache(filename=None):\n ''\n \n \n if filename is None:\n filenames=list(cache.keys())\n elif filename in cache:\n filenames=[filename]\n else:\n return\n \n for filename in filenames:\n entry=cache[filename]\n if len(entry)==1:\n \n continue\n size,mtime,lines,fullname=entry\n if mtime is None:\n continue\n try:\n stat=os.stat(fullname)\n except OSError:\n cache.pop(filename,None)\n continue\n if size !=stat.st_size or mtime !=stat.st_mtime:\n cache.pop(filename,None)\n \n \ndef updatecache(filename,module_globals=None):\n ''\n\n \n \n if filename in cache:\n if len(cache[filename])!=1:\n cache.pop(filename,None)\n if not filename or(filename.startswith('<')and filename.endswith('>')):\n return[]\n \n fullname=filename\n try:\n stat=os.stat(fullname)\n except OSError:\n basename=filename\n \n \n \n if lazycache(filename,module_globals):\n try:\n data=cache[filename][0]()\n except(ImportError,OSError):\n pass\n else:\n if data is None:\n \n \n return[]\n cache[filename]=(\n len(data),\n None,\n [line+'\\n'for line in data.splitlines()],\n fullname\n )\n return cache[filename][2]\n \n \n \n if os.path.isabs(filename):\n return[]\n \n for dirname in sys.path:\n try:\n fullname=os.path.join(dirname,basename)\n except(TypeError,AttributeError):\n \n continue\n try:\n stat=os.stat(fullname)\n break\n except OSError:\n pass\n else:\n return[]\n try:\n with tokenize.open(fullname)as fp:\n lines=fp.readlines()\n except(OSError,UnicodeDecodeError,SyntaxError):\n return[]\n if lines and not lines[-1].endswith('\\n'):\n lines[-1]+='\\n'\n size,mtime=stat.st_size,stat.st_mtime\n cache[filename]=size,mtime,lines,fullname\n return lines\n \n \ndef lazycache(filename,module_globals):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if filename in cache:\n if len(cache[filename])==1:\n return True\n else:\n return False\n if not filename or(filename.startswith('<')and filename.endswith('>')):\n return False\n \n if module_globals and '__name__'in module_globals:\n name=module_globals['__name__']\n if(loader :=module_globals.get('__loader__'))is None:\n if spec :=module_globals.get('__spec__'):\n try:\n loader=spec.loader\n except AttributeError:\n pass\n get_source=getattr(loader,'get_source',None)\n \n if name and get_source:\n get_lines=functools.partial(get_source,name)\n cache[filename]=(get_lines,)\n return True\n return False\n",["functools","os","sys","tokenize"]],locale:[".py","''\n\n\n\n\n\n\n\n\n\n\n\nimport sys\nimport encodings\nimport encodings.aliases\nimport re\nimport _collections_abc\nfrom builtins import str as _builtin_str\nimport functools\n\n\n\n\n\n\n\n__all__=[\"getlocale\",\"getdefaultlocale\",\"getpreferredencoding\",\"Error\",\n\"setlocale\",\"resetlocale\",\"localeconv\",\"strcoll\",\"strxfrm\",\n\"str\",\"atof\",\"atoi\",\"format_string\",\"currency\",\n\"normalize\",\"LC_CTYPE\",\"LC_COLLATE\",\"LC_TIME\",\"LC_MONETARY\",\n\"LC_NUMERIC\",\"LC_ALL\",\"CHAR_MAX\",\"getencoding\"]\n\ndef _strcoll(a,b):\n ''\n\n \n return(a >b)-(a .*?)\\))?'\nr'(?P[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]')\n\ndef _format(percent,value,grouping=False,monetary=False,*additional):\n if additional:\n formatted=percent %((value,)+additional)\n else:\n formatted=percent %value\n if percent[-1]in 'eEfFgGdiu':\n formatted=_localize(formatted,grouping,monetary)\n return formatted\n \n \ndef _localize(formatted,grouping=False,monetary=False):\n\n if '.'in formatted:\n seps=0\n parts=formatted.split('.')\n if grouping:\n parts[0],seps=_group(parts[0],monetary=monetary)\n decimal_point=localeconv()[monetary and 'mon_decimal_point'\n or 'decimal_point']\n formatted=decimal_point.join(parts)\n if seps:\n formatted=_strip_padding(formatted,seps)\n else:\n seps=0\n if grouping:\n formatted,seps=_group(formatted,monetary=monetary)\n if seps:\n formatted=_strip_padding(formatted,seps)\n return formatted\n \ndef format_string(f,val,grouping=False,monetary=False):\n ''\n\n\n\n\n \n percents=list(_percent_re.finditer(f))\n new_f=_percent_re.sub('%s',f)\n \n if isinstance(val,_collections_abc.Mapping):\n new_val=[]\n for perc in percents:\n if perc.group()[-1]=='%':\n new_val.append('%')\n else:\n new_val.append(_format(perc.group(),val,grouping,monetary))\n else:\n if not isinstance(val,tuple):\n val=(val,)\n new_val=[]\n i=0\n for perc in percents:\n if perc.group()[-1]=='%':\n new_val.append('%')\n else:\n starcount=perc.group('modifiers').count('*')\n new_val.append(_format(perc.group(),\n val[i],\n grouping,\n monetary,\n *val[i+1:i+1+starcount]))\n i +=(1+starcount)\n val=tuple(new_val)\n \n return new_f %val\n \ndef currency(val,symbol=True,grouping=False,international=False):\n ''\n \n conv=localeconv()\n \n \n digits=conv[international and 'int_frac_digits'or 'frac_digits']\n if digits ==127:\n raise ValueError(\"Currency formatting is not possible using \"\n \"the 'C' locale.\")\n \n s=_localize(f'{abs(val):.{digits}f}',grouping,monetary=True)\n \n s='<'+s+'>'\n \n if symbol:\n smb=conv[international and 'int_curr_symbol'or 'currency_symbol']\n precedes=conv[val <0 and 'n_cs_precedes'or 'p_cs_precedes']\n separated=conv[val <0 and 'n_sep_by_space'or 'p_sep_by_space']\n \n if precedes:\n s=smb+(separated and ' 'or '')+s\n else:\n if international and smb[-1]==' ':\n smb=smb[:-1]\n s=s+(separated and ' 'or '')+smb\n \n sign_pos=conv[val <0 and 'n_sign_posn'or 'p_sign_posn']\n sign=conv[val <0 and 'negative_sign'or 'positive_sign']\n \n if sign_pos ==0:\n s='('+s+')'\n elif sign_pos ==1:\n s=sign+s\n elif sign_pos ==2:\n s=s+sign\n elif sign_pos ==3:\n s=s.replace('<',sign)\n elif sign_pos ==4:\n s=s.replace('>',sign)\n else:\n \n \n s=sign+s\n \n return s.replace('<','').replace('>','')\n \ndef str(val):\n ''\n return _format(\"%.12g\",val)\n \ndef delocalize(string):\n ''\n \n conv=localeconv()\n \n \n ts=conv['thousands_sep']\n if ts:\n string=string.replace(ts,'')\n \n \n dd=conv['decimal_point']\n if dd:\n string=string.replace(dd,'.')\n return string\n \ndef localize(string,grouping=False,monetary=False):\n ''\n return _localize(string,grouping,monetary)\n \ndef atof(string,func=float):\n ''\n return func(delocalize(string))\n \ndef atoi(string):\n ''\n return int(delocalize(string))\n \ndef _test():\n setlocale(LC_ALL,\"\")\n \n s1=format_string(\"%d\",123456789,1)\n print(s1,\"is\",atoi(s1))\n \n s1=str(3.14)\n print(s1,\"is\",atof(s1))\n \n \n \n \n \n \n \n \n_setlocale=setlocale\n\ndef _replace_encoding(code,encoding):\n if '.'in code:\n langname=code[:code.index('.')]\n else:\n langname=code\n \n norm_encoding=encodings.normalize_encoding(encoding)\n \n norm_encoding=encodings.aliases.aliases.get(norm_encoding.lower(),\n norm_encoding)\n \n encoding=norm_encoding\n norm_encoding=norm_encoding.lower()\n if norm_encoding in locale_encoding_alias:\n encoding=locale_encoding_alias[norm_encoding]\n else:\n norm_encoding=norm_encoding.replace('_','')\n norm_encoding=norm_encoding.replace('-','')\n if norm_encoding in locale_encoding_alias:\n encoding=locale_encoding_alias[norm_encoding]\n \n return langname+'.'+encoding\n \ndef _append_modifier(code,modifier):\n if modifier =='euro':\n if '.'not in code:\n return code+'.ISO8859-15'\n _,_,encoding=code.partition('.')\n if encoding in('ISO8859-15','UTF-8'):\n return code\n if encoding =='ISO8859-1':\n return _replace_encoding(code,'ISO8859-15')\n return code+'@'+modifier\n \ndef normalize(localename):\n\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n code=localename.lower()\n if ':'in code:\n \n code=code.replace(':','.')\n if '@'in code:\n code,modifier=code.split('@',1)\n else:\n modifier=''\n if '.'in code:\n langname,encoding=code.split('.')[:2]\n else:\n langname=code\n encoding=''\n \n \n lang_enc=langname\n if encoding:\n norm_encoding=encoding.replace('-','')\n norm_encoding=norm_encoding.replace('_','')\n lang_enc +='.'+norm_encoding\n lookup_name=lang_enc\n if modifier:\n lookup_name +='@'+modifier\n code=locale_alias.get(lookup_name,None)\n if code is not None:\n return code\n \n \n if modifier:\n \n code=locale_alias.get(lang_enc,None)\n if code is not None:\n \n if '@'not in code:\n return _append_modifier(code,modifier)\n if code.split('@',1)[1].lower()==modifier:\n return code\n \n \n if encoding:\n \n lookup_name=langname\n if modifier:\n lookup_name +='@'+modifier\n code=locale_alias.get(lookup_name,None)\n if code is not None:\n \n if '@'not in code:\n return _replace_encoding(code,encoding)\n code,modifier=code.split('@',1)\n return _replace_encoding(code,encoding)+'@'+modifier\n \n if modifier:\n \n code=locale_alias.get(langname,None)\n if code is not None:\n \n if '@'not in code:\n code=_replace_encoding(code,encoding)\n return _append_modifier(code,modifier)\n code,defmod=code.split('@',1)\n if defmod.lower()==modifier:\n return _replace_encoding(code,encoding)+'@'+defmod\n \n return localename\n \ndef _parse_localename(localename):\n\n ''\n\n\n\n\n\n\n\n\n\n\n \n code=normalize(localename)\n if '@'in code:\n \n code,modifier=code.split('@',1)\n if modifier =='euro'and '.'not in code:\n \n \n \n return code,'iso-8859-15'\n \n if '.'in code:\n return tuple(code.split('.')[:2])\n elif code =='C':\n return None,None\n elif code =='UTF-8':\n \n \n return None,'UTF-8'\n raise ValueError('unknown locale: %s'%localename)\n \ndef _build_localename(localetuple):\n\n ''\n\n\n\n\n \n try:\n language,encoding=localetuple\n \n if language is None:\n language='C'\n if encoding is None:\n return language\n else:\n return language+'.'+encoding\n except(TypeError,ValueError):\n raise TypeError('Locale must be None, a string, or an iterable of '\n 'two strings -- language code, encoding.')from None\n \ndef getdefaultlocale(envvars=('LC_ALL','LC_CTYPE','LANG','LANGUAGE')):\n\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n import warnings\n warnings.warn(\n \"Use setlocale(), getencoding() and getlocale() instead\",\n DeprecationWarning,stacklevel=2\n )\n return _getdefaultlocale(envvars)\n \ndef _getdefaultlocale(envvars=('LC_ALL','LC_CTYPE','LANG','LANGUAGE')):\n try:\n \n import _locale\n code,encoding=_locale._getdefaultlocale()\n except(ImportError,AttributeError):\n pass\n else:\n \n if sys.platform ==\"win32\"and code and code[:2]==\"0x\":\n \n code=windows_locale.get(int(code,0))\n \n \n return code,encoding\n \n \n import os\n lookup=os.environ.get\n for variable in envvars:\n localename=lookup(variable,None)\n if localename:\n if variable =='LANGUAGE':\n localename=localename.split(':')[0]\n break\n else:\n localename='C'\n return _parse_localename(localename)\n \n \ndef getlocale(category=LC_CTYPE):\n\n ''\n\n\n\n\n\n\n\n\n\n \n localename=_setlocale(category)\n if category ==LC_ALL and ';'in localename:\n raise TypeError('category LC_ALL is not supported')\n return _parse_localename(localename)\n \ndef setlocale(category,locale=None):\n\n ''\n\n\n\n\n\n\n\n\n \n if locale and not isinstance(locale,_builtin_str):\n \n locale=normalize(_build_localename(locale))\n return _setlocale(category,locale)\n \ndef resetlocale(category=LC_ALL):\n\n ''\n\n\n\n\n \n import warnings\n warnings.warn(\n 'Use locale.setlocale(locale.LC_ALL, \"\") instead',\n DeprecationWarning,stacklevel=2\n )\n \n with warnings.catch_warnings():\n warnings.simplefilter('ignore',category=DeprecationWarning)\n loc=getdefaultlocale()\n \n _setlocale(category,_build_localename(loc))\n \n \ntry:\n from _locale import getencoding\nexcept ImportError:\n def getencoding():\n if hasattr(sys,'getandroidapilevel'):\n \n \n return 'utf-8'\n encoding=_getdefaultlocale()[1]\n if encoding is None:\n \n encoding='utf-8'\n return encoding\n \ntry:\n CODESET\nexcept NameError:\n def getpreferredencoding(do_setlocale=True):\n ''\n if sys.flags.warn_default_encoding:\n import warnings\n warnings.warn(\n \"UTF-8 Mode affects locale.getpreferredencoding(). Consider locale.getencoding() instead.\",\n EncodingWarning,2)\n if sys.flags.utf8_mode:\n return 'utf-8'\n return getencoding()\nelse:\n\n def getpreferredencoding(do_setlocale=True):\n ''\n \n \n if sys.flags.warn_default_encoding:\n import warnings\n warnings.warn(\n \"UTF-8 Mode affects locale.getpreferredencoding(). Consider locale.getencoding() instead.\",\n EncodingWarning,2)\n if sys.flags.utf8_mode:\n return 'utf-8'\n \n if not do_setlocale:\n return getencoding()\n \n old_loc=setlocale(LC_CTYPE)\n try:\n try:\n setlocale(LC_CTYPE,\"\")\n except Error:\n pass\n return getencoding()\n finally:\n setlocale(LC_CTYPE,old_loc)\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \nlocale_encoding_alias={\n\n\n'437':'C',\n'c':'C',\n'en':'ISO8859-1',\n'jis':'JIS7',\n'jis7':'JIS7',\n'ajec':'eucJP',\n'koi8c':'KOI8-C',\n'microsoftcp1251':'CP1251',\n'microsoftcp1255':'CP1255',\n'microsoftcp1256':'CP1256',\n'88591':'ISO8859-1',\n'88592':'ISO8859-2',\n'88595':'ISO8859-5',\n'885915':'ISO8859-15',\n\n\n'ascii':'ISO8859-1',\n'latin_1':'ISO8859-1',\n'iso8859_1':'ISO8859-1',\n'iso8859_10':'ISO8859-10',\n'iso8859_11':'ISO8859-11',\n'iso8859_13':'ISO8859-13',\n'iso8859_14':'ISO8859-14',\n'iso8859_15':'ISO8859-15',\n'iso8859_16':'ISO8859-16',\n'iso8859_2':'ISO8859-2',\n'iso8859_3':'ISO8859-3',\n'iso8859_4':'ISO8859-4',\n'iso8859_5':'ISO8859-5',\n'iso8859_6':'ISO8859-6',\n'iso8859_7':'ISO8859-7',\n'iso8859_8':'ISO8859-8',\n'iso8859_9':'ISO8859-9',\n'iso2022_jp':'JIS7',\n'shift_jis':'SJIS',\n'tactis':'TACTIS',\n'euc_jp':'eucJP',\n'euc_kr':'eucKR',\n'utf_8':'UTF-8',\n'koi8_r':'KOI8-R',\n'koi8_t':'KOI8-T',\n'koi8_u':'KOI8-U',\n'kz1048':'RK1048',\n'cp1251':'CP1251',\n'cp1255':'CP1255',\n'cp1256':'CP1256',\n\n\n\n}\n\nfor k,v in sorted(locale_encoding_alias.items()):\n k=k.replace('_','')\n locale_encoding_alias.setdefault(k,v)\ndel k,v\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlocale_alias={\n'a3':'az_AZ.KOI8-C',\n'a3_az':'az_AZ.KOI8-C',\n'a3_az.koic':'az_AZ.KOI8-C',\n'aa_dj':'aa_DJ.ISO8859-1',\n'aa_er':'aa_ER.UTF-8',\n'aa_et':'aa_ET.UTF-8',\n'af':'af_ZA.ISO8859-1',\n'af_za':'af_ZA.ISO8859-1',\n'agr_pe':'agr_PE.UTF-8',\n'ak_gh':'ak_GH.UTF-8',\n'am':'am_ET.UTF-8',\n'am_et':'am_ET.UTF-8',\n'american':'en_US.ISO8859-1',\n'an_es':'an_ES.ISO8859-15',\n'anp_in':'anp_IN.UTF-8',\n'ar':'ar_AA.ISO8859-6',\n'ar_aa':'ar_AA.ISO8859-6',\n'ar_ae':'ar_AE.ISO8859-6',\n'ar_bh':'ar_BH.ISO8859-6',\n'ar_dz':'ar_DZ.ISO8859-6',\n'ar_eg':'ar_EG.ISO8859-6',\n'ar_in':'ar_IN.UTF-8',\n'ar_iq':'ar_IQ.ISO8859-6',\n'ar_jo':'ar_JO.ISO8859-6',\n'ar_kw':'ar_KW.ISO8859-6',\n'ar_lb':'ar_LB.ISO8859-6',\n'ar_ly':'ar_LY.ISO8859-6',\n'ar_ma':'ar_MA.ISO8859-6',\n'ar_om':'ar_OM.ISO8859-6',\n'ar_qa':'ar_QA.ISO8859-6',\n'ar_sa':'ar_SA.ISO8859-6',\n'ar_sd':'ar_SD.ISO8859-6',\n'ar_ss':'ar_SS.UTF-8',\n'ar_sy':'ar_SY.ISO8859-6',\n'ar_tn':'ar_TN.ISO8859-6',\n'ar_ye':'ar_YE.ISO8859-6',\n'arabic':'ar_AA.ISO8859-6',\n'as':'as_IN.UTF-8',\n'as_in':'as_IN.UTF-8',\n'ast_es':'ast_ES.ISO8859-15',\n'ayc_pe':'ayc_PE.UTF-8',\n'az':'az_AZ.ISO8859-9E',\n'az_az':'az_AZ.ISO8859-9E',\n'az_az.iso88599e':'az_AZ.ISO8859-9E',\n'az_ir':'az_IR.UTF-8',\n'be':'be_BY.CP1251',\n'be@latin':'be_BY.UTF-8@latin',\n'be_bg.utf8':'bg_BG.UTF-8',\n'be_by':'be_BY.CP1251',\n'be_by@latin':'be_BY.UTF-8@latin',\n'bem_zm':'bem_ZM.UTF-8',\n'ber_dz':'ber_DZ.UTF-8',\n'ber_ma':'ber_MA.UTF-8',\n'bg':'bg_BG.CP1251',\n'bg_bg':'bg_BG.CP1251',\n'bhb_in.utf8':'bhb_IN.UTF-8',\n'bho_in':'bho_IN.UTF-8',\n'bho_np':'bho_NP.UTF-8',\n'bi_vu':'bi_VU.UTF-8',\n'bn_bd':'bn_BD.UTF-8',\n'bn_in':'bn_IN.UTF-8',\n'bo_cn':'bo_CN.UTF-8',\n'bo_in':'bo_IN.UTF-8',\n'bokmal':'nb_NO.ISO8859-1',\n'bokm\\xe5l':'nb_NO.ISO8859-1',\n'br':'br_FR.ISO8859-1',\n'br_fr':'br_FR.ISO8859-1',\n'brx_in':'brx_IN.UTF-8',\n'bs':'bs_BA.ISO8859-2',\n'bs_ba':'bs_BA.ISO8859-2',\n'bulgarian':'bg_BG.CP1251',\n'byn_er':'byn_ER.UTF-8',\n'c':'C',\n'c-french':'fr_CA.ISO8859-1',\n'c.ascii':'C',\n'c.en':'C',\n'c.iso88591':'en_US.ISO8859-1',\n'c.utf8':'C.UTF-8',\n'c_c':'C',\n'c_c.c':'C',\n'ca':'ca_ES.ISO8859-1',\n'ca_ad':'ca_AD.ISO8859-1',\n'ca_es':'ca_ES.ISO8859-1',\n'ca_es@valencia':'ca_ES.UTF-8@valencia',\n'ca_fr':'ca_FR.ISO8859-1',\n'ca_it':'ca_IT.ISO8859-1',\n'catalan':'ca_ES.ISO8859-1',\n'ce_ru':'ce_RU.UTF-8',\n'cextend':'en_US.ISO8859-1',\n'chinese-s':'zh_CN.eucCN',\n'chinese-t':'zh_TW.eucTW',\n'chr_us':'chr_US.UTF-8',\n'ckb_iq':'ckb_IQ.UTF-8',\n'cmn_tw':'cmn_TW.UTF-8',\n'crh_ua':'crh_UA.UTF-8',\n'croatian':'hr_HR.ISO8859-2',\n'cs':'cs_CZ.ISO8859-2',\n'cs_cs':'cs_CZ.ISO8859-2',\n'cs_cz':'cs_CZ.ISO8859-2',\n'csb_pl':'csb_PL.UTF-8',\n'cv_ru':'cv_RU.UTF-8',\n'cy':'cy_GB.ISO8859-1',\n'cy_gb':'cy_GB.ISO8859-1',\n'cz':'cs_CZ.ISO8859-2',\n'cz_cz':'cs_CZ.ISO8859-2',\n'czech':'cs_CZ.ISO8859-2',\n'da':'da_DK.ISO8859-1',\n'da_dk':'da_DK.ISO8859-1',\n'danish':'da_DK.ISO8859-1',\n'dansk':'da_DK.ISO8859-1',\n'de':'de_DE.ISO8859-1',\n'de_at':'de_AT.ISO8859-1',\n'de_be':'de_BE.ISO8859-1',\n'de_ch':'de_CH.ISO8859-1',\n'de_de':'de_DE.ISO8859-1',\n'de_it':'de_IT.ISO8859-1',\n'de_li.utf8':'de_LI.UTF-8',\n'de_lu':'de_LU.ISO8859-1',\n'deutsch':'de_DE.ISO8859-1',\n'doi_in':'doi_IN.UTF-8',\n'dutch':'nl_NL.ISO8859-1',\n'dutch.iso88591':'nl_BE.ISO8859-1',\n'dv_mv':'dv_MV.UTF-8',\n'dz_bt':'dz_BT.UTF-8',\n'ee':'ee_EE.ISO8859-4',\n'ee_ee':'ee_EE.ISO8859-4',\n'eesti':'et_EE.ISO8859-1',\n'el':'el_GR.ISO8859-7',\n'el_cy':'el_CY.ISO8859-7',\n'el_gr':'el_GR.ISO8859-7',\n'el_gr@euro':'el_GR.ISO8859-15',\n'en':'en_US.ISO8859-1',\n'en_ag':'en_AG.UTF-8',\n'en_au':'en_AU.ISO8859-1',\n'en_be':'en_BE.ISO8859-1',\n'en_bw':'en_BW.ISO8859-1',\n'en_ca':'en_CA.ISO8859-1',\n'en_dk':'en_DK.ISO8859-1',\n'en_dl.utf8':'en_DL.UTF-8',\n'en_gb':'en_GB.ISO8859-1',\n'en_hk':'en_HK.ISO8859-1',\n'en_ie':'en_IE.ISO8859-1',\n'en_il':'en_IL.UTF-8',\n'en_in':'en_IN.ISO8859-1',\n'en_ng':'en_NG.UTF-8',\n'en_nz':'en_NZ.ISO8859-1',\n'en_ph':'en_PH.ISO8859-1',\n'en_sc.utf8':'en_SC.UTF-8',\n'en_sg':'en_SG.ISO8859-1',\n'en_uk':'en_GB.ISO8859-1',\n'en_us':'en_US.ISO8859-1',\n'en_us@euro@euro':'en_US.ISO8859-15',\n'en_za':'en_ZA.ISO8859-1',\n'en_zm':'en_ZM.UTF-8',\n'en_zw':'en_ZW.ISO8859-1',\n'en_zw.utf8':'en_ZS.UTF-8',\n'eng_gb':'en_GB.ISO8859-1',\n'english':'en_EN.ISO8859-1',\n'english.iso88591':'en_US.ISO8859-1',\n'english_uk':'en_GB.ISO8859-1',\n'english_united-states':'en_US.ISO8859-1',\n'english_united-states.437':'C',\n'english_us':'en_US.ISO8859-1',\n'eo':'eo_XX.ISO8859-3',\n'eo.utf8':'eo.UTF-8',\n'eo_eo':'eo_EO.ISO8859-3',\n'eo_us.utf8':'eo_US.UTF-8',\n'eo_xx':'eo_XX.ISO8859-3',\n'es':'es_ES.ISO8859-1',\n'es_ar':'es_AR.ISO8859-1',\n'es_bo':'es_BO.ISO8859-1',\n'es_cl':'es_CL.ISO8859-1',\n'es_co':'es_CO.ISO8859-1',\n'es_cr':'es_CR.ISO8859-1',\n'es_cu':'es_CU.UTF-8',\n'es_do':'es_DO.ISO8859-1',\n'es_ec':'es_EC.ISO8859-1',\n'es_es':'es_ES.ISO8859-1',\n'es_gt':'es_GT.ISO8859-1',\n'es_hn':'es_HN.ISO8859-1',\n'es_mx':'es_MX.ISO8859-1',\n'es_ni':'es_NI.ISO8859-1',\n'es_pa':'es_PA.ISO8859-1',\n'es_pe':'es_PE.ISO8859-1',\n'es_pr':'es_PR.ISO8859-1',\n'es_py':'es_PY.ISO8859-1',\n'es_sv':'es_SV.ISO8859-1',\n'es_us':'es_US.ISO8859-1',\n'es_uy':'es_UY.ISO8859-1',\n'es_ve':'es_VE.ISO8859-1',\n'estonian':'et_EE.ISO8859-1',\n'et':'et_EE.ISO8859-15',\n'et_ee':'et_EE.ISO8859-15',\n'eu':'eu_ES.ISO8859-1',\n'eu_es':'eu_ES.ISO8859-1',\n'eu_fr':'eu_FR.ISO8859-1',\n'fa':'fa_IR.UTF-8',\n'fa_ir':'fa_IR.UTF-8',\n'fa_ir.isiri3342':'fa_IR.ISIRI-3342',\n'ff_sn':'ff_SN.UTF-8',\n'fi':'fi_FI.ISO8859-15',\n'fi_fi':'fi_FI.ISO8859-15',\n'fil_ph':'fil_PH.UTF-8',\n'finnish':'fi_FI.ISO8859-1',\n'fo':'fo_FO.ISO8859-1',\n'fo_fo':'fo_FO.ISO8859-1',\n'fr':'fr_FR.ISO8859-1',\n'fr_be':'fr_BE.ISO8859-1',\n'fr_ca':'fr_CA.ISO8859-1',\n'fr_ch':'fr_CH.ISO8859-1',\n'fr_fr':'fr_FR.ISO8859-1',\n'fr_lu':'fr_LU.ISO8859-1',\n'fran\\xe7ais':'fr_FR.ISO8859-1',\n'fre_fr':'fr_FR.ISO8859-1',\n'french':'fr_FR.ISO8859-1',\n'french.iso88591':'fr_CH.ISO8859-1',\n'french_france':'fr_FR.ISO8859-1',\n'fur_it':'fur_IT.UTF-8',\n'fy_de':'fy_DE.UTF-8',\n'fy_nl':'fy_NL.UTF-8',\n'ga':'ga_IE.ISO8859-1',\n'ga_ie':'ga_IE.ISO8859-1',\n'galego':'gl_ES.ISO8859-1',\n'galician':'gl_ES.ISO8859-1',\n'gd':'gd_GB.ISO8859-1',\n'gd_gb':'gd_GB.ISO8859-1',\n'ger_de':'de_DE.ISO8859-1',\n'german':'de_DE.ISO8859-1',\n'german.iso88591':'de_CH.ISO8859-1',\n'german_germany':'de_DE.ISO8859-1',\n'gez_er':'gez_ER.UTF-8',\n'gez_et':'gez_ET.UTF-8',\n'gl':'gl_ES.ISO8859-1',\n'gl_es':'gl_ES.ISO8859-1',\n'greek':'el_GR.ISO8859-7',\n'gu_in':'gu_IN.UTF-8',\n'gv':'gv_GB.ISO8859-1',\n'gv_gb':'gv_GB.ISO8859-1',\n'ha_ng':'ha_NG.UTF-8',\n'hak_tw':'hak_TW.UTF-8',\n'he':'he_IL.ISO8859-8',\n'he_il':'he_IL.ISO8859-8',\n'hebrew':'he_IL.ISO8859-8',\n'hi':'hi_IN.ISCII-DEV',\n'hi_in':'hi_IN.ISCII-DEV',\n'hi_in.isciidev':'hi_IN.ISCII-DEV',\n'hif_fj':'hif_FJ.UTF-8',\n'hne':'hne_IN.UTF-8',\n'hne_in':'hne_IN.UTF-8',\n'hr':'hr_HR.ISO8859-2',\n'hr_hr':'hr_HR.ISO8859-2',\n'hrvatski':'hr_HR.ISO8859-2',\n'hsb_de':'hsb_DE.ISO8859-2',\n'ht_ht':'ht_HT.UTF-8',\n'hu':'hu_HU.ISO8859-2',\n'hu_hu':'hu_HU.ISO8859-2',\n'hungarian':'hu_HU.ISO8859-2',\n'hy_am':'hy_AM.UTF-8',\n'hy_am.armscii8':'hy_AM.ARMSCII_8',\n'ia':'ia.UTF-8',\n'ia_fr':'ia_FR.UTF-8',\n'icelandic':'is_IS.ISO8859-1',\n'id':'id_ID.ISO8859-1',\n'id_id':'id_ID.ISO8859-1',\n'ig_ng':'ig_NG.UTF-8',\n'ik_ca':'ik_CA.UTF-8',\n'in':'id_ID.ISO8859-1',\n'in_id':'id_ID.ISO8859-1',\n'is':'is_IS.ISO8859-1',\n'is_is':'is_IS.ISO8859-1',\n'iso-8859-1':'en_US.ISO8859-1',\n'iso-8859-15':'en_US.ISO8859-15',\n'iso8859-1':'en_US.ISO8859-1',\n'iso8859-15':'en_US.ISO8859-15',\n'iso_8859_1':'en_US.ISO8859-1',\n'iso_8859_15':'en_US.ISO8859-15',\n'it':'it_IT.ISO8859-1',\n'it_ch':'it_CH.ISO8859-1',\n'it_it':'it_IT.ISO8859-1',\n'italian':'it_IT.ISO8859-1',\n'iu':'iu_CA.NUNACOM-8',\n'iu_ca':'iu_CA.NUNACOM-8',\n'iu_ca.nunacom8':'iu_CA.NUNACOM-8',\n'iw':'he_IL.ISO8859-8',\n'iw_il':'he_IL.ISO8859-8',\n'iw_il.utf8':'iw_IL.UTF-8',\n'ja':'ja_JP.eucJP',\n'ja_jp':'ja_JP.eucJP',\n'ja_jp.euc':'ja_JP.eucJP',\n'ja_jp.mscode':'ja_JP.SJIS',\n'ja_jp.pck':'ja_JP.SJIS',\n'japan':'ja_JP.eucJP',\n'japanese':'ja_JP.eucJP',\n'japanese-euc':'ja_JP.eucJP',\n'japanese.euc':'ja_JP.eucJP',\n'jp_jp':'ja_JP.eucJP',\n'ka':'ka_GE.GEORGIAN-ACADEMY',\n'ka_ge':'ka_GE.GEORGIAN-ACADEMY',\n'ka_ge.georgianacademy':'ka_GE.GEORGIAN-ACADEMY',\n'ka_ge.georgianps':'ka_GE.GEORGIAN-PS',\n'ka_ge.georgianrs':'ka_GE.GEORGIAN-ACADEMY',\n'kab_dz':'kab_DZ.UTF-8',\n'kk_kz':'kk_KZ.ptcp154',\n'kl':'kl_GL.ISO8859-1',\n'kl_gl':'kl_GL.ISO8859-1',\n'km_kh':'km_KH.UTF-8',\n'kn':'kn_IN.UTF-8',\n'kn_in':'kn_IN.UTF-8',\n'ko':'ko_KR.eucKR',\n'ko_kr':'ko_KR.eucKR',\n'ko_kr.euc':'ko_KR.eucKR',\n'kok_in':'kok_IN.UTF-8',\n'korean':'ko_KR.eucKR',\n'korean.euc':'ko_KR.eucKR',\n'ks':'ks_IN.UTF-8',\n'ks_in':'ks_IN.UTF-8',\n'ks_in@devanagari.utf8':'ks_IN.UTF-8@devanagari',\n'ku_tr':'ku_TR.ISO8859-9',\n'kw':'kw_GB.ISO8859-1',\n'kw_gb':'kw_GB.ISO8859-1',\n'ky':'ky_KG.UTF-8',\n'ky_kg':'ky_KG.UTF-8',\n'lb_lu':'lb_LU.UTF-8',\n'lg_ug':'lg_UG.ISO8859-10',\n'li_be':'li_BE.UTF-8',\n'li_nl':'li_NL.UTF-8',\n'lij_it':'lij_IT.UTF-8',\n'lithuanian':'lt_LT.ISO8859-13',\n'ln_cd':'ln_CD.UTF-8',\n'lo':'lo_LA.MULELAO-1',\n'lo_la':'lo_LA.MULELAO-1',\n'lo_la.cp1133':'lo_LA.IBM-CP1133',\n'lo_la.ibmcp1133':'lo_LA.IBM-CP1133',\n'lo_la.mulelao1':'lo_LA.MULELAO-1',\n'lt':'lt_LT.ISO8859-13',\n'lt_lt':'lt_LT.ISO8859-13',\n'lv':'lv_LV.ISO8859-13',\n'lv_lv':'lv_LV.ISO8859-13',\n'lzh_tw':'lzh_TW.UTF-8',\n'mag_in':'mag_IN.UTF-8',\n'mai':'mai_IN.UTF-8',\n'mai_in':'mai_IN.UTF-8',\n'mai_np':'mai_NP.UTF-8',\n'mfe_mu':'mfe_MU.UTF-8',\n'mg_mg':'mg_MG.ISO8859-15',\n'mhr_ru':'mhr_RU.UTF-8',\n'mi':'mi_NZ.ISO8859-1',\n'mi_nz':'mi_NZ.ISO8859-1',\n'miq_ni':'miq_NI.UTF-8',\n'mjw_in':'mjw_IN.UTF-8',\n'mk':'mk_MK.ISO8859-5',\n'mk_mk':'mk_MK.ISO8859-5',\n'ml':'ml_IN.UTF-8',\n'ml_in':'ml_IN.UTF-8',\n'mn_mn':'mn_MN.UTF-8',\n'mni_in':'mni_IN.UTF-8',\n'mr':'mr_IN.UTF-8',\n'mr_in':'mr_IN.UTF-8',\n'ms':'ms_MY.ISO8859-1',\n'ms_my':'ms_MY.ISO8859-1',\n'mt':'mt_MT.ISO8859-3',\n'mt_mt':'mt_MT.ISO8859-3',\n'my_mm':'my_MM.UTF-8',\n'nan_tw':'nan_TW.UTF-8',\n'nb':'nb_NO.ISO8859-1',\n'nb_no':'nb_NO.ISO8859-1',\n'nds_de':'nds_DE.UTF-8',\n'nds_nl':'nds_NL.UTF-8',\n'ne_np':'ne_NP.UTF-8',\n'nhn_mx':'nhn_MX.UTF-8',\n'niu_nu':'niu_NU.UTF-8',\n'niu_nz':'niu_NZ.UTF-8',\n'nl':'nl_NL.ISO8859-1',\n'nl_aw':'nl_AW.UTF-8',\n'nl_be':'nl_BE.ISO8859-1',\n'nl_nl':'nl_NL.ISO8859-1',\n'nn':'nn_NO.ISO8859-1',\n'nn_no':'nn_NO.ISO8859-1',\n'no':'no_NO.ISO8859-1',\n'no@nynorsk':'ny_NO.ISO8859-1',\n'no_no':'no_NO.ISO8859-1',\n'no_no.iso88591@bokmal':'no_NO.ISO8859-1',\n'no_no.iso88591@nynorsk':'no_NO.ISO8859-1',\n'norwegian':'no_NO.ISO8859-1',\n'nr':'nr_ZA.ISO8859-1',\n'nr_za':'nr_ZA.ISO8859-1',\n'nso':'nso_ZA.ISO8859-15',\n'nso_za':'nso_ZA.ISO8859-15',\n'ny':'ny_NO.ISO8859-1',\n'ny_no':'ny_NO.ISO8859-1',\n'nynorsk':'nn_NO.ISO8859-1',\n'oc':'oc_FR.ISO8859-1',\n'oc_fr':'oc_FR.ISO8859-1',\n'om_et':'om_ET.UTF-8',\n'om_ke':'om_KE.ISO8859-1',\n'or':'or_IN.UTF-8',\n'or_in':'or_IN.UTF-8',\n'os_ru':'os_RU.UTF-8',\n'pa':'pa_IN.UTF-8',\n'pa_in':'pa_IN.UTF-8',\n'pa_pk':'pa_PK.UTF-8',\n'pap_an':'pap_AN.UTF-8',\n'pap_aw':'pap_AW.UTF-8',\n'pap_cw':'pap_CW.UTF-8',\n'pd':'pd_US.ISO8859-1',\n'pd_de':'pd_DE.ISO8859-1',\n'pd_us':'pd_US.ISO8859-1',\n'ph':'ph_PH.ISO8859-1',\n'ph_ph':'ph_PH.ISO8859-1',\n'pl':'pl_PL.ISO8859-2',\n'pl_pl':'pl_PL.ISO8859-2',\n'polish':'pl_PL.ISO8859-2',\n'portuguese':'pt_PT.ISO8859-1',\n'portuguese_brazil':'pt_BR.ISO8859-1',\n'posix':'C',\n'posix-utf2':'C',\n'pp':'pp_AN.ISO8859-1',\n'pp_an':'pp_AN.ISO8859-1',\n'ps_af':'ps_AF.UTF-8',\n'pt':'pt_PT.ISO8859-1',\n'pt_br':'pt_BR.ISO8859-1',\n'pt_pt':'pt_PT.ISO8859-1',\n'quz_pe':'quz_PE.UTF-8',\n'raj_in':'raj_IN.UTF-8',\n'ro':'ro_RO.ISO8859-2',\n'ro_ro':'ro_RO.ISO8859-2',\n'romanian':'ro_RO.ISO8859-2',\n'ru':'ru_RU.UTF-8',\n'ru_ru':'ru_RU.UTF-8',\n'ru_ua':'ru_UA.KOI8-U',\n'rumanian':'ro_RO.ISO8859-2',\n'russian':'ru_RU.KOI8-R',\n'rw':'rw_RW.ISO8859-1',\n'rw_rw':'rw_RW.ISO8859-1',\n'sa_in':'sa_IN.UTF-8',\n'sat_in':'sat_IN.UTF-8',\n'sc_it':'sc_IT.UTF-8',\n'sd':'sd_IN.UTF-8',\n'sd_in':'sd_IN.UTF-8',\n'sd_in@devanagari.utf8':'sd_IN.UTF-8@devanagari',\n'sd_pk':'sd_PK.UTF-8',\n'se_no':'se_NO.UTF-8',\n'serbocroatian':'sr_RS.UTF-8@latin',\n'sgs_lt':'sgs_LT.UTF-8',\n'sh':'sr_RS.UTF-8@latin',\n'sh_ba.iso88592@bosnia':'sr_CS.ISO8859-2',\n'sh_hr':'sh_HR.ISO8859-2',\n'sh_hr.iso88592':'hr_HR.ISO8859-2',\n'sh_sp':'sr_CS.ISO8859-2',\n'sh_yu':'sr_RS.UTF-8@latin',\n'shn_mm':'shn_MM.UTF-8',\n'shs_ca':'shs_CA.UTF-8',\n'si':'si_LK.UTF-8',\n'si_lk':'si_LK.UTF-8',\n'sid_et':'sid_ET.UTF-8',\n'sinhala':'si_LK.UTF-8',\n'sk':'sk_SK.ISO8859-2',\n'sk_sk':'sk_SK.ISO8859-2',\n'sl':'sl_SI.ISO8859-2',\n'sl_cs':'sl_CS.ISO8859-2',\n'sl_si':'sl_SI.ISO8859-2',\n'slovak':'sk_SK.ISO8859-2',\n'slovene':'sl_SI.ISO8859-2',\n'slovenian':'sl_SI.ISO8859-2',\n'sm_ws':'sm_WS.UTF-8',\n'so_dj':'so_DJ.ISO8859-1',\n'so_et':'so_ET.UTF-8',\n'so_ke':'so_KE.ISO8859-1',\n'so_so':'so_SO.ISO8859-1',\n'sp':'sr_CS.ISO8859-5',\n'sp_yu':'sr_CS.ISO8859-5',\n'spanish':'es_ES.ISO8859-1',\n'spanish_spain':'es_ES.ISO8859-1',\n'sq':'sq_AL.ISO8859-2',\n'sq_al':'sq_AL.ISO8859-2',\n'sq_mk':'sq_MK.UTF-8',\n'sr':'sr_RS.UTF-8',\n'sr@cyrillic':'sr_RS.UTF-8',\n'sr@latn':'sr_CS.UTF-8@latin',\n'sr_cs':'sr_CS.UTF-8',\n'sr_cs.iso88592@latn':'sr_CS.ISO8859-2',\n'sr_cs@latn':'sr_CS.UTF-8@latin',\n'sr_me':'sr_ME.UTF-8',\n'sr_rs':'sr_RS.UTF-8',\n'sr_rs@latn':'sr_RS.UTF-8@latin',\n'sr_sp':'sr_CS.ISO8859-2',\n'sr_yu':'sr_RS.UTF-8@latin',\n'sr_yu.cp1251@cyrillic':'sr_CS.CP1251',\n'sr_yu.iso88592':'sr_CS.ISO8859-2',\n'sr_yu.iso88595':'sr_CS.ISO8859-5',\n'sr_yu.iso88595@cyrillic':'sr_CS.ISO8859-5',\n'sr_yu.microsoftcp1251@cyrillic':'sr_CS.CP1251',\n'sr_yu.utf8':'sr_RS.UTF-8',\n'sr_yu.utf8@cyrillic':'sr_RS.UTF-8',\n'sr_yu@cyrillic':'sr_RS.UTF-8',\n'ss':'ss_ZA.ISO8859-1',\n'ss_za':'ss_ZA.ISO8859-1',\n'st':'st_ZA.ISO8859-1',\n'st_za':'st_ZA.ISO8859-1',\n'sv':'sv_SE.ISO8859-1',\n'sv_fi':'sv_FI.ISO8859-1',\n'sv_se':'sv_SE.ISO8859-1',\n'sw_ke':'sw_KE.UTF-8',\n'sw_tz':'sw_TZ.UTF-8',\n'swedish':'sv_SE.ISO8859-1',\n'szl_pl':'szl_PL.UTF-8',\n'ta':'ta_IN.TSCII-0',\n'ta_in':'ta_IN.TSCII-0',\n'ta_in.tscii':'ta_IN.TSCII-0',\n'ta_in.tscii0':'ta_IN.TSCII-0',\n'ta_lk':'ta_LK.UTF-8',\n'tcy_in.utf8':'tcy_IN.UTF-8',\n'te':'te_IN.UTF-8',\n'te_in':'te_IN.UTF-8',\n'tg':'tg_TJ.KOI8-C',\n'tg_tj':'tg_TJ.KOI8-C',\n'th':'th_TH.ISO8859-11',\n'th_th':'th_TH.ISO8859-11',\n'th_th.tactis':'th_TH.TIS620',\n'th_th.tis620':'th_TH.TIS620',\n'thai':'th_TH.ISO8859-11',\n'the_np':'the_NP.UTF-8',\n'ti_er':'ti_ER.UTF-8',\n'ti_et':'ti_ET.UTF-8',\n'tig_er':'tig_ER.UTF-8',\n'tk_tm':'tk_TM.UTF-8',\n'tl':'tl_PH.ISO8859-1',\n'tl_ph':'tl_PH.ISO8859-1',\n'tn':'tn_ZA.ISO8859-15',\n'tn_za':'tn_ZA.ISO8859-15',\n'to_to':'to_TO.UTF-8',\n'tpi_pg':'tpi_PG.UTF-8',\n'tr':'tr_TR.ISO8859-9',\n'tr_cy':'tr_CY.ISO8859-9',\n'tr_tr':'tr_TR.ISO8859-9',\n'ts':'ts_ZA.ISO8859-1',\n'ts_za':'ts_ZA.ISO8859-1',\n'tt':'tt_RU.TATAR-CYR',\n'tt_ru':'tt_RU.TATAR-CYR',\n'tt_ru.tatarcyr':'tt_RU.TATAR-CYR',\n'tt_ru@iqtelif':'tt_RU.UTF-8@iqtelif',\n'turkish':'tr_TR.ISO8859-9',\n'ug_cn':'ug_CN.UTF-8',\n'uk':'uk_UA.KOI8-U',\n'uk_ua':'uk_UA.KOI8-U',\n'univ':'en_US.utf',\n'universal':'en_US.utf',\n'universal.utf8@ucs4':'en_US.UTF-8',\n'unm_us':'unm_US.UTF-8',\n'ur':'ur_PK.CP1256',\n'ur_in':'ur_IN.UTF-8',\n'ur_pk':'ur_PK.CP1256',\n'uz':'uz_UZ.UTF-8',\n'uz_uz':'uz_UZ.UTF-8',\n'uz_uz@cyrillic':'uz_UZ.UTF-8',\n've':'ve_ZA.UTF-8',\n've_za':'ve_ZA.UTF-8',\n'vi':'vi_VN.TCVN',\n'vi_vn':'vi_VN.TCVN',\n'vi_vn.tcvn':'vi_VN.TCVN',\n'vi_vn.tcvn5712':'vi_VN.TCVN',\n'vi_vn.viscii':'vi_VN.VISCII',\n'vi_vn.viscii111':'vi_VN.VISCII',\n'wa':'wa_BE.ISO8859-1',\n'wa_be':'wa_BE.ISO8859-1',\n'wae_ch':'wae_CH.UTF-8',\n'wal_et':'wal_ET.UTF-8',\n'wo_sn':'wo_SN.UTF-8',\n'xh':'xh_ZA.ISO8859-1',\n'xh_za':'xh_ZA.ISO8859-1',\n'yi':'yi_US.CP1255',\n'yi_us':'yi_US.CP1255',\n'yo_ng':'yo_NG.UTF-8',\n'yue_hk':'yue_HK.UTF-8',\n'yuw_pg':'yuw_PG.UTF-8',\n'zh':'zh_CN.eucCN',\n'zh_cn':'zh_CN.gb2312',\n'zh_cn.big5':'zh_TW.big5',\n'zh_cn.euc':'zh_CN.eucCN',\n'zh_hk':'zh_HK.big5hkscs',\n'zh_hk.big5hk':'zh_HK.big5hkscs',\n'zh_sg':'zh_SG.GB2312',\n'zh_sg.gbk':'zh_SG.GBK',\n'zh_tw':'zh_TW.big5',\n'zh_tw.euc':'zh_TW.eucTW',\n'zh_tw.euctw':'zh_TW.eucTW',\n'zu':'zu_ZA.ISO8859-1',\n'zu_za':'zu_ZA.ISO8859-1',\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nwindows_locale={\n0x0436:\"af_ZA\",\n0x041c:\"sq_AL\",\n0x0484:\"gsw_FR\",\n0x045e:\"am_ET\",\n0x0401:\"ar_SA\",\n0x0801:\"ar_IQ\",\n0x0c01:\"ar_EG\",\n0x1001:\"ar_LY\",\n0x1401:\"ar_DZ\",\n0x1801:\"ar_MA\",\n0x1c01:\"ar_TN\",\n0x2001:\"ar_OM\",\n0x2401:\"ar_YE\",\n0x2801:\"ar_SY\",\n0x2c01:\"ar_JO\",\n0x3001:\"ar_LB\",\n0x3401:\"ar_KW\",\n0x3801:\"ar_AE\",\n0x3c01:\"ar_BH\",\n0x4001:\"ar_QA\",\n0x042b:\"hy_AM\",\n0x044d:\"as_IN\",\n0x042c:\"az_AZ\",\n0x082c:\"az_AZ\",\n0x046d:\"ba_RU\",\n0x042d:\"eu_ES\",\n0x0423:\"be_BY\",\n0x0445:\"bn_IN\",\n0x201a:\"bs_BA\",\n0x141a:\"bs_BA\",\n0x047e:\"br_FR\",\n0x0402:\"bg_BG\",\n\n0x0403:\"ca_ES\",\n0x0004:\"zh_CHS\",\n0x0404:\"zh_TW\",\n0x0804:\"zh_CN\",\n0x0c04:\"zh_HK\",\n0x1004:\"zh_SG\",\n0x1404:\"zh_MO\",\n0x7c04:\"zh_CHT\",\n0x0483:\"co_FR\",\n0x041a:\"hr_HR\",\n0x101a:\"hr_BA\",\n0x0405:\"cs_CZ\",\n0x0406:\"da_DK\",\n0x048c:\"gbz_AF\",\n0x0465:\"div_MV\",\n0x0413:\"nl_NL\",\n0x0813:\"nl_BE\",\n0x0409:\"en_US\",\n0x0809:\"en_GB\",\n0x0c09:\"en_AU\",\n0x1009:\"en_CA\",\n0x1409:\"en_NZ\",\n0x1809:\"en_IE\",\n0x1c09:\"en_ZA\",\n0x2009:\"en_JA\",\n0x2409:\"en_CB\",\n0x2809:\"en_BZ\",\n0x2c09:\"en_TT\",\n0x3009:\"en_ZW\",\n0x3409:\"en_PH\",\n0x4009:\"en_IN\",\n0x4409:\"en_MY\",\n0x4809:\"en_IN\",\n0x0425:\"et_EE\",\n0x0438:\"fo_FO\",\n0x0464:\"fil_PH\",\n0x040b:\"fi_FI\",\n0x040c:\"fr_FR\",\n0x080c:\"fr_BE\",\n0x0c0c:\"fr_CA\",\n0x100c:\"fr_CH\",\n0x140c:\"fr_LU\",\n0x180c:\"fr_MC\",\n0x0462:\"fy_NL\",\n0x0456:\"gl_ES\",\n0x0437:\"ka_GE\",\n0x0407:\"de_DE\",\n0x0807:\"de_CH\",\n0x0c07:\"de_AT\",\n0x1007:\"de_LU\",\n0x1407:\"de_LI\",\n0x0408:\"el_GR\",\n0x046f:\"kl_GL\",\n0x0447:\"gu_IN\",\n0x0468:\"ha_NG\",\n0x040d:\"he_IL\",\n0x0439:\"hi_IN\",\n0x040e:\"hu_HU\",\n0x040f:\"is_IS\",\n0x0421:\"id_ID\",\n0x045d:\"iu_CA\",\n0x085d:\"iu_CA\",\n0x083c:\"ga_IE\",\n0x0410:\"it_IT\",\n0x0810:\"it_CH\",\n0x0411:\"ja_JP\",\n0x044b:\"kn_IN\",\n0x043f:\"kk_KZ\",\n0x0453:\"kh_KH\",\n0x0486:\"qut_GT\",\n0x0487:\"rw_RW\",\n0x0457:\"kok_IN\",\n0x0412:\"ko_KR\",\n0x0440:\"ky_KG\",\n0x0454:\"lo_LA\",\n0x0426:\"lv_LV\",\n0x0427:\"lt_LT\",\n0x082e:\"dsb_DE\",\n0x046e:\"lb_LU\",\n0x042f:\"mk_MK\",\n0x043e:\"ms_MY\",\n0x083e:\"ms_BN\",\n0x044c:\"ml_IN\",\n0x043a:\"mt_MT\",\n0x0481:\"mi_NZ\",\n0x047a:\"arn_CL\",\n0x044e:\"mr_IN\",\n0x047c:\"moh_CA\",\n0x0450:\"mn_MN\",\n0x0850:\"mn_CN\",\n0x0461:\"ne_NP\",\n0x0414:\"nb_NO\",\n0x0814:\"nn_NO\",\n0x0482:\"oc_FR\",\n0x0448:\"or_IN\",\n0x0463:\"ps_AF\",\n0x0429:\"fa_IR\",\n0x0415:\"pl_PL\",\n0x0416:\"pt_BR\",\n0x0816:\"pt_PT\",\n0x0446:\"pa_IN\",\n0x046b:\"quz_BO\",\n0x086b:\"quz_EC\",\n0x0c6b:\"quz_PE\",\n0x0418:\"ro_RO\",\n0x0417:\"rm_CH\",\n0x0419:\"ru_RU\",\n0x243b:\"smn_FI\",\n0x103b:\"smj_NO\",\n0x143b:\"smj_SE\",\n0x043b:\"se_NO\",\n0x083b:\"se_SE\",\n0x0c3b:\"se_FI\",\n0x203b:\"sms_FI\",\n0x183b:\"sma_NO\",\n0x1c3b:\"sma_SE\",\n0x044f:\"sa_IN\",\n0x0c1a:\"sr_SP\",\n0x1c1a:\"sr_BA\",\n0x081a:\"sr_SP\",\n0x181a:\"sr_BA\",\n0x045b:\"si_LK\",\n0x046c:\"ns_ZA\",\n0x0432:\"tn_ZA\",\n0x041b:\"sk_SK\",\n0x0424:\"sl_SI\",\n0x040a:\"es_ES\",\n0x080a:\"es_MX\",\n0x0c0a:\"es_ES\",\n0x100a:\"es_GT\",\n0x140a:\"es_CR\",\n0x180a:\"es_PA\",\n0x1c0a:\"es_DO\",\n0x200a:\"es_VE\",\n0x240a:\"es_CO\",\n0x280a:\"es_PE\",\n0x2c0a:\"es_AR\",\n0x300a:\"es_EC\",\n0x340a:\"es_CL\",\n0x380a:\"es_UR\",\n0x3c0a:\"es_PY\",\n0x400a:\"es_BO\",\n0x440a:\"es_SV\",\n0x480a:\"es_HN\",\n0x4c0a:\"es_NI\",\n0x500a:\"es_PR\",\n0x540a:\"es_US\",\n\n0x0441:\"sw_KE\",\n0x041d:\"sv_SE\",\n0x081d:\"sv_FI\",\n0x045a:\"syr_SY\",\n0x0428:\"tg_TJ\",\n0x085f:\"tmz_DZ\",\n0x0449:\"ta_IN\",\n0x0444:\"tt_RU\",\n0x044a:\"te_IN\",\n0x041e:\"th_TH\",\n0x0851:\"bo_BT\",\n0x0451:\"bo_CN\",\n0x041f:\"tr_TR\",\n0x0442:\"tk_TM\",\n0x0480:\"ug_CN\",\n0x0422:\"uk_UA\",\n0x042e:\"wen_DE\",\n0x0420:\"ur_PK\",\n0x0820:\"ur_IN\",\n0x0443:\"uz_UZ\",\n0x0843:\"uz_UZ\",\n0x042a:\"vi_VN\",\n0x0452:\"cy_GB\",\n0x0488:\"wo_SN\",\n0x0434:\"xh_ZA\",\n0x0485:\"sah_RU\",\n0x0478:\"ii_CN\",\n0x046a:\"yo_NG\",\n0x0435:\"zu_ZA\",\n}\n\ndef _print_locale():\n\n ''\n \n categories={}\n def _init_categories(categories=categories):\n for k,v in globals().items():\n if k[:3]=='LC_':\n categories[k]=v\n _init_categories()\n del categories['LC_ALL']\n \n print('Locale defaults as determined by getdefaultlocale():')\n print('-'*72)\n lang,enc=getdefaultlocale()\n print('Language: ',lang or '(undefined)')\n print('Encoding: ',enc or '(undefined)')\n print()\n \n print('Locale settings on startup:')\n print('-'*72)\n for name,category in categories.items():\n print(name,'...')\n lang,enc=getlocale(category)\n print(' Language: ',lang or '(undefined)')\n print(' Encoding: ',enc or '(undefined)')\n print()\n \n print()\n print('Locale settings after calling resetlocale():')\n print('-'*72)\n resetlocale()\n for name,category in categories.items():\n print(name,'...')\n lang,enc=getlocale(category)\n print(' Language: ',lang or '(undefined)')\n print(' Encoding: ',enc or '(undefined)')\n print()\n \n try:\n setlocale(LC_ALL,\"\")\n except:\n print('NOTE:')\n print('setlocale(LC_ALL, \"\") does not support the default locale')\n print('given in the OS environment variables.')\n else:\n print()\n print('Locale settings after calling setlocale(LC_ALL, \"\"):')\n print('-'*72)\n for name,category in categories.items():\n print(name,'...')\n lang,enc=getlocale(category)\n print(' Language: ',lang or '(undefined)')\n print(' Encoding: ',enc or '(undefined)')\n print()\n \n \n \ntry:\n LC_MESSAGES\nexcept NameError:\n pass\nelse:\n __all__.append(\"LC_MESSAGES\")\n \nif __name__ =='__main__':\n print('Locale aliasing:')\n print()\n _print_locale()\n print()\n print('Number formatting:')\n print()\n _test()\n",["_collections_abc","_locale","builtins","encodings","encodings.aliases","functools","os","re","sys","warnings"]],mimetypes:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport os\nimport sys\nimport posixpath\nimport urllib.parse\n\ntry:\n from _winapi import _mimetypes_read_windows_registry\nexcept ImportError:\n _mimetypes_read_windows_registry=None\n \ntry:\n import winreg as _winreg\nexcept ImportError:\n _winreg=None\n \n__all__=[\n\"knownfiles\",\"inited\",\"MimeTypes\",\n\"guess_type\",\"guess_all_extensions\",\"guess_extension\",\n\"add_type\",\"init\",\"read_mime_types\",\n\"suffix_map\",\"encodings_map\",\"types_map\",\"common_types\"\n]\n\nknownfiles=[\n\"/etc/mime.types\",\n\"/etc/httpd/mime.types\",\n\"/etc/httpd/conf/mime.types\",\n\"/etc/apache/mime.types\",\n\"/etc/apache2/mime.types\",\n\"/usr/local/etc/httpd/conf/mime.types\",\n\"/usr/local/lib/netscape/mime.types\",\n\"/usr/local/etc/httpd/conf/mime.types\",\n\"/usr/local/etc/mime.types\",\n]\n\ninited=False\n_db=None\n\n\nclass MimeTypes:\n ''\n\n\n\n\n \n \n def __init__(self,filenames=(),strict=True):\n if not inited:\n init()\n self.encodings_map=_encodings_map_default.copy()\n self.suffix_map=_suffix_map_default.copy()\n self.types_map=({},{})\n self.types_map_inv=({},{})\n for(ext,type)in _types_map_default.items():\n self.add_type(type,ext,True)\n for(ext,type)in _common_types_default.items():\n self.add_type(type,ext,False)\n for name in filenames:\n self.read(name,strict)\n \n def add_type(self,type,ext,strict=True):\n ''\n\n\n\n\n\n\n\n\n\n \n self.types_map[strict][ext]=type\n exts=self.types_map_inv[strict].setdefault(type,[])\n if ext not in exts:\n exts.append(ext)\n \n def guess_type(self,url,strict=True):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n url=os.fspath(url)\n scheme,url=urllib.parse._splittype(url)\n if scheme =='data':\n \n \n \n \n \n \n comma=url.find(',')\n if comma <0:\n \n return None,None\n semi=url.find(';',0,comma)\n if semi >=0:\n type=url[:semi]\n else:\n type=url[:comma]\n if '='in type or '/'not in type:\n type='text/plain'\n return type,None\n base,ext=posixpath.splitext(url)\n while(ext_lower :=ext.lower())in self.suffix_map:\n base,ext=posixpath.splitext(base+self.suffix_map[ext_lower])\n \n if ext in self.encodings_map:\n encoding=self.encodings_map[ext]\n base,ext=posixpath.splitext(base)\n else:\n encoding=None\n ext=ext.lower()\n types_map=self.types_map[True]\n if ext in types_map:\n return types_map[ext],encoding\n elif strict:\n return None,encoding\n types_map=self.types_map[False]\n if ext in types_map:\n return types_map[ext],encoding\n else:\n return None,encoding\n \n def guess_all_extensions(self,type,strict=True):\n ''\n\n\n\n\n\n\n\n\n \n type=type.lower()\n extensions=list(self.types_map_inv[True].get(type,[]))\n if not strict:\n for ext in self.types_map_inv[False].get(type,[]):\n if ext not in extensions:\n extensions.append(ext)\n return extensions\n \n def guess_extension(self,type,strict=True):\n ''\n\n\n\n\n\n\n\n\n\n\n \n extensions=self.guess_all_extensions(type,strict)\n if not extensions:\n return None\n return extensions[0]\n \n def read(self,filename,strict=True):\n ''\n\n\n\n\n\n \n with open(filename,encoding='utf-8')as fp:\n self.readfp(fp,strict)\n \n def readfp(self,fp,strict=True):\n ''\n\n\n\n\n\n \n while line :=fp.readline():\n words=line.split()\n for i in range(len(words)):\n if words[i][0]=='#':\n del words[i:]\n break\n if not words:\n continue\n type,suffixes=words[0],words[1:]\n for suff in suffixes:\n self.add_type(type,'.'+suff,strict)\n \n def read_windows_registry(self,strict=True):\n ''\n\n\n\n\n\n \n \n if not _mimetypes_read_windows_registry and not _winreg:\n return\n \n add_type=self.add_type\n if strict:\n add_type=lambda type,ext:self.add_type(type,ext,True)\n \n \n if _mimetypes_read_windows_registry:\n _mimetypes_read_windows_registry(add_type)\n elif _winreg:\n self._read_windows_registry(add_type)\n \n @classmethod\n def _read_windows_registry(cls,add_type):\n def enum_types(mimedb):\n i=0\n while True:\n try:\n ctype=_winreg.EnumKey(mimedb,i)\n except OSError:\n break\n else:\n if '\\0'not in ctype:\n yield ctype\n i +=1\n \n with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT,'')as hkcr:\n for subkeyname in enum_types(hkcr):\n try:\n with _winreg.OpenKey(hkcr,subkeyname)as subkey:\n \n if not subkeyname.startswith(\".\"):\n continue\n \n mimetype,datatype=_winreg.QueryValueEx(\n subkey,'Content Type')\n if datatype !=_winreg.REG_SZ:\n continue\n add_type(mimetype,subkeyname)\n except OSError:\n continue\n \ndef guess_type(url,strict=True):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if _db is None:\n init()\n return _db.guess_type(url,strict)\n \n \ndef guess_all_extensions(type,strict=True):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if _db is None:\n init()\n return _db.guess_all_extensions(type,strict)\n \ndef guess_extension(type,strict=True):\n ''\n\n\n\n\n\n\n\n\n\n \n if _db is None:\n init()\n return _db.guess_extension(type,strict)\n \ndef add_type(type,ext,strict=True):\n ''\n\n\n\n\n\n\n\n\n\n \n if _db is None:\n init()\n return _db.add_type(type,ext,strict)\n \n \ndef init(files=None):\n global suffix_map,types_map,encodings_map,common_types\n global inited,_db\n inited=True\n \n if files is None or _db is None:\n db=MimeTypes()\n \n db.read_windows_registry()\n \n if files is None:\n files=knownfiles\n else:\n files=knownfiles+list(files)\n else:\n db=_db\n \n for file in files:\n if os.path.isfile(file):\n db.read(file)\n encodings_map=db.encodings_map\n suffix_map=db.suffix_map\n types_map=db.types_map[True]\n common_types=db.types_map[False]\n \n _db=db\n \n \ndef read_mime_types(file):\n try:\n f=open(file,encoding='utf-8')\n except OSError:\n return None\n with f:\n db=MimeTypes()\n db.readfp(f,True)\n return db.types_map[True]\n \n \ndef _default_mime_types():\n global suffix_map,_suffix_map_default\n global encodings_map,_encodings_map_default\n global types_map,_types_map_default\n global common_types,_common_types_default\n \n suffix_map=_suffix_map_default={\n '.svgz':'.svg.gz',\n '.tgz':'.tar.gz',\n '.taz':'.tar.gz',\n '.tz':'.tar.gz',\n '.tbz2':'.tar.bz2',\n '.txz':'.tar.xz',\n }\n \n encodings_map=_encodings_map_default={\n '.gz':'gzip',\n '.Z':'compress',\n '.bz2':'bzip2',\n '.xz':'xz',\n '.br':'br',\n }\n \n \n \n \n \n \n \n \n types_map=_types_map_default={\n '.js':'text/javascript',\n '.mjs':'text/javascript',\n '.json':'application/json',\n '.webmanifest':'application/manifest+json',\n '.doc':'application/msword',\n '.dot':'application/msword',\n '.wiz':'application/msword',\n '.nq':'application/n-quads',\n '.nt':'application/n-triples',\n '.bin':'application/octet-stream',\n '.a':'application/octet-stream',\n '.dll':'application/octet-stream',\n '.exe':'application/octet-stream',\n '.o':'application/octet-stream',\n '.obj':'application/octet-stream',\n '.so':'application/octet-stream',\n '.oda':'application/oda',\n '.pdf':'application/pdf',\n '.p7c':'application/pkcs7-mime',\n '.ps':'application/postscript',\n '.ai':'application/postscript',\n '.eps':'application/postscript',\n '.trig':'application/trig',\n '.m3u':'application/vnd.apple.mpegurl',\n '.m3u8':'application/vnd.apple.mpegurl',\n '.xls':'application/vnd.ms-excel',\n '.xlb':'application/vnd.ms-excel',\n '.ppt':'application/vnd.ms-powerpoint',\n '.pot':'application/vnd.ms-powerpoint',\n '.ppa':'application/vnd.ms-powerpoint',\n '.pps':'application/vnd.ms-powerpoint',\n '.pwz':'application/vnd.ms-powerpoint',\n '.wasm':'application/wasm',\n '.bcpio':'application/x-bcpio',\n '.cpio':'application/x-cpio',\n '.csh':'application/x-csh',\n '.dvi':'application/x-dvi',\n '.gtar':'application/x-gtar',\n '.hdf':'application/x-hdf',\n '.h5':'application/x-hdf5',\n '.latex':'application/x-latex',\n '.mif':'application/x-mif',\n '.cdf':'application/x-netcdf',\n '.nc':'application/x-netcdf',\n '.p12':'application/x-pkcs12',\n '.pfx':'application/x-pkcs12',\n '.ram':'application/x-pn-realaudio',\n '.pyc':'application/x-python-code',\n '.pyo':'application/x-python-code',\n '.sh':'application/x-sh',\n '.shar':'application/x-shar',\n '.swf':'application/x-shockwave-flash',\n '.sv4cpio':'application/x-sv4cpio',\n '.sv4crc':'application/x-sv4crc',\n '.tar':'application/x-tar',\n '.tcl':'application/x-tcl',\n '.tex':'application/x-tex',\n '.texi':'application/x-texinfo',\n '.texinfo':'application/x-texinfo',\n '.roff':'application/x-troff',\n '.t':'application/x-troff',\n '.tr':'application/x-troff',\n '.man':'application/x-troff-man',\n '.me':'application/x-troff-me',\n '.ms':'application/x-troff-ms',\n '.ustar':'application/x-ustar',\n '.src':'application/x-wais-source',\n '.xsl':'application/xml',\n '.rdf':'application/xml',\n '.wsdl':'application/xml',\n '.xpdl':'application/xml',\n '.zip':'application/zip',\n '.3gp':'audio/3gpp',\n '.3gpp':'audio/3gpp',\n '.3g2':'audio/3gpp2',\n '.3gpp2':'audio/3gpp2',\n '.aac':'audio/aac',\n '.adts':'audio/aac',\n '.loas':'audio/aac',\n '.ass':'audio/aac',\n '.au':'audio/basic',\n '.snd':'audio/basic',\n '.mp3':'audio/mpeg',\n '.mp2':'audio/mpeg',\n '.opus':'audio/opus',\n '.aif':'audio/x-aiff',\n '.aifc':'audio/x-aiff',\n '.aiff':'audio/x-aiff',\n '.ra':'audio/x-pn-realaudio',\n '.wav':'audio/x-wav',\n '.avif':'image/avif',\n '.bmp':'image/bmp',\n '.gif':'image/gif',\n '.ief':'image/ief',\n '.jpg':'image/jpeg',\n '.jpe':'image/jpeg',\n '.jpeg':'image/jpeg',\n '.heic':'image/heic',\n '.heif':'image/heif',\n '.png':'image/png',\n '.svg':'image/svg+xml',\n '.tiff':'image/tiff',\n '.tif':'image/tiff',\n '.ico':'image/vnd.microsoft.icon',\n '.ras':'image/x-cmu-raster',\n '.pnm':'image/x-portable-anymap',\n '.pbm':'image/x-portable-bitmap',\n '.pgm':'image/x-portable-graymap',\n '.ppm':'image/x-portable-pixmap',\n '.rgb':'image/x-rgb',\n '.xbm':'image/x-xbitmap',\n '.xpm':'image/x-xpixmap',\n '.xwd':'image/x-xwindowdump',\n '.eml':'message/rfc822',\n '.mht':'message/rfc822',\n '.mhtml':'message/rfc822',\n '.nws':'message/rfc822',\n '.css':'text/css',\n '.csv':'text/csv',\n '.html':'text/html',\n '.htm':'text/html',\n '.n3':'text/n3',\n '.txt':'text/plain',\n '.bat':'text/plain',\n '.c':'text/plain',\n '.h':'text/plain',\n '.ksh':'text/plain',\n '.pl':'text/plain',\n '.srt':'text/plain',\n '.rtx':'text/richtext',\n '.tsv':'text/tab-separated-values',\n '.vtt':'text/vtt',\n '.py':'text/x-python',\n '.etx':'text/x-setext',\n '.sgm':'text/x-sgml',\n '.sgml':'text/x-sgml',\n '.vcf':'text/x-vcard',\n '.xml':'text/xml',\n '.mp4':'video/mp4',\n '.mpeg':'video/mpeg',\n '.m1v':'video/mpeg',\n '.mpa':'video/mpeg',\n '.mpe':'video/mpeg',\n '.mpg':'video/mpeg',\n '.mov':'video/quicktime',\n '.qt':'video/quicktime',\n '.webm':'video/webm',\n '.avi':'video/x-msvideo',\n '.movie':'video/x-sgi-movie',\n }\n \n \n \n \n \n common_types=_common_types_default={\n '.rtf':'application/rtf',\n '.midi':'audio/midi',\n '.mid':'audio/midi',\n '.jpg':'image/jpg',\n '.pict':'image/pict',\n '.pct':'image/pict',\n '.pic':'image/pict',\n '.webp':'image/webp',\n '.xul':'text/xul',\n }\n \n \n_default_mime_types()\n\n\ndef _main():\n import getopt\n \n USAGE=\"\"\"\\\nUsage: mimetypes.py [options] type\n\nOptions:\n --help / -h -- print this message and exit\n --lenient / -l -- additionally search of some common, but non-standard\n types.\n --extension / -e -- guess extension instead of type\n\nMore than one type argument may be given.\n\"\"\"\n \n def usage(code,msg=''):\n print(USAGE)\n if msg:print(msg)\n sys.exit(code)\n \n try:\n opts,args=getopt.getopt(sys.argv[1:],'hle',\n ['help','lenient','extension'])\n except getopt.error as msg:\n usage(1,msg)\n \n strict=1\n extension=0\n for opt,arg in opts:\n if opt in('-h','--help'):\n usage(0)\n elif opt in('-l','--lenient'):\n strict=0\n elif opt in('-e','--extension'):\n extension=1\n for gtype in args:\n if extension:\n guess=guess_extension(gtype,strict)\n if not guess:print(\"I don't know anything about type\",gtype)\n else:print(guess)\n else:\n guess,encoding=guess_type(gtype,strict)\n if not guess:print(\"I don't know anything about type\",gtype)\n else:print('type:',guess,'encoding:',encoding)\n \n \nif __name__ =='__main__':\n _main()\n",["_winapi","getopt","os","posixpath","sys","urllib.parse","winreg"]],nntplib:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport re\nimport socket\nimport collections\nimport datetime\nimport sys\nimport warnings\n\ntry:\n import ssl\nexcept ImportError:\n _have_ssl=False\nelse:\n _have_ssl=True\n \nfrom email.header import decode_header as _email_decode_header\nfrom socket import _GLOBAL_DEFAULT_TIMEOUT\n\n__all__=[\"NNTP\",\n\"NNTPError\",\"NNTPReplyError\",\"NNTPTemporaryError\",\n\"NNTPPermanentError\",\"NNTPProtocolError\",\"NNTPDataError\",\n\"decode_header\",\n]\n\nwarnings._deprecated(__name__,remove=(3,13))\n\n\n\n\n\n_MAXLINE=2048\n\n\n\nclass NNTPError(Exception):\n ''\n def __init__(self,*args):\n Exception.__init__(self,*args)\n try:\n self.response=args[0]\n except IndexError:\n self.response='No response given'\n \nclass NNTPReplyError(NNTPError):\n ''\n pass\n \nclass NNTPTemporaryError(NNTPError):\n ''\n pass\n \nclass NNTPPermanentError(NNTPError):\n ''\n pass\n \nclass NNTPProtocolError(NNTPError):\n ''\n pass\n \nclass NNTPDataError(NNTPError):\n ''\n pass\n \n \n \nNNTP_PORT=119\nNNTP_SSL_PORT=563\n\n\n_LONGRESP={\n'100',\n'101',\n'211',\n'215',\n'220',\n'221',\n'222',\n'224',\n'225',\n'230',\n'231',\n'282',\n}\n\n\n_DEFAULT_OVERVIEW_FMT=[\n\"subject\",\"from\",\"date\",\"message-id\",\"references\",\":bytes\",\":lines\"]\n\n\n_OVERVIEW_FMT_ALTERNATIVES={\n'bytes':':bytes',\n'lines':':lines',\n}\n\n\n_CRLF=b'\\r\\n'\n\nGroupInfo=collections.namedtuple('GroupInfo',\n['group','last','first','flag'])\n\nArticleInfo=collections.namedtuple('ArticleInfo',\n['number','message_id','lines'])\n\n\n\ndef decode_header(header_str):\n ''\n \n parts=[]\n for v,enc in _email_decode_header(header_str):\n if isinstance(v,bytes):\n parts.append(v.decode(enc or 'ascii'))\n else:\n parts.append(v)\n return ''.join(parts)\n \ndef _parse_overview_fmt(lines):\n ''\n\n\n \n fmt=[]\n for line in lines:\n if line[0]==':':\n \n name,_,suffix=line[1:].partition(':')\n name=':'+name\n else:\n \n name,_,suffix=line.partition(':')\n name=name.lower()\n name=_OVERVIEW_FMT_ALTERNATIVES.get(name,name)\n \n fmt.append(name)\n defaults=_DEFAULT_OVERVIEW_FMT\n if len(fmt)=len(fmt):\n \n \n \n continue\n field_name=fmt[i]\n is_metadata=field_name.startswith(':')\n if i >=n_defaults and not is_metadata:\n \n \n h=field_name+\": \"\n if token and token[:len(h)].lower()!=h:\n raise NNTPDataError(\"OVER/XOVER response doesn't include \"\n \"names of additional headers\")\n token=token[len(h):]if token else None\n fields[fmt[i]]=token\n overview.append((article_number,fields))\n return overview\n \ndef _parse_datetime(date_str,time_str=None):\n ''\n\n\n \n if time_str is None:\n time_str=date_str[-6:]\n date_str=date_str[:-6]\n hours=int(time_str[:2])\n minutes=int(time_str[2:4])\n seconds=int(time_str[4:])\n year=int(date_str[:-4])\n month=int(date_str[-4:-2])\n day=int(date_str[-2:])\n \n \n if year <70:\n year +=2000\n elif year <100:\n year +=1900\n return datetime.datetime(year,month,day,hours,minutes,seconds)\n \ndef _unparse_datetime(dt,legacy=False):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if not isinstance(dt,datetime.datetime):\n time_str=\"000000\"\n else:\n time_str=\"{0.hour:02d}{0.minute:02d}{0.second:02d}\".format(dt)\n y=dt.year\n if legacy:\n y=y %100\n date_str=\"{0:02d}{1.month:02d}{1.day:02d}\".format(y,dt)\n else:\n date_str=\"{0:04d}{1.month:02d}{1.day:02d}\".format(y,dt)\n return date_str,time_str\n \n \nif _have_ssl:\n\n def _encrypt_on(sock,context,hostname):\n ''\n\n\n\n\n \n \n if context is None:\n context=ssl._create_stdlib_context()\n return context.wrap_socket(sock,server_hostname=hostname)\n \n \n \nclass NNTP:\n\n\n\n\n\n\n\n\n\n\n\n\n encoding='utf-8'\n errors='surrogateescape'\n \n def __init__(self,host,port=NNTP_PORT,user=None,password=None,\n readermode=None,usenetrc=False,\n timeout=_GLOBAL_DEFAULT_TIMEOUT):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self.host=host\n self.port=port\n self.sock=self._create_socket(timeout)\n self.file=None\n try:\n self.file=self.sock.makefile(\"rwb\")\n self._base_init(readermode)\n if user or usenetrc:\n self.login(user,password,usenetrc)\n except:\n if self.file:\n self.file.close()\n self.sock.close()\n raise\n \n def _base_init(self,readermode):\n ''\n\n \n self.debugging=0\n self.welcome=self._getresp()\n \n \n self._caps=None\n self.getcapabilities()\n \n \n \n \n \n \n \n \n self.readermode_afterauth=False\n if readermode and 'READER'not in self._caps:\n self._setreadermode()\n if not self.readermode_afterauth:\n \n self._caps=None\n self.getcapabilities()\n \n \n \n \n self.tls_on=False\n \n \n self.authenticated=False\n \n def __enter__(self):\n return self\n \n def __exit__(self,*args):\n is_connected=lambda:hasattr(self,\"file\")\n if is_connected():\n try:\n self.quit()\n except(OSError,EOFError):\n pass\n finally:\n if is_connected():\n self._close()\n \n def _create_socket(self,timeout):\n if timeout is not None and not timeout:\n raise ValueError('Non-blocking socket (timeout=0) is not supported')\n sys.audit(\"nntplib.connect\",self,self.host,self.port)\n return socket.create_connection((self.host,self.port),timeout)\n \n def getwelcome(self):\n ''\n\n\n \n \n if self.debugging:print('*welcome*',repr(self.welcome))\n return self.welcome\n \n def getcapabilities(self):\n ''\n\n \n if self._caps is None:\n self.nntp_version=1\n self.nntp_implementation=None\n try:\n resp,caps=self.capabilities()\n except(NNTPPermanentError,NNTPTemporaryError):\n \n self._caps={}\n else:\n self._caps=caps\n if 'VERSION'in caps:\n \n \n self.nntp_version=max(map(int,caps['VERSION']))\n if 'IMPLEMENTATION'in caps:\n self.nntp_implementation=' '.join(caps['IMPLEMENTATION'])\n return self._caps\n \n def set_debuglevel(self,level):\n ''\n\n\n \n \n self.debugging=level\n debug=set_debuglevel\n \n def _putline(self,line):\n ''\n \n sys.audit(\"nntplib.putline\",self,line)\n line=line+_CRLF\n if self.debugging >1:print('*put*',repr(line))\n self.file.write(line)\n self.file.flush()\n \n def _putcmd(self,line):\n ''\n \n if self.debugging:print('*cmd*',repr(line))\n line=line.encode(self.encoding,self.errors)\n self._putline(line)\n \n def _getline(self,strip_crlf=True):\n ''\n\n \n line=self.file.readline(_MAXLINE+1)\n if len(line)>_MAXLINE:\n raise NNTPDataError('line too long')\n if self.debugging >1:\n print('*get*',repr(line))\n if not line:raise EOFError\n if strip_crlf:\n if line[-2:]==_CRLF:\n line=line[:-2]\n elif line[-1:]in _CRLF:\n line=line[:-1]\n return line\n \n def _getresp(self):\n ''\n\n \n resp=self._getline()\n if self.debugging:print('*resp*',repr(resp))\n resp=resp.decode(self.encoding,self.errors)\n c=resp[:1]\n if c =='4':\n raise NNTPTemporaryError(resp)\n if c =='5':\n raise NNTPPermanentError(resp)\n if c not in '123':\n raise NNTPProtocolError(resp)\n return resp\n \n def _getlongresp(self,file=None):\n ''\n\n\n\n\n\n \n \n openedFile=None\n try:\n \n if isinstance(file,(str,bytes)):\n openedFile=file=open(file,\"wb\")\n \n resp=self._getresp()\n if resp[:3]not in _LONGRESP:\n raise NNTPReplyError(resp)\n \n lines=[]\n if file is not None:\n \n terminators=(b'.'+_CRLF,b'.\\n')\n while 1:\n line=self._getline(False)\n if line in terminators:\n break\n if line.startswith(b'..'):\n line=line[1:]\n file.write(line)\n else:\n terminator=b'.'\n while 1:\n line=self._getline()\n if line ==terminator:\n break\n if line.startswith(b'..'):\n line=line[1:]\n lines.append(line)\n finally:\n \n if openedFile:\n openedFile.close()\n \n return resp,lines\n \n def _shortcmd(self,line):\n ''\n \n self._putcmd(line)\n return self._getresp()\n \n def _longcmd(self,line,file=None):\n ''\n \n self._putcmd(line)\n return self._getlongresp(file)\n \n def _longcmdstring(self,line,file=None):\n ''\n\n\n \n self._putcmd(line)\n resp,list=self._getlongresp(file)\n return resp,[line.decode(self.encoding,self.errors)\n for line in list]\n \n def _getoverviewfmt(self):\n ''\n \n try:\n return self._cachedoverviewfmt\n except AttributeError:\n pass\n try:\n resp,lines=self._longcmdstring(\"LIST OVERVIEW.FMT\")\n except NNTPPermanentError:\n \n fmt=_DEFAULT_OVERVIEW_FMT[:]\n else:\n fmt=_parse_overview_fmt(lines)\n self._cachedoverviewfmt=fmt\n return fmt\n \n def _grouplist(self,lines):\n \n return[GroupInfo(*line.split())for line in lines]\n \n def capabilities(self):\n ''\n\n\n\n\n \n caps={}\n resp,lines=self._longcmdstring(\"CAPABILITIES\")\n for line in lines:\n name,*tokens=line.split()\n caps[name]=tokens\n return resp,caps\n \n def newgroups(self,date,*,file=None):\n ''\n\n\n\n\n \n if not isinstance(date,(datetime.date,datetime.date)):\n raise TypeError(\n \"the date parameter must be a date or datetime object, \"\n \"not '{:40}'\".format(date.__class__.__name__))\n date_str,time_str=_unparse_datetime(date,self.nntp_version <2)\n cmd='NEWGROUPS {0} {1}'.format(date_str,time_str)\n resp,lines=self._longcmdstring(cmd,file)\n return resp,self._grouplist(lines)\n \n def newnews(self,group,date,*,file=None):\n ''\n\n\n\n\n\n \n if not isinstance(date,(datetime.date,datetime.date)):\n raise TypeError(\n \"the date parameter must be a date or datetime object, \"\n \"not '{:40}'\".format(date.__class__.__name__))\n date_str,time_str=_unparse_datetime(date,self.nntp_version <2)\n cmd='NEWNEWS {0} {1} {2}'.format(group,date_str,time_str)\n return self._longcmdstring(cmd,file)\n \n def list(self,group_pattern=None,*,file=None):\n ''\n\n\n\n\n\n \n if group_pattern is not None:\n command='LIST ACTIVE '+group_pattern\n else:\n command='LIST'\n resp,lines=self._longcmdstring(command,file)\n return resp,self._grouplist(lines)\n \n def _getdescriptions(self,group_pattern,return_all):\n line_pat=re.compile('^(?P[^ \\t]+)[ \\t]+(.*)$')\n \n resp,lines=self._longcmdstring('LIST NEWSGROUPS '+group_pattern)\n if not resp.startswith('215'):\n \n \n \n resp,lines=self._longcmdstring('XGTITLE '+group_pattern)\n groups={}\n for raw_line in lines:\n match=line_pat.search(raw_line.strip())\n if match:\n name,desc=match.group(1,2)\n if not return_all:\n return desc\n groups[name]=desc\n if return_all:\n return resp,groups\n else:\n \n return ''\n \n def description(self,group):\n ''\n\n\n\n\n\n\n\n\n \n return self._getdescriptions(group,False)\n \n def descriptions(self,group_pattern):\n ''\n return self._getdescriptions(group_pattern,True)\n \n def group(self,name):\n ''\n\n\n\n\n\n\n\n \n resp=self._shortcmd('GROUP '+name)\n if not resp.startswith('211'):\n raise NNTPReplyError(resp)\n words=resp.split()\n count=first=last=0\n n=len(words)\n if n >1:\n count=words[1]\n if n >2:\n first=words[2]\n if n >3:\n last=words[3]\n if n >4:\n name=words[4].lower()\n return resp,int(count),int(first),int(last),name\n \n def help(self,*,file=None):\n ''\n\n\n\n\n\n \n return self._longcmdstring('HELP',file)\n \n def _statparse(self,resp):\n ''\n \n if not resp.startswith('22'):\n raise NNTPReplyError(resp)\n words=resp.split()\n art_num=int(words[1])\n message_id=words[2]\n return resp,art_num,message_id\n \n def _statcmd(self,line):\n ''\n resp=self._shortcmd(line)\n return self._statparse(resp)\n \n def stat(self,message_spec=None):\n ''\n\n\n\n\n\n\n \n if message_spec:\n return self._statcmd('STAT {0}'.format(message_spec))\n else:\n return self._statcmd('STAT')\n \n def next(self):\n ''\n return self._statcmd('NEXT')\n \n def last(self):\n ''\n return self._statcmd('LAST')\n \n def _artcmd(self,line,file=None):\n ''\n resp,lines=self._longcmd(line,file)\n resp,art_num,message_id=self._statparse(resp)\n return resp,ArticleInfo(art_num,message_id,lines)\n \n def head(self,message_spec=None,*,file=None):\n ''\n\n\n\n\n\n \n if message_spec is not None:\n cmd='HEAD {0}'.format(message_spec)\n else:\n cmd='HEAD'\n return self._artcmd(cmd,file)\n \n def body(self,message_spec=None,*,file=None):\n ''\n\n\n\n\n\n \n if message_spec is not None:\n cmd='BODY {0}'.format(message_spec)\n else:\n cmd='BODY'\n return self._artcmd(cmd,file)\n \n def article(self,message_spec=None,*,file=None):\n ''\n\n\n\n\n\n \n if message_spec is not None:\n cmd='ARTICLE {0}'.format(message_spec)\n else:\n cmd='ARTICLE'\n return self._artcmd(cmd,file)\n \n def slave(self):\n ''\n\n \n return self._shortcmd('SLAVE')\n \n def xhdr(self,hdr,str,*,file=None):\n ''\n\n\n\n\n\n\n \n pat=re.compile('^([0-9]+) ?(.*)\\n?')\n resp,lines=self._longcmdstring('XHDR {0} {1}'.format(hdr,str),file)\n def remove_number(line):\n m=pat.match(line)\n return m.group(1,2)if m else line\n return resp,[remove_number(line)for line in lines]\n \n def xover(self,start,end,*,file=None):\n ''\n\n\n\n\n\n\n \n resp,lines=self._longcmdstring('XOVER {0}-{1}'.format(start,end),\n file)\n fmt=self._getoverviewfmt()\n return resp,_parse_overview(lines,fmt)\n \n def over(self,message_spec,*,file=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n cmd='OVER'if 'OVER'in self._caps else 'XOVER'\n if isinstance(message_spec,(tuple,list)):\n start,end=message_spec\n cmd +=' {0}-{1}'.format(start,end or '')\n elif message_spec is not None:\n cmd=cmd+' '+message_spec\n resp,lines=self._longcmdstring(cmd,file)\n fmt=self._getoverviewfmt()\n return resp,_parse_overview(lines,fmt)\n \n def date(self):\n ''\n\n\n\n \n resp=self._shortcmd(\"DATE\")\n if not resp.startswith('111'):\n raise NNTPReplyError(resp)\n elem=resp.split()\n if len(elem)!=2:\n raise NNTPDataError(resp)\n date=elem[1]\n if len(date)!=14:\n raise NNTPDataError(resp)\n return resp,_parse_datetime(date,None)\n \n def _post(self,command,f):\n resp=self._shortcmd(command)\n \n if not resp.startswith('3'):\n raise NNTPReplyError(resp)\n if isinstance(f,(bytes,bytearray)):\n f=f.splitlines()\n \n \n \n \n for line in f:\n if not line.endswith(_CRLF):\n line=line.rstrip(b\"\\r\\n\")+_CRLF\n if line.startswith(b'.'):\n line=b'.'+line\n self.file.write(line)\n self.file.write(b\".\\r\\n\")\n self.file.flush()\n return self._getresp()\n \n def post(self,data):\n ''\n\n\n \n return self._post('POST',data)\n \n def ihave(self,message_id,data):\n ''\n\n\n\n\n \n return self._post('IHAVE {0}'.format(message_id),data)\n \n def _close(self):\n try:\n if self.file:\n self.file.close()\n del self.file\n finally:\n self.sock.close()\n \n def quit(self):\n ''\n \n try:\n resp=self._shortcmd('QUIT')\n finally:\n self._close()\n return resp\n \n def login(self,user=None,password=None,usenetrc=True):\n if self.authenticated:\n raise ValueError(\"Already logged in.\")\n if not user and not usenetrc:\n raise ValueError(\n \"At least one of `user` and `usenetrc` must be specified\")\n \n \n \n try:\n if usenetrc and not user:\n import netrc\n credentials=netrc.netrc()\n auth=credentials.authenticators(self.host)\n if auth:\n user=auth[0]\n password=auth[2]\n except OSError:\n pass\n \n if not user:\n return\n resp=self._shortcmd('authinfo user '+user)\n if resp.startswith('381'):\n if not password:\n raise NNTPReplyError(resp)\n else:\n resp=self._shortcmd('authinfo pass '+password)\n if not resp.startswith('281'):\n raise NNTPPermanentError(resp)\n \n self._caps=None\n self.getcapabilities()\n \n \n if self.readermode_afterauth and 'READER'not in self._caps:\n self._setreadermode()\n \n self._caps=None\n self.getcapabilities()\n \n def _setreadermode(self):\n try:\n self.welcome=self._shortcmd('mode reader')\n except NNTPPermanentError:\n \n pass\n except NNTPTemporaryError as e:\n if e.response.startswith('480'):\n \n self.readermode_afterauth=True\n else:\n raise\n \n if _have_ssl:\n def starttls(self,context=None):\n ''\n\n \n \n \n if self.tls_on:\n raise ValueError(\"TLS is already enabled.\")\n if self.authenticated:\n raise ValueError(\"TLS cannot be started after authentication.\")\n resp=self._shortcmd('STARTTLS')\n if resp.startswith('382'):\n self.file.close()\n self.sock=_encrypt_on(self.sock,context,self.host)\n self.file=self.sock.makefile(\"rwb\")\n self.tls_on=True\n \n \n self._caps=None\n self.getcapabilities()\n else:\n raise NNTPError(\"TLS failed to start.\")\n \n \nif _have_ssl:\n class NNTP_SSL(NNTP):\n \n def __init__(self,host,port=NNTP_SSL_PORT,\n user=None,password=None,ssl_context=None,\n readermode=None,usenetrc=False,\n timeout=_GLOBAL_DEFAULT_TIMEOUT):\n ''\n\n \n self.ssl_context=ssl_context\n super().__init__(host,port,user,password,readermode,\n usenetrc,timeout)\n \n def _create_socket(self,timeout):\n sock=super()._create_socket(timeout)\n try:\n sock=_encrypt_on(sock,self.ssl_context,self.host)\n except:\n sock.close()\n raise\n else:\n return sock\n \n __all__.append(\"NNTP_SSL\")\n \n \n \nif __name__ =='__main__':\n import argparse\n \n parser=argparse.ArgumentParser(description=\"\"\"\\\n nntplib built-in demo - display the latest articles in a newsgroup\"\"\")\n parser.add_argument('-g','--group',default='gmane.comp.python.general',\n help='group to fetch messages from (default: %(default)s)')\n parser.add_argument('-s','--server',default='news.gmane.io',\n help='NNTP server hostname (default: %(default)s)')\n parser.add_argument('-p','--port',default=-1,type=int,\n help='NNTP port number (default: %s / %s)'%(NNTP_PORT,NNTP_SSL_PORT))\n parser.add_argument('-n','--nb-articles',default=10,type=int,\n help='number of articles to fetch (default: %(default)s)')\n parser.add_argument('-S','--ssl',action='store_true',default=False,\n help='use NNTP over SSL')\n args=parser.parse_args()\n \n port=args.port\n if not args.ssl:\n if port ==-1:\n port=NNTP_PORT\n s=NNTP(host=args.server,port=port)\n else:\n if port ==-1:\n port=NNTP_SSL_PORT\n s=NNTP_SSL(host=args.server,port=port)\n \n caps=s.getcapabilities()\n if 'STARTTLS'in caps:\n s.starttls()\n resp,count,first,last,name=s.group(args.group)\n print('Group',name,'has',count,'articles, range',first,'to',last)\n \n def cut(s,lim):\n if len(s)>lim:\n s=s[:lim -4]+\"...\"\n return s\n \n first=str(int(last)-args.nb_articles+1)\n resp,overviews=s.xover(first,last)\n for artnum,over in overviews:\n author=decode_header(over['from']).split('<',1)[0]\n subject=decode_header(over['subject'])\n lines=int(over[':lines'])\n print(\"{:7} {:20} {:42} ({})\".format(\n artnum,cut(author,20),cut(subject,42),lines)\n )\n \n s.quit()\n",["argparse","collections","datetime","email.header","netrc","re","socket","ssl","sys","warnings"]],ntpath:[".py","\n''\n\n\n\n\n\n\n\n\ncurdir='.'\npardir='..'\nextsep='.'\nsep='\\\\'\npathsep=';'\naltsep='/'\ndefpath='.;C:\\\\bin'\ndevnull='nul'\n\nimport os\nimport sys\nimport stat\nimport genericpath\nfrom genericpath import *\n\n\n__all__=[\"normcase\",\"isabs\",\"join\",\"splitdrive\",\"splitroot\",\"split\",\"splitext\",\n\"basename\",\"dirname\",\"commonprefix\",\"getsize\",\"getmtime\",\n\"getatime\",\"getctime\",\"islink\",\"exists\",\"lexists\",\"isdir\",\"isfile\",\n\"ismount\",\"expanduser\",\"expandvars\",\"normpath\",\"abspath\",\n\"curdir\",\"pardir\",\"sep\",\"pathsep\",\"defpath\",\"altsep\",\n\"extsep\",\"devnull\",\"realpath\",\"supports_unicode_filenames\",\"relpath\",\n\"samefile\",\"sameopenfile\",\"samestat\",\"commonpath\",\"isjunction\"]\n\ndef _get_bothseps(path):\n if isinstance(path,bytes):\n return b'\\\\/'\n else:\n return '\\\\/'\n \n \n \n \n \ntry:\n from _winapi import(\n LCMapStringEx as _LCMapStringEx,\n LOCALE_NAME_INVARIANT as _LOCALE_NAME_INVARIANT,\n LCMAP_LOWERCASE as _LCMAP_LOWERCASE)\n \n def normcase(s):\n ''\n\n\n \n s=os.fspath(s)\n if not s:\n return s\n if isinstance(s,bytes):\n encoding=sys.getfilesystemencoding()\n s=s.decode(encoding,'surrogateescape').replace('/','\\\\')\n s=_LCMapStringEx(_LOCALE_NAME_INVARIANT,\n _LCMAP_LOWERCASE,s)\n return s.encode(encoding,'surrogateescape')\n else:\n return _LCMapStringEx(_LOCALE_NAME_INVARIANT,\n _LCMAP_LOWERCASE,\n s.replace('/','\\\\'))\nexcept ImportError:\n def normcase(s):\n ''\n\n\n \n s=os.fspath(s)\n if isinstance(s,bytes):\n return os.fsencode(os.fsdecode(s).replace('/','\\\\').lower())\n return s.replace('/','\\\\').lower()\n \n \n \n \n \n \n \n \ndef isabs(s):\n ''\n s=os.fspath(s)\n if isinstance(s,bytes):\n sep=b'\\\\'\n altsep=b'/'\n colon_sep=b':\\\\'\n else:\n sep='\\\\'\n altsep='/'\n colon_sep=':\\\\'\n s=s[:3].replace(altsep,sep)\n \n \n if s.startswith(sep)or s.startswith(colon_sep,1):\n return True\n return False\n \n \n \ndef join(path,*paths):\n path=os.fspath(path)\n if isinstance(path,bytes):\n sep=b'\\\\'\n seps=b'\\\\/'\n colon=b':'\n else:\n sep='\\\\'\n seps='\\\\/'\n colon=':'\n try:\n if not paths:\n path[:0]+sep\n result_drive,result_root,result_path=splitroot(path)\n for p in map(os.fspath,paths):\n p_drive,p_root,p_path=splitroot(p)\n if p_root:\n \n if p_drive or not result_drive:\n result_drive=p_drive\n result_root=p_root\n result_path=p_path\n continue\n elif p_drive and p_drive !=result_drive:\n if p_drive.lower()!=result_drive.lower():\n \n result_drive=p_drive\n result_root=p_root\n result_path=p_path\n continue\n \n result_drive=p_drive\n \n if result_path and result_path[-1]not in seps:\n result_path=result_path+sep\n result_path=result_path+p_path\n \n if(result_path and not result_root and\n result_drive and result_drive[-1:]not in colon+seps):\n return result_drive+sep+result_path\n return result_drive+result_root+result_path\n except(TypeError,AttributeError,BytesWarning):\n genericpath._check_arg_types('join',path,*paths)\n raise\n \n \n \n \n \ndef splitdrive(p):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n drive,root,tail=splitroot(p)\n return drive,root+tail\n \n \ndef splitroot(p):\n ''\n\n\n\n\n\n\n\n\n \n p=os.fspath(p)\n if isinstance(p,bytes):\n sep=b'\\\\'\n altsep=b'/'\n colon=b':'\n unc_prefix=b'\\\\\\\\?\\\\UNC\\\\'\n empty=b''\n else:\n sep='\\\\'\n altsep='/'\n colon=':'\n unc_prefix='\\\\\\\\?\\\\UNC\\\\'\n empty=''\n normp=p.replace(altsep,sep)\n if normp[:1]==sep:\n if normp[1:2]==sep:\n \n \n start=8 if normp[:8].upper()==unc_prefix else 2\n index=normp.find(sep,start)\n if index ==-1:\n return p,empty,empty\n index2=normp.find(sep,index+1)\n if index2 ==-1:\n return p,empty,empty\n return p[:index2],p[index2:index2+1],p[index2+1:]\n else:\n \n return empty,p[:1],p[1:]\n elif normp[1:2]==colon:\n if normp[2:3]==sep:\n \n return p[:2],p[2:3],p[3:]\n else:\n \n return p[:2],empty,p[2:]\n else:\n \n return empty,empty,p\n \n \n \n \n \n \n \ndef split(p):\n ''\n\n\n \n p=os.fspath(p)\n seps=_get_bothseps(p)\n d,r,p=splitroot(p)\n \n i=len(p)\n while i and p[i -1]not in seps:\n i -=1\n head,tail=p[:i],p[i:]\n return d+r+head.rstrip(seps),tail\n \n \n \n \n \n \n \ndef splitext(p):\n p=os.fspath(p)\n if isinstance(p,bytes):\n return genericpath._splitext(p,b'\\\\',b'/',b'.')\n else:\n return genericpath._splitext(p,'\\\\','/','.')\nsplitext.__doc__=genericpath._splitext.__doc__\n\n\n\n\ndef basename(p):\n ''\n return split(p)[1]\n \n \n \n \ndef dirname(p):\n ''\n return split(p)[0]\n \n \n \n \nif hasattr(os.stat_result,'st_reparse_tag'):\n def isjunction(path):\n ''\n try:\n st=os.lstat(path)\n except(OSError,ValueError,AttributeError):\n return False\n return bool(st.st_reparse_tag ==stat.IO_REPARSE_TAG_MOUNT_POINT)\nelse:\n def isjunction(path):\n ''\n os.fspath(path)\n return False\n \n \n \n \ndef lexists(path):\n ''\n try:\n st=os.lstat(path)\n except(OSError,ValueError):\n return False\n return True\n \n \n \n \n \n \n \n \n \n \n \ntry:\n from nt import _getvolumepathname\nexcept ImportError:\n _getvolumepathname=None\ndef ismount(path):\n ''\n \n path=os.fspath(path)\n seps=_get_bothseps(path)\n path=abspath(path)\n drive,root,rest=splitroot(path)\n if drive and drive[0]in seps:\n return not rest\n if root and not rest:\n return True\n \n if _getvolumepathname:\n x=path.rstrip(seps)\n y=_getvolumepathname(path).rstrip(seps)\n return x.casefold()==y.casefold()\n else:\n return False\n \n \n \n \n \n \n \n \n \n \n \ndef expanduser(path):\n ''\n\n \n path=os.fspath(path)\n if isinstance(path,bytes):\n tilde=b'~'\n else:\n tilde='~'\n if not path.startswith(tilde):\n return path\n i,n=1,len(path)\n while i 0 and comps[i -1]!=pardir:\n del comps[i -1:i+1]\n i -=1\n elif i ==0 and root:\n del comps[i]\n else:\n i +=1\n else:\n i +=1\n \n if not prefix and not comps:\n comps.append(curdir)\n return prefix+sep.join(comps)\n \nelse:\n def normpath(path):\n ''\n path=os.fspath(path)\n if isinstance(path,bytes):\n return os.fsencode(_path_normpath(os.fsdecode(path)))or b\".\"\n return _path_normpath(path)or \".\"\n \n \ndef _abspath_fallback(path):\n ''\n\n\n\n \n \n path=os.fspath(path)\n if not isabs(path):\n if isinstance(path,bytes):\n cwd=os.getcwdb()\n else:\n cwd=os.getcwd()\n path=join(cwd,path)\n return normpath(path)\n \n \ntry:\n from nt import _getfullpathname\n \nexcept ImportError:\n abspath=_abspath_fallback\n \nelse:\n def abspath(path):\n ''\n try:\n return _getfullpathname(normpath(path))\n except(OSError,ValueError):\n return _abspath_fallback(path)\n \ntry:\n from nt import _getfinalpathname,readlink as _nt_readlink\nexcept ImportError:\n\n realpath=abspath\nelse:\n def _readlink_deep(path):\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowed_winerror=1,2,3,5,21,32,50,67,87,4390,4392,4393\n \n seen=set()\n while normcase(path)not in seen:\n seen.add(normcase(path))\n try:\n old_path=path\n path=_nt_readlink(path)\n \n \n if not isabs(path):\n \n \n \n if not islink(old_path):\n path=old_path\n break\n path=normpath(join(dirname(old_path),path))\n except OSError as ex:\n if ex.winerror in allowed_winerror:\n break\n raise\n except ValueError:\n \n break\n return path\n \n def _getfinalpathname_nonstrict(path):\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowed_winerror=1,2,3,5,21,32,50,53,65,67,87,123,161,1920,1921\n \n \n \n tail=path[:0]\n while path:\n try:\n path=_getfinalpathname(path)\n return join(path,tail)if tail else path\n except OSError as ex:\n if ex.winerror not in allowed_winerror:\n raise\n try:\n \n \n \n new_path=_readlink_deep(path)\n if new_path !=path:\n return join(new_path,tail)if tail else new_path\n except OSError:\n \n pass\n path,name=split(path)\n \n \n \n if path and not name:\n return path+tail\n tail=join(name,tail)if tail else name\n return tail\n \n def realpath(path,*,strict=False):\n path=normpath(path)\n if isinstance(path,bytes):\n prefix=b'\\\\\\\\?\\\\'\n unc_prefix=b'\\\\\\\\?\\\\UNC\\\\'\n new_unc_prefix=b'\\\\\\\\'\n cwd=os.getcwdb()\n \n if normcase(path)==normcase(os.fsencode(devnull)):\n return b'\\\\\\\\.\\\\NUL'\n else:\n prefix='\\\\\\\\?\\\\'\n unc_prefix='\\\\\\\\?\\\\UNC\\\\'\n new_unc_prefix='\\\\\\\\'\n cwd=os.getcwd()\n \n if normcase(path)==normcase(devnull):\n return '\\\\\\\\.\\\\NUL'\n had_prefix=path.startswith(prefix)\n if not had_prefix and not isabs(path):\n path=join(cwd,path)\n try:\n path=_getfinalpathname(path)\n initial_winerror=0\n except OSError as ex:\n if strict:\n raise\n initial_winerror=ex.winerror\n path=_getfinalpathname_nonstrict(path)\n \n \n \n if not had_prefix and path.startswith(prefix):\n \n \n if path.startswith(unc_prefix):\n spath=new_unc_prefix+path[len(unc_prefix):]\n else:\n spath=path[len(prefix):]\n \n try:\n if _getfinalpathname(spath)==path:\n path=spath\n except OSError as ex:\n \n \n if ex.winerror ==initial_winerror:\n path=spath\n return path\n \n \n \nsupports_unicode_filenames=True\n\ndef relpath(path,start=None):\n ''\n path=os.fspath(path)\n if isinstance(path,bytes):\n sep=b'\\\\'\n curdir=b'.'\n pardir=b'..'\n else:\n sep='\\\\'\n curdir='.'\n pardir='..'\n \n if start is None:\n start=curdir\n \n if not path:\n raise ValueError(\"no path specified\")\n \n start=os.fspath(start)\n try:\n start_abs=abspath(normpath(start))\n path_abs=abspath(normpath(path))\n start_drive,_,start_rest=splitroot(start_abs)\n path_drive,_,path_rest=splitroot(path_abs)\n if normcase(start_drive)!=normcase(path_drive):\n raise ValueError(\"path is on mount %r, start on mount %r\"%(\n path_drive,start_drive))\n \n start_list=[x for x in start_rest.split(sep)if x]\n path_list=[x for x in path_rest.split(sep)if x]\n \n i=0\n for e1,e2 in zip(start_list,path_list):\n if normcase(e1)!=normcase(e2):\n break\n i +=1\n \n rel_list=[pardir]*(len(start_list)-i)+path_list[i:]\n if not rel_list:\n return curdir\n return join(*rel_list)\n except(TypeError,ValueError,AttributeError,BytesWarning,DeprecationWarning):\n genericpath._check_arg_types('relpath',path,start)\n raise\n \n \n \n \n \n \n \n \n \n \n \n \ndef commonpath(paths):\n ''\n \n if not paths:\n raise ValueError('commonpath() arg is an empty sequence')\n \n paths=tuple(map(os.fspath,paths))\n if isinstance(paths[0],bytes):\n sep=b'\\\\'\n altsep=b'/'\n curdir=b'.'\n else:\n sep='\\\\'\n altsep='/'\n curdir='.'\n \n try:\n drivesplits=[splitroot(p.replace(altsep,sep).lower())for p in paths]\n split_paths=[p.split(sep)for d,r,p in drivesplits]\n \n if len({r for d,r,p in drivesplits})!=1:\n raise ValueError(\"Can't mix absolute and relative paths\")\n \n \n \n \n if len({d for d,r,p in drivesplits})!=1:\n raise ValueError(\"Paths don't have the same drive\")\n \n drive,root,path=splitroot(paths[0].replace(altsep,sep))\n common=path.split(sep)\n common=[c for c in common if c and c !=curdir]\n \n split_paths=[[c for c in s if c and c !=curdir]for s in split_paths]\n s1=min(split_paths)\n s2=max(split_paths)\n for i,c in enumerate(s1):\n if c !=s2[i]:\n common=common[:i]\n break\n else:\n common=common[:len(s1)]\n \n return drive+root+sep.join(common)\n except(TypeError,AttributeError):\n genericpath._check_arg_types('commonpath',*paths)\n raise\n \n \ntry:\n\n\n\n from nt import _path_isdir as isdir\n from nt import _path_isfile as isfile\n from nt import _path_islink as islink\n from nt import _path_exists as exists\nexcept ImportError:\n\n pass\n \n \ntry:\n from nt import _path_isdevdrive\nexcept ImportError:\n def isdevdrive(path):\n ''\n \n return False\nelse:\n def isdevdrive(path):\n ''\n try:\n return _path_isdevdrive(abspath(path))\n except OSError:\n return False\n",["_winapi","genericpath","nt","os","stat","string","sys"]],numbers:[".py","\n\n\n\"\"\"Abstract Base Classes (ABCs) for numbers, according to PEP 3141.\n\nTODO: Fill out more detailed documentation on the operators.\"\"\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfrom abc import ABCMeta,abstractmethod\n\n__all__=[\"Number\",\"Complex\",\"Real\",\"Rational\",\"Integral\"]\n\nclass Number(metaclass=ABCMeta):\n ''\n\n\n\n \n __slots__=()\n \n \n __hash__=None\n \n \n \n \n \n \n \n \n \n \nclass Complex(Number):\n ''\n\n\n\n\n\n\n\n \n \n __slots__=()\n \n @abstractmethod\n def __complex__(self):\n ''\n \n def __bool__(self):\n ''\n return self !=0\n \n @property\n @abstractmethod\n def real(self):\n ''\n\n\n \n raise NotImplementedError\n \n @property\n @abstractmethod\n def imag(self):\n ''\n\n\n \n raise NotImplementedError\n \n @abstractmethod\n def __add__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __radd__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __neg__(self):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __pos__(self):\n ''\n raise NotImplementedError\n \n def __sub__(self,other):\n ''\n return self+-other\n \n def __rsub__(self,other):\n ''\n return -self+other\n \n @abstractmethod\n def __mul__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rmul__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __truediv__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rtruediv__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __pow__(self,exponent):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rpow__(self,base):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __abs__(self):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def conjugate(self):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __eq__(self,other):\n ''\n raise NotImplementedError\n \nComplex.register(complex)\n\n\nclass Real(Complex):\n ''\n\n\n\n\n\n \n \n __slots__=()\n \n @abstractmethod\n def __float__(self):\n ''\n\n \n raise NotImplementedError\n \n @abstractmethod\n def __trunc__(self):\n ''\n\n\n\n\n\n\n\n \n raise NotImplementedError\n \n @abstractmethod\n def __floor__(self):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __ceil__(self):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __round__(self,ndigits=None):\n ''\n\n\n\n \n raise NotImplementedError\n \n def __divmod__(self,other):\n ''\n\n\n\n \n return(self //other,self %other)\n \n def __rdivmod__(self,other):\n ''\n\n\n\n \n return(other //self,other %self)\n \n @abstractmethod\n def __floordiv__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rfloordiv__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __mod__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rmod__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __lt__(self,other):\n ''\n\n \n raise NotImplementedError\n \n @abstractmethod\n def __le__(self,other):\n ''\n raise NotImplementedError\n \n \n def __complex__(self):\n ''\n return complex(float(self))\n \n @property\n def real(self):\n ''\n return+self\n \n @property\n def imag(self):\n ''\n return 0\n \n def conjugate(self):\n ''\n return+self\n \nReal.register(float)\n\n\nclass Rational(Real):\n ''\n \n __slots__=()\n \n @property\n @abstractmethod\n def numerator(self):\n raise NotImplementedError\n \n @property\n @abstractmethod\n def denominator(self):\n raise NotImplementedError\n \n \n def __float__(self):\n ''\n\n\n\n\n\n \n return int(self.numerator)/int(self.denominator)\n \n \nclass Integral(Rational):\n ''\n\n\n\n \n \n __slots__=()\n \n @abstractmethod\n def __int__(self):\n ''\n raise NotImplementedError\n \n def __index__(self):\n ''\n return int(self)\n \n @abstractmethod\n def __pow__(self,exponent,modulus=None):\n ''\n\n\n\n\n\n \n raise NotImplementedError\n \n @abstractmethod\n def __lshift__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rlshift__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rshift__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rrshift__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __and__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rand__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __xor__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __rxor__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __or__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __ror__(self,other):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def __invert__(self):\n ''\n raise NotImplementedError\n \n \n def __float__(self):\n ''\n return float(int(self))\n \n @property\n def numerator(self):\n ''\n return+self\n \n @property\n def denominator(self):\n ''\n return 1\n \nIntegral.register(int)\n",["abc"]],opcode:[".py",'\n"""\nopcode module - potentially shared between dis and other modules which\noperate on bytecodes (e.g. peephole optimizers).\n"""\n\n__all__=["cmp_op","hasarg","hasconst","hasname","hasjrel","hasjabs",\n"haslocal","hascompare","hasfree","hasexc","opname","opmap",\n"HAVE_ARGUMENT","EXTENDED_ARG"]\n\n\n\n\n\n\n\n\ntry:\n from _opcode import stack_effect\n __all__.append(\'stack_effect\')\nexcept ImportError:\n pass\n \ncmp_op=(\'<\',\'<=\',\'==\',\'!=\',\'>\',\'>=\')\n\nhasarg=[]\nhasconst=[]\nhasname=[]\nhasjrel=[]\nhasjabs=[]\nhaslocal=[]\nhascompare=[]\nhasfree=[]\nhasexc=[]\n\n\nENABLE_SPECIALIZATION=True\n\ndef is_pseudo(op):\n return op >=MIN_PSEUDO_OPCODE and op <=MAX_PSEUDO_OPCODE\n \noplists=[hasarg,hasconst,hasname,hasjrel,hasjabs,\nhaslocal,hascompare,hasfree,hasexc]\n\nopmap={}\n\n\n\n_pseudo_ops={}\n\ndef def_op(name,op):\n opmap[name]=op\n \ndef name_op(name,op):\n def_op(name,op)\n hasname.append(op)\n \ndef jrel_op(name,op):\n def_op(name,op)\n hasjrel.append(op)\n \ndef jabs_op(name,op):\n def_op(name,op)\n hasjabs.append(op)\n \ndef pseudo_op(name,op,real_ops):\n def_op(name,op)\n _pseudo_ops[name]=real_ops\n \n for oplist in oplists:\n res=[opmap[rop]in oplist for rop in real_ops]\n if any(res):\n assert all(res)\n oplist.append(op)\n \n \n \n \n \ndef_op(\'CACHE\',0)\ndef_op(\'POP_TOP\',1)\ndef_op(\'PUSH_NULL\',2)\ndef_op(\'INTERPRETER_EXIT\',3)\n\ndef_op(\'END_FOR\',4)\ndef_op(\'END_SEND\',5)\n\ndef_op(\'NOP\',9)\n\ndef_op(\'UNARY_NEGATIVE\',11)\ndef_op(\'UNARY_NOT\',12)\n\ndef_op(\'UNARY_INVERT\',15)\n\n\n\ndef_op(\'RESERVED\',17)\n\ndef_op(\'BINARY_SUBSCR\',25)\ndef_op(\'BINARY_SLICE\',26)\ndef_op(\'STORE_SLICE\',27)\n\ndef_op(\'GET_LEN\',30)\ndef_op(\'MATCH_MAPPING\',31)\ndef_op(\'MATCH_SEQUENCE\',32)\ndef_op(\'MATCH_KEYS\',33)\n\ndef_op(\'PUSH_EXC_INFO\',35)\ndef_op(\'CHECK_EXC_MATCH\',36)\ndef_op(\'CHECK_EG_MATCH\',37)\n\ndef_op(\'WITH_EXCEPT_START\',49)\ndef_op(\'GET_AITER\',50)\ndef_op(\'GET_ANEXT\',51)\ndef_op(\'BEFORE_ASYNC_WITH\',52)\ndef_op(\'BEFORE_WITH\',53)\ndef_op(\'END_ASYNC_FOR\',54)\ndef_op(\'CLEANUP_THROW\',55)\n\ndef_op(\'STORE_SUBSCR\',60)\ndef_op(\'DELETE_SUBSCR\',61)\n\ndef_op(\'GET_ITER\',68)\ndef_op(\'GET_YIELD_FROM_ITER\',69)\n\ndef_op(\'LOAD_BUILD_CLASS\',71)\n\ndef_op(\'LOAD_ASSERTION_ERROR\',74)\ndef_op(\'RETURN_GENERATOR\',75)\n\ndef_op(\'RETURN_VALUE\',83)\n\ndef_op(\'SETUP_ANNOTATIONS\',85)\ndef_op(\'LOAD_LOCALS\',87)\n\ndef_op(\'POP_EXCEPT\',89)\n\nHAVE_ARGUMENT=90\n\nname_op(\'STORE_NAME\',90)\nname_op(\'DELETE_NAME\',91)\ndef_op(\'UNPACK_SEQUENCE\',92)\njrel_op(\'FOR_ITER\',93)\ndef_op(\'UNPACK_EX\',94)\nname_op(\'STORE_ATTR\',95)\nname_op(\'DELETE_ATTR\',96)\nname_op(\'STORE_GLOBAL\',97)\nname_op(\'DELETE_GLOBAL\',98)\ndef_op(\'SWAP\',99)\ndef_op(\'LOAD_CONST\',100)\nhasconst.append(100)\nname_op(\'LOAD_NAME\',101)\ndef_op(\'BUILD_TUPLE\',102)\ndef_op(\'BUILD_LIST\',103)\ndef_op(\'BUILD_SET\',104)\ndef_op(\'BUILD_MAP\',105)\nname_op(\'LOAD_ATTR\',106)\ndef_op(\'COMPARE_OP\',107)\nhascompare.append(107)\nname_op(\'IMPORT_NAME\',108)\nname_op(\'IMPORT_FROM\',109)\njrel_op(\'JUMP_FORWARD\',110)\njrel_op(\'POP_JUMP_IF_FALSE\',114)\njrel_op(\'POP_JUMP_IF_TRUE\',115)\nname_op(\'LOAD_GLOBAL\',116)\ndef_op(\'IS_OP\',117)\ndef_op(\'CONTAINS_OP\',118)\ndef_op(\'RERAISE\',119)\ndef_op(\'COPY\',120)\ndef_op(\'RETURN_CONST\',121)\nhasconst.append(121)\ndef_op(\'BINARY_OP\',122)\njrel_op(\'SEND\',123)\ndef_op(\'LOAD_FAST\',124)\nhaslocal.append(124)\ndef_op(\'STORE_FAST\',125)\nhaslocal.append(125)\ndef_op(\'DELETE_FAST\',126)\nhaslocal.append(126)\ndef_op(\'LOAD_FAST_CHECK\',127)\nhaslocal.append(127)\njrel_op(\'POP_JUMP_IF_NOT_NONE\',128)\njrel_op(\'POP_JUMP_IF_NONE\',129)\ndef_op(\'RAISE_VARARGS\',130)\ndef_op(\'GET_AWAITABLE\',131)\ndef_op(\'MAKE_FUNCTION\',132)\ndef_op(\'BUILD_SLICE\',133)\njrel_op(\'JUMP_BACKWARD_NO_INTERRUPT\',134)\ndef_op(\'MAKE_CELL\',135)\nhasfree.append(135)\ndef_op(\'LOAD_CLOSURE\',136)\nhasfree.append(136)\ndef_op(\'LOAD_DEREF\',137)\nhasfree.append(137)\ndef_op(\'STORE_DEREF\',138)\nhasfree.append(138)\ndef_op(\'DELETE_DEREF\',139)\nhasfree.append(139)\njrel_op(\'JUMP_BACKWARD\',140)\nname_op(\'LOAD_SUPER_ATTR\',141)\ndef_op(\'CALL_FUNCTION_EX\',142)\ndef_op(\'LOAD_FAST_AND_CLEAR\',143)\nhaslocal.append(143)\n\ndef_op(\'EXTENDED_ARG\',144)\nEXTENDED_ARG=144\ndef_op(\'LIST_APPEND\',145)\ndef_op(\'SET_ADD\',146)\ndef_op(\'MAP_ADD\',147)\nhasfree.append(148)\ndef_op(\'COPY_FREE_VARS\',149)\ndef_op(\'YIELD_VALUE\',150)\ndef_op(\'RESUME\',151)\ndef_op(\'MATCH_CLASS\',152)\n\ndef_op(\'FORMAT_VALUE\',155)\ndef_op(\'BUILD_CONST_KEY_MAP\',156)\ndef_op(\'BUILD_STRING\',157)\n\ndef_op(\'LIST_EXTEND\',162)\ndef_op(\'SET_UPDATE\',163)\ndef_op(\'DICT_MERGE\',164)\ndef_op(\'DICT_UPDATE\',165)\n\ndef_op(\'CALL\',171)\ndef_op(\'KW_NAMES\',172)\nhasconst.append(172)\ndef_op(\'CALL_INTRINSIC_1\',173)\ndef_op(\'CALL_INTRINSIC_2\',174)\n\nname_op(\'LOAD_FROM_DICT_OR_GLOBALS\',175)\ndef_op(\'LOAD_FROM_DICT_OR_DEREF\',176)\nhasfree.append(176)\n\n\nMIN_INSTRUMENTED_OPCODE=237\n\ndef_op(\'INSTRUMENTED_LOAD_SUPER_ATTR\',237)\ndef_op(\'INSTRUMENTED_POP_JUMP_IF_NONE\',238)\ndef_op(\'INSTRUMENTED_POP_JUMP_IF_NOT_NONE\',239)\ndef_op(\'INSTRUMENTED_RESUME\',240)\ndef_op(\'INSTRUMENTED_CALL\',241)\ndef_op(\'INSTRUMENTED_RETURN_VALUE\',242)\ndef_op(\'INSTRUMENTED_YIELD_VALUE\',243)\ndef_op(\'INSTRUMENTED_CALL_FUNCTION_EX\',244)\ndef_op(\'INSTRUMENTED_JUMP_FORWARD\',245)\ndef_op(\'INSTRUMENTED_JUMP_BACKWARD\',246)\ndef_op(\'INSTRUMENTED_RETURN_CONST\',247)\ndef_op(\'INSTRUMENTED_FOR_ITER\',248)\ndef_op(\'INSTRUMENTED_POP_JUMP_IF_FALSE\',249)\ndef_op(\'INSTRUMENTED_POP_JUMP_IF_TRUE\',250)\ndef_op(\'INSTRUMENTED_END_FOR\',251)\ndef_op(\'INSTRUMENTED_END_SEND\',252)\ndef_op(\'INSTRUMENTED_INSTRUCTION\',253)\ndef_op(\'INSTRUMENTED_LINE\',254)\n\n\nhasarg.extend([op for op in opmap.values()if op >=HAVE_ARGUMENT])\n\nMIN_PSEUDO_OPCODE=256\n\npseudo_op(\'SETUP_FINALLY\',256,[\'NOP\'])\nhasexc.append(256)\npseudo_op(\'SETUP_CLEANUP\',257,[\'NOP\'])\nhasexc.append(257)\npseudo_op(\'SETUP_WITH\',258,[\'NOP\'])\nhasexc.append(258)\npseudo_op(\'POP_BLOCK\',259,[\'NOP\'])\n\npseudo_op(\'JUMP\',260,[\'JUMP_FORWARD\',\'JUMP_BACKWARD\'])\npseudo_op(\'JUMP_NO_INTERRUPT\',261,[\'JUMP_FORWARD\',\'JUMP_BACKWARD_NO_INTERRUPT\'])\n\npseudo_op(\'LOAD_METHOD\',262,[\'LOAD_ATTR\'])\npseudo_op(\'LOAD_SUPER_METHOD\',263,[\'LOAD_SUPER_ATTR\'])\npseudo_op(\'LOAD_ZERO_SUPER_METHOD\',264,[\'LOAD_SUPER_ATTR\'])\npseudo_op(\'LOAD_ZERO_SUPER_ATTR\',265,[\'LOAD_SUPER_ATTR\'])\n\npseudo_op(\'STORE_FAST_MAYBE_NULL\',266,[\'STORE_FAST\'])\n\nMAX_PSEUDO_OPCODE=MIN_PSEUDO_OPCODE+len(_pseudo_ops)-1\n\ndel def_op,name_op,jrel_op,jabs_op,pseudo_op\n\nopname=[\'<%r>\'%(op,)for op in range(MAX_PSEUDO_OPCODE+1)]\nfor op,i in opmap.items():\n opname[i]=op\n \n \n_nb_ops=[\n("NB_ADD","+"),\n("NB_AND","&"),\n("NB_FLOOR_DIVIDE","//"),\n("NB_LSHIFT","<<"),\n("NB_MATRIX_MULTIPLY","@"),\n("NB_MULTIPLY","*"),\n("NB_REMAINDER","%"),\n("NB_OR","|"),\n("NB_POWER","**"),\n("NB_RSHIFT",">>"),\n("NB_SUBTRACT","-"),\n("NB_TRUE_DIVIDE","/"),\n("NB_XOR","^"),\n("NB_INPLACE_ADD","+="),\n("NB_INPLACE_AND","&="),\n("NB_INPLACE_FLOOR_DIVIDE","//="),\n("NB_INPLACE_LSHIFT","<<="),\n("NB_INPLACE_MATRIX_MULTIPLY","@="),\n("NB_INPLACE_MULTIPLY","*="),\n("NB_INPLACE_REMAINDER","%="),\n("NB_INPLACE_OR","|="),\n("NB_INPLACE_POWER","**="),\n("NB_INPLACE_RSHIFT",">>="),\n("NB_INPLACE_SUBTRACT","-="),\n("NB_INPLACE_TRUE_DIVIDE","/="),\n("NB_INPLACE_XOR","^="),\n]\n\n_intrinsic_1_descs=[\n"INTRINSIC_1_INVALID",\n"INTRINSIC_PRINT",\n"INTRINSIC_IMPORT_STAR",\n"INTRINSIC_STOPITERATION_ERROR",\n"INTRINSIC_ASYNC_GEN_WRAP",\n"INTRINSIC_UNARY_POSITIVE",\n"INTRINSIC_LIST_TO_TUPLE",\n"INTRINSIC_TYPEVAR",\n"INTRINSIC_PARAMSPEC",\n"INTRINSIC_TYPEVARTUPLE",\n"INTRINSIC_SUBSCRIPT_GENERIC",\n"INTRINSIC_TYPEALIAS",\n]\n\n_intrinsic_2_descs=[\n"INTRINSIC_2_INVALID",\n"INTRINSIC_PREP_RERAISE_STAR",\n"INTRINSIC_TYPEVAR_WITH_BOUND",\n"INTRINSIC_TYPEVAR_WITH_CONSTRAINTS",\n"INTRINSIC_SET_FUNCTION_TYPE_PARAMS",\n]\n\n_specializations={\n"BINARY_OP":[\n"BINARY_OP_ADD_FLOAT",\n"BINARY_OP_ADD_INT",\n"BINARY_OP_ADD_UNICODE",\n"BINARY_OP_INPLACE_ADD_UNICODE",\n"BINARY_OP_MULTIPLY_FLOAT",\n"BINARY_OP_MULTIPLY_INT",\n"BINARY_OP_SUBTRACT_FLOAT",\n"BINARY_OP_SUBTRACT_INT",\n],\n"BINARY_SUBSCR":[\n"BINARY_SUBSCR_DICT",\n"BINARY_SUBSCR_GETITEM",\n"BINARY_SUBSCR_LIST_INT",\n"BINARY_SUBSCR_TUPLE_INT",\n],\n"CALL":[\n"CALL_PY_EXACT_ARGS",\n"CALL_PY_WITH_DEFAULTS",\n"CALL_BOUND_METHOD_EXACT_ARGS",\n"CALL_BUILTIN_CLASS",\n"CALL_BUILTIN_FAST_WITH_KEYWORDS",\n"CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS",\n"CALL_NO_KW_BUILTIN_FAST",\n"CALL_NO_KW_BUILTIN_O",\n"CALL_NO_KW_ISINSTANCE",\n"CALL_NO_KW_LEN",\n"CALL_NO_KW_LIST_APPEND",\n"CALL_NO_KW_METHOD_DESCRIPTOR_FAST",\n"CALL_NO_KW_METHOD_DESCRIPTOR_NOARGS",\n"CALL_NO_KW_METHOD_DESCRIPTOR_O",\n"CALL_NO_KW_STR_1",\n"CALL_NO_KW_TUPLE_1",\n"CALL_NO_KW_TYPE_1",\n],\n"COMPARE_OP":[\n"COMPARE_OP_FLOAT",\n"COMPARE_OP_INT",\n"COMPARE_OP_STR",\n],\n"FOR_ITER":[\n"FOR_ITER_LIST",\n"FOR_ITER_TUPLE",\n"FOR_ITER_RANGE",\n"FOR_ITER_GEN",\n],\n"LOAD_SUPER_ATTR":[\n"LOAD_SUPER_ATTR_ATTR",\n"LOAD_SUPER_ATTR_METHOD",\n],\n"LOAD_ATTR":[\n\n"LOAD_ATTR_CLASS",\n"LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN",\n"LOAD_ATTR_INSTANCE_VALUE",\n"LOAD_ATTR_MODULE",\n"LOAD_ATTR_PROPERTY",\n"LOAD_ATTR_SLOT",\n"LOAD_ATTR_WITH_HINT",\n\n"LOAD_ATTR_METHOD_LAZY_DICT",\n"LOAD_ATTR_METHOD_NO_DICT",\n"LOAD_ATTR_METHOD_WITH_VALUES",\n],\n"LOAD_CONST":[\n"LOAD_CONST__LOAD_FAST",\n],\n"LOAD_FAST":[\n"LOAD_FAST__LOAD_CONST",\n"LOAD_FAST__LOAD_FAST",\n],\n"LOAD_GLOBAL":[\n"LOAD_GLOBAL_BUILTIN",\n"LOAD_GLOBAL_MODULE",\n],\n"STORE_ATTR":[\n"STORE_ATTR_INSTANCE_VALUE",\n"STORE_ATTR_SLOT",\n"STORE_ATTR_WITH_HINT",\n],\n"STORE_FAST":[\n"STORE_FAST__LOAD_FAST",\n"STORE_FAST__STORE_FAST",\n],\n"STORE_SUBSCR":[\n"STORE_SUBSCR_DICT",\n"STORE_SUBSCR_LIST_INT",\n],\n"UNPACK_SEQUENCE":[\n"UNPACK_SEQUENCE_LIST",\n"UNPACK_SEQUENCE_TUPLE",\n"UNPACK_SEQUENCE_TWO_TUPLE",\n],\n"SEND":[\n"SEND_GEN",\n],\n}\n_specialized_instructions=[\nopcode for family in _specializations.values()for opcode in family\n]\n\n_cache_format={\n"LOAD_GLOBAL":{\n"counter":1,\n"index":1,\n"module_keys_version":1,\n"builtin_keys_version":1,\n},\n"BINARY_OP":{\n"counter":1,\n},\n"UNPACK_SEQUENCE":{\n"counter":1,\n},\n"COMPARE_OP":{\n"counter":1,\n},\n"BINARY_SUBSCR":{\n"counter":1,\n},\n"FOR_ITER":{\n"counter":1,\n},\n"LOAD_SUPER_ATTR":{\n"counter":1,\n},\n"LOAD_ATTR":{\n"counter":1,\n"version":2,\n"keys_version":2,\n"descr":4,\n},\n"STORE_ATTR":{\n"counter":1,\n"version":2,\n"index":1,\n},\n"CALL":{\n"counter":1,\n"func_version":2,\n},\n"STORE_SUBSCR":{\n"counter":1,\n},\n"SEND":{\n"counter":1,\n},\n}\n\n_inline_cache_entries=[\nsum(_cache_format.get(opname[opcode],{}).values())for opcode in range(256)\n]\n',["_opcode"]],operator:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n__all__=['abs','add','and_','attrgetter','call','concat','contains','countOf',\n'delitem','eq','floordiv','ge','getitem','gt','iadd','iand',\n'iconcat','ifloordiv','ilshift','imatmul','imod','imul',\n'index','indexOf','inv','invert','ior','ipow','irshift',\n'is_','is_not','isub','itemgetter','itruediv','ixor','le',\n'length_hint','lshift','lt','matmul','methodcaller','mod',\n'mul','ne','neg','not_','or_','pos','pow','rshift',\n'setitem','sub','truediv','truth','xor']\n\nfrom builtins import abs as _abs\n\n\n\n\ndef lt(a,b):\n ''\n return a =b\n \ndef gt(a,b):\n ''\n return a >b\n \n \n \ndef not_(a):\n ''\n return not a\n \ndef truth(a):\n ''\n return True if a else False\n \ndef is_(a,b):\n ''\n return a is b\n \ndef is_not(a,b):\n ''\n return a is not b\n \n \n \ndef abs(a):\n ''\n return _abs(a)\n \ndef add(a,b):\n ''\n return a+b\n \ndef and_(a,b):\n ''\n return a&b\n \ndef floordiv(a,b):\n ''\n return a //b\n \ndef index(a):\n ''\n return a.__index__()\n \ndef inv(a):\n ''\n return ~a\ninvert=inv\n\ndef lshift(a,b):\n ''\n return a <>b\n \ndef sub(a,b):\n ''\n return a -b\n \ndef truediv(a,b):\n ''\n return a /b\n \ndef xor(a,b):\n ''\n return a ^b\n \n \n \ndef concat(a,b):\n ''\n if not hasattr(a,'__getitem__'):\n msg=\"'%s' object can't be concatenated\"%type(a).__name__\n raise TypeError(msg)\n return a+b\n \ndef contains(a,b):\n ''\n return b in a\n \ndef countOf(a,b):\n ''\n count=0\n for i in a:\n if i is b or i ==b:\n count +=1\n return count\n \ndef delitem(a,b):\n ''\n del a[b]\n \ndef getitem(a,b):\n ''\n return a[b]\n \ndef indexOf(a,b):\n ''\n for i,j in enumerate(a):\n if j is b or j ==b:\n return i\n else:\n raise ValueError('sequence.index(x): x not in sequence')\n \ndef setitem(a,b,c):\n ''\n a[b]=c\n \ndef length_hint(obj,default=0):\n ''\n\n\n\n\n\n\n \n if not isinstance(default,int):\n msg=(\"'%s' object cannot be interpreted as an integer\"%\n type(default).__name__)\n raise TypeError(msg)\n \n try:\n return len(obj)\n except TypeError:\n pass\n \n try:\n hint=type(obj).__length_hint__\n except AttributeError:\n return default\n \n try:\n val=hint(obj)\n except TypeError:\n return default\n if val is NotImplemented:\n return default\n if not isinstance(val,int):\n msg=('__length_hint__ must be integer, not %s'%\n type(val).__name__)\n raise TypeError(msg)\n if val <0:\n msg='__length_hint__() should return >= 0'\n raise ValueError(msg)\n return val\n \n \n \ndef call(obj,/,*args,**kwargs):\n ''\n return obj(*args,**kwargs)\n \n \n \nclass attrgetter:\n ''\n\n\n\n\n\n \n __slots__=('_attrs','_call')\n \n def __init__(self,attr,*attrs):\n if not attrs:\n if not isinstance(attr,str):\n raise TypeError('attribute name must be a string')\n self._attrs=(attr,)\n names=attr.split('.')\n def func(obj):\n for name in names:\n obj=getattr(obj,name)\n return obj\n self._call=func\n else:\n self._attrs=(attr,)+attrs\n getters=tuple(map(attrgetter,self._attrs))\n def func(obj):\n return tuple(getter(obj)for getter in getters)\n self._call=func\n \n def __call__(self,obj):\n return self._call(obj)\n \n def __repr__(self):\n return '%s.%s(%s)'%(self.__class__.__module__,\n self.__class__.__qualname__,\n ', '.join(map(repr,self._attrs)))\n \n def __reduce__(self):\n return self.__class__,self._attrs\n \nclass itemgetter:\n ''\n\n\n\n \n __slots__=('_items','_call')\n \n def __init__(self,item,*items):\n if not items:\n self._items=(item,)\n def func(obj):\n return obj[item]\n self._call=func\n else:\n self._items=items=(item,)+items\n def func(obj):\n return tuple(obj[i]for i in items)\n self._call=func\n \n def __call__(self,obj):\n return self._call(obj)\n \n def __repr__(self):\n return '%s.%s(%s)'%(self.__class__.__module__,\n self.__class__.__name__,\n ', '.join(map(repr,self._items)))\n \n def __reduce__(self):\n return self.__class__,self._items\n \nclass methodcaller:\n ''\n\n\n\n\n \n __slots__=('_name','_args','_kwargs')\n \n def __init__(self,name,/,*args,**kwargs):\n self._name=name\n if not isinstance(self._name,str):\n raise TypeError('method name must be a string')\n self._args=args\n self._kwargs=kwargs\n \n def __call__(self,obj):\n return getattr(obj,self._name)(*self._args,**self._kwargs)\n \n def __repr__(self):\n args=[repr(self._name)]\n args.extend(map(repr,self._args))\n args.extend('%s=%r'%(k,v)for k,v in self._kwargs.items())\n return '%s.%s(%s)'%(self.__class__.__module__,\n self.__class__.__name__,\n ', '.join(args))\n \n def __reduce__(self):\n if not self._kwargs:\n return self.__class__,(self._name,)+self._args\n else:\n from functools import partial\n return partial(self.__class__,self._name,**self._kwargs),self._args\n \n \n \n \ndef iadd(a,b):\n ''\n a +=b\n return a\n \ndef iand(a,b):\n ''\n a &=b\n return a\n \ndef iconcat(a,b):\n ''\n if not hasattr(a,'__getitem__'):\n msg=\"'%s' object can't be concatenated\"%type(a).__name__\n raise TypeError(msg)\n a +=b\n return a\n \ndef ifloordiv(a,b):\n ''\n a //=b\n return a\n \ndef ilshift(a,b):\n ''\n a <<=b\n return a\n \ndef imod(a,b):\n ''\n a %=b\n return a\n \ndef imul(a,b):\n ''\n a *=b\n return a\n \ndef imatmul(a,b):\n ''\n a @=b\n return a\n \ndef ior(a,b):\n ''\n a |=b\n return a\n \ndef ipow(a,b):\n ''\n a **=b\n return a\n \ndef irshift(a,b):\n ''\n a >>=b\n return a\n \ndef isub(a,b):\n ''\n a -=b\n return a\n \ndef itruediv(a,b):\n ''\n a /=b\n return a\n \ndef ixor(a,b):\n ''\n a ^=b\n return a\n \n \ntry:\n from _operator import *\nexcept ImportError:\n pass\nelse:\n from _operator import __doc__\n \n \n \n__lt__=lt\n__le__=le\n__eq__=eq\n__ne__=ne\n__ge__=ge\n__gt__=gt\n__not__=not_\n__abs__=abs\n__add__=add\n__and__=and_\n__call__=call\n__floordiv__=floordiv\n__index__=index\n__inv__=inv\n__invert__=invert\n__lshift__=lshift\n__mod__=mod\n__mul__=mul\n__matmul__=matmul\n__neg__=neg\n__or__=or_\n__pos__=pos\n__pow__=pow\n__rshift__=rshift\n__sub__=sub\n__truediv__=truediv\n__xor__=xor\n__concat__=concat\n__contains__=contains\n__delitem__=delitem\n__getitem__=getitem\n__setitem__=setitem\n__iadd__=iadd\n__iand__=iand\n__iconcat__=iconcat\n__ifloordiv__=ifloordiv\n__ilshift__=ilshift\n__imod__=imod\n__imul__=imul\n__imatmul__=imatmul\n__ior__=ior\n__ipow__=ipow\n__irshift__=irshift\n__isub__=isub\n__itruediv__=itruediv\n__ixor__=ixor\n",["_operator","builtins","functools"]],optparse:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__version__="1.5.3"\n\n__all__=[\'Option\',\n\'make_option\',\n\'SUPPRESS_HELP\',\n\'SUPPRESS_USAGE\',\n\'Values\',\n\'OptionContainer\',\n\'OptionGroup\',\n\'OptionParser\',\n\'HelpFormatter\',\n\'IndentedHelpFormatter\',\n\'TitledHelpFormatter\',\n\'OptParseError\',\n\'OptionError\',\n\'OptionConflictError\',\n\'OptionValueError\',\n\'BadOptionError\',\n\'check_choice\']\n\n__copyright__="""\nCopyright (c) 2001-2006 Gregory P. Ward. All rights reserved.\nCopyright (c) 2002-2006 Python Software Foundation. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n * Neither the name of the author nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS\nIS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR\nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\nEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\nPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"""\n\nimport sys,os\nimport textwrap\n\ndef _repr(self):\n return "<%s at 0x%x: %s>"%(self.__class__.__name__,id(self),self)\n \n \n \n \n \n \n \n \ntry:\n from gettext import gettext,ngettext\nexcept ImportError:\n def gettext(message):\n return message\n \n def ngettext(singular,plural,n):\n if n ==1:\n return singular\n return plural\n \n_=gettext\n\n\nclass OptParseError(Exception):\n def __init__(self,msg):\n self.msg=msg\n \n def __str__(self):\n return self.msg\n \n \nclass OptionError(OptParseError):\n \'\'\n\n\n \n \n def __init__(self,msg,option):\n self.msg=msg\n self.option_id=str(option)\n \n def __str__(self):\n if self.option_id:\n return "option %s: %s"%(self.option_id,self.msg)\n else:\n return self.msg\n \nclass OptionConflictError(OptionError):\n \'\'\n\n \n \nclass OptionValueError(OptParseError):\n \'\'\n\n\n \n \nclass BadOptionError(OptParseError):\n \'\'\n\n \n def __init__(self,opt_str):\n self.opt_str=opt_str\n \n def __str__(self):\n return _("no such option: %s")%self.opt_str\n \nclass AmbiguousOptionError(BadOptionError):\n \'\'\n\n \n def __init__(self,opt_str,possibilities):\n BadOptionError.__init__(self,opt_str)\n self.possibilities=possibilities\n \n def __str__(self):\n return(_("ambiguous option: %s (%s?)")\n %(self.opt_str,", ".join(self.possibilities)))\n \n \nclass HelpFormatter:\n\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n NO_DEFAULT_VALUE="none"\n \n def __init__(self,\n indent_increment,\n max_help_position,\n width,\n short_first):\n self.parser=None\n self.indent_increment=indent_increment\n if width is None:\n try:\n width=int(os.environ[\'COLUMNS\'])\n except(KeyError,ValueError):\n width=80\n width -=2\n self.width=width\n self.help_position=self.max_help_position=\\\n min(max_help_position,max(width -20,indent_increment *2))\n self.current_indent=0\n self.level=0\n self.help_width=None\n self.short_first=short_first\n self.default_tag="%default"\n self.option_strings={}\n self._short_opt_fmt="%s %s"\n self._long_opt_fmt="%s=%s"\n \n def set_parser(self,parser):\n self.parser=parser\n \n def set_short_opt_delimiter(self,delim):\n if delim not in(""," "):\n raise ValueError(\n "invalid metavar delimiter for short options: %r"%delim)\n self._short_opt_fmt="%s"+delim+"%s"\n \n def set_long_opt_delimiter(self,delim):\n if delim not in("="," "):\n raise ValueError(\n "invalid metavar delimiter for long options: %r"%delim)\n self._long_opt_fmt="%s"+delim+"%s"\n \n def indent(self):\n self.current_indent +=self.indent_increment\n self.level +=1\n \n def dedent(self):\n self.current_indent -=self.indent_increment\n assert self.current_indent >=0,"Indent decreased below 0."\n self.level -=1\n \n def format_usage(self,usage):\n raise NotImplementedError("subclasses must implement")\n \n def format_heading(self,heading):\n raise NotImplementedError("subclasses must implement")\n \n def _format_text(self,text):\n \'\'\n\n\n \n text_width=max(self.width -self.current_indent,11)\n indent=" "*self.current_indent\n return textwrap.fill(text,\n text_width,\n initial_indent=indent,\n subsequent_indent=indent)\n \n def format_description(self,description):\n if description:\n return self._format_text(description)+"\\n"\n else:\n return ""\n \n def format_epilog(self,epilog):\n if epilog:\n return "\\n"+self._format_text(epilog)+"\\n"\n else:\n return ""\n \n \n def expand_default(self,option):\n if self.parser is None or not self.default_tag:\n return option.help\n \n default_value=self.parser.defaults.get(option.dest)\n if default_value is NO_DEFAULT or default_value is None:\n default_value=self.NO_DEFAULT_VALUE\n \n return option.help.replace(self.default_tag,str(default_value))\n \n def format_option(self,option):\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n result=[]\n opts=self.option_strings[option]\n opt_width=self.help_position -self.current_indent -2\n if len(opts)>opt_width:\n opts="%*s%s\\n"%(self.current_indent,"",opts)\n indent_first=self.help_position\n else:\n opts="%*s%-*s "%(self.current_indent,"",opt_width,opts)\n indent_first=0\n result.append(opts)\n if option.help:\n help_text=self.expand_default(option)\n help_lines=textwrap.wrap(help_text,self.help_width)\n result.append("%*s%s\\n"%(indent_first,"",help_lines[0]))\n result.extend(["%*s%s\\n"%(self.help_position,"",line)\n for line in help_lines[1:]])\n elif opts[-1]!="\\n":\n result.append("\\n")\n return "".join(result)\n \n def store_option_strings(self,parser):\n self.indent()\n max_len=0\n for opt in parser.option_list:\n strings=self.format_option_strings(opt)\n self.option_strings[opt]=strings\n max_len=max(max_len,len(strings)+self.current_indent)\n self.indent()\n for group in parser.option_groups:\n for opt in group.option_list:\n strings=self.format_option_strings(opt)\n self.option_strings[opt]=strings\n max_len=max(max_len,len(strings)+self.current_indent)\n self.dedent()\n self.dedent()\n self.help_position=min(max_len+2,self.max_help_position)\n self.help_width=max(self.width -self.help_position,11)\n \n def format_option_strings(self,option):\n \'\'\n if option.takes_value():\n metavar=option.metavar or option.dest.upper()\n short_opts=[self._short_opt_fmt %(sopt,metavar)\n for sopt in option._short_opts]\n long_opts=[self._long_opt_fmt %(lopt,metavar)\n for lopt in option._long_opts]\n else:\n short_opts=option._short_opts\n long_opts=option._long_opts\n \n if self.short_first:\n opts=short_opts+long_opts\n else:\n opts=long_opts+short_opts\n \n return ", ".join(opts)\n \nclass IndentedHelpFormatter(HelpFormatter):\n \'\'\n \n \n def __init__(self,\n indent_increment=2,\n max_help_position=24,\n width=None,\n short_first=1):\n HelpFormatter.__init__(\n self,indent_increment,max_help_position,width,short_first)\n \n def format_usage(self,usage):\n return _("Usage: %s\\n")%usage\n \n def format_heading(self,heading):\n return "%*s%s:\\n"%(self.current_indent,"",heading)\n \n \nclass TitledHelpFormatter(HelpFormatter):\n \'\'\n \n \n def __init__(self,\n indent_increment=0,\n max_help_position=24,\n width=None,\n short_first=0):\n HelpFormatter.__init__(\n self,indent_increment,max_help_position,width,short_first)\n \n def format_usage(self,usage):\n return "%s %s\\n"%(self.format_heading(_("Usage")),usage)\n \n def format_heading(self,heading):\n return "%s\\n%s\\n"%(heading,"=-"[self.level]*len(heading))\n \n \ndef _parse_num(val,type):\n if val[:2].lower()=="0x":\n radix=16\n elif val[:2].lower()=="0b":\n radix=2\n val=val[2:]or "0"\n elif val[:1]=="0":\n radix=8\n else:\n radix=10\n \n return type(val,radix)\n \ndef _parse_int(val):\n return _parse_num(val,int)\n \n_builtin_cvt={"int":(_parse_int,_("integer")),\n"long":(_parse_int,_("integer")),\n"float":(float,_("floating-point")),\n"complex":(complex,_("complex"))}\n\ndef check_builtin(option,opt,value):\n (cvt,what)=_builtin_cvt[option.type]\n try:\n return cvt(value)\n except ValueError:\n raise OptionValueError(\n _("option %s: invalid %s value: %r")%(opt,what,value))\n \ndef check_choice(option,opt,value):\n if value in option.choices:\n return value\n else:\n choices=", ".join(map(repr,option.choices))\n raise OptionValueError(\n _("option %s: invalid choice: %r (choose from %s)")\n %(opt,value,choices))\n \n \n \nNO_DEFAULT=("NO","DEFAULT")\n\n\nclass Option:\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n ATTRS=[\'action\',\n \'type\',\n \'dest\',\n \'default\',\n \'nargs\',\n \'const\',\n \'choices\',\n \'callback\',\n \'callback_args\',\n \'callback_kwargs\',\n \'help\',\n \'metavar\']\n \n \n \n ACTIONS=("store",\n "store_const",\n "store_true",\n "store_false",\n "append",\n "append_const",\n "count",\n "callback",\n "help",\n "version")\n \n \n \n \n STORE_ACTIONS=("store",\n "store_const",\n "store_true",\n "store_false",\n "append",\n "append_const",\n "count")\n \n \n \n TYPED_ACTIONS=("store",\n "append",\n "callback")\n \n \n \n ALWAYS_TYPED_ACTIONS=("store",\n "append")\n \n \n CONST_ACTIONS=("store_const",\n "append_const")\n \n \n \n TYPES=("string","int","long","float","complex","choice")\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n TYPE_CHECKER={"int":check_builtin,\n "long":check_builtin,\n "float":check_builtin,\n "complex":check_builtin,\n "choice":check_choice,\n }\n \n \n \n \n \n \n \n \n \n \n CHECK_METHODS=None\n \n \n \n \n def __init__(self,*opts,**attrs):\n \n \n self._short_opts=[]\n self._long_opts=[]\n opts=self._check_opt_strings(opts)\n self._set_opt_strings(opts)\n \n \n self._set_attrs(attrs)\n \n \n \n \n \n \n for checker in self.CHECK_METHODS:\n checker(self)\n \n def _check_opt_strings(self,opts):\n \n \n \n opts=[opt for opt in opts if opt]\n if not opts:\n raise TypeError("at least one option string must be supplied")\n return opts\n \n def _set_opt_strings(self,opts):\n for opt in opts:\n if len(opt)<2:\n raise OptionError(\n "invalid option string %r: "\n "must be at least two characters long"%opt,self)\n elif len(opt)==2:\n if not(opt[0]=="-"and opt[1]!="-"):\n raise OptionError(\n "invalid short option string %r: "\n "must be of the form -x, (x any non-dash char)"%opt,\n self)\n self._short_opts.append(opt)\n else:\n if not(opt[0:2]=="--"and opt[2]!="-"):\n raise OptionError(\n "invalid long option string %r: "\n "must start with --, followed by non-dash"%opt,\n self)\n self._long_opts.append(opt)\n \n def _set_attrs(self,attrs):\n for attr in self.ATTRS:\n if attr in attrs:\n setattr(self,attr,attrs[attr])\n del attrs[attr]\n else:\n if attr ==\'default\':\n setattr(self,attr,NO_DEFAULT)\n else:\n setattr(self,attr,None)\n if attrs:\n attrs=sorted(attrs.keys())\n raise OptionError(\n "invalid keyword arguments: %s"%", ".join(attrs),\n self)\n \n \n \n \n def _check_action(self):\n if self.action is None:\n self.action="store"\n elif self.action not in self.ACTIONS:\n raise OptionError("invalid action: %r"%self.action,self)\n \n def _check_type(self):\n if self.type is None:\n if self.action in self.ALWAYS_TYPED_ACTIONS:\n if self.choices is not None:\n \n self.type="choice"\n else:\n \n self.type="string"\n else:\n \n \n if isinstance(self.type,type):\n self.type=self.type.__name__\n \n if self.type =="str":\n self.type="string"\n \n if self.type not in self.TYPES:\n raise OptionError("invalid option type: %r"%self.type,self)\n if self.action not in self.TYPED_ACTIONS:\n raise OptionError(\n "must not supply a type for action %r"%self.action,self)\n \n def _check_choice(self):\n if self.type =="choice":\n if self.choices is None:\n raise OptionError(\n "must supply a list of choices for type \'choice\'",self)\n elif not isinstance(self.choices,(tuple,list)):\n raise OptionError(\n "choices must be a list of strings (\'%s\' supplied)"\n %str(type(self.choices)).split("\'")[1],self)\n elif self.choices is not None:\n raise OptionError(\n "must not supply choices for type %r"%self.type,self)\n \n def _check_dest(self):\n \n \n takes_value=(self.action in self.STORE_ACTIONS or\n self.type is not None)\n if self.dest is None and takes_value:\n \n \n \n if self._long_opts:\n \n self.dest=self._long_opts[0][2:].replace(\'-\',\'_\')\n else:\n self.dest=self._short_opts[0][1]\n \n def _check_const(self):\n if self.action not in self.CONST_ACTIONS and self.const is not None:\n raise OptionError(\n "\'const\' must not be supplied for action %r"%self.action,\n self)\n \n def _check_nargs(self):\n if self.action in self.TYPED_ACTIONS:\n if self.nargs is None:\n self.nargs=1\n elif self.nargs is not None:\n raise OptionError(\n "\'nargs\' must not be supplied for action %r"%self.action,\n self)\n \n def _check_callback(self):\n if self.action =="callback":\n if not callable(self.callback):\n raise OptionError(\n "callback not callable: %r"%self.callback,self)\n if(self.callback_args is not None and\n not isinstance(self.callback_args,tuple)):\n raise OptionError(\n "callback_args, if supplied, must be a tuple: not %r"\n %self.callback_args,self)\n if(self.callback_kwargs is not None and\n not isinstance(self.callback_kwargs,dict)):\n raise OptionError(\n "callback_kwargs, if supplied, must be a dict: not %r"\n %self.callback_kwargs,self)\n else:\n if self.callback is not None:\n raise OptionError(\n "callback supplied (%r) for non-callback option"\n %self.callback,self)\n if self.callback_args is not None:\n raise OptionError(\n "callback_args supplied for non-callback option",self)\n if self.callback_kwargs is not None:\n raise OptionError(\n "callback_kwargs supplied for non-callback option",self)\n \n \n CHECK_METHODS=[_check_action,\n _check_type,\n _check_choice,\n _check_dest,\n _check_const,\n _check_nargs,\n _check_callback]\n \n \n \n \n def __str__(self):\n return "/".join(self._short_opts+self._long_opts)\n \n __repr__=_repr\n \n def takes_value(self):\n return self.type is not None\n \n def get_opt_string(self):\n if self._long_opts:\n return self._long_opts[0]\n else:\n return self._short_opts[0]\n \n \n \n \n def check_value(self,opt,value):\n checker=self.TYPE_CHECKER.get(self.type)\n if checker is None:\n return value\n else:\n return checker(self,opt,value)\n \n def convert_value(self,opt,value):\n if value is not None:\n if self.nargs ==1:\n return self.check_value(opt,value)\n else:\n return tuple([self.check_value(opt,v)for v in value])\n \n def process(self,opt,value,values,parser):\n \n \n \n value=self.convert_value(opt,value)\n \n \n \n \n return self.take_action(\n self.action,self.dest,opt,value,values,parser)\n \n def take_action(self,action,dest,opt,value,values,parser):\n if action =="store":\n setattr(values,dest,value)\n elif action =="store_const":\n setattr(values,dest,self.const)\n elif action =="store_true":\n setattr(values,dest,True)\n elif action =="store_false":\n setattr(values,dest,False)\n elif action =="append":\n values.ensure_value(dest,[]).append(value)\n elif action =="append_const":\n values.ensure_value(dest,[]).append(self.const)\n elif action =="count":\n setattr(values,dest,values.ensure_value(dest,0)+1)\n elif action =="callback":\n args=self.callback_args or()\n kwargs=self.callback_kwargs or{}\n self.callback(self,opt,value,parser,*args,**kwargs)\n elif action =="help":\n parser.print_help()\n parser.exit()\n elif action =="version":\n parser.print_version()\n parser.exit()\n else:\n raise ValueError("unknown action %r"%self.action)\n \n return 1\n \n \n \n \nSUPPRESS_HELP="SUPPRESS"+"HELP"\nSUPPRESS_USAGE="SUPPRESS"+"USAGE"\n\nclass Values:\n\n def __init__(self,defaults=None):\n if defaults:\n for(attr,val)in defaults.items():\n setattr(self,attr,val)\n \n def __str__(self):\n return str(self.__dict__)\n \n __repr__=_repr\n \n def __eq__(self,other):\n if isinstance(other,Values):\n return self.__dict__ ==other.__dict__\n elif isinstance(other,dict):\n return self.__dict__ ==other\n else:\n return NotImplemented\n \n def _update_careful(self,dict):\n \'\'\n\n\n\n\n \n for attr in dir(self):\n if attr in dict:\n dval=dict[attr]\n if dval is not None:\n setattr(self,attr,dval)\n \n def _update_loose(self,dict):\n \'\'\n\n\n\n \n self.__dict__.update(dict)\n \n def _update(self,dict,mode):\n if mode =="careful":\n self._update_careful(dict)\n elif mode =="loose":\n self._update_loose(dict)\n else:\n raise ValueError("invalid update mode: %r"%mode)\n \n def read_module(self,modname,mode="careful"):\n __import__(modname)\n mod=sys.modules[modname]\n self._update(vars(mod),mode)\n \n def read_file(self,filename,mode="careful"):\n vars={}\n exec(open(filename).read(),vars)\n self._update(vars,mode)\n \n def ensure_value(self,attr,value):\n if not hasattr(self,attr)or getattr(self,attr)is None:\n setattr(self,attr,value)\n return getattr(self,attr)\n \n \nclass OptionContainer:\n\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,option_class,conflict_handler,description):\n \n \n \n \n self._create_option_list()\n \n self.option_class=option_class\n self.set_conflict_handler(conflict_handler)\n self.set_description(description)\n \n def _create_option_mappings(self):\n \n \n \n self._short_opt={}\n self._long_opt={}\n self.defaults={}\n \n \n def _share_option_mappings(self,parser):\n \n \n self._short_opt=parser._short_opt\n self._long_opt=parser._long_opt\n self.defaults=parser.defaults\n \n def set_conflict_handler(self,handler):\n if handler not in("error","resolve"):\n raise ValueError("invalid conflict_resolution value %r"%handler)\n self.conflict_handler=handler\n \n def set_description(self,description):\n self.description=description\n \n def get_description(self):\n return self.description\n \n \n def destroy(self):\n \'\'\n del self._short_opt\n del self._long_opt\n del self.defaults\n \n \n \n \n def _check_conflict(self,option):\n conflict_opts=[]\n for opt in option._short_opts:\n if opt in self._short_opt:\n conflict_opts.append((opt,self._short_opt[opt]))\n for opt in option._long_opts:\n if opt in self._long_opt:\n conflict_opts.append((opt,self._long_opt[opt]))\n \n if conflict_opts:\n handler=self.conflict_handler\n if handler =="error":\n raise OptionConflictError(\n "conflicting option string(s): %s"\n %", ".join([co[0]for co in conflict_opts]),\n option)\n elif handler =="resolve":\n for(opt,c_option)in conflict_opts:\n if opt.startswith("--"):\n c_option._long_opts.remove(opt)\n del self._long_opt[opt]\n else:\n c_option._short_opts.remove(opt)\n del self._short_opt[opt]\n if not(c_option._short_opts or c_option._long_opts):\n c_option.container.option_list.remove(c_option)\n \n def add_option(self,*args,**kwargs):\n \'\'\n\n \n if isinstance(args[0],str):\n option=self.option_class(*args,**kwargs)\n elif len(args)==1 and not kwargs:\n option=args[0]\n if not isinstance(option,Option):\n raise TypeError("not an Option instance: %r"%option)\n else:\n raise TypeError("invalid arguments")\n \n self._check_conflict(option)\n \n self.option_list.append(option)\n option.container=self\n for opt in option._short_opts:\n self._short_opt[opt]=option\n for opt in option._long_opts:\n self._long_opt[opt]=option\n \n if option.dest is not None:\n if option.default is not NO_DEFAULT:\n self.defaults[option.dest]=option.default\n elif option.dest not in self.defaults:\n self.defaults[option.dest]=None\n \n return option\n \n def add_options(self,option_list):\n for option in option_list:\n self.add_option(option)\n \n \n \n def get_option(self,opt_str):\n return(self._short_opt.get(opt_str)or\n self._long_opt.get(opt_str))\n \n def has_option(self,opt_str):\n return(opt_str in self._short_opt or\n opt_str in self._long_opt)\n \n def remove_option(self,opt_str):\n option=self._short_opt.get(opt_str)\n if option is None:\n option=self._long_opt.get(opt_str)\n if option is None:\n raise ValueError("no such option %r"%opt_str)\n \n for opt in option._short_opts:\n del self._short_opt[opt]\n for opt in option._long_opts:\n del self._long_opt[opt]\n option.container.option_list.remove(option)\n \n \n \n \n def format_option_help(self,formatter):\n if not self.option_list:\n return ""\n result=[]\n for option in self.option_list:\n if not option.help is SUPPRESS_HELP:\n result.append(formatter.format_option(option))\n return "".join(result)\n \n def format_description(self,formatter):\n return formatter.format_description(self.get_description())\n \n def format_help(self,formatter):\n result=[]\n if self.description:\n result.append(self.format_description(formatter))\n if self.option_list:\n result.append(self.format_option_help(formatter))\n return "\\n".join(result)\n \n \nclass OptionGroup(OptionContainer):\n\n def __init__(self,parser,title,description=None):\n self.parser=parser\n OptionContainer.__init__(\n self,parser.option_class,parser.conflict_handler,description)\n self.title=title\n \n def _create_option_list(self):\n self.option_list=[]\n self._share_option_mappings(self.parser)\n \n def set_title(self,title):\n self.title=title\n \n def destroy(self):\n \'\'\n OptionContainer.destroy(self)\n del self.option_list\n \n \n \n def format_help(self,formatter):\n result=formatter.format_heading(self.title)\n formatter.indent()\n result +=OptionContainer.format_help(self,formatter)\n formatter.dedent()\n return result\n \n \nclass OptionParser(OptionContainer):\n\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n standard_option_list=[]\n \n def __init__(self,\n usage=None,\n option_list=None,\n option_class=Option,\n version=None,\n conflict_handler="error",\n description=None,\n formatter=None,\n add_help_option=True,\n prog=None,\n epilog=None):\n OptionContainer.__init__(\n self,option_class,conflict_handler,description)\n self.set_usage(usage)\n self.prog=prog\n self.version=version\n self.allow_interspersed_args=True\n self.process_default_values=True\n if formatter is None:\n formatter=IndentedHelpFormatter()\n self.formatter=formatter\n self.formatter.set_parser(self)\n self.epilog=epilog\n \n \n \n \n \n self._populate_option_list(option_list,\n add_help=add_help_option)\n \n self._init_parsing_state()\n \n \n def destroy(self):\n \'\'\n\n\n\n\n \n OptionContainer.destroy(self)\n for group in self.option_groups:\n group.destroy()\n del self.option_list\n del self.option_groups\n del self.formatter\n \n \n \n \n \n def _create_option_list(self):\n self.option_list=[]\n self.option_groups=[]\n self._create_option_mappings()\n \n def _add_help_option(self):\n self.add_option("-h","--help",\n action="help",\n help=_("show this help message and exit"))\n \n def _add_version_option(self):\n self.add_option("--version",\n action="version",\n help=_("show program\'s version number and exit"))\n \n def _populate_option_list(self,option_list,add_help=True):\n if self.standard_option_list:\n self.add_options(self.standard_option_list)\n if option_list:\n self.add_options(option_list)\n if self.version:\n self._add_version_option()\n if add_help:\n self._add_help_option()\n \n def _init_parsing_state(self):\n \n self.rargs=None\n self.largs=None\n self.values=None\n \n \n \n \n def set_usage(self,usage):\n if usage is None:\n self.usage=_("%prog [options]")\n elif usage is SUPPRESS_USAGE:\n self.usage=None\n \n elif usage.lower().startswith("usage: "):\n self.usage=usage[7:]\n else:\n self.usage=usage\n \n def enable_interspersed_args(self):\n \'\'\n\n\n\n \n self.allow_interspersed_args=True\n \n def disable_interspersed_args(self):\n \'\'\n\n\n\n \n self.allow_interspersed_args=False\n \n def set_process_default_values(self,process):\n self.process_default_values=process\n \n def set_default(self,dest,value):\n self.defaults[dest]=value\n \n def set_defaults(self,**kwargs):\n self.defaults.update(kwargs)\n \n def _get_all_options(self):\n options=self.option_list[:]\n for group in self.option_groups:\n options.extend(group.option_list)\n return options\n \n def get_default_values(self):\n if not self.process_default_values:\n \n return Values(self.defaults)\n \n defaults=self.defaults.copy()\n for option in self._get_all_options():\n default=defaults.get(option.dest)\n if isinstance(default,str):\n opt_str=option.get_opt_string()\n defaults[option.dest]=option.check_value(opt_str,default)\n \n return Values(defaults)\n \n \n \n \n def add_option_group(self,*args,**kwargs):\n \n if isinstance(args[0],str):\n group=OptionGroup(self,*args,**kwargs)\n elif len(args)==1 and not kwargs:\n group=args[0]\n if not isinstance(group,OptionGroup):\n raise TypeError("not an OptionGroup instance: %r"%group)\n if group.parser is not self:\n raise ValueError("invalid OptionGroup (wrong parser)")\n else:\n raise TypeError("invalid arguments")\n \n self.option_groups.append(group)\n return group\n \n def get_option_group(self,opt_str):\n option=(self._short_opt.get(opt_str)or\n self._long_opt.get(opt_str))\n if option and option.container is not self:\n return option.container\n return None\n \n \n \n \n def _get_args(self,args):\n if args is None:\n return sys.argv[1:]\n else:\n return args[:]\n \n def parse_args(self,args=None,values=None):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n \n rargs=self._get_args(args)\n if values is None:\n values=self.get_default_values()\n \n \n \n \n \n \n \n \n \n \n self.rargs=rargs\n self.largs=largs=[]\n self.values=values\n \n try:\n stop=self._process_args(largs,rargs,values)\n except(BadOptionError,OptionValueError)as err:\n self.error(str(err))\n \n args=largs+rargs\n return self.check_values(values,args)\n \n def check_values(self,values,args):\n \'\'\n\n\n\n\n\n\n\n\n \n return(values,args)\n \n def _process_args(self,largs,rargs,values):\n \'\'\n\n\n\n\n\n\n\n \n while rargs:\n arg=rargs[0]\n \n \n \n if arg =="--":\n del rargs[0]\n return\n elif arg[0:2]=="--":\n \n self._process_long_opt(rargs,values)\n elif arg[:1]=="-"and len(arg)>1:\n \n \n self._process_short_opts(rargs,values)\n elif self.allow_interspersed_args:\n largs.append(arg)\n del rargs[0]\n else:\n return\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n def _match_long_opt(self,opt):\n \'\'\n\n\n\n\n \n return _match_abbrev(opt,self._long_opt)\n \n def _process_long_opt(self,rargs,values):\n arg=rargs.pop(0)\n \n \n \n if "="in arg:\n (opt,next_arg)=arg.split("=",1)\n rargs.insert(0,next_arg)\n had_explicit_value=True\n else:\n opt=arg\n had_explicit_value=False\n \n opt=self._match_long_opt(opt)\n option=self._long_opt[opt]\n if option.takes_value():\n nargs=option.nargs\n if len(rargs)\".format(self.path)\n return \"\"\n \n def add_dll_directory(path):\n ''\n\n\n\n\n\n\n\n \n import nt\n cookie=nt._add_dll_directory(path)\n return _AddedDllDirectory(\n path,\n cookie,\n nt._remove_dll_directory\n )\n \n \ndef scandir(*args,**kw):\n raise NotImplementedError('browsers cannot read a directory content')\n \ndef waitstatus_to_exitcode(status):\n return status >>8\n \n_set=set()\n\nsupports_dir_fd=_set\n\nsupports_effective_ids=_set\n\nsupports_fd=_set\n\nsupports_follow_symlinks=_set\n\n",["abc","nt","os.path","posix","posixpath","sys"]],pathlib:[".py","''\n\n\n\n\n\n\nimport fnmatch\nimport functools\nimport io\nimport ntpath\nimport os\nimport posixpath\nimport re\nimport sys\nimport warnings\nfrom _collections_abc import Sequence\nfrom errno import ENOENT,ENOTDIR,EBADF,ELOOP\nfrom stat import S_ISDIR,S_ISLNK,S_ISREG,S_ISSOCK,S_ISBLK,S_ISCHR,S_ISFIFO\nfrom urllib.parse import quote_from_bytes as urlquote_from_bytes\n\n\n__all__=[\n\"PurePath\",\"PurePosixPath\",\"PureWindowsPath\",\n\"Path\",\"PosixPath\",\"WindowsPath\",\n]\n\n\n\n\n\n\n\n_WIN_RESERVED_NAMES=frozenset(\n{'CON','PRN','AUX','NUL','CONIN$','CONOUT$'}|\n{f'COM{c}'for c in '123456789\\xb9\\xb2\\xb3'}|\n{f'LPT{c}'for c in '123456789\\xb9\\xb2\\xb3'}\n)\n\n_WINERROR_NOT_READY=21\n_WINERROR_INVALID_NAME=123\n_WINERROR_CANT_RESOLVE_FILENAME=1921\n\n\n_IGNORED_ERRNOS=(ENOENT,ENOTDIR,EBADF,ELOOP)\n\n_IGNORED_WINERRORS=(\n_WINERROR_NOT_READY,\n_WINERROR_INVALID_NAME,\n_WINERROR_CANT_RESOLVE_FILENAME)\n\ndef _ignore_error(exception):\n return(getattr(exception,'errno',None)in _IGNORED_ERRNOS or\n getattr(exception,'winerror',None)in _IGNORED_WINERRORS)\n \n \n@functools.cache\ndef _is_case_sensitive(flavour):\n return flavour.normcase('Aa')=='Aa'\n \n \n \n \n \n \n \n \n \n \n \n \n \n_FNMATCH_PREFIX,_FNMATCH_SUFFIX=fnmatch.translate('_').split('_')\n_FNMATCH_SLICE=slice(len(_FNMATCH_PREFIX),-len(_FNMATCH_SUFFIX))\n_SWAP_SEP_AND_NEWLINE={\n'/':str.maketrans({'/':'\\n','\\n':'/'}),\n'\\\\':str.maketrans({'\\\\':'\\n','\\n':'\\\\'}),\n}\n\n\n@functools.lru_cache()\ndef _make_selector(pattern_parts,flavour,case_sensitive):\n pat=pattern_parts[0]\n if not pat:\n return _TerminatingSelector()\n if pat =='**':\n child_parts_idx=1\n while child_parts_idx =len(self)or idx <-len(self):\n raise IndexError(idx)\n if idx <0:\n idx +=len(self)\n return self._path._from_parsed_parts(self._drv,self._root,\n self._tail[:-idx -1])\n \n def __repr__(self):\n return \"<{}.parents>\".format(type(self._path).__name__)\n \n \nclass PurePath(object):\n ''\n\n\n\n\n\n\n \n \n __slots__=(\n \n \n '_raw_paths',\n \n \n \n \n \n \n \n \n '_drv','_root','_tail_cached',\n \n \n \n \n '_str',\n \n \n \n \n \n '_str_normcase_cached',\n \n \n \n \n \n '_parts_normcase_cached',\n \n \n \n '_lines_cached',\n \n \n \n '_hash',\n )\n _flavour=os.path\n \n def __new__(cls,*args,**kwargs):\n ''\n\n\n\n \n if cls is PurePath:\n cls=PureWindowsPath if os.name =='nt'else PurePosixPath\n return object.__new__(cls)\n \n def __reduce__(self):\n \n \n return(self.__class__,self.parts)\n \n def __init__(self,*args):\n paths=[]\n for arg in args:\n if isinstance(arg,PurePath):\n if arg._flavour is ntpath and self._flavour is posixpath:\n \n paths.extend(path.replace('\\\\','/')for path in arg._raw_paths)\n else:\n paths.extend(arg._raw_paths)\n else:\n try:\n path=os.fspath(arg)\n except TypeError:\n path=arg\n if not isinstance(path,str):\n raise TypeError(\n \"argument should be a str or an os.PathLike \"\n \"object where __fspath__ returns a str, \"\n f\"not {type(path).__name__ !r}\")\n paths.append(path)\n self._raw_paths=paths\n \n def with_segments(self,*pathsegments):\n ''\n\n\n \n return type(self)(*pathsegments)\n \n @classmethod\n def _parse_path(cls,path):\n if not path:\n return '','',[]\n sep=cls._flavour.sep\n altsep=cls._flavour.altsep\n if altsep:\n path=path.replace(altsep,sep)\n drv,root,rel=cls._flavour.splitroot(path)\n if not root and drv.startswith(sep)and not drv.endswith(sep):\n drv_parts=drv.split(sep)\n if len(drv_parts)==4 and drv_parts[2]not in '?.':\n \n root=sep\n elif len(drv_parts)==6:\n \n root=sep\n parsed=[sys.intern(str(x))for x in rel.split(sep)if x and x !='.']\n return drv,root,parsed\n \n def _load_parts(self):\n paths=self._raw_paths\n if len(paths)==0:\n path=''\n elif len(paths)==1:\n path=paths[0]\n else:\n path=self._flavour.join(*paths)\n drv,root,tail=self._parse_path(path)\n self._drv=drv\n self._root=root\n self._tail_cached=tail\n \n def _from_parsed_parts(self,drv,root,tail):\n path_str=self._format_parsed_parts(drv,root,tail)\n path=self.with_segments(path_str)\n path._str=path_str or '.'\n path._drv=drv\n path._root=root\n path._tail_cached=tail\n return path\n \n @classmethod\n def _format_parsed_parts(cls,drv,root,tail):\n if drv or root:\n return drv+root+cls._flavour.sep.join(tail)\n elif tail and cls._flavour.splitdrive(tail[0])[0]:\n tail=['.']+tail\n return cls._flavour.sep.join(tail)\n \n def __str__(self):\n ''\n \n try:\n return self._str\n except AttributeError:\n self._str=self._format_parsed_parts(self.drive,self.root,\n self._tail)or '.'\n return self._str\n \n def __fspath__(self):\n return str(self)\n \n def as_posix(self):\n ''\n \n f=self._flavour\n return str(self).replace(f.sep,'/')\n \n def __bytes__(self):\n ''\n \n return os.fsencode(self)\n \n def __repr__(self):\n return \"{}({!r})\".format(self.__class__.__name__,self.as_posix())\n \n def as_uri(self):\n ''\n if not self.is_absolute():\n raise ValueError(\"relative path can't be expressed as a file URI\")\n \n drive=self.drive\n if len(drive)==2 and drive[1]==':':\n \n prefix='file:///'+drive\n path=self.as_posix()[2:]\n elif drive:\n \n prefix='file:'\n path=self.as_posix()\n else:\n \n prefix='file://'\n path=str(self)\n return prefix+urlquote_from_bytes(os.fsencode(path))\n \n @property\n def _str_normcase(self):\n \n try:\n return self._str_normcase_cached\n except AttributeError:\n if _is_case_sensitive(self._flavour):\n self._str_normcase_cached=str(self)\n else:\n self._str_normcase_cached=str(self).lower()\n return self._str_normcase_cached\n \n @property\n def _parts_normcase(self):\n \n try:\n return self._parts_normcase_cached\n except AttributeError:\n self._parts_normcase_cached=self._str_normcase.split(self._flavour.sep)\n return self._parts_normcase_cached\n \n @property\n def _lines(self):\n \n try:\n return self._lines_cached\n except AttributeError:\n path_str=str(self)\n if path_str =='.':\n self._lines_cached=''\n else:\n trans=_SWAP_SEP_AND_NEWLINE[self._flavour.sep]\n self._lines_cached=path_str.translate(trans)\n return self._lines_cached\n \n def __eq__(self,other):\n if not isinstance(other,PurePath):\n return NotImplemented\n return self._str_normcase ==other._str_normcase and self._flavour is other._flavour\n \n def __hash__(self):\n try:\n return self._hash\n except AttributeError:\n self._hash=hash(self._str_normcase)\n return self._hash\n \n def __lt__(self,other):\n if not isinstance(other,PurePath)or self._flavour is not other._flavour:\n return NotImplemented\n return self._parts_normcase other._parts_normcase\n \n def __ge__(self,other):\n if not isinstance(other,PurePath)or self._flavour is not other._flavour:\n return NotImplemented\n return self._parts_normcase >=other._parts_normcase\n \n @property\n def drive(self):\n ''\n try:\n return self._drv\n except AttributeError:\n self._load_parts()\n return self._drv\n \n @property\n def root(self):\n ''\n try:\n return self._root\n except AttributeError:\n self._load_parts()\n return self._root\n \n @property\n def _tail(self):\n try:\n return self._tail_cached\n except AttributeError:\n self._load_parts()\n return self._tail_cached\n \n @property\n def anchor(self):\n ''\n anchor=self.drive+self.root\n return anchor\n \n @property\n def name(self):\n ''\n tail=self._tail\n if not tail:\n return ''\n return tail[-1]\n \n @property\n def suffix(self):\n ''\n\n\n\n \n name=self.name\n i=name.rfind('.')\n if 0 >> import pdb\n >>> pdb.run('')\n\nThe debugger's prompt is '(Pdb) '. This will stop in the first\nfunction call in .\n\nAlternatively, if a statement terminated with an unhandled exception,\nyou can use pdb's post-mortem facility to inspect the contents of the\ntraceback:\n\n >>> \n \n >>> import pdb\n >>> pdb.pm()\n\nThe commands recognized by the debugger are listed in the next\nsection. Most can be abbreviated as indicated; e.g., h(elp) means\nthat 'help' can be typed as 'h' or 'help' (but not as 'he' or 'hel',\nnor as 'H' or 'Help' or 'HELP'). Optional arguments are enclosed in\nsquare brackets. Alternatives in the command syntax are separated\nby a vertical bar (|).\n\nA blank line repeats the previous command literally, except for\n'list', where it lists the next 11 lines.\n\nCommands that the debugger doesn't recognize are assumed to be Python\nstatements and are executed in the context of the program being\ndebugged. Python statements can also be prefixed with an exclamation\npoint ('!'). This is a powerful way to inspect the program being\ndebugged; it is even possible to change variables or call functions.\nWhen an exception occurs in such a statement, the exception name is\nprinted but the debugger's state is not changed.\n\nThe debugger supports aliases, which can save typing. And aliases can\nhave parameters (see the alias help entry) which allows one a certain\nlevel of adaptability to the context under examination.\n\nMultiple commands may be entered on a single line, separated by the\npair ';;'. No intelligence is applied to separating the commands; the\ninput is split at the first ';;', even if it is in the middle of a\nquoted string.\n\nIf a file \".pdbrc\" exists in your home directory or in the current\ndirectory, it is read in and executed as if it had been typed at the\ndebugger prompt. This is particularly useful for aliases. If both\nfiles exist, the one in the home directory is read first and aliases\ndefined there can be overridden by the local file. This behavior can be\ndisabled by passing the \"readrc=False\" argument to the Pdb constructor.\n\nAside from aliases, the debugger is not directly programmable; but it\nis implemented as a class from which you can derive your own debugger\nclass, which you can make as fancy as you like.\n\n\nDebugger commands\n=================\n\n\"\"\"\n\n\n\nimport os\nimport io\nimport re\nimport sys\nimport cmd\nimport bdb\nimport dis\nimport code\nimport glob\nimport pprint\nimport signal\nimport inspect\nimport tokenize\nimport functools\nimport traceback\nimport linecache\n\nfrom typing import Union\n\n\nclass Restart(Exception):\n ''\n pass\n \n__all__=[\"run\",\"pm\",\"Pdb\",\"runeval\",\"runctx\",\"runcall\",\"set_trace\",\n\"post_mortem\",\"help\"]\n\ndef find_function(funcname,filename):\n cre=re.compile(r'def\\s+%s\\s*[(]'%re.escape(funcname))\n try:\n fp=tokenize.open(filename)\n except OSError:\n return None\n \n with fp:\n for lineno,line in enumerate(fp,start=1):\n if cre.match(line):\n return funcname,filename,lineno\n return None\n \ndef lasti2lineno(code,lasti):\n linestarts=list(dis.findlinestarts(code))\n linestarts.reverse()\n for i,lineno in linestarts:\n if lasti >=i:\n return lineno\n return 0\n \n \nclass _rstr(str):\n ''\n def __repr__(self):\n return self\n \n \nclass _ScriptTarget(str):\n def __new__(cls,val):\n \n res=super().__new__(cls,os.path.realpath(val))\n \n \n res.orig=val\n \n return res\n \n def check(self):\n if not os.path.exists(self):\n print('Error:',self.orig,'does not exist')\n sys.exit(1)\n \n \n sys.path[0]=os.path.dirname(self)\n \n @property\n def filename(self):\n return self\n \n @property\n def namespace(self):\n return dict(\n __name__='__main__',\n __file__=self,\n __builtins__=__builtins__,\n )\n \n @property\n def code(self):\n with io.open_code(self)as fp:\n return f\"exec(compile({fp.read()!r}, {self !r}, 'exec'))\"\n \n \nclass _ModuleTarget(str):\n def check(self):\n try:\n self._details\n except Exception:\n traceback.print_exc()\n sys.exit(1)\n \n @functools.cached_property\n def _details(self):\n import runpy\n return runpy._get_module_details(self)\n \n @property\n def filename(self):\n return self.code.co_filename\n \n @property\n def code(self):\n name,spec,code=self._details\n return code\n \n @property\n def _spec(self):\n name,spec,code=self._details\n return spec\n \n @property\n def namespace(self):\n return dict(\n __name__='__main__',\n __file__=os.path.normcase(os.path.abspath(self.filename)),\n __package__=self._spec.parent,\n __loader__=self._spec.loader,\n __spec__=self._spec,\n __builtins__=__builtins__,\n )\n \n \n \n \n \n \n \nline_prefix='\\n-> '\n\nclass Pdb(bdb.Bdb,cmd.Cmd):\n\n _previous_sigint_handler=None\n \n def __init__(self,completekey='tab',stdin=None,stdout=None,skip=None,\n nosigint=False,readrc=True):\n bdb.Bdb.__init__(self,skip=skip)\n cmd.Cmd.__init__(self,completekey,stdin,stdout)\n sys.audit(\"pdb.Pdb\")\n if stdout:\n self.use_rawinput=0\n self.prompt='(Pdb) '\n self.aliases={}\n self.displaying={}\n self.mainpyfile=''\n self._wait_for_mainpyfile=False\n self.tb_lineno={}\n \n try:\n import readline\n \n readline.set_completer_delims(' \\t\\n`@#$%^&*()=+[{]}\\\\|;:\\'\",<>?')\n except ImportError:\n pass\n self.allow_kbdint=False\n self.nosigint=nosigint\n \n \n self.rcLines=[]\n if readrc:\n try:\n with open(os.path.expanduser('~/.pdbrc'),encoding='utf-8')as rcFile:\n self.rcLines.extend(rcFile)\n except OSError:\n pass\n try:\n with open(\".pdbrc\",encoding='utf-8')as rcFile:\n self.rcLines.extend(rcFile)\n except OSError:\n pass\n \n self.commands={}\n self.commands_doprompt={}\n \n self.commands_silent={}\n \n self.commands_defining=False\n \n self.commands_bnum=None\n \n \n def sigint_handler(self,signum,frame):\n if self.allow_kbdint:\n raise KeyboardInterrupt\n self.message(\"\\nProgram interrupted. (Use 'cont' to resume).\")\n self.set_step()\n self.set_trace(frame)\n \n def reset(self):\n bdb.Bdb.reset(self)\n self.forget()\n \n def forget(self):\n self.lineno=None\n self.stack=[]\n self.curindex=0\n if hasattr(self,'curframe')and self.curframe:\n self.curframe.f_globals.pop('__pdb_convenience_variables',None)\n self.curframe=None\n self.tb_lineno.clear()\n \n def setup(self,f,tb):\n self.forget()\n self.stack,self.curindex=self.get_stack(f,tb)\n while tb:\n \n \n \n lineno=lasti2lineno(tb.tb_frame.f_code,tb.tb_lasti)\n self.tb_lineno[tb.tb_frame]=lineno\n tb=tb.tb_next\n self.curframe=self.stack[self.curindex][0]\n \n \n \n self.curframe_locals=self.curframe.f_locals\n self.set_convenience_variable(self.curframe,'_frame',self.curframe)\n return self.execRcLines()\n \n \n def execRcLines(self):\n if not self.rcLines:\n return\n \n rcLines=self.rcLines\n rcLines.reverse()\n \n self.rcLines=[]\n while rcLines:\n line=rcLines.pop().strip()\n if line and line[0]!='#':\n if self.onecmd(line):\n \n \n \n self.rcLines +=reversed(rcLines)\n return True\n \n \n \n def user_call(self,frame,argument_list):\n ''\n \n if self._wait_for_mainpyfile:\n return\n if self.stop_here(frame):\n self.message('--Call--')\n self.interaction(frame,None)\n \n def user_line(self,frame):\n ''\n if self._wait_for_mainpyfile:\n if(self.mainpyfile !=self.canonic(frame.f_code.co_filename)\n or frame.f_lineno <=0):\n return\n self._wait_for_mainpyfile=False\n if self.bp_commands(frame):\n self.interaction(frame,None)\n \n def bp_commands(self,frame):\n ''\n\n\n\n \n \n if getattr(self,\"currentbp\",False)and\\\n self.currentbp in self.commands:\n currentbp=self.currentbp\n self.currentbp=0\n lastcmd_back=self.lastcmd\n self.setup(frame,None)\n for line in self.commands[currentbp]:\n self.onecmd(line)\n self.lastcmd=lastcmd_back\n if not self.commands_silent[currentbp]:\n self.print_stack_entry(self.stack[self.curindex])\n if self.commands_doprompt[currentbp]:\n self._cmdloop()\n self.forget()\n return\n return 1\n \n def user_return(self,frame,return_value):\n ''\n if self._wait_for_mainpyfile:\n return\n frame.f_locals['__return__']=return_value\n self.set_convenience_variable(frame,'_retval',return_value)\n self.message('--Return--')\n self.interaction(frame,None)\n \n def user_exception(self,frame,exc_info):\n ''\n \n if self._wait_for_mainpyfile:\n return\n exc_type,exc_value,exc_traceback=exc_info\n frame.f_locals['__exception__']=exc_type,exc_value\n self.set_convenience_variable(frame,'_exception',exc_value)\n \n \n \n \n \n \n prefix='Internal 'if(not exc_traceback\n and exc_type is StopIteration)else ''\n self.message('%s%s'%(prefix,self._format_exc(exc_value)))\n self.interaction(frame,exc_traceback)\n \n \n def _cmdloop(self):\n while True:\n try:\n \n \n self.allow_kbdint=True\n self.cmdloop()\n self.allow_kbdint=False\n break\n except KeyboardInterrupt:\n self.message('--KeyboardInterrupt--')\n \n \n \n def preloop(self):\n displaying=self.displaying.get(self.curframe)\n if displaying:\n for expr,oldvalue in displaying.items():\n newvalue=self._getval_except(expr)\n \n \n \n if newvalue is not oldvalue and newvalue !=oldvalue:\n displaying[expr]=newvalue\n self.message('display %s: %r [old: %r]'%\n (expr,newvalue,oldvalue))\n \n def interaction(self,frame,traceback):\n \n if Pdb._previous_sigint_handler:\n try:\n signal.signal(signal.SIGINT,Pdb._previous_sigint_handler)\n except ValueError:\n pass\n else:\n Pdb._previous_sigint_handler=None\n if self.setup(frame,traceback):\n \n \n self.forget()\n return\n self.print_stack_entry(self.stack[self.curindex])\n self._cmdloop()\n self.forget()\n \n def displayhook(self,obj):\n ''\n\n \n \n if obj is not None:\n self.message(repr(obj))\n \n def default(self,line):\n if line[:1]=='!':line=line[1:].strip()\n locals=self.curframe_locals\n globals=self.curframe.f_globals\n try:\n code=compile(line+'\\n','','single')\n save_stdout=sys.stdout\n save_stdin=sys.stdin\n save_displayhook=sys.displayhook\n try:\n sys.stdin=self.stdin\n sys.stdout=self.stdout\n sys.displayhook=self.displayhook\n exec(code,globals,locals)\n finally:\n sys.stdout=save_stdout\n sys.stdin=save_stdin\n sys.displayhook=save_displayhook\n except:\n self._error_exc()\n \n def precmd(self,line):\n ''\n if not line.strip():\n return line\n args=line.split()\n while args[0]in self.aliases:\n line=self.aliases[args[0]]\n ii=1\n for tmpArg in args[1:]:\n line=line.replace(\"%\"+str(ii),\n tmpArg)\n ii +=1\n line=line.replace(\"%*\",' '.join(args[1:]))\n args=line.split()\n \n \n if args[0]!='alias':\n marker=line.find(';;')\n if marker >=0:\n \n next=line[marker+2:].lstrip()\n self.cmdqueue.append(next)\n line=line[:marker].rstrip()\n \n \n line=re.sub(r'\\$([a-zA-Z_][a-zA-Z0-9_]*)',r'__pdb_convenience_variables[\"\\1\"]',line)\n return line\n \n def onecmd(self,line):\n ''\n\n\n\n\n \n if not self.commands_defining:\n return cmd.Cmd.onecmd(self,line)\n else:\n return self.handle_command_def(line)\n \n def handle_command_def(self,line):\n ''\n cmd,arg,line=self.parseline(line)\n if not cmd:\n return\n if cmd =='silent':\n self.commands_silent[self.commands_bnum]=True\n return\n elif cmd =='end':\n self.cmdqueue=[]\n return 1\n cmdlist=self.commands[self.commands_bnum]\n if arg:\n cmdlist.append(cmd+' '+arg)\n else:\n cmdlist.append(cmd)\n \n try:\n func=getattr(self,'do_'+cmd)\n except AttributeError:\n func=self.default\n \n if func.__name__ in self.commands_resuming:\n self.commands_doprompt[self.commands_bnum]=False\n self.cmdqueue=[]\n return 1\n return\n \n \n \n def message(self,msg):\n print(msg,file=self.stdout)\n \n def error(self,msg):\n print('***',msg,file=self.stdout)\n \n \n \n def set_convenience_variable(self,frame,name,value):\n if '__pdb_convenience_variables'not in frame.f_globals:\n frame.f_globals['__pdb_convenience_variables']={}\n frame.f_globals['__pdb_convenience_variables'][name]=value\n \n \n \n \n def _complete_location(self,text,line,begidx,endidx):\n \n if line.strip().endswith((':',',')):\n \n return[]\n \n try:\n ret=self._complete_expression(text,line,begidx,endidx)\n except Exception:\n ret=[]\n \n globs=glob.glob(glob.escape(text)+'*')\n for fn in globs:\n if os.path.isdir(fn):\n ret.append(fn+'/')\n elif os.path.isfile(fn)and fn.lower().endswith(('.py','.pyw')):\n ret.append(fn+':')\n return ret\n \n def _complete_bpnumber(self,text,line,begidx,endidx):\n \n \n \n return[str(i)for i,bp in enumerate(bdb.Breakpoint.bpbynumber)\n if bp is not None and str(i).startswith(text)]\n \n def _complete_expression(self,text,line,begidx,endidx):\n \n if not self.curframe:\n return[]\n \n \n \n ns={**self.curframe.f_globals,**self.curframe_locals}\n if '.'in text:\n \n \n \n dotted=text.split('.')\n try:\n obj=ns[dotted[0]]\n for part in dotted[1:-1]:\n obj=getattr(obj,part)\n except(KeyError,AttributeError):\n return[]\n prefix='.'.join(dotted[:-1])+'.'\n return[prefix+n for n in dir(obj)if n.startswith(dotted[-1])]\n else:\n \n return[n for n in ns.keys()if n.startswith(text)]\n \n \n \n \n \n def do_commands(self,arg):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not arg:\n bnum=len(bdb.Breakpoint.bpbynumber)-1\n else:\n try:\n bnum=int(arg)\n except:\n self.error(\"Usage: commands [bnum]\\n ...\\n end\")\n return\n try:\n self.get_bpbynumber(bnum)\n except ValueError as err:\n self.error('cannot set commands: %s'%err)\n return\n \n self.commands_bnum=bnum\n \n if bnum in self.commands:\n old_command_defs=(self.commands[bnum],\n self.commands_doprompt[bnum],\n self.commands_silent[bnum])\n else:\n old_command_defs=None\n self.commands[bnum]=[]\n self.commands_doprompt[bnum]=True\n self.commands_silent[bnum]=False\n \n prompt_back=self.prompt\n self.prompt='(com) '\n self.commands_defining=True\n try:\n self.cmdloop()\n except KeyboardInterrupt:\n \n if old_command_defs:\n self.commands[bnum]=old_command_defs[0]\n self.commands_doprompt[bnum]=old_command_defs[1]\n self.commands_silent[bnum]=old_command_defs[2]\n else:\n del self.commands[bnum]\n del self.commands_doprompt[bnum]\n del self.commands_silent[bnum]\n self.error('command definition aborted, old commands restored')\n finally:\n self.commands_defining=False\n self.prompt=prompt_back\n \n complete_commands=_complete_bpnumber\n \n def do_break(self,arg,temporary=0):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not arg:\n if self.breaks:\n self.message(\"Num Type Disp Enb Where\")\n for bp in bdb.Breakpoint.bpbynumber:\n if bp:\n self.message(bp.bpformat())\n return\n \n \n filename=None\n lineno=None\n cond=None\n comma=arg.find(',')\n if comma >0:\n \n cond=arg[comma+1:].lstrip()\n if err :=self._compile_error_message(cond):\n self.error('Invalid condition %s: %r'%(cond,err))\n return\n arg=arg[:comma].rstrip()\n \n colon=arg.rfind(':')\n funcname=None\n if colon >=0:\n filename=arg[:colon].rstrip()\n f=self.lookupmodule(filename)\n if not f:\n self.error('%r not found from sys.path'%filename)\n return\n else:\n filename=f\n arg=arg[colon+1:].lstrip()\n try:\n lineno=int(arg)\n except ValueError:\n self.error('Bad lineno: %s'%arg)\n return\n else:\n \n try:\n lineno=int(arg)\n except ValueError:\n try:\n func=eval(arg,\n self.curframe.f_globals,\n self.curframe_locals)\n except:\n func=arg\n try:\n if hasattr(func,'__func__'):\n func=func.__func__\n code=func.__code__\n \n \n funcname=code.co_name\n lineno=code.co_firstlineno\n filename=code.co_filename\n except:\n \n (ok,filename,ln)=self.lineinfo(arg)\n if not ok:\n self.error('The specified object %r is not a function '\n 'or was not found along sys.path.'%arg)\n return\n funcname=ok\n lineno=int(ln)\n if not filename:\n filename=self.defaultFile()\n \n line=self.checkline(filename,lineno)\n if line:\n \n err=self.set_break(filename,line,temporary,cond,funcname)\n if err:\n self.error(err)\n else:\n bp=self.get_breaks(filename,line)[-1]\n self.message(\"Breakpoint %d at %s:%d\"%\n (bp.number,bp.file,bp.line))\n \n \n def defaultFile(self):\n ''\n filename=self.curframe.f_code.co_filename\n if filename ==''and self.mainpyfile:\n filename=self.mainpyfile\n return filename\n \n do_b=do_break\n \n complete_break=_complete_location\n complete_b=_complete_location\n \n def do_tbreak(self,arg):\n ''\n\n\n\n \n self.do_break(arg,1)\n \n complete_tbreak=_complete_location\n \n def lineinfo(self,identifier):\n failed=(None,None,None)\n \n idstring=identifier.split(\"'\")\n if len(idstring)==1:\n \n id=idstring[0].strip()\n elif len(idstring)==3:\n \n id=idstring[1].strip()\n else:\n return failed\n if id =='':return failed\n parts=id.split('.')\n \n if parts[0]=='self':\n del parts[0]\n if len(parts)==0:\n return failed\n \n fname=self.defaultFile()\n if len(parts)==1:\n item=parts[0]\n else:\n \n \n f=self.lookupmodule(parts[0])\n if f:\n fname=f\n item=parts[1]\n answer=find_function(item,fname)\n return answer or failed\n \n def checkline(self,filename,lineno):\n ''\n\n\n\n \n \n \n frame=getattr(self,'curframe',None)\n globs=frame.f_globals if frame else None\n line=linecache.getline(filename,lineno,globs)\n if not line:\n self.message('End of file')\n return 0\n line=line.strip()\n \n if(not line or(line[0]=='#')or\n (line[:3]=='\"\"\"')or line[:3]==\"'''\"):\n self.error('Blank or comment')\n return 0\n return lineno\n \n def do_enable(self,arg):\n ''\n\n\n\n \n args=arg.split()\n for i in args:\n try:\n bp=self.get_bpbynumber(i)\n except ValueError as err:\n self.error(err)\n else:\n bp.enable()\n self.message('Enabled %s'%bp)\n \n complete_enable=_complete_bpnumber\n \n def do_disable(self,arg):\n ''\n\n\n\n\n\n\n \n args=arg.split()\n for i in args:\n try:\n bp=self.get_bpbynumber(i)\n except ValueError as err:\n self.error(err)\n else:\n bp.disable()\n self.message('Disabled %s'%bp)\n \n complete_disable=_complete_bpnumber\n \n def do_condition(self,arg):\n ''\n\n\n\n\n\n \n args=arg.split(' ',1)\n try:\n cond=args[1]\n if err :=self._compile_error_message(cond):\n self.error('Invalid condition %s: %r'%(cond,err))\n return\n except IndexError:\n cond=None\n try:\n bp=self.get_bpbynumber(args[0].strip())\n except IndexError:\n self.error('Breakpoint number expected')\n except ValueError as err:\n self.error(err)\n else:\n bp.cond=cond\n if not cond:\n self.message('Breakpoint %d is now unconditional.'%bp.number)\n else:\n self.message('New condition set for breakpoint %d.'%bp.number)\n \n complete_condition=_complete_bpnumber\n \n def do_ignore(self,arg):\n ''\n\n\n\n\n\n\n\n \n args=arg.split()\n try:\n count=int(args[1].strip())\n except:\n count=0\n try:\n bp=self.get_bpbynumber(args[0].strip())\n except IndexError:\n self.error('Breakpoint number expected')\n except ValueError as err:\n self.error(err)\n else:\n bp.ignore=count\n if count >0:\n if count >1:\n countstr='%d crossings'%count\n else:\n countstr='1 crossing'\n self.message('Will ignore next %s of breakpoint %d.'%\n (countstr,bp.number))\n else:\n self.message('Will stop next time breakpoint %d is reached.'\n %bp.number)\n \n complete_ignore=_complete_bpnumber\n \n def do_clear(self,arg):\n ''\n\n\n\n\n\n \n if not arg:\n try:\n reply=input('Clear all breaks? ')\n except EOFError:\n reply='no'\n reply=reply.strip().lower()\n if reply in('y','yes'):\n bplist=[bp for bp in bdb.Breakpoint.bpbynumber if bp]\n self.clear_all_breaks()\n for bp in bplist:\n self.message('Deleted %s'%bp)\n return\n if ':'in arg:\n \n i=arg.rfind(':')\n filename=arg[:i]\n arg=arg[i+1:]\n try:\n lineno=int(arg)\n except ValueError:\n err=\"Invalid line number (%s)\"%arg\n else:\n bplist=self.get_breaks(filename,lineno)[:]\n err=self.clear_break(filename,lineno)\n if err:\n self.error(err)\n else:\n for bp in bplist:\n self.message('Deleted %s'%bp)\n return\n numberlist=arg.split()\n for i in numberlist:\n try:\n bp=self.get_bpbynumber(i)\n except ValueError as err:\n self.error(err)\n else:\n self.clear_bpbynumber(i)\n self.message('Deleted %s'%bp)\n do_cl=do_clear\n \n complete_clear=_complete_location\n complete_cl=_complete_location\n \n def do_where(self,arg):\n ''\n\n\n\n\n \n self.print_stack_trace()\n do_w=do_where\n do_bt=do_where\n \n def _select_frame(self,number):\n assert 0 <=number =2:\n self.error('No help for %r; please do not run Python with -OO '\n 'if you need command help'%arg)\n return\n if command.__doc__ is None:\n self.error('No help for %r; __doc__ string missing'%arg)\n return\n self.message(self._help_message_from_doc(command.__doc__))\n \n do_h=do_help\n \n def help_exec(self):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n self.message((self.help_exec.__doc__ or '').strip())\n \n def help_pdb(self):\n help()\n \n \n \n def lookupmodule(self,filename):\n ''\n\n\n\n \n if os.path.isabs(filename)and os.path.exists(filename):\n return filename\n f=os.path.join(sys.path[0],filename)\n if os.path.exists(f)and self.canonic(f)==self.mainpyfile:\n return f\n root,ext=os.path.splitext(filename)\n if ext =='':\n filename=filename+'.py'\n if os.path.isabs(filename):\n return filename\n for dirname in sys.path:\n while os.path.islink(dirname):\n dirname=os.readlink(dirname)\n fullname=os.path.join(dirname,filename)\n if os.path.exists(fullname):\n return fullname\n return None\n \n def _run(self,target:Union[_ModuleTarget,_ScriptTarget]):\n \n \n \n \n \n self._wait_for_mainpyfile=True\n self._user_requested_quit=False\n \n self.mainpyfile=self.canonic(target.filename)\n \n \n \n \n import __main__\n __main__.__dict__.clear()\n __main__.__dict__.update(target.namespace)\n \n self.run(target.code)\n \n def _format_exc(self,exc:BaseException):\n return traceback.format_exception_only(exc)[-1].strip()\n \n def _compile_error_message(self,expr):\n ''\n try:\n compile(expr,\"\",\"eval\")\n except SyntaxError as exc:\n return _rstr(self._format_exc(exc))\n return \"\"\n \n def _getsourcelines(self,obj):\n \n \n \n \n \n lines,lineno=inspect.getsourcelines(obj)\n lineno=max(1,lineno)\n return lines,lineno\n \n def _help_message_from_doc(self,doc):\n lines=[line.strip()for line in doc.rstrip().splitlines()]\n if not lines:\n return \"No help message found.\"\n if \"\"in lines:\n usage_end=lines.index(\"\")\n else:\n usage_end=1\n formatted=[]\n indent=\" \"*len(self.prompt)\n for i,line in enumerate(lines):\n if i ==0:\n prefix=\"Usage: \"\n elif i 0:\n self.commit_frame(force=True)\n self.current_frame=None\n \n def commit_frame(self,force=False):\n if self.current_frame:\n f=self.current_frame\n if f.tell()>=self._FRAME_SIZE_TARGET or force:\n data=f.getbuffer()\n write=self.file_write\n if len(data)>=self._FRAME_SIZE_MIN:\n \n \n \n \n write(FRAME+pack(\"':\n raise AttributeError(\"Can't get local attribute {!r} on {!r}\"\n .format(name,obj))\n try:\n parent=obj\n obj=getattr(obj,subpath)\n except AttributeError:\n raise AttributeError(\"Can't get attribute {!r} on {!r}\"\n .format(name,obj))from None\n return obj,parent\n \ndef whichmodule(obj,name):\n ''\n module_name=getattr(obj,'__module__',None)\n if module_name is not None:\n return module_name\n \n \n for module_name,module in sys.modules.copy().items():\n if(module_name =='__main__'\n or module_name =='__mp_main__'\n or module is None):\n continue\n try:\n if _getattribute(module,name)[0]is obj:\n return module_name\n except AttributeError:\n pass\n return '__main__'\n \ndef encode_long(x):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if x ==0:\n return b''\n nbytes=(x.bit_length()>>3)+1\n result=x.to_bytes(nbytes,byteorder='little',signed=True)\n if x <0 and nbytes >1:\n if result[-1]==0xff and(result[-2]&0x80)!=0:\n result=result[:-1]\n return result\n \ndef decode_long(data):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return int.from_bytes(data,byteorder='little',signed=True)\n \n \n \n \nclass _Pickler:\n\n def __init__(self,file,protocol=None,*,fix_imports=True,\n buffer_callback=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if protocol is None:\n protocol=DEFAULT_PROTOCOL\n if protocol <0:\n protocol=HIGHEST_PROTOCOL\n elif not 0 <=protocol <=HIGHEST_PROTOCOL:\n raise ValueError(\"pickle protocol must be <= %d\"%HIGHEST_PROTOCOL)\n if buffer_callback is not None and protocol <5:\n raise ValueError(\"buffer_callback needs protocol >= 5\")\n self._buffer_callback=buffer_callback\n try:\n self._file_write=file.write\n except AttributeError:\n raise TypeError(\"file must have a 'write' attribute\")\n self.framer=_Framer(self._file_write)\n self.write=self.framer.write\n self._write_large_bytes=self.framer.write_large_bytes\n self.memo={}\n self.proto=int(protocol)\n self.bin=protocol >=1\n self.fast=0\n self.fix_imports=fix_imports and protocol <3\n \n def clear_memo(self):\n ''\n\n\n\n\n\n \n self.memo.clear()\n \n def dump(self,obj):\n ''\n \n \n if not hasattr(self,\"_file_write\"):\n raise PicklingError(\"Pickler.__init__() was not called by \"\n \"%s.__init__()\"%(self.__class__.__name__,))\n if self.proto >=2:\n self.write(PROTO+pack(\"=4:\n self.framer.start_framing()\n self.save(obj)\n self.write(STOP)\n self.framer.end_framing()\n \n def memoize(self,obj):\n ''\n \n \n \n \n \n \n \n \n \n \n \n \n \n if self.fast:\n return\n assert id(obj)not in self.memo\n idx=len(self.memo)\n self.write(self.put(idx))\n self.memo[id(obj)]=idx,obj\n \n \n def put(self,idx):\n if self.proto >=4:\n return MEMOIZE\n elif self.bin:\n if idx <256:\n return BINPUT+pack(\"=2 and func_name ==\"__newobj_ex__\":\n cls,args,kwargs=args\n if not hasattr(cls,\"__new__\"):\n raise PicklingError(\"args[0] from {} args has no __new__\"\n .format(func_name))\n if obj is not None and cls is not obj.__class__:\n raise PicklingError(\"args[0] from {} args has the wrong class\"\n .format(func_name))\n if self.proto >=4:\n save(cls)\n save(args)\n save(kwargs)\n write(NEWOBJ_EX)\n else:\n func=partial(cls.__new__,cls,*args,**kwargs)\n save(func)\n save(())\n write(REDUCE)\n elif self.proto >=2 and func_name ==\"__newobj__\":\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n cls=args[0]\n if not hasattr(cls,\"__new__\"):\n raise PicklingError(\n \"args[0] from __newobj__ args has no __new__\")\n if obj is not None and cls is not obj.__class__:\n raise PicklingError(\n \"args[0] from __newobj__ args has the wrong class\")\n args=args[1:]\n save(cls)\n save(args)\n write(NEWOBJ)\n else:\n save(func)\n save(args)\n write(REDUCE)\n \n if obj is not None:\n \n \n \n if id(obj)in self.memo:\n write(POP+self.get(self.memo[id(obj)][0]))\n else:\n self.memoize(obj)\n \n \n \n \n \n \n if listitems is not None:\n self._batch_appends(listitems)\n \n if dictitems is not None:\n self._batch_setitems(dictitems)\n \n if state is not None:\n if state_setter is None:\n save(state)\n write(BUILD)\n else:\n \n \n \n \n save(state_setter)\n save(obj)\n save(state)\n write(TUPLE2)\n \n write(REDUCE)\n \n \n \n \n write(POP)\n \n \n \n dispatch={}\n \n def save_none(self,obj):\n self.write(NONE)\n dispatch[type(None)]=save_none\n \n def save_bool(self,obj):\n if self.proto >=2:\n self.write(NEWTRUE if obj else NEWFALSE)\n else:\n self.write(TRUE if obj else FALSE)\n dispatch[bool]=save_bool\n \n def save_long(self,obj):\n if self.bin:\n \n \n \n \n if obj >=0:\n if obj <=0xff:\n self.write(BININT1+pack(\"=2:\n encoded=encode_long(obj)\n n=len(encoded)\n if n <256:\n self.write(LONG1+pack(\"d',obj))\n else:\n self.write(FLOAT+repr(obj).encode(\"ascii\")+b'\\n')\n dispatch[float]=save_float\n \n def save_bytes(self,obj):\n if self.proto <3:\n if not obj:\n self.save_reduce(bytes,(),obj=obj)\n else:\n self.save_reduce(codecs.encode,\n (str(obj,'latin1'),'latin1'),obj=obj)\n return\n n=len(obj)\n if n <=0xff:\n self.write(SHORT_BINBYTES+pack(\"0xffffffff and self.proto >=4:\n self._write_large_bytes(BINBYTES8+pack(\"=self.framer._FRAME_SIZE_TARGET:\n self._write_large_bytes(BINBYTES+pack(\"=self.framer._FRAME_SIZE_TARGET:\n self._write_large_bytes(BYTEARRAY8+pack(\"= 5\")\n with obj.raw()as m:\n if not m.contiguous:\n raise PicklingError(\"PickleBuffer can not be pickled when \"\n \"pointing to a non-contiguous buffer\")\n in_band=True\n if self._buffer_callback is not None:\n in_band=bool(self._buffer_callback(obj))\n if in_band:\n \n \n if m.readonly:\n self.save_bytes(m.tobytes())\n else:\n self.save_bytearray(m.tobytes())\n else:\n \n self.write(NEXT_BUFFER)\n if m.readonly:\n self.write(READONLY_BUFFER)\n \n dispatch[PickleBuffer]=save_picklebuffer\n \n def save_str(self,obj):\n if self.bin:\n encoded=obj.encode('utf-8','surrogatepass')\n n=len(encoded)\n if n <=0xff and self.proto >=4:\n self.write(SHORT_BINUNICODE+pack(\"0xffffffff and self.proto >=4:\n self._write_large_bytes(BINUNICODE8+pack(\"=self.framer._FRAME_SIZE_TARGET:\n self._write_large_bytes(BINUNICODE+pack(\"=2:\n for element in obj:\n save(element)\n \n if id(obj)in memo:\n get=self.get(memo[id(obj)][0])\n self.write(POP *n+get)\n else:\n self.write(_tuplesize2code[n])\n self.memoize(obj)\n return\n \n \n \n write=self.write\n write(MARK)\n for element in obj:\n save(element)\n \n if id(obj)in memo:\n \n \n \n \n \n \n \n get=self.get(memo[id(obj)][0])\n if self.bin:\n write(POP_MARK+get)\n else:\n write(POP *(n+1)+get)\n return\n \n \n write(TUPLE)\n self.memoize(obj)\n \n dispatch[tuple]=save_tuple\n \n def save_list(self,obj):\n if self.bin:\n self.write(EMPTY_LIST)\n else:\n self.write(MARK+LIST)\n \n self.memoize(obj)\n self._batch_appends(obj)\n \n dispatch[list]=save_list\n \n _BATCHSIZE=1000\n \n def _batch_appends(self,items):\n \n save=self.save\n write=self.write\n \n if not self.bin:\n for x in items:\n save(x)\n write(APPEND)\n return\n \n it=iter(items)\n while True:\n tmp=list(islice(it,self._BATCHSIZE))\n n=len(tmp)\n if n >1:\n write(MARK)\n for x in tmp:\n save(x)\n write(APPENDS)\n elif n:\n save(tmp[0])\n write(APPEND)\n \n if n 1:\n write(MARK)\n for k,v in tmp:\n save(k)\n save(v)\n write(SETITEMS)\n elif n:\n k,v=tmp[0]\n save(k)\n save(v)\n write(SETITEM)\n \n if n 0:\n write(MARK)\n for item in batch:\n save(item)\n write(ADDITEMS)\n if n =2:\n code=_extension_registry.get((module_name,name))\n if code:\n assert code >0\n if code <=0xff:\n write(EXT1+pack(\"=4:\n self.save(module_name)\n self.save(name)\n write(STACK_GLOBAL)\n elif parent is not module:\n self.save_reduce(getattr,(parent,lastname))\n elif self.proto >=3:\n write(GLOBAL+bytes(module_name,\"utf-8\")+b'\\n'+\n bytes(name,\"utf-8\")+b'\\n')\n else:\n if self.fix_imports:\n r_name_mapping=_compat_pickle.REVERSE_NAME_MAPPING\n r_import_mapping=_compat_pickle.REVERSE_IMPORT_MAPPING\n if(module_name,name)in r_name_mapping:\n module_name,name=r_name_mapping[(module_name,name)]\n elif module_name in r_import_mapping:\n module_name=r_import_mapping[module_name]\n try:\n write(GLOBAL+bytes(module_name,\"ascii\")+b'\\n'+\n bytes(name,\"ascii\")+b'\\n')\n except UnicodeEncodeError:\n raise PicklingError(\n \"can't pickle global identifier '%s.%s' using \"\n \"pickle protocol %i\"%(module,name,self.proto))from None\n \n self.memoize(obj)\n \n def save_type(self,obj):\n if obj is type(None):\n return self.save_reduce(type,(None,),obj=obj)\n elif obj is type(NotImplemented):\n return self.save_reduce(type,(NotImplemented,),obj=obj)\n elif obj is type(...):\n return self.save_reduce(type,(...,),obj=obj)\n return self.save_global(obj)\n \n dispatch[FunctionType]=save_global\n dispatch[type]=save_type\n \n \n \n \nclass _Unpickler:\n\n def __init__(self,file,*,fix_imports=True,\n encoding=\"ASCII\",errors=\"strict\",buffers=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self._buffers=iter(buffers)if buffers is not None else None\n self._file_readline=file.readline\n self._file_read=file.read\n self.memo={}\n self.encoding=encoding\n self.errors=errors\n self.proto=0\n self.fix_imports=fix_imports\n \n def load(self):\n ''\n\n\n \n \n \n if not hasattr(self,\"_file_read\"):\n raise UnpicklingError(\"Unpickler.__init__() was not called by \"\n \"%s.__init__()\"%(self.__class__.__name__,))\n self._unframer=_Unframer(self._file_read,self._file_readline)\n self.read=self._unframer.read\n self.readinto=self._unframer.readinto\n self.readline=self._unframer.readline\n self.metastack=[]\n self.stack=[]\n self.append=self.stack.append\n self.proto=0\n read=self.read\n dispatch=self.dispatch\n try:\n while True:\n key=read(1)\n if not key:\n raise EOFError\n assert isinstance(key,bytes_types)\n dispatch[key[0]](self)\n except _Stop as stopinst:\n return stopinst.value\n \n \n def pop_mark(self):\n items=self.stack\n self.stack=self.metastack.pop()\n self.append=self.stack.append\n return items\n \n def persistent_load(self,pid):\n raise UnpicklingError(\"unsupported persistent id encountered\")\n \n dispatch={}\n \n def load_proto(self):\n proto=self.read(1)[0]\n if not 0 <=proto <=HIGHEST_PROTOCOL:\n raise ValueError(\"unsupported pickle protocol: %d\"%proto)\n self.proto=proto\n dispatch[PROTO[0]]=load_proto\n \n def load_frame(self):\n frame_size,=unpack('sys.maxsize:\n raise ValueError(\"frame size > sys.maxsize: %d\"%frame_size)\n self._unframer.load_frame(frame_size)\n dispatch[FRAME[0]]=load_frame\n \n def load_persid(self):\n try:\n pid=self.readline()[:-1].decode(\"ascii\")\n except UnicodeDecodeError:\n raise UnpicklingError(\n \"persistent IDs in protocol 0 must be ASCII strings\")\n self.append(self.persistent_load(pid))\n dispatch[PERSID[0]]=load_persid\n \n def load_binpersid(self):\n pid=self.stack.pop()\n self.append(self.persistent_load(pid))\n dispatch[BINPERSID[0]]=load_binpersid\n \n def load_none(self):\n self.append(None)\n dispatch[NONE[0]]=load_none\n \n def load_false(self):\n self.append(False)\n dispatch[NEWFALSE[0]]=load_false\n \n def load_true(self):\n self.append(True)\n dispatch[NEWTRUE[0]]=load_true\n \n def load_int(self):\n data=self.readline()\n if data ==FALSE[1:]:\n val=False\n elif data ==TRUE[1:]:\n val=True\n else:\n val=int(data,0)\n self.append(val)\n dispatch[INT[0]]=load_int\n \n def load_binint(self):\n self.append(unpack('d',self.read(8))[0])\n dispatch[BINFLOAT[0]]=load_binfloat\n \n def _decode_string(self,value):\n \n \n \n if self.encoding ==\"bytes\":\n return value\n else:\n return value.decode(self.encoding,self.errors)\n \n def load_string(self):\n data=self.readline()[:-1]\n \n if len(data)>=2 and data[0]==data[-1]and data[0]in b'\"\\'':\n data=data[1:-1]\n else:\n raise UnpicklingError(\"the STRING opcode argument must be quoted\")\n self.append(self._decode_string(codecs.escape_decode(data)[0]))\n dispatch[STRING[0]]=load_string\n \n def load_binstring(self):\n \n len,=unpack('maxsize:\n raise UnpicklingError(\"BINBYTES exceeds system's maximum size \"\n \"of %d bytes\"%maxsize)\n self.append(self.read(len))\n dispatch[BINBYTES[0]]=load_binbytes\n \n def load_unicode(self):\n self.append(str(self.readline()[:-1],'raw-unicode-escape'))\n dispatch[UNICODE[0]]=load_unicode\n \n def load_binunicode(self):\n len,=unpack('maxsize:\n raise UnpicklingError(\"BINUNICODE exceeds system's maximum size \"\n \"of %d bytes\"%maxsize)\n self.append(str(self.read(len),'utf-8','surrogatepass'))\n dispatch[BINUNICODE[0]]=load_binunicode\n \n def load_binunicode8(self):\n len,=unpack('maxsize:\n raise UnpicklingError(\"BINUNICODE8 exceeds system's maximum size \"\n \"of %d bytes\"%maxsize)\n self.append(str(self.read(len),'utf-8','surrogatepass'))\n dispatch[BINUNICODE8[0]]=load_binunicode8\n \n def load_binbytes8(self):\n len,=unpack('maxsize:\n raise UnpicklingError(\"BINBYTES8 exceeds system's maximum size \"\n \"of %d bytes\"%maxsize)\n self.append(self.read(len))\n dispatch[BINBYTES8[0]]=load_binbytes8\n \n def load_bytearray8(self):\n len,=unpack('maxsize:\n raise UnpicklingError(\"BYTEARRAY8 exceeds system's maximum size \"\n \"of %d bytes\"%maxsize)\n b=bytearray(len)\n self.readinto(b)\n self.append(b)\n dispatch[BYTEARRAY8[0]]=load_bytearray8\n \n def load_next_buffer(self):\n if self._buffers is None:\n raise UnpicklingError(\"pickle stream refers to out-of-band data \"\n \"but no *buffers* argument was given\")\n try:\n buf=next(self._buffers)\n except StopIteration:\n raise UnpicklingError(\"not enough out-of-band buffers\")\n self.append(buf)\n dispatch[NEXT_BUFFER[0]]=load_next_buffer\n \n def load_readonly_buffer(self):\n buf=self.stack[-1]\n with memoryview(buf)as m:\n if not m.readonly:\n self.stack[-1]=m.toreadonly()\n dispatch[READONLY_BUFFER[0]]=load_readonly_buffer\n \n def load_short_binstring(self):\n len=self.read(1)[0]\n data=self.read(len)\n self.append(self._decode_string(data))\n dispatch[SHORT_BINSTRING[0]]=load_short_binstring\n \n def load_short_binbytes(self):\n len=self.read(1)[0]\n self.append(self.read(len))\n dispatch[SHORT_BINBYTES[0]]=load_short_binbytes\n \n def load_short_binunicode(self):\n len=self.read(1)[0]\n self.append(str(self.read(len),'utf-8','surrogatepass'))\n dispatch[SHORT_BINUNICODE[0]]=load_short_binunicode\n \n def load_tuple(self):\n items=self.pop_mark()\n self.append(tuple(items))\n dispatch[TUPLE[0]]=load_tuple\n \n def load_empty_tuple(self):\n self.append(())\n dispatch[EMPTY_TUPLE[0]]=load_empty_tuple\n \n def load_tuple1(self):\n self.stack[-1]=(self.stack[-1],)\n dispatch[TUPLE1[0]]=load_tuple1\n \n def load_tuple2(self):\n self.stack[-2:]=[(self.stack[-2],self.stack[-1])]\n dispatch[TUPLE2[0]]=load_tuple2\n \n def load_tuple3(self):\n self.stack[-3:]=[(self.stack[-3],self.stack[-2],self.stack[-1])]\n dispatch[TUPLE3[0]]=load_tuple3\n \n def load_empty_list(self):\n self.append([])\n dispatch[EMPTY_LIST[0]]=load_empty_list\n \n def load_empty_dictionary(self):\n self.append({})\n dispatch[EMPTY_DICT[0]]=load_empty_dictionary\n \n def load_empty_set(self):\n self.append(set())\n dispatch[EMPTY_SET[0]]=load_empty_set\n \n def load_frozenset(self):\n items=self.pop_mark()\n self.append(frozenset(items))\n dispatch[FROZENSET[0]]=load_frozenset\n \n def load_list(self):\n items=self.pop_mark()\n self.append(items)\n dispatch[LIST[0]]=load_list\n \n def load_dict(self):\n items=self.pop_mark()\n d={items[i]:items[i+1]\n for i in range(0,len(items),2)}\n self.append(d)\n dispatch[DICT[0]]=load_dict\n \n \n \n \n \n \n def _instantiate(self,klass,args):\n if(args or not isinstance(klass,type)or\n hasattr(klass,\"__getinitargs__\")):\n try:\n value=klass(*args)\n except TypeError as err:\n raise TypeError(\"in constructor for %s: %s\"%\n (klass.__name__,str(err)),err.__traceback__)\n else:\n value=klass.__new__(klass)\n self.append(value)\n \n def load_inst(self):\n module=self.readline()[:-1].decode(\"ascii\")\n name=self.readline()[:-1].decode(\"ascii\")\n klass=self.find_class(module,name)\n self._instantiate(klass,self.pop_mark())\n dispatch[INST[0]]=load_inst\n \n def load_obj(self):\n \n args=self.pop_mark()\n cls=args.pop(0)\n self._instantiate(cls,args)\n dispatch[OBJ[0]]=load_obj\n \n def load_newobj(self):\n args=self.stack.pop()\n cls=self.stack.pop()\n obj=cls.__new__(cls,*args)\n self.append(obj)\n dispatch[NEWOBJ[0]]=load_newobj\n \n def load_newobj_ex(self):\n kwargs=self.stack.pop()\n args=self.stack.pop()\n cls=self.stack.pop()\n obj=cls.__new__(cls,*args,**kwargs)\n self.append(obj)\n dispatch[NEWOBJ_EX[0]]=load_newobj_ex\n \n def load_global(self):\n module=self.readline()[:-1].decode(\"utf-8\")\n name=self.readline()[:-1].decode(\"utf-8\")\n klass=self.find_class(module,name)\n self.append(klass)\n dispatch[GLOBAL[0]]=load_global\n \n def load_stack_global(self):\n name=self.stack.pop()\n module=self.stack.pop()\n if type(name)is not str or type(module)is not str:\n raise UnpicklingError(\"STACK_GLOBAL requires str\")\n self.append(self.find_class(module,name))\n dispatch[STACK_GLOBAL[0]]=load_stack_global\n \n def load_ext1(self):\n code=self.read(1)[0]\n self.get_extension(code)\n dispatch[EXT1[0]]=load_ext1\n \n def load_ext2(self):\n code,=unpack('=4:\n return _getattribute(sys.modules[module],name)[0]\n else:\n return getattr(sys.modules[module],name)\n \n def load_reduce(self):\n stack=self.stack\n args=stack.pop()\n func=stack[-1]\n stack[-1]=func(*args)\n dispatch[REDUCE[0]]=load_reduce\n \n def load_pop(self):\n if self.stack:\n del self.stack[-1]\n else:\n self.pop_mark()\n dispatch[POP[0]]=load_pop\n \n def load_pop_mark(self):\n self.pop_mark()\n dispatch[POP_MARK[0]]=load_pop_mark\n \n def load_dup(self):\n self.append(self.stack[-1])\n dispatch[DUP[0]]=load_dup\n \n def load_get(self):\n i=int(self.readline()[:-1])\n try:\n self.append(self.memo[i])\n except KeyError:\n msg=f'Memo value not found at index {i}'\n raise UnpicklingError(msg)from None\n dispatch[GET[0]]=load_get\n \n def load_binget(self):\n i=self.read(1)[0]\n try:\n self.append(self.memo[i])\n except KeyError as exc:\n msg=f'Memo value not found at index {i}'\n raise UnpicklingError(msg)from None\n dispatch[BINGET[0]]=load_binget\n \n def load_long_binget(self):\n i,=unpack('maxsize:\n raise ValueError(\"negative LONG_BINPUT argument\")\n self.memo[i]=self.stack[-1]\n dispatch[LONG_BINPUT[0]]=load_long_binput\n \n def load_memoize(self):\n memo=self.memo\n memo[len(memo)]=self.stack[-1]\n dispatch[MEMOIZE[0]]=load_memoize\n \n def load_append(self):\n stack=self.stack\n value=stack.pop()\n list=stack[-1]\n list.append(value)\n dispatch[APPEND[0]]=load_append\n \n def load_appends(self):\n items=self.pop_mark()\n list_obj=self.stack[-1]\n try:\n extend=list_obj.extend\n except AttributeError:\n pass\n else:\n extend(items)\n return\n \n \n \n append=list_obj.append\n for item in items:\n append(item)\n dispatch[APPENDS[0]]=load_appends\n \n def load_setitem(self):\n stack=self.stack\n value=stack.pop()\n key=stack.pop()\n dict=stack[-1]\n dict[key]=value\n dispatch[SETITEM[0]]=load_setitem\n \n def load_setitems(self):\n items=self.pop_mark()\n dict=self.stack[-1]\n for i in range(0,len(items),2):\n dict[items[i]]=items[i+1]\n dispatch[SETITEMS[0]]=load_setitems\n \n def load_additems(self):\n items=self.pop_mark()\n set_obj=self.stack[-1]\n if isinstance(set_obj,set):\n set_obj.update(items)\n else:\n add=set_obj.add\n for item in items:\n add(item)\n dispatch[ADDITEMS[0]]=load_additems\n \n def load_build(self):\n stack=self.stack\n state=stack.pop()\n inst=stack[-1]\n setstate=getattr(inst,\"__setstate__\",None)\n if setstate is not None:\n setstate(state)\n return\n slotstate=None\n if isinstance(state,tuple)and len(state)==2:\n state,slotstate=state\n if state:\n inst_dict=inst.__dict__\n intern=sys.intern\n for k,v in state.items():\n if type(k)is str:\n inst_dict[intern(k)]=v\n else:\n inst_dict[k]=v\n if slotstate:\n for k,v in slotstate.items():\n setattr(inst,k,v)\n dispatch[BUILD[0]]=load_build\n \n def load_mark(self):\n self.metastack.append(self.stack)\n self.stack=[]\n self.append=self.stack.append\n dispatch[MARK[0]]=load_mark\n \n def load_stop(self):\n value=self.stack.pop()\n raise _Stop(value)\n dispatch[STOP[0]]=load_stop\n \n \n \n \ndef _dump(obj,file,protocol=None,*,fix_imports=True,buffer_callback=None):\n _Pickler(file,protocol,fix_imports=fix_imports,\n buffer_callback=buffer_callback).dump(obj)\n \ndef _dumps(obj,protocol=None,*,fix_imports=True,buffer_callback=None):\n f=io.BytesIO()\n _Pickler(f,protocol,fix_imports=fix_imports,\n buffer_callback=buffer_callback).dump(obj)\n res=f.getvalue()\n assert isinstance(res,bytes_types)\n return res\n \ndef _load(file,*,fix_imports=True,encoding=\"ASCII\",errors=\"strict\",\nbuffers=None):\n return _Unpickler(file,fix_imports=fix_imports,buffers=buffers,\n encoding=encoding,errors=errors).load()\n \ndef _loads(s,/,*,fix_imports=True,encoding=\"ASCII\",errors=\"strict\",\nbuffers=None):\n if isinstance(s,str):\n raise TypeError(\"Can't load pickle from unicode string\")\n file=io.BytesIO(s)\n return _Unpickler(file,fix_imports=fix_imports,buffers=buffers,\n encoding=encoding,errors=errors).load()\n \n \ntry:\n from _pickle import(\n PickleError,\n PicklingError,\n UnpicklingError,\n Pickler,\n Unpickler,\n dump,\n dumps,\n load,\n loads\n )\nexcept ImportError:\n Pickler,Unpickler=_Pickler,_Unpickler\n dump,dumps,load,loads=_dump,_dumps,_load,_loads\n \n \ndef _test():\n import doctest\n return doctest.testmod()\n \nif __name__ ==\"__main__\":\n import argparse\n parser=argparse.ArgumentParser(\n description='display contents of the pickle files')\n parser.add_argument(\n 'pickle_file',type=argparse.FileType('br'),\n nargs='*',help='the pickle file')\n parser.add_argument(\n '-t','--test',action='store_true',\n help='run self-test suite')\n parser.add_argument(\n '-v',action='store_true',\n help='run verbosely; only affects self-test run')\n args=parser.parse_args()\n if args.test:\n _test()\n else:\n if not args.pickle_file:\n parser.print_help()\n else:\n import pprint\n for f in args.pickle_file:\n obj=load(f)\n pprint.pprint(obj)\n",["_compat_pickle","_pickle","argparse","codecs","copyreg","doctest","functools","io","itertools","pprint","re","struct","sys","types"]],pkgutil:[".py","''\n\nfrom collections import namedtuple\nfrom functools import singledispatch as simplegeneric\nimport importlib\nimport importlib.util\nimport importlib.machinery\nimport os\nimport os.path\nimport sys\nfrom types import ModuleType\nimport warnings\n\n__all__=[\n'get_importer','iter_importers','get_loader','find_loader',\n'walk_packages','iter_modules','get_data',\n'read_code','extend_path',\n'ModuleInfo',\n]\n\n\nModuleInfo=namedtuple('ModuleInfo','module_finder name ispkg')\nModuleInfo.__doc__='A namedtuple with minimal info about a module.'\n\n\ndef read_code(stream):\n\n\n import marshal\n \n magic=stream.read(4)\n if magic !=importlib.util.MAGIC_NUMBER:\n return None\n \n stream.read(12)\n return marshal.load(stream)\n \n \ndef walk_packages(path=None,prefix='',onerror=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def seen(p,m={}):\n if p in m:\n return True\n m[p]=True\n \n for info in iter_modules(path,prefix):\n yield info\n \n if info.ispkg:\n try:\n __import__(info.name)\n except ImportError:\n if onerror is not None:\n onerror(info.name)\n except Exception:\n if onerror is not None:\n onerror(info.name)\n else:\n raise\n else:\n path=getattr(sys.modules[info.name],'__path__',None)or[]\n \n \n path=[p for p in path if not seen(p)]\n \n yield from walk_packages(path,info.name+'.',onerror)\n \n \ndef iter_modules(path=None,prefix=''):\n ''\n\n\n\n\n\n\n\n \n if path is None:\n importers=iter_importers()\n elif isinstance(path,str):\n raise ValueError(\"path must be None or list of paths to look for \"\n \"modules in\")\n else:\n importers=map(get_importer,path)\n \n yielded={}\n for i in importers:\n for name,ispkg in iter_importer_modules(i,prefix):\n if name not in yielded:\n yielded[name]=1\n yield ModuleInfo(i,name,ispkg)\n \n \n@simplegeneric\ndef iter_importer_modules(importer,prefix=''):\n if not hasattr(importer,'iter_modules'):\n return[]\n return importer.iter_modules(prefix)\n \n \n \ndef _iter_file_finder_modules(importer,prefix=''):\n if importer.path is None or not os.path.isdir(importer.path):\n return\n \n yielded={}\n import inspect\n try:\n filenames=os.listdir(importer.path)\n except OSError:\n \n filenames=[]\n filenames.sort()\n \n for fn in filenames:\n modname=inspect.getmodulename(fn)\n if modname =='__init__'or modname in yielded:\n continue\n \n path=os.path.join(importer.path,fn)\n ispkg=False\n \n if not modname and os.path.isdir(path)and '.'not in fn:\n modname=fn\n try:\n dircontents=os.listdir(path)\n except OSError:\n \n dircontents=[]\n for fn in dircontents:\n subname=inspect.getmodulename(fn)\n if subname =='__init__':\n ispkg=True\n break\n else:\n continue\n \n if modname and '.'not in modname:\n yielded[modname]=1\n yield prefix+modname,ispkg\n \niter_importer_modules.register(\nimportlib.machinery.FileFinder,_iter_file_finder_modules)\n\n\ntry:\n import zipimport\n from zipimport import zipimporter\n \n def iter_zipimport_modules(importer,prefix=''):\n dirlist=sorted(zipimport._zip_directory_cache[importer.archive])\n _prefix=importer.prefix\n plen=len(_prefix)\n yielded={}\n import inspect\n for fn in dirlist:\n if not fn.startswith(_prefix):\n continue\n \n fn=fn[plen:].split(os.sep)\n \n if len(fn)==2 and fn[1].startswith('__init__.py'):\n if fn[0]not in yielded:\n yielded[fn[0]]=1\n yield prefix+fn[0],True\n \n if len(fn)!=1:\n continue\n \n modname=inspect.getmodulename(fn[0])\n if modname =='__init__':\n continue\n \n if modname and '.'not in modname and modname not in yielded:\n yielded[modname]=1\n yield prefix+modname,False\n \n iter_importer_modules.register(zipimporter,iter_zipimport_modules)\n \nexcept ImportError:\n pass\n \n \ndef get_importer(path_item):\n ''\n\n\n\n\n\n\n \n path_item=os.fsdecode(path_item)\n try:\n importer=sys.path_importer_cache[path_item]\n except KeyError:\n for path_hook in sys.path_hooks:\n try:\n importer=path_hook(path_item)\n sys.path_importer_cache.setdefault(path_item,importer)\n break\n except ImportError:\n pass\n else:\n importer=None\n return importer\n \n \ndef iter_importers(fullname=\"\"):\n ''\n\n\n\n\n\n\n\n\n\n \n if fullname.startswith('.'):\n msg=\"Relative module name {!r} not supported\".format(fullname)\n raise ImportError(msg)\n if '.'in fullname:\n \n pkg_name=fullname.rpartition(\".\")[0]\n pkg=importlib.import_module(pkg_name)\n path=getattr(pkg,'__path__',None)\n if path is None:\n return\n else:\n yield from sys.meta_path\n path=sys.path\n for item in path:\n yield get_importer(item)\n \n \ndef get_loader(module_or_name):\n ''\n\n\n\n\n \n warnings._deprecated(\"pkgutil.get_loader\",\n f\"{warnings._DEPRECATED_MSG}; \"\n \"use importlib.util.find_spec() instead\",\n remove=(3,14))\n if module_or_name in sys.modules:\n module_or_name=sys.modules[module_or_name]\n if module_or_name is None:\n return None\n if isinstance(module_or_name,ModuleType):\n module=module_or_name\n loader=getattr(module,'__loader__',None)\n if loader is not None:\n return loader\n if getattr(module,'__spec__',None)is None:\n return None\n fullname=module.__name__\n else:\n fullname=module_or_name\n return find_loader(fullname)\n \n \ndef find_loader(fullname):\n ''\n\n\n\n\n \n warnings._deprecated(\"pkgutil.find_loader\",\n f\"{warnings._DEPRECATED_MSG}; \"\n \"use importlib.util.find_spec() instead\",\n remove=(3,14))\n if fullname.startswith('.'):\n msg=\"Relative module name {!r} not supported\".format(fullname)\n raise ImportError(msg)\n try:\n spec=importlib.util.find_spec(fullname)\n except(ImportError,AttributeError,TypeError,ValueError)as ex:\n \n \n \n msg=\"Error while finding loader for {!r} ({}: {})\"\n raise ImportError(msg.format(fullname,type(ex),ex))from ex\n return spec.loader if spec is not None else None\n \n \ndef extend_path(path,name):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if not isinstance(path,list):\n \n \n return path\n \n sname_pkg=name+\".pkg\"\n \n path=path[:]\n \n parent_package,_,final_name=name.rpartition('.')\n if parent_package:\n try:\n search_path=sys.modules[parent_package].__path__\n except(KeyError,AttributeError):\n \n \n return path\n else:\n search_path=sys.path\n \n for dir in search_path:\n if not isinstance(dir,str):\n continue\n \n finder=get_importer(dir)\n if finder is not None:\n portions=[]\n if hasattr(finder,'find_spec'):\n spec=finder.find_spec(final_name)\n if spec is not None:\n portions=spec.submodule_search_locations or[]\n \n elif hasattr(finder,'find_loader'):\n _,portions=finder.find_loader(final_name)\n \n for portion in portions:\n \n \n if portion not in path:\n path.append(portion)\n \n \n \n pkgfile=os.path.join(dir,sname_pkg)\n if os.path.isfile(pkgfile):\n try:\n f=open(pkgfile)\n except OSError as msg:\n sys.stderr.write(\"Can't open %s: %s\\n\"%\n (pkgfile,msg))\n else:\n with f:\n for line in f:\n line=line.rstrip('\\n')\n if not line or line.startswith('#'):\n continue\n path.append(line)\n \n return path\n \n \ndef get_data(package,resource):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n spec=importlib.util.find_spec(package)\n if spec is None:\n return None\n loader=spec.loader\n if loader is None or not hasattr(loader,'get_data'):\n return None\n \n mod=(sys.modules.get(package)or\n importlib._bootstrap._load(spec))\n if mod is None or not hasattr(mod,'__file__'):\n return None\n \n \n \n \n parts=resource.split('/')\n parts.insert(0,os.path.dirname(mod.__file__))\n resource_name=os.path.join(*parts)\n return loader.get_data(resource_name)\n \n \n_NAME_PATTERN=None\n\ndef resolve_name(name):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n global _NAME_PATTERN\n if _NAME_PATTERN is None:\n \n import re\n dotted_words=r'(?!\\d)(\\w+)(\\.(?!\\d)(\\w+))*'\n _NAME_PATTERN=re.compile(f'^(?P{dotted_words})'\n f'(?P:(?P{dotted_words})?)?$',\n re.UNICODE)\n \n m=_NAME_PATTERN.match(name)\n if not m:\n raise ValueError(f'invalid format: {name !r}')\n gd=m.groupdict()\n if gd.get('cln'):\n \n mod=importlib.import_module(gd['pkg'])\n parts=gd.get('obj')\n parts=parts.split('.')if parts else[]\n else:\n \n parts=name.split('.')\n modname=parts.pop(0)\n \n mod=importlib.import_module(modname)\n while parts:\n p=parts[0]\n s=f'{modname}.{p}'\n try:\n mod=importlib.import_module(s)\n parts.pop(0)\n modname=s\n except ImportError:\n break\n \n \n \n result=mod\n for p in parts:\n result=getattr(result,p)\n return result\n",["collections","functools","importlib","importlib.machinery","importlib.util","inspect","marshal","os","os.path","re","sys","types","warnings","zipimport"]],platform:[".py","''\n\n\n\nfrom browser import self as window\n\ndef architecture(*args,**kw):\n return \"\",window.navigator.platform\n \ndef machine(*args,**kw):\n return ''\n \ndef node(*args,**kw):\n return ''\n \ndef platform(*args,**kw):\n return window.navigator.platform\n \ndef processor(*args,**kw):\n return ''\n \ndef python_build():\n return('.'.join(map(str,__BRYTHON__.implementation[:-1])),\n __BRYTHON__.compiled_date)\n \ndef python_compiler():\n return ''\n \ndef python_branch():\n return ''\n \ndef python_implementation():\n return 'Brython'\n \ndef python_revision():\n return ''\n \ndef python_version():\n return '.'.join(map(str,__BRYTHON__.version_info[:3]))\n \ndef python_version_tuple():\n return __BRYTHON__.version_info[:3]\n \ndef release():\n return ''\n \ndef system():\n return window.navigator.platform\n \ndef system_alias(*args,**kw):\n return window.navigator.platform\n \ndef uname():\n from collections import namedtuple\n klass=namedtuple('uname_result',\n 'system node release version machine processor')\n return klass(window.navigator.platform,'','','','','')\n",["browser","collections"]],posixpath:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ncurdir='.'\npardir='..'\nextsep='.'\nsep='/'\npathsep=':'\ndefpath='/bin:/usr/bin'\naltsep=None\ndevnull='/dev/null'\n\nimport os\nimport sys\nimport stat\nimport genericpath\nfrom genericpath import *\n\n__all__=[\"normcase\",\"isabs\",\"join\",\"splitdrive\",\"splitroot\",\"split\",\"splitext\",\n\"basename\",\"dirname\",\"commonprefix\",\"getsize\",\"getmtime\",\n\"getatime\",\"getctime\",\"islink\",\"exists\",\"lexists\",\"isdir\",\"isfile\",\n\"ismount\",\"expanduser\",\"expandvars\",\"normpath\",\"abspath\",\n\"samefile\",\"sameopenfile\",\"samestat\",\n\"curdir\",\"pardir\",\"sep\",\"pathsep\",\"defpath\",\"altsep\",\"extsep\",\n\"devnull\",\"realpath\",\"supports_unicode_filenames\",\"relpath\",\n\"commonpath\",\"isjunction\"]\n\n\ndef _get_sep(path):\n if isinstance(path,bytes):\n return b'/'\n else:\n return '/'\n \n \n \n \n \n \ndef normcase(s):\n ''\n return os.fspath(s)\n \n \n \n \n \ndef isabs(s):\n ''\n s=os.fspath(s)\n sep=_get_sep(s)\n return s.startswith(sep)\n \n \n \n \n \n \ndef join(a,*p):\n ''\n\n\n \n a=os.fspath(a)\n sep=_get_sep(a)\n path=a\n try:\n if not p:\n path[:0]+sep\n for b in map(os.fspath,p):\n if b.startswith(sep):\n path=b\n elif not path or path.endswith(sep):\n path +=b\n else:\n path +=sep+b\n except(TypeError,AttributeError,BytesWarning):\n genericpath._check_arg_types('join',a,*p)\n raise\n return path\n \n \n \n \n \n \n \ndef split(p):\n ''\n \n p=os.fspath(p)\n sep=_get_sep(p)\n i=p.rfind(sep)+1\n head,tail=p[:i],p[i:]\n if head and head !=sep *len(head):\n head=head.rstrip(sep)\n return head,tail\n \n \n \n \n \n \n \ndef splitext(p):\n p=os.fspath(p)\n if isinstance(p,bytes):\n sep=b'/'\n extsep=b'.'\n else:\n sep='/'\n extsep='.'\n return genericpath._splitext(p,sep,None,extsep)\nsplitext.__doc__=genericpath._splitext.__doc__\n\n\n\n\ndef splitdrive(p):\n ''\n \n p=os.fspath(p)\n return p[:0],p\n \n \ndef splitroot(p):\n ''\n\n\n\n\n\n\n\n \n p=os.fspath(p)\n if isinstance(p,bytes):\n sep=b'/'\n empty=b''\n else:\n sep='/'\n empty=''\n if p[:1]!=sep:\n \n return empty,empty,p\n elif p[1:2]!=sep or p[2:3]==sep:\n \n return empty,sep,p[1:]\n else:\n \n \n return empty,p[:2],p[2:]\n \n \n \n \ndef basename(p):\n ''\n p=os.fspath(p)\n sep=_get_sep(p)\n i=p.rfind(sep)+1\n return p[i:]\n \n \n \n \ndef dirname(p):\n ''\n p=os.fspath(p)\n sep=_get_sep(p)\n i=p.rfind(sep)+1\n head=p[:i]\n if head and head !=sep *len(head):\n head=head.rstrip(sep)\n return head\n \n \n \n \ndef isjunction(path):\n ''\n \n os.fspath(path)\n return False\n \n \n \n \ndef lexists(path):\n ''\n try:\n os.lstat(path)\n except(OSError,ValueError):\n return False\n return True\n \n \n \n \n \ndef ismount(path):\n ''\n try:\n s1=os.lstat(path)\n except(OSError,ValueError):\n \n return False\n else:\n \n if stat.S_ISLNK(s1.st_mode):\n return False\n \n path=os.fspath(path)\n if isinstance(path,bytes):\n parent=join(path,b'..')\n else:\n parent=join(path,'..')\n parent=realpath(parent)\n try:\n s2=os.lstat(parent)\n except(OSError,ValueError):\n return False\n \n dev1=s1.st_dev\n dev2=s2.st_dev\n if dev1 !=dev2:\n return True\n ino1=s1.st_ino\n ino2=s2.st_ino\n if ino1 ==ino2:\n return True\n return False\n \n \n \n \n \n \n \n \n \n \n \ndef expanduser(path):\n ''\n \n path=os.fspath(path)\n if isinstance(path,bytes):\n tilde=b'~'\n else:\n tilde='~'\n if not path.startswith(tilde):\n return path\n sep=_get_sep(path)\n i=path.find(sep,1)\n if i <0:\n i=len(path)\n if i ==1:\n if 'HOME'not in os.environ:\n try:\n import pwd\n except ImportError:\n \n return path\n try:\n userhome=pwd.getpwuid(os.getuid()).pw_dir\n except KeyError:\n \n \n return path\n else:\n userhome=os.environ['HOME']\n else:\n try:\n import pwd\n except ImportError:\n \n return path\n name=path[1:i]\n if isinstance(name,bytes):\n name=str(name,'ASCII')\n try:\n pwent=pwd.getpwnam(name)\n except KeyError:\n \n \n return path\n userhome=pwent.pw_dir\n \n if userhome is None and sys.platform ==\"vxworks\":\n return path\n if isinstance(path,bytes):\n userhome=os.fsencode(userhome)\n root=b'/'\n else:\n root='/'\n userhome=userhome.rstrip(root)\n return(userhome+path[i:])or root\n \n \n \n \n \n \n_varprog=None\n_varprogb=None\n\ndef expandvars(path):\n ''\n \n path=os.fspath(path)\n global _varprog,_varprogb\n if isinstance(path,bytes):\n if b'$'not in path:\n return path\n if not _varprogb:\n import re\n _varprogb=re.compile(br'\\$(\\w+|\\{[^}]*\\})',re.ASCII)\n search=_varprogb.search\n start=b'{'\n end=b'}'\n environ=getattr(os,'environb',None)\n else:\n if '$'not in path:\n return path\n if not _varprog:\n import re\n _varprog=re.compile(r'\\$(\\w+|\\{[^}]*\\})',re.ASCII)\n search=_varprog.search\n start='{'\n end='}'\n environ=os.environ\n i=0\n while True:\n m=search(path,i)\n if not m:\n break\n i,j=m.span(0)\n name=m.group(1)\n if name.startswith(start)and name.endswith(end):\n name=name[1:-1]\n try:\n if environ is None:\n value=os.fsencode(os.environ[os.fsdecode(name)])\n else:\n value=environ[name]\n except KeyError:\n i=j\n else:\n tail=path[j:]\n path=path[:i]+value\n i=len(path)\n path +=tail\n return path\n \n \n \n \n \n \ntry:\n from posix import _path_normpath\n \nexcept ImportError:\n def normpath(path):\n ''\n path=os.fspath(path)\n if isinstance(path,bytes):\n sep=b'/'\n empty=b''\n dot=b'.'\n dotdot=b'..'\n else:\n sep='/'\n empty=''\n dot='.'\n dotdot='..'\n if path ==empty:\n return dot\n _,initial_slashes,path=splitroot(path)\n comps=path.split(sep)\n new_comps=[]\n for comp in comps:\n if comp in(empty,dot):\n continue\n if(comp !=dotdot or(not initial_slashes and not new_comps)or\n (new_comps and new_comps[-1]==dotdot)):\n new_comps.append(comp)\n elif new_comps:\n new_comps.pop()\n comps=new_comps\n path=initial_slashes+sep.join(comps)\n return path or dot\n \nelse:\n def normpath(path):\n ''\n path=os.fspath(path)\n if isinstance(path,bytes):\n return os.fsencode(_path_normpath(os.fsdecode(path)))or b\".\"\n return _path_normpath(path)or \".\"\n \n \ndef abspath(path):\n ''\n path=os.fspath(path)\n if not isabs(path):\n if isinstance(path,bytes):\n cwd=os.getcwdb()\n else:\n cwd=os.getcwd()\n path=join(cwd,path)\n return normpath(path)\n \n \n \n \n \ndef realpath(filename,*,strict=False):\n ''\n \n filename=os.fspath(filename)\n path,ok=_joinrealpath(filename[:0],filename,strict,{})\n return abspath(path)\n \n \n \ndef _joinrealpath(path,rest,strict,seen):\n if isinstance(path,bytes):\n sep=b'/'\n curdir=b'.'\n pardir=b'..'\n else:\n sep='/'\n curdir='.'\n pardir='..'\n \n if isabs(rest):\n rest=rest[1:]\n path=sep\n \n while rest:\n name,_,rest=rest.partition(sep)\n if not name or name ==curdir:\n \n continue\n if name ==pardir:\n \n if path:\n path,name=split(path)\n if name ==pardir:\n path=join(path,pardir,pardir)\n else:\n path=pardir\n continue\n newpath=join(path,name)\n try:\n st=os.lstat(newpath)\n except OSError:\n if strict:\n raise\n is_link=False\n else:\n is_link=stat.S_ISLNK(st.st_mode)\n if not is_link:\n path=newpath\n continue\n \n if newpath in seen:\n \n path=seen[newpath]\n if path is not None:\n \n continue\n \n if strict:\n \n os.stat(newpath)\n else:\n \n return join(newpath,rest),False\n seen[newpath]=None\n path,ok=_joinrealpath(path,os.readlink(newpath),strict,seen)\n if not ok:\n return join(path,rest),False\n seen[newpath]=path\n \n return path,True\n \n \nsupports_unicode_filenames=(sys.platform =='darwin')\n\ndef relpath(path,start=None):\n ''\n \n if not path:\n raise ValueError(\"no path specified\")\n \n path=os.fspath(path)\n if isinstance(path,bytes):\n curdir=b'.'\n sep=b'/'\n pardir=b'..'\n else:\n curdir='.'\n sep='/'\n pardir='..'\n \n if start is None:\n start=curdir\n else:\n start=os.fspath(start)\n \n try:\n start_list=[x for x in abspath(start).split(sep)if x]\n path_list=[x for x in abspath(path).split(sep)if x]\n \n i=len(commonprefix([start_list,path_list]))\n \n rel_list=[pardir]*(len(start_list)-i)+path_list[i:]\n if not rel_list:\n return curdir\n return join(*rel_list)\n except(TypeError,AttributeError,BytesWarning,DeprecationWarning):\n genericpath._check_arg_types('relpath',path,start)\n raise\n \n \n \n \n \n \n \ndef commonpath(paths):\n ''\n \n if not paths:\n raise ValueError('commonpath() arg is an empty sequence')\n \n paths=tuple(map(os.fspath,paths))\n if isinstance(paths[0],bytes):\n sep=b'/'\n curdir=b'.'\n else:\n sep='/'\n curdir='.'\n \n try:\n split_paths=[path.split(sep)for path in paths]\n \n try:\n isabs,=set(p[:1]==sep for p in paths)\n except ValueError:\n raise ValueError(\"Can't mix absolute and relative paths\")from None\n \n split_paths=[[c for c in s if c and c !=curdir]for s in split_paths]\n s1=min(split_paths)\n s2=max(split_paths)\n common=s1\n for i,c in enumerate(s1):\n if c !=s2[i]:\n common=s1[:i]\n break\n \n prefix=sep if isabs else sep[:0]\n return prefix+sep.join(common)\n except(TypeError,AttributeError):\n genericpath._check_arg_types('commonpath',*paths)\n raise\n \n",["genericpath","os","posix","pwd","re","stat","sys"]],pprint:[".py","\n\n\n\n\n\n\n\n\n\n\"\"\"Support to pretty-print lists, tuples, & dictionaries recursively.\n\nVery simple, but useful, especially in debugging data structures.\n\nClasses\n-------\n\nPrettyPrinter()\n Handle pretty-printing operations onto a stream using a configured\n set of formatting parameters.\n\nFunctions\n---------\n\npformat()\n Format a Python object into a pretty-printed representation.\n\npprint()\n Pretty-print a Python object to a stream [default is sys.stdout].\n\nsaferepr()\n Generate a 'standard' repr()-like value, but protect against recursive\n data structures.\n\n\"\"\"\n\nimport collections as _collections\nimport dataclasses as _dataclasses\nimport re\nimport sys as _sys\nimport types as _types\nfrom io import StringIO as _StringIO\n\n__all__=[\"pprint\",\"pformat\",\"isreadable\",\"isrecursive\",\"saferepr\",\n\"PrettyPrinter\",\"pp\"]\n\n\ndef pprint(object,stream=None,indent=1,width=80,depth=None,*,\ncompact=False,sort_dicts=True,underscore_numbers=False):\n ''\n printer=PrettyPrinter(\n stream=stream,indent=indent,width=width,depth=depth,\n compact=compact,sort_dicts=sort_dicts,\n underscore_numbers=underscore_numbers)\n printer.pprint(object)\n \ndef pformat(object,indent=1,width=80,depth=None,*,\ncompact=False,sort_dicts=True,underscore_numbers=False):\n ''\n return PrettyPrinter(indent=indent,width=width,depth=depth,\n compact=compact,sort_dicts=sort_dicts,\n underscore_numbers=underscore_numbers).pformat(object)\n \ndef pp(object,*args,sort_dicts=False,**kwargs):\n ''\n pprint(object,*args,sort_dicts=sort_dicts,**kwargs)\n \ndef saferepr(object):\n ''\n return PrettyPrinter()._safe_repr(object,{},None,0)[0]\n \ndef isreadable(object):\n ''\n return PrettyPrinter()._safe_repr(object,{},None,0)[1]\n \ndef isrecursive(object):\n ''\n return PrettyPrinter()._safe_repr(object,{},None,0)[2]\n \nclass _safe_key:\n ''\n\n\n\n\n\n\n \n \n __slots__=['obj']\n \n def __init__(self,obj):\n self.obj=obj\n \n def __lt__(self,other):\n try:\n return self.obj = 0')\n if depth is not None and depth <=0:\n raise ValueError('depth must be > 0')\n if not width:\n raise ValueError('width must be != 0')\n self._depth=depth\n self._indent_per_level=indent\n self._width=width\n if stream is not None:\n self._stream=stream\n else:\n self._stream=_sys.stdout\n self._compact=bool(compact)\n self._sort_dicts=sort_dicts\n self._underscore_numbers=underscore_numbers\n \n def pprint(self,object):\n if self._stream is not None:\n self._format(object,self._stream,0,0,{},0)\n self._stream.write(\"\\n\")\n \n def pformat(self,object):\n sio=_StringIO()\n self._format(object,sio,0,0,{},0)\n return sio.getvalue()\n \n def isrecursive(self,object):\n return self.format(object,{},0,0)[2]\n \n def isreadable(self,object):\n s,readable,recursive=self.format(object,{},0,0)\n return readable and not recursive\n \n def _format(self,object,stream,indent,allowance,context,level):\n objid=id(object)\n if objid in context:\n stream.write(_recursion(object))\n self._recursive=True\n self._readable=False\n return\n rep=self._repr(object,context,level)\n max_width=self._width -indent -allowance\n if len(rep)>max_width:\n p=self._dispatch.get(type(object).__repr__,None)\n if p is not None:\n context[objid]=1\n p(self,object,stream,indent,allowance,context,level+1)\n del context[objid]\n return\n elif(_dataclasses.is_dataclass(object)and\n not isinstance(object,type)and\n object.__dataclass_params__.repr and\n \n hasattr(object.__repr__,\"__wrapped__\")and\n \"__create_fn__\"in object.__repr__.__wrapped__.__qualname__):\n context[objid]=1\n self._pprint_dataclass(object,stream,indent,allowance,context,level+1)\n del context[objid]\n return\n stream.write(rep)\n \n def _pprint_dataclass(self,object,stream,indent,allowance,context,level):\n cls_name=object.__class__.__name__\n indent +=len(cls_name)+1\n items=[(f.name,getattr(object,f.name))for f in _dataclasses.fields(object)if f.repr]\n stream.write(cls_name+'(')\n self._format_namespace_items(items,stream,indent,allowance,context,level)\n stream.write(')')\n \n _dispatch={}\n \n def _pprint_dict(self,object,stream,indent,allowance,context,level):\n write=stream.write\n write('{')\n if self._indent_per_level >1:\n write((self._indent_per_level -1)*' ')\n length=len(object)\n if length:\n if self._sort_dicts:\n items=sorted(object.items(),key=_safe_tuple)\n else:\n items=object.items()\n self._format_dict_items(items,stream,indent,allowance+1,\n context,level)\n write('}')\n \n _dispatch[dict.__repr__]=_pprint_dict\n \n def _pprint_ordered_dict(self,object,stream,indent,allowance,context,level):\n if not len(object):\n stream.write(repr(object))\n return\n cls=object.__class__\n stream.write(cls.__name__+'(')\n self._format(list(object.items()),stream,\n indent+len(cls.__name__)+1,allowance+1,\n context,level)\n stream.write(')')\n \n _dispatch[_collections.OrderedDict.__repr__]=_pprint_ordered_dict\n \n def _pprint_list(self,object,stream,indent,allowance,context,level):\n stream.write('[')\n self._format_items(object,stream,indent,allowance+1,\n context,level)\n stream.write(']')\n \n _dispatch[list.__repr__]=_pprint_list\n \n def _pprint_tuple(self,object,stream,indent,allowance,context,level):\n stream.write('(')\n endchar=',)'if len(object)==1 else ')'\n self._format_items(object,stream,indent,allowance+len(endchar),\n context,level)\n stream.write(endchar)\n \n _dispatch[tuple.__repr__]=_pprint_tuple\n \n def _pprint_set(self,object,stream,indent,allowance,context,level):\n if not len(object):\n stream.write(repr(object))\n return\n typ=object.__class__\n if typ is set:\n stream.write('{')\n endchar='}'\n else:\n stream.write(typ.__name__+'({')\n endchar='})'\n indent +=len(typ.__name__)+1\n object=sorted(object,key=_safe_key)\n self._format_items(object,stream,indent,allowance+len(endchar),\n context,level)\n stream.write(endchar)\n \n _dispatch[set.__repr__]=_pprint_set\n _dispatch[frozenset.__repr__]=_pprint_set\n \n def _pprint_str(self,object,stream,indent,allowance,context,level):\n write=stream.write\n if not len(object):\n write(repr(object))\n return\n chunks=[]\n lines=object.splitlines(True)\n if level ==1:\n indent +=1\n allowance +=1\n max_width1=max_width=self._width -indent\n for i,line in enumerate(lines):\n rep=repr(line)\n if i ==len(lines)-1:\n max_width1 -=allowance\n if len(rep)<=max_width1:\n chunks.append(rep)\n else:\n \n parts=re.findall(r'\\S*\\s*',line)\n assert parts\n assert not parts[-1]\n parts.pop()\n max_width2=max_width\n current=''\n for j,part in enumerate(parts):\n candidate=current+part\n if j ==len(parts)-1 and i ==len(lines)-1:\n max_width2 -=allowance\n if len(repr(candidate))>max_width2:\n if current:\n chunks.append(repr(current))\n current=part\n else:\n current=candidate\n if current:\n chunks.append(repr(current))\n if len(chunks)==1:\n write(rep)\n return\n if level ==1:\n write('(')\n for i,rep in enumerate(chunks):\n if i >0:\n write('\\n'+' '*indent)\n write(rep)\n if level ==1:\n write(')')\n \n _dispatch[str.__repr__]=_pprint_str\n \n def _pprint_bytes(self,object,stream,indent,allowance,context,level):\n write=stream.write\n if len(object)<=4:\n write(repr(object))\n return\n parens=level ==1\n if parens:\n indent +=1\n allowance +=1\n write('(')\n delim=''\n for rep in _wrap_bytes_repr(object,self._width -indent,allowance):\n write(delim)\n write(rep)\n if not delim:\n delim='\\n'+' '*indent\n if parens:\n write(')')\n \n _dispatch[bytes.__repr__]=_pprint_bytes\n \n def _pprint_bytearray(self,object,stream,indent,allowance,context,level):\n write=stream.write\n write('bytearray(')\n self._pprint_bytes(bytes(object),stream,indent+10,\n allowance+1,context,level+1)\n write(')')\n \n _dispatch[bytearray.__repr__]=_pprint_bytearray\n \n def _pprint_mappingproxy(self,object,stream,indent,allowance,context,level):\n stream.write('mappingproxy(')\n self._format(object.copy(),stream,indent+13,allowance+1,\n context,level)\n stream.write(')')\n \n _dispatch[_types.MappingProxyType.__repr__]=_pprint_mappingproxy\n \n def _pprint_simplenamespace(self,object,stream,indent,allowance,context,level):\n if type(object)is _types.SimpleNamespace:\n \n \n cls_name='namespace'\n else:\n cls_name=object.__class__.__name__\n indent +=len(cls_name)+1\n items=object.__dict__.items()\n stream.write(cls_name+'(')\n self._format_namespace_items(items,stream,indent,allowance,context,level)\n stream.write(')')\n \n _dispatch[_types.SimpleNamespace.__repr__]=_pprint_simplenamespace\n \n def _format_dict_items(self,items,stream,indent,allowance,context,\n level):\n write=stream.write\n indent +=self._indent_per_level\n delimnl=',\\n'+' '*indent\n last_index=len(items)-1\n for i,(key,ent)in enumerate(items):\n last=i ==last_index\n rep=self._repr(key,context,level)\n write(rep)\n write(': ')\n self._format(ent,stream,indent+len(rep)+2,\n allowance if last else 1,\n context,level)\n if not last:\n write(delimnl)\n \n def _format_namespace_items(self,items,stream,indent,allowance,context,level):\n write=stream.write\n delimnl=',\\n'+' '*indent\n last_index=len(items)-1\n for i,(key,ent)in enumerate(items):\n last=i ==last_index\n write(key)\n write('=')\n if id(ent)in context:\n \n \n write(\"...\")\n else:\n self._format(ent,stream,indent+len(key)+1,\n allowance if last else 1,\n context,level)\n if not last:\n write(delimnl)\n \n def _format_items(self,items,stream,indent,allowance,context,level):\n write=stream.write\n indent +=self._indent_per_level\n if self._indent_per_level >1:\n write((self._indent_per_level -1)*' ')\n delimnl=',\\n'+' '*indent\n delim=''\n width=max_width=self._width -indent+1\n it=iter(items)\n try:\n next_ent=next(it)\n except StopIteration:\n return\n last=False\n while not last:\n ent=next_ent\n try:\n next_ent=next(it)\n except StopIteration:\n last=True\n max_width -=allowance\n width -=allowance\n if self._compact:\n rep=self._repr(ent,context,level)\n w=len(rep)+2\n if width =w:\n width -=w\n write(delim)\n delim=', '\n write(rep)\n continue\n write(delim)\n delim=delimnl\n self._format(ent,stream,indent,\n allowance if last else 1,\n context,level)\n \n def _repr(self,object,context,level):\n repr,readable,recursive=self.format(object,context.copy(),\n self._depth,level)\n if not readable:\n self._readable=False\n if recursive:\n self._recursive=True\n return repr\n \n def format(self,object,context,maxlevels,level):\n ''\n\n\n \n return self._safe_repr(object,context,maxlevels,level)\n \n def _pprint_default_dict(self,object,stream,indent,allowance,context,level):\n if not len(object):\n stream.write(repr(object))\n return\n rdf=self._repr(object.default_factory,context,level)\n cls=object.__class__\n indent +=len(cls.__name__)+1\n stream.write('%s(%s,\\n%s'%(cls.__name__,rdf,' '*indent))\n self._pprint_dict(object,stream,indent,allowance+1,context,level)\n stream.write(')')\n \n _dispatch[_collections.defaultdict.__repr__]=_pprint_default_dict\n \n def _pprint_counter(self,object,stream,indent,allowance,context,level):\n if not len(object):\n stream.write(repr(object))\n return\n cls=object.__class__\n stream.write(cls.__name__+'({')\n if self._indent_per_level >1:\n stream.write((self._indent_per_level -1)*' ')\n items=object.most_common()\n self._format_dict_items(items,stream,\n indent+len(cls.__name__)+1,allowance+2,\n context,level)\n stream.write('})')\n \n _dispatch[_collections.Counter.__repr__]=_pprint_counter\n \n def _pprint_chain_map(self,object,stream,indent,allowance,context,level):\n if not len(object.maps):\n stream.write(repr(object))\n return\n cls=object.__class__\n stream.write(cls.__name__+'(')\n indent +=len(cls.__name__)+1\n for i,m in enumerate(object.maps):\n if i ==len(object.maps)-1:\n self._format(m,stream,indent,allowance+1,context,level)\n stream.write(')')\n else:\n self._format(m,stream,indent,1,context,level)\n stream.write(',\\n'+' '*indent)\n \n _dispatch[_collections.ChainMap.__repr__]=_pprint_chain_map\n \n def _pprint_deque(self,object,stream,indent,allowance,context,level):\n if not len(object):\n stream.write(repr(object))\n return\n cls=object.__class__\n stream.write(cls.__name__+'(')\n indent +=len(cls.__name__)+1\n stream.write('[')\n if object.maxlen is None:\n self._format_items(object,stream,indent,allowance+2,\n context,level)\n stream.write('])')\n else:\n self._format_items(object,stream,indent,2,\n context,level)\n rml=self._repr(object.maxlen,context,level)\n stream.write('],\\n%smaxlen=%s)'%(' '*indent,rml))\n \n _dispatch[_collections.deque.__repr__]=_pprint_deque\n \n def _pprint_user_dict(self,object,stream,indent,allowance,context,level):\n self._format(object.data,stream,indent,allowance,context,level -1)\n \n _dispatch[_collections.UserDict.__repr__]=_pprint_user_dict\n \n def _pprint_user_list(self,object,stream,indent,allowance,context,level):\n self._format(object.data,stream,indent,allowance,context,level -1)\n \n _dispatch[_collections.UserList.__repr__]=_pprint_user_list\n \n def _pprint_user_string(self,object,stream,indent,allowance,context,level):\n self._format(object.data,stream,indent,allowance,context,level -1)\n \n _dispatch[_collections.UserString.__repr__]=_pprint_user_string\n \n def _safe_repr(self,object,context,maxlevels,level):\n \n typ=type(object)\n if typ in _builtin_scalars:\n return repr(object),True,False\n \n r=getattr(typ,\"__repr__\",None)\n \n if issubclass(typ,int)and r is int.__repr__:\n if self._underscore_numbers:\n return f\"{object:_d}\",True,False\n else:\n return repr(object),True,False\n \n if issubclass(typ,dict)and r is dict.__repr__:\n if not object:\n return \"{}\",True,False\n objid=id(object)\n if maxlevels and level >=maxlevels:\n return \"{...}\",False,objid in context\n if objid in context:\n return _recursion(object),False,True\n context[objid]=1\n readable=True\n recursive=False\n components=[]\n append=components.append\n level +=1\n if self._sort_dicts:\n items=sorted(object.items(),key=_safe_tuple)\n else:\n items=object.items()\n for k,v in items:\n krepr,kreadable,krecur=self.format(\n k,context,maxlevels,level)\n vrepr,vreadable,vrecur=self.format(\n v,context,maxlevels,level)\n append(\"%s: %s\"%(krepr,vrepr))\n readable=readable and kreadable and vreadable\n if krecur or vrecur:\n recursive=True\n del context[objid]\n return \"{%s}\"%\", \".join(components),readable,recursive\n \n if(issubclass(typ,list)and r is list.__repr__)or\\\n (issubclass(typ,tuple)and r is tuple.__repr__):\n if issubclass(typ,list):\n if not object:\n return \"[]\",True,False\n format=\"[%s]\"\n elif len(object)==1:\n format=\"(%s,)\"\n else:\n if not object:\n return \"()\",True,False\n format=\"(%s)\"\n objid=id(object)\n if maxlevels and level >=maxlevels:\n return format %\"...\",False,objid in context\n if objid in context:\n return _recursion(object),False,True\n context[objid]=1\n readable=True\n recursive=False\n components=[]\n append=components.append\n level +=1\n for o in object:\n orepr,oreadable,orecur=self.format(\n o,context,maxlevels,level)\n append(orepr)\n if not oreadable:\n readable=False\n if orecur:\n recursive=True\n del context[objid]\n return format %\", \".join(components),readable,recursive\n \n rep=repr(object)\n return rep,(rep and not rep.startswith('<')),False\n \n_builtin_scalars=frozenset({str,bytes,bytearray,float,complex,\nbool,type(None)})\n\ndef _recursion(object):\n return(\"\"\n %(type(object).__name__,id(object)))\n \n \ndef _wrap_bytes_repr(object,width,allowance):\n current=b''\n last=len(object)//4 *4\n for i in range(0,len(object),4):\n part=object[i:i+4]\n candidate=current+part\n if i ==last:\n width -=allowance\n if len(repr(candidate))>width:\n if current:\n yield repr(current)\n current=part\n else:\n current=candidate\n if current:\n yield repr(current)\n",["collections","dataclasses","io","re","sys","types"]],profile:[".py",'#! /usr/bin/env python3\n\n\n\n\n\n\n\n"""Class for profiling Python code."""\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport importlib.machinery\nimport io\nimport sys\nimport time\nimport marshal\n\n__all__=["run","runctx","Profile"]\n\n\n\n\n\n\n\n\n\nclass _Utils:\n \'\'\n\n\n \n \n def __init__(self,profiler):\n self.profiler=profiler\n \n def run(self,statement,filename,sort):\n prof=self.profiler()\n try:\n prof.run(statement)\n except SystemExit:\n pass\n finally:\n self._show(prof,filename,sort)\n \n def runctx(self,statement,globals,locals,filename,sort):\n prof=self.profiler()\n try:\n prof.runctx(statement,globals,locals)\n except SystemExit:\n pass\n finally:\n self._show(prof,filename,sort)\n \n def _show(self,prof,filename,sort):\n if filename is not None:\n prof.dump_stats(filename)\n else:\n prof.print_stats(sort)\n \n \n \n \n \n \n \ndef run(statement,filename=None,sort=-1):\n \'\'\n\n\n\n\n\n\n\n\n \n return _Utils(Profile).run(statement,filename,sort)\n \ndef runctx(statement,globals,locals,filename=None,sort=-1):\n \'\'\n\n\n\n \n return _Utils(Profile).runctx(statement,globals,locals,filename,sort)\n \n \nclass Profile:\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n bias=0\n \n def __init__(self,timer=None,bias=None):\n self.timings={}\n self.cur=None\n self.cmd=""\n self.c_func_name=""\n \n if bias is None:\n bias=self.bias\n self.bias=bias\n \n if not timer:\n self.timer=self.get_time=time.process_time\n self.dispatcher=self.trace_dispatch_i\n else:\n self.timer=timer\n t=self.timer()\n try:\n length=len(t)\n except TypeError:\n self.get_time=timer\n self.dispatcher=self.trace_dispatch_i\n else:\n if length ==2:\n self.dispatcher=self.trace_dispatch\n else:\n self.dispatcher=self.trace_dispatch_l\n \n \n \n \n \n def get_time_timer(timer=timer,sum=sum):\n return sum(timer())\n self.get_time=get_time_timer\n self.t=self.get_time()\n self.simulate_call(\'profiler\')\n \n \n \n def trace_dispatch(self,frame,event,arg):\n timer=self.timer\n t=timer()\n t=t[0]+t[1]-self.t -self.bias\n \n if event =="c_call":\n self.c_func_name=arg.__name__\n \n if self.dispatch[event](self,frame,t):\n t=timer()\n self.t=t[0]+t[1]\n else:\n r=timer()\n self.t=r[0]+r[1]-t\n \n \n \n \n def trace_dispatch_i(self,frame,event,arg):\n timer=self.timer\n t=timer()-self.t -self.bias\n \n if event =="c_call":\n self.c_func_name=arg.__name__\n \n if self.dispatch[event](self,frame,t):\n self.t=timer()\n else:\n self.t=timer()-t\n \n \n \n \n def trace_dispatch_mac(self,frame,event,arg):\n timer=self.timer\n t=timer()/60.0 -self.t -self.bias\n \n if event =="c_call":\n self.c_func_name=arg.__name__\n \n if self.dispatch[event](self,frame,t):\n self.t=timer()/60.0\n else:\n self.t=timer()/60.0 -t\n \n \n \n def trace_dispatch_l(self,frame,event,arg):\n get_time=self.get_time\n t=get_time()-self.t -self.bias\n \n if event =="c_call":\n self.c_func_name=arg.__name__\n \n if self.dispatch[event](self,frame,t):\n self.t=get_time()\n else:\n self.t=get_time()-t\n \n \n \n \n \n \n \n \n def trace_dispatch_exception(self,frame,t):\n rpt,rit,ret,rfn,rframe,rcur=self.cur\n if(rframe is not frame)and rcur:\n return self.trace_dispatch_return(rframe,t)\n self.cur=rpt,rit+t,ret,rfn,rframe,rcur\n return 1\n \n \n def trace_dispatch_call(self,frame,t):\n if self.cur and frame.f_back is not self.cur[-2]:\n rpt,rit,ret,rfn,rframe,rcur=self.cur\n if not isinstance(rframe,Profile.fake_frame):\n assert rframe.f_back is frame.f_back,("Bad call",rfn,\n rframe,rframe.f_back,\n frame,frame.f_back)\n self.trace_dispatch_return(rframe,0)\n assert(self.cur is None or\\\n frame.f_back is self.cur[-2]),("Bad call",\n self.cur[-3])\n fcode=frame.f_code\n fn=(fcode.co_filename,fcode.co_firstlineno,fcode.co_name)\n self.cur=(t,0,0,fn,frame,self.cur)\n timings=self.timings\n if fn in timings:\n cc,ns,tt,ct,callers=timings[fn]\n timings[fn]=cc,ns+1,tt,ct,callers\n else:\n timings[fn]=0,0,0,0,{}\n return 1\n \n def trace_dispatch_c_call(self,frame,t):\n fn=("",0,self.c_func_name)\n self.cur=(t,0,0,fn,frame,self.cur)\n timings=self.timings\n if fn in timings:\n cc,ns,tt,ct,callers=timings[fn]\n timings[fn]=cc,ns+1,tt,ct,callers\n else:\n timings[fn]=0,0,0,0,{}\n return 1\n \n def trace_dispatch_return(self,frame,t):\n if frame is not self.cur[-2]:\n assert frame is self.cur[-2].f_back,("Bad return",self.cur[-3])\n self.trace_dispatch_return(self.cur[-2],0)\n \n \n \n \n rpt,rit,ret,rfn,frame,rcur=self.cur\n rit=rit+t\n frame_total=rit+ret\n \n ppt,pit,pet,pfn,pframe,pcur=rcur\n self.cur=ppt,pit+rpt,pet+frame_total,pfn,pframe,pcur\n \n timings=self.timings\n cc,ns,tt,ct,callers=timings[rfn]\n if not ns:\n \n \n \n \n ct=ct+frame_total\n cc=cc+1\n \n if pfn in callers:\n callers[pfn]=callers[pfn]+1\n \n \n \n else:\n callers[pfn]=1\n \n timings[rfn]=cc,ns -1,tt+rit,ct,callers\n \n return 1\n \n \n dispatch={\n "call":trace_dispatch_call,\n "exception":trace_dispatch_exception,\n "return":trace_dispatch_return,\n "c_call":trace_dispatch_c_call,\n "c_exception":trace_dispatch_return,\n "c_return":trace_dispatch_return,\n }\n \n \n \n \n \n \n \n \n def set_cmd(self,cmd):\n if self.cur[-1]:return\n self.cmd=cmd\n self.simulate_call(cmd)\n \n class fake_code:\n def __init__(self,filename,line,name):\n self.co_filename=filename\n self.co_line=line\n self.co_name=name\n self.co_firstlineno=0\n \n def __repr__(self):\n return repr((self.co_filename,self.co_line,self.co_name))\n \n class fake_frame:\n def __init__(self,code,prior):\n self.f_code=code\n self.f_back=prior\n \n def simulate_call(self,name):\n code=self.fake_code(\'profile\',0,name)\n if self.cur:\n pframe=self.cur[-2]\n else:\n pframe=None\n frame=self.fake_frame(code,pframe)\n self.dispatch[\'call\'](self,frame,0)\n \n \n \n \n def simulate_cmd_complete(self):\n get_time=self.get_time\n t=get_time()-self.t\n while self.cur[-1]:\n \n \n self.dispatch[\'return\'](self,self.cur[-2],t)\n t=0\n self.t=get_time()-t\n \n \n def print_stats(self,sort=-1):\n import pstats\n pstats.Stats(self).strip_dirs().sort_stats(sort).\\\n print_stats()\n \n def dump_stats(self,file):\n with open(file,\'wb\')as f:\n self.create_stats()\n marshal.dump(self.stats,f)\n \n def create_stats(self):\n self.simulate_cmd_complete()\n self.snapshot_stats()\n \n def snapshot_stats(self):\n self.stats={}\n for func,(cc,ns,tt,ct,callers)in self.timings.items():\n callers=callers.copy()\n nc=0\n for callcnt in callers.values():\n nc +=callcnt\n self.stats[func]=cc,nc,tt,ct,callers\n \n \n \n \n \n def run(self,cmd):\n import __main__\n dict=__main__.__dict__\n return self.runctx(cmd,dict,dict)\n \n def runctx(self,cmd,globals,locals):\n self.set_cmd(cmd)\n sys.setprofile(self.dispatcher)\n try:\n exec(cmd,globals,locals)\n finally:\n sys.setprofile(None)\n return self\n \n \n def runcall(self,func,/,*args,**kw):\n self.set_cmd(repr(func))\n sys.setprofile(self.dispatcher)\n try:\n return func(*args,**kw)\n finally:\n sys.setprofile(None)\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n def calibrate(self,m,verbose=0):\n if self.__class__ is not Profile:\n raise TypeError("Subclasses must override .calibrate().")\n \n saved_bias=self.bias\n self.bias=0\n try:\n return self._calibrate_inner(m,verbose)\n finally:\n self.bias=saved_bias\n \n def _calibrate_inner(self,m,verbose):\n get_time=self.get_time\n \n \n \n \n \n \n \n def f1(n):\n for i in range(n):\n x=1\n \n def f(m,f1=f1):\n for i in range(m):\n f1(100)\n \n f(m)\n \n \n t0=get_time()\n f(m)\n t1=get_time()\n elapsed_noprofile=t1 -t0\n if verbose:\n print("elapsed time without profiling =",elapsed_noprofile)\n \n \n \n \n p=Profile()\n t0=get_time()\n p.runctx(\'f(m)\',globals(),locals())\n t1=get_time()\n elapsed_profile=t1 -t0\n if verbose:\n print("elapsed time with profiling =",elapsed_profile)\n \n \n total_calls=0.0\n reported_time=0.0\n for(filename,line,funcname),(cc,ns,tt,ct,callers)in\\\n p.timings.items():\n if funcname in("f","f1"):\n total_calls +=cc\n reported_time +=tt\n \n if verbose:\n print("\'CPU seconds\' profiler reported =",reported_time)\n print("total # calls =",total_calls)\n if total_calls !=m+1:\n raise ValueError("internal error: total calls = %d"%total_calls)\n \n \n \n \n \n mean=(reported_time -elapsed_noprofile)/2.0 /total_calls\n if verbose:\n print("mean stopwatch overhead per profile event =",mean)\n return mean\n \n \n \ndef main():\n import os\n from optparse import OptionParser\n \n usage="profile.py [-o output_file_path] [-s sort] [-m module | scriptfile] [arg] ..."\n parser=OptionParser(usage=usage)\n parser.allow_interspersed_args=False\n parser.add_option(\'-o\',\'--outfile\',dest="outfile",\n help="Save stats to ",default=None)\n parser.add_option(\'-m\',dest="module",action="store_true",\n help="Profile a library module.",default=False)\n parser.add_option(\'-s\',\'--sort\',dest="sort",\n help="Sort order when printing to stdout, based on pstats.Stats class",\n default=-1)\n \n if not sys.argv[1:]:\n parser.print_usage()\n sys.exit(2)\n \n (options,args)=parser.parse_args()\n sys.argv[:]=args\n \n \n \n if options.outfile is not None:\n options.outfile=os.path.abspath(options.outfile)\n \n if len(args)>0:\n if options.module:\n import runpy\n code="run_module(modname, run_name=\'__main__\')"\n globs={\n \'run_module\':runpy.run_module,\n \'modname\':args[0]\n }\n else:\n progname=args[0]\n sys.path.insert(0,os.path.dirname(progname))\n with io.open_code(progname)as fp:\n code=compile(fp.read(),progname,\'exec\')\n spec=importlib.machinery.ModuleSpec(name=\'__main__\',loader=None,\n origin=progname)\n globs={\n \'__spec__\':spec,\n \'__file__\':spec.origin,\n \'__name__\':spec.name,\n \'__package__\':None,\n \'__cached__\':None,\n }\n try:\n runctx(code,globs,None,options.outfile,options.sort)\n except BrokenPipeError as exc:\n \n sys.stdout=None\n sys.exit(exc.errno)\n else:\n parser.print_usage()\n return parser\n \n \nif __name__ ==\'__main__\':\n main()\n',["__main__","importlib.machinery","io","marshal","optparse","os","pstats","runpy","sys","time"]],pwd:[".py","\ndef getpwuid():\n pass\n",[]],pyclbr:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport ast\nimport sys\nimport importlib.util\n\n__all__=[\"readmodule\",\"readmodule_ex\",\"Class\",\"Function\"]\n\n_modules={}\n\n\nclass _Object:\n ''\n def __init__(self,module,name,file,lineno,end_lineno,parent):\n self.module=module\n self.name=name\n self.file=file\n self.lineno=lineno\n self.end_lineno=end_lineno\n self.parent=parent\n self.children={}\n if parent is not None:\n parent.children[name]=self\n \n \n \nclass Function(_Object):\n ''\n def __init__(self,module,name,file,lineno,\n parent=None,is_async=False,*,end_lineno=None):\n super().__init__(module,name,file,lineno,end_lineno,parent)\n self.is_async=is_async\n if isinstance(parent,Class):\n parent.methods[name]=lineno\n \n \nclass Class(_Object):\n ''\n def __init__(self,module,name,super_,file,lineno,\n parent=None,*,end_lineno=None):\n super().__init__(module,name,file,lineno,end_lineno,parent)\n self.super=super_ or[]\n self.methods={}\n \n \n \n \ndef _nest_function(ob,func_name,lineno,end_lineno,is_async=False):\n ''\n return Function(ob.module,func_name,ob.file,lineno,\n parent=ob,is_async=is_async,end_lineno=end_lineno)\n \ndef _nest_class(ob,class_name,lineno,end_lineno,super=None):\n ''\n return Class(ob.module,class_name,super,ob.file,lineno,\n parent=ob,end_lineno=end_lineno)\n \n \ndef readmodule(module,path=None):\n ''\n\n\n \n \n res={}\n for key,value in _readmodule(module,path or[]).items():\n if isinstance(value,Class):\n res[key]=value\n return res\n \ndef readmodule_ex(module,path=None):\n ''\n\n\n\n\n \n return _readmodule(module,path or[])\n \n \ndef _readmodule(module,path,inpackage=None):\n ''\n\n\n\n\n\n \n \n if inpackage is not None:\n fullmodule=\"%s.%s\"%(inpackage,module)\n else:\n fullmodule=module\n \n \n if fullmodule in _modules:\n return _modules[fullmodule]\n \n \n tree={}\n \n \n if module in sys.builtin_module_names and inpackage is None:\n _modules[module]=tree\n return tree\n \n \n i=module.rfind('.')\n if i >=0:\n package=module[:i]\n submodule=module[i+1:]\n parent=_readmodule(package,path,inpackage)\n if inpackage is not None:\n package=\"%s.%s\"%(inpackage,package)\n if not '__path__'in parent:\n raise ImportError('No package named {}'.format(package))\n return _readmodule(submodule,parent['__path__'],package)\n \n \n f=None\n if inpackage is not None:\n search_path=path\n else:\n search_path=path+sys.path\n spec=importlib.util._find_spec_from_path(fullmodule,search_path)\n if spec is None:\n raise ModuleNotFoundError(f\"no module named {fullmodule !r}\",name=fullmodule)\n _modules[fullmodule]=tree\n \n if spec.submodule_search_locations is not None:\n tree['__path__']=spec.submodule_search_locations\n try:\n source=spec.loader.get_source(fullmodule)\n except(AttributeError,ImportError):\n \n return tree\n else:\n if source is None:\n return tree\n \n fname=spec.loader.get_filename(fullmodule)\n return _create_tree(fullmodule,path,fname,source,tree,inpackage)\n \n \nclass _ModuleBrowser(ast.NodeVisitor):\n def __init__(self,module,path,file,tree,inpackage):\n self.path=path\n self.tree=tree\n self.file=file\n self.module=module\n self.inpackage=inpackage\n self.stack=[]\n \n def visit_ClassDef(self,node):\n bases=[]\n for base in node.bases:\n name=ast.unparse(base)\n if name in self.tree:\n \n bases.append(self.tree[name])\n elif len(names :=name.split(\".\"))>1:\n \n \n *_,module,class_=names\n if module in _modules:\n bases.append(_modules[module].get(class_,name))\n else:\n bases.append(name)\n \n parent=self.stack[-1]if self.stack else None\n class_=Class(self.module,node.name,bases,self.file,node.lineno,\n parent=parent,end_lineno=node.end_lineno)\n if parent is None:\n self.tree[node.name]=class_\n self.stack.append(class_)\n self.generic_visit(node)\n self.stack.pop()\n \n def visit_FunctionDef(self,node,*,is_async=False):\n parent=self.stack[-1]if self.stack else None\n function=Function(self.module,node.name,self.file,node.lineno,\n parent,is_async,end_lineno=node.end_lineno)\n if parent is None:\n self.tree[node.name]=function\n self.stack.append(function)\n self.generic_visit(node)\n self.stack.pop()\n \n def visit_AsyncFunctionDef(self,node):\n self.visit_FunctionDef(node,is_async=True)\n \n def visit_Import(self,node):\n if node.col_offset !=0:\n return\n \n for module in node.names:\n try:\n try:\n _readmodule(module.name,self.path,self.inpackage)\n except ImportError:\n _readmodule(module.name,[])\n except(ImportError,SyntaxError):\n \n \n continue\n \n def visit_ImportFrom(self,node):\n if node.col_offset !=0:\n return\n try:\n module=\".\"*node.level\n if node.module:\n module +=node.module\n module=_readmodule(module,self.path,self.inpackage)\n except(ImportError,SyntaxError):\n return\n \n for name in node.names:\n if name.name in module:\n self.tree[name.asname or name.name]=module[name.name]\n elif name.name ==\"*\":\n for import_name,import_value in module.items():\n if import_name.startswith(\"_\"):\n continue\n self.tree[import_name]=import_value\n \n \ndef _create_tree(fullmodule,path,fname,source,tree,inpackage):\n mbrowser=_ModuleBrowser(fullmodule,path,fname,tree,inpackage)\n mbrowser.visit(ast.parse(source))\n return mbrowser.tree\n \n \ndef _main():\n ''\n import os\n try:\n mod=sys.argv[1]\n except:\n mod=__file__\n if os.path.exists(mod):\n path=[os.path.dirname(mod)]\n mod=os.path.basename(mod)\n if mod.lower().endswith(\".py\"):\n mod=mod[:-3]\n else:\n path=[]\n tree=readmodule_ex(mod,path)\n lineno_key=lambda a:getattr(a,'lineno',0)\n objs=sorted(tree.values(),key=lineno_key,reverse=True)\n indent_level=2\n while objs:\n obj=objs.pop()\n if isinstance(obj,list):\n \n continue\n if not hasattr(obj,'indent'):\n obj.indent=0\n \n if isinstance(obj,_Object):\n new_objs=sorted(obj.children.values(),\n key=lineno_key,reverse=True)\n for ob in new_objs:\n ob.indent=obj.indent+indent_level\n objs.extend(new_objs)\n if isinstance(obj,Class):\n print(\"{}class {} {} {}\"\n .format(' '*obj.indent,obj.name,obj.super,obj.lineno))\n elif isinstance(obj,Function):\n print(\"{}def {} {}\".format(' '*obj.indent,obj.name,obj.lineno))\n \nif __name__ ==\"__main__\":\n _main()\n",["ast","importlib.util","os","sys"]],pydoc:[".py","#!/usr/bin/env python3\n''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=['help']\n__author__=\"Ka-Ping Yee \"\n__date__=\"26 February 2001\"\n\n__credits__=\"\"\"Guido van Rossum, for an excellent programming language.\nTommy Burnette, the original creator of manpy.\nPaul Prescod, for all his work on onlinehelp.\nRichard Chamberlain, for the first implementation of textdoc.\n\"\"\"\n\n\n\n\n\n\n\n\nimport __future__\nimport builtins\nimport importlib._bootstrap\nimport importlib._bootstrap_external\nimport importlib.machinery\nimport importlib.util\nimport inspect\nimport io\nimport os\nimport pkgutil\nimport platform\nimport re\nimport sys\nimport sysconfig\nimport time\nimport tokenize\nimport urllib.parse\nimport warnings\nfrom collections import deque\nfrom reprlib import Repr\nfrom traceback import format_exception_only\n\n\n\n\ndef pathdirs():\n ''\n dirs=[]\n normdirs=[]\n for dir in sys.path:\n dir=os.path.abspath(dir or '.')\n normdir=os.path.normcase(dir)\n if normdir not in normdirs and os.path.isdir(dir):\n dirs.append(dir)\n normdirs.append(normdir)\n return dirs\n \ndef _findclass(func):\n cls=sys.modules.get(func.__module__)\n if cls is None:\n return None\n for name in func.__qualname__.split('.')[:-1]:\n cls=getattr(cls,name)\n if not inspect.isclass(cls):\n return None\n return cls\n \ndef _finddoc(obj):\n if inspect.ismethod(obj):\n name=obj.__func__.__name__\n self=obj.__self__\n if(inspect.isclass(self)and\n getattr(getattr(self,name,None),'__func__')is obj.__func__):\n \n cls=self\n else:\n cls=self.__class__\n elif inspect.isfunction(obj):\n name=obj.__name__\n cls=_findclass(obj)\n if cls is None or getattr(cls,name)is not obj:\n return None\n elif inspect.isbuiltin(obj):\n name=obj.__name__\n self=obj.__self__\n if(inspect.isclass(self)and\n self.__qualname__+'.'+name ==obj.__qualname__):\n \n cls=self\n else:\n cls=self.__class__\n \n elif isinstance(obj,property):\n func=obj.fget\n name=func.__name__\n cls=_findclass(func)\n if cls is None or getattr(cls,name)is not obj:\n return None\n elif inspect.ismethoddescriptor(obj)or inspect.isdatadescriptor(obj):\n name=obj.__name__\n cls=obj.__objclass__\n if getattr(cls,name)is not obj:\n return None\n if inspect.ismemberdescriptor(obj):\n slots=getattr(cls,'__slots__',None)\n if isinstance(slots,dict)and name in slots:\n return slots[name]\n else:\n return None\n for base in cls.__mro__:\n try:\n doc=_getowndoc(getattr(base,name))\n except AttributeError:\n continue\n if doc is not None:\n return doc\n return None\n \ndef _getowndoc(obj):\n ''\n \n try:\n doc=object.__getattribute__(obj,'__doc__')\n if doc is None:\n return None\n if obj is not type:\n typedoc=type(obj).__doc__\n if isinstance(typedoc,str)and typedoc ==doc:\n return None\n return doc\n except AttributeError:\n return None\n \ndef _getdoc(object):\n ''\n\n\n\n \n doc=_getowndoc(object)\n if doc is None:\n try:\n doc=_finddoc(object)\n except(AttributeError,TypeError):\n return None\n if not isinstance(doc,str):\n return None\n return inspect.cleandoc(doc)\n \ndef getdoc(object):\n ''\n result=_getdoc(object)or inspect.getcomments(object)\n return result and re.sub('^ *\\n','',result.rstrip())or ''\n \ndef splitdoc(doc):\n ''\n lines=doc.strip().split('\\n')\n if len(lines)==1:\n return lines[0],''\n elif len(lines)>=2 and not lines[1].rstrip():\n return lines[0],'\\n'.join(lines[2:])\n return '','\\n'.join(lines)\n \ndef classname(object,modname):\n ''\n name=object.__name__\n if object.__module__ !=modname:\n name=object.__module__+'.'+name\n return name\n \ndef isdata(object):\n ''\n return not(inspect.ismodule(object)or inspect.isclass(object)or\n inspect.isroutine(object)or inspect.isframe(object)or\n inspect.istraceback(object)or inspect.iscode(object))\n \ndef replace(text,*pairs):\n ''\n while pairs:\n text=pairs[1].join(text.split(pairs[0]))\n pairs=pairs[2:]\n return text\n \ndef cram(text,maxlen):\n ''\n if len(text)>maxlen:\n pre=max(0,(maxlen -3)//2)\n post=max(0,maxlen -3 -pre)\n return text[:pre]+'...'+text[len(text)-post:]\n return text\n \n_re_stripid=re.compile(r' at 0x[0-9a-f]{6,16}(>+)$',re.IGNORECASE)\ndef stripid(text):\n ''\n \n return _re_stripid.sub(r'\\1',text)\n \ndef _is_bound_method(fn):\n ''\n\n\n \n if inspect.ismethod(fn):\n return True\n if inspect.isbuiltin(fn):\n self=getattr(fn,'__self__',None)\n return not(inspect.ismodule(self)or(self is None))\n return False\n \n \ndef allmethods(cl):\n methods={}\n for key,value in inspect.getmembers(cl,inspect.isroutine):\n methods[key]=1\n for base in cl.__bases__:\n methods.update(allmethods(base))\n for key in methods.keys():\n methods[key]=getattr(cl,key)\n return methods\n \ndef _split_list(s,predicate):\n ''\n\n\n\n\n \n \n yes=[]\n no=[]\n for x in s:\n if predicate(x):\n yes.append(x)\n else:\n no.append(x)\n return yes,no\n \n_future_feature_names=set(__future__.all_feature_names)\n\ndef visiblename(name,all=None,obj=None):\n ''\n \n \n if name in{'__author__','__builtins__','__cached__','__credits__',\n '__date__','__doc__','__file__','__spec__',\n '__loader__','__module__','__name__','__package__',\n '__path__','__qualname__','__slots__','__version__'}:\n return 0\n \n if name.startswith('__')and name.endswith('__'):return 1\n \n if name.startswith('_')and hasattr(obj,'_fields'):\n return True\n \n if obj is not __future__ and name in _future_feature_names:\n if isinstance(getattr(obj,name,None),__future__._Feature):\n return False\n if all is not None:\n \n return name in all\n else:\n return not name.startswith('_')\n \ndef classify_class_attrs(object):\n ''\n results=[]\n for(name,kind,cls,value)in inspect.classify_class_attrs(object):\n if inspect.isdatadescriptor(value):\n kind='data descriptor'\n if isinstance(value,property)and value.fset is None:\n kind='readonly property'\n results.append((name,kind,cls,value))\n return results\n \ndef sort_attributes(attrs,object):\n ''\n \n \n fields=getattr(object,'_fields',[])\n try:\n field_order={name:i -len(fields)for(i,name)in enumerate(fields)}\n except TypeError:\n field_order={}\n keyfunc=lambda attr:(field_order.get(attr[0],0),attr[0])\n attrs.sort(key=keyfunc)\n \n \n \ndef ispackage(path):\n ''\n if os.path.isdir(path):\n for ext in('.py','.pyc'):\n if os.path.isfile(os.path.join(path,'__init__'+ext)):\n return True\n return False\n \ndef source_synopsis(file):\n line=file.readline()\n while line[:1]=='#'or not line.strip():\n line=file.readline()\n if not line:break\n line=line.strip()\n if line[:4]=='r\"\"\"':line=line[1:]\n if line[:3]=='\"\"\"':\n line=line[3:]\n if line[-1:]=='\\\\':line=line[:-1]\n while not line.strip():\n line=file.readline()\n if not line:break\n result=line.split('\"\"\"')[0].strip()\n else:result=None\n return result\n \ndef synopsis(filename,cache={}):\n ''\n mtime=os.stat(filename).st_mtime\n lastupdate,result=cache.get(filename,(None,None))\n if lastupdate is None or lastupdate ','>')\n \n def repr(self,object):\n return Repr.repr(self,object)\n \n def repr1(self,x,level):\n if hasattr(type(x),'__name__'):\n methodname='repr_'+'_'.join(type(x).__name__.split())\n if hasattr(self,methodname):\n return getattr(self,methodname)(x,level)\n return self.escape(cram(stripid(repr(x)),self.maxother))\n \n def repr_string(self,x,level):\n test=cram(x,self.maxstring)\n testrepr=repr(test)\n if '\\\\'in test and '\\\\'not in replace(testrepr,r'\\\\',''):\n \n \n return 'r'+testrepr[0]+self.escape(test)+testrepr[0]\n return re.sub(r'((\\\\[\\\\abfnrtv\\'\"]|\\\\[0-9]..|\\\\x..|\\\\u....)+)',\n r'\\1',\n self.escape(testrepr))\n \n repr_str=repr_string\n \n def repr_instance(self,x,level):\n try:\n return self.escape(cram(stripid(repr(x)),self.maxstring))\n except:\n return self.escape('<%s instance>'%x.__class__.__name__)\n \n repr_unicode=repr_string\n \nclass HTMLDoc(Doc):\n ''\n \n \n \n _repr_instance=HTMLRepr()\n repr=_repr_instance.repr\n escape=_repr_instance.escape\n \n def page(self,title,contents):\n ''\n return '''\\\n\n\n\n\nPython: %s\n\n%s\n'''%(title,contents)\n \n def heading(self,title,extras=''):\n ''\n return '''\n\n\n\n
 
%s
%s
\n '''%(title,extras or ' ')\n \n def section(self,title,cls,contents,width=6,\n prelude='',marginalia=None,gap=' '):\n ''\n if marginalia is None:\n marginalia=''+' '*width+''\n result='''

\n\n\n\n '''%(cls,title)\n if prelude:\n result=result+'''\n\n\n'''%(cls,marginalia,cls,prelude,gap)\n else:\n result=result+'''\n'''%(cls,marginalia,gap)\n \n return result+'\\n
 
%s
%s%s
%s
%s%s%s
'%contents\n \n def bigsection(self,title,*args):\n ''\n title='%s'%title\n return self.section(title,*args)\n \n def preformat(self,text):\n ''\n text=self.escape(text.expandtabs())\n return replace(text,'\\n\\n','\\n \\n','\\n\\n','\\n \\n',\n ' ',' ','\\n','
\\n')\n \n def multicolumn(self,list,format):\n ''\n result=''\n rows=(len(list)+3)//4\n for col in range(4):\n result=result+''\n for i in range(rows *col,rows *col+rows):\n if i \\n'\n result=result+''\n return '%s
'%result\n \n def grey(self,text):return '%s'%text\n \n def namelink(self,name,*dicts):\n ''\n for dict in dicts:\n if name in dict:\n return '
%s'%(dict[name],name)\n return name\n \n def classlink(self,object,modname):\n ''\n name,module=object.__name__,sys.modules.get(object.__module__)\n if hasattr(module,name)and getattr(module,name)is object:\n return '%s'%(\n module.__name__,name,classname(object,modname))\n return classname(object,modname)\n \n def modulelink(self,object):\n ''\n return '%s'%(object.__name__,object.__name__)\n \n def modpkglink(self,modpkginfo):\n ''\n name,path,ispackage,shadowed=modpkginfo\n if shadowed:\n return self.grey(name)\n if path:\n url='%s.%s.html'%(path,name)\n else:\n url='%s.html'%name\n if ispackage:\n text='%s (package)'%name\n else:\n text=name\n return '%s'%(url,text)\n \n def filelink(self,url,path):\n ''\n return '%s'%(url,path)\n \n def markup(self,text,escape=None,funcs={},classes={},methods={}):\n ''\n \n escape=escape or self.escape\n results=[]\n here=0\n pattern=re.compile(r'\\b((http|https|ftp)://\\S+[\\w/]|'\n r'RFC[- ]?(\\d+)|'\n r'PEP[- ]?(\\d+)|'\n r'(self\\.)?(\\w+))')\n while match :=pattern.search(text,here):\n start,end=match.span()\n results.append(escape(text[here:start]))\n \n all,scheme,rfc,pep,selfdot,name=match.groups()\n if scheme:\n url=escape(all).replace('\"','"')\n results.append('%s'%(url,url))\n elif rfc:\n url='https://www.rfc-editor.org/rfc/rfc%d.txt'%int(rfc)\n results.append('%s'%(url,escape(all)))\n elif pep:\n url='https://peps.python.org/pep-%04d/'%int(pep)\n results.append('%s'%(url,escape(all)))\n elif selfdot:\n \n \n if text[end:end+1]=='(':\n results.append('self.'+self.namelink(name,methods))\n else:\n results.append('self.%s'%name)\n elif text[end:end+1]=='(':\n results.append(self.namelink(name,methods,funcs,classes))\n else:\n results.append(self.namelink(name,classes))\n here=end\n results.append(escape(text[here:]))\n return ''.join(results)\n \n \n \n def formattree(self,tree,modname,parent=None):\n ''\n result=''\n for entry in tree:\n if isinstance(entry,tuple):\n c,bases=entry\n result=result+'

'\n result=result+self.classlink(c,modname)\n if bases and bases !=(parent,):\n parents=[]\n for base in bases:\n parents.append(self.classlink(base,modname))\n result=result+'('+', '.join(parents)+')'\n result=result+'\\n
'\n elif isinstance(entry,list):\n result=result+'
\\n%s
\\n'%self.formattree(\n entry,modname,c)\n return '
\\n%s
\\n'%result\n \n def docmodule(self,object,name=None,mod=None,*ignored):\n ''\n name=object.__name__\n try:\n all=object.__all__\n except AttributeError:\n all=None\n parts=name.split('.')\n links=[]\n for i in range(len(parts)-1):\n links.append(\n '%s'%\n ('.'.join(parts[:i+1]),parts[i]))\n linkedname='.'.join(links+parts[-1:])\n head='%s'%linkedname\n try:\n path=inspect.getabsfile(object)\n url=urllib.parse.quote(path)\n filelink=self.filelink(url,path)\n except TypeError:\n filelink='(built-in)'\n info=[]\n if hasattr(object,'__version__'):\n version=str(object.__version__)\n if version[:11]=='$'+'Revision: 'and version[-1:]=='$':\n version=version[11:-1].strip()\n info.append('version %s'%self.escape(version))\n if hasattr(object,'__date__'):\n info.append(self.escape(str(object.__date__)))\n if info:\n head=head+' (%s)'%', '.join(info)\n docloc=self.getdocloc(object)\n if docloc is not None:\n docloc='
Module Reference'%locals()\n else:\n docloc=''\n result=self.heading(head,'index
'+filelink+docloc)\n \n modules=inspect.getmembers(object,inspect.ismodule)\n \n classes,cdict=[],{}\n for key,value in inspect.getmembers(object,inspect.isclass):\n \n if(all is not None or\n (inspect.getmodule(value)or object)is object):\n if visiblename(key,all,object):\n classes.append((key,value))\n cdict[key]=cdict[value]='#'+key\n for key,value in classes:\n for base in value.__bases__:\n key,modname=base.__name__,base.__module__\n module=sys.modules.get(modname)\n if modname !=name and module and hasattr(module,key):\n if getattr(module,key)is base:\n if not key in cdict:\n cdict[key]=cdict[base]=modname+'.html#'+key\n funcs,fdict=[],{}\n for key,value in inspect.getmembers(object,inspect.isroutine):\n \n if(all is not None or\n inspect.isbuiltin(value)or inspect.getmodule(value)is object):\n if visiblename(key,all,object):\n funcs.append((key,value))\n fdict[key]='#-'+key\n if inspect.isfunction(value):fdict[value]=fdict[key]\n data=[]\n for key,value in inspect.getmembers(object,isdata):\n if visiblename(key,all,object):\n data.append((key,value))\n \n doc=self.markup(getdoc(object),self.preformat,fdict,cdict)\n doc=doc and '%s'%doc\n result=result+'

%s

\\n'%doc\n \n if hasattr(object,'__path__'):\n modpkgs=[]\n for importer,modname,ispkg in pkgutil.iter_modules(object.__path__):\n modpkgs.append((modname,name,ispkg,0))\n modpkgs.sort()\n contents=self.multicolumn(modpkgs,self.modpkglink)\n result=result+self.bigsection(\n 'Package Contents','pkg-content',contents)\n elif modules:\n contents=self.multicolumn(\n modules,lambda t:self.modulelink(t[1]))\n result=result+self.bigsection(\n 'Modules','pkg-content',contents)\n \n if classes:\n classlist=[value for(key,value)in classes]\n contents=[\n self.formattree(inspect.getclasstree(classlist,1),name)]\n for key,value in classes:\n contents.append(self.document(value,key,name,fdict,cdict))\n result=result+self.bigsection(\n 'Classes','index',' '.join(contents))\n if funcs:\n contents=[]\n for key,value in funcs:\n contents.append(self.document(value,key,name,fdict,cdict))\n result=result+self.bigsection(\n 'Functions','functions',' '.join(contents))\n if data:\n contents=[]\n for key,value in data:\n contents.append(self.document(value,key))\n result=result+self.bigsection(\n 'Data','data','
\\n'.join(contents))\n if hasattr(object,'__author__'):\n contents=self.markup(str(object.__author__),self.preformat)\n result=result+self.bigsection('Author','author',contents)\n if hasattr(object,'__credits__'):\n contents=self.markup(str(object.__credits__),self.preformat)\n result=result+self.bigsection('Credits','credits',contents)\n \n return result\n \n def docclass(self,object,name=None,mod=None,funcs={},classes={},\n *ignored):\n ''\n realname=object.__name__\n name=name or realname\n bases=object.__bases__\n \n contents=[]\n push=contents.append\n \n \n class HorizontalRule:\n def __init__(self):\n self.needone=0\n def maybe(self):\n if self.needone:\n push('
\\n')\n self.needone=1\n hr=HorizontalRule()\n \n \n mro=deque(inspect.getmro(object))\n if len(mro)>2:\n hr.maybe()\n push('
Method resolution order:
\\n')\n for base in mro:\n push('
%s
\\n'%self.classlink(base,\n object.__module__))\n push('
\\n')\n \n def spill(msg,attrs,predicate):\n ok,attrs=_split_list(attrs,predicate)\n if ok:\n hr.maybe()\n push(msg)\n for name,kind,homecls,value in ok:\n try:\n value=getattr(object,name)\n except Exception:\n \n \n push(self.docdata(value,name,mod))\n else:\n push(self.document(value,name,mod,\n funcs,classes,mdict,object))\n push('\\n')\n return attrs\n \n def spilldescriptors(msg,attrs,predicate):\n ok,attrs=_split_list(attrs,predicate)\n if ok:\n hr.maybe()\n push(msg)\n for name,kind,homecls,value in ok:\n push(self.docdata(value,name,mod))\n return attrs\n \n def spilldata(msg,attrs,predicate):\n ok,attrs=_split_list(attrs,predicate)\n if ok:\n hr.maybe()\n push(msg)\n for name,kind,homecls,value in ok:\n base=self.docother(getattr(object,name),name,mod)\n doc=getdoc(value)\n if not doc:\n push('
%s
\\n'%base)\n else:\n doc=self.markup(getdoc(value),self.preformat,\n funcs,classes,mdict)\n doc='
%s'%doc\n push('
%s%s
\\n'%(base,doc))\n push('\\n')\n return attrs\n \n attrs=[(name,kind,cls,value)\n for name,kind,cls,value in classify_class_attrs(object)\n if visiblename(name,obj=object)]\n \n mdict={}\n for key,kind,homecls,value in attrs:\n mdict[key]=anchor='#'+name+'-'+key\n try:\n value=getattr(object,name)\n except Exception:\n \n \n pass\n try:\n \n \n mdict[value]=anchor\n except TypeError:\n pass\n \n while attrs:\n if mro:\n thisclass=mro.popleft()\n else:\n thisclass=attrs[0][2]\n attrs,inherited=_split_list(attrs,lambda t:t[2]is thisclass)\n \n if object is not builtins.object and thisclass is builtins.object:\n attrs=inherited\n continue\n elif thisclass is object:\n tag='defined here'\n else:\n tag='inherited from %s'%self.classlink(thisclass,\n object.__module__)\n tag +=':
\\n'\n \n sort_attributes(attrs,object)\n \n \n attrs=spill('Methods %s'%tag,attrs,\n lambda t:t[1]=='method')\n attrs=spill('Class methods %s'%tag,attrs,\n lambda t:t[1]=='class method')\n attrs=spill('Static methods %s'%tag,attrs,\n lambda t:t[1]=='static method')\n attrs=spilldescriptors(\"Readonly properties %s\"%tag,attrs,\n lambda t:t[1]=='readonly property')\n attrs=spilldescriptors('Data descriptors %s'%tag,attrs,\n lambda t:t[1]=='data descriptor')\n attrs=spilldata('Data and other attributes %s'%tag,attrs,\n lambda t:t[1]=='data')\n assert attrs ==[]\n attrs=inherited\n \n contents=''.join(contents)\n \n if name ==realname:\n title='class %s'%(\n name,realname)\n else:\n title='%s = class %s'%(\n name,name,realname)\n if bases:\n parents=[]\n for base in bases:\n parents.append(self.classlink(base,object.__module__))\n title=title+'(%s)'%', '.join(parents)\n \n decl=''\n try:\n signature=inspect.signature(object)\n except(ValueError,TypeError):\n signature=None\n if signature:\n argspec=str(signature)\n if argspec and argspec !='()':\n decl=name+self.escape(argspec)+'\\n\\n'\n \n doc=getdoc(object)\n if decl:\n doc=decl+(doc or '')\n doc=self.markup(doc,self.preformat,funcs,classes,mdict)\n doc=doc and '%s
 
'%doc\n \n return self.section(title,'title',contents,3,doc)\n \n def formatvalue(self,object):\n ''\n return self.grey('='+self.repr(object))\n \n def docroutine(self,object,name=None,mod=None,\n funcs={},classes={},methods={},cl=None):\n ''\n realname=object.__name__\n name=name or realname\n anchor=(cl and cl.__name__ or '')+'-'+name\n note=''\n skipdocs=0\n if _is_bound_method(object):\n imclass=object.__self__.__class__\n if cl:\n if imclass is not cl:\n note=' from '+self.classlink(imclass,mod)\n else:\n if object.__self__ is not None:\n note=' method of %s instance'%self.classlink(\n object.__self__.__class__,mod)\n else:\n note=' unbound %s method'%self.classlink(imclass,mod)\n \n if(inspect.iscoroutinefunction(object)or\n inspect.isasyncgenfunction(object)):\n asyncqualifier='async '\n else:\n asyncqualifier=''\n \n if name ==realname:\n title='%s'%(anchor,realname)\n else:\n if cl and inspect.getattr_static(cl,realname,[])is object:\n reallink='%s'%(\n cl.__name__+'-'+realname,realname)\n skipdocs=1\n else:\n reallink=realname\n title='%s = %s'%(\n anchor,name,reallink)\n argspec=None\n if inspect.isroutine(object):\n try:\n signature=inspect.signature(object)\n except(ValueError,TypeError):\n signature=None\n if signature:\n argspec=str(signature)\n if realname =='':\n title='%s lambda '%name\n \n \n \n argspec=argspec[1:-1]\n if not argspec:\n argspec='(...)'\n \n decl=asyncqualifier+title+self.escape(argspec)+(note and\n self.grey('%s'%note))\n \n if skipdocs:\n return '
%s
\\n'%decl\n else:\n doc=self.markup(\n getdoc(object),self.preformat,funcs,classes,methods)\n doc=doc and '
%s
'%doc\n return '
%s
%s
\\n'%(decl,doc)\n \n def docdata(self,object,name=None,mod=None,cl=None):\n ''\n results=[]\n push=results.append\n \n if name:\n push('
%s
\\n'%name)\n doc=self.markup(getdoc(object),self.preformat)\n if doc:\n push('
%s
\\n'%doc)\n push('
\\n')\n \n return ''.join(results)\n \n docproperty=docdata\n \n def docother(self,object,name=None,mod=None,*ignored):\n ''\n lhs=name and '%s = '%name or ''\n return lhs+self.repr(object)\n \n def index(self,dir,shadowed=None):\n ''\n modpkgs=[]\n if shadowed is None:shadowed={}\n for importer,name,ispkg in pkgutil.iter_modules([dir]):\n if any((0xD800 <=ord(ch)<=0xDFFF)for ch in name):\n \n continue\n modpkgs.append((name,'',ispkg,name in shadowed))\n shadowed[name]=1\n \n modpkgs.sort()\n contents=self.multicolumn(modpkgs,self.modpkglink)\n return self.bigsection(dir,'index',contents)\n \n \n \nclass TextRepr(Repr):\n ''\n def __init__(self):\n Repr.__init__(self)\n self.maxlist=self.maxtuple=20\n self.maxdict=10\n self.maxstring=self.maxother=100\n \n def repr1(self,x,level):\n if hasattr(type(x),'__name__'):\n methodname='repr_'+'_'.join(type(x).__name__.split())\n if hasattr(self,methodname):\n return getattr(self,methodname)(x,level)\n return cram(stripid(repr(x)),self.maxother)\n \n def repr_string(self,x,level):\n test=cram(x,self.maxstring)\n testrepr=repr(test)\n if '\\\\'in test and '\\\\'not in replace(testrepr,r'\\\\',''):\n \n \n return 'r'+testrepr[0]+test+testrepr[0]\n return testrepr\n \n repr_str=repr_string\n \n def repr_instance(self,x,level):\n try:\n return cram(stripid(repr(x)),self.maxstring)\n except:\n return '<%s instance>'%x.__class__.__name__\n \nclass TextDoc(Doc):\n ''\n \n \n \n _repr_instance=TextRepr()\n repr=_repr_instance.repr\n \n def bold(self,text):\n ''\n return ''.join(ch+'\\b'+ch for ch in text)\n \n def indent(self,text,prefix=' '):\n ''\n if not text:return ''\n lines=[(prefix+line).rstrip()for line in text.split('\\n')]\n return '\\n'.join(lines)\n \n def section(self,title,contents):\n ''\n clean_contents=self.indent(contents).rstrip()\n return self.bold(title)+'\\n'+clean_contents+'\\n\\n'\n \n \n \n def formattree(self,tree,modname,parent=None,prefix=''):\n ''\n result=''\n for entry in tree:\n if isinstance(entry,tuple):\n c,bases=entry\n result=result+prefix+classname(c,modname)\n if bases and bases !=(parent,):\n parents=(classname(c,modname)for c in bases)\n result=result+'(%s)'%', '.join(parents)\n result=result+'\\n'\n elif isinstance(entry,list):\n result=result+self.formattree(\n entry,modname,c,prefix+' ')\n return result\n \n def docmodule(self,object,name=None,mod=None):\n ''\n name=object.__name__\n synop,desc=splitdoc(getdoc(object))\n result=self.section('NAME',name+(synop and ' - '+synop))\n all=getattr(object,'__all__',None)\n docloc=self.getdocloc(object)\n if docloc is not None:\n result=result+self.section('MODULE REFERENCE',docloc+\"\"\"\n\nThe following documentation is automatically generated from the Python\nsource files. It may be incomplete, incorrect or include features that\nare considered implementation detail and may vary between Python\nimplementations. When in doubt, consult the module reference at the\nlocation listed above.\n\"\"\")\n \n if desc:\n result=result+self.section('DESCRIPTION',desc)\n \n classes=[]\n for key,value in inspect.getmembers(object,inspect.isclass):\n \n if(all is not None\n or(inspect.getmodule(value)or object)is object):\n if visiblename(key,all,object):\n classes.append((key,value))\n funcs=[]\n for key,value in inspect.getmembers(object,inspect.isroutine):\n \n if(all is not None or\n inspect.isbuiltin(value)or inspect.getmodule(value)is object):\n if visiblename(key,all,object):\n funcs.append((key,value))\n data=[]\n for key,value in inspect.getmembers(object,isdata):\n if visiblename(key,all,object):\n data.append((key,value))\n \n modpkgs=[]\n modpkgs_names=set()\n if hasattr(object,'__path__'):\n for importer,modname,ispkg in pkgutil.iter_modules(object.__path__):\n modpkgs_names.add(modname)\n if ispkg:\n modpkgs.append(modname+' (package)')\n else:\n modpkgs.append(modname)\n \n modpkgs.sort()\n result=result+self.section(\n 'PACKAGE CONTENTS','\\n'.join(modpkgs))\n \n \n submodules=[]\n for key,value in inspect.getmembers(object,inspect.ismodule):\n if value.__name__.startswith(name+'.')and key not in modpkgs_names:\n submodules.append(key)\n if submodules:\n submodules.sort()\n result=result+self.section(\n 'SUBMODULES','\\n'.join(submodules))\n \n if classes:\n classlist=[value for key,value in classes]\n contents=[self.formattree(\n inspect.getclasstree(classlist,1),name)]\n for key,value in classes:\n contents.append(self.document(value,key,name))\n result=result+self.section('CLASSES','\\n'.join(contents))\n \n if funcs:\n contents=[]\n for key,value in funcs:\n contents.append(self.document(value,key,name))\n result=result+self.section('FUNCTIONS','\\n'.join(contents))\n \n if data:\n contents=[]\n for key,value in data:\n contents.append(self.docother(value,key,name,maxlen=70))\n result=result+self.section('DATA','\\n'.join(contents))\n \n if hasattr(object,'__version__'):\n version=str(object.__version__)\n if version[:11]=='$'+'Revision: 'and version[-1:]=='$':\n version=version[11:-1].strip()\n result=result+self.section('VERSION',version)\n if hasattr(object,'__date__'):\n result=result+self.section('DATE',str(object.__date__))\n if hasattr(object,'__author__'):\n result=result+self.section('AUTHOR',str(object.__author__))\n if hasattr(object,'__credits__'):\n result=result+self.section('CREDITS',str(object.__credits__))\n try:\n file=inspect.getabsfile(object)\n except TypeError:\n file='(built-in)'\n result=result+self.section('FILE',file)\n return result\n \n def docclass(self,object,name=None,mod=None,*ignored):\n ''\n realname=object.__name__\n name=name or realname\n bases=object.__bases__\n \n def makename(c,m=object.__module__):\n return classname(c,m)\n \n if name ==realname:\n title='class '+self.bold(realname)\n else:\n title=self.bold(name)+' = class '+realname\n if bases:\n parents=map(makename,bases)\n title=title+'(%s)'%', '.join(parents)\n \n contents=[]\n push=contents.append\n \n try:\n signature=inspect.signature(object)\n except(ValueError,TypeError):\n signature=None\n if signature:\n argspec=str(signature)\n if argspec and argspec !='()':\n push(name+argspec+'\\n')\n \n doc=getdoc(object)\n if doc:\n push(doc+'\\n')\n \n \n mro=deque(inspect.getmro(object))\n if len(mro)>2:\n push(\"Method resolution order:\")\n for base in mro:\n push(' '+makename(base))\n push('')\n \n \n subclasses=sorted(\n (str(cls.__name__)for cls in type.__subclasses__(object)\n if not cls.__name__.startswith(\"_\")and cls.__module__ ==\"builtins\"),\n key=str.lower\n )\n no_of_subclasses=len(subclasses)\n MAX_SUBCLASSES_TO_DISPLAY=4\n if subclasses:\n push(\"Built-in subclasses:\")\n for subclassname in subclasses[:MAX_SUBCLASSES_TO_DISPLAY]:\n push(' '+subclassname)\n if no_of_subclasses >MAX_SUBCLASSES_TO_DISPLAY:\n push(' ... and '+\n str(no_of_subclasses -MAX_SUBCLASSES_TO_DISPLAY)+\n ' other subclasses')\n push('')\n \n \n class HorizontalRule:\n def __init__(self):\n self.needone=0\n def maybe(self):\n if self.needone:\n push('-'*70)\n self.needone=1\n hr=HorizontalRule()\n \n def spill(msg,attrs,predicate):\n ok,attrs=_split_list(attrs,predicate)\n if ok:\n hr.maybe()\n push(msg)\n for name,kind,homecls,value in ok:\n try:\n value=getattr(object,name)\n except Exception:\n \n \n push(self.docdata(value,name,mod))\n else:\n push(self.document(value,\n name,mod,object))\n return attrs\n \n def spilldescriptors(msg,attrs,predicate):\n ok,attrs=_split_list(attrs,predicate)\n if ok:\n hr.maybe()\n push(msg)\n for name,kind,homecls,value in ok:\n push(self.docdata(value,name,mod))\n return attrs\n \n def spilldata(msg,attrs,predicate):\n ok,attrs=_split_list(attrs,predicate)\n if ok:\n hr.maybe()\n push(msg)\n for name,kind,homecls,value in ok:\n doc=getdoc(value)\n try:\n obj=getattr(object,name)\n except AttributeError:\n obj=homecls.__dict__[name]\n push(self.docother(obj,name,mod,maxlen=70,doc=doc)+\n '\\n')\n return attrs\n \n attrs=[(name,kind,cls,value)\n for name,kind,cls,value in classify_class_attrs(object)\n if visiblename(name,obj=object)]\n \n while attrs:\n if mro:\n thisclass=mro.popleft()\n else:\n thisclass=attrs[0][2]\n attrs,inherited=_split_list(attrs,lambda t:t[2]is thisclass)\n \n if object is not builtins.object and thisclass is builtins.object:\n attrs=inherited\n continue\n elif thisclass is object:\n tag=\"defined here\"\n else:\n tag=\"inherited from %s\"%classname(thisclass,\n object.__module__)\n \n sort_attributes(attrs,object)\n \n \n attrs=spill(\"Methods %s:\\n\"%tag,attrs,\n lambda t:t[1]=='method')\n attrs=spill(\"Class methods %s:\\n\"%tag,attrs,\n lambda t:t[1]=='class method')\n attrs=spill(\"Static methods %s:\\n\"%tag,attrs,\n lambda t:t[1]=='static method')\n attrs=spilldescriptors(\"Readonly properties %s:\\n\"%tag,attrs,\n lambda t:t[1]=='readonly property')\n attrs=spilldescriptors(\"Data descriptors %s:\\n\"%tag,attrs,\n lambda t:t[1]=='data descriptor')\n attrs=spilldata(\"Data and other attributes %s:\\n\"%tag,attrs,\n lambda t:t[1]=='data')\n \n assert attrs ==[]\n attrs=inherited\n \n contents='\\n'.join(contents)\n if not contents:\n return title+'\\n'\n return title+'\\n'+self.indent(contents.rstrip(),' | ')+'\\n'\n \n def formatvalue(self,object):\n ''\n return '='+self.repr(object)\n \n def docroutine(self,object,name=None,mod=None,cl=None):\n ''\n realname=object.__name__\n name=name or realname\n note=''\n skipdocs=0\n if _is_bound_method(object):\n imclass=object.__self__.__class__\n if cl:\n if imclass is not cl:\n note=' from '+classname(imclass,mod)\n else:\n if object.__self__ is not None:\n note=' method of %s instance'%classname(\n object.__self__.__class__,mod)\n else:\n note=' unbound %s method'%classname(imclass,mod)\n \n if(inspect.iscoroutinefunction(object)or\n inspect.isasyncgenfunction(object)):\n asyncqualifier='async '\n else:\n asyncqualifier=''\n \n if name ==realname:\n title=self.bold(realname)\n else:\n if cl and inspect.getattr_static(cl,realname,[])is object:\n skipdocs=1\n title=self.bold(name)+' = '+realname\n argspec=None\n \n if inspect.isroutine(object):\n try:\n signature=inspect.signature(object)\n except(ValueError,TypeError):\n signature=None\n if signature:\n argspec=str(signature)\n if realname =='':\n title=self.bold(name)+' lambda '\n \n \n \n argspec=argspec[1:-1]\n if not argspec:\n argspec='(...)'\n decl=asyncqualifier+title+argspec+note\n \n if skipdocs:\n return decl+'\\n'\n else:\n doc=getdoc(object)or ''\n return decl+'\\n'+(doc and self.indent(doc).rstrip()+'\\n')\n \n def docdata(self,object,name=None,mod=None,cl=None):\n ''\n results=[]\n push=results.append\n \n if name:\n push(self.bold(name))\n push('\\n')\n doc=getdoc(object)or ''\n if doc:\n push(self.indent(doc))\n push('\\n')\n return ''.join(results)\n \n docproperty=docdata\n \n def docother(self,object,name=None,mod=None,parent=None,maxlen=None,doc=None):\n ''\n repr=self.repr(object)\n if maxlen:\n line=(name and name+' = 'or '')+repr\n chop=maxlen -len(line)\n if chop <0:repr=repr[:chop]+'...'\n line=(name and self.bold(name)+' = 'or '')+repr\n if not doc:\n doc=getdoc(object)\n if doc:\n line +='\\n'+self.indent(str(doc))+'\\n'\n return line\n \nclass _PlainTextDoc(TextDoc):\n ''\n def bold(self,text):\n return text\n \n \n \ndef pager(text):\n ''\n global pager\n pager=getpager()\n pager(text)\n \ndef getpager():\n ''\n if not hasattr(sys.stdin,\"isatty\"):\n return plainpager\n if not hasattr(sys.stdout,\"isatty\"):\n return plainpager\n if not sys.stdin.isatty()or not sys.stdout.isatty():\n return plainpager\n if sys.platform ==\"emscripten\":\n return plainpager\n use_pager=os.environ.get('MANPAGER')or os.environ.get('PAGER')\n if use_pager:\n if sys.platform =='win32':\n return lambda text:tempfilepager(plain(text),use_pager)\n elif os.environ.get('TERM')in('dumb','emacs'):\n return lambda text:pipepager(plain(text),use_pager)\n else:\n return lambda text:pipepager(text,use_pager)\n if os.environ.get('TERM')in('dumb','emacs'):\n return plainpager\n if sys.platform =='win32':\n return lambda text:tempfilepager(plain(text),'more <')\n if hasattr(os,'system')and os.system('(less) 2>/dev/null')==0:\n return lambda text:pipepager(text,'less')\n \n import tempfile\n (fd,filename)=tempfile.mkstemp()\n os.close(fd)\n try:\n if hasattr(os,'system')and os.system('more \"%s\"'%filename)==0:\n return lambda text:pipepager(text,'more')\n else:\n return ttypager\n finally:\n os.unlink(filename)\n \ndef plain(text):\n ''\n return re.sub('.\\b','',text)\n \ndef pipepager(text,cmd):\n ''\n import subprocess\n proc=subprocess.Popen(cmd,shell=True,stdin=subprocess.PIPE,\n errors='backslashreplace')\n try:\n with proc.stdin as pipe:\n try:\n pipe.write(text)\n except KeyboardInterrupt:\n \n \n pass\n except OSError:\n pass\n while True:\n try:\n proc.wait()\n break\n except KeyboardInterrupt:\n \n \n pass\n \ndef tempfilepager(text,cmd):\n ''\n import tempfile\n with tempfile.TemporaryDirectory()as tempdir:\n filename=os.path.join(tempdir,'pydoc.out')\n with open(filename,'w',errors='backslashreplace',\n encoding=os.device_encoding(0)if\n sys.platform =='win32'else None\n )as file:\n file.write(text)\n os.system(cmd+' \"'+filename+'\"')\n \ndef _escape_stdout(text):\n\n encoding=getattr(sys.stdout,'encoding',None)or 'utf-8'\n return text.encode(encoding,'backslashreplace').decode(encoding)\n \ndef ttypager(text):\n ''\n lines=plain(_escape_stdout(text)).split('\\n')\n try:\n import tty\n fd=sys.stdin.fileno()\n old=tty.tcgetattr(fd)\n tty.setcbreak(fd)\n getchar=lambda:sys.stdin.read(1)\n except(ImportError,AttributeError,io.UnsupportedOperation):\n tty=None\n getchar=lambda:sys.stdin.readline()[:-1][:1]\n \n try:\n try:\n h=int(os.environ.get('LINES',0))\n except ValueError:\n h=0\n if h <=1:\n h=25\n r=inc=h -1\n sys.stdout.write('\\n'.join(lines[:inc])+'\\n')\n while lines[r:]:\n sys.stdout.write('-- more --')\n sys.stdout.flush()\n c=getchar()\n \n if c in('q','Q'):\n sys.stdout.write('\\r \\r')\n break\n elif c in('\\r','\\n'):\n sys.stdout.write('\\r \\r'+lines[r]+'\\n')\n r=r+1\n continue\n if c in('b','B','\\x1b'):\n r=r -inc -inc\n if r <0:r=0\n sys.stdout.write('\\n'+'\\n'.join(lines[r:r+inc])+'\\n')\n r=r+inc\n \n finally:\n if tty:\n tty.tcsetattr(fd,tty.TCSAFLUSH,old)\n \ndef plainpager(text):\n ''\n sys.stdout.write(plain(_escape_stdout(text)))\n \ndef describe(thing):\n ''\n if inspect.ismodule(thing):\n if thing.__name__ in sys.builtin_module_names:\n return 'built-in module '+thing.__name__\n if hasattr(thing,'__path__'):\n return 'package '+thing.__name__\n else:\n return 'module '+thing.__name__\n if inspect.isbuiltin(thing):\n return 'built-in function '+thing.__name__\n if inspect.isgetsetdescriptor(thing):\n return 'getset descriptor %s.%s.%s'%(\n thing.__objclass__.__module__,thing.__objclass__.__name__,\n thing.__name__)\n if inspect.ismemberdescriptor(thing):\n return 'member descriptor %s.%s.%s'%(\n thing.__objclass__.__module__,thing.__objclass__.__name__,\n thing.__name__)\n if inspect.isclass(thing):\n return 'class '+thing.__name__\n if inspect.isfunction(thing):\n return 'function '+thing.__name__\n if inspect.ismethod(thing):\n return 'method '+thing.__name__\n return type(thing).__name__\n \ndef locate(path,forceload=0):\n ''\n parts=[part for part in path.split('.')if part]\n module,n=None,0\n while n >','&',\n '|','^','~','<','>','<=','>=','==','!=','<>'),\n 'COMPARISON':('<','>','<=','>=','==','!=','<>'),\n 'UNARY':('-','~'),\n 'AUGMENTEDASSIGNMENT':('+=','-=','*=','/=','%=','&=','|=',\n '^=','<<=','>>=','**=','//='),\n 'BITWISE':('<<','>>','&','|','^','~'),\n 'COMPLEX':('j','J')\n }\n symbols={\n '%':'OPERATORS FORMATTING',\n '**':'POWER',\n ',':'TUPLES LISTS FUNCTIONS',\n '.':'ATTRIBUTES FLOAT MODULES OBJECTS',\n '...':'ELLIPSIS',\n ':':'SLICINGS DICTIONARYLITERALS',\n '@':'def class',\n '\\\\':'STRINGS',\n '_':'PRIVATENAMES',\n '__':'PRIVATENAMES SPECIALMETHODS',\n '`':'BACKQUOTES',\n '(':'TUPLES FUNCTIONS CALLS',\n ')':'TUPLES FUNCTIONS CALLS',\n '[':'LISTS SUBSCRIPTS SLICINGS',\n ']':'LISTS SUBSCRIPTS SLICINGS'\n }\n for topic,symbols_ in _symbols_inverse.items():\n for symbol in symbols_:\n topics=symbols.get(symbol,topic)\n if topic not in topics:\n topics=topics+' '+topic\n symbols[symbol]=topics\n del topic,symbols_,symbol,topics\n \n topics={\n 'TYPES':('types','STRINGS UNICODE NUMBERS SEQUENCES MAPPINGS '\n 'FUNCTIONS CLASSES MODULES FILES inspect'),\n 'STRINGS':('strings','str UNICODE SEQUENCES STRINGMETHODS '\n 'FORMATTING TYPES'),\n 'STRINGMETHODS':('string-methods','STRINGS FORMATTING'),\n 'FORMATTING':('formatstrings','OPERATORS'),\n 'UNICODE':('strings','encodings unicode SEQUENCES STRINGMETHODS '\n 'FORMATTING TYPES'),\n 'NUMBERS':('numbers','INTEGER FLOAT COMPLEX TYPES'),\n 'INTEGER':('integers','int range'),\n 'FLOAT':('floating','float math'),\n 'COMPLEX':('imaginary','complex cmath'),\n 'SEQUENCES':('typesseq','STRINGMETHODS FORMATTING range LISTS'),\n 'MAPPINGS':'DICTIONARIES',\n 'FUNCTIONS':('typesfunctions','def TYPES'),\n 'METHODS':('typesmethods','class def CLASSES TYPES'),\n 'CODEOBJECTS':('bltin-code-objects','compile FUNCTIONS TYPES'),\n 'TYPEOBJECTS':('bltin-type-objects','types TYPES'),\n 'FRAMEOBJECTS':'TYPES',\n 'TRACEBACKS':'TYPES',\n 'NONE':('bltin-null-object',''),\n 'ELLIPSIS':('bltin-ellipsis-object','SLICINGS'),\n 'SPECIALATTRIBUTES':('specialattrs',''),\n 'CLASSES':('types','class SPECIALMETHODS PRIVATENAMES'),\n 'MODULES':('typesmodules','import'),\n 'PACKAGES':'import',\n 'EXPRESSIONS':('operator-summary','lambda or and not in is BOOLEAN '\n 'COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER '\n 'UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES '\n 'LISTS DICTIONARIES'),\n 'OPERATORS':'EXPRESSIONS',\n 'PRECEDENCE':'EXPRESSIONS',\n 'OBJECTS':('objects','TYPES'),\n 'SPECIALMETHODS':('specialnames','BASICMETHODS ATTRIBUTEMETHODS '\n 'CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS '\n 'NUMBERMETHODS CLASSES'),\n 'BASICMETHODS':('customization','hash repr str SPECIALMETHODS'),\n 'ATTRIBUTEMETHODS':('attribute-access','ATTRIBUTES SPECIALMETHODS'),\n 'CALLABLEMETHODS':('callable-types','CALLS SPECIALMETHODS'),\n 'SEQUENCEMETHODS':('sequence-types','SEQUENCES SEQUENCEMETHODS '\n 'SPECIALMETHODS'),\n 'MAPPINGMETHODS':('sequence-types','MAPPINGS SPECIALMETHODS'),\n 'NUMBERMETHODS':('numeric-types','NUMBERS AUGMENTEDASSIGNMENT '\n 'SPECIALMETHODS'),\n 'EXECUTION':('execmodel','NAMESPACES DYNAMICFEATURES EXCEPTIONS'),\n 'NAMESPACES':('naming','global nonlocal ASSIGNMENT DELETION DYNAMICFEATURES'),\n 'DYNAMICFEATURES':('dynamic-features',''),\n 'SCOPING':'NAMESPACES',\n 'FRAMES':'NAMESPACES',\n 'EXCEPTIONS':('exceptions','try except finally raise'),\n 'CONVERSIONS':('conversions',''),\n 'IDENTIFIERS':('identifiers','keywords SPECIALIDENTIFIERS'),\n 'SPECIALIDENTIFIERS':('id-classes',''),\n 'PRIVATENAMES':('atom-identifiers',''),\n 'LITERALS':('atom-literals','STRINGS NUMBERS TUPLELITERALS '\n 'LISTLITERALS DICTIONARYLITERALS'),\n 'TUPLES':'SEQUENCES',\n 'TUPLELITERALS':('exprlists','TUPLES LITERALS'),\n 'LISTS':('typesseq-mutable','LISTLITERALS'),\n 'LISTLITERALS':('lists','LISTS LITERALS'),\n 'DICTIONARIES':('typesmapping','DICTIONARYLITERALS'),\n 'DICTIONARYLITERALS':('dict','DICTIONARIES LITERALS'),\n 'ATTRIBUTES':('attribute-references','getattr hasattr setattr ATTRIBUTEMETHODS'),\n 'SUBSCRIPTS':('subscriptions','SEQUENCEMETHODS'),\n 'SLICINGS':('slicings','SEQUENCEMETHODS'),\n 'CALLS':('calls','EXPRESSIONS'),\n 'POWER':('power','EXPRESSIONS'),\n 'UNARY':('unary','EXPRESSIONS'),\n 'BINARY':('binary','EXPRESSIONS'),\n 'SHIFTING':('shifting','EXPRESSIONS'),\n 'BITWISE':('bitwise','EXPRESSIONS'),\n 'COMPARISON':('comparisons','EXPRESSIONS BASICMETHODS'),\n 'BOOLEAN':('booleans','EXPRESSIONS TRUTHVALUE'),\n 'ASSERTION':'assert',\n 'ASSIGNMENT':('assignment','AUGMENTEDASSIGNMENT'),\n 'AUGMENTEDASSIGNMENT':('augassign','NUMBERMETHODS'),\n 'DELETION':'del',\n 'RETURNING':'return',\n 'IMPORTING':'import',\n 'CONDITIONAL':'if',\n 'LOOPING':('compound','for while break continue'),\n 'TRUTHVALUE':('truth','if while and or not BASICMETHODS'),\n 'DEBUGGING':('debugger','pdb'),\n 'CONTEXTMANAGERS':('context-managers','with'),\n }\n \n def __init__(self,input=None,output=None):\n self._input=input\n self._output=output\n \n @property\n def input(self):\n return self._input or sys.stdin\n \n @property\n def output(self):\n return self._output or sys.stdout\n \n def __repr__(self):\n if inspect.stack()[1][3]=='?':\n self()\n return ''\n return '<%s.%s instance>'%(self.__class__.__module__,\n self.__class__.__qualname__)\n \n _GoInteractive=object()\n def __call__(self,request=_GoInteractive):\n if request is not self._GoInteractive:\n try:\n self.help(request)\n except ImportError as err:\n self.output.write(f'{err}\\n')\n else:\n self.intro()\n self.interact()\n self.output.write('''\nYou are now leaving help and returning to the Python interpreter.\nIf you want to ask for help on a particular object directly from the\ninterpreter, you can type \"help(object)\". Executing \"help('string')\"\nhas the same effect as typing a particular string at the help> prompt.\n''')\n \n def interact(self):\n self.output.write('\\n')\n while True:\n try:\n request=self.getline('help> ')\n if not request:break\n except(KeyboardInterrupt,EOFError):\n break\n request=request.strip()\n \n \n \n if(len(request)>2 and request[0]==request[-1]in(\"'\",'\"')\n and request[0]not in request[1:-1]):\n request=request[1:-1]\n if request.lower()in('q','quit'):break\n if request =='help':\n self.intro()\n else:\n self.help(request)\n \n def getline(self,prompt):\n ''\n if self.input is sys.stdin:\n return input(prompt)\n else:\n self.output.write(prompt)\n self.output.flush()\n return self.input.readline()\n \n def help(self,request):\n if isinstance(request,str):\n request=request.strip()\n if request =='keywords':self.listkeywords()\n elif request =='symbols':self.listsymbols()\n elif request =='topics':self.listtopics()\n elif request =='modules':self.listmodules()\n elif request[:8]=='modules ':\n self.listmodules(request.split()[1])\n elif request in self.symbols:self.showsymbol(request)\n elif request in['True','False','None']:\n \n doc(eval(request),'Help on %s:')\n elif request in self.keywords:self.showtopic(request)\n elif request in self.topics:self.showtopic(request)\n elif request:doc(request,'Help on %s:',output=self._output)\n else:doc(str,'Help on %s:',output=self._output)\n elif isinstance(request,Helper):self()\n else:doc(request,'Help on %s:',output=self._output)\n self.output.write('\\n')\n \n def intro(self):\n self.output.write('''\nWelcome to Python {0}'s help utility!\n\nIf this is your first time using Python, you should definitely check out\nthe tutorial on the internet at https://docs.python.org/{0}/tutorial/.\n\nEnter the name of any module, keyword, or topic to get help on writing\nPython programs and using Python modules. To quit this help utility and\nreturn to the interpreter, just type \"quit\".\n\nTo get a list of available modules, keywords, symbols, or topics, type\n\"modules\", \"keywords\", \"symbols\", or \"topics\". Each module also comes\nwith a one-line summary of what it does; to list the modules whose name\nor summary contain a given string such as \"spam\", type \"modules spam\".\n'''.format('%d.%d'%sys.version_info[:2]))\n \n def list(self,items,columns=4,width=80):\n items=list(sorted(items))\n colw=width //columns\n rows=(len(items)+columns -1)//columns\n for row in range(rows):\n for col in range(columns):\n i=col *rows+row\n if i =0:\n callback(None,modname,desc)\n \n for importer,modname,ispkg in pkgutil.walk_packages(onerror=onerror):\n if self.quit:\n break\n \n if key is None:\n callback(None,modname,'')\n else:\n try:\n spec=importer.find_spec(modname)\n except SyntaxError:\n \n continue\n loader=spec.loader\n if hasattr(loader,'get_source'):\n try:\n source=loader.get_source(modname)\n except Exception:\n if onerror:\n onerror(modname)\n continue\n desc=source_synopsis(io.StringIO(source))or ''\n if hasattr(loader,'get_filename'):\n path=loader.get_filename(modname)\n else:\n path=None\n else:\n try:\n module=importlib._bootstrap._load(spec)\n except ImportError:\n if onerror:\n onerror(modname)\n continue\n desc=module.__doc__.splitlines()[0]if module.__doc__ else ''\n path=getattr(module,'__file__',None)\n name=modname+' - '+desc\n if name.lower().find(key)>=0:\n callback(path,modname,desc)\n \n if completer:\n completer()\n \ndef apropos(key):\n ''\n def callback(path,modname,desc):\n if modname[-9:]=='.__init__':\n modname=modname[:-9]+' (package)'\n print(modname,desc and '- '+desc)\n def onerror(modname):\n pass\n with warnings.catch_warnings():\n warnings.filterwarnings('ignore')\n ModuleScanner().run(callback,key,onerror=onerror)\n \n \n \ndef _start_server(urlhandler,hostname,port):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n import http.server\n import email.message\n import select\n import threading\n \n class DocHandler(http.server.BaseHTTPRequestHandler):\n \n def do_GET(self):\n ''\n\n\n\n \n if self.path.endswith('.css'):\n content_type='text/css'\n else:\n content_type='text/html'\n self.send_response(200)\n self.send_header('Content-Type','%s; charset=UTF-8'%content_type)\n self.end_headers()\n self.wfile.write(self.urlhandler(\n self.path,content_type).encode('utf-8'))\n \n def log_message(self,*args):\n \n pass\n \n class DocServer(http.server.HTTPServer):\n \n def __init__(self,host,port,callback):\n self.host=host\n self.address=(self.host,port)\n self.callback=callback\n self.base.__init__(self,self.address,self.handler)\n self.quit=False\n \n def serve_until_quit(self):\n while not self.quit:\n rd,wr,ex=select.select([self.socket.fileno()],[],[],1)\n if rd:\n self.handle_request()\n self.server_close()\n \n def server_activate(self):\n self.base.server_activate(self)\n if self.callback:\n self.callback(self)\n \n class ServerThread(threading.Thread):\n \n def __init__(self,urlhandler,host,port):\n self.urlhandler=urlhandler\n self.host=host\n self.port=int(port)\n threading.Thread.__init__(self)\n self.serving=False\n self.error=None\n \n def run(self):\n ''\n try:\n DocServer.base=http.server.HTTPServer\n DocServer.handler=DocHandler\n DocHandler.MessageClass=email.message.Message\n DocHandler.urlhandler=staticmethod(self.urlhandler)\n docsvr=DocServer(self.host,self.port,self.ready)\n self.docserver=docsvr\n docsvr.serve_until_quit()\n except Exception as err:\n self.error=err\n \n def ready(self,server):\n self.serving=True\n self.host=server.host\n self.port=server.server_port\n self.url='http://%s:%d/'%(self.host,self.port)\n \n def stop(self):\n ''\n self.docserver.quit=True\n self.join()\n \n \n self.docserver=None\n self.serving=False\n self.url=None\n \n thread=ServerThread(urlhandler,hostname,port)\n thread.start()\n \n \n while not thread.error and not thread.serving:\n time.sleep(.01)\n return thread\n \n \ndef _url_handler(url,content_type=\"text/html\"):\n ''\n\n\n\n\n\n\n \n class _HTMLDoc(HTMLDoc):\n \n def page(self,title,contents):\n ''\n css_path=\"pydoc_data/_pydoc.css\"\n css_link=(\n ''%\n css_path)\n return '''\\\n\n\n\n\nPydoc: %s\n%s%s
%s
\n'''%(title,css_link,html_navbar(),contents)\n \n \n html=_HTMLDoc()\n \n def html_navbar():\n version=html.escape(\"%s [%s, %s]\"%(platform.python_version(),\n platform.python_build()[0],\n platform.python_compiler()))\n return \"\"\"\n
\n Python %s
%s\n
\n
\n \n
\n
\n \n \n
 \n
\n \n \n
\n
\n
\n \"\"\"%(version,html.escape(platform.platform(terse=True)))\n \n def html_index():\n ''\n \n def bltinlink(name):\n return '%s'%(name,name)\n \n heading=html.heading(\n 'Index of Modules'\n )\n names=[name for name in sys.builtin_module_names\n if name !='__main__']\n contents=html.multicolumn(names,bltinlink)\n contents=[heading,'

'+html.bigsection(\n 'Built-in Modules','index',contents)]\n \n seen={}\n for dir in sys.path:\n contents.append(html.index(dir,seen))\n \n contents.append(\n '

pydoc by Ka-Ping Yee'\n '<ping@lfw.org>

')\n return 'Index of Modules',''.join(contents)\n \n def html_search(key):\n ''\n \n search_result=[]\n \n def callback(path,modname,desc):\n if modname[-9:]=='.__init__':\n modname=modname[:-9]+' (package)'\n search_result.append((modname,desc and '- '+desc))\n \n with warnings.catch_warnings():\n warnings.filterwarnings('ignore')\n def onerror(modname):\n pass\n ModuleScanner().run(callback,key,onerror=onerror)\n \n \n def bltinlink(name):\n return '%s'%(name,name)\n \n results=[]\n heading=html.heading(\n 'Search Results',\n )\n for name,desc in search_result:\n results.append(bltinlink(name)+desc)\n contents=heading+html.bigsection(\n 'key = %s'%key,'index','
'.join(results))\n return 'Search Results',contents\n \n def html_topics():\n ''\n \n def bltinlink(name):\n return '%s'%(name,name)\n \n heading=html.heading(\n 'INDEX',\n )\n names=sorted(Helper.topics.keys())\n \n contents=html.multicolumn(names,bltinlink)\n contents=heading+html.bigsection(\n 'Topics','index',contents)\n return 'Topics',contents\n \n def html_keywords():\n ''\n heading=html.heading(\n 'INDEX',\n )\n names=sorted(Helper.keywords.keys())\n \n def bltinlink(name):\n return '%s'%(name,name)\n \n contents=html.multicolumn(names,bltinlink)\n contents=heading+html.bigsection(\n 'Keywords','index',contents)\n return 'Keywords',contents\n \n def html_topicpage(topic):\n ''\n buf=io.StringIO()\n htmlhelp=Helper(buf,buf)\n contents,xrefs=htmlhelp._gettopic(topic)\n if topic in htmlhelp.keywords:\n title='KEYWORD'\n else:\n title='TOPIC'\n heading=html.heading(\n '%s'%title,\n )\n contents='
%s
'%html.markup(contents)\n contents=html.bigsection(topic,'index',contents)\n if xrefs:\n xrefs=sorted(xrefs.split())\n \n def bltinlink(name):\n return '%s'%(name,name)\n \n xrefs=html.multicolumn(xrefs,bltinlink)\n xrefs=html.section('Related help topics: ','index',xrefs)\n return('%s %s'%(title,topic),\n ''.join((heading,contents,xrefs)))\n \n def html_getobj(url):\n obj=locate(url,forceload=1)\n if obj is None and url !='None':\n raise ValueError('could not find object')\n title=describe(obj)\n content=html.document(obj,url)\n return title,content\n \n def html_error(url,exc):\n heading=html.heading(\n 'Error',\n )\n contents='
'.join(html.escape(line)for line in\n format_exception_only(type(exc),exc))\n contents=heading+html.bigsection(url,'error',contents)\n return \"Error - %s\"%url,contents\n \n def get_html_page(url):\n ''\n complete_url=url\n if url.endswith('.html'):\n url=url[:-5]\n try:\n if url in(\"\",\"index\"):\n title,content=html_index()\n elif url ==\"topics\":\n title,content=html_topics()\n elif url ==\"keywords\":\n title,content=html_keywords()\n elif '='in url:\n op,_,url=url.partition('=')\n if op ==\"search?key\":\n title,content=html_search(url)\n elif op ==\"topic?key\":\n \n try:\n title,content=html_topicpage(url)\n except ValueError:\n title,content=html_getobj(url)\n elif op ==\"get?key\":\n \n if url in(\"\",\"index\"):\n title,content=html_index()\n else:\n try:\n title,content=html_getobj(url)\n except ValueError:\n title,content=html_topicpage(url)\n else:\n raise ValueError('bad pydoc url')\n else:\n title,content=html_getobj(url)\n except Exception as exc:\n \n title,content=html_error(complete_url,exc)\n return html.page(title,content)\n \n if url.startswith('/'):\n url=url[1:]\n if content_type =='text/css':\n path_here=os.path.dirname(os.path.realpath(__file__))\n css_path=os.path.join(path_here,url)\n with open(css_path)as fp:\n return ''.join(fp.readlines())\n elif content_type =='text/html':\n return get_html_page(url)\n \n raise TypeError('unknown content type %r for url %s'%(content_type,url))\n \n \ndef browse(port=0,*,open_browser=True,hostname='localhost'):\n ''\n\n\n\n \n import webbrowser\n serverthread=_start_server(_url_handler,hostname,port)\n if serverthread.error:\n print(serverthread.error)\n return\n if serverthread.serving:\n server_help_msg='Server commands: [b]rowser, [q]uit'\n if open_browser:\n webbrowser.open(serverthread.url)\n try:\n print('Server ready at',serverthread.url)\n print(server_help_msg)\n while serverthread.serving:\n cmd=input('server> ')\n cmd=cmd.lower()\n if cmd =='q':\n break\n elif cmd =='b':\n webbrowser.open(serverthread.url)\n else:\n print(server_help_msg)\n except(KeyboardInterrupt,EOFError):\n print()\n finally:\n if serverthread.serving:\n serverthread.stop()\n print('Server stopped')\n \n \n \n \ndef ispath(x):\n return isinstance(x,str)and x.find(os.sep)>=0\n \ndef _get_revised_path(given_path,argv0):\n ''\n\n\n\n\n \n \n \n \n \n \n \n if ''in given_path or os.curdir in given_path or os.getcwd()in given_path:\n return None\n \n \n \n stdlib_dir=os.path.dirname(__file__)\n script_dir=os.path.dirname(argv0)\n revised_path=given_path.copy()\n if script_dir in given_path and not os.path.samefile(script_dir,stdlib_dir):\n revised_path.remove(script_dir)\n revised_path.insert(0,os.getcwd())\n return revised_path\n \n \n \ndef _adjust_cli_sys_path():\n ''\n\n\n \n revised_path=_get_revised_path(sys.path,sys.argv[0])\n if revised_path is not None:\n sys.path[:]=revised_path\n \n \ndef cli():\n ''\n import getopt\n class BadUsage(Exception):pass\n \n _adjust_cli_sys_path()\n \n try:\n opts,args=getopt.getopt(sys.argv[1:],'bk:n:p:w')\n writing=False\n start_server=False\n open_browser=False\n port=0\n hostname='localhost'\n for opt,val in opts:\n if opt =='-b':\n start_server=True\n open_browser=True\n if opt =='-k':\n apropos(val)\n return\n if opt =='-p':\n start_server=True\n port=val\n if opt =='-w':\n writing=True\n if opt =='-n':\n start_server=True\n hostname=val\n \n if start_server:\n browse(port,hostname=hostname,open_browser=open_browser)\n return\n \n if not args:raise BadUsage\n for arg in args:\n if ispath(arg)and not os.path.exists(arg):\n print('file %r does not exist'%arg)\n sys.exit(1)\n try:\n if ispath(arg)and os.path.isfile(arg):\n arg=importfile(arg)\n if writing:\n if ispath(arg)and os.path.isdir(arg):\n writedocs(arg)\n else:\n writedoc(arg)\n else:\n help.help(arg)\n except(ImportError,ErrorDuringImport)as value:\n print(value)\n sys.exit(1)\n \n except(getopt.error,BadUsage):\n cmd=os.path.splitext(os.path.basename(sys.argv[0]))[0]\n print(\"\"\"pydoc - the Python documentation tool\n\n{cmd} ...\n Show text documentation on something. may be the name of a\n Python keyword, topic, function, module, or package, or a dotted\n reference to a class or function within a module or module in a\n package. If contains a '{sep}', it is used as the path to a\n Python source file to document. If name is 'keywords', 'topics',\n or 'modules', a listing of these things is displayed.\n\n{cmd} -k \n Search for a keyword in the synopsis lines of all available modules.\n\n{cmd} -n \n Start an HTTP server with the given hostname (default: localhost).\n\n{cmd} -p \n Start an HTTP server on the given port on the local machine. Port\n number 0 can be used to get an arbitrary unused port.\n\n{cmd} -b\n Start an HTTP server on an arbitrary unused port and open a web browser\n to interactively browse documentation. This option can be used in\n combination with -n and/or -p.\n\n{cmd} -w ...\n Write out the HTML documentation for a module to a file in the current\n directory. If contains a '{sep}', it is treated as a filename; if\n it names a directory, documentation is written for all the contents.\n\"\"\".format(cmd=cmd,sep=os.sep))\n \nif __name__ =='__main__':\n cli()\n",["__future__","builtins","collections","email.message","getopt","http.server","importlib._bootstrap","importlib._bootstrap_external","importlib.machinery","importlib.util","inspect","io","os","pkgutil","platform","pydoc_data.topics","re","reprlib","select","subprocess","sys","sysconfig","tempfile","textwrap","threading","time","tokenize","traceback","tty","urllib.parse","warnings","webbrowser"]],py_compile:[".py","''\n\n\n\n\nimport enum\nimport importlib._bootstrap_external\nimport importlib.machinery\nimport importlib.util\nimport os\nimport os.path\nimport sys\nimport traceback\n\n__all__=[\"compile\",\"main\",\"PyCompileError\",\"PycInvalidationMode\"]\n\n\nclass PyCompileError(Exception):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,exc_type,exc_value,file,msg=''):\n exc_type_name=exc_type.__name__\n if exc_type is SyntaxError:\n tbtext=''.join(traceback.format_exception_only(\n exc_type,exc_value))\n errmsg=tbtext.replace('File \"\"','File \"%s\"'%file)\n else:\n errmsg=\"Sorry: %s: %s\"%(exc_type_name,exc_value)\n \n Exception.__init__(self,msg or errmsg,exc_type_name,exc_value,file)\n \n self.exc_type_name=exc_type_name\n self.exc_value=exc_value\n self.file=file\n self.msg=msg or errmsg\n \n def __str__(self):\n return self.msg\n \n \nclass PycInvalidationMode(enum.Enum):\n TIMESTAMP=1\n CHECKED_HASH=2\n UNCHECKED_HASH=3\n \n \ndef _get_default_invalidation_mode():\n if os.environ.get('SOURCE_DATE_EPOCH'):\n return PycInvalidationMode.CHECKED_HASH\n else:\n return PycInvalidationMode.TIMESTAMP\n \n \ndef compile(file,cfile=None,dfile=None,doraise=False,optimize=-1,\ninvalidation_mode=None,quiet=0):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if invalidation_mode is None:\n invalidation_mode=_get_default_invalidation_mode()\n if cfile is None:\n if optimize >=0:\n optimization=optimize if optimize >=1 else ''\n cfile=importlib.util.cache_from_source(file,\n optimization=optimization)\n else:\n cfile=importlib.util.cache_from_source(file)\n if os.path.islink(cfile):\n msg=('{} is a symlink and will be changed into a regular file if '\n 'import writes a byte-compiled file to it')\n raise FileExistsError(msg.format(cfile))\n elif os.path.exists(cfile)and not os.path.isfile(cfile):\n msg=('{} is a non-regular file and will be changed into a regular '\n 'one if import writes a byte-compiled file to it')\n raise FileExistsError(msg.format(cfile))\n loader=importlib.machinery.SourceFileLoader('',file)\n source_bytes=loader.get_data(file)\n try:\n code=loader.source_to_code(source_bytes,dfile or file,\n _optimize=optimize)\n except Exception as err:\n py_exc=PyCompileError(err.__class__,err,dfile or file)\n if quiet <2:\n if doraise:\n raise py_exc\n else:\n sys.stderr.write(py_exc.msg+'\\n')\n return\n try:\n dirname=os.path.dirname(cfile)\n if dirname:\n os.makedirs(dirname)\n except FileExistsError:\n pass\n if invalidation_mode ==PycInvalidationMode.TIMESTAMP:\n source_stats=loader.path_stats(file)\n bytecode=importlib._bootstrap_external._code_to_timestamp_pyc(\n code,source_stats['mtime'],source_stats['size'])\n else:\n source_hash=importlib.util.source_hash(source_bytes)\n bytecode=importlib._bootstrap_external._code_to_hash_pyc(\n code,\n source_hash,\n (invalidation_mode ==PycInvalidationMode.CHECKED_HASH),\n )\n mode=importlib._bootstrap_external._calc_mode(file)\n importlib._bootstrap_external._write_atomic(cfile,bytecode,mode)\n return cfile\n \n \ndef main():\n import argparse\n \n description='A simple command-line interface for py_compile module.'\n parser=argparse.ArgumentParser(description=description)\n parser.add_argument(\n '-q','--quiet',\n action='store_true',\n help='Suppress error output',\n )\n parser.add_argument(\n 'filenames',\n nargs='+',\n help='Files to compile',\n )\n args=parser.parse_args()\n if args.filenames ==['-']:\n filenames=[filename.rstrip('\\n')for filename in sys.stdin.readlines()]\n else:\n filenames=args.filenames\n for filename in filenames:\n try:\n compile(filename,doraise=True)\n except PyCompileError as error:\n if args.quiet:\n parser.exit(1)\n else:\n parser.exit(1,error.msg)\n except OSError as error:\n if args.quiet:\n parser.exit(1)\n else:\n parser.exit(1,str(error))\n \n \nif __name__ ==\"__main__\":\n main()\n",["argparse","enum","importlib._bootstrap_external","importlib.machinery","importlib.util","os","os.path","sys","traceback"]],queue:[".py","''\n\nimport threading\nimport types\nfrom collections import deque\nfrom heapq import heappush,heappop\nfrom time import monotonic as time\ntry:\n from _queue import SimpleQueue\nexcept ImportError:\n SimpleQueue=None\n \n__all__=['Empty','Full','Queue','PriorityQueue','LifoQueue','SimpleQueue']\n\n\ntry:\n from _queue import Empty\nexcept ImportError:\n class Empty(Exception):\n ''\n pass\n \nclass Full(Exception):\n ''\n pass\n \n \nclass Queue:\n ''\n\n\n \n \n def __init__(self,maxsize=0):\n self.maxsize=maxsize\n self._init(maxsize)\n \n \n \n \n \n self.mutex=threading.Lock()\n \n \n \n self.not_empty=threading.Condition(self.mutex)\n \n \n \n self.not_full=threading.Condition(self.mutex)\n \n \n \n self.all_tasks_done=threading.Condition(self.mutex)\n self.unfinished_tasks=0\n \n def task_done(self):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n with self.all_tasks_done:\n unfinished=self.unfinished_tasks -1\n if unfinished <=0:\n if unfinished <0:\n raise ValueError('task_done() called too many times')\n self.all_tasks_done.notify_all()\n self.unfinished_tasks=unfinished\n \n def join(self):\n ''\n\n\n\n\n\n\n \n with self.all_tasks_done:\n while self.unfinished_tasks:\n self.all_tasks_done.wait()\n \n def qsize(self):\n ''\n with self.mutex:\n return self._qsize()\n \n def empty(self):\n ''\n\n\n\n\n\n\n\n\n \n with self.mutex:\n return not self._qsize()\n \n def full(self):\n ''\n\n\n\n\n\n \n with self.mutex:\n return 0 0:\n if not block:\n if self._qsize()>=self.maxsize:\n raise Full\n elif timeout is None:\n while self._qsize()>=self.maxsize:\n self.not_full.wait()\n elif timeout <0:\n raise ValueError(\"'timeout' must be a non-negative number\")\n else:\n endtime=time()+timeout\n while self._qsize()>=self.maxsize:\n remaining=endtime -time()\n if remaining <=0.0:\n raise Full\n self.not_full.wait(remaining)\n self._put(item)\n self.unfinished_tasks +=1\n self.not_empty.notify()\n \n def get(self,block=True,timeout=None):\n ''\n\n\n\n\n\n\n\n\n \n with self.not_empty:\n if not block:\n if not self._qsize():\n raise Empty\n elif timeout is None:\n while not self._qsize():\n self.not_empty.wait()\n elif timeout <0:\n raise ValueError(\"'timeout' must be a non-negative number\")\n else:\n endtime=time()+timeout\n while not self._qsize():\n remaining=endtime -time()\n if remaining <=0.0:\n raise Empty\n self.not_empty.wait(remaining)\n item=self._get()\n self.not_full.notify()\n return item\n \n def put_nowait(self,item):\n ''\n\n\n\n \n return self.put(item,block=False)\n \n def get_nowait(self):\n ''\n\n\n\n \n return self.get(block=False)\n \n \n \n \n \n \n def _init(self,maxsize):\n self.queue=deque()\n \n def _qsize(self):\n return len(self.queue)\n \n \n def _put(self,item):\n self.queue.append(item)\n \n \n def _get(self):\n return self.queue.popleft()\n \n __class_getitem__=classmethod(types.GenericAlias)\n \n \nclass PriorityQueue(Queue):\n ''\n\n\n \n \n def _init(self,maxsize):\n self.queue=[]\n \n def _qsize(self):\n return len(self.queue)\n \n def _put(self,item):\n heappush(self.queue,item)\n \n def _get(self):\n return heappop(self.queue)\n \n \nclass LifoQueue(Queue):\n ''\n \n def _init(self,maxsize):\n self.queue=[]\n \n def _qsize(self):\n return len(self.queue)\n \n def _put(self,item):\n self.queue.append(item)\n \n def _get(self):\n return self.queue.pop()\n \n \nclass _PySimpleQueue:\n ''\n\n\n \n \n \n \n \n \n def __init__(self):\n self._queue=deque()\n self._count=threading.Semaphore(0)\n \n def put(self,item,block=True,timeout=None):\n ''\n\n\n\n \n self._queue.append(item)\n self._count.release()\n \n def get(self,block=True,timeout=None):\n ''\n\n\n\n\n\n\n\n\n \n if timeout is not None and timeout <0:\n raise ValueError(\"'timeout' must be a non-negative number\")\n if not self._count.acquire(block,timeout):\n raise Empty\n return self._queue.popleft()\n \n def put_nowait(self,item):\n ''\n\n\n\n \n return self.put(item,block=False)\n \n def get_nowait(self):\n ''\n\n\n\n \n return self.get(block=False)\n \n def empty(self):\n ''\n return len(self._queue)==0\n \n def qsize(self):\n ''\n return len(self._queue)\n \n __class_getitem__=classmethod(types.GenericAlias)\n \n \nif SimpleQueue is None:\n SimpleQueue=_PySimpleQueue\n",["_queue","collections","heapq","threading","time","types"]],quopri:[".py","#! /usr/bin/env python3\n\n\"\"\"Conversions to/from quoted-printable transport encoding as per RFC 1521.\"\"\"\n\n\n\n__all__=[\"encode\",\"decode\",\"encodestring\",\"decodestring\"]\n\nESCAPE=b'='\nMAXLINESIZE=76\nHEX=b'0123456789ABCDEF'\nEMPTYSTRING=b''\n\ntry:\n from binascii import a2b_qp,b2a_qp\nexcept ImportError:\n a2b_qp=None\n b2a_qp=None\n \n \ndef needsquoting(c,quotetabs,header):\n ''\n\n\n\n\n \n assert isinstance(c,bytes)\n if c in b' \\t':\n return quotetabs\n \n if c ==b'_':\n return header\n return c ==ESCAPE or not(b' '<=c <=b'~')\n \ndef quote(c):\n ''\n assert isinstance(c,bytes)and len(c)==1\n c=ord(c)\n return ESCAPE+bytes((HEX[c //16],HEX[c %16]))\n \n \n \ndef encode(input,output,quotetabs,header=False):\n ''\n\n\n\n\n\n \n \n if b2a_qp is not None:\n data=input.read()\n odata=b2a_qp(data,quotetabs=quotetabs,header=header)\n output.write(odata)\n return\n \n def write(s,output=output,lineEnd=b'\\n'):\n \n \n if s and s[-1:]in b' \\t':\n output.write(s[:-1]+quote(s[-1:])+lineEnd)\n elif s ==b'.':\n output.write(quote(s)+lineEnd)\n else:\n output.write(s+lineEnd)\n \n prevline=None\n while line :=input.readline():\n outline=[]\n \n stripped=b''\n if line[-1:]==b'\\n':\n line=line[:-1]\n stripped=b'\\n'\n \n for c in line:\n c=bytes((c,))\n if needsquoting(c,quotetabs,header):\n c=quote(c)\n if header and c ==b' ':\n outline.append(b'_')\n else:\n outline.append(c)\n \n if prevline is not None:\n write(prevline)\n \n \n thisline=EMPTYSTRING.join(outline)\n while len(thisline)>MAXLINESIZE:\n \n \n write(thisline[:MAXLINESIZE -1],lineEnd=b'=\\n')\n thisline=thisline[MAXLINESIZE -1:]\n \n prevline=thisline\n \n if prevline is not None:\n write(prevline,lineEnd=stripped)\n \ndef encodestring(s,quotetabs=False,header=False):\n if b2a_qp is not None:\n return b2a_qp(s,quotetabs=quotetabs,header=header)\n from io import BytesIO\n infp=BytesIO(s)\n outfp=BytesIO()\n encode(infp,outfp,quotetabs,header)\n return outfp.getvalue()\n \n \n \ndef decode(input,output,header=False):\n ''\n\n \n \n if a2b_qp is not None:\n data=input.read()\n odata=a2b_qp(data,header=header)\n output.write(odata)\n return\n \n new=b''\n while line :=input.readline():\n i,n=0,len(line)\n if n >0 and line[n -1:n]==b'\\n':\n partial=0 ;n=n -1\n \n while n >0 and line[n -1:n]in b\" \\t\\r\":\n n=n -1\n else:\n partial=1\n while i =n:\n r=getrandbits(k)\n return r\n \n def _randbelow_without_getrandbits(self,n,maxsize=1 <=maxsize:\n _warn(\"Underlying random() generator does not supply \\n\"\n \"enough bits to choose from a population range this large.\\n\"\n \"To remove the range limitation, add a getrandbits() method.\")\n return _floor(random()*n)\n rem=maxsize %n\n limit=(maxsize -rem)/maxsize\n r=random()\n while r >=limit:\n r=random()\n return _floor(r *maxsize)%n\n \n _randbelow=_randbelow_with_getrandbits\n \n \n \n \n \n \n \n \n \n \n \n \n def randbytes(self,n):\n ''\n return self.getrandbits(n *8).to_bytes(n,'little')\n \n \n \n \n def randrange(self,start,stop=None,step=_ONE):\n ''\n\n\n\n\n \n \n \n \n istart=_index(start)\n if stop is None:\n \n \n if step is not _ONE:\n raise TypeError(\"Missing a non-None stop argument\")\n if istart >0:\n return self._randbelow(istart)\n raise ValueError(\"empty range for randrange()\")\n \n \n istop=_index(stop)\n width=istop -istart\n istep=_index(step)\n \n if istep ==1:\n if width >0:\n return istart+self._randbelow(width)\n raise ValueError(f\"empty range in randrange({start}, {stop})\")\n \n \n if istep >0:\n n=(width+istep -1)//istep\n elif istep <0:\n n=(width+istep+1)//istep\n else:\n raise ValueError(\"zero step for randrange()\")\n if n <=0:\n raise ValueError(f\"empty range in randrange({start}, {stop}, {step})\")\n return istart+istep *self._randbelow(n)\n \n def randint(self,a,b):\n ''\n \n \n return self.randrange(a,b+1)\n \n \n \n \n def choice(self,seq):\n ''\n \n \n \n if not len(seq):\n raise IndexError('Cannot choose from an empty sequence')\n return seq[self._randbelow(len(seq))]\n \n def shuffle(self,x):\n ''\n \n randbelow=self._randbelow\n for i in reversed(range(1,len(x))):\n \n j=randbelow(i+1)\n x[i],x[j]=x[j],x[i]\n \n def sample(self,population,k,*,counts=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n if not isinstance(population,_Sequence):\n raise TypeError(\"Population must be a sequence. \"\n \"For dicts or sets, use sorted(d).\")\n n=len(population)\n if counts is not None:\n cum_counts=list(_accumulate(counts))\n if len(cum_counts)!=n:\n raise ValueError('The number of counts does not match the population')\n total=cum_counts.pop()\n if not isinstance(total,int):\n raise TypeError('Counts must be integers')\n if total <=0:\n raise ValueError('Total of counts must be greater than zero')\n selections=self.sample(range(total),k=k)\n bisect=_bisect\n return[population[bisect(cum_counts,s)]for s in selections]\n randbelow=self._randbelow\n if not 0 <=k <=n:\n raise ValueError(\"Sample larger than population or is negative\")\n result=[None]*k\n setsize=21\n if k >5:\n setsize +=4 **_ceil(_log(k *3,4))\n if n <=setsize:\n \n \n pool=list(population)\n for i in range(k):\n j=randbelow(n -i)\n result[i]=pool[j]\n pool[j]=pool[n -i -1]\n else:\n selected=set()\n selected_add=selected.add\n for i in range(k):\n j=randbelow(n)\n while j in selected:\n j=randbelow(n)\n selected_add(j)\n result[i]=population[j]\n return result\n \n def choices(self,population,weights=None,*,cum_weights=None,k=1):\n ''\n\n\n\n\n \n random=self.random\n n=len(population)\n if cum_weights is None:\n if weights is None:\n floor=_floor\n n +=0.0\n return[population[floor(random()*n)]for i in _repeat(None,k)]\n try:\n cum_weights=list(_accumulate(weights))\n except TypeError:\n if not isinstance(weights,int):\n raise\n k=weights\n raise TypeError(\n f'The number of choices must be a keyword argument: {k=}'\n )from None\n elif weights is not None:\n raise TypeError('Cannot specify both weights and cumulative weights')\n if len(cum_weights)!=n:\n raise ValueError('The number of weights does not match the population')\n total=cum_weights[-1]+0.0\n if total <=0.0:\n raise ValueError('Total of weights must be greater than zero')\n if not _isfinite(total):\n raise ValueError('Total of weights must be finite')\n bisect=_bisect\n hi=n -1\n return[population[bisect(cum_weights,random()*total,0,hi)]\n for i in _repeat(None,k)]\n \n \n \n \n def uniform(self,a,b):\n ''\n return a+(b -a)*self.random()\n \n def triangular(self,low=0.0,high=1.0,mode=None):\n ''\n\n\n\n\n\n\n \n u=self.random()\n try:\n c=0.5 if mode is None else(mode -low)/(high -low)\n except ZeroDivisionError:\n return low\n if u >c:\n u=1.0 -u\n c=1.0 -c\n low,high=high,low\n return low+(high -low)*_sqrt(u *c)\n \n def normalvariate(self,mu=0.0,sigma=1.0):\n ''\n\n\n\n \n \n \n \n \n \n random=self.random\n while True:\n u1=random()\n u2=1.0 -random()\n z=NV_MAGICCONST *(u1 -0.5)/u2\n zz=z *z /4.0\n if zz <=-_log(u2):\n break\n return mu+z *sigma\n \n def gauss(self,mu=0.0,sigma=1.0):\n ''\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n random=self.random\n z=self.gauss_next\n self.gauss_next=None\n if z is None:\n x2pi=random()*TWOPI\n g2rad=_sqrt(-2.0 *_log(1.0 -random()))\n z=_cos(x2pi)*g2rad\n self.gauss_next=_sin(x2pi)*g2rad\n \n return mu+z *sigma\n \n def lognormvariate(self,mu,sigma):\n ''\n\n\n\n\n\n \n return _exp(self.normalvariate(mu,sigma))\n \n def expovariate(self,lambd=1.0):\n ''\n\n\n\n\n\n\n\n \n \n \n \n \n \n return -_log(1.0 -self.random())/lambd\n \n def vonmisesvariate(self,mu,kappa):\n ''\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n random=self.random\n if kappa <=1e-6:\n return TWOPI *random()\n \n s=0.5 /kappa\n r=s+_sqrt(1.0+s *s)\n \n while True:\n u1=random()\n z=_cos(_pi *u1)\n \n d=z /(r+z)\n u2=random()\n if u2 <1.0 -d *d or u2 <=(1.0 -d)*_exp(d):\n break\n \n q=1.0 /r\n f=(q+z)/(1.0+q *z)\n u3=random()\n if u3 >0.5:\n theta=(mu+_acos(f))%TWOPI\n else:\n theta=(mu -_acos(f))%TWOPI\n \n return theta\n \n def gammavariate(self,alpha,beta):\n ''\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n if alpha <=0.0 or beta <=0.0:\n raise ValueError('gammavariate: alpha and beta must be > 0.0')\n \n random=self.random\n if alpha >1.0:\n \n \n \n \n \n ainv=_sqrt(2.0 *alpha -1.0)\n bbb=alpha -LOG4\n ccc=alpha+ainv\n \n while True:\n u1=random()\n if not 1e-7 =0.0 or r >=_log(z):\n return x *beta\n \n elif alpha ==1.0:\n \n return -_log(1.0 -random())*beta\n \n else:\n \n \n while True:\n u=random()\n b=(_e+alpha)/_e\n p=b *u\n if p <=1.0:\n x=p **(1.0 /alpha)\n else:\n x=-_log((b -p)/alpha)\n u1=random()\n if p >1.0:\n if u1 <=x **(alpha -1.0):\n break\n elif u1 <=_exp(-x):\n break\n return x *beta\n \n def betavariate(self,alpha,beta):\n ''\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n y=self.gammavariate(alpha,1.0)\n if y:\n return y /(y+self.gammavariate(beta,1.0))\n return 0.0\n \n def paretovariate(self,alpha):\n ''\n \n \n u=1.0 -self.random()\n return u **(-1.0 /alpha)\n \n def weibullvariate(self,alpha,beta):\n ''\n\n\n\n \n \n \n u=1.0 -self.random()\n return alpha *(-_log(u))**(1.0 /beta)\n \n \n \n \n def binomialvariate(self,n=1,p=0.5):\n ''\n\n\n\n\n\n\n\n\n \n \n if n <0:\n raise ValueError(\"n must be non-negative\")\n if p <=0.0 or p >=1.0:\n if p ==0.0:\n return 0\n if p ==1.0:\n return n\n raise ValueError(\"p must be in the range 0.0 <= p <= 1.0\")\n \n random=self.random\n \n \n if n ==1:\n return _index(random()0.5:\n return n -self.binomialvariate(n,1.0 -p)\n \n if n *p <10.0:\n \n \n x=y=0\n c=_log2(1.0 -p)\n if not c:\n return x\n while True:\n y +=_floor(_log2(random())/c)+1\n if y >n:\n return x\n x +=1\n \n \n \n assert n *p >=10.0 and p <=0.5\n setup_complete=False\n \n spq=_sqrt(n *p *(1.0 -p))\n b=1.15+2.53 *spq\n a=-0.0873+0.0248 *b+0.01 *p\n c=n *p+0.5\n vr=0.92 -4.2 /b\n \n while True:\n \n u=random()\n u -=0.5\n us=0.5 -_fabs(u)\n k=_floor((2.0 *a /us+b)*u+c)\n if k <0 or k >n:\n continue\n \n \n \n v=random()\n if us >=0.07 and v <=vr:\n return k\n \n \n \n \n if not setup_complete:\n alpha=(2.83+5.1 /b)*spq\n lpq=_log(p /(1.0 -p))\n m=_floor((n+1)*p)\n h=_lgamma(m+1)+_lgamma(n -m+1)\n setup_complete=True\n v *=alpha /(a /(us *us)+b)\n if _log(v)<=h -_lgamma(k+1)-_lgamma(n -k+1)+(k -m)*lpq:\n return k\n \n \n \n \n \n \nclass SystemRandom(Random):\n ''\n\n\n\n\n\n \n \n def random(self):\n ''\n return(int.from_bytes(_urandom(7))>>3)*RECIP_BPF\n \n def getrandbits(self,k):\n ''\n if k <0:\n raise ValueError('number of bits must be non-negative')\n numbytes=(k+7)//8\n x=int.from_bytes(_urandom(numbytes))\n return x >>(numbytes *8 -k)\n \n def randbytes(self,n):\n ''\n \n \n return _urandom(n)\n \n def seed(self,*args,**kwds):\n ''\n return None\n \n def _notimplemented(self,*args,**kwds):\n ''\n raise NotImplementedError('System entropy source does not have state.')\n getstate=setstate=_notimplemented\n \n \n \n \n \n \n \n \n \n_inst=Random()\nseed=_inst.seed\nrandom=_inst.random\nuniform=_inst.uniform\ntriangular=_inst.triangular\nrandint=_inst.randint\nchoice=_inst.choice\nrandrange=_inst.randrange\nsample=_inst.sample\nshuffle=_inst.shuffle\nchoices=_inst.choices\nnormalvariate=_inst.normalvariate\nlognormvariate=_inst.lognormvariate\nexpovariate=_inst.expovariate\nvonmisesvariate=_inst.vonmisesvariate\ngammavariate=_inst.gammavariate\ngauss=_inst.gauss\nbetavariate=_inst.betavariate\nbinomialvariate=_inst.binomialvariate\nparetovariate=_inst.paretovariate\nweibullvariate=_inst.weibullvariate\ngetstate=_inst.getstate\nsetstate=_inst.setstate\ngetrandbits=_inst.getrandbits\nrandbytes=_inst.randbytes\n\n\n\n\n\ndef _test_generator(n,func,args):\n from statistics import stdev,fmean as mean\n from time import perf_counter\n \n t0=perf_counter()\n data=[func(*args)for i in _repeat(None,n)]\n t1=perf_counter()\n \n xbar=mean(data)\n sigma=stdev(data,xbar)\n low=min(data)\n high=max(data)\n \n print(f'{t1 -t0:.3f} sec, {n} times {func.__name__}{args !r}')\n print('avg %g, stddev %g, min %g, max %g\\n'%(xbar,sigma,low,high))\n \n \ndef _test(N=10_000):\n _test_generator(N,random,())\n _test_generator(N,normalvariate,(0.0,1.0))\n _test_generator(N,lognormvariate,(0.0,1.0))\n _test_generator(N,vonmisesvariate,(0.0,1.0))\n _test_generator(N,binomialvariate,(15,0.60))\n _test_generator(N,binomialvariate,(100,0.75))\n _test_generator(N,gammavariate,(0.01,1.0))\n _test_generator(N,gammavariate,(0.1,1.0))\n _test_generator(N,gammavariate,(0.1,2.0))\n _test_generator(N,gammavariate,(0.5,1.0))\n _test_generator(N,gammavariate,(0.9,1.0))\n _test_generator(N,gammavariate,(1.0,1.0))\n _test_generator(N,gammavariate,(2.0,1.0))\n _test_generator(N,gammavariate,(20.0,1.0))\n _test_generator(N,gammavariate,(200.0,1.0))\n _test_generator(N,gauss,(0.0,1.0))\n _test_generator(N,betavariate,(3.0,3.0))\n _test_generator(N,triangular,(0.0,1.0,1.0 /3.0))\n \n \n \n \n \nif hasattr(_os,\"fork\"):\n _os.register_at_fork(after_in_child=_inst.seed)\n \n \nif __name__ =='__main__':\n _test()\n \n",["_collections_abc","_random","_sha512","bisect","hashlib","itertools","math","operator","os","statistics","time","warnings"]],re:[".py","import enum\n\n\nclass _compiler:\n SRE_FLAG_IGNORECASE=2\n SRE_FLAG_LOCALE=4\n SRE_FLAG_MULTILINE=8\n SRE_FLAG_DOTALL=16\n SRE_FLAG_UNICODE=32\n SRE_FLAG_VERBOSE=64\n SRE_FLAG_DEBUG=128\n SRE_FLAG_ASCII=256\n SRE_INFO_PREFIX=1\n SRE_INFO_LITERAL=2\n SRE_INFO_CHARSET=4\n \n@enum.global_enum\n@enum._simple_enum(enum.IntFlag,boundary=enum.KEEP)\nclass RegexFlag:\n NOFLAG=0\n ASCII=A=_compiler.SRE_FLAG_ASCII\n IGNORECASE=I=_compiler.SRE_FLAG_IGNORECASE\n LOCALE=L=_compiler.SRE_FLAG_LOCALE\n UNICODE=U=_compiler.SRE_FLAG_UNICODE\n MULTILINE=M=_compiler.SRE_FLAG_MULTILINE\n DOTALL=S=_compiler.SRE_FLAG_DOTALL\n VERBOSE=X=_compiler.SRE_FLAG_VERBOSE\n \n \n DEBUG=_compiler.SRE_FLAG_DEBUG\n __str__=object.__str__\n _numeric_repr_=hex\n \n \nfrom python_re import *\nfrom browser import console\n\n\nimport python_re\n_compile=python_re._compile\n_reconstructor=python_re._reconstructor\n\npython_re._reconstructor.__module__='re'\n",["browser","enum","python_re"]],re1:[".py",'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nr"""Support for regular expressions (RE).\n\nThis module provides regular expression matching operations similar to\nthose found in Perl. It supports both 8-bit and Unicode strings; both\nthe pattern and the strings being processed can contain null bytes and\ncharacters outside the US ASCII range.\n\nRegular expressions can contain both special and ordinary characters.\nMost ordinary characters, like "A", "a", or "0", are the simplest\nregular expressions; they simply match themselves. You can\nconcatenate ordinary characters, so last matches the string \'last\'.\n\nThe special characters are:\n "." Matches any character except a newline.\n "^" Matches the start of the string.\n "$" Matches the end of the string or just before the newline at\n the end of the string.\n "*" Matches 0 or more (greedy) repetitions of the preceding RE.\n Greedy means that it will match as many repetitions as possible.\n "+" Matches 1 or more (greedy) repetitions of the preceding RE.\n "?" Matches 0 or 1 (greedy) of the preceding RE.\n *?,+?,?? Non-greedy versions of the previous three special characters.\n {m,n} Matches from m to n repetitions of the preceding RE.\n {m,n}? Non-greedy version of the above.\n "\\\\" Either escapes special characters or signals a special sequence.\n [] Indicates a set of characters.\n A "^" as the first character indicates a complementing set.\n "|" A|B, creates an RE that will match either A or B.\n (...) Matches the RE inside the parentheses.\n The contents can be retrieved or matched later in the string.\n (?aiLmsux) The letters set the corresponding flags defined below.\n (?:...) Non-grouping version of regular parentheses.\n (?P...) The substring matched by the group is accessible by name.\n (?P=name) Matches the text matched earlier by the group named name.\n (?#...) A comment; ignored.\n (?=...) Matches if ... matches next, but doesn\'t consume the string.\n (?!...) Matches if ... doesn\'t match next.\n (?<=...) Matches if preceded by ... (must be fixed length).\n (?1:\n res=f\'~({res})\'\n else:\n res=f\'~{res}\'\n return res\n __str__=object.__str__\nglobals().update(RegexFlag.__members__)\n\n\nerror=sre_compile.error\n\n\n\n\ndef match(pattern,string,flags=0):\n \'\'\n \n return _compile(pattern,flags).match(string)\n \ndef fullmatch(pattern,string,flags=0):\n \'\'\n \n return _compile(pattern,flags).fullmatch(string)\n \ndef search(pattern,string,flags=0):\n \'\'\n \n return _compile(pattern,flags).search(string)\n \ndef sub(pattern,repl,string,count=0,flags=0):\n \'\'\n\n\n\n\n \n return _compile(pattern,flags).sub(repl,string,count)\n \ndef subn(pattern,repl,string,count=0,flags=0):\n \'\'\n\n\n\n\n\n\n \n return _compile(pattern,flags).subn(repl,string,count)\n \ndef split(pattern,string,maxsplit=0,flags=0):\n \'\'\n\n\n\n\n\n \n return _compile(pattern,flags).split(string,maxsplit)\n \ndef findall(pattern,string,flags=0):\n \'\'\n\n\n\n\n\n \n return _compile(pattern,flags).findall(string)\n \ndef finditer(pattern,string,flags=0):\n \'\'\n\n\n \n return _compile(pattern,flags).finditer(string)\n \ndef compile(pattern,flags=0):\n \'\'\n return _compile(pattern,flags)\n \ndef purge():\n \'\'\n _cache.clear()\n _compile_repl.cache_clear()\n \ndef template(pattern,flags=0):\n \'\'\n return _compile(pattern,flags |T)\n \n \n \n \n \n \n_special_chars_map={i:\'\\\\\'+chr(i)for i in b\'()[]{}?*+-|^$\\\\.&~# \\t\\n\\r\\v\\f\'}\n\ndef escape(pattern):\n \'\'\n\n \n if isinstance(pattern,str):\n return pattern.translate(_special_chars_map)\n else:\n pattern=str(pattern,\'latin1\')\n return pattern.translate(_special_chars_map).encode(\'latin1\')\n \nPattern=type(sre_compile.compile(\'\',0))\nMatch=type(sre_compile.compile(\'\',0).match(\'\'))\n\n\n\n\n_cache={}\n\n_MAXCACHE=512\ndef _compile(pattern,flags):\n\n if isinstance(flags,RegexFlag):\n flags=flags.value\n try:\n return _cache[type(pattern),pattern,flags]\n except KeyError:\n pass\n if isinstance(pattern,Pattern):\n if flags:\n raise ValueError(\n "cannot process flags argument with a compiled pattern")\n return pattern\n if not sre_compile.isstring(pattern):\n raise TypeError("first argument must be string or compiled pattern")\n p=sre_compile.compile(pattern,flags)\n if not(flags&DEBUG):\n if len(_cache)>=_MAXCACHE:\n \n try:\n del _cache[next(iter(_cache))]\n except(StopIteration,RuntimeError,KeyError):\n pass\n _cache[type(pattern),pattern,flags]=p\n return p\n \n@functools.lru_cache(_MAXCACHE)\ndef _compile_repl(repl,pattern):\n\n return sre_parse.parse_template(repl,pattern)\n \ndef _expand(pattern,match,template):\n\n template=sre_parse.parse_template(template,pattern)\n return sre_parse.expand_template(template,match)\n \ndef _subx(pattern,template):\n\n template=_compile_repl(template,pattern)\n if not template[0]and len(template[1])==1:\n \n return template[1][0]\n def filter(match,template=template):\n return sre_parse.expand_template(template,match)\n return filter\n \n \n \nimport copyreg\n\ndef _pickle(p):\n return _compile,(p.pattern,p.flags)\n \ncopyreg.pickle(Pattern,_pickle,_compile)\n\n\n\n\nclass Scanner:\n def __init__(self,lexicon,flags=0):\n from sre_constants import BRANCH,SUBPATTERN\n if isinstance(flags,RegexFlag):\n flags=flags.value\n self.lexicon=lexicon\n \n p=[]\n s=sre_parse.State()\n s.flags=flags\n for phrase,action in lexicon:\n gid=s.opengroup()\n p.append(sre_parse.SubPattern(s,[\n (SUBPATTERN,(gid,0,0,sre_parse.parse(phrase,flags))),\n ]))\n s.closegroup(gid,p[-1])\n p=sre_parse.SubPattern(s,[(BRANCH,(None,p))])\n self.scanner=sre_compile.compile(p)\n def scan(self,string):\n result=[]\n append=result.append\n match=self.scanner.scanner(string).match\n i=0\n while True:\n m=match()\n if not m:\n break\n j=m.end()\n if i ==j:\n break\n action=self.lexicon[m.lastindex -1][1]\n if callable(action):\n self.match=m\n action=action(self,m.group())\n if action is not None:\n append(action)\n i=j\n return result,string[i:]\n',["_locale","copyreg","enum","functools","sre_compile","sre_constants","sre_parse"]],reprlib:[".py","''\n\n__all__=[\"Repr\",\"repr\",\"recursive_repr\"]\n\nimport builtins\nfrom itertools import islice\nfrom _thread import get_ident\n\ndef recursive_repr(fillvalue='...'):\n ''\n \n def decorating_function(user_function):\n repr_running=set()\n \n def wrapper(self):\n key=id(self),get_ident()\n if key in repr_running:\n return fillvalue\n repr_running.add(key)\n try:\n result=user_function(self)\n finally:\n repr_running.discard(key)\n return result\n \n \n wrapper.__module__=getattr(user_function,'__module__')\n wrapper.__doc__=getattr(user_function,'__doc__')\n wrapper.__name__=getattr(user_function,'__name__')\n wrapper.__qualname__=getattr(user_function,'__qualname__')\n wrapper.__annotations__=getattr(user_function,'__annotations__',{})\n return wrapper\n \n return decorating_function\n \nclass Repr:\n\n def __init__(\n self,*,maxlevel=6,maxtuple=6,maxlist=6,maxarray=5,maxdict=4,\n maxset=6,maxfrozenset=6,maxdeque=6,maxstring=30,maxlong=40,\n maxother=30,fillvalue='...',indent=None,\n ):\n self.maxlevel=maxlevel\n self.maxtuple=maxtuple\n self.maxlist=maxlist\n self.maxarray=maxarray\n self.maxdict=maxdict\n self.maxset=maxset\n self.maxfrozenset=maxfrozenset\n self.maxdeque=maxdeque\n self.maxstring=maxstring\n self.maxlong=maxlong\n self.maxother=maxother\n self.fillvalue=fillvalue\n self.indent=indent\n \n def repr(self,x):\n return self.repr1(x,self.maxlevel)\n \n def repr1(self,x,level):\n typename=type(x).__name__\n if ' 'in typename:\n parts=typename.split()\n typename='_'.join(parts)\n if hasattr(self,'repr_'+typename):\n return getattr(self,'repr_'+typename)(x,level)\n else:\n return self.repr_instance(x,level)\n \n def _join(self,pieces,level):\n if self.indent is None:\n return ', '.join(pieces)\n if not pieces:\n return ''\n indent=self.indent\n if isinstance(indent,int):\n if indent <0:\n raise ValueError(\n f'Repr.indent cannot be negative int (was {indent !r})'\n )\n indent *=' '\n try:\n sep=',\\n'+(self.maxlevel -level+1)*indent\n except TypeError as error:\n raise TypeError(\n f'Repr.indent must be a str, int or None, not {type(indent)}'\n )from error\n return sep.join(('',*pieces,''))[1:-len(indent)or None]\n \n def _repr_iterable(self,x,level,left,right,maxiter,trail=''):\n n=len(x)\n if level <=0 and n:\n s=self.fillvalue\n else:\n newlevel=level -1\n repr1=self.repr1\n pieces=[repr1(elem,newlevel)for elem in islice(x,maxiter)]\n if n >maxiter:\n pieces.append(self.fillvalue)\n s=self._join(pieces,level)\n if n ==1 and trail and self.indent is None:\n right=trail+right\n return '%s%s%s'%(left,s,right)\n \n def repr_tuple(self,x,level):\n return self._repr_iterable(x,level,'(',')',self.maxtuple,',')\n \n def repr_list(self,x,level):\n return self._repr_iterable(x,level,'[',']',self.maxlist)\n \n def repr_array(self,x,level):\n if not x:\n return \"array('%s')\"%x.typecode\n header=\"array('%s', [\"%x.typecode\n return self._repr_iterable(x,level,header,'])',self.maxarray)\n \n def repr_set(self,x,level):\n if not x:\n return 'set()'\n x=_possibly_sorted(x)\n return self._repr_iterable(x,level,'{','}',self.maxset)\n \n def repr_frozenset(self,x,level):\n if not x:\n return 'frozenset()'\n x=_possibly_sorted(x)\n return self._repr_iterable(x,level,'frozenset({','})',\n self.maxfrozenset)\n \n def repr_deque(self,x,level):\n return self._repr_iterable(x,level,'deque([','])',self.maxdeque)\n \n def repr_dict(self,x,level):\n n=len(x)\n if n ==0:\n return '{}'\n if level <=0:\n return '{'+self.fillvalue+'}'\n newlevel=level -1\n repr1=self.repr1\n pieces=[]\n for key in islice(_possibly_sorted(x),self.maxdict):\n keyrepr=repr1(key,newlevel)\n valrepr=repr1(x[key],newlevel)\n pieces.append('%s: %s'%(keyrepr,valrepr))\n if n >self.maxdict:\n pieces.append(self.fillvalue)\n s=self._join(pieces,level)\n return '{%s}'%(s,)\n \n def repr_str(self,x,level):\n s=builtins.repr(x[:self.maxstring])\n if len(s)>self.maxstring:\n i=max(0,(self.maxstring -3)//2)\n j=max(0,self.maxstring -3 -i)\n s=builtins.repr(x[:i]+x[len(x)-j:])\n s=s[:i]+self.fillvalue+s[len(s)-j:]\n return s\n \n def repr_int(self,x,level):\n s=builtins.repr(x)\n if len(s)>self.maxlong:\n i=max(0,(self.maxlong -3)//2)\n j=max(0,self.maxlong -3 -i)\n s=s[:i]+self.fillvalue+s[len(s)-j:]\n return s\n \n def repr_instance(self,x,level):\n try:\n s=builtins.repr(x)\n \n \n except Exception:\n return '<%s instance at %#x>'%(x.__class__.__name__,id(x))\n if len(s)>self.maxother:\n i=max(0,(self.maxother -3)//2)\n j=max(0,self.maxother -3 -i)\n s=s[:i]+self.fillvalue+s[len(s)-j:]\n return s\n \n \ndef _possibly_sorted(x):\n\n\n\n try:\n return sorted(x)\n except Exception:\n return list(x)\n \naRepr=Repr()\nrepr=aRepr.repr\n",["_thread","builtins","itertools"]],secrets:[".py","''\n\n\n\n\n\n\n\n__all__=['choice','randbelow','randbits','SystemRandom',\n'token_bytes','token_hex','token_urlsafe',\n'compare_digest',\n]\n\n\nimport base64\n\nfrom hmac import compare_digest\nfrom random import SystemRandom\n\n_sysrand=SystemRandom()\n\nrandbits=_sysrand.getrandbits\nchoice=_sysrand.choice\n\ndef randbelow(exclusive_upper_bound):\n ''\n if exclusive_upper_bound <=0:\n raise ValueError(\"Upper bound must be positive.\")\n return _sysrand._randbelow(exclusive_upper_bound)\n \nDEFAULT_ENTROPY=32\n\ndef token_bytes(nbytes=None):\n ''\n\n\n\n\n\n\n\n \n if nbytes is None:\n nbytes=DEFAULT_ENTROPY\n return _sysrand.randbytes(nbytes)\n \ndef token_hex(nbytes=None):\n ''\n\n\n\n\n\n\n\n\n \n return token_bytes(nbytes).hex()\n \ndef token_urlsafe(nbytes=None):\n ''\n\n\n\n\n\n\n\n \n tok=token_bytes(nbytes)\n return base64.urlsafe_b64encode(tok).rstrip(b'=').decode('ascii')\n",["base64","hmac","random"]],select:[".py","''\n\n\n\n\nimport errno\nimport os\n\nclass error(Exception):\n pass\n \nALL=None\n\n_exception_map={}\n\ndef _map_exception(exc,circumstance=ALL):\n try:\n mapped_exception=_exception_map[(exc.__class__,circumstance)]\n mapped_exception.java_exception=exc\n return mapped_exception\n except KeyError:\n return error(-1,'Unmapped java exception: <%s:%s>'%(exc.toString(),circumstance))\n \nPOLLIN=1\nPOLLOUT=2\n\n\n\n\n\nPOLLPRI=4\nPOLLERR=8\nPOLLHUP=16\nPOLLNVAL=32\n\ndef _getselectable(selectable_object):\n try:\n channel=selectable_object.getchannel()\n except:\n try:\n channel=selectable_object.fileno().getChannel()\n except:\n raise TypeError(\"Object '%s' is not watchable\"%selectable_object,\n errno.ENOTSOCK)\n \n return channel\n \n \nclass Selector:\n\n def close(self):\n pass\n \n def keys(self):\n return[]\n \n def select(self,timeout=None):\n return[]\n \n def selectedKeys(self):\n class SelectedKeys:\n def iterator(self):\n return[]\n return SelectedKeys()\n \n def selectNow(self,timeout=None):\n return[]\n \nclass poll:\n\n def __init__(self):\n self.selector=Selector()\n self.chanmap={}\n self.unconnected_sockets=[]\n \n def _register_channel(self,socket_object,channel,mask):\n jmask=0\n if mask&POLLIN:\n \n if channel.validOps()&OP_ACCEPT:\n jmask=OP_ACCEPT\n else:\n jmask=OP_READ\n if mask&POLLOUT:\n if channel.validOps()&OP_WRITE:\n jmask |=OP_WRITE\n if channel.validOps()&OP_CONNECT:\n jmask |=OP_CONNECT\n selectionkey=channel.register(self.selector,jmask)\n self.chanmap[channel]=(socket_object,selectionkey)\n \n def _check_unconnected_sockets(self):\n temp_list=[]\n for socket_object,mask in self.unconnected_sockets:\n channel=_getselectable(socket_object)\n if channel is not None:\n self._register_channel(socket_object,channel,mask)\n else:\n temp_list.append((socket_object,mask))\n self.unconnected_sockets=temp_list\n \n def register(self,socket_object,mask=POLLIN |POLLOUT |POLLPRI):\n try:\n channel=_getselectable(socket_object)\n if channel is None:\n \n \n self.unconnected_sockets.append((socket_object,mask))\n return\n self._register_channel(socket_object,channel,mask)\n except BaseException as exc:\n raise _map_exception(exc)\n \n def unregister(self,socket_object):\n try:\n channel=_getselectable(socket_object)\n self.chanmap[channel][1].cancel()\n del self.chanmap[channel]\n except BaseException as exc:\n raise _map_exception(exc)\n \n def _dopoll(self,timeout):\n if timeout is None or timeout <0:\n self.selector.select()\n else:\n try:\n timeout=int(timeout)\n if not timeout:\n self.selector.selectNow()\n else:\n \n self.selector.select(timeout)\n except ValueError as vx:\n raise error(\"poll timeout must be a number of milliseconds or None\",errno.EINVAL)\n \n return self.selector.selectedKeys()\n \n def poll(self,timeout=None):\n return[]\n \n def _deregister_all(self):\n try:\n for k in self.selector.keys():\n k.cancel()\n \n self.selector.selectNow()\n except BaseException as exc:\n raise _map_exception(exc)\n \n def close(self):\n try:\n self._deregister_all()\n self.selector.close()\n except BaseException as exc:\n raise _map_exception(exc)\n \ndef _calcselecttimeoutvalue(value):\n if value is None:\n return None\n try:\n floatvalue=float(value)\n except Exception as x:\n raise TypeError(\"Select timeout value must be a number or None\")\n if value <0:\n raise error(\"Select timeout value cannot be negative\",errno.EINVAL)\n if floatvalue <0.000001:\n return 0\n return int(floatvalue *1000)\n \n \n \n \nclass poll_object_cache:\n\n def __init__(self):\n self.is_windows=os.name =='nt'\n if self.is_windows:\n self.poll_object_queue=Queue.Queue()\n import atexit\n atexit.register(self.finalize)\n \n def get_poll_object(self):\n if not self.is_windows:\n return poll()\n try:\n return self.poll_object_queue.get(False)\n except Queue.Empty:\n return poll()\n \n def release_poll_object(self,pobj):\n if self.is_windows:\n pobj._deregister_all()\n self.poll_object_queue.put(pobj)\n else:\n pobj.close()\n \n def finalize(self):\n if self.is_windows:\n while True:\n try:\n p=self.poll_object_queue.get(False)\n p.close()\n except Queue.Empty:\n return\n \n_poll_object_cache=poll_object_cache()\n\ndef native_select(read_fd_list,write_fd_list,outofband_fd_list,timeout=None):\n timeout=_calcselecttimeoutvalue(timeout)\n \n pobj=_poll_object_cache.get_poll_object()\n try:\n registered_for_read={}\n \n for fd in read_fd_list:\n pobj.register(fd,POLLIN)\n registered_for_read[fd]=1\n \n for fd in write_fd_list:\n if fd in registered_for_read:\n \n pobj.register(fd,POLLIN |POLLOUT)\n else:\n pobj.register(fd,POLLOUT)\n results=pobj.poll(timeout)\n \n read_ready_list,write_ready_list,oob_ready_list=[],[],[]\n for fd,mask in results:\n if mask&POLLIN:\n read_ready_list.append(fd)\n if mask&POLLOUT:\n write_ready_list.append(fd)\n return read_ready_list,write_ready_list,oob_ready_list\n finally:\n _poll_object_cache.release_poll_object(pobj)\n \nselect=native_select\n\ndef cpython_compatible_select(read_fd_list,write_fd_list,outofband_fd_list,timeout=None):\n\n\n modified_channels=[]\n try:\n for socket_list in[read_fd_list,write_fd_list,outofband_fd_list]:\n for s in socket_list:\n channel=_getselectable(s)\n if channel.isBlocking():\n modified_channels.append(channel)\n channel.configureBlocking(0)\n return native_select(read_fd_list,write_fd_list,outofband_fd_list,timeout)\n finally:\n for channel in modified_channels:\n channel.configureBlocking(1)\n",["atexit","errno","os"]],selectors:[".py","''\n\n\n\n\n\n\nfrom abc import ABCMeta,abstractmethod\nfrom collections import namedtuple\nfrom collections.abc import Mapping\nimport math\nimport select\nimport sys\n\n\n\nEVENT_READ=(1 <<0)\nEVENT_WRITE=(1 <<1)\n\n\ndef _fileobj_to_fd(fileobj):\n ''\n\n\n\n\n\n\n\n\n\n \n if isinstance(fileobj,int):\n fd=fileobj\n else:\n try:\n fd=int(fileobj.fileno())\n except(AttributeError,TypeError,ValueError):\n raise ValueError(\"Invalid file object: \"\n \"{!r}\".format(fileobj))from None\n if fd <0:\n raise ValueError(\"Invalid file descriptor: {}\".format(fd))\n return fd\n \n \nSelectorKey=namedtuple('SelectorKey',['fileobj','fd','events','data'])\n\nSelectorKey.__doc__=\"\"\"SelectorKey(fileobj, fd, events, data)\n\n Object used to associate a file object to its backing\n file descriptor, selected event mask, and attached data.\n\"\"\"\nSelectorKey.fileobj.__doc__='File object registered.'\nSelectorKey.fd.__doc__='Underlying file descriptor.'\nSelectorKey.events.__doc__='Events that must be waited for on this file object.'\nSelectorKey.data.__doc__=('''Optional opaque data associated to this file object.\nFor example, this could be used to store a per-client session ID.''')\n\n\nclass _SelectorMapping(Mapping):\n ''\n \n def __init__(self,selector):\n self._selector=selector\n \n def __len__(self):\n return len(self._selector._fd_to_key)\n \n def __getitem__(self,fileobj):\n try:\n fd=self._selector._fileobj_lookup(fileobj)\n return self._selector._fd_to_key[fd]\n except KeyError:\n raise KeyError(\"{!r} is not registered\".format(fileobj))from None\n \n def __iter__(self):\n return iter(self._selector._fd_to_key)\n \n \nclass BaseSelector(metaclass=ABCMeta):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n \n @abstractmethod\n def register(self,fileobj,events,data=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n raise NotImplementedError\n \n @abstractmethod\n def unregister(self,fileobj):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n raise NotImplementedError\n \n def modify(self,fileobj,events,data=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n self.unregister(fileobj)\n return self.register(fileobj,events,data)\n \n @abstractmethod\n def select(self,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n raise NotImplementedError\n \n def close(self):\n ''\n\n\n \n pass\n \n def get_key(self,fileobj):\n ''\n\n\n\n \n mapping=self.get_map()\n if mapping is None:\n raise RuntimeError('Selector is closed')\n try:\n return mapping[fileobj]\n except KeyError:\n raise KeyError(\"{!r} is not registered\".format(fileobj))from None\n \n @abstractmethod\n def get_map(self):\n ''\n raise NotImplementedError\n \n def __enter__(self):\n return self\n \n def __exit__(self,*args):\n self.close()\n \n \nclass _BaseSelectorImpl(BaseSelector):\n ''\n \n def __init__(self):\n \n self._fd_to_key={}\n \n self._map=_SelectorMapping(self)\n \n def _fileobj_lookup(self,fileobj):\n ''\n\n\n\n\n\n\n \n try:\n return _fileobj_to_fd(fileobj)\n except ValueError:\n \n for key in self._fd_to_key.values():\n if key.fileobj is fileobj:\n return key.fd\n \n raise\n \n def register(self,fileobj,events,data=None):\n if(not events)or(events&~(EVENT_READ |EVENT_WRITE)):\n raise ValueError(\"Invalid events: {!r}\".format(events))\n \n key=SelectorKey(fileobj,self._fileobj_lookup(fileobj),events,data)\n \n if key.fd in self._fd_to_key:\n raise KeyError(\"{!r} (FD {}) is already registered\"\n .format(fileobj,key.fd))\n \n self._fd_to_key[key.fd]=key\n return key\n \n def unregister(self,fileobj):\n try:\n key=self._fd_to_key.pop(self._fileobj_lookup(fileobj))\n except KeyError:\n raise KeyError(\"{!r} is not registered\".format(fileobj))from None\n return key\n \n def modify(self,fileobj,events,data=None):\n try:\n key=self._fd_to_key[self._fileobj_lookup(fileobj)]\n except KeyError:\n raise KeyError(\"{!r} is not registered\".format(fileobj))from None\n if events !=key.events:\n self.unregister(fileobj)\n key=self.register(fileobj,events,data)\n elif data !=key.data:\n \n key=key._replace(data=data)\n self._fd_to_key[key.fd]=key\n return key\n \n def close(self):\n self._fd_to_key.clear()\n self._map=None\n \n def get_map(self):\n return self._map\n \n def _key_from_fd(self,fd):\n ''\n\n\n\n\n\n\n \n try:\n return self._fd_to_key[fd]\n except KeyError:\n return None\n \n \nclass SelectSelector(_BaseSelectorImpl):\n ''\n \n def __init__(self):\n super().__init__()\n self._readers=set()\n self._writers=set()\n \n def register(self,fileobj,events,data=None):\n key=super().register(fileobj,events,data)\n if events&EVENT_READ:\n self._readers.add(key.fd)\n if events&EVENT_WRITE:\n self._writers.add(key.fd)\n return key\n \n def unregister(self,fileobj):\n key=super().unregister(fileobj)\n self._readers.discard(key.fd)\n self._writers.discard(key.fd)\n return key\n \n if sys.platform =='win32':\n def _select(self,r,w,_,timeout=None):\n r,w,x=select.select(r,w,w,timeout)\n return r,w+x,[]\n else:\n _select=select.select\n \n def select(self,timeout=None):\n timeout=None if timeout is None else max(timeout,0)\n ready=[]\n try:\n r,w,_=self._select(self._readers,self._writers,[],timeout)\n except InterruptedError:\n return ready\n r=set(r)\n w=set(w)\n for fd in r |w:\n events=0\n if fd in r:\n events |=EVENT_READ\n if fd in w:\n events |=EVENT_WRITE\n \n key=self._key_from_fd(fd)\n if key:\n ready.append((key,events&key.events))\n return ready\n \n \nclass _PollLikeSelector(_BaseSelectorImpl):\n ''\n _selector_cls=None\n _EVENT_READ=None\n _EVENT_WRITE=None\n \n def __init__(self):\n super().__init__()\n self._selector=self._selector_cls()\n \n def register(self,fileobj,events,data=None):\n key=super().register(fileobj,events,data)\n poller_events=0\n if events&EVENT_READ:\n poller_events |=self._EVENT_READ\n if events&EVENT_WRITE:\n poller_events |=self._EVENT_WRITE\n try:\n self._selector.register(key.fd,poller_events)\n except:\n super().unregister(fileobj)\n raise\n return key\n \n def unregister(self,fileobj):\n key=super().unregister(fileobj)\n try:\n self._selector.unregister(key.fd)\n except OSError:\n \n \n pass\n return key\n \n def modify(self,fileobj,events,data=None):\n try:\n key=self._fd_to_key[self._fileobj_lookup(fileobj)]\n except KeyError:\n raise KeyError(f\"{fileobj !r} is not registered\")from None\n \n changed=False\n if events !=key.events:\n selector_events=0\n if events&EVENT_READ:\n selector_events |=self._EVENT_READ\n if events&EVENT_WRITE:\n selector_events |=self._EVENT_WRITE\n try:\n self._selector.modify(key.fd,selector_events)\n except:\n super().unregister(fileobj)\n raise\n changed=True\n if data !=key.data:\n changed=True\n \n if changed:\n key=key._replace(events=events,data=data)\n self._fd_to_key[key.fd]=key\n return key\n \n def select(self,timeout=None):\n \n \n if timeout is None:\n timeout=None\n elif timeout <=0:\n timeout=0\n else:\n \n \n timeout=math.ceil(timeout *1e3)\n ready=[]\n try:\n fd_event_list=self._selector.poll(timeout)\n except InterruptedError:\n return ready\n for fd,event in fd_event_list:\n events=0\n if event&~self._EVENT_READ:\n events |=EVENT_WRITE\n if event&~self._EVENT_WRITE:\n events |=EVENT_READ\n \n key=self._key_from_fd(fd)\n if key:\n ready.append((key,events&key.events))\n return ready\n \n \nif hasattr(select,'poll'):\n\n class PollSelector(_PollLikeSelector):\n ''\n _selector_cls=select.poll\n _EVENT_READ=select.POLLIN\n _EVENT_WRITE=select.POLLOUT\n \n \nif hasattr(select,'epoll'):\n\n class EpollSelector(_PollLikeSelector):\n ''\n _selector_cls=select.epoll\n _EVENT_READ=select.EPOLLIN\n _EVENT_WRITE=select.EPOLLOUT\n \n def fileno(self):\n return self._selector.fileno()\n \n def select(self,timeout=None):\n if timeout is None:\n timeout=-1\n elif timeout <=0:\n timeout=0\n else:\n \n \n timeout=math.ceil(timeout *1e3)*1e-3\n \n \n \n \n max_ev=max(len(self._fd_to_key),1)\n \n ready=[]\n try:\n fd_event_list=self._selector.poll(timeout,max_ev)\n except InterruptedError:\n return ready\n for fd,event in fd_event_list:\n events=0\n if event&~select.EPOLLIN:\n events |=EVENT_WRITE\n if event&~select.EPOLLOUT:\n events |=EVENT_READ\n \n key=self._key_from_fd(fd)\n if key:\n ready.append((key,events&key.events))\n return ready\n \n def close(self):\n self._selector.close()\n super().close()\n \n \nif hasattr(select,'devpoll'):\n\n class DevpollSelector(_PollLikeSelector):\n ''\n _selector_cls=select.devpoll\n _EVENT_READ=select.POLLIN\n _EVENT_WRITE=select.POLLOUT\n \n def fileno(self):\n return self._selector.fileno()\n \n def close(self):\n self._selector.close()\n super().close()\n \n \nif hasattr(select,'kqueue'):\n\n class KqueueSelector(_BaseSelectorImpl):\n ''\n \n def __init__(self):\n super().__init__()\n self._selector=select.kqueue()\n \n def fileno(self):\n return self._selector.fileno()\n \n def register(self,fileobj,events,data=None):\n key=super().register(fileobj,events,data)\n try:\n if events&EVENT_READ:\n kev=select.kevent(key.fd,select.KQ_FILTER_READ,\n select.KQ_EV_ADD)\n self._selector.control([kev],0,0)\n if events&EVENT_WRITE:\n kev=select.kevent(key.fd,select.KQ_FILTER_WRITE,\n select.KQ_EV_ADD)\n self._selector.control([kev],0,0)\n except:\n super().unregister(fileobj)\n raise\n return key\n \n def unregister(self,fileobj):\n key=super().unregister(fileobj)\n if key.events&EVENT_READ:\n kev=select.kevent(key.fd,select.KQ_FILTER_READ,\n select.KQ_EV_DELETE)\n try:\n self._selector.control([kev],0,0)\n except OSError:\n \n \n pass\n if key.events&EVENT_WRITE:\n kev=select.kevent(key.fd,select.KQ_FILTER_WRITE,\n select.KQ_EV_DELETE)\n try:\n self._selector.control([kev],0,0)\n except OSError:\n \n pass\n return key\n \n def select(self,timeout=None):\n timeout=None if timeout is None else max(timeout,0)\n \n \n \n max_ev=max(len(self._fd_to_key),1)\n ready=[]\n try:\n kev_list=self._selector.control(None,max_ev,timeout)\n except InterruptedError:\n return ready\n for kev in kev_list:\n fd=kev.ident\n flag=kev.filter\n events=0\n if flag ==select.KQ_FILTER_READ:\n events |=EVENT_READ\n if flag ==select.KQ_FILTER_WRITE:\n events |=EVENT_WRITE\n \n key=self._key_from_fd(fd)\n if key:\n ready.append((key,events&key.events))\n return ready\n \n def close(self):\n self._selector.close()\n super().close()\n \n \ndef _can_use(method):\n ''\n \n \n selector=getattr(select,method,None)\n if selector is None:\n \n return False\n \n \n try:\n selector_obj=selector()\n if method =='poll':\n \n selector_obj.poll(0)\n else:\n \n selector_obj.close()\n return True\n except OSError:\n return False\n \n \n \n \n \nif _can_use('kqueue'):\n DefaultSelector=KqueueSelector\nelif _can_use('epoll'):\n DefaultSelector=EpollSelector\nelif _can_use('devpoll'):\n DefaultSelector=DevpollSelector\nelif _can_use('poll'):\n DefaultSelector=PollSelector\nelse:\n DefaultSelector=SelectSelector\n",["abc","collections","collections.abc","math","select","sys"]],shlex:[".py","''\n\n\n\n\n\n\n\n\nimport os\nimport re\nimport sys\nfrom collections import deque\n\nfrom io import StringIO\n\n__all__=[\"shlex\",\"split\",\"quote\",\"join\"]\n\nclass shlex:\n ''\n def __init__(self,instream=None,infile=None,posix=False,\n punctuation_chars=False):\n if isinstance(instream,str):\n instream=StringIO(instream)\n if instream is not None:\n self.instream=instream\n self.infile=infile\n else:\n self.instream=sys.stdin\n self.infile=None\n self.posix=posix\n if posix:\n self.eof=None\n else:\n self.eof=''\n self.commenters='#'\n self.wordchars=('abcdfeghijklmnopqrstuvwxyz'\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_')\n if self.posix:\n self.wordchars +=('ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ'\n 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ')\n self.whitespace=' \\t\\r\\n'\n self.whitespace_split=False\n self.quotes='\\'\"'\n self.escape='\\\\'\n self.escapedquotes='\"'\n self.state=' '\n self.pushback=deque()\n self.lineno=1\n self.debug=0\n self.token=''\n self.filestack=deque()\n self.source=None\n if not punctuation_chars:\n punctuation_chars=''\n elif punctuation_chars is True:\n punctuation_chars='();<>|&'\n self._punctuation_chars=punctuation_chars\n if punctuation_chars:\n \n self._pushback_chars=deque()\n \n self.wordchars +='~-./*?='\n \n t=self.wordchars.maketrans(dict.fromkeys(punctuation_chars))\n self.wordchars=self.wordchars.translate(t)\n \n @property\n def punctuation_chars(self):\n return self._punctuation_chars\n \n def push_token(self,tok):\n ''\n if self.debug >=1:\n print(\"shlex: pushing token \"+repr(tok))\n self.pushback.appendleft(tok)\n \n def push_source(self,newstream,newfile=None):\n ''\n if isinstance(newstream,str):\n newstream=StringIO(newstream)\n self.filestack.appendleft((self.infile,self.instream,self.lineno))\n self.infile=newfile\n self.instream=newstream\n self.lineno=1\n if self.debug:\n if newfile is not None:\n print('shlex: pushing to file %s'%(self.infile,))\n else:\n print('shlex: pushing to stream %s'%(self.instream,))\n \n def pop_source(self):\n ''\n self.instream.close()\n (self.infile,self.instream,self.lineno)=self.filestack.popleft()\n if self.debug:\n print('shlex: popping to %s, line %d'\\\n %(self.instream,self.lineno))\n self.state=' '\n \n def get_token(self):\n ''\n if self.pushback:\n tok=self.pushback.popleft()\n if self.debug >=1:\n print(\"shlex: popping token \"+repr(tok))\n return tok\n \n raw=self.read_token()\n \n if self.source is not None:\n while raw ==self.source:\n spec=self.sourcehook(self.read_token())\n if spec:\n (newfile,newstream)=spec\n self.push_source(newstream,newfile)\n raw=self.get_token()\n \n while raw ==self.eof:\n if not self.filestack:\n return self.eof\n else:\n self.pop_source()\n raw=self.get_token()\n \n if self.debug >=1:\n if raw !=self.eof:\n print(\"shlex: token=\"+repr(raw))\n else:\n print(\"shlex: token=EOF\")\n return raw\n \n def read_token(self):\n quoted=False\n escapedstate=' '\n while True:\n if self.punctuation_chars and self._pushback_chars:\n nextchar=self._pushback_chars.pop()\n else:\n nextchar=self.instream.read(1)\n if nextchar =='\\n':\n self.lineno +=1\n if self.debug >=3:\n print(\"shlex: in state %r I see character: %r\"%(self.state,\n nextchar))\n if self.state is None:\n self.token=''\n break\n elif self.state ==' ':\n if not nextchar:\n self.state=None\n break\n elif nextchar in self.whitespace:\n if self.debug >=2:\n print(\"shlex: I see whitespace in whitespace state\")\n if self.token or(self.posix and quoted):\n break\n else:\n continue\n elif nextchar in self.commenters:\n self.instream.readline()\n self.lineno +=1\n elif self.posix and nextchar in self.escape:\n escapedstate='a'\n self.state=nextchar\n elif nextchar in self.wordchars:\n self.token=nextchar\n self.state='a'\n elif nextchar in self.punctuation_chars:\n self.token=nextchar\n self.state='c'\n elif nextchar in self.quotes:\n if not self.posix:\n self.token=nextchar\n self.state=nextchar\n elif self.whitespace_split:\n self.token=nextchar\n self.state='a'\n else:\n self.token=nextchar\n if self.token or(self.posix and quoted):\n break\n else:\n continue\n elif self.state in self.quotes:\n quoted=True\n if not nextchar:\n if self.debug >=2:\n print(\"shlex: I see EOF in quotes state\")\n \n raise ValueError(\"No closing quotation\")\n if nextchar ==self.state:\n if not self.posix:\n self.token +=nextchar\n self.state=' '\n break\n else:\n self.state='a'\n elif(self.posix and nextchar in self.escape and self.state\n in self.escapedquotes):\n escapedstate=self.state\n self.state=nextchar\n else:\n self.token +=nextchar\n elif self.state in self.escape:\n if not nextchar:\n if self.debug >=2:\n print(\"shlex: I see EOF in escape state\")\n \n raise ValueError(\"No escaped character\")\n \n \n if(escapedstate in self.quotes and\n nextchar !=self.state and nextchar !=escapedstate):\n self.token +=self.state\n self.token +=nextchar\n self.state=escapedstate\n elif self.state in('a','c'):\n if not nextchar:\n self.state=None\n break\n elif nextchar in self.whitespace:\n if self.debug >=2:\n print(\"shlex: I see whitespace in word state\")\n self.state=' '\n if self.token or(self.posix and quoted):\n break\n else:\n continue\n elif nextchar in self.commenters:\n self.instream.readline()\n self.lineno +=1\n if self.posix:\n self.state=' '\n if self.token or(self.posix and quoted):\n break\n else:\n continue\n elif self.state =='c':\n if nextchar in self.punctuation_chars:\n self.token +=nextchar\n else:\n if nextchar not in self.whitespace:\n self._pushback_chars.append(nextchar)\n self.state=' '\n break\n elif self.posix and nextchar in self.quotes:\n self.state=nextchar\n elif self.posix and nextchar in self.escape:\n escapedstate='a'\n self.state=nextchar\n elif(nextchar in self.wordchars or nextchar in self.quotes\n or(self.whitespace_split and\n nextchar not in self.punctuation_chars)):\n self.token +=nextchar\n else:\n if self.punctuation_chars:\n self._pushback_chars.append(nextchar)\n else:\n self.pushback.appendleft(nextchar)\n if self.debug >=2:\n print(\"shlex: I see punctuation in word state\")\n self.state=' '\n if self.token or(self.posix and quoted):\n break\n else:\n continue\n result=self.token\n self.token=''\n if self.posix and not quoted and result =='':\n result=None\n if self.debug >1:\n if result:\n print(\"shlex: raw token=\"+repr(result))\n else:\n print(\"shlex: raw token=EOF\")\n return result\n \n def sourcehook(self,newfile):\n ''\n if newfile[0]=='\"':\n newfile=newfile[1:-1]\n \n if isinstance(self.infile,str)and not os.path.isabs(newfile):\n newfile=os.path.join(os.path.dirname(self.infile),newfile)\n return(newfile,open(newfile,\"r\"))\n \n def error_leader(self,infile=None,lineno=None):\n ''\n if infile is None:\n infile=self.infile\n if lineno is None:\n lineno=self.lineno\n return \"\\\"%s\\\", line %d: \"%(infile,lineno)\n \n def __iter__(self):\n return self\n \n def __next__(self):\n token=self.get_token()\n if token ==self.eof:\n raise StopIteration\n return token\n \ndef split(s,comments=False,posix=True):\n ''\n if s is None:\n raise ValueError(\"s argument must not be None\")\n lex=shlex(s,posix=posix)\n lex.whitespace_split=True\n if not comments:\n lex.commenters=''\n return list(lex)\n \n \ndef join(split_command):\n ''\n return ' '.join(quote(arg)for arg in split_command)\n \n \n_find_unsafe=re.compile(r'[^\\w@%+=:,./-]',re.ASCII).search\n\ndef quote(s):\n ''\n if not s:\n return \"''\"\n if _find_unsafe(s)is None:\n return s\n \n \n \n return \"'\"+s.replace(\"'\",\"'\\\"'\\\"'\")+\"'\"\n \n \ndef _print_tokens(lexer):\n while tt :=lexer.get_token():\n print(\"Token: \"+repr(tt))\n \nif __name__ =='__main__':\n if len(sys.argv)==1:\n _print_tokens(shlex())\n else:\n fn=sys.argv[1]\n with open(fn)as f:\n _print_tokens(shlex(f,fn))\n",["collections","io","os","re","sys"]],shutil:[".py","''\n\n\n\n\n\nimport os\nimport sys\nimport stat\nimport fnmatch\nimport collections\nimport errno\nimport warnings\n\ntry:\n import zlib\n del zlib\n _ZLIB_SUPPORTED=True\nexcept ImportError:\n _ZLIB_SUPPORTED=False\n \ntry:\n import bz2\n del bz2\n _BZ2_SUPPORTED=True\nexcept ImportError:\n _BZ2_SUPPORTED=False\n \ntry:\n import lzma\n del lzma\n _LZMA_SUPPORTED=True\nexcept ImportError:\n _LZMA_SUPPORTED=False\n \n_WINDOWS=os.name =='nt'\nposix=nt=None\nif os.name =='posix':\n import posix\nelif _WINDOWS:\n import nt\n \nif sys.platform =='win32':\n import _winapi\nelse:\n _winapi=None\n \nCOPY_BUFSIZE=1024 *1024 if _WINDOWS else 64 *1024\n\n\n_USE_CP_SENDFILE=hasattr(os,\"sendfile\")and sys.platform.startswith(\"linux\")\n_HAS_FCOPYFILE=posix and hasattr(posix,\"_fcopyfile\")\n\n\n_WIN_DEFAULT_PATHEXT=\".COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS;.MSC\"\n\n__all__=[\"copyfileobj\",\"copyfile\",\"copymode\",\"copystat\",\"copy\",\"copy2\",\n\"copytree\",\"move\",\"rmtree\",\"Error\",\"SpecialFileError\",\n\"ExecError\",\"make_archive\",\"get_archive_formats\",\n\"register_archive_format\",\"unregister_archive_format\",\n\"get_unpack_formats\",\"register_unpack_format\",\n\"unregister_unpack_format\",\"unpack_archive\",\n\"ignore_patterns\",\"chown\",\"which\",\"get_terminal_size\",\n\"SameFileError\"]\n\n\nclass Error(OSError):\n pass\n \nclass SameFileError(Error):\n ''\n \nclass SpecialFileError(OSError):\n ''\n \n \nclass ExecError(OSError):\n ''\n \nclass ReadError(OSError):\n ''\n \nclass RegistryError(Exception):\n ''\n \n \nclass _GiveupOnFastCopy(Exception):\n ''\n\n \n \ndef _fastcopy_fcopyfile(fsrc,fdst,flags):\n ''\n\n \n try:\n infd=fsrc.fileno()\n outfd=fdst.fileno()\n except Exception as err:\n raise _GiveupOnFastCopy(err)\n \n try:\n posix._fcopyfile(infd,outfd,flags)\n except OSError as err:\n err.filename=fsrc.name\n err.filename2=fdst.name\n if err.errno in{errno.EINVAL,errno.ENOTSUP}:\n raise _GiveupOnFastCopy(err)\n else:\n raise err from None\n \ndef _fastcopy_sendfile(fsrc,fdst):\n ''\n\n\n \n \n \n \n \n \n \n \n \n \n global _USE_CP_SENDFILE\n try:\n infd=fsrc.fileno()\n outfd=fdst.fileno()\n except Exception as err:\n raise _GiveupOnFastCopy(err)\n \n \n \n \n \n \n try:\n blocksize=max(os.fstat(infd).st_size,2 **23)\n except OSError:\n blocksize=2 **27\n \n \n if sys.maxsize <2 **32:\n blocksize=min(blocksize,2 **30)\n \n offset=0\n while True:\n try:\n sent=os.sendfile(outfd,infd,offset,blocksize)\n except OSError as err:\n \n err.filename=fsrc.name\n err.filename2=fdst.name\n \n if err.errno ==errno.ENOTSOCK:\n \n \n \n _USE_CP_SENDFILE=False\n raise _GiveupOnFastCopy(err)\n \n if err.errno ==errno.ENOSPC:\n raise err from None\n \n \n if offset ==0 and os.lseek(outfd,0,os.SEEK_CUR)==0:\n raise _GiveupOnFastCopy(err)\n \n raise err\n else:\n if sent ==0:\n break\n offset +=sent\n \ndef _copyfileobj_readinto(fsrc,fdst,length=COPY_BUFSIZE):\n ''\n\n\n \n \n fsrc_readinto=fsrc.readinto\n fdst_write=fdst.write\n with memoryview(bytearray(length))as mv:\n while True:\n n=fsrc_readinto(mv)\n if not n:\n break\n elif n 0:\n _copyfileobj_readinto(fsrc,fdst,min(file_size,COPY_BUFSIZE))\n return dst\n \n copyfileobj(fsrc,fdst)\n \n \n except IsADirectoryError as e:\n if not os.path.exists(dst):\n raise FileNotFoundError(f'Directory does not exist: {dst}')from e\n else:\n raise\n \n return dst\n \ndef copymode(src,dst,*,follow_symlinks=True):\n ''\n\n\n\n\n\n \n sys.audit(\"shutil.copymode\",src,dst)\n \n if not follow_symlinks and _islink(src)and os.path.islink(dst):\n if hasattr(os,'lchmod'):\n stat_func,chmod_func=os.lstat,os.lchmod\n else:\n return\n else:\n stat_func,chmod_func=_stat,os.chmod\n \n st=stat_func(src)\n chmod_func(dst,stat.S_IMODE(st.st_mode))\n \nif hasattr(os,'listxattr'):\n def _copyxattr(src,dst,*,follow_symlinks=True):\n ''\n\n\n\n\n\n \n \n try:\n names=os.listxattr(src,follow_symlinks=follow_symlinks)\n except OSError as e:\n if e.errno not in(errno.ENOTSUP,errno.ENODATA,errno.EINVAL):\n raise\n return\n for name in names:\n try:\n value=os.getxattr(src,name,follow_symlinks=follow_symlinks)\n os.setxattr(dst,name,value,follow_symlinks=follow_symlinks)\n except OSError as e:\n if e.errno not in(errno.EPERM,errno.ENOTSUP,errno.ENODATA,\n errno.EINVAL,errno.EACCES):\n raise\nelse:\n def _copyxattr(*args,**kwargs):\n pass\n \ndef copystat(src,dst,*,follow_symlinks=True):\n ''\n\n\n\n\n\n\n\n\n\n \n sys.audit(\"shutil.copystat\",src,dst)\n \n def _nop(*args,ns=None,follow_symlinks=None):\n pass\n \n \n follow=follow_symlinks or not(_islink(src)and os.path.islink(dst))\n if follow:\n \n def lookup(name):\n return getattr(os,name,_nop)\n else:\n \n \n def lookup(name):\n fn=getattr(os,name,_nop)\n if fn in os.supports_follow_symlinks:\n return fn\n return _nop\n \n if isinstance(src,os.DirEntry):\n st=src.stat(follow_symlinks=follow)\n else:\n st=lookup(\"stat\")(src,follow_symlinks=follow)\n mode=stat.S_IMODE(st.st_mode)\n lookup(\"utime\")(dst,ns=(st.st_atime_ns,st.st_mtime_ns),\n follow_symlinks=follow)\n \n \n _copyxattr(src,dst,follow_symlinks=follow)\n try:\n lookup(\"chmod\")(dst,mode,follow_symlinks=follow)\n except NotImplementedError:\n \n \n \n \n \n \n \n \n \n \n pass\n if hasattr(st,'st_flags'):\n try:\n lookup(\"chflags\")(dst,st.st_flags,follow_symlinks=follow)\n except OSError as why:\n for err in 'EOPNOTSUPP','ENOTSUP':\n if hasattr(errno,err)and why.errno ==getattr(errno,err):\n break\n else:\n raise\n \ndef copy(src,dst,*,follow_symlinks=True):\n ''\n\n\n\n\n\n\n\n\n\n \n if os.path.isdir(dst):\n dst=os.path.join(dst,os.path.basename(src))\n copyfile(src,dst,follow_symlinks=follow_symlinks)\n copymode(src,dst,follow_symlinks=follow_symlinks)\n return dst\n \ndef copy2(src,dst,*,follow_symlinks=True):\n ''\n\n\n\n\n\n\n\n\n \n if os.path.isdir(dst):\n dst=os.path.join(dst,os.path.basename(src))\n \n if hasattr(_winapi,\"CopyFile2\"):\n src_=os.fsdecode(src)\n dst_=os.fsdecode(dst)\n flags=_winapi.COPY_FILE_ALLOW_DECRYPTED_DESTINATION\n if not follow_symlinks:\n flags |=_winapi.COPY_FILE_COPY_SYMLINK\n try:\n _winapi.CopyFile2(src_,dst_,flags)\n return dst\n except OSError as exc:\n if(exc.winerror ==_winapi.ERROR_PRIVILEGE_NOT_HELD\n and not follow_symlinks):\n \n \n pass\n elif exc.winerror ==_winapi.ERROR_ACCESS_DENIED:\n \n \n pass\n else:\n raise\n \n copyfile(src,dst,follow_symlinks=follow_symlinks)\n copystat(src,dst,follow_symlinks=follow_symlinks)\n return dst\n \ndef ignore_patterns(*patterns):\n ''\n\n\n \n def _ignore_patterns(path,names):\n ignored_names=[]\n for pattern in patterns:\n ignored_names.extend(fnmatch.filter(names,pattern))\n return set(ignored_names)\n return _ignore_patterns\n \ndef _copytree(entries,src,dst,symlinks,ignore,copy_function,\nignore_dangling_symlinks,dirs_exist_ok=False):\n if ignore is not None:\n ignored_names=ignore(os.fspath(src),[x.name for x in entries])\n else:\n ignored_names=set()\n \n os.makedirs(dst,exist_ok=dirs_exist_ok)\n errors=[]\n use_srcentry=copy_function is copy2 or copy_function is copy\n \n for srcentry in entries:\n if srcentry.name in ignored_names:\n continue\n srcname=os.path.join(src,srcentry.name)\n dstname=os.path.join(dst,srcentry.name)\n srcobj=srcentry if use_srcentry else srcname\n try:\n is_symlink=srcentry.is_symlink()\n if is_symlink and os.name =='nt':\n \n \n lstat=srcentry.stat(follow_symlinks=False)\n if lstat.st_reparse_tag ==stat.IO_REPARSE_TAG_MOUNT_POINT:\n is_symlink=False\n if is_symlink:\n linkto=os.readlink(srcname)\n if symlinks:\n \n \n \n os.symlink(linkto,dstname)\n copystat(srcobj,dstname,follow_symlinks=not symlinks)\n else:\n \n if not os.path.exists(linkto)and ignore_dangling_symlinks:\n continue\n \n if srcentry.is_dir():\n copytree(srcobj,dstname,symlinks,ignore,\n copy_function,ignore_dangling_symlinks,\n dirs_exist_ok)\n else:\n copy_function(srcobj,dstname)\n elif srcentry.is_dir():\n copytree(srcobj,dstname,symlinks,ignore,copy_function,\n ignore_dangling_symlinks,dirs_exist_ok)\n else:\n \n copy_function(srcobj,dstname)\n \n \n except Error as err:\n errors.extend(err.args[0])\n except OSError as why:\n errors.append((srcname,dstname,str(why)))\n try:\n copystat(src,dst)\n except OSError as why:\n \n if getattr(why,'winerror',None)is None:\n errors.append((src,dst,str(why)))\n if errors:\n raise Error(errors)\n return dst\n \ndef copytree(src,dst,symlinks=False,ignore=None,copy_function=copy2,\nignore_dangling_symlinks=False,dirs_exist_ok=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n sys.audit(\"shutil.copytree\",src,dst)\n with os.scandir(src)as itr:\n entries=list(itr)\n return _copytree(entries=entries,src=src,dst=dst,symlinks=symlinks,\n ignore=ignore,copy_function=copy_function,\n ignore_dangling_symlinks=ignore_dangling_symlinks,\n dirs_exist_ok=dirs_exist_ok)\n \nif hasattr(os.stat_result,'st_file_attributes'):\n def _rmtree_islink(path):\n try:\n st=os.lstat(path)\n return(stat.S_ISLNK(st.st_mode)or\n (st.st_file_attributes&stat.FILE_ATTRIBUTE_REPARSE_POINT\n and st.st_reparse_tag ==stat.IO_REPARSE_TAG_MOUNT_POINT))\n except OSError:\n return False\nelse:\n def _rmtree_islink(path):\n return os.path.islink(path)\n \n \ndef _rmtree_unsafe(path,onexc):\n try:\n with os.scandir(path)as scandir_it:\n entries=list(scandir_it)\n except OSError as err:\n onexc(os.scandir,path,err)\n entries=[]\n for entry in entries:\n fullname=entry.path\n try:\n is_dir=entry.is_dir(follow_symlinks=False)\n except OSError:\n is_dir=False\n \n if is_dir and not entry.is_junction():\n try:\n if entry.is_symlink():\n \n \n \n raise OSError(\"Cannot call rmtree on a symbolic link\")\n except OSError as err:\n onexc(os.path.islink,fullname,err)\n continue\n _rmtree_unsafe(fullname,onexc)\n else:\n try:\n os.unlink(fullname)\n except OSError as err:\n onexc(os.unlink,fullname,err)\n try:\n os.rmdir(path)\n except OSError as err:\n onexc(os.rmdir,path,err)\n \n \ndef _rmtree_safe_fd(topfd,path,onexc):\n try:\n with os.scandir(topfd)as scandir_it:\n entries=list(scandir_it)\n except OSError as err:\n err.filename=path\n onexc(os.scandir,path,err)\n return\n for entry in entries:\n fullname=os.path.join(path,entry.name)\n try:\n is_dir=entry.is_dir(follow_symlinks=False)\n except OSError:\n is_dir=False\n else:\n if is_dir:\n try:\n orig_st=entry.stat(follow_symlinks=False)\n is_dir=stat.S_ISDIR(orig_st.st_mode)\n except OSError as err:\n onexc(os.lstat,fullname,err)\n continue\n if is_dir:\n try:\n dirfd=os.open(entry.name,os.O_RDONLY,dir_fd=topfd)\n dirfd_closed=False\n except OSError as err:\n onexc(os.open,fullname,err)\n else:\n try:\n if os.path.samestat(orig_st,os.fstat(dirfd)):\n _rmtree_safe_fd(dirfd,fullname,onexc)\n try:\n os.close(dirfd)\n dirfd_closed=True\n os.rmdir(entry.name,dir_fd=topfd)\n except OSError as err:\n onexc(os.rmdir,fullname,err)\n else:\n try:\n \n \n \n raise OSError(\"Cannot call rmtree on a symbolic \"\n \"link\")\n except OSError as err:\n onexc(os.path.islink,fullname,err)\n finally:\n if not dirfd_closed:\n os.close(dirfd)\n else:\n try:\n os.unlink(entry.name,dir_fd=topfd)\n except OSError as err:\n onexc(os.unlink,fullname,err)\n \n_use_fd_functions=({os.open,os.stat,os.unlink,os.rmdir}<=\nos.supports_dir_fd and\nos.scandir in os.supports_fd and\nos.stat in os.supports_follow_symlinks)\n\ndef rmtree(path,ignore_errors=False,onerror=None,*,onexc=None,dir_fd=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if onerror is not None:\n warnings.warn(\"onerror argument is deprecated, use onexc instead\",\n DeprecationWarning,stacklevel=2)\n \n sys.audit(\"shutil.rmtree\",path,dir_fd)\n if ignore_errors:\n def onexc(*args):\n pass\n elif onerror is None and onexc is None:\n def onexc(*args):\n raise\n elif onexc is None:\n if onerror is None:\n def onexc(*args):\n raise\n else:\n \n def onexc(*args):\n func,path,exc=args\n if exc is None:\n exc_info=None,None,None\n else:\n exc_info=type(exc),exc,exc.__traceback__\n return onerror(func,path,exc_info)\n \n if _use_fd_functions:\n \n if isinstance(path,bytes):\n path=os.fsdecode(path)\n \n \n try:\n orig_st=os.lstat(path,dir_fd=dir_fd)\n except Exception as err:\n onexc(os.lstat,path,err)\n return\n try:\n fd=os.open(path,os.O_RDONLY,dir_fd=dir_fd)\n fd_closed=False\n except Exception as err:\n onexc(os.open,path,err)\n return\n try:\n if os.path.samestat(orig_st,os.fstat(fd)):\n _rmtree_safe_fd(fd,path,onexc)\n try:\n os.close(fd)\n fd_closed=True\n os.rmdir(path,dir_fd=dir_fd)\n except OSError as err:\n onexc(os.rmdir,path,err)\n else:\n try:\n \n raise OSError(\"Cannot call rmtree on a symbolic link\")\n except OSError as err:\n onexc(os.path.islink,path,err)\n finally:\n if not fd_closed:\n os.close(fd)\n else:\n if dir_fd is not None:\n raise NotImplementedError(\"dir_fd unavailable on this platform\")\n try:\n if _rmtree_islink(path):\n \n raise OSError(\"Cannot call rmtree on a symbolic link\")\n except OSError as err:\n onexc(os.path.islink,path,err)\n \n return\n return _rmtree_unsafe(path,onexc)\n \n \n \nrmtree.avoids_symlink_attacks=_use_fd_functions\n\ndef _basename(path):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n path=os.fspath(path)\n sep=os.path.sep+(os.path.altsep or '')\n return os.path.basename(path.rstrip(sep))\n \ndef move(src,dst,copy_function=copy2):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n sys.audit(\"shutil.move\",src,dst)\n real_dst=dst\n if os.path.isdir(dst):\n if _samefile(src,dst):\n \n \n os.rename(src,dst)\n return\n \n \n \n real_dst=os.path.join(dst,_basename(src))\n \n if os.path.exists(real_dst):\n raise Error(\"Destination path '%s' already exists\"%real_dst)\n try:\n os.rename(src,real_dst)\n except OSError:\n if os.path.islink(src):\n linkto=os.readlink(src)\n os.symlink(linkto,real_dst)\n os.unlink(src)\n elif os.path.isdir(src):\n if _destinsrc(src,dst):\n raise Error(\"Cannot move a directory '%s' into itself\"\n \" '%s'.\"%(src,dst))\n if(_is_immutable(src)\n or(not os.access(src,os.W_OK)and os.listdir(src)\n and sys.platform =='darwin')):\n raise PermissionError(\"Cannot move the non-empty directory \"\n \"'%s': Lacking write permission to '%s'.\"\n %(src,src))\n copytree(src,real_dst,copy_function=copy_function,\n symlinks=True)\n rmtree(src)\n else:\n copy_function(src,real_dst)\n os.unlink(src)\n return real_dst\n \ndef _destinsrc(src,dst):\n src=os.path.abspath(src)\n dst=os.path.abspath(dst)\n if not src.endswith(os.path.sep):\n src +=os.path.sep\n if not dst.endswith(os.path.sep):\n dst +=os.path.sep\n return dst.startswith(src)\n \ndef _is_immutable(src):\n st=_stat(src)\n immutable_states=[stat.UF_IMMUTABLE,stat.SF_IMMUTABLE]\n return hasattr(st,'st_flags')and st.st_flags in immutable_states\n \ndef _get_gid(name):\n ''\n if name is None:\n return None\n \n try:\n from grp import getgrnam\n except ImportError:\n return None\n \n try:\n result=getgrnam(name)\n except KeyError:\n result=None\n if result is not None:\n return result[2]\n return None\n \ndef _get_uid(name):\n ''\n if name is None:\n return None\n \n try:\n from pwd import getpwnam\n except ImportError:\n return None\n \n try:\n result=getpwnam(name)\n except KeyError:\n result=None\n if result is not None:\n return result[2]\n return None\n \ndef _make_tarball(base_name,base_dir,compress=\"gzip\",verbose=0,dry_run=0,\nowner=None,group=None,logger=None,root_dir=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n if compress is None:\n tar_compression=''\n elif _ZLIB_SUPPORTED and compress =='gzip':\n tar_compression='gz'\n elif _BZ2_SUPPORTED and compress =='bzip2':\n tar_compression='bz2'\n elif _LZMA_SUPPORTED and compress =='xz':\n tar_compression='xz'\n else:\n raise ValueError(\"bad value for 'compress', or compression format not \"\n \"supported : {0}\".format(compress))\n \n import tarfile\n \n compress_ext='.'+tar_compression if compress else ''\n archive_name=base_name+'.tar'+compress_ext\n archive_dir=os.path.dirname(archive_name)\n \n if archive_dir and not os.path.exists(archive_dir):\n if logger is not None:\n logger.info(\"creating %s\",archive_dir)\n if not dry_run:\n os.makedirs(archive_dir)\n \n \n if logger is not None:\n logger.info('Creating tar archive')\n \n uid=_get_uid(owner)\n gid=_get_gid(group)\n \n def _set_uid_gid(tarinfo):\n if gid is not None:\n tarinfo.gid=gid\n tarinfo.gname=group\n if uid is not None:\n tarinfo.uid=uid\n tarinfo.uname=owner\n return tarinfo\n \n if not dry_run:\n tar=tarfile.open(archive_name,'w|%s'%tar_compression)\n arcname=base_dir\n if root_dir is not None:\n base_dir=os.path.join(root_dir,base_dir)\n try:\n tar.add(base_dir,arcname,filter=_set_uid_gid)\n finally:\n tar.close()\n \n if root_dir is not None:\n archive_name=os.path.abspath(archive_name)\n return archive_name\n \ndef _make_zipfile(base_name,base_dir,verbose=0,dry_run=0,\nlogger=None,owner=None,group=None,root_dir=None):\n ''\n\n\n\n \n import zipfile\n \n zip_filename=base_name+\".zip\"\n archive_dir=os.path.dirname(base_name)\n \n if archive_dir and not os.path.exists(archive_dir):\n if logger is not None:\n logger.info(\"creating %s\",archive_dir)\n if not dry_run:\n os.makedirs(archive_dir)\n \n if logger is not None:\n logger.info(\"creating '%s' and adding '%s' to it\",\n zip_filename,base_dir)\n \n if not dry_run:\n with zipfile.ZipFile(zip_filename,\"w\",\n compression=zipfile.ZIP_DEFLATED)as zf:\n arcname=os.path.normpath(base_dir)\n if root_dir is not None:\n base_dir=os.path.join(root_dir,base_dir)\n base_dir=os.path.normpath(base_dir)\n if arcname !=os.curdir:\n zf.write(base_dir,arcname)\n if logger is not None:\n logger.info(\"adding '%s'\",base_dir)\n for dirpath,dirnames,filenames in os.walk(base_dir):\n arcdirpath=dirpath\n if root_dir is not None:\n arcdirpath=os.path.relpath(arcdirpath,root_dir)\n arcdirpath=os.path.normpath(arcdirpath)\n for name in sorted(dirnames):\n path=os.path.join(dirpath,name)\n arcname=os.path.join(arcdirpath,name)\n zf.write(path,arcname)\n if logger is not None:\n logger.info(\"adding '%s'\",path)\n for name in filenames:\n path=os.path.join(dirpath,name)\n path=os.path.normpath(path)\n if os.path.isfile(path):\n arcname=os.path.join(arcdirpath,name)\n zf.write(path,arcname)\n if logger is not None:\n logger.info(\"adding '%s'\",path)\n \n if root_dir is not None:\n zip_filename=os.path.abspath(zip_filename)\n return zip_filename\n \n_make_tarball.supports_root_dir=True\n_make_zipfile.supports_root_dir=True\n\n\n\n\n\n_ARCHIVE_FORMATS={\n'tar':(_make_tarball,[('compress',None)],\n\"uncompressed tar file\"),\n}\n\nif _ZLIB_SUPPORTED:\n _ARCHIVE_FORMATS['gztar']=(_make_tarball,[('compress','gzip')],\n \"gzip'ed tar-file\")\n _ARCHIVE_FORMATS['zip']=(_make_zipfile,[],\"ZIP file\")\n \nif _BZ2_SUPPORTED:\n _ARCHIVE_FORMATS['bztar']=(_make_tarball,[('compress','bzip2')],\n \"bzip2'ed tar-file\")\n \nif _LZMA_SUPPORTED:\n _ARCHIVE_FORMATS['xztar']=(_make_tarball,[('compress','xz')],\n \"xz'ed tar-file\")\n \ndef get_archive_formats():\n ''\n\n\n \n formats=[(name,registry[2])for name,registry in\n _ARCHIVE_FORMATS.items()]\n formats.sort()\n return formats\n \ndef register_archive_format(name,function,extra_args=None,description=''):\n ''\n\n\n\n\n\n\n \n if extra_args is None:\n extra_args=[]\n if not callable(function):\n raise TypeError('The %s object is not callable'%function)\n if not isinstance(extra_args,(tuple,list)):\n raise TypeError('extra_args needs to be a sequence')\n for element in extra_args:\n if not isinstance(element,(tuple,list))or len(element)!=2:\n raise TypeError('extra_args elements are : (arg_name, value)')\n \n _ARCHIVE_FORMATS[name]=(function,extra_args,description)\n \ndef unregister_archive_format(name):\n del _ARCHIVE_FORMATS[name]\n \ndef make_archive(base_name,format,root_dir=None,base_dir=None,verbose=0,\ndry_run=0,owner=None,group=None,logger=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n sys.audit(\"shutil.make_archive\",base_name,format,root_dir,base_dir)\n try:\n format_info=_ARCHIVE_FORMATS[format]\n except KeyError:\n raise ValueError(\"unknown archive format '%s'\"%format)from None\n \n kwargs={'dry_run':dry_run,'logger':logger,\n 'owner':owner,'group':group}\n \n func=format_info[0]\n for arg,val in format_info[1]:\n kwargs[arg]=val\n \n if base_dir is None:\n base_dir=os.curdir\n \n supports_root_dir=getattr(func,'supports_root_dir',False)\n save_cwd=None\n if root_dir is not None:\n stmd=os.stat(root_dir).st_mode\n if not stat.S_ISDIR(stmd):\n raise NotADirectoryError(errno.ENOTDIR,'Not a directory',root_dir)\n \n if supports_root_dir:\n \n base_name=os.fspath(base_name)\n kwargs['root_dir']=root_dir\n else:\n save_cwd=os.getcwd()\n if logger is not None:\n logger.debug(\"changing into '%s'\",root_dir)\n base_name=os.path.abspath(base_name)\n if not dry_run:\n os.chdir(root_dir)\n \n try:\n filename=func(base_name,base_dir,**kwargs)\n finally:\n if save_cwd is not None:\n if logger is not None:\n logger.debug(\"changing back to '%s'\",save_cwd)\n os.chdir(save_cwd)\n \n return filename\n \n \ndef get_unpack_formats():\n ''\n\n\n\n \n formats=[(name,info[0],info[3])for name,info in\n _UNPACK_FORMATS.items()]\n formats.sort()\n return formats\n \ndef _check_unpack_options(extensions,function,extra_args):\n ''\n \n existing_extensions={}\n for name,info in _UNPACK_FORMATS.items():\n for ext in info[0]:\n existing_extensions[ext]=name\n \n for extension in extensions:\n if extension in existing_extensions:\n msg='%s is already registered for \"%s\"'\n raise RegistryError(msg %(extension,\n existing_extensions[extension]))\n \n if not callable(function):\n raise TypeError('The registered function must be a callable')\n \n \ndef register_unpack_format(name,extensions,function,extra_args=None,\ndescription=''):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if extra_args is None:\n extra_args=[]\n _check_unpack_options(extensions,function,extra_args)\n _UNPACK_FORMATS[name]=extensions,function,extra_args,description\n \ndef unregister_unpack_format(name):\n ''\n del _UNPACK_FORMATS[name]\n \ndef _ensure_directory(path):\n ''\n dirname=os.path.dirname(path)\n if not os.path.isdir(dirname):\n os.makedirs(dirname)\n \ndef _unpack_zipfile(filename,extract_dir):\n ''\n \n import zipfile\n \n if not zipfile.is_zipfile(filename):\n raise ReadError(\"%s is not a zip file\"%filename)\n \n zip=zipfile.ZipFile(filename)\n try:\n for info in zip.infolist():\n name=info.filename\n \n \n if name.startswith('/')or '..'in name:\n continue\n \n targetpath=os.path.join(extract_dir,*name.split('/'))\n if not targetpath:\n continue\n \n _ensure_directory(targetpath)\n if not name.endswith('/'):\n \n with zip.open(name,'r')as source,\\\n open(targetpath,'wb')as target:\n copyfileobj(source,target)\n finally:\n zip.close()\n \ndef _unpack_tarfile(filename,extract_dir,*,filter=None):\n ''\n \n import tarfile\n try:\n tarobj=tarfile.open(filename)\n except tarfile.TarError:\n raise ReadError(\n \"%s is not a compressed or uncompressed tar file\"%filename)\n try:\n tarobj.extractall(extract_dir,filter=filter)\n finally:\n tarobj.close()\n \n \n \n \n \n \n_UNPACK_FORMATS={\n'tar':(['.tar'],_unpack_tarfile,[],\"uncompressed tar file\"),\n'zip':(['.zip'],_unpack_zipfile,[],\"ZIP file\"),\n}\n\nif _ZLIB_SUPPORTED:\n _UNPACK_FORMATS['gztar']=(['.tar.gz','.tgz'],_unpack_tarfile,[],\n \"gzip'ed tar-file\")\n \nif _BZ2_SUPPORTED:\n _UNPACK_FORMATS['bztar']=(['.tar.bz2','.tbz2'],_unpack_tarfile,[],\n \"bzip2'ed tar-file\")\n \nif _LZMA_SUPPORTED:\n _UNPACK_FORMATS['xztar']=(['.tar.xz','.txz'],_unpack_tarfile,[],\n \"xz'ed tar-file\")\n \ndef _find_unpack_format(filename):\n for name,info in _UNPACK_FORMATS.items():\n for extension in info[0]:\n if filename.endswith(extension):\n return name\n return None\n \ndef unpack_archive(filename,extract_dir=None,format=None,*,filter=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n sys.audit(\"shutil.unpack_archive\",filename,extract_dir,format)\n \n if extract_dir is None:\n extract_dir=os.getcwd()\n \n extract_dir=os.fspath(extract_dir)\n filename=os.fspath(filename)\n \n if filter is None:\n filter_kwargs={}\n else:\n filter_kwargs={'filter':filter}\n if format is not None:\n try:\n format_info=_UNPACK_FORMATS[format]\n except KeyError:\n raise ValueError(\"Unknown unpack format '{0}'\".format(format))from None\n \n func=format_info[1]\n func(filename,extract_dir,**dict(format_info[2]),**filter_kwargs)\n else:\n \n format=_find_unpack_format(filename)\n if format is None:\n raise ReadError(\"Unknown archive format '{0}'\".format(filename))\n \n func=_UNPACK_FORMATS[format][1]\n kwargs=dict(_UNPACK_FORMATS[format][2])|filter_kwargs\n func(filename,extract_dir,**kwargs)\n \n \nif hasattr(os,'statvfs'):\n\n __all__.append('disk_usage')\n _ntuple_diskusage=collections.namedtuple('usage','total used free')\n _ntuple_diskusage.total.__doc__='Total space in bytes'\n _ntuple_diskusage.used.__doc__='Used space in bytes'\n _ntuple_diskusage.free.__doc__='Free space in bytes'\n \n def disk_usage(path):\n ''\n\n\n\n \n st=os.statvfs(path)\n free=st.f_bavail *st.f_frsize\n total=st.f_blocks *st.f_frsize\n used=(st.f_blocks -st.f_bfree)*st.f_frsize\n return _ntuple_diskusage(total,used,free)\n \nelif _WINDOWS:\n\n __all__.append('disk_usage')\n _ntuple_diskusage=collections.namedtuple('usage','total used free')\n \n def disk_usage(path):\n ''\n\n\n\n \n total,free=nt._getdiskusage(path)\n used=total -free\n return _ntuple_diskusage(total,used,free)\n \n \ndef chown(path,user=None,group=None):\n ''\n\n\n\n \n sys.audit('shutil.chown',path,user,group)\n \n if user is None and group is None:\n raise ValueError(\"user and/or group must be set\")\n \n _user=user\n _group=group\n \n \n if user is None:\n _user=-1\n \n elif isinstance(user,str):\n _user=_get_uid(user)\n if _user is None:\n raise LookupError(\"no such user: {!r}\".format(user))\n \n if group is None:\n _group=-1\n elif not isinstance(group,int):\n _group=_get_gid(group)\n if _group is None:\n raise LookupError(\"no such group: {!r}\".format(group))\n \n os.chown(path,_user,_group)\n \ndef get_terminal_size(fallback=(80,24)):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n try:\n columns=int(os.environ['COLUMNS'])\n except(KeyError,ValueError):\n columns=0\n \n try:\n lines=int(os.environ['LINES'])\n except(KeyError,ValueError):\n lines=0\n \n \n if columns <=0 or lines <=0:\n try:\n size=os.get_terminal_size(sys.__stdout__.fileno())\n except(AttributeError,ValueError,OSError):\n \n \n size=os.terminal_size(fallback)\n if columns <=0:\n columns=size.columns or fallback[0]\n if lines <=0:\n lines=size.lines or fallback[1]\n \n return os.terminal_size((columns,lines))\n \n \n \n \n \ndef _access_check(fn,mode):\n return(os.path.exists(fn)and os.access(fn,mode)\n and not os.path.isdir(fn))\n \n \ndef _win_path_needs_curdir(cmd,mode):\n ''\n\n\n\n \n return(not(mode&os.X_OK))or _winapi.NeedCurrentDirectoryForExePath(\n os.fsdecode(cmd))\n \n \ndef which(cmd,mode=os.F_OK |os.X_OK,path=None):\n ''\n\n\n\n\n\n\n\n \n use_bytes=isinstance(cmd,bytes)\n \n \n \n \n dirname,cmd=os.path.split(cmd)\n if dirname:\n path=[dirname]\n else:\n if path is None:\n path=os.environ.get(\"PATH\",None)\n if path is None:\n try:\n path=os.confstr(\"CS_PATH\")\n except(AttributeError,ValueError):\n \n path=os.defpath\n \n \n \n \n \n if not path:\n return None\n \n if use_bytes:\n path=os.fsencode(path)\n path=path.split(os.fsencode(os.pathsep))\n else:\n path=os.fsdecode(path)\n path=path.split(os.pathsep)\n \n if sys.platform ==\"win32\"and _win_path_needs_curdir(cmd,mode):\n curdir=os.curdir\n if use_bytes:\n curdir=os.fsencode(curdir)\n path.insert(0,curdir)\n \n if sys.platform ==\"win32\":\n \n pathext_source=os.getenv(\"PATHEXT\")or _WIN_DEFAULT_PATHEXT\n pathext=[ext for ext in pathext_source.split(os.pathsep)if ext]\n \n if use_bytes:\n pathext=[os.fsencode(ext)for ext in pathext]\n \n \n files=[cmd]+[cmd+ext for ext in pathext]\n else:\n \n \n files=[cmd]\n \n seen=set()\n for dir in path:\n normdir=os.path.normcase(dir)\n if not normdir in seen:\n seen.add(normdir)\n for thefile in files:\n name=os.path.join(dir,thefile)\n if _access_check(name,mode):\n return name\n return None\n",["_winapi","bz2","collections","errno","fnmatch","grp","lzma","nt","os","posix","pwd","stat","sys","tarfile","warnings","zipfile","zlib"]],signal:[".py","import _signal\nfrom _signal import *\nfrom enum import IntEnum as _IntEnum\n\n_globals=globals()\n\n_IntEnum._convert_(\n'Signals',__name__,\nlambda name:\nname.isupper()\nand(name.startswith('SIG')and not name.startswith('SIG_'))\nor name.startswith('CTRL_'))\n\n_IntEnum._convert_(\n'Handlers',__name__,\nlambda name:name in('SIG_DFL','SIG_IGN'))\n\nif 'pthread_sigmask'in _globals:\n _IntEnum._convert_(\n 'Sigmasks',__name__,\n lambda name:name in('SIG_BLOCK','SIG_UNBLOCK','SIG_SETMASK'))\n \n \ndef _int_to_enum(value,enum_klass):\n ''\n\n \n try:\n return enum_klass(value)\n except ValueError:\n return value\n \n \ndef _enum_to_int(value):\n ''\n\n \n try:\n return int(value)\n except(ValueError,TypeError):\n return value\n \n \n \n \n \n \ndef _wraps(wrapped):\n def decorator(wrapper):\n wrapper.__doc__=wrapped.__doc__\n return wrapper\n return decorator\n \n@_wraps(_signal.signal)\ndef signal(signalnum,handler):\n handler=_signal.signal(_enum_to_int(signalnum),_enum_to_int(handler))\n return _int_to_enum(handler,Handlers)\n \n \n@_wraps(_signal.getsignal)\ndef getsignal(signalnum):\n handler=_signal.getsignal(signalnum)\n return _int_to_enum(handler,Handlers)\n \n \nif 'pthread_sigmask'in _globals:\n @_wraps(_signal.pthread_sigmask)\n def pthread_sigmask(how,mask):\n sigs_set=_signal.pthread_sigmask(how,mask)\n return set(_int_to_enum(x,Signals)for x in sigs_set)\n \n \nif 'sigpending'in _globals:\n @_wraps(_signal.sigpending)\n def sigpending():\n return{_int_to_enum(x,Signals)for x in _signal.sigpending()}\n \n \nif 'sigwait'in _globals:\n @_wraps(_signal.sigwait)\n def sigwait(sigset):\n retsig=_signal.sigwait(sigset)\n return _int_to_enum(retsig,Signals)\n \n \nif 'valid_signals'in _globals:\n @_wraps(_signal.valid_signals)\n def valid_signals():\n return{_int_to_enum(x,Signals)for x in _signal.valid_signals()}\n \n \ndel _globals,_wraps\n",["_signal","enum"]],site:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport sys\nimport os\nimport builtins\nimport _sitebuiltins\nimport io\n\n\nPREFIXES=[sys.prefix,sys.exec_prefix]\n\n\nENABLE_USER_SITE=None\n\n\n\n\nUSER_SITE=None\nUSER_BASE=None\n\n\ndef _trace(message):\n if sys.flags.verbose:\n print(message,file=sys.stderr)\n \n \ndef makepath(*paths):\n dir=os.path.join(*paths)\n try:\n dir=os.path.abspath(dir)\n except OSError:\n pass\n return dir,os.path.normcase(dir)\n \n \ndef abs_paths():\n \'\'\n for m in set(sys.modules.values()):\n loader_module=None\n try:\n loader_module=m.__loader__.__module__\n except AttributeError:\n try:\n loader_module=m.__spec__.loader.__module__\n except AttributeError:\n pass\n if loader_module not in{\'_frozen_importlib\',\'_frozen_importlib_external\'}:\n continue\n try:\n m.__file__=os.path.abspath(m.__file__)\n except(AttributeError,OSError,TypeError):\n pass\n try:\n m.__cached__=os.path.abspath(m.__cached__)\n except(AttributeError,OSError,TypeError):\n pass\n \n \ndef removeduppaths():\n \'\'\n \n \n \n L=[]\n known_paths=set()\n for dir in sys.path:\n \n \n \n dir,dircase=makepath(dir)\n if dircase not in known_paths:\n L.append(dir)\n known_paths.add(dircase)\n sys.path[:]=L\n return known_paths\n \n \ndef _init_pathinfo():\n \'\'\n d=set()\n for item in sys.path:\n try:\n if os.path.exists(item):\n _,itemcase=makepath(item)\n d.add(itemcase)\n except TypeError:\n continue\n return d\n \n \ndef addpackage(sitedir,name,known_paths):\n \'\'\n\n\n \n if known_paths is None:\n known_paths=_init_pathinfo()\n reset=True\n else:\n reset=False\n fullname=os.path.join(sitedir,name)\n _trace(f"Processing .pth file: {fullname !r}")\n try:\n \n \n f=io.TextIOWrapper(io.open_code(fullname),encoding="locale")\n except OSError:\n return\n with f:\n for n,line in enumerate(f):\n if line.startswith("#"):\n continue\n if line.strip()=="":\n continue\n try:\n if line.startswith(("import ","import\\t")):\n exec(line)\n continue\n line=line.rstrip()\n dir,dircase=makepath(sitedir,line)\n if not dircase in known_paths and os.path.exists(dir):\n sys.path.append(dir)\n known_paths.add(dircase)\n except Exception as exc:\n print("Error processing line {:d} of {}:\\n".format(n+1,fullname),\n file=sys.stderr)\n import traceback\n for record in traceback.format_exception(exc):\n for line in record.splitlines():\n print(\' \'+line,file=sys.stderr)\n print("\\nRemainder of file ignored",file=sys.stderr)\n break\n if reset:\n known_paths=None\n return known_paths\n \n \ndef addsitedir(sitedir,known_paths=None):\n \'\'\n \n _trace(f"Adding directory: {sitedir !r}")\n if known_paths is None:\n known_paths=_init_pathinfo()\n reset=True\n else:\n reset=False\n sitedir,sitedircase=makepath(sitedir)\n if not sitedircase in known_paths:\n sys.path.append(sitedir)\n known_paths.add(sitedircase)\n try:\n names=os.listdir(sitedir)\n except OSError:\n return\n names=[name for name in names if name.endswith(".pth")]\n for name in sorted(names):\n addpackage(sitedir,name,known_paths)\n if reset:\n known_paths=None\n return known_paths\n \n \ndef check_enableusersite():\n \'\'\n\n\n\n\n\n\n\n \n if sys.flags.no_user_site:\n return False\n \n if hasattr(os,"getuid")and hasattr(os,"geteuid"):\n \n if os.geteuid()!=os.getuid():\n return None\n if hasattr(os,"getgid")and hasattr(os,"getegid"):\n \n if os.getegid()!=os.getgid():\n return None\n \n return True\n \n \n \n \n \n \n \n \n \ndef _getuserbase():\n env_base=os.environ.get("PYTHONUSERBASE",None)\n if env_base:\n return env_base\n \n \n if sys.platform in{"emscripten","vxworks","wasi"}:\n return None\n \n def joinuser(*args):\n return os.path.expanduser(os.path.join(*args))\n \n if os.name =="nt":\n base=os.environ.get("APPDATA")or "~"\n return joinuser(base,"Python")\n \n if sys.platform =="darwin"and sys._framework:\n return joinuser("~","Library",sys._framework,\n "%d.%d"%sys.version_info[:2])\n \n return joinuser("~",".local")\n \n \n \ndef _get_path(userbase):\n version=sys.version_info\n \n if os.name ==\'nt\':\n ver_nodot=sys.winver.replace(\'.\',\'\')\n return f\'{userbase}\\\\Python{ver_nodot}\\\\site-packages\'\n \n if sys.platform ==\'darwin\'and sys._framework:\n return f\'{userbase}/lib/python/site-packages\'\n \n return f\'{userbase}/lib/python{version[0]}.{version[1]}/site-packages\'\n \n \ndef getuserbase():\n \'\'\n\n\n\n\n \n global USER_BASE\n if USER_BASE is None:\n USER_BASE=_getuserbase()\n return USER_BASE\n \n \ndef getusersitepackages():\n \'\'\n\n\n\n \n global USER_SITE,ENABLE_USER_SITE\n userbase=getuserbase()\n \n if USER_SITE is None:\n if userbase is None:\n ENABLE_USER_SITE=False\n else:\n USER_SITE=_get_path(userbase)\n \n return USER_SITE\n \ndef addusersitepackages(known_paths):\n \'\'\n\n\n\n \n \n \n _trace("Processing user site-packages")\n user_site=getusersitepackages()\n \n if ENABLE_USER_SITE and os.path.isdir(user_site):\n addsitedir(user_site,known_paths)\n return known_paths\n \ndef getsitepackages(prefixes=None):\n \'\'\n\n\n\n\n \n sitepackages=[]\n seen=set()\n \n if prefixes is None:\n prefixes=PREFIXES\n \n for prefix in prefixes:\n if not prefix or prefix in seen:\n continue\n seen.add(prefix)\n \n if os.sep ==\'/\':\n libdirs=[sys.platlibdir]\n if sys.platlibdir !="lib":\n libdirs.append("lib")\n \n for libdir in libdirs:\n path=os.path.join(prefix,libdir,\n "python%d.%d"%sys.version_info[:2],\n "site-packages")\n sitepackages.append(path)\n else:\n sitepackages.append(prefix)\n sitepackages.append(os.path.join(prefix,"Lib","site-packages"))\n return sitepackages\n \ndef addsitepackages(known_paths,prefixes=None):\n \'\'\n _trace("Processing global site-packages")\n for sitedir in getsitepackages(prefixes):\n if os.path.isdir(sitedir):\n addsitedir(sitedir,known_paths)\n \n return known_paths\n \ndef setquit():\n \'\'\n\n\n\n\n \n if os.sep ==\'\\\\\':\n eof=\'Ctrl-Z plus Return\'\n else:\n eof=\'Ctrl-D (i.e. EOF)\'\n \n builtins.quit=_sitebuiltins.Quitter(\'quit\',eof)\n builtins.exit=_sitebuiltins.Quitter(\'exit\',eof)\n \n \ndef setcopyright():\n \'\'\n builtins.copyright=_sitebuiltins._Printer("copyright",sys.copyright)\n builtins.credits=_sitebuiltins._Printer("credits","""\\\n Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands\n for supporting Python development. See www.python.org for more information.""")\n files,dirs=[],[]\n \n \n here=getattr(sys,\'_stdlib_dir\',None)\n if not here and hasattr(os,\'__file__\'):\n here=os.path.dirname(os.__file__)\n if here:\n files.extend(["LICENSE.txt","LICENSE"])\n dirs.extend([os.path.join(here,os.pardir),here,os.curdir])\n builtins.license=_sitebuiltins._Printer(\n "license",\n "See https://www.python.org/psf/license/",\n files,dirs)\n \n \ndef sethelper():\n builtins.help=_sitebuiltins._Helper()\n \ndef enablerlcompleter():\n \'\'\n\n\n\n\n\n\n \n def register_readline():\n import atexit\n try:\n import readline\n import rlcompleter\n except ImportError:\n return\n \n \n \n readline_doc=getattr(readline,\'__doc__\',\'\')\n if readline_doc is not None and \'libedit\'in readline_doc:\n readline.parse_and_bind(\'bind ^I rl_complete\')\n else:\n readline.parse_and_bind(\'tab: complete\')\n \n try:\n readline.read_init_file()\n except OSError:\n \n \n \n \n pass\n \n if readline.get_current_history_length()==0:\n \n \n \n \n \n history=os.path.join(os.path.expanduser(\'~\'),\n \'.python_history\')\n try:\n readline.read_history_file(history)\n except OSError:\n pass\n \n def write_history():\n try:\n readline.write_history_file(history)\n except OSError:\n \n \n pass\n \n atexit.register(write_history)\n \n sys.__interactivehook__=register_readline\n \ndef venv(known_paths):\n global PREFIXES,ENABLE_USER_SITE\n \n env=os.environ\n if sys.platform ==\'darwin\'and \'__PYVENV_LAUNCHER__\'in env:\n executable=sys._base_executable=os.environ[\'__PYVENV_LAUNCHER__\']\n else:\n executable=sys.executable\n exe_dir=os.path.dirname(os.path.abspath(executable))\n site_prefix=os.path.dirname(exe_dir)\n sys._home=None\n conf_basename=\'pyvenv.cfg\'\n candidate_conf=next(\n (\n conffile for conffile in(\n os.path.join(exe_dir,conf_basename),\n os.path.join(site_prefix,conf_basename)\n )\n if os.path.isfile(conffile)\n ),\n None\n )\n \n if candidate_conf:\n virtual_conf=candidate_conf\n system_site="true"\n \n \n with open(virtual_conf,encoding=\'utf-8\')as f:\n for line in f:\n if \'=\'in line:\n key,_,value=line.partition(\'=\')\n key=key.strip().lower()\n value=value.strip()\n if key ==\'include-system-site-packages\':\n system_site=value.lower()\n elif key ==\'home\':\n sys._home=value\n \n sys.prefix=sys.exec_prefix=site_prefix\n \n \n addsitepackages(known_paths,[sys.prefix])\n \n \n \n if system_site =="true":\n PREFIXES.insert(0,sys.prefix)\n else:\n PREFIXES=[sys.prefix]\n ENABLE_USER_SITE=False\n \n return known_paths\n \n \ndef execsitecustomize():\n \'\'\n try:\n try:\n import sitecustomize\n except ImportError as exc:\n if exc.name ==\'sitecustomize\':\n pass\n else:\n raise\n except Exception as err:\n if sys.flags.verbose:\n sys.excepthook(*sys.exc_info())\n else:\n sys.stderr.write(\n "Error in sitecustomize; set PYTHONVERBOSE for traceback:\\n"\n "%s: %s\\n"%\n (err.__class__.__name__,err))\n \n \ndef execusercustomize():\n \'\'\n try:\n try:\n import usercustomize\n except ImportError as exc:\n if exc.name ==\'usercustomize\':\n pass\n else:\n raise\n except Exception as err:\n if sys.flags.verbose:\n sys.excepthook(*sys.exc_info())\n else:\n sys.stderr.write(\n "Error in usercustomize; set PYTHONVERBOSE for traceback:\\n"\n "%s: %s\\n"%\n (err.__class__.__name__,err))\n \n \ndef main():\n \'\'\n\n\n\n \n global ENABLE_USER_SITE\n \n orig_path=sys.path[:]\n known_paths=removeduppaths()\n if orig_path !=sys.path:\n \n \n abs_paths()\n \n known_paths=venv(known_paths)\n if ENABLE_USER_SITE is None:\n ENABLE_USER_SITE=check_enableusersite()\n known_paths=addusersitepackages(known_paths)\n known_paths=addsitepackages(known_paths)\n setquit()\n setcopyright()\n sethelper()\n if not sys.flags.isolated:\n enablerlcompleter()\n execsitecustomize()\n if ENABLE_USER_SITE:\n execusercustomize()\n \n \n \nif not sys.flags.no_site:\n main()\n \ndef _script():\n help="""\\\n %s [--user-base] [--user-site]\n\n Without arguments print some useful information\n With arguments print the value of USER_BASE and/or USER_SITE separated\n by \'%s\'.\n\n Exit codes with --user-base or --user-site:\n 0 - user site directory is enabled\n 1 - user site directory is disabled by user\n 2 - user site directory is disabled by super user\n or for security reasons\n >2 - unknown error\n """\n args=sys.argv[1:]\n if not args:\n user_base=getuserbase()\n user_site=getusersitepackages()\n print("sys.path = [")\n for dir in sys.path:\n print(" %r,"%(dir,))\n print("]")\n def exists(path):\n if path is not None and os.path.isdir(path):\n return "exists"\n else:\n return "doesn\'t exist"\n print(f"USER_BASE: {user_base !r} ({exists(user_base)})")\n print(f"USER_SITE: {user_site !r} ({exists(user_site)})")\n print(f"ENABLE_USER_SITE: {ENABLE_USER_SITE !r}")\n sys.exit(0)\n \n buffer=[]\n if \'--user-base\'in args:\n buffer.append(USER_BASE)\n if \'--user-site\'in args:\n buffer.append(USER_SITE)\n \n if buffer:\n print(os.pathsep.join(buffer))\n if ENABLE_USER_SITE:\n sys.exit(0)\n elif ENABLE_USER_SITE is False:\n sys.exit(1)\n elif ENABLE_USER_SITE is None:\n sys.exit(2)\n else:\n sys.exit(3)\n else:\n import textwrap\n print(textwrap.dedent(help %(sys.argv[0],os.pathsep)))\n sys.exit(10)\n \nif __name__ ==\'__main__\':\n _script()\n',["_sitebuiltins","atexit","builtins","io","os","readline","rlcompleter","sitecustomize","sys","textwrap","traceback","usercustomize"]],socket:[".py",'\n\n\n"""\\\nThis module provides socket operations and some related functions.\nOn Unix, it supports IP (Internet Protocol) and Unix domain sockets.\nOn other systems, it only supports IP. Functions specific for a\nsocket are available as methods of the socket object.\n\nFunctions:\n\nsocket() -- create a new socket object\nsocketpair() -- create a pair of new socket objects [*]\nfromfd() -- create a socket object from an open file descriptor [*]\nsend_fds() -- Send file descriptor to the socket.\nrecv_fds() -- Receive file descriptors from the socket.\nfromshare() -- create a socket object from data received from socket.share() [*]\ngethostname() -- return the current hostname\ngethostbyname() -- map a hostname to its IP number\ngethostbyaddr() -- map an IP number or hostname to DNS info\ngetservbyname() -- map a service name and a protocol name to a port number\ngetprotobyname() -- map a protocol name (e.g. \'tcp\') to a number\nntohs(), ntohl() -- convert 16, 32 bit int from network to host byte order\nhtons(), htonl() -- convert 16, 32 bit int from host to network byte order\ninet_aton() -- convert IP addr string (123.45.67.89) to 32-bit packed format\ninet_ntoa() -- convert 32-bit packed format IP to string (123.45.67.89)\nsocket.getdefaulttimeout() -- get the default timeout value\nsocket.setdefaulttimeout() -- set the default timeout value\ncreate_connection() -- connects to an address, with an optional timeout and\n optional source address.\n\n [*] not available on all platforms!\n\nSpecial objects:\n\nSocketType -- type object for socket objects\nerror -- exception raised for I/O errors\nhas_ipv6 -- boolean value indicating if IPv6 is supported\n\nIntEnum constants:\n\nAF_INET, AF_UNIX -- socket domains (first argument to socket() call)\nSOCK_STREAM, SOCK_DGRAM, SOCK_RAW -- socket types (second argument)\n\nInteger constants:\n\nMany other constants may be defined; these may be used in calls to\nthe setsockopt() and getsockopt() methods.\n"""\n\nimport _socket\nfrom _socket import *\n\nimport os,sys,io,selectors\nfrom enum import IntEnum,IntFlag\n\ntry:\n import errno\nexcept ImportError:\n errno=None\nEBADF=getattr(errno,\'EBADF\',9)\nEAGAIN=getattr(errno,\'EAGAIN\',11)\nEWOULDBLOCK=getattr(errno,\'EWOULDBLOCK\',11)\n\n__all__=["fromfd","getfqdn","create_connection","create_server",\n"has_dualstack_ipv6","AddressFamily","SocketKind"]\n__all__.extend(os._get_exports_list(_socket))\n\n\n\n\n\n\n\nIntEnum._convert_(\n\'AddressFamily\',\n__name__,\nlambda C:C.isupper()and C.startswith(\'AF_\'))\n\nIntEnum._convert_(\n\'SocketKind\',\n__name__,\nlambda C:C.isupper()and C.startswith(\'SOCK_\'))\n\nIntFlag._convert_(\n\'MsgFlag\',\n__name__,\nlambda C:C.isupper()and C.startswith(\'MSG_\'))\n\nIntFlag._convert_(\n\'AddressInfo\',\n__name__,\nlambda C:C.isupper()and C.startswith(\'AI_\'))\n\n_LOCALHOST=\'127.0.0.1\'\n_LOCALHOST_V6=\'::1\'\n\n\ndef _intenum_converter(value,enum_klass):\n \'\'\n\n\n \n try:\n return enum_klass(value)\n except ValueError:\n return value\n \n \n \nif sys.platform.lower().startswith("win"):\n errorTab={}\n errorTab[6]="Specified event object handle is invalid."\n errorTab[8]="Insufficient memory available."\n errorTab[87]="One or more parameters are invalid."\n errorTab[995]="Overlapped operation aborted."\n errorTab[996]="Overlapped I/O event object not in signaled state."\n errorTab[997]="Overlapped operation will complete later."\n errorTab[10004]="The operation was interrupted."\n errorTab[10009]="A bad file handle was passed."\n errorTab[10013]="Permission denied."\n errorTab[10014]="A fault occurred on the network??"\n errorTab[10022]="An invalid operation was attempted."\n errorTab[10024]="Too many open files."\n errorTab[10035]="The socket operation would block."\n errorTab[10036]="A blocking operation is already in progress."\n errorTab[10037]="Operation already in progress."\n errorTab[10038]="Socket operation on nonsocket."\n errorTab[10039]="Destination address required."\n errorTab[10040]="Message too long."\n errorTab[10041]="Protocol wrong type for socket."\n errorTab[10042]="Bad protocol option."\n errorTab[10043]="Protocol not supported."\n errorTab[10044]="Socket type not supported."\n errorTab[10045]="Operation not supported."\n errorTab[10046]="Protocol family not supported."\n errorTab[10047]="Address family not supported by protocol family."\n errorTab[10048]="The network address is in use."\n errorTab[10049]="Cannot assign requested address."\n errorTab[10050]="Network is down."\n errorTab[10051]="Network is unreachable."\n errorTab[10052]="Network dropped connection on reset."\n errorTab[10053]="Software caused connection abort."\n errorTab[10054]="The connection has been reset."\n errorTab[10055]="No buffer space available."\n errorTab[10056]="Socket is already connected."\n errorTab[10057]="Socket is not connected."\n errorTab[10058]="The network has been shut down."\n errorTab[10059]="Too many references."\n errorTab[10060]="The operation timed out."\n errorTab[10061]="Connection refused."\n errorTab[10062]="Cannot translate name."\n errorTab[10063]="The name is too long."\n errorTab[10064]="The host is down."\n errorTab[10065]="The host is unreachable."\n errorTab[10066]="Directory not empty."\n errorTab[10067]="Too many processes."\n errorTab[10068]="User quota exceeded."\n errorTab[10069]="Disk quota exceeded."\n errorTab[10070]="Stale file handle reference."\n errorTab[10071]="Item is remote."\n errorTab[10091]="Network subsystem is unavailable."\n errorTab[10092]="Winsock.dll version out of range."\n errorTab[10093]="Successful WSAStartup not yet performed."\n errorTab[10101]="Graceful shutdown in progress."\n errorTab[10102]="No more results from WSALookupServiceNext."\n errorTab[10103]="Call has been canceled."\n errorTab[10104]="Procedure call table is invalid."\n errorTab[10105]="Service provider is invalid."\n errorTab[10106]="Service provider failed to initialize."\n errorTab[10107]="System call failure."\n errorTab[10108]="Service not found."\n errorTab[10109]="Class type not found."\n errorTab[10110]="No more results from WSALookupServiceNext."\n errorTab[10111]="Call was canceled."\n errorTab[10112]="Database query was refused."\n errorTab[11001]="Host not found."\n errorTab[11002]="Nonauthoritative host not found."\n errorTab[11003]="This is a nonrecoverable error."\n errorTab[11004]="Valid name, no data record requested type."\n errorTab[11005]="QoS receivers."\n errorTab[11006]="QoS senders."\n errorTab[11007]="No QoS senders."\n errorTab[11008]="QoS no receivers."\n errorTab[11009]="QoS request confirmed."\n errorTab[11010]="QoS admission error."\n errorTab[11011]="QoS policy failure."\n errorTab[11012]="QoS bad style."\n errorTab[11013]="QoS bad object."\n errorTab[11014]="QoS traffic control error."\n errorTab[11015]="QoS generic error."\n errorTab[11016]="QoS service type error."\n errorTab[11017]="QoS flowspec error."\n errorTab[11018]="Invalid QoS provider buffer."\n errorTab[11019]="Invalid QoS filter style."\n errorTab[11020]="Invalid QoS filter style."\n errorTab[11021]="Incorrect QoS filter count."\n errorTab[11022]="Invalid QoS object length."\n errorTab[11023]="Incorrect QoS flow count."\n errorTab[11024]="Unrecognized QoS object."\n errorTab[11025]="Invalid QoS policy object."\n errorTab[11026]="Invalid QoS flow descriptor."\n errorTab[11027]="Invalid QoS provider-specific flowspec."\n errorTab[11028]="Invalid QoS provider-specific filterspec."\n errorTab[11029]="Invalid QoS shape discard mode object."\n errorTab[11030]="Invalid QoS shaping rate object."\n errorTab[11031]="Reserved policy QoS element type."\n __all__.append("errorTab")\n \n \nclass _GiveupOnSendfile(Exception):pass\n\n\nclass socket(_socket.socket):\n\n \'\'\n \n __slots__=["__weakref__","_io_refs","_closed"]\n \n def __init__(self,family=-1,type=-1,proto=-1,fileno=None):\n \n \n \n \n if fileno is None:\n if family ==-1:\n family=AF_INET\n if type ==-1:\n type=SOCK_STREAM\n if proto ==-1:\n proto=0\n _socket.socket.__init__(self,family,type,proto,fileno)\n self._io_refs=0\n self._closed=False\n \n def __enter__(self):\n return self\n \n def __exit__(self,*args):\n if not self._closed:\n self.close()\n \n def __repr__(self):\n \'\'\n\n \n closed=getattr(self,\'_closed\',False)\n s="<%s.%s%s fd=%i, family=%s, type=%s, proto=%i"\\\n %(self.__class__.__module__,\n self.__class__.__qualname__,\n " [closed]"if closed else "",\n self.fileno(),\n self.family,\n self.type,\n self.proto)\n if not closed:\n try:\n laddr=self.getsockname()\n if laddr:\n s +=", laddr=%s"%str(laddr)\n except error:\n pass\n try:\n raddr=self.getpeername()\n if raddr:\n s +=", raddr=%s"%str(raddr)\n except error:\n pass\n s +=\'>\'\n return s\n \n def __getstate__(self):\n raise TypeError(f"cannot pickle {self.__class__.__name__ !r} object")\n \n def dup(self):\n \'\'\n\n\n\n \n fd=dup(self.fileno())\n sock=self.__class__(self.family,self.type,self.proto,fileno=fd)\n sock.settimeout(self.gettimeout())\n return sock\n \n def accept(self):\n \'\'\n\n\n\n\n \n fd,addr=self._accept()\n sock=socket(self.family,self.type,self.proto,fileno=fd)\n \n \n \n if getdefaulttimeout()is None and self.gettimeout():\n sock.setblocking(True)\n return sock,addr\n \n def makefile(self,mode="r",buffering=None,*,\n encoding=None,errors=None,newline=None):\n \'\'\n\n\n\n \n \n if not set(mode)<={"r","w","b"}:\n raise ValueError("invalid mode %r (only r, w, b allowed)"%(mode,))\n writing="w"in mode\n reading="r"in mode or not writing\n assert reading or writing\n binary="b"in mode\n rawmode=""\n if reading:\n rawmode +="r"\n if writing:\n rawmode +="w"\n raw=SocketIO(self,rawmode)\n self._io_refs +=1\n if buffering is None:\n buffering=-1\n if buffering <0:\n buffering=io.DEFAULT_BUFFER_SIZE\n if buffering ==0:\n if not binary:\n raise ValueError("unbuffered streams must be binary")\n return raw\n if reading and writing:\n buffer=io.BufferedRWPair(raw,raw,buffering)\n elif reading:\n buffer=io.BufferedReader(raw,buffering)\n else:\n assert writing\n buffer=io.BufferedWriter(raw,buffering)\n if binary:\n return buffer\n encoding=io.text_encoding(encoding)\n text=io.TextIOWrapper(buffer,encoding,errors,newline)\n text.mode=mode\n return text\n \n if hasattr(os,\'sendfile\'):\n \n def _sendfile_use_sendfile(self,file,offset=0,count=None):\n self._check_sendfile_params(file,offset,count)\n sockno=self.fileno()\n try:\n fileno=file.fileno()\n except(AttributeError,io.UnsupportedOperation)as err:\n raise _GiveupOnSendfile(err)\n try:\n fsize=os.fstat(fileno).st_size\n except OSError as err:\n raise _GiveupOnSendfile(err)\n if not fsize:\n return 0\n \n blocksize=min(count or fsize,2 **30)\n timeout=self.gettimeout()\n if timeout ==0:\n raise ValueError("non-blocking sockets are not supported")\n \n \n \n if hasattr(selectors,\'PollSelector\'):\n selector=selectors.PollSelector()\n else:\n selector=selectors.SelectSelector()\n selector.register(sockno,selectors.EVENT_WRITE)\n \n total_sent=0\n \n selector_select=selector.select\n os_sendfile=os.sendfile\n try:\n while True:\n if timeout and not selector_select(timeout):\n raise TimeoutError(\'timed out\')\n if count:\n blocksize=count -total_sent\n if blocksize <=0:\n break\n try:\n sent=os_sendfile(sockno,fileno,offset,blocksize)\n except BlockingIOError:\n if not timeout:\n \n \n selector_select()\n continue\n except OSError as err:\n if total_sent ==0:\n \n \n \n \n raise _GiveupOnSendfile(err)\n raise err from None\n else:\n if sent ==0:\n break\n offset +=sent\n total_sent +=sent\n return total_sent\n finally:\n if total_sent >0 and hasattr(file,\'seek\'):\n file.seek(offset)\n else:\n def _sendfile_use_sendfile(self,file,offset=0,count=None):\n raise _GiveupOnSendfile(\n "os.sendfile() not available on this platform")\n \n def _sendfile_use_send(self,file,offset=0,count=None):\n self._check_sendfile_params(file,offset,count)\n if self.gettimeout()==0:\n raise ValueError("non-blocking sockets are not supported")\n if offset:\n file.seek(offset)\n blocksize=min(count,8192)if count else 8192\n total_sent=0\n \n file_read=file.read\n sock_send=self.send\n try:\n while True:\n if count:\n blocksize=min(count -total_sent,blocksize)\n if blocksize <=0:\n break\n data=memoryview(file_read(blocksize))\n if not data:\n break\n while True:\n try:\n sent=sock_send(data)\n except BlockingIOError:\n continue\n else:\n total_sent +=sent\n if sent 0 and hasattr(file,\'seek\'):\n file.seek(offset+total_sent)\n \n def _check_sendfile_params(self,file,offset,count):\n if \'b\'not in getattr(file,\'mode\',\'b\'):\n raise ValueError("file should be opened in binary mode")\n if not self.type&SOCK_STREAM:\n raise ValueError("only SOCK_STREAM type sockets are supported")\n if count is not None:\n if not isinstance(count,int):\n raise TypeError(\n "count must be a positive integer (got {!r})".format(count))\n if count <=0:\n raise ValueError(\n "count must be a positive integer (got {!r})".format(count))\n \n def sendfile(self,file,offset=0,count=None):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n return self._sendfile_use_sendfile(file,offset,count)\n except _GiveupOnSendfile:\n return self._sendfile_use_send(file,offset,count)\n \n def _decref_socketios(self):\n if self._io_refs >0:\n self._io_refs -=1\n if self._closed:\n self.close()\n \n def _real_close(self,_ss=_socket.socket):\n \n _ss.close(self)\n \n def close(self):\n \n self._closed=True\n if self._io_refs <=0:\n self._real_close()\n \n def detach(self):\n \'\'\n\n\n\n\n \n self._closed=True\n return super().detach()\n \n @property\n def family(self):\n \'\'\n \n return _intenum_converter(super().family,AddressFamily)\n \n @property\n def type(self):\n \'\'\n \n return _intenum_converter(super().type,SocketKind)\n \n if os.name ==\'nt\':\n def get_inheritable(self):\n return os.get_handle_inheritable(self.fileno())\n def set_inheritable(self,inheritable):\n os.set_handle_inheritable(self.fileno(),inheritable)\n else:\n def get_inheritable(self):\n return os.get_inheritable(self.fileno())\n def set_inheritable(self,inheritable):\n os.set_inheritable(self.fileno(),inheritable)\n get_inheritable.__doc__="Get the inheritable flag of the socket"\n set_inheritable.__doc__="Set the inheritable flag of the socket"\n \ndef fromfd(fd,family,type,proto=0):\n \'\'\n\n\n\n \n nfd=dup(fd)\n return socket(family,type,proto,nfd)\n \nif hasattr(_socket.socket,"sendmsg"):\n import array\n \n def send_fds(sock,buffers,fds,flags=0,address=None):\n \'\'\n\n\n \n return sock.sendmsg(buffers,[(_socket.SOL_SOCKET,\n _socket.SCM_RIGHTS,array.array("i",fds))])\n __all__.append("send_fds")\n \nif hasattr(_socket.socket,"recvmsg"):\n import array\n \n def recv_fds(sock,bufsize,maxfds,flags=0):\n \'\'\n\n\n\n\n \n \n fds=array.array("i")\n msg,ancdata,flags,addr=sock.recvmsg(bufsize,\n _socket.CMSG_LEN(maxfds *fds.itemsize))\n for cmsg_level,cmsg_type,cmsg_data in ancdata:\n if(cmsg_level ==_socket.SOL_SOCKET and cmsg_type ==_socket.SCM_RIGHTS):\n fds.frombytes(cmsg_data[:\n len(cmsg_data)-(len(cmsg_data)%fds.itemsize)])\n \n return msg,list(fds),flags,addr\n __all__.append("recv_fds")\n \nif hasattr(_socket.socket,"share"):\n def fromshare(info):\n \'\'\n\n\n\n \n return socket(0,0,0,info)\n __all__.append("fromshare")\n \nif hasattr(_socket,"socketpair"):\n\n def socketpair(family=None,type=SOCK_STREAM,proto=0):\n \'\'\n\n\n\n\n\n \n if family is None:\n try:\n family=AF_UNIX\n except NameError:\n family=AF_INET\n a,b=_socket.socketpair(family,type,proto)\n a=socket(family,type,proto,a.detach())\n b=socket(family,type,proto,b.detach())\n return a,b\n \nelse:\n\n\n def socketpair(family=AF_INET,type=SOCK_STREAM,proto=0):\n if family ==AF_INET:\n host=_LOCALHOST\n elif family ==AF_INET6:\n host=_LOCALHOST_V6\n else:\n raise ValueError("Only AF_INET and AF_INET6 socket address families "\n "are supported")\n if type !=SOCK_STREAM:\n raise ValueError("Only SOCK_STREAM socket type is supported")\n if proto !=0:\n raise ValueError("Only protocol zero is supported")\n \n \n \n lsock=socket(family,type,proto)\n try:\n lsock.bind((host,0))\n lsock.listen()\n \n addr,port=lsock.getsockname()[:2]\n csock=socket(family,type,proto)\n try:\n csock.setblocking(False)\n try:\n csock.connect((addr,port))\n except(BlockingIOError,InterruptedError):\n pass\n csock.setblocking(True)\n ssock,_=lsock.accept()\n except:\n csock.close()\n raise\n finally:\n lsock.close()\n return(ssock,csock)\n __all__.append("socketpair")\n \nsocketpair.__doc__="""socketpair([family[, type[, proto]]]) -> (socket object, socket object)\nCreate a pair of socket objects from the sockets returned by the platform\nsocketpair() function.\nThe arguments are the same as for socket() except the default family is AF_UNIX\nif defined on the platform; otherwise, the default is AF_INET.\n"""\n\n_blocking_errnos={EAGAIN,EWOULDBLOCK}\n\nclass SocketIO(io.RawIOBase):\n\n \'\'\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n def __init__(self,sock,mode):\n if mode not in("r","w","rw","rb","wb","rwb"):\n raise ValueError("invalid mode: %r"%mode)\n io.RawIOBase.__init__(self)\n self._sock=sock\n if "b"not in mode:\n mode +="b"\n self._mode=mode\n self._reading="r"in mode\n self._writing="w"in mode\n self._timeout_occurred=False\n \n def readinto(self,b):\n \'\'\n\n\n\n\n\n \n self._checkClosed()\n self._checkReadable()\n if self._timeout_occurred:\n raise OSError("cannot read from timed out object")\n while True:\n try:\n return self._sock.recv_into(b)\n except timeout:\n self._timeout_occurred=True\n raise\n except error as e:\n if e.errno in _blocking_errnos:\n return None\n raise\n \n def write(self,b):\n \'\'\n\n\n\n \n self._checkClosed()\n self._checkWritable()\n try:\n return self._sock.send(b)\n except error as e:\n \n if e.errno in _blocking_errnos:\n return None\n raise\n \n def readable(self):\n \'\'\n \n if self.closed:\n raise ValueError("I/O operation on closed socket.")\n return self._reading\n \n def writable(self):\n \'\'\n \n if self.closed:\n raise ValueError("I/O operation on closed socket.")\n return self._writing\n \n def seekable(self):\n \'\'\n \n if self.closed:\n raise ValueError("I/O operation on closed socket.")\n return super().seekable()\n \n def fileno(self):\n \'\'\n \n self._checkClosed()\n return self._sock.fileno()\n \n @property\n def name(self):\n if not self.closed:\n return self.fileno()\n else:\n return -1\n \n @property\n def mode(self):\n return self._mode\n \n def close(self):\n \'\'\n\n \n if self.closed:\n return\n io.RawIOBase.close(self)\n self._sock._decref_socketios()\n self._sock=None\n \n \ndef getfqdn(name=\'\'):\n \'\'\n\n\n\n\n\n\n\n \n name=name.strip()\n if not name or name ==\'0.0.0.0\':\n name=gethostname()\n try:\n hostname,aliases,ipaddrs=gethostbyaddr(name)\n except error:\n pass\n else:\n aliases.insert(0,hostname)\n for name in aliases:\n if \'.\'in name:\n break\n else:\n name=hostname\n return name\n \n \n_GLOBAL_DEFAULT_TIMEOUT=object()\n\ndef create_connection(address,timeout=_GLOBAL_DEFAULT_TIMEOUT,\nsource_address=None,*,all_errors=False):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n \n \n host,port=address\n exceptions=[]\n for res in getaddrinfo(host,port,0,SOCK_STREAM):\n af,socktype,proto,canonname,sa=res\n sock=None\n try:\n sock=socket(af,socktype,proto)\n if timeout is not _GLOBAL_DEFAULT_TIMEOUT:\n sock.settimeout(timeout)\n if source_address:\n sock.bind(source_address)\n sock.connect(sa)\n \n exceptions.clear()\n return sock\n \n except error as exc:\n if not all_errors:\n exceptions.clear()\n exceptions.append(exc)\n if sock is not None:\n sock.close()\n \n if len(exceptions):\n try:\n if not all_errors:\n raise exceptions[0]\n raise ExceptionGroup("create_connection failed",exceptions)\n finally:\n \n exceptions.clear()\n else:\n raise error("getaddrinfo returns an empty list")\n \n \ndef has_dualstack_ipv6():\n \'\'\n\n \n if not has_ipv6\\\n or not hasattr(_socket,\'IPPROTO_IPV6\')\\\n or not hasattr(_socket,\'IPV6_V6ONLY\'):\n return False\n try:\n with socket(AF_INET6,SOCK_STREAM)as sock:\n sock.setsockopt(IPPROTO_IPV6,IPV6_V6ONLY,0)\n return True\n except error:\n return False\n \n \ndef create_server(address,*,family=AF_INET,backlog=None,reuse_port=False,\ndualstack_ipv6=False):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if reuse_port and not hasattr(_socket,"SO_REUSEPORT"):\n raise ValueError("SO_REUSEPORT not supported on this platform")\n if dualstack_ipv6:\n if not has_dualstack_ipv6():\n raise ValueError("dualstack_ipv6 not supported on this platform")\n if family !=AF_INET6:\n raise ValueError("dualstack_ipv6 requires AF_INET6 family")\n sock=socket(family,SOCK_STREAM)\n try:\n \n \n \n \n \n \n \n \n \n if os.name not in(\'nt\',\'cygwin\')and\\\n hasattr(_socket,\'SO_REUSEADDR\'):\n try:\n sock.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)\n except error:\n \n \n pass\n if reuse_port:\n sock.setsockopt(SOL_SOCKET,SO_REUSEPORT,1)\n if has_ipv6 and family ==AF_INET6:\n if dualstack_ipv6:\n sock.setsockopt(IPPROTO_IPV6,IPV6_V6ONLY,0)\n elif hasattr(_socket,"IPV6_V6ONLY")and\\\n hasattr(_socket,"IPPROTO_IPV6"):\n sock.setsockopt(IPPROTO_IPV6,IPV6_V6ONLY,1)\n try:\n sock.bind(address)\n except error as err:\n msg=\'%s (while attempting to bind on address %r)\'%\\\n (err.strerror,address)\n raise error(err.errno,msg)from None\n if backlog is None:\n sock.listen()\n else:\n sock.listen(backlog)\n return sock\n except error:\n sock.close()\n raise\n \n \ndef getaddrinfo(host,port,family=0,type=0,proto=0,flags=0):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n addrlist=[]\n for res in _socket.getaddrinfo(host,port,family,type,proto,flags):\n af,socktype,proto,canonname,sa=res\n addrlist.append((_intenum_converter(af,AddressFamily),\n _intenum_converter(socktype,SocketKind),\n proto,canonname,sa))\n return addrlist\n',["_socket","array","enum","errno","io","os","selectors","sys"]],sre_compile:[".py","import warnings\nwarnings.warn(f\"module {__name__ !r} is deprecated\",\nDeprecationWarning,\nstacklevel=2)\n\nfrom re import _compiler as _\nglobals().update({k:v for k,v in vars(_).items()if k[:2]!='__'})\n",["re","warnings"]],sre_constants:[".py","import warnings\nwarnings.warn(f\"module {__name__ !r} is deprecated\",\nDeprecationWarning,\nstacklevel=2)\n\nfrom re import _constants as _\nglobals().update({k:v for k,v in vars(_).items()if k[:2]!='__'})\n",["re","warnings"]],sre_parse:[".py","import warnings\nwarnings.warn(f\"module {__name__ !r} is deprecated\",\nDeprecationWarning,\nstacklevel=2)\n\nfrom re import _parser as _\nglobals().update({k:v for k,v in vars(_).items()if k[:2]!='__'})\n",["re","warnings"]],stat:[".py",'\'\'\n\n\n\n\n\n\nST_MODE=0\nST_INO=1\nST_DEV=2\nST_NLINK=3\nST_UID=4\nST_GID=5\nST_SIZE=6\nST_ATIME=7\nST_MTIME=8\nST_CTIME=9\n\n\n\ndef S_IMODE(mode):\n \'\'\n\n \n return mode&0o7777\n \ndef S_IFMT(mode):\n \'\'\n\n \n return mode&0o170000\n \n \n \n \nS_IFDIR=0o040000\nS_IFCHR=0o020000\nS_IFBLK=0o060000\nS_IFREG=0o100000\nS_IFIFO=0o010000\nS_IFLNK=0o120000\nS_IFSOCK=0o140000\n\nS_IFDOOR=0\nS_IFPORT=0\nS_IFWHT=0\n\n\n\ndef S_ISDIR(mode):\n \'\'\n return S_IFMT(mode)==S_IFDIR\n \ndef S_ISCHR(mode):\n \'\'\n return S_IFMT(mode)==S_IFCHR\n \ndef S_ISBLK(mode):\n \'\'\n return S_IFMT(mode)==S_IFBLK\n \ndef S_ISREG(mode):\n \'\'\n return S_IFMT(mode)==S_IFREG\n \ndef S_ISFIFO(mode):\n \'\'\n return S_IFMT(mode)==S_IFIFO\n \ndef S_ISLNK(mode):\n \'\'\n return S_IFMT(mode)==S_IFLNK\n \ndef S_ISSOCK(mode):\n \'\'\n return S_IFMT(mode)==S_IFSOCK\n \ndef S_ISDOOR(mode):\n \'\'\n return False\n \ndef S_ISPORT(mode):\n \'\'\n return False\n \ndef S_ISWHT(mode):\n \'\'\n return False\n \n \n \nS_ISUID=0o4000\nS_ISGID=0o2000\nS_ENFMT=S_ISGID\nS_ISVTX=0o1000\nS_IREAD=0o0400\nS_IWRITE=0o0200\nS_IEXEC=0o0100\nS_IRWXU=0o0700\nS_IRUSR=0o0400\nS_IWUSR=0o0200\nS_IXUSR=0o0100\nS_IRWXG=0o0070\nS_IRGRP=0o0040\nS_IWGRP=0o0020\nS_IXGRP=0o0010\nS_IRWXO=0o0007\nS_IROTH=0o0004\nS_IWOTH=0o0002\nS_IXOTH=0o0001\n\n\n\nUF_NODUMP=0x00000001\nUF_IMMUTABLE=0x00000002\nUF_APPEND=0x00000004\nUF_OPAQUE=0x00000008\nUF_NOUNLINK=0x00000010\nUF_COMPRESSED=0x00000020\nUF_HIDDEN=0x00008000\nSF_ARCHIVED=0x00010000\nSF_IMMUTABLE=0x00020000\nSF_APPEND=0x00040000\nSF_NOUNLINK=0x00100000\nSF_SNAPSHOT=0x00200000\n\n\n_filemode_table=(\n((S_IFLNK,"l"),\n(S_IFSOCK,"s"),\n(S_IFREG,"-"),\n(S_IFBLK,"b"),\n(S_IFDIR,"d"),\n(S_IFCHR,"c"),\n(S_IFIFO,"p")),\n\n((S_IRUSR,"r"),),\n((S_IWUSR,"w"),),\n((S_IXUSR |S_ISUID,"s"),\n(S_ISUID,"S"),\n(S_IXUSR,"x")),\n\n((S_IRGRP,"r"),),\n((S_IWGRP,"w"),),\n((S_IXGRP |S_ISGID,"s"),\n(S_ISGID,"S"),\n(S_IXGRP,"x")),\n\n((S_IROTH,"r"),),\n((S_IWOTH,"w"),),\n((S_IXOTH |S_ISVTX,"t"),\n(S_ISVTX,"T"),\n(S_IXOTH,"x"))\n)\n\ndef filemode(mode):\n \'\'\n perm=[]\n for table in _filemode_table:\n for bit,char in table:\n if mode&bit ==bit:\n perm.append(char)\n break\n else:\n perm.append("-")\n return "".join(perm)\n \n \n \n \n \nFILE_ATTRIBUTE_ARCHIVE=32\nFILE_ATTRIBUTE_COMPRESSED=2048\nFILE_ATTRIBUTE_DEVICE=64\nFILE_ATTRIBUTE_DIRECTORY=16\nFILE_ATTRIBUTE_ENCRYPTED=16384\nFILE_ATTRIBUTE_HIDDEN=2\nFILE_ATTRIBUTE_INTEGRITY_STREAM=32768\nFILE_ATTRIBUTE_NORMAL=128\nFILE_ATTRIBUTE_NOT_CONTENT_INDEXED=8192\nFILE_ATTRIBUTE_NO_SCRUB_DATA=131072\nFILE_ATTRIBUTE_OFFLINE=4096\nFILE_ATTRIBUTE_READONLY=1\nFILE_ATTRIBUTE_REPARSE_POINT=1024\nFILE_ATTRIBUTE_SPARSE_FILE=512\nFILE_ATTRIBUTE_SYSTEM=4\nFILE_ATTRIBUTE_TEMPORARY=256\nFILE_ATTRIBUTE_VIRTUAL=65536\n\n\n\ntry:\n from _stat import *\nexcept ImportError:\n pass\n',["_stat"]],statistics:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=[\n'NormalDist',\n'StatisticsError',\n'correlation',\n'covariance',\n'fmean',\n'geometric_mean',\n'harmonic_mean',\n'linear_regression',\n'mean',\n'median',\n'median_grouped',\n'median_high',\n'median_low',\n'mode',\n'multimode',\n'pstdev',\n'pvariance',\n'quantiles',\n'stdev',\n'variance',\n]\n\nimport math\nimport numbers\nimport random\nimport sys\n\nfrom fractions import Fraction\nfrom decimal import Decimal\nfrom itertools import count,groupby,repeat\nfrom bisect import bisect_left,bisect_right\nfrom math import hypot,sqrt,fabs,exp,erf,tau,log,fsum,sumprod\nfrom functools import reduce\nfrom operator import itemgetter\nfrom collections import Counter,namedtuple,defaultdict\n\n_SQRT2=sqrt(2.0)\n\n\n\nclass StatisticsError(ValueError):\n pass\n \n \n \n \ndef _sum(data):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n count=0\n types=set()\n types_add=types.add\n partials={}\n partials_get=partials.get\n for typ,values in groupby(data,type):\n types_add(typ)\n for n,d in map(_exact_ratio,values):\n count +=1\n partials[d]=partials_get(d,0)+n\n if None in partials:\n \n \n total=partials[None]\n assert not _isfinite(total)\n else:\n \n total=sum(Fraction(n,d)for d,n in partials.items())\n T=reduce(_coerce,types,int)\n return(T,total,count)\n \n \ndef _ss(data,c=None):\n ''\n\n\n\n\n\n\n \n if c is not None:\n T,ssd,count=_sum((d :=x -c)*d for x in data)\n return(T,ssd,c,count)\n count=0\n types=set()\n types_add=types.add\n sx_partials=defaultdict(int)\n sxx_partials=defaultdict(int)\n for typ,values in groupby(data,type):\n types_add(typ)\n for n,d in map(_exact_ratio,values):\n count +=1\n sx_partials[d]+=n\n sxx_partials[d]+=n *n\n if not count:\n ssd=c=Fraction(0)\n elif None in sx_partials:\n \n \n ssd=c=sx_partials[None]\n assert not _isfinite(ssd)\n else:\n sx=sum(Fraction(n,d)for d,n in sx_partials.items())\n sxx=sum(Fraction(n,d *d)for d,n in sxx_partials.items())\n \n \n ssd=(count *sxx -sx *sx)/count\n c=sx /count\n T=reduce(_coerce,types,int)\n return(T,ssd,c,count)\n \n \ndef _isfinite(x):\n try:\n return x.is_finite()\n except AttributeError:\n return math.isfinite(x)\n \n \ndef _coerce(T,S):\n ''\n\n\n\n \n \n assert T is not bool,\"initial type T is bool\"\n \n \n \n if T is S:return T\n \n if S is int or S is bool:return T\n if T is int:return S\n \n if issubclass(S,T):return S\n if issubclass(T,S):return T\n \n if issubclass(T,int):return S\n if issubclass(S,int):return T\n \n if issubclass(T,Fraction)and issubclass(S,float):\n return S\n if issubclass(T,float)and issubclass(S,Fraction):\n return T\n \n msg=\"don't know how to coerce %s and %s\"\n raise TypeError(msg %(T.__name__,S.__name__))\n \n \ndef _exact_ratio(x):\n ''\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n try:\n return x.as_integer_ratio()\n except AttributeError:\n pass\n except(OverflowError,ValueError):\n \n assert not _isfinite(x)\n return(x,None)\n try:\n \n return(x.numerator,x.denominator)\n except AttributeError:\n msg=f\"can't convert type '{type(x).__name__}' to numerator/denominator\"\n raise TypeError(msg)\n \n \ndef _convert(value,T):\n ''\n if type(value)is T:\n \n \n return value\n if issubclass(T,int)and value.denominator !=1:\n T=float\n try:\n \n return T(value)\n except TypeError:\n if issubclass(T,Decimal):\n return T(value.numerator)/T(value.denominator)\n else:\n raise\n \n \ndef _fail_neg(values,errmsg='negative value'):\n ''\n for x in values:\n if x <0:\n raise StatisticsError(errmsg)\n yield x\n \n \ndef _rank(data,/,*,key=None,reverse=False,ties='average',start=1)->list[float]:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n if ties !='average':\n raise ValueError(f'Unknown tie resolution method: {ties !r}')\n if key is not None:\n data=map(key,data)\n val_pos=sorted(zip(data,count()),reverse=reverse)\n i=start -1\n result=[0]*len(val_pos)\n for _,g in groupby(val_pos,key=itemgetter(0)):\n group=list(g)\n size=len(group)\n rank=i+(size+1)/2\n for value,orig_pos in group:\n result[orig_pos]=rank\n i +=size\n return result\n \n \ndef _integer_sqrt_of_frac_rto(n:int,m:int)->int:\n ''\n \n a=math.isqrt(n //m)\n return a |(a *a *m !=n)\n \n \n \n \n_sqrt_bit_width:int=2 *sys.float_info.mant_dig+3\n\n\ndef _float_sqrt_of_frac(n:int,m:int)->float:\n ''\n \n q=(n.bit_length()-m.bit_length()-_sqrt_bit_width)//2\n if q >=0:\n numerator=_integer_sqrt_of_frac_rto(n,m <<2 *q)<Decimal:\n ''\n \n \n \n if n <=0:\n if not n:\n return Decimal('0.0')\n n,m=-n,-m\n \n root=(Decimal(n)/Decimal(m)).sqrt()\n nr,dr=root.as_integer_ratio()\n \n plus=root.next_plus()\n np,dp=plus.as_integer_ratio()\n \n if 4 *n *(dr *dp)**2 >m *(dr *np+dp *nr)**2:\n return plus\n \n minus=root.next_minus()\n nm,dm=minus.as_integer_ratio()\n \n if 4 *n *(dr *dm)**2 ld -1 else j\n delta=i *m -j *n\n interpolated=(data[j -1]*(n -delta)+data[j]*delta)/n\n result.append(interpolated)\n return result\n raise ValueError(f'Unknown method: {method !r}')\n \n \n \n \n \n \n \n \ndef variance(data,xbar=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n T,ss,c,n=_ss(data,xbar)\n if n <2:\n raise StatisticsError('variance requires at least two data points')\n return _convert(ss /(n -1),T)\n \n \ndef pvariance(data,mu=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n T,ss,c,n=_ss(data,mu)\n if n <1:\n raise StatisticsError('pvariance requires at least one data point')\n return _convert(ss /n,T)\n \n \ndef stdev(data,xbar=None):\n ''\n\n\n\n\n\n\n \n T,ss,c,n=_ss(data,xbar)\n if n <2:\n raise StatisticsError('stdev requires at least two data points')\n mss=ss /(n -1)\n if issubclass(T,Decimal):\n return _decimal_sqrt_of_frac(mss.numerator,mss.denominator)\n return _float_sqrt_of_frac(mss.numerator,mss.denominator)\n \n \ndef pstdev(data,mu=None):\n ''\n\n\n\n\n\n\n \n T,ss,c,n=_ss(data,mu)\n if n <1:\n raise StatisticsError('pstdev requires at least one data point')\n mss=ss /n\n if issubclass(T,Decimal):\n return _decimal_sqrt_of_frac(mss.numerator,mss.denominator)\n return _float_sqrt_of_frac(mss.numerator,mss.denominator)\n \n \ndef _mean_stdev(data):\n ''\n T,ss,xbar,n=_ss(data)\n if n <2:\n raise StatisticsError('stdev requires at least two data points')\n mss=ss /(n -1)\n try:\n return float(xbar),_float_sqrt_of_frac(mss.numerator,mss.denominator)\n except AttributeError:\n \n return float(xbar),float(xbar)/float(ss)\n \n \n \n \n \n \n \n \n \ndef covariance(x,y,/):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n n=len(x)\n if len(y)!=n:\n raise StatisticsError('covariance requires that both inputs have same number of data points')\n if n <2:\n raise StatisticsError('covariance requires at least two data points')\n xbar=fsum(x)/n\n ybar=fsum(y)/n\n sxy=sumprod((xi -xbar for xi in x),(yi -ybar for yi in y))\n return sxy /(n -1)\n \n \ndef correlation(x,y,/,*,method='linear'):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n n=len(x)\n if len(y)!=n:\n raise StatisticsError('correlation requires that both inputs have same number of data points')\n if n <2:\n raise StatisticsError('correlation requires at least two data points')\n if method not in{'linear','ranked'}:\n raise ValueError(f'Unknown method: {method !r}')\n if method =='ranked':\n start=(n -1)/-2\n x=_rank(x,start=start)\n y=_rank(y,start=start)\n else:\n xbar=fsum(x)/n\n ybar=fsum(y)/n\n x=[xi -xbar for xi in x]\n y=[yi -ybar for yi in y]\n sxy=sumprod(x,y)\n sxx=sumprod(x,x)\n syy=sumprod(y,y)\n try:\n return sxy /sqrt(sxx *syy)\n except ZeroDivisionError:\n raise StatisticsError('at least one of the inputs is constant')\n \n \nLinearRegression=namedtuple('LinearRegression',('slope','intercept'))\n\n\ndef linear_regression(x,y,/,*,proportional=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n n=len(x)\n if len(y)!=n:\n raise StatisticsError('linear regression requires that both inputs have same number of data points')\n if n <2:\n raise StatisticsError('linear regression requires at least two data points')\n if not proportional:\n xbar=fsum(x)/n\n ybar=fsum(y)/n\n x=[xi -xbar for xi in x]\n y=(yi -ybar for yi in y)\n sxy=sumprod(x,y)+0.0\n sxx=sumprod(x,x)\n try:\n slope=sxy /sxx\n except ZeroDivisionError:\n raise StatisticsError('x is constant')\n intercept=0.0 if proportional else ybar -slope *xbar\n return LinearRegression(slope=slope,intercept=intercept)\n \n \n \n \n \ndef _normal_dist_inv_cdf(p,mu,sigma):\n\n\n\n\n\n q=p -0.5\n if fabs(q)<=0.425:\n r=0.180625 -q *q\n \n num=(((((((2.50908_09287_30122_6727e+3 *r+\n 3.34305_75583_58812_8105e+4)*r+\n 6.72657_70927_00870_0853e+4)*r+\n 4.59219_53931_54987_1457e+4)*r+\n 1.37316_93765_50946_1125e+4)*r+\n 1.97159_09503_06551_4427e+3)*r+\n 1.33141_66789_17843_7745e+2)*r+\n 3.38713_28727_96366_6080e+0)*q\n den=(((((((5.22649_52788_52854_5610e+3 *r+\n 2.87290_85735_72194_2674e+4)*r+\n 3.93078_95800_09271_0610e+4)*r+\n 2.12137_94301_58659_5867e+4)*r+\n 5.39419_60214_24751_1077e+3)*r+\n 6.87187_00749_20579_0830e+2)*r+\n 4.23133_30701_60091_1252e+1)*r+\n 1.0)\n x=num /den\n return mu+(x *sigma)\n r=p if q <=0.0 else 1.0 -p\n r=sqrt(-log(r))\n if r <=5.0:\n r=r -1.6\n \n num=(((((((7.74545_01427_83414_07640e-4 *r+\n 2.27238_44989_26918_45833e-2)*r+\n 2.41780_72517_74506_11770e-1)*r+\n 1.27045_82524_52368_38258e+0)*r+\n 3.64784_83247_63204_60504e+0)*r+\n 5.76949_72214_60691_40550e+0)*r+\n 4.63033_78461_56545_29590e+0)*r+\n 1.42343_71107_49683_57734e+0)\n den=(((((((1.05075_00716_44416_84324e-9 *r+\n 5.47593_80849_95344_94600e-4)*r+\n 1.51986_66563_61645_71966e-2)*r+\n 1.48103_97642_74800_74590e-1)*r+\n 6.89767_33498_51000_04550e-1)*r+\n 1.67638_48301_83803_84940e+0)*r+\n 2.05319_16266_37758_82187e+0)*r+\n 1.0)\n else:\n r=r -5.0\n \n num=(((((((2.01033_43992_92288_13265e-7 *r+\n 2.71155_55687_43487_57815e-5)*r+\n 1.24266_09473_88078_43860e-3)*r+\n 2.65321_89526_57612_30930e-2)*r+\n 2.96560_57182_85048_91230e-1)*r+\n 1.78482_65399_17291_33580e+0)*r+\n 5.46378_49111_64114_36990e+0)*r+\n 6.65790_46435_01103_77720e+0)\n den=(((((((2.04426_31033_89939_78564e-15 *r+\n 1.42151_17583_16445_88870e-7)*r+\n 1.84631_83175_10054_68180e-5)*r+\n 7.86869_13114_56132_59100e-4)*r+\n 1.48753_61290_85061_48525e-2)*r+\n 1.36929_88092_27358_05310e-1)*r+\n 5.99832_20655_58879_37690e-1)*r+\n 1.0)\n x=num /den\n if q <0.0:\n x=-x\n return mu+(x *sigma)\n \n \n \ntry:\n from _statistics import _normal_dist_inv_cdf\nexcept ImportError:\n pass\n \n \nclass NormalDist:\n ''\n \n \n \n __slots__={\n '_mu':'Arithmetic mean of a normal distribution',\n '_sigma':'Standard deviation of a normal distribution',\n }\n \n def __init__(self,mu=0.0,sigma=1.0):\n ''\n if sigma <0.0:\n raise StatisticsError('sigma must be non-negative')\n self._mu=float(mu)\n self._sigma=float(sigma)\n \n @classmethod\n def from_samples(cls,data):\n ''\n return cls(*_mean_stdev(data))\n \n def samples(self,n,*,seed=None):\n ''\n gauss=random.gauss if seed is None else random.Random(seed).gauss\n mu,sigma=self._mu,self._sigma\n return[gauss(mu,sigma)for _ in repeat(None,n)]\n \n def pdf(self,x):\n ''\n variance=self._sigma *self._sigma\n if not variance:\n raise StatisticsError('pdf() not defined when sigma is zero')\n diff=x -self._mu\n return exp(diff *diff /(-2.0 *variance))/sqrt(tau *variance)\n \n def cdf(self,x):\n ''\n if not self._sigma:\n raise StatisticsError('cdf() not defined when sigma is zero')\n return 0.5 *(1.0+erf((x -self._mu)/(self._sigma *_SQRT2)))\n \n def inv_cdf(self,p):\n ''\n\n\n\n\n\n\n\n \n if p <=0.0 or p >=1.0:\n raise StatisticsError('p must be in the range 0.0 < p < 1.0')\n return _normal_dist_inv_cdf(p,self._mu,self._sigma)\n \n def quantiles(self,n=4):\n ''\n\n\n\n\n\n\n \n return[self.inv_cdf(i /n)for i in range(1,n)]\n \n def overlap(self,other):\n ''\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n if not isinstance(other,NormalDist):\n raise TypeError('Expected another NormalDist instance')\n X,Y=self,other\n if(Y._sigma,Y._mu)<(X._sigma,X._mu):\n X,Y=Y,X\n X_var,Y_var=X.variance,Y.variance\n if not X_var or not Y_var:\n raise StatisticsError('overlap() not defined when sigma is zero')\n dv=Y_var -X_var\n dm=fabs(Y._mu -X._mu)\n if not dv:\n return 1.0 -erf(dm /(2.0 *X._sigma *_SQRT2))\n a=X._mu *Y_var -Y._mu *X_var\n b=X._sigma *Y._sigma *sqrt(dm *dm+dv *log(Y_var /X_var))\n x1=(a+b)/dv\n x2=(a -b)/dv\n return 1.0 -(fabs(Y.cdf(x1)-X.cdf(x1))+fabs(Y.cdf(x2)-X.cdf(x2)))\n \n def zscore(self,x):\n ''\n\n\n\n \n \n if not self._sigma:\n raise StatisticsError('zscore() not defined when sigma is zero')\n return(x -self._mu)/self._sigma\n \n @property\n def mean(self):\n ''\n return self._mu\n \n @property\n def median(self):\n ''\n return self._mu\n \n @property\n def mode(self):\n ''\n\n\n\n \n return self._mu\n \n @property\n def stdev(self):\n ''\n return self._sigma\n \n @property\n def variance(self):\n ''\n return self._sigma *self._sigma\n \n def __add__(x1,x2):\n ''\n\n\n\n\n\n\n\n \n if isinstance(x2,NormalDist):\n return NormalDist(x1._mu+x2._mu,hypot(x1._sigma,x2._sigma))\n return NormalDist(x1._mu+x2,x1._sigma)\n \n def __sub__(x1,x2):\n ''\n\n\n\n\n\n\n\n \n if isinstance(x2,NormalDist):\n return NormalDist(x1._mu -x2._mu,hypot(x1._sigma,x2._sigma))\n return NormalDist(x1._mu -x2,x1._sigma)\n \n def __mul__(x1,x2):\n ''\n\n\n\n \n return NormalDist(x1._mu *x2,x1._sigma *fabs(x2))\n \n def __truediv__(x1,x2):\n ''\n\n\n\n \n return NormalDist(x1._mu /x2,x1._sigma /fabs(x2))\n \n def __pos__(x1):\n ''\n return NormalDist(x1._mu,x1._sigma)\n \n def __neg__(x1):\n ''\n return NormalDist(-x1._mu,x1._sigma)\n \n __radd__=__add__\n \n def __rsub__(x1,x2):\n ''\n return -(x1 -x2)\n \n __rmul__=__mul__\n \n def __eq__(x1,x2):\n ''\n if not isinstance(x2,NormalDist):\n return NotImplemented\n return x1._mu ==x2._mu and x1._sigma ==x2._sigma\n \n def __hash__(self):\n ''\n return hash((self._mu,self._sigma))\n \n def __repr__(self):\n return f'{type(self).__name__}(mu={self._mu !r}, sigma={self._sigma !r})'\n \n def __getstate__(self):\n return self._mu,self._sigma\n \n def __setstate__(self,state):\n self._mu,self._sigma=state\n",["_statistics","bisect","collections","decimal","fractions","functools","itertools","math","numbers","operator","random","sys"]],string:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=[\"ascii_letters\",\"ascii_lowercase\",\"ascii_uppercase\",\"capwords\",\n\"digits\",\"hexdigits\",\"octdigits\",\"printable\",\"punctuation\",\n\"whitespace\",\"Formatter\",\"Template\"]\n\nimport _string\n\n\nwhitespace=' \\t\\n\\r\\v\\f'\nascii_lowercase='abcdefghijklmnopqrstuvwxyz'\nascii_uppercase='ABCDEFGHIJKLMNOPQRSTUVWXYZ'\nascii_letters=ascii_lowercase+ascii_uppercase\ndigits='0123456789'\nhexdigits=digits+'abcdef'+'ABCDEF'\noctdigits='01234567'\npunctuation=r\"\"\"!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\"\"\"\nprintable=digits+ascii_letters+punctuation+whitespace\n\n\n\n\ndef capwords(s,sep=None):\n ''\n\n\n\n\n\n\n\n\n \n return(sep or ' ').join(map(str.capitalize,s.split(sep)))\n \n \n \nimport re as _re\nfrom collections import ChainMap as _ChainMap\n\n_sentinel_dict={}\n\nclass Template:\n ''\n \n delimiter='$'\n \n \n \n \n idpattern=r'(?a:[_a-z][_a-z0-9]*)'\n braceidpattern=None\n flags=_re.IGNORECASE\n \n def __init_subclass__(cls):\n super().__init_subclass__()\n if 'pattern'in cls.__dict__:\n pattern=cls.pattern\n else:\n delim=_re.escape(cls.delimiter)\n id=cls.idpattern\n bid=cls.braceidpattern or cls.idpattern\n pattern=fr\"\"\"\n {delim}(?:\n (?P{delim}) | # Escape sequence of two delimiters\n (?P{id}) | # delimiter and a Python identifier\n {{(?P{bid})}} | # delimiter and a braced identifier\n (?P) # Other ill-formed delimiter exprs\n )\n \"\"\"\n cls.pattern=_re.compile(pattern,cls.flags |_re.VERBOSE)\n \n def __init__(self,template):\n self.template=template\n \n \n \n def _invalid(self,mo):\n i=mo.start('invalid')\n lines=self.template[:i].splitlines(keepends=True)\n if not lines:\n colno=1\n lineno=1\n else:\n colno=i -len(''.join(lines[:-1]))\n lineno=len(lines)\n raise ValueError('Invalid placeholder in string: line %d, col %d'%\n (lineno,colno))\n \n def substitute(self,mapping=_sentinel_dict,/,**kws):\n if mapping is _sentinel_dict:\n mapping=kws\n elif kws:\n mapping=_ChainMap(kws,mapping)\n \n def convert(mo):\n \n named=mo.group('named')or mo.group('braced')\n if named is not None:\n return str(mapping[named])\n if mo.group('escaped')is not None:\n return self.delimiter\n if mo.group('invalid')is not None:\n self._invalid(mo)\n raise ValueError('Unrecognized named group in pattern',\n self.pattern)\n return self.pattern.sub(convert,self.template)\n \n def safe_substitute(self,mapping=_sentinel_dict,/,**kws):\n if mapping is _sentinel_dict:\n mapping=kws\n elif kws:\n mapping=_ChainMap(kws,mapping)\n \n def convert(mo):\n named=mo.group('named')or mo.group('braced')\n if named is not None:\n try:\n return str(mapping[named])\n except KeyError:\n return mo.group()\n if mo.group('escaped')is not None:\n return self.delimiter\n if mo.group('invalid')is not None:\n return mo.group()\n raise ValueError('Unrecognized named group in pattern',\n self.pattern)\n return self.pattern.sub(convert,self.template)\n \n def is_valid(self):\n for mo in self.pattern.finditer(self.template):\n if mo.group('invalid')is not None:\n return False\n if(mo.group('named')is None\n and mo.group('braced')is None\n and mo.group('escaped')is None):\n \n \n raise ValueError('Unrecognized named group in pattern',\n self.pattern)\n return True\n \n def get_identifiers(self):\n ids=[]\n for mo in self.pattern.finditer(self.template):\n named=mo.group('named')or mo.group('braced')\n if named is not None and named not in ids:\n \n ids.append(named)\n elif(named is None\n and mo.group('invalid')is None\n and mo.group('escaped')is None):\n \n \n raise ValueError('Unrecognized named group in pattern',\n self.pattern)\n return ids\n \n \n \nTemplate.__init_subclass__()\n\n\n\n\n\n\n\n\n\n\n\n\nclass Formatter:\n def format(self,format_string,/,*args,**kwargs):\n return self.vformat(format_string,args,kwargs)\n \n def vformat(self,format_string,args,kwargs):\n used_args=set()\n result,_=self._vformat(format_string,args,kwargs,used_args,2)\n self.check_unused_args(used_args,args,kwargs)\n return result\n \n def _vformat(self,format_string,args,kwargs,used_args,recursion_depth,\n auto_arg_index=0):\n if recursion_depth <0:\n raise ValueError('Max string recursion exceeded')\n result=[]\n for literal_text,field_name,format_spec,conversion in\\\n self.parse(format_string):\n \n \n if literal_text:\n result.append(literal_text)\n \n \n if field_name is not None:\n \n \n \n \n if field_name =='':\n if auto_arg_index is False:\n raise ValueError('cannot switch from manual field '\n 'specification to automatic field '\n 'numbering')\n field_name=str(auto_arg_index)\n auto_arg_index +=1\n elif field_name.isdigit():\n if auto_arg_index:\n raise ValueError('cannot switch from manual field '\n 'specification to automatic field '\n 'numbering')\n \n \n auto_arg_index=False\n \n \n \n obj,arg_used=self.get_field(field_name,args,kwargs)\n used_args.add(arg_used)\n \n \n obj=self.convert_field(obj,conversion)\n \n \n format_spec,auto_arg_index=self._vformat(\n format_spec,args,kwargs,\n used_args,recursion_depth -1,\n auto_arg_index=auto_arg_index)\n \n \n result.append(self.format_field(obj,format_spec))\n \n return ''.join(result),auto_arg_index\n \n \n def get_value(self,key,args,kwargs):\n if isinstance(key,int):\n return args[key]\n else:\n return kwargs[key]\n \n \n def check_unused_args(self,used_args,args,kwargs):\n pass\n \n \n def format_field(self,value,format_spec):\n return format(value,format_spec)\n \n \n def convert_field(self,value,conversion):\n \n if conversion is None:\n return value\n elif conversion =='s':\n return str(value)\n elif conversion =='r':\n return repr(value)\n elif conversion =='a':\n return ascii(value)\n raise ValueError(\"Unknown conversion specifier {0!s}\".format(conversion))\n \n \n \n \n \n \n \n \n \n def parse(self,format_string):\n return _string.formatter_parser(format_string)\n \n \n \n \n \n \n \n def get_field(self,field_name,args,kwargs):\n first,rest=_string.formatter_field_name_split(field_name)\n \n obj=self.get_value(first,args,kwargs)\n \n \n \n for is_attr,i in rest:\n if is_attr:\n obj=getattr(obj,i)\n else:\n obj=obj[i]\n \n return obj,first\n",["_string","collections","re"]],stringprep:[".py","\n''\n\n\n\n\n\nfrom unicodedata import ucd_3_2_0 as unicodedata\n\nassert unicodedata.unidata_version =='3.2.0'\n\ndef in_table_a1(code):\n if unicodedata.category(code)!='Cn':return False\n c=ord(code)\n if 0xFDD0 <=c <0xFDF0:return False\n return(c&0xFFFF)not in(0xFFFE,0xFFFF)\n \n \nb1_set=set([173,847,6150,6155,6156,6157,8203,8204,8205,8288,65279]+list(range(65024,65040)))\ndef in_table_b1(code):\n return ord(code)in b1_set\n \n \nb3_exceptions={\n0xb5:'\\u03bc',0xdf:'ss',0x130:'i\\u0307',0x149:'\\u02bcn',\n0x17f:'s',0x1f0:'j\\u030c',0x345:'\\u03b9',0x37a:' \\u03b9',\n0x390:'\\u03b9\\u0308\\u0301',0x3b0:'\\u03c5\\u0308\\u0301',0x3c2:'\\u03c3',0x3d0:'\\u03b2',\n0x3d1:'\\u03b8',0x3d2:'\\u03c5',0x3d3:'\\u03cd',0x3d4:'\\u03cb',\n0x3d5:'\\u03c6',0x3d6:'\\u03c0',0x3f0:'\\u03ba',0x3f1:'\\u03c1',\n0x3f2:'\\u03c3',0x3f5:'\\u03b5',0x587:'\\u0565\\u0582',0x1e96:'h\\u0331',\n0x1e97:'t\\u0308',0x1e98:'w\\u030a',0x1e99:'y\\u030a',0x1e9a:'a\\u02be',\n0x1e9b:'\\u1e61',0x1f50:'\\u03c5\\u0313',0x1f52:'\\u03c5\\u0313\\u0300',0x1f54:'\\u03c5\\u0313\\u0301',\n0x1f56:'\\u03c5\\u0313\\u0342',0x1f80:'\\u1f00\\u03b9',0x1f81:'\\u1f01\\u03b9',0x1f82:'\\u1f02\\u03b9',\n0x1f83:'\\u1f03\\u03b9',0x1f84:'\\u1f04\\u03b9',0x1f85:'\\u1f05\\u03b9',0x1f86:'\\u1f06\\u03b9',\n0x1f87:'\\u1f07\\u03b9',0x1f88:'\\u1f00\\u03b9',0x1f89:'\\u1f01\\u03b9',0x1f8a:'\\u1f02\\u03b9',\n0x1f8b:'\\u1f03\\u03b9',0x1f8c:'\\u1f04\\u03b9',0x1f8d:'\\u1f05\\u03b9',0x1f8e:'\\u1f06\\u03b9',\n0x1f8f:'\\u1f07\\u03b9',0x1f90:'\\u1f20\\u03b9',0x1f91:'\\u1f21\\u03b9',0x1f92:'\\u1f22\\u03b9',\n0x1f93:'\\u1f23\\u03b9',0x1f94:'\\u1f24\\u03b9',0x1f95:'\\u1f25\\u03b9',0x1f96:'\\u1f26\\u03b9',\n0x1f97:'\\u1f27\\u03b9',0x1f98:'\\u1f20\\u03b9',0x1f99:'\\u1f21\\u03b9',0x1f9a:'\\u1f22\\u03b9',\n0x1f9b:'\\u1f23\\u03b9',0x1f9c:'\\u1f24\\u03b9',0x1f9d:'\\u1f25\\u03b9',0x1f9e:'\\u1f26\\u03b9',\n0x1f9f:'\\u1f27\\u03b9',0x1fa0:'\\u1f60\\u03b9',0x1fa1:'\\u1f61\\u03b9',0x1fa2:'\\u1f62\\u03b9',\n0x1fa3:'\\u1f63\\u03b9',0x1fa4:'\\u1f64\\u03b9',0x1fa5:'\\u1f65\\u03b9',0x1fa6:'\\u1f66\\u03b9',\n0x1fa7:'\\u1f67\\u03b9',0x1fa8:'\\u1f60\\u03b9',0x1fa9:'\\u1f61\\u03b9',0x1faa:'\\u1f62\\u03b9',\n0x1fab:'\\u1f63\\u03b9',0x1fac:'\\u1f64\\u03b9',0x1fad:'\\u1f65\\u03b9',0x1fae:'\\u1f66\\u03b9',\n0x1faf:'\\u1f67\\u03b9',0x1fb2:'\\u1f70\\u03b9',0x1fb3:'\\u03b1\\u03b9',0x1fb4:'\\u03ac\\u03b9',\n0x1fb6:'\\u03b1\\u0342',0x1fb7:'\\u03b1\\u0342\\u03b9',0x1fbc:'\\u03b1\\u03b9',0x1fbe:'\\u03b9',\n0x1fc2:'\\u1f74\\u03b9',0x1fc3:'\\u03b7\\u03b9',0x1fc4:'\\u03ae\\u03b9',0x1fc6:'\\u03b7\\u0342',\n0x1fc7:'\\u03b7\\u0342\\u03b9',0x1fcc:'\\u03b7\\u03b9',0x1fd2:'\\u03b9\\u0308\\u0300',0x1fd3:'\\u03b9\\u0308\\u0301',\n0x1fd6:'\\u03b9\\u0342',0x1fd7:'\\u03b9\\u0308\\u0342',0x1fe2:'\\u03c5\\u0308\\u0300',0x1fe3:'\\u03c5\\u0308\\u0301',\n0x1fe4:'\\u03c1\\u0313',0x1fe6:'\\u03c5\\u0342',0x1fe7:'\\u03c5\\u0308\\u0342',0x1ff2:'\\u1f7c\\u03b9',\n0x1ff3:'\\u03c9\\u03b9',0x1ff4:'\\u03ce\\u03b9',0x1ff6:'\\u03c9\\u0342',0x1ff7:'\\u03c9\\u0342\\u03b9',\n0x1ffc:'\\u03c9\\u03b9',0x20a8:'rs',0x2102:'c',0x2103:'\\xb0c',\n0x2107:'\\u025b',0x2109:'\\xb0f',0x210b:'h',0x210c:'h',\n0x210d:'h',0x2110:'i',0x2111:'i',0x2112:'l',\n0x2115:'n',0x2116:'no',0x2119:'p',0x211a:'q',\n0x211b:'r',0x211c:'r',0x211d:'r',0x2120:'sm',\n0x2121:'tel',0x2122:'tm',0x2124:'z',0x2128:'z',\n0x212c:'b',0x212d:'c',0x2130:'e',0x2131:'f',\n0x2133:'m',0x213e:'\\u03b3',0x213f:'\\u03c0',0x2145:'d',\n0x3371:'hpa',0x3373:'au',0x3375:'ov',0x3380:'pa',\n0x3381:'na',0x3382:'\\u03bca',0x3383:'ma',0x3384:'ka',\n0x3385:'kb',0x3386:'mb',0x3387:'gb',0x338a:'pf',\n0x338b:'nf',0x338c:'\\u03bcf',0x3390:'hz',0x3391:'khz',\n0x3392:'mhz',0x3393:'ghz',0x3394:'thz',0x33a9:'pa',\n0x33aa:'kpa',0x33ab:'mpa',0x33ac:'gpa',0x33b4:'pv',\n0x33b5:'nv',0x33b6:'\\u03bcv',0x33b7:'mv',0x33b8:'kv',\n0x33b9:'mv',0x33ba:'pw',0x33bb:'nw',0x33bc:'\\u03bcw',\n0x33bd:'mw',0x33be:'kw',0x33bf:'mw',0x33c0:'k\\u03c9',\n0x33c1:'m\\u03c9',0x33c3:'bq',0x33c6:'c\\u2215kg',0x33c7:'co.',\n0x33c8:'db',0x33c9:'gy',0x33cb:'hp',0x33cd:'kk',\n0x33ce:'km',0x33d7:'ph',0x33d9:'ppm',0x33da:'pr',\n0x33dc:'sv',0x33dd:'wb',0xfb00:'ff',0xfb01:'fi',\n0xfb02:'fl',0xfb03:'ffi',0xfb04:'ffl',0xfb05:'st',\n0xfb06:'st',0xfb13:'\\u0574\\u0576',0xfb14:'\\u0574\\u0565',0xfb15:'\\u0574\\u056b',\n0xfb16:'\\u057e\\u0576',0xfb17:'\\u0574\\u056d',0x1d400:'a',0x1d401:'b',\n0x1d402:'c',0x1d403:'d',0x1d404:'e',0x1d405:'f',\n0x1d406:'g',0x1d407:'h',0x1d408:'i',0x1d409:'j',\n0x1d40a:'k',0x1d40b:'l',0x1d40c:'m',0x1d40d:'n',\n0x1d40e:'o',0x1d40f:'p',0x1d410:'q',0x1d411:'r',\n0x1d412:'s',0x1d413:'t',0x1d414:'u',0x1d415:'v',\n0x1d416:'w',0x1d417:'x',0x1d418:'y',0x1d419:'z',\n0x1d434:'a',0x1d435:'b',0x1d436:'c',0x1d437:'d',\n0x1d438:'e',0x1d439:'f',0x1d43a:'g',0x1d43b:'h',\n0x1d43c:'i',0x1d43d:'j',0x1d43e:'k',0x1d43f:'l',\n0x1d440:'m',0x1d441:'n',0x1d442:'o',0x1d443:'p',\n0x1d444:'q',0x1d445:'r',0x1d446:'s',0x1d447:'t',\n0x1d448:'u',0x1d449:'v',0x1d44a:'w',0x1d44b:'x',\n0x1d44c:'y',0x1d44d:'z',0x1d468:'a',0x1d469:'b',\n0x1d46a:'c',0x1d46b:'d',0x1d46c:'e',0x1d46d:'f',\n0x1d46e:'g',0x1d46f:'h',0x1d470:'i',0x1d471:'j',\n0x1d472:'k',0x1d473:'l',0x1d474:'m',0x1d475:'n',\n0x1d476:'o',0x1d477:'p',0x1d478:'q',0x1d479:'r',\n0x1d47a:'s',0x1d47b:'t',0x1d47c:'u',0x1d47d:'v',\n0x1d47e:'w',0x1d47f:'x',0x1d480:'y',0x1d481:'z',\n0x1d49c:'a',0x1d49e:'c',0x1d49f:'d',0x1d4a2:'g',\n0x1d4a5:'j',0x1d4a6:'k',0x1d4a9:'n',0x1d4aa:'o',\n0x1d4ab:'p',0x1d4ac:'q',0x1d4ae:'s',0x1d4af:'t',\n0x1d4b0:'u',0x1d4b1:'v',0x1d4b2:'w',0x1d4b3:'x',\n0x1d4b4:'y',0x1d4b5:'z',0x1d4d0:'a',0x1d4d1:'b',\n0x1d4d2:'c',0x1d4d3:'d',0x1d4d4:'e',0x1d4d5:'f',\n0x1d4d6:'g',0x1d4d7:'h',0x1d4d8:'i',0x1d4d9:'j',\n0x1d4da:'k',0x1d4db:'l',0x1d4dc:'m',0x1d4dd:'n',\n0x1d4de:'o',0x1d4df:'p',0x1d4e0:'q',0x1d4e1:'r',\n0x1d4e2:'s',0x1d4e3:'t',0x1d4e4:'u',0x1d4e5:'v',\n0x1d4e6:'w',0x1d4e7:'x',0x1d4e8:'y',0x1d4e9:'z',\n0x1d504:'a',0x1d505:'b',0x1d507:'d',0x1d508:'e',\n0x1d509:'f',0x1d50a:'g',0x1d50d:'j',0x1d50e:'k',\n0x1d50f:'l',0x1d510:'m',0x1d511:'n',0x1d512:'o',\n0x1d513:'p',0x1d514:'q',0x1d516:'s',0x1d517:'t',\n0x1d518:'u',0x1d519:'v',0x1d51a:'w',0x1d51b:'x',\n0x1d51c:'y',0x1d538:'a',0x1d539:'b',0x1d53b:'d',\n0x1d53c:'e',0x1d53d:'f',0x1d53e:'g',0x1d540:'i',\n0x1d541:'j',0x1d542:'k',0x1d543:'l',0x1d544:'m',\n0x1d546:'o',0x1d54a:'s',0x1d54b:'t',0x1d54c:'u',\n0x1d54d:'v',0x1d54e:'w',0x1d54f:'x',0x1d550:'y',\n0x1d56c:'a',0x1d56d:'b',0x1d56e:'c',0x1d56f:'d',\n0x1d570:'e',0x1d571:'f',0x1d572:'g',0x1d573:'h',\n0x1d574:'i',0x1d575:'j',0x1d576:'k',0x1d577:'l',\n0x1d578:'m',0x1d579:'n',0x1d57a:'o',0x1d57b:'p',\n0x1d57c:'q',0x1d57d:'r',0x1d57e:'s',0x1d57f:'t',\n0x1d580:'u',0x1d581:'v',0x1d582:'w',0x1d583:'x',\n0x1d584:'y',0x1d585:'z',0x1d5a0:'a',0x1d5a1:'b',\n0x1d5a2:'c',0x1d5a3:'d',0x1d5a4:'e',0x1d5a5:'f',\n0x1d5a6:'g',0x1d5a7:'h',0x1d5a8:'i',0x1d5a9:'j',\n0x1d5aa:'k',0x1d5ab:'l',0x1d5ac:'m',0x1d5ad:'n',\n0x1d5ae:'o',0x1d5af:'p',0x1d5b0:'q',0x1d5b1:'r',\n0x1d5b2:'s',0x1d5b3:'t',0x1d5b4:'u',0x1d5b5:'v',\n0x1d5b6:'w',0x1d5b7:'x',0x1d5b8:'y',0x1d5b9:'z',\n0x1d5d4:'a',0x1d5d5:'b',0x1d5d6:'c',0x1d5d7:'d',\n0x1d5d8:'e',0x1d5d9:'f',0x1d5da:'g',0x1d5db:'h',\n0x1d5dc:'i',0x1d5dd:'j',0x1d5de:'k',0x1d5df:'l',\n0x1d5e0:'m',0x1d5e1:'n',0x1d5e2:'o',0x1d5e3:'p',\n0x1d5e4:'q',0x1d5e5:'r',0x1d5e6:'s',0x1d5e7:'t',\n0x1d5e8:'u',0x1d5e9:'v',0x1d5ea:'w',0x1d5eb:'x',\n0x1d5ec:'y',0x1d5ed:'z',0x1d608:'a',0x1d609:'b',\n0x1d60a:'c',0x1d60b:'d',0x1d60c:'e',0x1d60d:'f',\n0x1d60e:'g',0x1d60f:'h',0x1d610:'i',0x1d611:'j',\n0x1d612:'k',0x1d613:'l',0x1d614:'m',0x1d615:'n',\n0x1d616:'o',0x1d617:'p',0x1d618:'q',0x1d619:'r',\n0x1d61a:'s',0x1d61b:'t',0x1d61c:'u',0x1d61d:'v',\n0x1d61e:'w',0x1d61f:'x',0x1d620:'y',0x1d621:'z',\n0x1d63c:'a',0x1d63d:'b',0x1d63e:'c',0x1d63f:'d',\n0x1d640:'e',0x1d641:'f',0x1d642:'g',0x1d643:'h',\n0x1d644:'i',0x1d645:'j',0x1d646:'k',0x1d647:'l',\n0x1d648:'m',0x1d649:'n',0x1d64a:'o',0x1d64b:'p',\n0x1d64c:'q',0x1d64d:'r',0x1d64e:'s',0x1d64f:'t',\n0x1d650:'u',0x1d651:'v',0x1d652:'w',0x1d653:'x',\n0x1d654:'y',0x1d655:'z',0x1d670:'a',0x1d671:'b',\n0x1d672:'c',0x1d673:'d',0x1d674:'e',0x1d675:'f',\n0x1d676:'g',0x1d677:'h',0x1d678:'i',0x1d679:'j',\n0x1d67a:'k',0x1d67b:'l',0x1d67c:'m',0x1d67d:'n',\n0x1d67e:'o',0x1d67f:'p',0x1d680:'q',0x1d681:'r',\n0x1d682:'s',0x1d683:'t',0x1d684:'u',0x1d685:'v',\n0x1d686:'w',0x1d687:'x',0x1d688:'y',0x1d689:'z',\n0x1d6a8:'\\u03b1',0x1d6a9:'\\u03b2',0x1d6aa:'\\u03b3',0x1d6ab:'\\u03b4',\n0x1d6ac:'\\u03b5',0x1d6ad:'\\u03b6',0x1d6ae:'\\u03b7',0x1d6af:'\\u03b8',\n0x1d6b0:'\\u03b9',0x1d6b1:'\\u03ba',0x1d6b2:'\\u03bb',0x1d6b3:'\\u03bc',\n0x1d6b4:'\\u03bd',0x1d6b5:'\\u03be',0x1d6b6:'\\u03bf',0x1d6b7:'\\u03c0',\n0x1d6b8:'\\u03c1',0x1d6b9:'\\u03b8',0x1d6ba:'\\u03c3',0x1d6bb:'\\u03c4',\n0x1d6bc:'\\u03c5',0x1d6bd:'\\u03c6',0x1d6be:'\\u03c7',0x1d6bf:'\\u03c8',\n0x1d6c0:'\\u03c9',0x1d6d3:'\\u03c3',0x1d6e2:'\\u03b1',0x1d6e3:'\\u03b2',\n0x1d6e4:'\\u03b3',0x1d6e5:'\\u03b4',0x1d6e6:'\\u03b5',0x1d6e7:'\\u03b6',\n0x1d6e8:'\\u03b7',0x1d6e9:'\\u03b8',0x1d6ea:'\\u03b9',0x1d6eb:'\\u03ba',\n0x1d6ec:'\\u03bb',0x1d6ed:'\\u03bc',0x1d6ee:'\\u03bd',0x1d6ef:'\\u03be',\n0x1d6f0:'\\u03bf',0x1d6f1:'\\u03c0',0x1d6f2:'\\u03c1',0x1d6f3:'\\u03b8',\n0x1d6f4:'\\u03c3',0x1d6f5:'\\u03c4',0x1d6f6:'\\u03c5',0x1d6f7:'\\u03c6',\n0x1d6f8:'\\u03c7',0x1d6f9:'\\u03c8',0x1d6fa:'\\u03c9',0x1d70d:'\\u03c3',\n0x1d71c:'\\u03b1',0x1d71d:'\\u03b2',0x1d71e:'\\u03b3',0x1d71f:'\\u03b4',\n0x1d720:'\\u03b5',0x1d721:'\\u03b6',0x1d722:'\\u03b7',0x1d723:'\\u03b8',\n0x1d724:'\\u03b9',0x1d725:'\\u03ba',0x1d726:'\\u03bb',0x1d727:'\\u03bc',\n0x1d728:'\\u03bd',0x1d729:'\\u03be',0x1d72a:'\\u03bf',0x1d72b:'\\u03c0',\n0x1d72c:'\\u03c1',0x1d72d:'\\u03b8',0x1d72e:'\\u03c3',0x1d72f:'\\u03c4',\n0x1d730:'\\u03c5',0x1d731:'\\u03c6',0x1d732:'\\u03c7',0x1d733:'\\u03c8',\n0x1d734:'\\u03c9',0x1d747:'\\u03c3',0x1d756:'\\u03b1',0x1d757:'\\u03b2',\n0x1d758:'\\u03b3',0x1d759:'\\u03b4',0x1d75a:'\\u03b5',0x1d75b:'\\u03b6',\n0x1d75c:'\\u03b7',0x1d75d:'\\u03b8',0x1d75e:'\\u03b9',0x1d75f:'\\u03ba',\n0x1d760:'\\u03bb',0x1d761:'\\u03bc',0x1d762:'\\u03bd',0x1d763:'\\u03be',\n0x1d764:'\\u03bf',0x1d765:'\\u03c0',0x1d766:'\\u03c1',0x1d767:'\\u03b8',\n0x1d768:'\\u03c3',0x1d769:'\\u03c4',0x1d76a:'\\u03c5',0x1d76b:'\\u03c6',\n0x1d76c:'\\u03c7',0x1d76d:'\\u03c8',0x1d76e:'\\u03c9',0x1d781:'\\u03c3',\n0x1d790:'\\u03b1',0x1d791:'\\u03b2',0x1d792:'\\u03b3',0x1d793:'\\u03b4',\n0x1d794:'\\u03b5',0x1d795:'\\u03b6',0x1d796:'\\u03b7',0x1d797:'\\u03b8',\n0x1d798:'\\u03b9',0x1d799:'\\u03ba',0x1d79a:'\\u03bb',0x1d79b:'\\u03bc',\n0x1d79c:'\\u03bd',0x1d79d:'\\u03be',0x1d79e:'\\u03bf',0x1d79f:'\\u03c0',\n0x1d7a0:'\\u03c1',0x1d7a1:'\\u03b8',0x1d7a2:'\\u03c3',0x1d7a3:'\\u03c4',\n0x1d7a4:'\\u03c5',0x1d7a5:'\\u03c6',0x1d7a6:'\\u03c7',0x1d7a7:'\\u03c8',\n0x1d7a8:'\\u03c9',0x1d7bb:'\\u03c3',}\n\ndef map_table_b3(code):\n r=b3_exceptions.get(ord(code))\n if r is not None:return r\n return code.lower()\n \n \ndef map_table_b2(a):\n al=map_table_b3(a)\n b=unicodedata.normalize(\"NFKC\",al)\n bl=\"\".join([map_table_b3(ch)for ch in b])\n c=unicodedata.normalize(\"NFKC\",bl)\n if b !=c:\n return c\n else:\n return al\n \n \ndef in_table_c11(code):\n return code ==\" \"\n \n \ndef in_table_c12(code):\n return unicodedata.category(code)==\"Zs\"and code !=\" \"\n \ndef in_table_c11_c12(code):\n return unicodedata.category(code)==\"Zs\"\n \n \ndef in_table_c21(code):\n return ord(code)<128 and unicodedata.category(code)==\"Cc\"\n \nc22_specials=set([1757,1807,6158,8204,8205,8232,8233,65279]+list(range(8288,8292))+list(range(8298,8304))+list(range(65529,65533))+list(range(119155,119163)))\ndef in_table_c22(code):\n c=ord(code)\n if c <128:return False\n if unicodedata.category(code)==\"Cc\":return True\n return c in c22_specials\n \ndef in_table_c21_c22(code):\n return unicodedata.category(code)==\"Cc\"or\\\n ord(code)in c22_specials\n \n \ndef in_table_c3(code):\n return unicodedata.category(code)==\"Co\"\n \n \ndef in_table_c4(code):\n c=ord(code)\n if c <0xFDD0:return False\n if c <0xFDF0:return True\n return(ord(code)&0xFFFF)in(0xFFFE,0xFFFF)\n \n \ndef in_table_c5(code):\n return unicodedata.category(code)==\"Cs\"\n \n \nc6_set=set(range(65529,65534))\ndef in_table_c6(code):\n return ord(code)in c6_set\n \n \nc7_set=set(range(12272,12284))\ndef in_table_c7(code):\n return ord(code)in c7_set\n \n \nc8_set=set([832,833,8206,8207]+list(range(8234,8239))+list(range(8298,8304)))\ndef in_table_c8(code):\n return ord(code)in c8_set\n \n \nc9_set=set([917505]+list(range(917536,917632)))\ndef in_table_c9(code):\n return ord(code)in c9_set\n \n \ndef in_table_d1(code):\n return unicodedata.bidirectional(code)in(\"R\",\"AL\")\n \n \ndef in_table_d2(code):\n return unicodedata.bidirectional(code)==\"L\"\n",["unicodedata"]],struct:[".py","__all__=[\n\n'calcsize','pack','pack_into','unpack','unpack_from',\n'iter_unpack',\n\n\n'Struct',\n\n\n'error'\n]\n\nfrom _struct import *\nfrom _struct import _clearcache\nfrom _struct import __doc__\n",["_struct"]],subprocess:[".py","\n\n\n\n\n\n\n\nr\"\"\"Subprocesses with accessible I/O streams\n\nThis module allows you to spawn processes, connect to their\ninput/output/error pipes, and obtain their return codes.\n\nFor a complete description of this module see the Python documentation.\n\nMain API\n========\nrun(...): Runs a command, waits for it to complete, then returns a\n CompletedProcess instance.\nPopen(...): A class for flexibly executing a command in a new process\n\nConstants\n---------\nDEVNULL: Special value that indicates that os.devnull should be used\nPIPE: Special value that indicates a pipe should be created\nSTDOUT: Special value that indicates that stderr should go to stdout\n\n\nOlder API\n=========\ncall(...): Runs a command, waits for it to complete, then returns\n the return code.\ncheck_call(...): Same as call() but raises CalledProcessError()\n if return code is not 0\ncheck_output(...): Same as check_call() but returns the contents of\n stdout instead of a return code\ngetoutput(...): Runs a command in the shell, waits for it to complete,\n then returns the output\ngetstatusoutput(...): Runs a command in the shell, waits for it to complete,\n then returns a (exitcode, output) tuple\n\"\"\"\n\nimport builtins\nimport errno\nimport io\nimport locale\nimport os\nimport time\nimport signal\nimport sys\nimport threading\nimport warnings\nimport contextlib\nfrom time import monotonic as _time\nimport types\n\ntry:\n import fcntl\nexcept ImportError:\n fcntl=None\n \n \n__all__=[\"Popen\",\"PIPE\",\"STDOUT\",\"call\",\"check_call\",\"getstatusoutput\",\n\"getoutput\",\"check_output\",\"run\",\"CalledProcessError\",\"DEVNULL\",\n\"SubprocessError\",\"TimeoutExpired\",\"CompletedProcess\"]\n\n\n\n\ntry:\n import msvcrt\nexcept ModuleNotFoundError:\n _mswindows=False\nelse:\n _mswindows=True\n \n \n_can_fork_exec=sys.platform not in{\"emscripten\",\"wasi\"}\n\nif _mswindows:\n import _winapi\n from _winapi import(CREATE_NEW_CONSOLE,CREATE_NEW_PROCESS_GROUP,\n STD_INPUT_HANDLE,STD_OUTPUT_HANDLE,\n STD_ERROR_HANDLE,SW_HIDE,\n STARTF_USESTDHANDLES,STARTF_USESHOWWINDOW,\n ABOVE_NORMAL_PRIORITY_CLASS,BELOW_NORMAL_PRIORITY_CLASS,\n HIGH_PRIORITY_CLASS,IDLE_PRIORITY_CLASS,\n NORMAL_PRIORITY_CLASS,REALTIME_PRIORITY_CLASS,\n CREATE_NO_WINDOW,DETACHED_PROCESS,\n CREATE_DEFAULT_ERROR_MODE,CREATE_BREAKAWAY_FROM_JOB)\n \n __all__.extend([\"CREATE_NEW_CONSOLE\",\"CREATE_NEW_PROCESS_GROUP\",\n \"STD_INPUT_HANDLE\",\"STD_OUTPUT_HANDLE\",\n \"STD_ERROR_HANDLE\",\"SW_HIDE\",\n \"STARTF_USESTDHANDLES\",\"STARTF_USESHOWWINDOW\",\n \"STARTUPINFO\",\n \"ABOVE_NORMAL_PRIORITY_CLASS\",\"BELOW_NORMAL_PRIORITY_CLASS\",\n \"HIGH_PRIORITY_CLASS\",\"IDLE_PRIORITY_CLASS\",\n \"NORMAL_PRIORITY_CLASS\",\"REALTIME_PRIORITY_CLASS\",\n \"CREATE_NO_WINDOW\",\"DETACHED_PROCESS\",\n \"CREATE_DEFAULT_ERROR_MODE\",\"CREATE_BREAKAWAY_FROM_JOB\"])\nelse:\n if _can_fork_exec:\n from _posixsubprocess import fork_exec as _fork_exec\n \n _waitpid=os.waitpid\n _waitstatus_to_exitcode=os.waitstatus_to_exitcode\n _WIFSTOPPED=os.WIFSTOPPED\n _WSTOPSIG=os.WSTOPSIG\n _WNOHANG=os.WNOHANG\n else:\n _fork_exec=None\n _waitpid=None\n _waitstatus_to_exitcode=None\n _WIFSTOPPED=None\n _WSTOPSIG=None\n _WNOHANG=None\n import select\n import selectors\n \n \n \nclass SubprocessError(Exception):pass\n\n\nclass CalledProcessError(SubprocessError):\n ''\n\n\n\n\n \n def __init__(self,returncode,cmd,output=None,stderr=None):\n self.returncode=returncode\n self.cmd=cmd\n self.output=output\n self.stderr=stderr\n \n def __str__(self):\n if self.returncode and self.returncode <0:\n try:\n return \"Command '%s' died with %r.\"%(\n self.cmd,signal.Signals(-self.returncode))\n except ValueError:\n return \"Command '%s' died with unknown signal %d.\"%(\n self.cmd,-self.returncode)\n else:\n return \"Command '%s' returned non-zero exit status %d.\"%(\n self.cmd,self.returncode)\n \n @property\n def stdout(self):\n ''\n return self.output\n \n @stdout.setter\n def stdout(self,value):\n \n \n self.output=value\n \n \nclass TimeoutExpired(SubprocessError):\n ''\n\n\n\n\n \n def __init__(self,cmd,timeout,output=None,stderr=None):\n self.cmd=cmd\n self.timeout=timeout\n self.output=output\n self.stderr=stderr\n \n def __str__(self):\n return(\"Command '%s' timed out after %s seconds\"%\n (self.cmd,self.timeout))\n \n @property\n def stdout(self):\n return self.output\n \n @stdout.setter\n def stdout(self,value):\n \n \n self.output=value\n \n \nif _mswindows:\n class STARTUPINFO:\n def __init__(self,*,dwFlags=0,hStdInput=None,hStdOutput=None,\n hStdError=None,wShowWindow=0,lpAttributeList=None):\n self.dwFlags=dwFlags\n self.hStdInput=hStdInput\n self.hStdOutput=hStdOutput\n self.hStdError=hStdError\n self.wShowWindow=wShowWindow\n self.lpAttributeList=lpAttributeList or{\"handle_list\":[]}\n \n def copy(self):\n attr_list=self.lpAttributeList.copy()\n if 'handle_list'in attr_list:\n attr_list['handle_list']=list(attr_list['handle_list'])\n \n return STARTUPINFO(dwFlags=self.dwFlags,\n hStdInput=self.hStdInput,\n hStdOutput=self.hStdOutput,\n hStdError=self.hStdError,\n wShowWindow=self.wShowWindow,\n lpAttributeList=attr_list)\n \n \n class Handle(int):\n closed=False\n \n def Close(self,CloseHandle=_winapi.CloseHandle):\n if not self.closed:\n self.closed=True\n CloseHandle(self)\n \n def Detach(self):\n if not self.closed:\n self.closed=True\n return int(self)\n raise ValueError(\"already closed\")\n \n def __repr__(self):\n return \"%s(%d)\"%(self.__class__.__name__,int(self))\n \n __del__=Close\nelse:\n\n\n\n _PIPE_BUF=getattr(select,'PIPE_BUF',512)\n \n \n \n \n if hasattr(selectors,'PollSelector'):\n _PopenSelector=selectors.PollSelector\n else:\n _PopenSelector=selectors.SelectSelector\n \n \nif _mswindows:\n\n\n\n\n\n\n\n\n _active=None\n \n def _cleanup():\n pass\nelse:\n\n\n\n\n _active=[]\n \n def _cleanup():\n if _active is None:\n return\n for inst in _active[:]:\n res=inst._internal_poll(_deadstate=sys.maxsize)\n if res is not None:\n try:\n _active.remove(inst)\n except ValueError:\n \n \n pass\n \nPIPE=-1\nSTDOUT=-2\nDEVNULL=-3\n\n\n\n\n\n\ndef _optim_args_from_interpreter_flags():\n ''\n \n args=[]\n value=sys.flags.optimize\n if value >0:\n args.append('-'+'O'*value)\n return args\n \n \ndef _args_from_interpreter_flags():\n ''\n \n flag_opt_map={\n 'debug':'d',\n \n \n 'dont_write_bytecode':'B',\n 'no_site':'S',\n 'verbose':'v',\n 'bytes_warning':'b',\n 'quiet':'q',\n \n }\n args=_optim_args_from_interpreter_flags()\n for flag,opt in flag_opt_map.items():\n v=getattr(sys.flags,flag)\n if v >0:\n args.append('-'+opt *v)\n \n if sys.flags.isolated:\n args.append('-I')\n else:\n if sys.flags.ignore_environment:\n args.append('-E')\n if sys.flags.no_user_site:\n args.append('-s')\n if sys.flags.safe_path:\n args.append('-P')\n \n \n warnopts=sys.warnoptions[:]\n xoptions=getattr(sys,'_xoptions',{})\n bytes_warning=sys.flags.bytes_warning\n dev_mode=sys.flags.dev_mode\n \n if bytes_warning >1:\n warnopts.remove(\"error::BytesWarning\")\n elif bytes_warning:\n warnopts.remove(\"default::BytesWarning\")\n if dev_mode:\n warnopts.remove('default')\n for opt in warnopts:\n args.append('-W'+opt)\n \n \n if dev_mode:\n args.extend(('-X','dev'))\n for opt in('faulthandler','tracemalloc','importtime',\n 'frozen_modules','showrefcount','utf8'):\n if opt in xoptions:\n value=xoptions[opt]\n if value is True:\n arg=opt\n else:\n arg='%s=%s'%(opt,value)\n args.extend(('-X',arg))\n \n return args\n \n \ndef _text_encoding():\n\n\n if sys.flags.warn_default_encoding:\n f=sys._getframe()\n filename=f.f_code.co_filename\n stacklevel=2\n while f :=f.f_back:\n if f.f_code.co_filename !=filename:\n break\n stacklevel +=1\n warnings.warn(\"'encoding' argument not specified.\",\n EncodingWarning,stacklevel)\n \n if sys.flags.utf8_mode:\n return \"utf-8\"\n else:\n return locale.getencoding()\n \n \ndef call(*popenargs,timeout=None,**kwargs):\n ''\n\n\n\n\n\n \n with Popen(*popenargs,**kwargs)as p:\n try:\n return p.wait(timeout=timeout)\n except:\n p.kill()\n \n raise\n \n \ndef check_call(*popenargs,**kwargs):\n ''\n\n\n\n\n\n\n\n \n retcode=call(*popenargs,**kwargs)\n if retcode:\n cmd=kwargs.get(\"args\")\n if cmd is None:\n cmd=popenargs[0]\n raise CalledProcessError(retcode,cmd)\n return 0\n \n \ndef check_output(*popenargs,timeout=None,**kwargs):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n for kw in('stdout','check'):\n if kw in kwargs:\n raise ValueError(f'{kw} argument not allowed, it will be overridden.')\n \n if 'input'in kwargs and kwargs['input']is None:\n \n \n if kwargs.get('universal_newlines')or kwargs.get('text')or kwargs.get('encoding')\\\n or kwargs.get('errors'):\n empty=''\n else:\n empty=b''\n kwargs['input']=empty\n \n return run(*popenargs,stdout=PIPE,timeout=timeout,check=True,\n **kwargs).stdout\n \n \nclass CompletedProcess(object):\n ''\n\n\n\n\n\n\n\n\n \n def __init__(self,args,returncode,stdout=None,stderr=None):\n self.args=args\n self.returncode=returncode\n self.stdout=stdout\n self.stderr=stderr\n \n def __repr__(self):\n args=['args={!r}'.format(self.args),\n 'returncode={!r}'.format(self.returncode)]\n if self.stdout is not None:\n args.append('stdout={!r}'.format(self.stdout))\n if self.stderr is not None:\n args.append('stderr={!r}'.format(self.stderr))\n return \"{}({})\".format(type(self).__name__,', '.join(args))\n \n __class_getitem__=classmethod(types.GenericAlias)\n \n \n def check_returncode(self):\n ''\n if self.returncode:\n raise CalledProcessError(self.returncode,self.args,self.stdout,\n self.stderr)\n \n \ndef run(*popenargs,\ninput=None,capture_output=False,timeout=None,check=False,**kwargs):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if input is not None:\n if kwargs.get('stdin')is not None:\n raise ValueError('stdin and input arguments may not both be used.')\n kwargs['stdin']=PIPE\n \n if capture_output:\n if kwargs.get('stdout')is not None or kwargs.get('stderr')is not None:\n raise ValueError('stdout and stderr arguments may not be used '\n 'with capture_output.')\n kwargs['stdout']=PIPE\n kwargs['stderr']=PIPE\n \n with Popen(*popenargs,**kwargs)as process:\n try:\n stdout,stderr=process.communicate(input,timeout=timeout)\n except TimeoutExpired as exc:\n process.kill()\n if _mswindows:\n \n \n \n \n \n exc.stdout,exc.stderr=process.communicate()\n else:\n \n \n process.wait()\n raise\n except:\n process.kill()\n \n raise\n retcode=process.poll()\n if check and retcode:\n raise CalledProcessError(retcode,process.args,\n output=stdout,stderr=stderr)\n return CompletedProcess(process.args,retcode,stdout,stderr)\n \n \ndef list2cmdline(seq):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n result=[]\n needquote=False\n for arg in map(os.fsdecode,seq):\n bs_buf=[]\n \n \n if result:\n result.append(' ')\n \n needquote=(\" \"in arg)or(\"\\t\"in arg)or not arg\n if needquote:\n result.append('\"')\n \n for c in arg:\n if c =='\\\\':\n \n bs_buf.append(c)\n elif c =='\"':\n \n result.append('\\\\'*len(bs_buf)*2)\n bs_buf=[]\n result.append('\\\\\"')\n else:\n \n if bs_buf:\n result.extend(bs_buf)\n bs_buf=[]\n result.append(c)\n \n \n if bs_buf:\n result.extend(bs_buf)\n \n if needquote:\n result.extend(bs_buf)\n result.append('\"')\n \n return ''.join(result)\n \n \n \n \n \ndef getstatusoutput(cmd,*,encoding=None,errors=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n data=check_output(cmd,shell=True,text=True,stderr=STDOUT,\n encoding=encoding,errors=errors)\n exitcode=0\n except CalledProcessError as ex:\n data=ex.output\n exitcode=ex.returncode\n if data[-1:]=='\\n':\n data=data[:-1]\n return exitcode,data\n \ndef getoutput(cmd,*,encoding=None,errors=None):\n ''\n\n\n\n\n\n\n\n \n return getstatusoutput(cmd,encoding=encoding,errors=errors)[1]\n \n \n \ndef _use_posix_spawn():\n ''\n\n\n\n\n\n\n\n\n\n\n \n if _mswindows or not hasattr(os,'posix_spawn'):\n \n return False\n \n if sys.platform in('darwin','sunos5'):\n \n \n return True\n \n \n try:\n ver=os.confstr('CS_GNU_LIBC_VERSION')\n \n parts=ver.split(maxsplit=1)\n if len(parts)!=2:\n \n raise ValueError\n libc=parts[0]\n version=tuple(map(int,parts[1].split('.')))\n \n if sys.platform =='linux'and libc =='glibc'and version >=(2,24):\n \n \n return True\n \n \n \n except(AttributeError,ValueError,OSError):\n \n pass\n \n \n return False\n \n \n \n \n_USE_POSIX_SPAWN=_use_posix_spawn()\n_USE_VFORK=True\n\n\nclass Popen:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n _child_created=False\n \n def __init__(self,args,bufsize=-1,executable=None,\n stdin=None,stdout=None,stderr=None,\n preexec_fn=None,close_fds=True,\n shell=False,cwd=None,env=None,universal_newlines=None,\n startupinfo=None,creationflags=0,\n restore_signals=True,start_new_session=False,\n pass_fds=(),*,user=None,group=None,extra_groups=None,\n encoding=None,errors=None,text=None,umask=-1,pipesize=-1,\n process_group=None):\n ''\n if not _can_fork_exec:\n raise OSError(\n errno.ENOTSUP,f\"{sys.platform} does not support processes.\"\n )\n \n _cleanup()\n \n \n \n \n \n self._waitpid_lock=threading.Lock()\n \n self._input=None\n self._communication_started=False\n if bufsize is None:\n bufsize=-1\n if not isinstance(bufsize,int):\n raise TypeError(\"bufsize must be an integer\")\n \n if pipesize is None:\n pipesize=-1\n if not isinstance(pipesize,int):\n raise TypeError(\"pipesize must be an integer\")\n \n if _mswindows:\n if preexec_fn is not None:\n raise ValueError(\"preexec_fn is not supported on Windows \"\n \"platforms\")\n else:\n \n if pass_fds and not close_fds:\n warnings.warn(\"pass_fds overriding close_fds.\",RuntimeWarning)\n close_fds=True\n if startupinfo is not None:\n raise ValueError(\"startupinfo is only supported on Windows \"\n \"platforms\")\n if creationflags !=0:\n raise ValueError(\"creationflags is only supported on Windows \"\n \"platforms\")\n \n self.args=args\n self.stdin=None\n self.stdout=None\n self.stderr=None\n self.pid=None\n self.returncode=None\n self.encoding=encoding\n self.errors=errors\n self.pipesize=pipesize\n \n \n if(text is not None and universal_newlines is not None\n and bool(universal_newlines)!=bool(text)):\n raise SubprocessError('Cannot disambiguate when both text '\n 'and universal_newlines are supplied but '\n 'different. Pass one or the other.')\n \n self.text_mode=encoding or errors or text or universal_newlines\n if self.text_mode and encoding is None:\n self.encoding=encoding=_text_encoding()\n \n \n \n \n self._sigint_wait_secs=0.25\n \n self._closed_child_pipe_fds=False\n \n if self.text_mode:\n if bufsize ==1:\n line_buffering=True\n \n \n bufsize=-1\n else:\n line_buffering=False\n \n if process_group is None:\n process_group=-1\n \n gid=None\n if group is not None:\n if not hasattr(os,'setregid'):\n raise ValueError(\"The 'group' parameter is not supported on the \"\n \"current platform\")\n \n elif isinstance(group,str):\n try:\n import grp\n except ImportError:\n raise ValueError(\"The group parameter cannot be a string \"\n \"on systems without the grp module\")\n \n gid=grp.getgrnam(group).gr_gid\n elif isinstance(group,int):\n gid=group\n else:\n raise TypeError(\"Group must be a string or an integer, not {}\"\n .format(type(group)))\n \n if gid <0:\n raise ValueError(f\"Group ID cannot be negative, got {gid}\")\n \n gids=None\n if extra_groups is not None:\n if not hasattr(os,'setgroups'):\n raise ValueError(\"The 'extra_groups' parameter is not \"\n \"supported on the current platform\")\n \n elif isinstance(extra_groups,str):\n raise ValueError(\"Groups must be a list, not a string\")\n \n gids=[]\n for extra_group in extra_groups:\n if isinstance(extra_group,str):\n try:\n import grp\n except ImportError:\n raise ValueError(\"Items in extra_groups cannot be \"\n \"strings on systems without the \"\n \"grp module\")\n \n gids.append(grp.getgrnam(extra_group).gr_gid)\n elif isinstance(extra_group,int):\n gids.append(extra_group)\n else:\n raise TypeError(\"Items in extra_groups must be a string \"\n \"or integer, not {}\"\n .format(type(extra_group)))\n \n \n \n for gid_check in gids:\n if gid_check <0:\n raise ValueError(f\"Group ID cannot be negative, got {gid_check}\")\n \n uid=None\n if user is not None:\n if not hasattr(os,'setreuid'):\n raise ValueError(\"The 'user' parameter is not supported on \"\n \"the current platform\")\n \n elif isinstance(user,str):\n try:\n import pwd\n except ImportError:\n raise ValueError(\"The user parameter cannot be a string \"\n \"on systems without the pwd module\")\n uid=pwd.getpwnam(user).pw_uid\n elif isinstance(user,int):\n uid=user\n else:\n raise TypeError(\"User must be a string or an integer\")\n \n if uid <0:\n raise ValueError(f\"User ID cannot be negative, got {uid}\")\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n (p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite)=self._get_handles(stdin,stdout,stderr)\n \n \n \n \n \n \n \n if _mswindows:\n if p2cwrite !=-1:\n p2cwrite=msvcrt.open_osfhandle(p2cwrite.Detach(),0)\n if c2pread !=-1:\n c2pread=msvcrt.open_osfhandle(c2pread.Detach(),0)\n if errread !=-1:\n errread=msvcrt.open_osfhandle(errread.Detach(),0)\n \n try:\n if p2cwrite !=-1:\n self.stdin=io.open(p2cwrite,'wb',bufsize)\n if self.text_mode:\n self.stdin=io.TextIOWrapper(self.stdin,write_through=True,\n line_buffering=line_buffering,\n encoding=encoding,errors=errors)\n if c2pread !=-1:\n self.stdout=io.open(c2pread,'rb',bufsize)\n if self.text_mode:\n self.stdout=io.TextIOWrapper(self.stdout,\n encoding=encoding,errors=errors)\n if errread !=-1:\n self.stderr=io.open(errread,'rb',bufsize)\n if self.text_mode:\n self.stderr=io.TextIOWrapper(self.stderr,\n encoding=encoding,errors=errors)\n \n self._execute_child(args,executable,preexec_fn,close_fds,\n pass_fds,cwd,env,\n startupinfo,creationflags,shell,\n p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite,\n restore_signals,\n gid,gids,uid,umask,\n start_new_session,process_group)\n except:\n \n for f in filter(None,(self.stdin,self.stdout,self.stderr)):\n try:\n f.close()\n except OSError:\n pass\n \n if not self._closed_child_pipe_fds:\n to_close=[]\n if stdin ==PIPE:\n to_close.append(p2cread)\n if stdout ==PIPE:\n to_close.append(c2pwrite)\n if stderr ==PIPE:\n to_close.append(errwrite)\n if hasattr(self,'_devnull'):\n to_close.append(self._devnull)\n for fd in to_close:\n try:\n if _mswindows and isinstance(fd,Handle):\n fd.Close()\n else:\n os.close(fd)\n except OSError:\n pass\n \n raise\n \n def __repr__(self):\n obj_repr=(\n f\"<{self.__class__.__name__}: \"\n f\"returncode: {self.returncode} args: {self.args !r}>\"\n )\n if len(obj_repr)>80:\n obj_repr=obj_repr[:76]+\"...>\"\n return obj_repr\n \n __class_getitem__=classmethod(types.GenericAlias)\n \n @property\n def universal_newlines(self):\n \n \n return self.text_mode\n \n @universal_newlines.setter\n def universal_newlines(self,universal_newlines):\n self.text_mode=bool(universal_newlines)\n \n def _translate_newlines(self,data,encoding,errors):\n data=data.decode(encoding,errors)\n return data.replace(\"\\r\\n\",\"\\n\").replace(\"\\r\",\"\\n\")\n \n def __enter__(self):\n return self\n \n def __exit__(self,exc_type,value,traceback):\n if self.stdout:\n self.stdout.close()\n if self.stderr:\n self.stderr.close()\n try:\n if self.stdin:\n self.stdin.close()\n finally:\n if exc_type ==KeyboardInterrupt:\n \n \n \n \n \n \n \n if self._sigint_wait_secs >0:\n try:\n self._wait(timeout=self._sigint_wait_secs)\n except TimeoutExpired:\n pass\n self._sigint_wait_secs=0\n return\n \n \n self.wait()\n \n def __del__(self,_maxsize=sys.maxsize,_warn=warnings.warn):\n if not self._child_created:\n \n return\n if self.returncode is None:\n \n \n _warn(\"subprocess %s is still running\"%self.pid,\n ResourceWarning,source=self)\n \n self._internal_poll(_deadstate=_maxsize)\n if self.returncode is None and _active is not None:\n \n _active.append(self)\n \n def _get_devnull(self):\n if not hasattr(self,'_devnull'):\n self._devnull=os.open(os.devnull,os.O_RDWR)\n return self._devnull\n \n def _stdin_write(self,input):\n if input:\n try:\n self.stdin.write(input)\n except BrokenPipeError:\n pass\n except OSError as exc:\n if exc.errno ==errno.EINVAL:\n \n \n \n pass\n else:\n raise\n \n try:\n self.stdin.close()\n except BrokenPipeError:\n pass\n except OSError as exc:\n if exc.errno ==errno.EINVAL:\n pass\n else:\n raise\n \n def communicate(self,input=None,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if self._communication_started and input:\n raise ValueError(\"Cannot send input after starting communication\")\n \n \n \n \n if(timeout is None and not self._communication_started and\n [self.stdin,self.stdout,self.stderr].count(None)>=2):\n stdout=None\n stderr=None\n if self.stdin:\n self._stdin_write(input)\n elif self.stdout:\n stdout=self.stdout.read()\n self.stdout.close()\n elif self.stderr:\n stderr=self.stderr.read()\n self.stderr.close()\n self.wait()\n else:\n if timeout is not None:\n endtime=_time()+timeout\n else:\n endtime=None\n \n try:\n stdout,stderr=self._communicate(input,endtime,timeout)\n except KeyboardInterrupt:\n \n \n if timeout is not None:\n sigint_timeout=min(self._sigint_wait_secs,\n self._remaining_time(endtime))\n else:\n sigint_timeout=self._sigint_wait_secs\n self._sigint_wait_secs=0\n try:\n self._wait(timeout=sigint_timeout)\n except TimeoutExpired:\n pass\n raise\n \n finally:\n self._communication_started=True\n \n sts=self.wait(timeout=self._remaining_time(endtime))\n \n return(stdout,stderr)\n \n \n def poll(self):\n ''\n \n return self._internal_poll()\n \n \n def _remaining_time(self,endtime):\n ''\n if endtime is None:\n return None\n else:\n return endtime -_time()\n \n \n def _check_timeout(self,endtime,orig_timeout,stdout_seq,stderr_seq,\n skip_check_and_raise=False):\n ''\n if endtime is None:\n return\n if skip_check_and_raise or _time()>endtime:\n raise TimeoutExpired(\n self.args,orig_timeout,\n output=b''.join(stdout_seq)if stdout_seq else None,\n stderr=b''.join(stderr_seq)if stderr_seq else None)\n \n \n def wait(self,timeout=None):\n ''\n if timeout is not None:\n endtime=_time()+timeout\n try:\n return self._wait(timeout=timeout)\n except KeyboardInterrupt:\n \n \n \n \n if timeout is not None:\n sigint_timeout=min(self._sigint_wait_secs,\n self._remaining_time(endtime))\n else:\n sigint_timeout=self._sigint_wait_secs\n self._sigint_wait_secs=0\n try:\n self._wait(timeout=sigint_timeout)\n except TimeoutExpired:\n pass\n raise\n \n def _close_pipe_fds(self,\n p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite):\n \n devnull_fd=getattr(self,'_devnull',None)\n \n with contextlib.ExitStack()as stack:\n if _mswindows:\n if p2cread !=-1:\n stack.callback(p2cread.Close)\n if c2pwrite !=-1:\n stack.callback(c2pwrite.Close)\n if errwrite !=-1:\n stack.callback(errwrite.Close)\n else:\n if p2cread !=-1 and p2cwrite !=-1 and p2cread !=devnull_fd:\n stack.callback(os.close,p2cread)\n if c2pwrite !=-1 and c2pread !=-1 and c2pwrite !=devnull_fd:\n stack.callback(os.close,c2pwrite)\n if errwrite !=-1 and errread !=-1 and errwrite !=devnull_fd:\n stack.callback(os.close,errwrite)\n \n if devnull_fd is not None:\n stack.callback(os.close,devnull_fd)\n \n \n self._closed_child_pipe_fds=True\n \n @contextlib.contextmanager\n def _on_error_fd_closer(self):\n ''\n to_close=[]\n try:\n yield to_close\n except:\n if hasattr(self,'_devnull'):\n to_close.append(self._devnull)\n del self._devnull\n for fd in to_close:\n try:\n if _mswindows and isinstance(fd,Handle):\n fd.Close()\n else:\n os.close(fd)\n except OSError:\n pass\n raise\n \n if _mswindows:\n \n \n \n def _get_handles(self,stdin,stdout,stderr):\n ''\n\n \n if stdin is None and stdout is None and stderr is None:\n return(-1,-1,-1,-1,-1,-1)\n \n p2cread,p2cwrite=-1,-1\n c2pread,c2pwrite=-1,-1\n errread,errwrite=-1,-1\n \n with self._on_error_fd_closer()as err_close_fds:\n if stdin is None:\n p2cread=_winapi.GetStdHandle(_winapi.STD_INPUT_HANDLE)\n if p2cread is None:\n p2cread,_=_winapi.CreatePipe(None,0)\n p2cread=Handle(p2cread)\n err_close_fds.append(p2cread)\n _winapi.CloseHandle(_)\n elif stdin ==PIPE:\n p2cread,p2cwrite=_winapi.CreatePipe(None,0)\n p2cread,p2cwrite=Handle(p2cread),Handle(p2cwrite)\n err_close_fds.extend((p2cread,p2cwrite))\n elif stdin ==DEVNULL:\n p2cread=msvcrt.get_osfhandle(self._get_devnull())\n elif isinstance(stdin,int):\n p2cread=msvcrt.get_osfhandle(stdin)\n else:\n \n p2cread=msvcrt.get_osfhandle(stdin.fileno())\n p2cread=self._make_inheritable(p2cread)\n \n if stdout is None:\n c2pwrite=_winapi.GetStdHandle(_winapi.STD_OUTPUT_HANDLE)\n if c2pwrite is None:\n _,c2pwrite=_winapi.CreatePipe(None,0)\n c2pwrite=Handle(c2pwrite)\n err_close_fds.append(c2pwrite)\n _winapi.CloseHandle(_)\n elif stdout ==PIPE:\n c2pread,c2pwrite=_winapi.CreatePipe(None,0)\n c2pread,c2pwrite=Handle(c2pread),Handle(c2pwrite)\n err_close_fds.extend((c2pread,c2pwrite))\n elif stdout ==DEVNULL:\n c2pwrite=msvcrt.get_osfhandle(self._get_devnull())\n elif isinstance(stdout,int):\n c2pwrite=msvcrt.get_osfhandle(stdout)\n else:\n \n c2pwrite=msvcrt.get_osfhandle(stdout.fileno())\n c2pwrite=self._make_inheritable(c2pwrite)\n \n if stderr is None:\n errwrite=_winapi.GetStdHandle(_winapi.STD_ERROR_HANDLE)\n if errwrite is None:\n _,errwrite=_winapi.CreatePipe(None,0)\n errwrite=Handle(errwrite)\n err_close_fds.append(errwrite)\n _winapi.CloseHandle(_)\n elif stderr ==PIPE:\n errread,errwrite=_winapi.CreatePipe(None,0)\n errread,errwrite=Handle(errread),Handle(errwrite)\n err_close_fds.extend((errread,errwrite))\n elif stderr ==STDOUT:\n errwrite=c2pwrite\n elif stderr ==DEVNULL:\n errwrite=msvcrt.get_osfhandle(self._get_devnull())\n elif isinstance(stderr,int):\n errwrite=msvcrt.get_osfhandle(stderr)\n else:\n \n errwrite=msvcrt.get_osfhandle(stderr.fileno())\n errwrite=self._make_inheritable(errwrite)\n \n return(p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite)\n \n \n def _make_inheritable(self,handle):\n ''\n h=_winapi.DuplicateHandle(\n _winapi.GetCurrentProcess(),handle,\n _winapi.GetCurrentProcess(),0,1,\n _winapi.DUPLICATE_SAME_ACCESS)\n return Handle(h)\n \n \n def _filter_handle_list(self,handle_list):\n ''\n\n \n \n \n \n return list({handle for handle in handle_list\n if handle&0x3 !=0x3\n or _winapi.GetFileType(handle)!=\n _winapi.FILE_TYPE_CHAR})\n \n \n def _execute_child(self,args,executable,preexec_fn,close_fds,\n pass_fds,cwd,env,\n startupinfo,creationflags,shell,\n p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite,\n unused_restore_signals,\n unused_gid,unused_gids,unused_uid,\n unused_umask,\n unused_start_new_session,unused_process_group):\n ''\n \n assert not pass_fds,\"pass_fds not supported on Windows.\"\n \n if isinstance(args,str):\n pass\n elif isinstance(args,bytes):\n if shell:\n raise TypeError('bytes args is not allowed on Windows')\n args=list2cmdline([args])\n elif isinstance(args,os.PathLike):\n if shell:\n raise TypeError('path-like args is not allowed when '\n 'shell is true')\n args=list2cmdline([args])\n else:\n args=list2cmdline(args)\n \n if executable is not None:\n executable=os.fsdecode(executable)\n \n \n if startupinfo is None:\n startupinfo=STARTUPINFO()\n else:\n \n \n startupinfo=startupinfo.copy()\n \n use_std_handles=-1 not in(p2cread,c2pwrite,errwrite)\n if use_std_handles:\n startupinfo.dwFlags |=_winapi.STARTF_USESTDHANDLES\n startupinfo.hStdInput=p2cread\n startupinfo.hStdOutput=c2pwrite\n startupinfo.hStdError=errwrite\n \n attribute_list=startupinfo.lpAttributeList\n have_handle_list=bool(attribute_list and\n \"handle_list\"in attribute_list and\n attribute_list[\"handle_list\"])\n \n \n if have_handle_list or(use_std_handles and close_fds):\n if attribute_list is None:\n attribute_list=startupinfo.lpAttributeList={}\n handle_list=attribute_list[\"handle_list\"]=\\\n list(attribute_list.get(\"handle_list\",[]))\n \n if use_std_handles:\n handle_list +=[int(p2cread),int(c2pwrite),int(errwrite)]\n \n handle_list[:]=self._filter_handle_list(handle_list)\n \n if handle_list:\n if not close_fds:\n warnings.warn(\"startupinfo.lpAttributeList['handle_list'] \"\n \"overriding close_fds\",RuntimeWarning)\n \n \n \n \n close_fds=False\n \n if shell:\n startupinfo.dwFlags |=_winapi.STARTF_USESHOWWINDOW\n startupinfo.wShowWindow=_winapi.SW_HIDE\n if not executable:\n \n \n \n \n \n comspec=os.environ.get('ComSpec')\n if not comspec:\n system_root=os.environ.get('SystemRoot','')\n comspec=os.path.join(system_root,'System32','cmd.exe')\n if not os.path.isabs(comspec):\n raise FileNotFoundError('shell not found: neither %ComSpec% nor %SystemRoot% is set')\n if os.path.isabs(comspec):\n executable=comspec\n else:\n comspec=executable\n \n args='{} /c \"{}\"'.format(comspec,args)\n \n if cwd is not None:\n cwd=os.fsdecode(cwd)\n \n sys.audit(\"subprocess.Popen\",executable,args,cwd,env)\n \n \n try:\n hp,ht,pid,tid=_winapi.CreateProcess(executable,args,\n \n None,None,\n int(not close_fds),\n creationflags,\n env,\n cwd,\n startupinfo)\n finally:\n \n \n \n \n \n \n self._close_pipe_fds(p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite)\n \n \n self._child_created=True\n self._handle=Handle(hp)\n self.pid=pid\n _winapi.CloseHandle(ht)\n \n def _internal_poll(self,_deadstate=None,\n _WaitForSingleObject=_winapi.WaitForSingleObject,\n _WAIT_OBJECT_0=_winapi.WAIT_OBJECT_0,\n _GetExitCodeProcess=_winapi.GetExitCodeProcess):\n ''\n\n\n\n\n\n \n if self.returncode is None:\n if _WaitForSingleObject(self._handle,0)==_WAIT_OBJECT_0:\n self.returncode=_GetExitCodeProcess(self._handle)\n return self.returncode\n \n \n def _wait(self,timeout):\n ''\n if timeout is None:\n timeout_millis=_winapi.INFINITE\n else:\n timeout_millis=int(timeout *1000)\n if self.returncode is None:\n \n result=_winapi.WaitForSingleObject(self._handle,\n timeout_millis)\n if result ==_winapi.WAIT_TIMEOUT:\n raise TimeoutExpired(self.args,timeout)\n self.returncode=_winapi.GetExitCodeProcess(self._handle)\n return self.returncode\n \n \n def _readerthread(self,fh,buffer):\n buffer.append(fh.read())\n fh.close()\n \n \n def _communicate(self,input,endtime,orig_timeout):\n \n \n if self.stdout and not hasattr(self,\"_stdout_buff\"):\n self._stdout_buff=[]\n self.stdout_thread=\\\n threading.Thread(target=self._readerthread,\n args=(self.stdout,self._stdout_buff))\n self.stdout_thread.daemon=True\n self.stdout_thread.start()\n if self.stderr and not hasattr(self,\"_stderr_buff\"):\n self._stderr_buff=[]\n self.stderr_thread=\\\n threading.Thread(target=self._readerthread,\n args=(self.stderr,self._stderr_buff))\n self.stderr_thread.daemon=True\n self.stderr_thread.start()\n \n if self.stdin:\n self._stdin_write(input)\n \n \n \n \n if self.stdout is not None:\n self.stdout_thread.join(self._remaining_time(endtime))\n if self.stdout_thread.is_alive():\n raise TimeoutExpired(self.args,orig_timeout)\n if self.stderr is not None:\n self.stderr_thread.join(self._remaining_time(endtime))\n if self.stderr_thread.is_alive():\n raise TimeoutExpired(self.args,orig_timeout)\n \n \n \n stdout=None\n stderr=None\n if self.stdout:\n stdout=self._stdout_buff\n self.stdout.close()\n if self.stderr:\n stderr=self._stderr_buff\n self.stderr.close()\n \n \n stdout=stdout[0]if stdout else None\n stderr=stderr[0]if stderr else None\n \n return(stdout,stderr)\n \n def send_signal(self,sig):\n ''\n \n if self.returncode is not None:\n return\n if sig ==signal.SIGTERM:\n self.terminate()\n elif sig ==signal.CTRL_C_EVENT:\n os.kill(self.pid,signal.CTRL_C_EVENT)\n elif sig ==signal.CTRL_BREAK_EVENT:\n os.kill(self.pid,signal.CTRL_BREAK_EVENT)\n else:\n raise ValueError(\"Unsupported signal: {}\".format(sig))\n \n def terminate(self):\n ''\n \n if self.returncode is not None:\n return\n try:\n _winapi.TerminateProcess(self._handle,1)\n except PermissionError:\n \n \n rc=_winapi.GetExitCodeProcess(self._handle)\n if rc ==_winapi.STILL_ACTIVE:\n raise\n self.returncode=rc\n \n kill=terminate\n \n else:\n \n \n \n def _get_handles(self,stdin,stdout,stderr):\n ''\n\n \n p2cread,p2cwrite=-1,-1\n c2pread,c2pwrite=-1,-1\n errread,errwrite=-1,-1\n \n with self._on_error_fd_closer()as err_close_fds:\n if stdin is None:\n pass\n elif stdin ==PIPE:\n p2cread,p2cwrite=os.pipe()\n err_close_fds.extend((p2cread,p2cwrite))\n if self.pipesize >0 and hasattr(fcntl,\"F_SETPIPE_SZ\"):\n fcntl.fcntl(p2cwrite,fcntl.F_SETPIPE_SZ,self.pipesize)\n elif stdin ==DEVNULL:\n p2cread=self._get_devnull()\n elif isinstance(stdin,int):\n p2cread=stdin\n else:\n \n p2cread=stdin.fileno()\n \n if stdout is None:\n pass\n elif stdout ==PIPE:\n c2pread,c2pwrite=os.pipe()\n err_close_fds.extend((c2pread,c2pwrite))\n if self.pipesize >0 and hasattr(fcntl,\"F_SETPIPE_SZ\"):\n fcntl.fcntl(c2pwrite,fcntl.F_SETPIPE_SZ,self.pipesize)\n elif stdout ==DEVNULL:\n c2pwrite=self._get_devnull()\n elif isinstance(stdout,int):\n c2pwrite=stdout\n else:\n \n c2pwrite=stdout.fileno()\n \n if stderr is None:\n pass\n elif stderr ==PIPE:\n errread,errwrite=os.pipe()\n err_close_fds.extend((errread,errwrite))\n if self.pipesize >0 and hasattr(fcntl,\"F_SETPIPE_SZ\"):\n fcntl.fcntl(errwrite,fcntl.F_SETPIPE_SZ,self.pipesize)\n elif stderr ==STDOUT:\n if c2pwrite !=-1:\n errwrite=c2pwrite\n else:\n errwrite=sys.__stdout__.fileno()\n elif stderr ==DEVNULL:\n errwrite=self._get_devnull()\n elif isinstance(stderr,int):\n errwrite=stderr\n else:\n \n errwrite=stderr.fileno()\n \n return(p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite)\n \n \n def _posix_spawn(self,args,executable,env,restore_signals,\n p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite):\n ''\n if env is None:\n env=os.environ\n \n kwargs={}\n if restore_signals:\n \n sigset=[]\n for signame in('SIGPIPE','SIGXFZ','SIGXFSZ'):\n signum=getattr(signal,signame,None)\n if signum is not None:\n sigset.append(signum)\n kwargs['setsigdef']=sigset\n \n file_actions=[]\n for fd in(p2cwrite,c2pread,errread):\n if fd !=-1:\n file_actions.append((os.POSIX_SPAWN_CLOSE,fd))\n for fd,fd2 in(\n (p2cread,0),\n (c2pwrite,1),\n (errwrite,2),\n ):\n if fd !=-1:\n file_actions.append((os.POSIX_SPAWN_DUP2,fd,fd2))\n if file_actions:\n kwargs['file_actions']=file_actions\n \n self.pid=os.posix_spawn(executable,args,env,**kwargs)\n self._child_created=True\n \n self._close_pipe_fds(p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite)\n \n def _execute_child(self,args,executable,preexec_fn,close_fds,\n pass_fds,cwd,env,\n startupinfo,creationflags,shell,\n p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite,\n restore_signals,\n gid,gids,uid,umask,\n start_new_session,process_group):\n ''\n \n if isinstance(args,(str,bytes)):\n args=[args]\n elif isinstance(args,os.PathLike):\n if shell:\n raise TypeError('path-like args is not allowed when '\n 'shell is true')\n args=[args]\n else:\n args=list(args)\n \n if shell:\n \n unix_shell=('/system/bin/sh'if\n hasattr(sys,'getandroidapilevel')else '/bin/sh')\n args=[unix_shell,\"-c\"]+args\n if executable:\n args[0]=executable\n \n if executable is None:\n executable=args[0]\n \n sys.audit(\"subprocess.Popen\",executable,args,cwd,env)\n \n if(_USE_POSIX_SPAWN\n and os.path.dirname(executable)\n and preexec_fn is None\n and not close_fds\n and not pass_fds\n and cwd is None\n and(p2cread ==-1 or p2cread >2)\n and(c2pwrite ==-1 or c2pwrite >2)\n and(errwrite ==-1 or errwrite >2)\n and not start_new_session\n and process_group ==-1\n and gid is None\n and gids is None\n and uid is None\n and umask <0):\n self._posix_spawn(args,executable,env,restore_signals,\n p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite)\n return\n \n orig_executable=executable\n \n \n \n \n errpipe_read,errpipe_write=os.pipe()\n \n low_fds_to_close=[]\n while errpipe_write <3:\n low_fds_to_close.append(errpipe_write)\n errpipe_write=os.dup(errpipe_write)\n for low_fd in low_fds_to_close:\n os.close(low_fd)\n try:\n try:\n \n \n \n \n \n if env is not None:\n env_list=[]\n for k,v in env.items():\n k=os.fsencode(k)\n if b'='in k:\n raise ValueError(\"illegal environment variable name\")\n env_list.append(k+b'='+os.fsencode(v))\n else:\n env_list=None\n executable=os.fsencode(executable)\n if os.path.dirname(executable):\n executable_list=(executable,)\n else:\n \n executable_list=tuple(\n os.path.join(os.fsencode(dir),executable)\n for dir in os.get_exec_path(env))\n fds_to_keep=set(pass_fds)\n fds_to_keep.add(errpipe_write)\n self.pid=_fork_exec(\n args,executable_list,\n close_fds,tuple(sorted(map(int,fds_to_keep))),\n cwd,env_list,\n p2cread,p2cwrite,c2pread,c2pwrite,\n errread,errwrite,\n errpipe_read,errpipe_write,\n restore_signals,start_new_session,\n process_group,gid,gids,uid,umask,\n preexec_fn,_USE_VFORK)\n self._child_created=True\n finally:\n \n os.close(errpipe_write)\n \n self._close_pipe_fds(p2cread,p2cwrite,\n c2pread,c2pwrite,\n errread,errwrite)\n \n \n \n errpipe_data=bytearray()\n while True:\n part=os.read(errpipe_read,50000)\n errpipe_data +=part\n if not part or len(errpipe_data)>50000:\n break\n finally:\n \n os.close(errpipe_read)\n \n if errpipe_data:\n try:\n pid,sts=os.waitpid(self.pid,0)\n if pid ==self.pid:\n self._handle_exitstatus(sts)\n else:\n self.returncode=sys.maxsize\n except ChildProcessError:\n pass\n \n try:\n exception_name,hex_errno,err_msg=(\n errpipe_data.split(b':',2))\n \n \n \n err_msg=err_msg.decode()\n except ValueError:\n exception_name=b'SubprocessError'\n hex_errno=b'0'\n err_msg='Bad exception data from child: {!r}'.format(\n bytes(errpipe_data))\n child_exception_type=getattr(\n builtins,exception_name.decode('ascii'),\n SubprocessError)\n if issubclass(child_exception_type,OSError)and hex_errno:\n errno_num=int(hex_errno,16)\n child_exec_never_called=(err_msg ==\"noexec\")\n if child_exec_never_called:\n err_msg=\"\"\n \n err_filename=cwd\n else:\n err_filename=orig_executable\n if errno_num !=0:\n err_msg=os.strerror(errno_num)\n raise child_exception_type(errno_num,err_msg,err_filename)\n raise child_exception_type(err_msg)\n \n \n def _handle_exitstatus(self,sts,\n _waitstatus_to_exitcode=_waitstatus_to_exitcode,\n _WIFSTOPPED=_WIFSTOPPED,\n _WSTOPSIG=_WSTOPSIG):\n ''\n \n \n if _WIFSTOPPED(sts):\n self.returncode=-_WSTOPSIG(sts)\n else:\n self.returncode=_waitstatus_to_exitcode(sts)\n \n def _internal_poll(self,_deadstate=None,_waitpid=_waitpid,\n _WNOHANG=_WNOHANG,_ECHILD=errno.ECHILD):\n ''\n\n\n\n\n\n \n if self.returncode is None:\n if not self._waitpid_lock.acquire(False):\n \n \n return None\n try:\n if self.returncode is not None:\n return self.returncode\n pid,sts=_waitpid(self.pid,_WNOHANG)\n if pid ==self.pid:\n self._handle_exitstatus(sts)\n except OSError as e:\n if _deadstate is not None:\n self.returncode=_deadstate\n elif e.errno ==_ECHILD:\n \n \n \n \n \n self.returncode=0\n finally:\n self._waitpid_lock.release()\n return self.returncode\n \n \n def _try_wait(self,wait_flags):\n ''\n try:\n (pid,sts)=os.waitpid(self.pid,wait_flags)\n except ChildProcessError:\n \n \n \n pid=self.pid\n sts=0\n return(pid,sts)\n \n \n def _wait(self,timeout):\n ''\n if self.returncode is not None:\n return self.returncode\n \n if timeout is not None:\n endtime=_time()+timeout\n \n \n delay=0.0005\n while True:\n if self._waitpid_lock.acquire(False):\n try:\n if self.returncode is not None:\n break\n (pid,sts)=self._try_wait(os.WNOHANG)\n assert pid ==self.pid or pid ==0\n if pid ==self.pid:\n self._handle_exitstatus(sts)\n break\n finally:\n self._waitpid_lock.release()\n remaining=self._remaining_time(endtime)\n if remaining <=0:\n raise TimeoutExpired(self.args,timeout)\n delay=min(delay *2,remaining,.05)\n time.sleep(delay)\n else:\n while self.returncode is None:\n with self._waitpid_lock:\n if self.returncode is not None:\n break\n (pid,sts)=self._try_wait(0)\n \n \n \n if pid ==self.pid:\n self._handle_exitstatus(sts)\n return self.returncode\n \n \n def _communicate(self,input,endtime,orig_timeout):\n if self.stdin and not self._communication_started:\n \n \n try:\n self.stdin.flush()\n except BrokenPipeError:\n pass\n if not input:\n try:\n self.stdin.close()\n except BrokenPipeError:\n pass\n \n stdout=None\n stderr=None\n \n \n if not self._communication_started:\n self._fileobj2output={}\n if self.stdout:\n self._fileobj2output[self.stdout]=[]\n if self.stderr:\n self._fileobj2output[self.stderr]=[]\n \n if self.stdout:\n stdout=self._fileobj2output[self.stdout]\n if self.stderr:\n stderr=self._fileobj2output[self.stderr]\n \n self._save_input(input)\n \n if self._input:\n input_view=memoryview(self._input)\n \n with _PopenSelector()as selector:\n if self.stdin and input:\n selector.register(self.stdin,selectors.EVENT_WRITE)\n if self.stdout and not self.stdout.closed:\n selector.register(self.stdout,selectors.EVENT_READ)\n if self.stderr and not self.stderr.closed:\n selector.register(self.stderr,selectors.EVENT_READ)\n \n while selector.get_map():\n timeout=self._remaining_time(endtime)\n if timeout is not None and timeout <0:\n self._check_timeout(endtime,orig_timeout,\n stdout,stderr,\n skip_check_and_raise=True)\n raise RuntimeError(\n '_check_timeout(..., skip_check_and_raise=True) '\n 'failed to raise TimeoutExpired.')\n \n ready=selector.select(timeout)\n self._check_timeout(endtime,orig_timeout,stdout,stderr)\n \n \n \n \n for key,events in ready:\n if key.fileobj is self.stdin:\n chunk=input_view[self._input_offset:\n self._input_offset+_PIPE_BUF]\n try:\n self._input_offset +=os.write(key.fd,chunk)\n except BrokenPipeError:\n selector.unregister(key.fileobj)\n key.fileobj.close()\n else:\n if self._input_offset >=len(self._input):\n selector.unregister(key.fileobj)\n key.fileobj.close()\n elif key.fileobj in(self.stdout,self.stderr):\n data=os.read(key.fd,32768)\n if not data:\n selector.unregister(key.fileobj)\n key.fileobj.close()\n self._fileobj2output[key.fileobj].append(data)\n \n self.wait(timeout=self._remaining_time(endtime))\n \n \n if stdout is not None:\n stdout=b''.join(stdout)\n if stderr is not None:\n stderr=b''.join(stderr)\n \n \n \n if self.text_mode:\n if stdout is not None:\n stdout=self._translate_newlines(stdout,\n self.stdout.encoding,\n self.stdout.errors)\n if stderr is not None:\n stderr=self._translate_newlines(stderr,\n self.stderr.encoding,\n self.stderr.errors)\n \n return(stdout,stderr)\n \n \n def _save_input(self,input):\n \n \n \n if self.stdin and self._input is None:\n self._input_offset=0\n self._input=input\n if input is not None and self.text_mode:\n self._input=self._input.encode(self.stdin.encoding,\n self.stdin.errors)\n \n \n def send_signal(self,sig):\n ''\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n self.poll()\n if self.returncode is not None:\n \n return\n \n \n \n \n try:\n os.kill(self.pid,sig)\n except ProcessLookupError:\n \n pass\n \n def terminate(self):\n ''\n \n self.send_signal(signal.SIGTERM)\n \n def kill(self):\n ''\n \n self.send_signal(signal.SIGKILL)\n",["_posixsubprocess","_winapi","builtins","contextlib","errno","fcntl","grp","io","locale","msvcrt","os","pwd","select","selectors","signal","sys","threading","time","types","warnings"]],symtable:[".py","''\n\nimport _symtable\nfrom _symtable import(USE,DEF_GLOBAL,DEF_NONLOCAL,DEF_LOCAL,DEF_PARAM,\nDEF_IMPORT,DEF_BOUND,DEF_ANNOT,SCOPE_OFF,SCOPE_MASK,FREE,\nLOCAL,GLOBAL_IMPLICIT,GLOBAL_EXPLICIT,CELL)\n\nimport weakref\n\n__all__=[\"symtable\",\"SymbolTable\",\"Class\",\"Function\",\"Symbol\"]\n\ndef symtable(code,filename,compile_type):\n ''\n\n\n\n \n top=_symtable.symtable(code,filename,compile_type)\n return _newSymbolTable(top,filename)\n \nclass SymbolTableFactory:\n def __init__(self):\n self.__memo=weakref.WeakValueDictionary()\n \n def new(self,table,filename):\n if table.type ==_symtable.TYPE_FUNCTION:\n return Function(table,filename)\n if table.type ==_symtable.TYPE_CLASS:\n return Class(table,filename)\n return SymbolTable(table,filename)\n \n def __call__(self,table,filename):\n key=table,filename\n obj=self.__memo.get(key,None)\n if obj is None:\n obj=self.__memo[key]=self.new(table,filename)\n return obj\n \n_newSymbolTable=SymbolTableFactory()\n\n\nclass SymbolTable:\n\n def __init__(self,raw_table,filename):\n self._table=raw_table\n self._filename=filename\n self._symbols={}\n \n def __repr__(self):\n if self.__class__ ==SymbolTable:\n kind=\"\"\n else:\n kind=\"%s \"%self.__class__.__name__\n \n if self._table.name ==\"top\":\n return \"<{0}SymbolTable for module {1}>\".format(kind,self._filename)\n else:\n return \"<{0}SymbolTable for {1} in {2}>\".format(kind,\n self._table.name,\n self._filename)\n \n def get_type(self):\n ''\n\n\n\n \n if self._table.type ==_symtable.TYPE_MODULE:\n return \"module\"\n if self._table.type ==_symtable.TYPE_FUNCTION:\n return \"function\"\n if self._table.type ==_symtable.TYPE_CLASS:\n return \"class\"\n if self._table.type ==_symtable.TYPE_ANNOTATION:\n return \"annotation\"\n if self._table.type ==_symtable.TYPE_TYPE_VAR_BOUND:\n return \"TypeVar bound\"\n if self._table.type ==_symtable.TYPE_TYPE_ALIAS:\n return \"type alias\"\n if self._table.type ==_symtable.TYPE_TYPE_PARAM:\n return \"type parameter\"\n assert False,f\"unexpected type: {self._table.type}\"\n \n def get_id(self):\n ''\n \n return self._table.id\n \n def get_name(self):\n ''\n\n\n\n\n \n return self._table.name\n \n def get_lineno(self):\n ''\n\n \n return self._table.lineno\n \n def is_optimized(self):\n ''\n\n \n return bool(self._table.type ==_symtable.TYPE_FUNCTION)\n \n def is_nested(self):\n ''\n \n return bool(self._table.nested)\n \n def has_children(self):\n ''\n \n return bool(self._table.children)\n \n def get_identifiers(self):\n ''\n \n return self._table.symbols.keys()\n \n def lookup(self,name):\n ''\n\n\n \n sym=self._symbols.get(name)\n if sym is None:\n flags=self._table.symbols[name]\n namespaces=self.__check_children(name)\n module_scope=(self._table.name ==\"top\")\n sym=self._symbols[name]=Symbol(name,flags,namespaces,\n module_scope=module_scope)\n return sym\n \n def get_symbols(self):\n ''\n\n \n return[self.lookup(ident)for ident in self.get_identifiers()]\n \n def __check_children(self,name):\n return[_newSymbolTable(st,self._filename)\n for st in self._table.children\n if st.name ==name]\n \n def get_children(self):\n ''\n \n return[_newSymbolTable(st,self._filename)\n for st in self._table.children]\n \n \nclass Function(SymbolTable):\n\n\n __params=None\n __locals=None\n __frees=None\n __globals=None\n __nonlocals=None\n \n def __idents_matching(self,test_func):\n return tuple(ident for ident in self.get_identifiers()\n if test_func(self._table.symbols[ident]))\n \n def get_parameters(self):\n ''\n \n if self.__params is None:\n self.__params=self.__idents_matching(lambda x:x&DEF_PARAM)\n return self.__params\n \n def get_locals(self):\n ''\n \n if self.__locals is None:\n locs=(LOCAL,CELL)\n test=lambda x:((x >>SCOPE_OFF)&SCOPE_MASK)in locs\n self.__locals=self.__idents_matching(test)\n return self.__locals\n \n def get_globals(self):\n ''\n \n if self.__globals is None:\n glob=(GLOBAL_IMPLICIT,GLOBAL_EXPLICIT)\n test=lambda x:((x >>SCOPE_OFF)&SCOPE_MASK)in glob\n self.__globals=self.__idents_matching(test)\n return self.__globals\n \n def get_nonlocals(self):\n ''\n \n if self.__nonlocals is None:\n self.__nonlocals=self.__idents_matching(lambda x:x&DEF_NONLOCAL)\n return self.__nonlocals\n \n def get_frees(self):\n ''\n \n if self.__frees is None:\n is_free=lambda x:((x >>SCOPE_OFF)&SCOPE_MASK)==FREE\n self.__frees=self.__idents_matching(is_free)\n return self.__frees\n \n \nclass Class(SymbolTable):\n\n __methods=None\n \n def get_methods(self):\n ''\n \n if self.__methods is None:\n d={}\n for st in self._table.children:\n d[st.name]=1\n self.__methods=tuple(d)\n return self.__methods\n \n \nclass Symbol:\n\n def __init__(self,name,flags,namespaces=None,*,module_scope=False):\n self.__name=name\n self.__flags=flags\n self.__scope=(flags >>SCOPE_OFF)&SCOPE_MASK\n self.__namespaces=namespaces or()\n self.__module_scope=module_scope\n \n def __repr__(self):\n return \"\".format(self.__name)\n \n def get_name(self):\n ''\n \n return self.__name\n \n def is_referenced(self):\n ''\n\n \n return bool(self.__flags&_symtable.USE)\n \n def is_parameter(self):\n ''\n \n return bool(self.__flags&DEF_PARAM)\n \n def is_global(self):\n ''\n \n return bool(self.__scope in(GLOBAL_IMPLICIT,GLOBAL_EXPLICIT)\n or(self.__module_scope and self.__flags&DEF_BOUND))\n \n def is_nonlocal(self):\n ''\n return bool(self.__flags&DEF_NONLOCAL)\n \n def is_declared_global(self):\n ''\n \n return bool(self.__scope ==GLOBAL_EXPLICIT)\n \n def is_local(self):\n ''\n \n return bool(self.__scope in(LOCAL,CELL)\n or(self.__module_scope and self.__flags&DEF_BOUND))\n \n def is_annotated(self):\n ''\n \n return bool(self.__flags&DEF_ANNOT)\n \n def is_free(self):\n ''\n\n \n return bool(self.__scope ==FREE)\n \n def is_imported(self):\n ''\n\n \n return bool(self.__flags&DEF_IMPORT)\n \n def is_assigned(self):\n ''\n return bool(self.__flags&DEF_LOCAL)\n \n def is_namespace(self):\n ''\n\n\n\n\n\n\n\n\n \n return bool(self.__namespaces)\n \n def get_namespaces(self):\n ''\n return self.__namespaces\n \n def get_namespace(self):\n ''\n\n\n\n \n if len(self.__namespaces)==0:\n raise ValueError(\"name is not bound to any namespaces\")\n elif len(self.__namespaces)>1:\n raise ValueError(\"name is bound to multiple namespaces\")\n else:\n return self.__namespaces[0]\n \nif __name__ ==\"__main__\":\n import os,sys\n with open(sys.argv[0])as f:\n src=f.read()\n mod=symtable(src,os.path.split(sys.argv[0])[1],\"exec\")\n for ident in mod.get_identifiers():\n info=mod.lookup(ident)\n print(info,info.is_local(),info.is_namespace())\n",["_symtable","os","sys","weakref"]],sys:[".py","\nfrom _sys import *\nimport _sys\n\n_getframe=_sys._getframe\n\nclass _dataclass(tuple):\n\n def __init__(self,**kwargs):\n self.keys=list(kwargs)\n self.__dict__.update(kwargs)\n \n def __getitem__(self,key):\n if isinstance(key,int)and 0 <=key <=len(self.keys):\n return self.__dict__[self.keys[key]]\n elif isinstance(key,slice):\n return[self.__dict__[k]for k in self.keys[key]]\n raise KeyError(key)\n \n def __iter__(self):\n return(self.__dict__[key]for key in self.keys)\n \n def __len__(self):\n return len(self.keys)\n \n def __repr__(self):\n s=', '.join(f'{k}={self.__dict__[k]!r}'for k in self.keys)\n return f'sys.{self.__class__.__name__}({s})'\n \n \ndef make_dataclass(name,bases=None):\n bases=[_dataclass]if bases is None else[*bases,_dataclass]\n cls=type(name,bases,{})\n return cls\n \n \n__breakpointhook__=breakpointhook\n\nabiflags=0\n\ndef audit(event,*args):\n ''\n pass\n \nbrython_debug_mode=__BRYTHON__.get_option('debug')\n\nbase_exec_prefix=__BRYTHON__.brython_path\n\nbase_prefix=__BRYTHON__.brython_path\n\nbuiltin_module_names=__BRYTHON__.builtin_module_names\n\nbyteorder='little'\n\ncopyright=\"\"\"Copyright (c) 2001-2023 Python Software Foundation.\nAll Rights Reserved.\n\nCopyright (c) 2000 BeOpen.com.\nAll Rights Reserved.\n\nCopyright (c) 1995-2001 Corporation for National Research Initiatives.\nAll Rights Reserved.\n\nCopyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.\nAll Rights Reserved.\"\"\"\n\ndont_write_bytecode=True\n\nexec_prefix=__BRYTHON__.brython_path\n\nargv=orig_argv=[__BRYTHON__.script_path]+list(__BRYTHON__.get_option('args'))\n\ndef displayhook(value):\n if value is not None:\n stdout.write(repr(value))\n \n__displayhook__=displayhook\n\ndef exit(i=None):\n raise SystemExit('')\n \nflags=make_dataclass('flags')(\ndebug=0,\ninspect=0,\ninteractive=0,\noptimize=0,\ndont_write_bytecode=0,\nno_user_site=0,\nno_site=0,\nignore_environment=0,\nverbose=0,\nbytes_warning=0,\nquiet=0,\nhash_randomization=1,\nisolated=0,\ndev_mode=False,\nutf8_mode=0,\nwarn_default_encoding=0\n)\n\ndef getfilesystemencoding(*args,**kw):\n ''\n\n \n return 'utf-8'\n \ndef getfilesystemencodeerrors():\n return \"utf-8\"\n \ndef intern(string):\n return string\n \nint_info=make_dataclass('int_info')(\nbits_per_digit=30,\nsizeof_digit=4,\ndefault_max_str_digits=__BRYTHON__.int_max_str_digits,\nstr_digits_check_threshold=__BRYTHON__.str_digits_check_threshold)\n\ndef get_int_max_str_digits():\n return __BRYTHON__.int_max_str_digits\n \ndef set_int_max_str_digits(value):\n try:\n value=int(value)\n except:\n raise ValueError(f\"'{value.__class__.__name__}' object \"\n \"cannot be interpreted as an integer\")\n if value !=0 and value =other\n \n return NotImplemented\n \n def __gt__(self,other):\n if isinstance(other,tuple):\n return(self.major,self.minor,self.micro)>other\n \n return NotImplemented\n \n def __le__(self,other):\n if isinstance(other,tuple):\n return(self.major,self.minor,self.micro)<=other\n \n return NotImplemented\n \n def __lt__(self,other):\n if isinstance(other,tuple):\n return(self.major,self.minor,self.micro)0:\n for name in tuple(variables):\n value=notdone[name]\n m1=re.search(_findvar1_rx,value)\n m2=re.search(_findvar2_rx,value)\n if m1 and m2:\n m=m1 if m1.start()=\"5\":\n osname=\"solaris\"\n release=f\"{int(release[0])-3}.{release[2:]}\"\n \n \n \n bitness={2147483647:\"32bit\",9223372036854775807:\"64bit\"}\n machine +=f\".{bitness[sys.maxsize]}\"\n \n elif osname[:3]==\"aix\":\n from _aix_support import aix_platform\n return aix_platform()\n elif osname[:6]==\"cygwin\":\n osname=\"cygwin\"\n import re\n rel_re=re.compile(r'[\\d.]+')\n m=rel_re.match(release)\n if m:\n release=m.group()\n elif osname[:6]==\"darwin\":\n import _osx_support\n osname,release,machine=_osx_support.get_platform_osx(\n get_config_vars(),\n osname,release,machine)\n \n return f\"{osname}-{release}-{machine}\"\n \n \ndef get_python_version():\n return _PY_VERSION_SHORT\n \n \ndef expand_makefile_vars(s,vars):\n ''\n\n\n\n\n\n \n import re\n \n \n \n \n \n \n \n while True:\n m=re.search(_findvar1_rx,s)or re.search(_findvar2_rx,s)\n if m:\n (beg,end)=m.span()\n s=s[0:beg]+vars.get(m.group(1))+s[end:]\n else:\n break\n return s\n \n \ndef _print_dict(title,data):\n for index,(key,value)in enumerate(sorted(data.items())):\n if index ==0:\n print(f'{title}: ')\n print(f'\\t{key} = \"{value}\"')\n \n \ndef _main():\n ''\n if '--generate-posix-vars'in sys.argv:\n _generate_posix_vars()\n return\n print(f'Platform: \"{get_platform()}\"')\n print(f'Python version: \"{get_python_version()}\"')\n print(f'Current installation scheme: \"{get_default_scheme()}\"')\n print()\n _print_dict('Paths',get_paths())\n print()\n _print_dict('Variables',get_config_vars())\n \n \nif __name__ =='__main__':\n _main()\n",["_aix_support","_imp","_osx_support","os","os.path","pprint","re","sys","threading","types","warnings"]],tabnanny:[".py",'#! /usr/bin/env python3\n\n"""The Tab Nanny despises ambiguous indentation. She knows no mercy.\n\ntabnanny -- Detection of ambiguous indentation\n\nFor the time being this module is intended to be called as a script.\nHowever it is possible to import it into an IDE and use the function\ncheck() described below.\n\nWarning: The API provided by this module is likely to change in future\nreleases; such changes may not be backward compatible.\n"""\n\n\n\n\n\n\n\n__version__="6"\n\nimport os\nimport sys\nimport tokenize\n\n__all__=["check","NannyNag","process_tokens"]\n\nverbose=0\nfilename_only=0\n\ndef errprint(*args):\n sep=""\n for arg in args:\n sys.stderr.write(sep+str(arg))\n sep=" "\n sys.stderr.write("\\n")\n sys.exit(1)\n \ndef main():\n import getopt\n \n global verbose,filename_only\n try:\n opts,args=getopt.getopt(sys.argv[1:],"qv")\n except getopt.error as msg:\n errprint(msg)\n for o,a in opts:\n if o ==\'-q\':\n filename_only=filename_only+1\n if o ==\'-v\':\n verbose=verbose+1\n if not args:\n errprint("Usage:",sys.argv[0],"[-v] file_or_directory ...")\n for arg in args:\n check(arg)\n \nclass NannyNag(Exception):\n \'\'\n\n\n \n def __init__(self,lineno,msg,line):\n self.lineno,self.msg,self.line=lineno,msg,line\n def get_lineno(self):\n return self.lineno\n def get_msg(self):\n return self.msg\n def get_line(self):\n return self.line\n \ndef check(file):\n \'\'\n\n\n\n\n\n\n \n \n if os.path.isdir(file)and not os.path.islink(file):\n if verbose:\n print("%r: listing directory"%(file,))\n names=os.listdir(file)\n for name in names:\n fullname=os.path.join(file,name)\n if(os.path.isdir(fullname)and\n not os.path.islink(fullname)or\n os.path.normcase(name[-3:])==".py"):\n check(fullname)\n return\n \n try:\n f=tokenize.open(file)\n except OSError as msg:\n errprint("%r: I/O Error: %s"%(file,msg))\n return\n \n if verbose >1:\n print("checking %r ..."%file)\n \n try:\n process_tokens(tokenize.generate_tokens(f.readline))\n \n except tokenize.TokenError as msg:\n errprint("%r: Token Error: %s"%(file,msg))\n return\n \n except SyntaxError as msg:\n errprint("%r: Token Error: %s"%(file,msg))\n return\n \n except IndentationError as msg:\n errprint("%r: Indentation Error: %s"%(file,msg))\n return\n \n except NannyNag as nag:\n badline=nag.get_lineno()\n line=nag.get_line()\n if verbose:\n print("%r: *** Line %d: trouble in tab city! ***"%(file,badline))\n print("offending line: %r"%(line,))\n print(nag.get_msg())\n else:\n if \' \'in file:file=\'"\'+file+\'"\'\n if filename_only:print(file)\n else:print(file,badline,repr(line))\n return\n \n finally:\n f.close()\n \n if verbose:\n print("%r: Clean bill of health."%(file,))\n \nclass Whitespace:\n\n S,T=\' \\t\'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n def __init__(self,ws):\n self.raw=ws\n S,T=Whitespace.S,Whitespace.T\n count=[]\n b=n=nt=0\n for ch in self.raw:\n if ch ==S:\n n=n+1\n b=b+1\n elif ch ==T:\n n=n+1\n nt=nt+1\n if b >=len(count):\n count=count+[0]*(b -len(count)+1)\n count[b]=count[b]+1\n b=0\n else:\n break\n self.n=n\n self.nt=nt\n self.norm=tuple(count),b\n self.is_simple=len(count)<=1\n \n \n \n def longest_run_of_spaces(self):\n count,trailing=self.norm\n return max(len(count)-1,trailing)\n \n def indent_level(self,tabsize):\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n count,trailing=self.norm\n il=0\n for i in range(tabsize,len(count)):\n il=il+i //tabsize *count[i]\n return trailing+tabsize *(il+self.nt)\n \n \n \n def equal(self,other):\n return self.norm ==other.norm\n \n \n \n \n \n def not_equal_witness(self,other):\n n=max(self.longest_run_of_spaces(),\n other.longest_run_of_spaces())+1\n a=[]\n for ts in range(1,n+1):\n if self.indent_level(ts)!=other.indent_level(ts):\n a.append((ts,\n self.indent_level(ts),\n other.indent_level(ts)))\n return a\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n def less(self,other):\n if self.n >=other.n:\n return False\n if self.is_simple and other.is_simple:\n return self.nt <=other.nt\n n=max(self.longest_run_of_spaces(),\n other.longest_run_of_spaces())+1\n \n for ts in range(2,n+1):\n if self.indent_level(ts)>=other.indent_level(ts):\n return False\n return True\n \n \n \n \n \n def not_less_witness(self,other):\n n=max(self.longest_run_of_spaces(),\n other.longest_run_of_spaces())+1\n a=[]\n for ts in range(1,n+1):\n if self.indent_level(ts)>=other.indent_level(ts):\n a.append((ts,\n self.indent_level(ts),\n other.indent_level(ts)))\n return a\n \ndef format_witnesses(w):\n firsts=(str(tup[0])for tup in w)\n prefix="at tab size"\n if len(w)>1:\n prefix=prefix+"s"\n return prefix+" "+\', \'.join(firsts)\n \ndef process_tokens(tokens):\n try:\n _process_tokens(tokens)\n except TabError as e:\n raise NannyNag(e.lineno,e.msg,e.text)\n \ndef _process_tokens(tokens):\n INDENT=tokenize.INDENT\n DEDENT=tokenize.DEDENT\n NEWLINE=tokenize.NEWLINE\n JUNK=tokenize.COMMENT,tokenize.NL\n indents=[Whitespace("")]\n check_equal=0\n \n for(type,token,start,end,line)in tokens:\n if type ==NEWLINE:\n \n \n \n \n \n check_equal=1\n \n elif type ==INDENT:\n check_equal=0\n thisguy=Whitespace(token)\n if not indents[-1].less(thisguy):\n witness=indents[-1].not_less_witness(thisguy)\n msg="indent not greater e.g. "+format_witnesses(witness)\n raise NannyNag(start[0],msg,line)\n indents.append(thisguy)\n \n elif type ==DEDENT:\n \n \n \n \n \n \n \n \n \n check_equal=1\n \n del indents[-1]\n \n elif check_equal and type not in JUNK:\n \n \n \n \n \n \n check_equal=0\n thisguy=Whitespace(line)\n if not indents[-1].equal(thisguy):\n witness=indents[-1].not_equal_witness(thisguy)\n msg="indent not equal e.g. "+format_witnesses(witness)\n raise NannyNag(start[0],msg,line)\n \n \nif __name__ ==\'__main__\':\n main()\n',["getopt","os","sys","tokenize"]],tarfile:[".py",'#!/usr/bin/env python3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\'\'\n\n\nversion="0.9.0"\n__author__="Lars Gust\\u00e4bel (lars@gustaebel.de)"\n__credits__="Gustavo Niemeyer, Niels Gust\\u00e4bel, Richard Townsend."\n\n\n\n\nfrom builtins import open as bltn_open\nimport sys\nimport os\nimport io\nimport shutil\nimport stat\nimport time\nimport struct\nimport copy\nimport re\nimport warnings\n\ntry:\n import pwd\nexcept ImportError:\n pwd=None\ntry:\n import grp\nexcept ImportError:\n grp=None\n \n \n \n \nsymlink_exception=(AttributeError,NotImplementedError,OSError)\n\n\n__all__=["TarFile","TarInfo","is_tarfile","TarError","ReadError",\n"CompressionError","StreamError","ExtractError","HeaderError",\n"ENCODING","USTAR_FORMAT","GNU_FORMAT","PAX_FORMAT",\n"DEFAULT_FORMAT","open","fully_trusted_filter","data_filter",\n"tar_filter","FilterError","AbsoluteLinkError",\n"OutsideDestinationError","SpecialFileError","AbsolutePathError",\n"LinkOutsideDestinationError"]\n\n\n\n\n\nNUL=b"\\0"\nBLOCKSIZE=512\nRECORDSIZE=BLOCKSIZE *20\nGNU_MAGIC=b"ustar \\0"\nPOSIX_MAGIC=b"ustar\\x0000"\n\nLENGTH_NAME=100\nLENGTH_LINK=100\nLENGTH_PREFIX=155\n\nREGTYPE=b"0"\nAREGTYPE=b"\\0"\nLNKTYPE=b"1"\nSYMTYPE=b"2"\nCHRTYPE=b"3"\nBLKTYPE=b"4"\nDIRTYPE=b"5"\nFIFOTYPE=b"6"\nCONTTYPE=b"7"\n\nGNUTYPE_LONGNAME=b"L"\nGNUTYPE_LONGLINK=b"K"\nGNUTYPE_SPARSE=b"S"\n\nXHDTYPE=b"x"\nXGLTYPE=b"g"\nSOLARIS_XHDTYPE=b"X"\n\nUSTAR_FORMAT=0\nGNU_FORMAT=1\nPAX_FORMAT=2\nDEFAULT_FORMAT=PAX_FORMAT\n\n\n\n\n\nSUPPORTED_TYPES=(REGTYPE,AREGTYPE,LNKTYPE,\nSYMTYPE,DIRTYPE,FIFOTYPE,\nCONTTYPE,CHRTYPE,BLKTYPE,\nGNUTYPE_LONGNAME,GNUTYPE_LONGLINK,\nGNUTYPE_SPARSE)\n\n\nREGULAR_TYPES=(REGTYPE,AREGTYPE,\nCONTTYPE,GNUTYPE_SPARSE)\n\n\nGNU_TYPES=(GNUTYPE_LONGNAME,GNUTYPE_LONGLINK,\nGNUTYPE_SPARSE)\n\n\nPAX_FIELDS=("path","linkpath","size","mtime",\n"uid","gid","uname","gname")\n\n\nPAX_NAME_FIELDS={"path","linkpath","uname","gname"}\n\n\n\nPAX_NUMBER_FIELDS={\n"atime":float,\n"ctime":float,\n"mtime":float,\n"uid":int,\n"gid":int,\n"size":int\n}\n\n\n\n\nif os.name =="nt":\n ENCODING="utf-8"\nelse:\n ENCODING=sys.getfilesystemencoding()\n \n \n \n \n \ndef stn(s,length,encoding,errors):\n \'\'\n \n if s is None:\n raise ValueError("metadata cannot contain None")\n s=s.encode(encoding,errors)\n return s[:length]+(length -len(s))*NUL\n \ndef nts(s,encoding,errors):\n \'\'\n \n p=s.find(b"\\0")\n if p !=-1:\n s=s[:p]\n return s.decode(encoding,errors)\n \ndef nti(s):\n \'\'\n \n \n \n if s[0]in(0o200,0o377):\n n=0\n for i in range(len(s)-1):\n n <<=8\n n +=s[i+1]\n if s[0]==0o377:\n n=-(256 **(len(s)-1)-n)\n else:\n try:\n s=nts(s,"ascii","strict")\n n=int(s.strip()or "0",8)\n except ValueError:\n raise InvalidHeaderError("invalid header")\n return n\n \ndef itn(n,digits=8,format=DEFAULT_FORMAT):\n \'\'\n \n \n \n \n \n \n \n \n \n original_n=n\n n=int(n)\n if 0 <=n <8 **(digits -1):\n s=bytes("%0*o"%(digits -1,n),"ascii")+NUL\n elif format ==GNU_FORMAT and -256 **(digits -1)<=n <256 **(digits -1):\n if n >=0:\n s=bytearray([0o200])\n else:\n s=bytearray([0o377])\n n=256 **digits+n\n \n for i in range(digits -1):\n s.insert(1,n&0o377)\n n >>=8\n else:\n raise ValueError("overflow in number field")\n \n return s\n \ndef calc_chksums(buf):\n \'\'\n\n\n\n\n\n\n \n unsigned_chksum=256+sum(struct.unpack_from("148B8x356B",buf))\n signed_chksum=256+sum(struct.unpack_from("148b8x356b",buf))\n return unsigned_chksum,signed_chksum\n \ndef copyfileobj(src,dst,length=None,exception=OSError,bufsize=None):\n \'\'\n\n \n bufsize=bufsize or 16 *1024\n if length ==0:\n return\n if length is None:\n shutil.copyfileobj(src,dst,bufsize)\n return\n \n blocks,remainder=divmod(length,bufsize)\n for b in range(blocks):\n buf=src.read(bufsize)\n if len(buf)self.bufsize:\n self.fileobj.write(self.buf[:self.bufsize])\n self.buf=self.buf[self.bufsize:]\n \n def close(self):\n \'\'\n\n \n if self.closed:\n return\n \n self.closed=True\n try:\n if self.mode =="w"and self.comptype !="tar":\n self.buf +=self.cmp.flush()\n \n if self.mode =="w"and self.buf:\n self.fileobj.write(self.buf)\n self.buf=b""\n if self.comptype =="gz":\n self.fileobj.write(struct.pack("=0:\n blocks,remainder=divmod(pos -self.pos,self.bufsize)\n for i in range(blocks):\n self.read(self.bufsize)\n self.read(remainder)\n else:\n raise StreamError("seeking backwards is not allowed")\n return self.pos\n \n def read(self,size):\n \'\'\n assert size is not None\n buf=self._read(size)\n self.pos +=len(buf)\n return buf\n \n def _read(self,size):\n \'\'\n \n if self.comptype =="tar":\n return self.__read(size)\n \n c=len(self.dbuf)\n t=[self.dbuf]\n while c lastpos:\n self.map.append((False,lastpos,offset,None))\n self.map.append((True,offset,offset+size,realpos))\n realpos +=size\n lastpos=offset+size\n if lastpos 0:\n while True:\n data,start,stop,offset=self.map[self.map_index]\n if start <=self.position "%(self.__class__.__name__,self.name,id(self))\n \n def replace(self,*,\n name=_KEEP,mtime=_KEEP,mode=_KEEP,linkname=_KEEP,\n uid=_KEEP,gid=_KEEP,uname=_KEEP,gname=_KEEP,\n deep=True,_KEEP=_KEEP):\n \'\'\n \n if deep:\n result=copy.deepcopy(self)\n else:\n result=copy.copy(self)\n if name is not _KEEP:\n result.name=name\n if mtime is not _KEEP:\n result.mtime=mtime\n if mode is not _KEEP:\n result.mode=mode\n if linkname is not _KEEP:\n result.linkname=linkname\n if uid is not _KEEP:\n result.uid=uid\n if gid is not _KEEP:\n result.gid=gid\n if uname is not _KEEP:\n result.uname=uname\n if gname is not _KEEP:\n result.gname=gname\n return result\n \n def get_info(self):\n \'\'\n \n if self.mode is None:\n mode=None\n else:\n mode=self.mode&0o7777\n info={\n "name":self.name,\n "mode":mode,\n "uid":self.uid,\n "gid":self.gid,\n "size":self.size,\n "mtime":self.mtime,\n "chksum":self.chksum,\n "type":self.type,\n "linkname":self.linkname,\n "uname":self.uname,\n "gname":self.gname,\n "devmajor":self.devmajor,\n "devminor":self.devminor\n }\n \n if info["type"]==DIRTYPE and not info["name"].endswith("/"):\n info["name"]+="/"\n \n return info\n \n def tobuf(self,format=DEFAULT_FORMAT,encoding=ENCODING,errors="surrogateescape"):\n \'\'\n \n info=self.get_info()\n for name,value in info.items():\n if value is None:\n raise ValueError("%s may not be None"%name)\n \n if format ==USTAR_FORMAT:\n return self.create_ustar_header(info,encoding,errors)\n elif format ==GNU_FORMAT:\n return self.create_gnu_header(info,encoding,errors)\n elif format ==PAX_FORMAT:\n return self.create_pax_header(info,encoding)\n else:\n raise ValueError("invalid format")\n \n def create_ustar_header(self,info,encoding,errors):\n \'\'\n \n info["magic"]=POSIX_MAGIC\n \n if len(info["linkname"].encode(encoding,errors))>LENGTH_LINK:\n raise ValueError("linkname is too long")\n \n if len(info["name"].encode(encoding,errors))>LENGTH_NAME:\n info["prefix"],info["name"]=self._posix_split_name(info["name"],encoding,errors)\n \n return self._create_header(info,USTAR_FORMAT,encoding,errors)\n \n def create_gnu_header(self,info,encoding,errors):\n \'\'\n \n info["magic"]=GNU_MAGIC\n \n buf=b""\n if len(info["linkname"].encode(encoding,errors))>LENGTH_LINK:\n buf +=self._create_gnu_long_header(info["linkname"],GNUTYPE_LONGLINK,encoding,errors)\n \n if len(info["name"].encode(encoding,errors))>LENGTH_NAME:\n buf +=self._create_gnu_long_header(info["name"],GNUTYPE_LONGNAME,encoding,errors)\n \n return buf+self._create_header(info,GNU_FORMAT,encoding,errors)\n \n def create_pax_header(self,info,encoding):\n \'\'\n\n\n \n info["magic"]=POSIX_MAGIC\n pax_headers=self.pax_headers.copy()\n \n \n \n for name,hname,length in(\n ("name","path",LENGTH_NAME),("linkname","linkpath",LENGTH_LINK),\n ("uname","uname",32),("gname","gname",32)):\n \n if hname in pax_headers:\n \n continue\n \n \n try:\n info[name].encode("ascii","strict")\n except UnicodeEncodeError:\n pax_headers[hname]=info[name]\n continue\n \n if len(info[name])>length:\n pax_headers[hname]=info[name]\n \n \n \n for name,digits in(("uid",8),("gid",8),("size",12),("mtime",12)):\n needs_pax=False\n \n val=info[name]\n val_is_float=isinstance(val,float)\n val_int=round(val)if val_is_float else val\n if not 0 <=val_int <8 **(digits -1):\n \n info[name]=0\n needs_pax=True\n elif val_is_float:\n \n \n info[name]=val_int\n needs_pax=True\n \n \n if needs_pax and name not in pax_headers:\n pax_headers[name]=str(val)\n \n \n if pax_headers:\n buf=self._create_pax_generic_header(pax_headers,XHDTYPE,encoding)\n else:\n buf=b""\n \n return buf+self._create_header(info,USTAR_FORMAT,"ascii","replace")\n \n @classmethod\n def create_pax_global_header(cls,pax_headers):\n \'\'\n \n return cls._create_pax_generic_header(pax_headers,XGLTYPE,"utf-8")\n \n def _posix_split_name(self,name,encoding,errors):\n \'\'\n\n \n components=name.split("/")\n for i in range(1,len(components)):\n prefix="/".join(components[:i])\n name="/".join(components[i:])\n if len(prefix.encode(encoding,errors))<=LENGTH_PREFIX and\\\n len(name.encode(encoding,errors))<=LENGTH_NAME:\n break\n else:\n raise ValueError("name is too long")\n \n return prefix,name\n \n @staticmethod\n def _create_header(info,format,encoding,errors):\n \'\'\n\n \n has_device_fields=info.get("type")in(CHRTYPE,BLKTYPE)\n if has_device_fields:\n devmajor=itn(info.get("devmajor",0),8,format)\n devminor=itn(info.get("devminor",0),8,format)\n else:\n devmajor=stn("",8,encoding,errors)\n devminor=stn("",8,encoding,errors)\n \n \n \n filetype=info.get("type",REGTYPE)\n if filetype is None:\n raise ValueError("TarInfo.type must not be None")\n \n parts=[\n stn(info.get("name",""),100,encoding,errors),\n itn(info.get("mode",0)&0o7777,8,format),\n itn(info.get("uid",0),8,format),\n itn(info.get("gid",0),8,format),\n itn(info.get("size",0),12,format),\n itn(info.get("mtime",0),12,format),\n b" ",\n filetype,\n stn(info.get("linkname",""),100,encoding,errors),\n info.get("magic",POSIX_MAGIC),\n stn(info.get("uname",""),32,encoding,errors),\n stn(info.get("gname",""),32,encoding,errors),\n devmajor,\n devminor,\n stn(info.get("prefix",""),155,encoding,errors)\n ]\n \n buf=struct.pack("%ds"%BLOCKSIZE,b"".join(parts))\n chksum=calc_chksums(buf[-BLOCKSIZE:])[0]\n buf=buf[:-364]+bytes("%06o\\0"%chksum,"ascii")+buf[-357:]\n return buf\n \n @staticmethod\n def _create_payload(payload):\n \'\'\n\n \n blocks,remainder=divmod(len(payload),BLOCKSIZE)\n if remainder >0:\n payload +=(BLOCKSIZE -remainder)*NUL\n return payload\n \n @classmethod\n def _create_gnu_long_header(cls,name,type,encoding,errors):\n \'\'\n\n \n name=name.encode(encoding,errors)+NUL\n \n info={}\n info["name"]="././@LongLink"\n info["type"]=type\n info["size"]=len(name)\n info["magic"]=GNU_MAGIC\n \n \n return cls._create_header(info,USTAR_FORMAT,encoding,errors)+\\\n cls._create_payload(name)\n \n @classmethod\n def _create_pax_generic_header(cls,pax_headers,type,encoding):\n \'\'\n\n\n \n \n \n binary=False\n for keyword,value in pax_headers.items():\n try:\n value.encode("utf-8","strict")\n except UnicodeEncodeError:\n binary=True\n break\n \n records=b""\n if binary:\n \n records +=b"21 hdrcharset=BINARY\\n"\n \n for keyword,value in pax_headers.items():\n keyword=keyword.encode("utf-8")\n if binary:\n \n \n value=value.encode(encoding,"surrogateescape")\n else:\n value=value.encode("utf-8")\n \n l=len(keyword)+len(value)+3\n n=p=0\n while True:\n n=l+len(str(p))\n if n ==p:\n break\n p=n\n records +=bytes(str(p),"ascii")+b" "+keyword+b"="+value+b"\\n"\n \n \n \n info={}\n info["name"]="././@PaxHeader"\n info["type"]=type\n info["size"]=len(records)\n info["magic"]=POSIX_MAGIC\n \n \n return cls._create_header(info,USTAR_FORMAT,"ascii","replace")+\\\n cls._create_payload(records)\n \n @classmethod\n def frombuf(cls,buf,encoding,errors):\n \'\'\n \n if len(buf)==0:\n raise EmptyHeaderError("empty header")\n if len(buf)!=BLOCKSIZE:\n raise TruncatedHeaderError("truncated header")\n if buf.count(NUL)==BLOCKSIZE:\n raise EOFHeaderError("end of file header")\n \n chksum=nti(buf[148:156])\n if chksum not in calc_chksums(buf):\n raise InvalidHeaderError("bad checksum")\n \n obj=cls()\n obj.name=nts(buf[0:100],encoding,errors)\n obj.mode=nti(buf[100:108])\n obj.uid=nti(buf[108:116])\n obj.gid=nti(buf[116:124])\n obj.size=nti(buf[124:136])\n obj.mtime=nti(buf[136:148])\n obj.chksum=chksum\n obj.type=buf[156:157]\n obj.linkname=nts(buf[157:257],encoding,errors)\n obj.uname=nts(buf[265:297],encoding,errors)\n obj.gname=nts(buf[297:329],encoding,errors)\n obj.devmajor=nti(buf[329:337])\n obj.devminor=nti(buf[337:345])\n prefix=nts(buf[345:500],encoding,errors)\n \n \n \n if obj.type ==AREGTYPE and obj.name.endswith("/"):\n obj.type=DIRTYPE\n \n \n \n \n if obj.type ==GNUTYPE_SPARSE:\n pos=386\n structs=[]\n for i in range(4):\n try:\n offset=nti(buf[pos:pos+12])\n numbytes=nti(buf[pos+12:pos+24])\n except ValueError:\n break\n structs.append((offset,numbytes))\n pos +=24\n isextended=bool(buf[482])\n origsize=nti(buf[483:495])\n obj._sparse_structs=(structs,isextended,origsize)\n \n \n if obj.isdir():\n obj.name=obj.name.rstrip("/")\n \n \n if prefix and obj.type not in GNU_TYPES:\n obj.name=prefix+"/"+obj.name\n return obj\n \n @classmethod\n def fromtarfile(cls,tarfile):\n \'\'\n\n \n buf=tarfile.fileobj.read(BLOCKSIZE)\n obj=cls.frombuf(buf,tarfile.encoding,tarfile.errors)\n obj.offset=tarfile.fileobj.tell()-BLOCKSIZE\n return obj._proc_member(tarfile)\n \n \n \n \n \n \n \n \n \n \n \n \n def _proc_member(self,tarfile):\n \'\'\n\n \n if self.type in(GNUTYPE_LONGNAME,GNUTYPE_LONGLINK):\n return self._proc_gnulong(tarfile)\n elif self.type ==GNUTYPE_SPARSE:\n return self._proc_sparse(tarfile)\n elif self.type in(XHDTYPE,XGLTYPE,SOLARIS_XHDTYPE):\n return self._proc_pax(tarfile)\n else:\n return self._proc_builtin(tarfile)\n \n def _proc_builtin(self,tarfile):\n \'\'\n\n \n self.offset_data=tarfile.fileobj.tell()\n offset=self.offset_data\n if self.isreg()or self.type not in SUPPORTED_TYPES:\n \n offset +=self._block(self.size)\n tarfile.offset=offset\n \n \n \n self._apply_pax_info(tarfile.pax_headers,tarfile.encoding,tarfile.errors)\n \n \n \n if self.isdir():\n self.name=self.name.rstrip("/")\n \n return self\n \n def _proc_gnulong(self,tarfile):\n \'\'\n\n \n buf=tarfile.fileobj.read(self._block(self.size))\n \n \n try:\n next=self.fromtarfile(tarfile)\n except HeaderError as e:\n raise SubsequentHeaderError(str(e))from None\n \n \n \n next.offset=self.offset\n if self.type ==GNUTYPE_LONGNAME:\n next.name=nts(buf,tarfile.encoding,tarfile.errors)\n elif self.type ==GNUTYPE_LONGLINK:\n next.linkname=nts(buf,tarfile.encoding,tarfile.errors)\n \n \n \n if next.isdir():\n next.name=next.name.removesuffix("/")\n \n return next\n \n def _proc_sparse(self,tarfile):\n \'\'\n \n \n structs,isextended,origsize=self._sparse_structs\n del self._sparse_structs\n \n \n while isextended:\n buf=tarfile.fileobj.read(BLOCKSIZE)\n pos=0\n for i in range(21):\n try:\n offset=nti(buf[pos:pos+12])\n numbytes=nti(buf[pos+12:pos+24])\n except ValueError:\n break\n if offset and numbytes:\n structs.append((offset,numbytes))\n pos +=24\n isextended=bool(buf[504])\n self.sparse=structs\n \n self.offset_data=tarfile.fileobj.tell()\n tarfile.offset=self.offset_data+self._block(self.size)\n self.size=origsize\n return self\n \n def _proc_pax(self,tarfile):\n \'\'\n\n \n \n buf=tarfile.fileobj.read(self._block(self.size))\n \n \n \n \n if self.type ==XGLTYPE:\n pax_headers=tarfile.pax_headers\n else:\n pax_headers=tarfile.pax_headers.copy()\n \n \n \n \n \n \n match=re.search(br"\\d+ hdrcharset=([^\\n]+)\\n",buf)\n if match is not None:\n pax_headers["hdrcharset"]=match.group(1).decode("utf-8")\n \n \n \n \n hdrcharset=pax_headers.get("hdrcharset")\n if hdrcharset =="BINARY":\n encoding=tarfile.encoding\n else:\n encoding="utf-8"\n \n \n \n \n \n regex=re.compile(br"(\\d+) ([^=]+)=")\n pos=0\n while match :=regex.match(buf,pos):\n length,keyword=match.groups()\n length=int(length)\n if length ==0:\n raise InvalidHeaderError("invalid header")\n value=buf[match.end(2)+1:match.start(1)+length -1]\n \n \n \n \n \n \n \n \n keyword=self._decode_pax_field(keyword,"utf-8","utf-8",\n tarfile.errors)\n if keyword in PAX_NAME_FIELDS:\n value=self._decode_pax_field(value,encoding,tarfile.encoding,\n tarfile.errors)\n else:\n value=self._decode_pax_field(value,"utf-8","utf-8",\n tarfile.errors)\n \n pax_headers[keyword]=value\n pos +=length\n \n \n try:\n next=self.fromtarfile(tarfile)\n except HeaderError as e:\n raise SubsequentHeaderError(str(e))from None\n \n \n if "GNU.sparse.map"in pax_headers:\n \n self._proc_gnusparse_01(next,pax_headers)\n \n elif "GNU.sparse.size"in pax_headers:\n \n self._proc_gnusparse_00(next,pax_headers,buf)\n \n elif pax_headers.get("GNU.sparse.major")=="1"and pax_headers.get("GNU.sparse.minor")=="0":\n \n self._proc_gnusparse_10(next,pax_headers,tarfile)\n \n if self.type in(XHDTYPE,SOLARIS_XHDTYPE):\n \n next._apply_pax_info(pax_headers,tarfile.encoding,tarfile.errors)\n next.offset=self.offset\n \n if "size"in pax_headers:\n \n \n \n offset=next.offset_data\n if next.isreg()or next.type not in SUPPORTED_TYPES:\n offset +=next._block(next.size)\n tarfile.offset=offset\n \n return next\n \n def _proc_gnusparse_00(self,next,pax_headers,buf):\n \'\'\n \n offsets=[]\n for match in re.finditer(br"\\d+ GNU.sparse.offset=(\\d+)\\n",buf):\n offsets.append(int(match.group(1)))\n numbytes=[]\n for match in re.finditer(br"\\d+ GNU.sparse.numbytes=(\\d+)\\n",buf):\n numbytes.append(int(match.group(1)))\n next.sparse=list(zip(offsets,numbytes))\n \n def _proc_gnusparse_01(self,next,pax_headers):\n \'\'\n \n sparse=[int(x)for x in pax_headers["GNU.sparse.map"].split(",")]\n next.sparse=list(zip(sparse[::2],sparse[1::2]))\n \n def _proc_gnusparse_10(self,next,pax_headers,tarfile):\n \'\'\n \n fields=None\n sparse=[]\n buf=tarfile.fileobj.read(BLOCKSIZE)\n fields,buf=buf.split(b"\\n",1)\n fields=int(fields)\n while len(sparse)0:\n self.fileobj.write(NUL *(RECORDSIZE -remainder))\n finally:\n if not self._extfileobj:\n self.fileobj.close()\n \n def getmember(self,name):\n \'\'\n\n\n\n \n tarinfo=self._getmember(name.rstrip(\'/\'))\n if tarinfo is None:\n raise KeyError("filename %r not found"%name)\n return tarinfo\n \n def getmembers(self):\n \'\'\n\n \n self._check()\n if not self._loaded:\n self._load()\n \n return self.members\n \n def getnames(self):\n \'\'\n\n \n return[tarinfo.name for tarinfo in self.getmembers()]\n \n def gettarinfo(self,name=None,arcname=None,fileobj=None):\n \'\'\n\n\n\n\n\n\n \n self._check("awx")\n \n \n \n if fileobj is not None:\n name=fileobj.name\n \n \n \n \n if arcname is None:\n arcname=name\n drv,arcname=os.path.splitdrive(arcname)\n arcname=arcname.replace(os.sep,"/")\n arcname=arcname.lstrip("/")\n \n \n \n tarinfo=self.tarinfo()\n tarinfo.tarfile=self\n \n \n if fileobj is None:\n if not self.dereference:\n statres=os.lstat(name)\n else:\n statres=os.stat(name)\n else:\n statres=os.fstat(fileobj.fileno())\n linkname=""\n \n stmd=statres.st_mode\n if stat.S_ISREG(stmd):\n inode=(statres.st_ino,statres.st_dev)\n if not self.dereference and statres.st_nlink >1 and\\\n inode in self.inodes and arcname !=self.inodes[inode]:\n \n \n type=LNKTYPE\n linkname=self.inodes[inode]\n else:\n \n \n type=REGTYPE\n if inode[0]:\n self.inodes[inode]=arcname\n elif stat.S_ISDIR(stmd):\n type=DIRTYPE\n elif stat.S_ISFIFO(stmd):\n type=FIFOTYPE\n elif stat.S_ISLNK(stmd):\n type=SYMTYPE\n linkname=os.readlink(name)\n elif stat.S_ISCHR(stmd):\n type=CHRTYPE\n elif stat.S_ISBLK(stmd):\n type=BLKTYPE\n else:\n return None\n \n \n \n tarinfo.name=arcname\n tarinfo.mode=stmd\n tarinfo.uid=statres.st_uid\n tarinfo.gid=statres.st_gid\n if type ==REGTYPE:\n tarinfo.size=statres.st_size\n else:\n tarinfo.size=0\n tarinfo.mtime=statres.st_mtime\n tarinfo.type=type\n tarinfo.linkname=linkname\n if pwd:\n try:\n tarinfo.uname=pwd.getpwuid(tarinfo.uid)[0]\n except KeyError:\n pass\n if grp:\n try:\n tarinfo.gname=grp.getgrgid(tarinfo.gid)[0]\n except KeyError:\n pass\n \n if type in(CHRTYPE,BLKTYPE):\n if hasattr(os,"major")and hasattr(os,"minor"):\n tarinfo.devmajor=os.major(statres.st_rdev)\n tarinfo.devminor=os.minor(statres.st_rdev)\n return tarinfo\n \n def list(self,verbose=True,*,members=None):\n \'\'\n\n\n\n \n self._check()\n \n if members is None:\n members=self\n for tarinfo in members:\n if verbose:\n if tarinfo.mode is None:\n _safe_print("??????????")\n else:\n _safe_print(stat.filemode(tarinfo.mode))\n _safe_print("%s/%s"%(tarinfo.uname or tarinfo.uid,\n tarinfo.gname or tarinfo.gid))\n if tarinfo.ischr()or tarinfo.isblk():\n _safe_print("%10s"%\n ("%d,%d"%(tarinfo.devmajor,tarinfo.devminor)))\n else:\n _safe_print("%10d"%tarinfo.size)\n if tarinfo.mtime is None:\n _safe_print("????-??-?? ??:??:??")\n else:\n _safe_print("%d-%02d-%02d %02d:%02d:%02d"\\\n %time.localtime(tarinfo.mtime)[:6])\n \n _safe_print(tarinfo.name+("/"if tarinfo.isdir()else ""))\n \n if verbose:\n if tarinfo.issym():\n _safe_print("-> "+tarinfo.linkname)\n if tarinfo.islnk():\n _safe_print("link to "+tarinfo.linkname)\n print()\n \n def add(self,name,arcname=None,recursive=True,*,filter=None):\n \'\'\n\n\n\n\n\n\n\n \n self._check("awx")\n \n if arcname is None:\n arcname=name\n \n \n if self.name is not None and os.path.abspath(name)==self.name:\n self._dbg(2,"tarfile: Skipped %r"%name)\n return\n \n self._dbg(1,name)\n \n \n tarinfo=self.gettarinfo(name,arcname)\n \n if tarinfo is None:\n self._dbg(1,"tarfile: Unsupported type %r"%name)\n return\n \n \n if filter is not None:\n tarinfo=filter(tarinfo)\n if tarinfo is None:\n self._dbg(2,"tarfile: Excluded %r"%name)\n return\n \n \n if tarinfo.isreg():\n with bltn_open(name,"rb")as f:\n self.addfile(tarinfo,f)\n \n elif tarinfo.isdir():\n self.addfile(tarinfo)\n if recursive:\n for f in sorted(os.listdir(name)):\n self.add(os.path.join(name,f),os.path.join(arcname,f),\n recursive,filter=filter)\n \n else:\n self.addfile(tarinfo)\n \n def addfile(self,tarinfo,fileobj=None):\n \'\'\n\n\n\n \n self._check("awx")\n \n tarinfo=copy.copy(tarinfo)\n \n buf=tarinfo.tobuf(self.format,self.encoding,self.errors)\n self.fileobj.write(buf)\n self.offset +=len(buf)\n bufsize=self.copybufsize\n \n if fileobj is not None:\n copyfileobj(fileobj,self.fileobj,tarinfo.size,bufsize=bufsize)\n blocks,remainder=divmod(tarinfo.size,BLOCKSIZE)\n if remainder >0:\n self.fileobj.write(NUL *(BLOCKSIZE -remainder))\n blocks +=1\n self.offset +=blocks *BLOCKSIZE\n \n self.members.append(tarinfo)\n \n def _get_filter_function(self,filter):\n if filter is None:\n filter=self.extraction_filter\n if filter is None:\n warnings.warn(\n \'Python 3.14 will, by default, filter extracted tar \'\n +\'archives and reject files or modify their metadata. \'\n +\'Use the filter argument to control this behavior.\',\n DeprecationWarning)\n return fully_trusted_filter\n if isinstance(filter,str):\n raise TypeError(\n \'String names are not supported for \'\n +\'TarFile.extraction_filter. Use a function such as \'\n +\'tarfile.data_filter directly.\')\n return filter\n if callable(filter):\n return filter\n try:\n return _NAMED_FILTERS[filter]\n except KeyError:\n raise ValueError(f"filter {filter !r} not found")from None\n \n def extractall(self,path=".",members=None,*,numeric_owner=False,\n filter=None):\n \'\'\n\n\n\n\n\n\n\n\n\n\n \n directories=[]\n \n filter_function=self._get_filter_function(filter)\n if members is None:\n members=self\n \n for member in members:\n tarinfo=self._get_extract_tarinfo(member,filter_function,path)\n if tarinfo is None:\n continue\n if tarinfo.isdir():\n \n \n \n directories.append(tarinfo)\n self._extract_one(tarinfo,path,set_attrs=not tarinfo.isdir(),\n numeric_owner=numeric_owner)\n \n \n directories.sort(key=lambda a:a.name,reverse=True)\n \n \n for tarinfo in directories:\n dirpath=os.path.join(path,tarinfo.name)\n try:\n self.chown(tarinfo,dirpath,numeric_owner=numeric_owner)\n self.utime(tarinfo,dirpath)\n self.chmod(tarinfo,dirpath)\n except ExtractError as e:\n self._handle_nonfatal_error(e)\n \n def extract(self,member,path="",set_attrs=True,*,numeric_owner=False,\n filter=None):\n \'\'\n\n\n\n\n\n\n\n\n\n\n \n filter_function=self._get_filter_function(filter)\n tarinfo=self._get_extract_tarinfo(member,filter_function,path)\n if tarinfo is not None:\n self._extract_one(tarinfo,path,set_attrs,numeric_owner)\n \n def _get_extract_tarinfo(self,member,filter_function,path):\n \'\'\n if isinstance(member,str):\n tarinfo=self.getmember(member)\n else:\n tarinfo=member\n \n unfiltered=tarinfo\n try:\n tarinfo=filter_function(tarinfo,path)\n except(OSError,FilterError)as e:\n self._handle_fatal_error(e)\n except ExtractError as e:\n self._handle_nonfatal_error(e)\n if tarinfo is None:\n self._dbg(2,"tarfile: Excluded %r"%unfiltered.name)\n return None\n \n if tarinfo.islnk():\n tarinfo=copy.copy(tarinfo)\n tarinfo._link_target=os.path.join(path,tarinfo.linkname)\n return tarinfo\n \n def _extract_one(self,tarinfo,path,set_attrs,numeric_owner):\n \'\'\n self._check("r")\n \n try:\n self._extract_member(tarinfo,os.path.join(path,tarinfo.name),\n set_attrs=set_attrs,\n numeric_owner=numeric_owner)\n except OSError as e:\n self._handle_fatal_error(e)\n except ExtractError as e:\n self._handle_nonfatal_error(e)\n \n def _handle_nonfatal_error(self,e):\n \'\'\n if self.errorlevel >1:\n raise\n else:\n self._dbg(1,"tarfile: %s"%e)\n \n def _handle_fatal_error(self,e):\n \'\'\n if self.errorlevel >0:\n raise\n elif isinstance(e,OSError):\n if e.filename is None:\n self._dbg(1,"tarfile: %s"%e.strerror)\n else:\n self._dbg(1,"tarfile: %s %r"%(e.strerror,e.filename))\n else:\n self._dbg(1,"tarfile: %s %s"%(type(e).__name__,e))\n \n def extractfile(self,member):\n \'\'\n\n\n\n\n \n self._check("r")\n \n if isinstance(member,str):\n tarinfo=self.getmember(member)\n else:\n tarinfo=member\n \n if tarinfo.isreg()or tarinfo.type not in SUPPORTED_TYPES:\n \n return self.fileobject(self,tarinfo)\n \n elif tarinfo.islnk()or tarinfo.issym():\n if isinstance(self.fileobj,_Stream):\n \n \n \n raise StreamError("cannot extract (sym)link as file object")\n else:\n \n return self.extractfile(self._find_link_target(tarinfo))\n else:\n \n \n return None\n \n def _extract_member(self,tarinfo,targetpath,set_attrs=True,\n numeric_owner=False):\n \'\'\n\n \n \n \n \n targetpath=targetpath.rstrip("/")\n targetpath=targetpath.replace("/",os.sep)\n \n \n upperdirs=os.path.dirname(targetpath)\n if upperdirs and not os.path.exists(upperdirs):\n \n \n os.makedirs(upperdirs)\n \n if tarinfo.islnk()or tarinfo.issym():\n self._dbg(1,"%s -> %s"%(tarinfo.name,tarinfo.linkname))\n else:\n self._dbg(1,tarinfo.name)\n \n if tarinfo.isreg():\n self.makefile(tarinfo,targetpath)\n elif tarinfo.isdir():\n self.makedir(tarinfo,targetpath)\n elif tarinfo.isfifo():\n self.makefifo(tarinfo,targetpath)\n elif tarinfo.ischr()or tarinfo.isblk():\n self.makedev(tarinfo,targetpath)\n elif tarinfo.islnk()or tarinfo.issym():\n self.makelink(tarinfo,targetpath)\n elif tarinfo.type not in SUPPORTED_TYPES:\n self.makeunknown(tarinfo,targetpath)\n else:\n self.makefile(tarinfo,targetpath)\n \n if set_attrs:\n self.chown(tarinfo,targetpath,numeric_owner)\n if not tarinfo.issym():\n self.chmod(tarinfo,targetpath)\n self.utime(tarinfo,targetpath)\n \n \n \n \n \n \n def makedir(self,tarinfo,targetpath):\n \'\'\n \n try:\n if tarinfo.mode is None:\n \n os.mkdir(targetpath)\n else:\n \n \n os.mkdir(targetpath,0o700)\n except FileExistsError:\n pass\n \n def makefile(self,tarinfo,targetpath):\n \'\'\n \n source=self.fileobj\n source.seek(tarinfo.offset_data)\n bufsize=self.copybufsize\n with bltn_open(targetpath,"wb")as target:\n if tarinfo.sparse is not None:\n for offset,size in tarinfo.sparse:\n target.seek(offset)\n copyfileobj(source,target,size,ReadError,bufsize)\n target.seek(tarinfo.size)\n target.truncate()\n else:\n copyfileobj(source,target,tarinfo.size,ReadError,bufsize)\n \n def makeunknown(self,tarinfo,targetpath):\n \'\'\n\n \n self.makefile(tarinfo,targetpath)\n self._dbg(1,"tarfile: Unknown file type %r, "\\\n "extracted as regular file."%tarinfo.type)\n \n def makefifo(self,tarinfo,targetpath):\n \'\'\n \n if hasattr(os,"mkfifo"):\n os.mkfifo(targetpath)\n else:\n raise ExtractError("fifo not supported by system")\n \n def makedev(self,tarinfo,targetpath):\n \'\'\n \n if not hasattr(os,"mknod")or not hasattr(os,"makedev"):\n raise ExtractError("special devices not supported by system")\n \n mode=tarinfo.mode\n if mode is None:\n \n mode=0o600\n if tarinfo.isblk():\n mode |=stat.S_IFBLK\n else:\n mode |=stat.S_IFCHR\n \n os.mknod(targetpath,mode,\n os.makedev(tarinfo.devmajor,tarinfo.devminor))\n \n def makelink(self,tarinfo,targetpath):\n \'\'\n\n\n \n try:\n \n if tarinfo.issym():\n if os.path.lexists(targetpath):\n \n os.unlink(targetpath)\n os.symlink(tarinfo.linkname,targetpath)\n else:\n if os.path.exists(tarinfo._link_target):\n os.link(tarinfo._link_target,targetpath)\n else:\n self._extract_member(self._find_link_target(tarinfo),\n targetpath)\n except symlink_exception:\n try:\n self._extract_member(self._find_link_target(tarinfo),\n targetpath)\n except KeyError:\n raise ExtractError("unable to resolve link inside archive")from None\n \n def chown(self,tarinfo,targetpath,numeric_owner):\n \'\'\n\n\n\n \n if hasattr(os,"geteuid")and os.geteuid()==0:\n \n g=tarinfo.gid\n u=tarinfo.uid\n if not numeric_owner:\n try:\n if grp and tarinfo.gname:\n g=grp.getgrnam(tarinfo.gname)[2]\n except KeyError:\n pass\n try:\n if pwd and tarinfo.uname:\n u=pwd.getpwnam(tarinfo.uname)[2]\n except KeyError:\n pass\n if g is None:\n g=-1\n if u is None:\n u=-1\n try:\n if tarinfo.issym()and hasattr(os,"lchown"):\n os.lchown(targetpath,u,g)\n else:\n os.chown(targetpath,u,g)\n except OSError as e:\n raise ExtractError("could not change owner")from e\n \n def chmod(self,tarinfo,targetpath):\n \'\'\n \n if tarinfo.mode is None:\n return\n try:\n os.chmod(targetpath,tarinfo.mode)\n except OSError as e:\n raise ExtractError("could not change mode")from e\n \n def utime(self,tarinfo,targetpath):\n \'\'\n \n mtime=tarinfo.mtime\n if mtime is None:\n return\n if not hasattr(os,\'utime\'):\n return\n try:\n os.utime(targetpath,(mtime,mtime))\n except OSError as e:\n raise ExtractError("could not change modification time")from e\n \n \n def next(self):\n \'\'\n\n\n \n self._check("ra")\n if self.firstmember is not None:\n m=self.firstmember\n self.firstmember=None\n return m\n \n \n if self.offset !=self.fileobj.tell():\n if self.offset ==0:\n return None\n self.fileobj.seek(self.offset -1)\n if not self.fileobj.read(1):\n raise ReadError("unexpected end of data")\n \n \n tarinfo=None\n while True:\n try:\n tarinfo=self.tarinfo.fromtarfile(self)\n except EOFHeaderError as e:\n if self.ignore_zeros:\n self._dbg(2,"0x%X: %s"%(self.offset,e))\n self.offset +=BLOCKSIZE\n continue\n except InvalidHeaderError as e:\n if self.ignore_zeros:\n self._dbg(2,"0x%X: %s"%(self.offset,e))\n self.offset +=BLOCKSIZE\n continue\n elif self.offset ==0:\n raise ReadError(str(e))from None\n except EmptyHeaderError:\n if self.offset ==0:\n raise ReadError("empty file")from None\n except TruncatedHeaderError as e:\n if self.offset ==0:\n raise ReadError(str(e))from None\n except SubsequentHeaderError as e:\n raise ReadError(str(e))from None\n except Exception as e:\n try:\n import zlib\n if isinstance(e,zlib.error):\n raise ReadError(f\'zlib error: {e}\')from None\n else:\n raise e\n except ImportError:\n raise e\n break\n \n if tarinfo is not None:\n self.members.append(tarinfo)\n else:\n self._loaded=True\n \n return tarinfo\n \n \n \n \n def _getmember(self,name,tarinfo=None,normalize=False):\n \'\'\n\n \n \n members=self.getmembers()\n \n \n skipping=False\n if tarinfo is not None:\n try:\n index=members.index(tarinfo)\n except ValueError:\n \n \n skipping=True\n else:\n \n members=members[:index]\n \n if normalize:\n name=os.path.normpath(name)\n \n for member in reversed(members):\n if skipping:\n if tarinfo.offset ==member.offset:\n skipping=False\n continue\n if normalize:\n member_name=os.path.normpath(member.name)\n else:\n member_name=member.name\n \n if name ==member_name:\n return member\n \n if skipping:\n \n raise ValueError(tarinfo)\n \n def _load(self):\n \'\'\n\n \n while self.next()is not None:\n pass\n self._loaded=True\n \n def _check(self,mode=None):\n \'\'\n\n \n if self.closed:\n raise OSError("%s is closed"%self.__class__.__name__)\n if mode is not None and self.mode not in mode:\n raise OSError("bad operation for mode %r"%self.mode)\n \n def _find_link_target(self,tarinfo):\n \'\'\n\n \n if tarinfo.issym():\n \n linkname="/".join(filter(None,(os.path.dirname(tarinfo.name),tarinfo.linkname)))\n limit=None\n else:\n \n \n linkname=tarinfo.linkname\n limit=tarinfo\n \n member=self._getmember(linkname,tarinfo=limit,normalize=True)\n if member is None:\n raise KeyError("linkname %r not found"%linkname)\n return member\n \n def __iter__(self):\n \'\'\n \n if self._loaded:\n yield from self.members\n return\n \n \n \n index=0\n \n \n \n if self.firstmember is not None:\n tarinfo=self.next()\n index +=1\n yield tarinfo\n \n while True:\n if index \',\n choices=_NAMED_FILTERS,\n help=\'Filter for extraction\')\n \n group=parser.add_mutually_exclusive_group(required=True)\n group.add_argument(\'-l\',\'--list\',metavar=\'\',\n help=\'Show listing of a tarfile\')\n group.add_argument(\'-e\',\'--extract\',nargs=\'+\',\n metavar=(\'\',\'\'),\n help=\'Extract tarfile into target dir\')\n group.add_argument(\'-c\',\'--create\',nargs=\'+\',\n metavar=(\'\',\'\'),\n help=\'Create tarfile from sources\')\n group.add_argument(\'-t\',\'--test\',metavar=\'\',\n help=\'Test if a tarfile is valid\')\n \n args=parser.parse_args()\n \n if args.filter and args.extract is None:\n parser.exit(1,\'--filter is only valid for extraction\\n\')\n \n if args.test is not None:\n src=args.test\n if is_tarfile(src):\n with open(src,\'r\')as tar:\n tar.getmembers()\n print(tar.getmembers(),file=sys.stderr)\n if args.verbose:\n print(\'{!r} is a tar archive.\'.format(src))\n else:\n parser.exit(1,\'{!r} is not a tar archive.\\n\'.format(src))\n \n elif args.list is not None:\n src=args.list\n if is_tarfile(src):\n with TarFile.open(src,\'r:*\')as tf:\n tf.list(verbose=args.verbose)\n else:\n parser.exit(1,\'{!r} is not a tar archive.\\n\'.format(src))\n \n elif args.extract is not None:\n if len(args.extract)==1:\n src=args.extract[0]\n curdir=os.curdir\n elif len(args.extract)==2:\n src,curdir=args.extract\n else:\n parser.exit(1,parser.format_help())\n \n if is_tarfile(src):\n with TarFile.open(src,\'r:*\')as tf:\n tf.extractall(path=curdir,filter=args.filter)\n if args.verbose:\n if curdir ==\'.\':\n msg=\'{!r} file is extracted.\'.format(src)\n else:\n msg=(\'{!r} file is extracted \'\n \'into {!r} directory.\').format(src,curdir)\n print(msg)\n else:\n parser.exit(1,\'{!r} is not a tar archive.\\n\'.format(src))\n \n elif args.create is not None:\n tar_name=args.create.pop(0)\n _,ext=os.path.splitext(tar_name)\n compressions={\n \n \'.gz\':\'gz\',\n \'.tgz\':\'gz\',\n \n \'.xz\':\'xz\',\n \'.txz\':\'xz\',\n \n \'.bz2\':\'bz2\',\n \'.tbz\':\'bz2\',\n \'.tbz2\':\'bz2\',\n \'.tb2\':\'bz2\',\n }\n tar_mode=\'w:\'+compressions[ext]if ext in compressions else \'w\'\n tar_files=args.create\n \n with TarFile.open(tar_name,tar_mode)as tf:\n for file_name in tar_files:\n tf.add(file_name)\n \n if args.verbose:\n print(\'{!r} file created.\'.format(tar_name))\n \nif __name__ ==\'__main__\':\n main()\n',["argparse","builtins","bz2","copy","grp","gzip","io","lzma","os","pwd","re","shutil","stat","struct","sys","time","warnings","zlib"]],tb:[".py",'import sys\nfrom browser import console\n\nclass Trace:\n\n def __init__(self):\n self.lines=[]\n \n def write(self,*data):\n self.lines.append(" ".join([str(x)for x in data]))\n \n def format(self):\n return \'\\n\'.join(self.lines)+\'\\n\'\n \ndef format_exc():\n trace=Trace()\n exc_class,exc,tb=sys.exc_info()\n exc_msg=str(exc)\n \n def handle_repeats(filename,lineno,count_repeats):\n if count_repeats >0:\n trace_lines=trace.lines[:]\n for _ in range(2):\n if not filename.startswith(\'<\'):\n trace.write(trace_lines[-2])\n trace.write(trace_lines[-1])\n else:\n trace.write(trace_lines[-1])\n count_repeats -=1\n if count_repeats ==0:\n break\n if count_repeats >1:\n trace.write(f\'[Previous line repeated {count_repeats} \'+\n f\'more time{"s"if count_repeats >1 else ""}]\')\n \n def show_line():\n trace.write(f\' File "{filename}", line {lineno}, in {name}\')\n if not filename.startswith("<"):\n src=open(filename,encoding=\'utf-8\').read()\n lines=src.split(\'\\n\')\n line=lines[tb.tb_lineno -1]\n trace.write(f" {line.strip()}")\n \n show=True\n started=False\n save_filename=None\n save_lineno=None\n save_scope=None\n same_line=False\n count_repeats=0\n \n while tb is not None:\n if show:\n trace.write("Traceback (most recent call last):")\n show=False\n frame=tb.tb_frame\n code=frame.f_code\n lineno=frame.f_lineno\n name=code.co_name\n filename=code.co_filename\n if filename ==save_filename and lineno ==save_lineno\\\n and name ==save_name:\n count_repeats +=1\n tb=tb.tb_next\n continue\n handle_repeats(save_filename,save_lineno,count_repeats)\n save_filename=filename\n save_lineno=lineno\n save_name=name\n count_repeats=0\n show_line()\n tb=tb.tb_next\n \n handle_repeats(filename,lineno,count_repeats)\n \n if isinstance(exc,SyntaxError):\n trace.write(syntax_error(exc.args))\n else:\n message=exc_msg\n if isinstance(exc,AttributeError):\n suggestion=__BRYTHON__.offer_suggestions_for_attribute_error(exc)\n if suggestion is not None:\n message +=f". Did you mean: \'{suggestion}\'?"\n elif isinstance(exc,NameError):\n suggestion=__BRYTHON__.offer_suggestions_for_name_error(exc)\n if suggestion is not None:\n message +=f". Did you mean: \'{suggestion}\'?"\n elif exc.name in __BRYTHON__.stdlib_module_names:\n message +=f". Did you forget to import \'{exc.name}\'?"\n trace.write(f"{exc_class.__name__}: {message}")\n \n return trace.format()\n \ndef print_exc(file=None):\n if file is None:\n file=sys.stderr\n file.write(format_exc())\n \ndef syntax_error(args):\n trace=Trace()\n info,[filename,lineno,offset,line,*extra]=args\n trace.write(f\' File "{filename}", line {lineno}\')\n indent=len(line)-len(line.lstrip())\n trace.write(" "+line.strip())\n nb_marks=1\n if extra:\n end_lineno,end_offset=extra\n if end_lineno >lineno:\n nb_marks=len(line)-offset\n else:\n nb_marks=end_offset -offset\n nb_marks=max(nb_marks,1)\n trace.write(" "+(offset -1)*" "+"^"*nb_marks)\n trace.write("SyntaxError:",info)\n return trace.format()\n',["browser","sys"]],tempfile:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=[\n\"NamedTemporaryFile\",\"TemporaryFile\",\n\"SpooledTemporaryFile\",\"TemporaryDirectory\",\n\"mkstemp\",\"mkdtemp\",\n\"mktemp\",\n\"TMP_MAX\",\"gettempprefix\",\n\"tempdir\",\"gettempdir\",\n\"gettempprefixb\",\"gettempdirb\",\n]\n\n\n\n\nimport functools as _functools\nimport warnings as _warnings\nimport io as _io\nimport os as _os\nimport shutil as _shutil\nimport errno as _errno\nfrom random import Random as _Random\nimport sys as _sys\nimport types as _types\nimport weakref as _weakref\nimport _thread\n_allocate_lock=_thread.allocate_lock\n\n_text_openflags=_os.O_RDWR |_os.O_CREAT |_os.O_EXCL\nif hasattr(_os,'O_NOFOLLOW'):\n _text_openflags |=_os.O_NOFOLLOW\n \n_bin_openflags=_text_openflags\nif hasattr(_os,'O_BINARY'):\n _bin_openflags |=_os.O_BINARY\n \nif hasattr(_os,'TMP_MAX'):\n TMP_MAX=_os.TMP_MAX\nelse:\n TMP_MAX=10000\n \n \n \n \n \ntemplate=\"tmp\"\n\n\n\n_once_lock=_allocate_lock()\n\n\ndef _exists(fn):\n try:\n _os.lstat(fn)\n except OSError:\n return False\n else:\n return True\n \n \ndef _infer_return_type(*args):\n ''\n return_type=None\n for arg in args:\n if arg is None:\n continue\n \n if isinstance(arg,_os.PathLike):\n arg=_os.fspath(arg)\n \n if isinstance(arg,bytes):\n if return_type is str:\n raise TypeError(\"Can't mix bytes and non-bytes in \"\n \"path components.\")\n return_type=bytes\n else:\n if return_type is bytes:\n raise TypeError(\"Can't mix bytes and non-bytes in \"\n \"path components.\")\n return_type=str\n if return_type is None:\n if tempdir is None or isinstance(tempdir,str):\n return str\n else:\n \n return bytes\n return return_type\n \n \ndef _sanitize_params(prefix,suffix,dir):\n ''\n output_type=_infer_return_type(prefix,suffix,dir)\n if suffix is None:\n suffix=output_type()\n if prefix is None:\n if output_type is str:\n prefix=template\n else:\n prefix=_os.fsencode(template)\n if dir is None:\n if output_type is str:\n dir=gettempdir()\n else:\n dir=gettempdirb()\n return prefix,suffix,dir,output_type\n \n \nclass _RandomNameSequence:\n ''\n\n\n\n\n \n \n characters=\"abcdefghijklmnopqrstuvwxyz0123456789_\"\n \n @property\n def rng(self):\n cur_pid=_os.getpid()\n if cur_pid !=getattr(self,'_rng_pid',None):\n self._rng=_Random()\n self._rng_pid=cur_pid\n return self._rng\n \n def __iter__(self):\n return self\n \n def __next__(self):\n return ''.join(self.rng.choices(self.characters,k=8))\n \ndef _candidate_tempdir_list():\n ''\n \n \n dirlist=[]\n \n \n for envname in 'TMPDIR','TEMP','TMP':\n dirname=_os.getenv(envname)\n if dirname:dirlist.append(dirname)\n \n \n if _os.name =='nt':\n dirlist.extend([_os.path.expanduser(r'~\\AppData\\Local\\Temp'),\n _os.path.expandvars(r'%SYSTEMROOT%\\Temp'),\n r'c:\\temp',r'c:\\tmp',r'\\temp',r'\\tmp'])\n else:\n dirlist.extend(['/tmp','/var/tmp','/usr/tmp'])\n \n \n try:\n dirlist.append(_os.getcwd())\n except(AttributeError,OSError):\n dirlist.append(_os.curdir)\n \n return dirlist\n \ndef _get_default_tempdir():\n ''\n\n\n\n\n\n \n \n namer=_RandomNameSequence()\n dirlist=_candidate_tempdir_list()\n \n for dir in dirlist:\n if dir !=_os.curdir:\n dir=_os.path.abspath(dir)\n \n for seq in range(100):\n name=next(namer)\n filename=_os.path.join(dir,name)\n try:\n fd=_os.open(filename,_bin_openflags,0o600)\n try:\n try:\n _os.write(fd,b'blat')\n finally:\n _os.close(fd)\n finally:\n _os.unlink(filename)\n return dir\n except FileExistsError:\n pass\n except PermissionError:\n \n \n if(_os.name =='nt'and _os.path.isdir(dir)and\n _os.access(dir,_os.W_OK)):\n continue\n break\n except OSError:\n break\n raise FileNotFoundError(_errno.ENOENT,\n \"No usable temporary directory found in %s\"%\n dirlist)\n \n_name_sequence=None\n\ndef _get_candidate_names():\n ''\n \n global _name_sequence\n if _name_sequence is None:\n _once_lock.acquire()\n try:\n if _name_sequence is None:\n _name_sequence=_RandomNameSequence()\n finally:\n _once_lock.release()\n return _name_sequence\n \n \ndef _mkstemp_inner(dir,pre,suf,flags,output_type):\n ''\n \n dir=_os.path.abspath(dir)\n names=_get_candidate_names()\n if output_type is bytes:\n names=map(_os.fsencode,names)\n \n for seq in range(TMP_MAX):\n name=next(names)\n file=_os.path.join(dir,pre+name+suf)\n _sys.audit(\"tempfile.mkstemp\",file)\n try:\n fd=_os.open(file,flags,0o600)\n except FileExistsError:\n continue\n except PermissionError:\n \n \n if(_os.name =='nt'and _os.path.isdir(dir)and\n _os.access(dir,_os.W_OK)):\n continue\n else:\n raise\n return fd,file\n \n raise FileExistsError(_errno.EEXIST,\n \"No usable temporary file name found\")\n \n \n \n \ndef gettempprefix():\n ''\n return _os.fsdecode(template)\n \ndef gettempprefixb():\n ''\n return _os.fsencode(template)\n \ntempdir=None\n\ndef _gettempdir():\n ''\n global tempdir\n if tempdir is None:\n _once_lock.acquire()\n try:\n if tempdir is None:\n tempdir=_get_default_tempdir()\n finally:\n _once_lock.release()\n return tempdir\n \ndef gettempdir():\n ''\n return _os.fsdecode(_gettempdir())\n \ndef gettempdirb():\n ''\n return _os.fsencode(_gettempdir())\n \ndef mkstemp(suffix=None,prefix=None,dir=None,text=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n prefix,suffix,dir,output_type=_sanitize_params(prefix,suffix,dir)\n \n if text:\n flags=_text_openflags\n else:\n flags=_bin_openflags\n \n return _mkstemp_inner(dir,prefix,suffix,flags,output_type)\n \n \ndef mkdtemp(suffix=None,prefix=None,dir=None):\n ''\n\n\n\n\n\n\n\n\n\n \n \n prefix,suffix,dir,output_type=_sanitize_params(prefix,suffix,dir)\n \n names=_get_candidate_names()\n if output_type is bytes:\n names=map(_os.fsencode,names)\n \n for seq in range(TMP_MAX):\n name=next(names)\n file=_os.path.join(dir,prefix+name+suffix)\n _sys.audit(\"tempfile.mkdtemp\",file)\n try:\n _os.mkdir(file,0o700)\n except FileExistsError:\n continue\n except PermissionError:\n \n \n if(_os.name =='nt'and _os.path.isdir(dir)and\n _os.access(dir,_os.W_OK)):\n continue\n else:\n raise\n return _os.path.abspath(file)\n \n raise FileExistsError(_errno.EEXIST,\n \"No usable temporary directory name found\")\n \ndef mktemp(suffix=\"\",prefix=template,dir=None):\n ''\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n if dir is None:\n dir=gettempdir()\n \n names=_get_candidate_names()\n for seq in range(TMP_MAX):\n name=next(names)\n file=_os.path.join(dir,prefix+name+suffix)\n if not _exists(file):\n return file\n \n raise FileExistsError(_errno.EEXIST,\n \"No usable temporary filename found\")\n \n \nclass _TemporaryFileCloser:\n ''\n\n \n \n cleanup_called=False\n close_called=False\n \n def __init__(self,file,name,delete=True,delete_on_close=True):\n self.file=file\n self.name=name\n self.delete=delete\n self.delete_on_close=delete_on_close\n \n def cleanup(self,windows=(_os.name =='nt'),unlink=_os.unlink):\n if not self.cleanup_called:\n self.cleanup_called=True\n try:\n if not self.close_called:\n self.close_called=True\n self.file.close()\n finally:\n \n \n if self.delete and not(windows and self.delete_on_close):\n try:\n unlink(self.name)\n except FileNotFoundError:\n pass\n \n def close(self):\n if not self.close_called:\n self.close_called=True\n try:\n self.file.close()\n finally:\n if self.delete and self.delete_on_close:\n self.cleanup()\n \n def __del__(self):\n self.cleanup()\n \n \nclass _TemporaryFileWrapper:\n ''\n\n\n\n\n \n \n def __init__(self,file,name,delete=True,delete_on_close=True):\n self.file=file\n self.name=name\n self._closer=_TemporaryFileCloser(file,name,delete,\n delete_on_close)\n \n def __getattr__(self,name):\n \n \n \n file=self.__dict__['file']\n a=getattr(file,name)\n if hasattr(a,'__call__'):\n func=a\n @_functools.wraps(func)\n def func_wrapper(*args,**kwargs):\n return func(*args,**kwargs)\n \n \n func_wrapper._closer=self._closer\n a=func_wrapper\n if not isinstance(a,int):\n setattr(self,name,a)\n return a\n \n \n \n def __enter__(self):\n self.file.__enter__()\n return self\n \n \n \n def __exit__(self,exc,value,tb):\n result=self.file.__exit__(exc,value,tb)\n self._closer.cleanup()\n return result\n \n def close(self):\n ''\n\n \n self._closer.close()\n \n \n def __iter__(self):\n \n \n \n \n \n for line in self.file:\n yield line\n \ndef NamedTemporaryFile(mode='w+b',buffering=-1,encoding=None,\nnewline=None,suffix=None,prefix=None,\ndir=None,delete=True,*,errors=None,\ndelete_on_close=True):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n prefix,suffix,dir,output_type=_sanitize_params(prefix,suffix,dir)\n \n flags=_bin_openflags\n \n \n \n if _os.name =='nt'and delete and delete_on_close:\n flags |=_os.O_TEMPORARY\n \n if \"b\"not in mode:\n encoding=_io.text_encoding(encoding)\n \n name=None\n def opener(*args):\n nonlocal name\n fd,name=_mkstemp_inner(dir,prefix,suffix,flags,output_type)\n return fd\n try:\n file=_io.open(dir,mode,buffering=buffering,\n newline=newline,encoding=encoding,errors=errors,\n opener=opener)\n try:\n raw=getattr(file,'buffer',file)\n raw=getattr(raw,'raw',raw)\n raw.name=name\n return _TemporaryFileWrapper(file,name,delete,delete_on_close)\n except:\n file.close()\n raise\n except:\n if name is not None and not(\n _os.name =='nt'and delete and delete_on_close):\n _os.unlink(name)\n raise\n \nif _os.name !='posix'or _sys.platform =='cygwin':\n\n\n TemporaryFile=NamedTemporaryFile\n \nelse:\n\n\n\n _O_TMPFILE_WORKS=hasattr(_os,'O_TMPFILE')\n \n def TemporaryFile(mode='w+b',buffering=-1,encoding=None,\n newline=None,suffix=None,prefix=None,\n dir=None,*,errors=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n global _O_TMPFILE_WORKS\n \n if \"b\"not in mode:\n encoding=_io.text_encoding(encoding)\n \n prefix,suffix,dir,output_type=_sanitize_params(prefix,suffix,dir)\n \n flags=_bin_openflags\n if _O_TMPFILE_WORKS:\n fd=None\n def opener(*args):\n nonlocal fd\n flags2=(flags |_os.O_TMPFILE)&~_os.O_CREAT\n fd=_os.open(dir,flags2,0o600)\n return fd\n try:\n file=_io.open(dir,mode,buffering=buffering,\n newline=newline,encoding=encoding,\n errors=errors,opener=opener)\n raw=getattr(file,'buffer',file)\n raw=getattr(raw,'raw',raw)\n raw.name=fd\n return file\n except IsADirectoryError:\n \n \n \n \n \n _O_TMPFILE_WORKS=False\n except OSError:\n \n \n \n \n \n \n \n pass\n \n \n fd=None\n def opener(*args):\n nonlocal fd\n fd,name=_mkstemp_inner(dir,prefix,suffix,flags,output_type)\n try:\n _os.unlink(name)\n except BaseException as e:\n _os.close(fd)\n raise\n return fd\n file=_io.open(dir,mode,buffering=buffering,\n newline=newline,encoding=encoding,errors=errors,\n opener=opener)\n raw=getattr(file,'buffer',file)\n raw=getattr(raw,'raw',raw)\n raw.name=fd\n return file\n \nclass SpooledTemporaryFile(_io.IOBase):\n ''\n\n\n \n _rolled=False\n \n def __init__(self,max_size=0,mode='w+b',buffering=-1,\n encoding=None,newline=None,\n suffix=None,prefix=None,dir=None,*,errors=None):\n if 'b'in mode:\n self._file=_io.BytesIO()\n else:\n encoding=_io.text_encoding(encoding)\n self._file=_io.TextIOWrapper(_io.BytesIO(),\n encoding=encoding,errors=errors,\n newline=newline)\n self._max_size=max_size\n self._rolled=False\n self._TemporaryFileArgs={'mode':mode,'buffering':buffering,\n 'suffix':suffix,'prefix':prefix,\n 'encoding':encoding,'newline':newline,\n 'dir':dir,'errors':errors}\n \n __class_getitem__=classmethod(_types.GenericAlias)\n \n def _check(self,file):\n if self._rolled:return\n max_size=self._max_size\n if max_size and file.tell()>max_size:\n self.rollover()\n \n def rollover(self):\n if self._rolled:return\n file=self._file\n newfile=self._file=TemporaryFile(**self._TemporaryFileArgs)\n del self._TemporaryFileArgs\n \n pos=file.tell()\n if hasattr(newfile,'buffer'):\n newfile.buffer.write(file.detach().getvalue())\n else:\n newfile.write(file.getvalue())\n newfile.seek(pos,0)\n \n self._rolled=True\n \n \n \n \n \n \n \n def __enter__(self):\n if self._file.closed:\n raise ValueError(\"Cannot enter context with closed file\")\n return self\n \n def __exit__(self,exc,value,tb):\n self._file.close()\n \n \n def __iter__(self):\n return self._file.__iter__()\n \n def __del__(self):\n if not self.closed:\n _warnings.warn(\n \"Unclosed file {!r}\".format(self),\n ResourceWarning,\n stacklevel=2,\n source=self\n )\n self.close()\n \n def close(self):\n self._file.close()\n \n @property\n def closed(self):\n return self._file.closed\n \n @property\n def encoding(self):\n return self._file.encoding\n \n @property\n def errors(self):\n return self._file.errors\n \n def fileno(self):\n self.rollover()\n return self._file.fileno()\n \n def flush(self):\n self._file.flush()\n \n def isatty(self):\n return self._file.isatty()\n \n @property\n def mode(self):\n try:\n return self._file.mode\n except AttributeError:\n return self._TemporaryFileArgs['mode']\n \n @property\n def name(self):\n try:\n return self._file.name\n except AttributeError:\n return None\n \n @property\n def newlines(self):\n return self._file.newlines\n \n def readable(self):\n return self._file.readable()\n \n def read(self,*args):\n return self._file.read(*args)\n \n def read1(self,*args):\n return self._file.read1(*args)\n \n def readinto(self,b):\n return self._file.readinto(b)\n \n def readinto1(self,b):\n return self._file.readinto1(b)\n \n def readline(self,*args):\n return self._file.readline(*args)\n \n def readlines(self,*args):\n return self._file.readlines(*args)\n \n def seekable(self):\n return self._file.seekable()\n \n def seek(self,*args):\n return self._file.seek(*args)\n \n def tell(self):\n return self._file.tell()\n \n def truncate(self,size=None):\n if size is None:\n return self._file.truncate()\n else:\n if size >self._max_size:\n self.rollover()\n return self._file.truncate(size)\n \n def writable(self):\n return self._file.writable()\n \n def write(self,s):\n file=self._file\n rv=file.write(s)\n self._check(file)\n return rv\n \n def writelines(self,iterable):\n file=self._file\n rv=file.writelines(iterable)\n self._check(file)\n return rv\n \n def detach(self):\n return self._file.detach()\n \n \nclass TemporaryDirectory:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,suffix=None,prefix=None,dir=None,\n ignore_cleanup_errors=False,*,delete=True):\n self.name=mkdtemp(suffix,prefix,dir)\n self._ignore_cleanup_errors=ignore_cleanup_errors\n self._delete=delete\n self._finalizer=_weakref.finalize(\n self,self._cleanup,self.name,\n warn_message=\"Implicitly cleaning up {!r}\".format(self),\n ignore_errors=self._ignore_cleanup_errors,delete=self._delete)\n \n @classmethod\n def _rmtree(cls,name,ignore_errors=False):\n def onexc(func,path,exc):\n if isinstance(exc,PermissionError):\n def resetperms(path):\n try:\n _os.chflags(path,0)\n except AttributeError:\n pass\n _os.chmod(path,0o700)\n \n try:\n if path !=name:\n resetperms(_os.path.dirname(path))\n resetperms(path)\n \n try:\n _os.unlink(path)\n \n except(IsADirectoryError,PermissionError):\n cls._rmtree(path,ignore_errors=ignore_errors)\n except FileNotFoundError:\n pass\n elif isinstance(exc,FileNotFoundError):\n pass\n else:\n if not ignore_errors:\n raise\n \n _shutil.rmtree(name,onexc=onexc)\n \n @classmethod\n def _cleanup(cls,name,warn_message,ignore_errors=False,delete=True):\n if delete:\n cls._rmtree(name,ignore_errors=ignore_errors)\n _warnings.warn(warn_message,ResourceWarning)\n \n def __repr__(self):\n return \"<{} {!r}>\".format(self.__class__.__name__,self.name)\n \n def __enter__(self):\n return self.name\n \n def __exit__(self,exc,value,tb):\n if self._delete:\n self.cleanup()\n \n def cleanup(self):\n if self._finalizer.detach()or _os.path.exists(self.name):\n self._rmtree(self.name,ignore_errors=self._ignore_cleanup_errors)\n \n __class_getitem__=classmethod(_types.GenericAlias)\n",["_thread","errno","functools","io","os","random","shutil","sys","types","warnings","weakref"]],textwrap:[".py","''\n\n\n\n\n\n\nimport re\n\n__all__=['TextWrapper','wrap','fill','dedent','indent','shorten']\n\n\n\n\n_whitespace='\\t\\n\\x0b\\x0c\\r '\n\nclass TextWrapper:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n unicode_whitespace_trans=dict.fromkeys(map(ord,_whitespace),ord(' '))\n \n \n \n \n \n \n \n word_punct=r'[\\w!\"\\'&.,?]'\n letter=r'[^\\d\\W]'\n whitespace=r'[%s]'%re.escape(_whitespace)\n nowhitespace='[^'+whitespace[1:]\n wordsep_re=re.compile(r'''\n ( # any whitespace\n %(ws)s+\n | # em-dash between words\n (?<=%(wp)s) -{2,} (?=\\w)\n | # word, possibly hyphenated\n %(nws)s+? (?:\n # hyphenated word\n -(?: (?<=%(lt)s{2}-) | (?<=%(lt)s-%(lt)s-))\n (?= %(lt)s -? %(lt)s)\n | # end of word\n (?=%(ws)s|\\Z)\n | # em-dash\n (?<=%(wp)s) (?=-{2,}\\w)\n )\n )'''%{'wp':word_punct,'lt':letter,\n 'ws':whitespace,'nws':nowhitespace},\n re.VERBOSE)\n del word_punct,letter,nowhitespace\n \n \n \n \n \n wordsep_simple_re=re.compile(r'(%s+)'%whitespace)\n del whitespace\n \n \n \n sentence_end_re=re.compile(r'[a-z]'\n r'[\\.\\!\\?]'\n r'[\\\"\\']?'\n r'\\Z')\n \n def __init__(self,\n width=70,\n initial_indent=\"\",\n subsequent_indent=\"\",\n expand_tabs=True,\n replace_whitespace=True,\n fix_sentence_endings=False,\n break_long_words=True,\n drop_whitespace=True,\n break_on_hyphens=True,\n tabsize=8,\n *,\n max_lines=None,\n placeholder=' [...]'):\n self.width=width\n self.initial_indent=initial_indent\n self.subsequent_indent=subsequent_indent\n self.expand_tabs=expand_tabs\n self.replace_whitespace=replace_whitespace\n self.fix_sentence_endings=fix_sentence_endings\n self.break_long_words=break_long_words\n self.drop_whitespace=drop_whitespace\n self.break_on_hyphens=break_on_hyphens\n self.tabsize=tabsize\n self.max_lines=max_lines\n self.placeholder=placeholder\n \n \n \n \n \n def _munge_whitespace(self,text):\n ''\n\n\n\n\n \n if self.expand_tabs:\n text=text.expandtabs(self.tabsize)\n if self.replace_whitespace:\n text=text.translate(self.unicode_whitespace_trans)\n return text\n \n \n def _split(self,text):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n if self.break_on_hyphens is True:\n chunks=self.wordsep_re.split(text)\n else:\n chunks=self.wordsep_simple_re.split(text)\n chunks=[c for c in chunks if c]\n return chunks\n \n def _fix_sentence_endings(self,chunks):\n ''\n\n\n\n\n\n\n \n i=0\n patsearch=self.sentence_end_re.search\n while i space_left:\n \n \n hyphen=chunk.rfind('-',0,space_left)\n if hyphen >0 and any(c !='-'for c in chunk[:hyphen]):\n end=hyphen+1\n cur_line.append(chunk[:end])\n reversed_chunks[-1]=chunk[end:]\n \n \n \n \n elif not cur_line:\n cur_line.append(reversed_chunks.pop())\n \n \n \n \n \n \n \n def _wrap_chunks(self,chunks):\n ''\n\n\n\n\n\n\n\n\n\n\n \n lines=[]\n if self.width <=0:\n raise ValueError(\"invalid width %r (must be > 0)\"%self.width)\n if self.max_lines is not None:\n if self.max_lines >1:\n indent=self.subsequent_indent\n else:\n indent=self.initial_indent\n if len(indent)+len(self.placeholder.lstrip())>self.width:\n raise ValueError(\"placeholder too large for max width\")\n \n \n \n chunks.reverse()\n \n while chunks:\n \n \n \n cur_line=[]\n cur_len=0\n \n \n if lines:\n indent=self.subsequent_indent\n else:\n indent=self.initial_indent\n \n \n width=self.width -len(indent)\n \n \n \n if self.drop_whitespace and chunks[-1].strip()==''and lines:\n del chunks[-1]\n \n while chunks:\n l=len(chunks[-1])\n \n \n if cur_len+l <=width:\n cur_line.append(chunks.pop())\n cur_len +=l\n \n \n else:\n break\n \n \n \n if chunks and len(chunks[-1])>width:\n self._handle_long_word(chunks,cur_line,cur_len,width)\n cur_len=sum(map(len,cur_line))\n \n \n if self.drop_whitespace and cur_line and cur_line[-1].strip()=='':\n cur_len -=len(cur_line[-1])\n del cur_line[-1]\n \n if cur_line:\n if(self.max_lines is None or\n len(lines)+1 \"%(\n \"locked\"if self._block.locked()else \"unlocked\",\n self.__class__.__module__,\n self.__class__.__qualname__,\n owner,\n self._count,\n hex(id(self))\n )\n \n def _at_fork_reinit(self):\n self._block._at_fork_reinit()\n self._owner=None\n self._count=0\n \n def acquire(self,blocking=True,timeout=-1):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n me=get_ident()\n if self._owner ==me:\n self._count +=1\n return 1\n rc=self._block.acquire(blocking,timeout)\n if rc:\n self._owner=me\n self._count=1\n return rc\n \n __enter__=acquire\n \n def release(self):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if self._owner !=get_ident():\n raise RuntimeError(\"cannot release un-acquired lock\")\n self._count=count=self._count -1\n if not count:\n self._owner=None\n self._block.release()\n \n def __exit__(self,t,v,tb):\n self.release()\n \n \n \n def _acquire_restore(self,state):\n self._block.acquire()\n self._count,self._owner=state\n \n def _release_save(self):\n if self._count ==0:\n raise RuntimeError(\"cannot release un-acquired lock\")\n count=self._count\n self._count=0\n owner=self._owner\n self._owner=None\n self._block.release()\n return(count,owner)\n \n def _is_owned(self):\n return self._owner ==get_ident()\n \n_PyRLock=_RLock\n\n\nclass Condition:\n ''\n\n\n\n\n\n\n\n\n \n \n def __init__(self,lock=None):\n if lock is None:\n lock=RLock()\n self._lock=lock\n \n self.acquire=lock.acquire\n self.release=lock.release\n \n \n \n if hasattr(lock,'_release_save'):\n self._release_save=lock._release_save\n if hasattr(lock,'_acquire_restore'):\n self._acquire_restore=lock._acquire_restore\n if hasattr(lock,'_is_owned'):\n self._is_owned=lock._is_owned\n self._waiters=_deque()\n \n def _at_fork_reinit(self):\n self._lock._at_fork_reinit()\n self._waiters.clear()\n \n def __enter__(self):\n return self._lock.__enter__()\n \n def __exit__(self,*args):\n return self._lock.__exit__(*args)\n \n def __repr__(self):\n return \"\"%(self._lock,len(self._waiters))\n \n def _release_save(self):\n self._lock.release()\n \n def _acquire_restore(self,x):\n self._lock.acquire()\n \n def _is_owned(self):\n \n \n if self._lock.acquire(False):\n self._lock.release()\n return False\n else:\n return True\n \n def wait(self,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not self._is_owned():\n raise RuntimeError(\"cannot wait on un-acquired lock\")\n waiter=_allocate_lock()\n waiter.acquire()\n self._waiters.append(waiter)\n saved_state=self._release_save()\n gotit=False\n try:\n if timeout is None:\n waiter.acquire()\n gotit=True\n else:\n if timeout >0:\n gotit=waiter.acquire(True,timeout)\n else:\n gotit=waiter.acquire(False)\n return gotit\n finally:\n self._acquire_restore(saved_state)\n if not gotit:\n try:\n self._waiters.remove(waiter)\n except ValueError:\n pass\n \n def wait_for(self,predicate,timeout=None):\n ''\n\n\n\n\n\n \n endtime=None\n waittime=timeout\n result=predicate()\n while not result:\n if waittime is not None:\n if endtime is None:\n endtime=_time()+waittime\n else:\n waittime=endtime -_time()\n if waittime <=0:\n break\n self.wait(waittime)\n result=predicate()\n return result\n \n def notify(self,n=1):\n ''\n\n\n\n\n\n\n\n \n if not self._is_owned():\n raise RuntimeError(\"cannot notify on un-acquired lock\")\n waiters=self._waiters\n while waiters and n >0:\n waiter=waiters[0]\n try:\n waiter.release()\n except RuntimeError:\n \n \n \n \n pass\n else:\n n -=1\n try:\n waiters.remove(waiter)\n except ValueError:\n pass\n \n def notify_all(self):\n ''\n\n\n\n\n \n self.notify(len(self._waiters))\n \n def notifyAll(self):\n ''\n\n\n\n \n import warnings\n warnings.warn('notifyAll() is deprecated, use notify_all() instead',\n DeprecationWarning,stacklevel=2)\n self.notify_all()\n \n \nclass Semaphore:\n ''\n\n\n\n\n\n\n \n \n \n \n def __init__(self,value=1):\n if value <0:\n raise ValueError(\"semaphore initial value must be >= 0\")\n self._cond=Condition(Lock())\n self._value=value\n \n def __repr__(self):\n cls=self.__class__\n return(f\"<{cls.__module__}.{cls.__qualname__} at {id(self):#x}:\"\n f\" value={self._value}>\")\n \n def acquire(self,blocking=True,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not blocking and timeout is not None:\n raise ValueError(\"can't specify timeout for non-blocking acquire\")\n rc=False\n endtime=None\n with self._cond:\n while self._value ==0:\n if not blocking:\n break\n if timeout is not None:\n if endtime is None:\n endtime=_time()+timeout\n else:\n timeout=endtime -_time()\n if timeout <=0:\n break\n self._cond.wait(timeout)\n else:\n self._value -=1\n rc=True\n return rc\n \n __enter__=acquire\n \n def release(self,n=1):\n ''\n\n\n\n\n \n if n <1:\n raise ValueError('n must be one or more')\n with self._cond:\n self._value +=n\n self._cond.notify(n)\n \n def __exit__(self,t,v,tb):\n self.release()\n \n \nclass BoundedSemaphore(Semaphore):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,value=1):\n super().__init__(value)\n self._initial_value=value\n \n def __repr__(self):\n cls=self.__class__\n return(f\"<{cls.__module__}.{cls.__qualname__} at {id(self):#x}:\"\n f\" value={self._value}/{self._initial_value}>\")\n \n def release(self,n=1):\n ''\n\n\n\n\n\n\n\n \n if n <1:\n raise ValueError('n must be one or more')\n with self._cond:\n if self._value+n >self._initial_value:\n raise ValueError(\"Semaphore released too many times\")\n self._value +=n\n self._cond.notify(n)\n \n \nclass Event:\n ''\n\n\n\n\n\n \n \n \n \n def __init__(self):\n self._cond=Condition(Lock())\n self._flag=False\n \n def __repr__(self):\n cls=self.__class__\n status='set'if self._flag else 'unset'\n return f\"<{cls.__module__}.{cls.__qualname__} at {id(self):#x}: {status}>\"\n \n def _at_fork_reinit(self):\n \n self._cond._at_fork_reinit()\n \n def is_set(self):\n ''\n return self._flag\n \n def isSet(self):\n ''\n\n\n\n \n import warnings\n warnings.warn('isSet() is deprecated, use is_set() instead',\n DeprecationWarning,stacklevel=2)\n return self.is_set()\n \n def set(self):\n ''\n\n\n\n\n \n with self._cond:\n self._flag=True\n self._cond.notify_all()\n \n def clear(self):\n ''\n\n\n\n\n \n with self._cond:\n self._flag=False\n \n def wait(self,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n with self._cond:\n signaled=self._flag\n if not signaled:\n signaled=self._cond.wait(timeout)\n return signaled\n \n \n \n \n \n \n \n \n \n \n \n \n \nclass Barrier:\n ''\n\n\n\n\n\n \n \n def __init__(self,parties,action=None,timeout=None):\n ''\n\n\n\n\n\n\n \n self._cond=Condition(Lock())\n self._action=action\n self._timeout=timeout\n self._parties=parties\n self._state=0\n self._count=0\n \n def __repr__(self):\n cls=self.__class__\n if self.broken:\n return f\"<{cls.__module__}.{cls.__qualname__} at {id(self):#x}: broken>\"\n return(f\"<{cls.__module__}.{cls.__qualname__} at {id(self):#x}:\"\n f\" waiters={self.n_waiting}/{self.parties}>\")\n \n def wait(self,timeout=None):\n ''\n\n\n\n\n\n\n \n if timeout is None:\n timeout=self._timeout\n with self._cond:\n self._enter()\n index=self._count\n self._count +=1\n try:\n if index+1 ==self._parties:\n \n self._release()\n else:\n \n self._wait(timeout)\n return index\n finally:\n self._count -=1\n \n self._exit()\n \n \n \n def _enter(self):\n while self._state in(-1,1):\n \n self._cond.wait()\n \n if self._state <0:\n raise BrokenBarrierError\n assert self._state ==0\n \n \n \n def _release(self):\n try:\n if self._action:\n self._action()\n \n self._state=1\n self._cond.notify_all()\n except:\n \n self._break()\n raise\n \n \n \n def _wait(self,timeout):\n if not self._cond.wait_for(lambda:self._state !=0,timeout):\n \n self._break()\n raise BrokenBarrierError\n if self._state <0:\n raise BrokenBarrierError\n assert self._state ==1\n \n \n \n def _exit(self):\n if self._count ==0:\n if self._state in(-1,1):\n \n self._state=0\n self._cond.notify_all()\n \n def reset(self):\n ''\n\n\n\n\n \n with self._cond:\n if self._count >0:\n if self._state ==0:\n \n self._state=-1\n elif self._state ==-2:\n \n \n self._state=-1\n else:\n self._state=0\n self._cond.notify_all()\n \n def abort(self):\n ''\n\n\n\n\n \n with self._cond:\n self._break()\n \n def _break(self):\n \n \n self._state=-2\n self._cond.notify_all()\n \n @property\n def parties(self):\n ''\n return self._parties\n \n @property\n def n_waiting(self):\n ''\n \n \n if self._state ==0:\n return self._count\n return 0\n \n @property\n def broken(self):\n ''\n return self._state ==-2\n \n \nclass BrokenBarrierError(RuntimeError):\n pass\n \n \n \n_counter=_count(1).__next__\ndef _newname(name_template):\n return name_template %_counter()\n \n \n \n \n \n_active_limbo_lock=RLock()\n_active={}\n_limbo={}\n_dangling=WeakSet()\n\n\n\n\n_shutdown_locks_lock=_allocate_lock()\n_shutdown_locks=set()\n\ndef _maintain_shutdown_locks():\n ''\n\n\n\n\n\n\n \n \n to_remove=[lock for lock in _shutdown_locks if not lock.locked()]\n _shutdown_locks.difference_update(to_remove)\n \n \n \n \nclass Thread:\n ''\n\n\n\n\n\n \n \n _initialized=False\n \n def __init__(self,group=None,target=None,name=None,\n args=(),kwargs=None,*,daemon=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n assert group is None,\"group argument must be None for now\"\n if kwargs is None:\n kwargs={}\n if name:\n name=str(name)\n else:\n name=_newname(\"Thread-%d\")\n if target is not None:\n try:\n target_name=target.__name__\n name +=f\" ({target_name})\"\n except AttributeError:\n pass\n \n self._target=target\n self._name=name\n self._args=args\n self._kwargs=kwargs\n if daemon is not None:\n if daemon and not _daemon_threads_allowed():\n raise RuntimeError('daemon threads are disabled in this (sub)interpreter')\n self._daemonic=daemon\n else:\n self._daemonic=current_thread().daemon\n self._ident=None\n if _HAVE_THREAD_NATIVE_ID:\n self._native_id=None\n self._tstate_lock=None\n self._started=Event()\n self._is_stopped=False\n self._initialized=True\n \n self._stderr=_sys.stderr\n self._invoke_excepthook=_make_invoke_excepthook()\n \n _dangling.add(self)\n \n def _reset_internal_locks(self,is_alive):\n \n \n self._started._at_fork_reinit()\n if is_alive:\n \n \n \n if self._tstate_lock is not None:\n self._tstate_lock._at_fork_reinit()\n self._tstate_lock.acquire()\n else:\n \n \n self._is_stopped=True\n self._tstate_lock=None\n \n def __repr__(self):\n assert self._initialized,\"Thread.__init__() was not called\"\n status=\"initial\"\n if self._started.is_set():\n status=\"started\"\n self.is_alive()\n if self._is_stopped:\n status=\"stopped\"\n if self._daemonic:\n status +=\" daemon\"\n if self._ident is not None:\n status +=\" %s\"%self._ident\n return \"<%s(%s, %s)>\"%(self.__class__.__name__,self._name,status)\n \n def start(self):\n ''\n\n\n\n\n\n\n\n \n if not self._initialized:\n raise RuntimeError(\"thread.__init__() not called\")\n \n if self._started.is_set():\n raise RuntimeError(\"threads can only be started once\")\n \n with _active_limbo_lock:\n _limbo[self]=self\n try:\n _start_new_thread(self._bootstrap,())\n except Exception:\n with _active_limbo_lock:\n del _limbo[self]\n raise\n self._started.wait()\n \n def run(self):\n ''\n\n\n\n\n\n\n \n try:\n if self._target is not None:\n self._target(*self._args,**self._kwargs)\n finally:\n \n \n del self._target,self._args,self._kwargs\n \n def _bootstrap(self):\n \n \n \n \n \n \n \n \n \n \n \n \n try:\n self._bootstrap_inner()\n except:\n if self._daemonic and _sys is None:\n return\n raise\n \n def _set_ident(self):\n self._ident=get_ident()\n \n if _HAVE_THREAD_NATIVE_ID:\n def _set_native_id(self):\n self._native_id=get_native_id()\n \n def _set_tstate_lock(self):\n ''\n\n\n \n self._tstate_lock=_set_sentinel()\n self._tstate_lock.acquire()\n \n if not self.daemon:\n with _shutdown_locks_lock:\n _maintain_shutdown_locks()\n _shutdown_locks.add(self._tstate_lock)\n \n def _bootstrap_inner(self):\n try:\n self._set_ident()\n self._set_tstate_lock()\n if _HAVE_THREAD_NATIVE_ID:\n self._set_native_id()\n self._started.set()\n with _active_limbo_lock:\n _active[self._ident]=self\n del _limbo[self]\n \n if _trace_hook:\n _sys.settrace(_trace_hook)\n if _profile_hook:\n _sys.setprofile(_profile_hook)\n \n try:\n self.run()\n except:\n self._invoke_excepthook(self)\n finally:\n self._delete()\n \n def _stop(self):\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n lock=self._tstate_lock\n if lock is not None:\n assert not lock.locked()\n self._is_stopped=True\n self._tstate_lock=None\n if not self.daemon:\n with _shutdown_locks_lock:\n \n _maintain_shutdown_locks()\n \n def _delete(self):\n ''\n with _active_limbo_lock:\n del _active[get_ident()]\n \n \n \n \n \n def join(self,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not self._initialized:\n raise RuntimeError(\"Thread.__init__() not called\")\n if not self._started.is_set():\n raise RuntimeError(\"cannot join thread before it is started\")\n if self is current_thread():\n raise RuntimeError(\"cannot join current thread\")\n \n if timeout is None:\n self._wait_for_tstate_lock()\n else:\n \n \n self._wait_for_tstate_lock(timeout=max(timeout,0))\n \n def _wait_for_tstate_lock(self,block=True,timeout=-1):\n \n \n \n \n \n \n lock=self._tstate_lock\n if lock is None:\n \n assert self._is_stopped\n return\n \n try:\n if lock.acquire(block,timeout):\n lock.release()\n self._stop()\n except:\n if lock.locked():\n \n \n \n \n lock.release()\n self._stop()\n raise\n \n @property\n def name(self):\n ''\n\n\n\n\n \n assert self._initialized,\"Thread.__init__() not called\"\n return self._name\n \n @name.setter\n def name(self,name):\n assert self._initialized,\"Thread.__init__() not called\"\n self._name=str(name)\n \n @property\n def ident(self):\n ''\n\n\n\n\n\n \n assert self._initialized,\"Thread.__init__() not called\"\n return self._ident\n \n if _HAVE_THREAD_NATIVE_ID:\n @property\n def native_id(self):\n ''\n\n\n\n\n \n assert self._initialized,\"Thread.__init__() not called\"\n return self._native_id\n \n def is_alive(self):\n ''\n\n\n\n\n\n \n assert self._initialized,\"Thread.__init__() not called\"\n if self._is_stopped or not self._started.is_set():\n return False\n self._wait_for_tstate_lock(False)\n return not self._is_stopped\n \n @property\n def daemon(self):\n ''\n\n\n\n\n\n\n\n\n \n assert self._initialized,\"Thread.__init__() not called\"\n return self._daemonic\n \n @daemon.setter\n def daemon(self,daemonic):\n if not self._initialized:\n raise RuntimeError(\"Thread.__init__() not called\")\n if daemonic and not _daemon_threads_allowed():\n raise RuntimeError('daemon threads are disabled in this interpreter')\n if self._started.is_set():\n raise RuntimeError(\"cannot set daemon status of active thread\")\n self._daemonic=daemonic\n \n def isDaemon(self):\n ''\n\n\n\n \n import warnings\n warnings.warn('isDaemon() is deprecated, get the daemon attribute instead',\n DeprecationWarning,stacklevel=2)\n return self.daemon\n \n def setDaemon(self,daemonic):\n ''\n\n\n\n \n import warnings\n warnings.warn('setDaemon() is deprecated, set the daemon attribute instead',\n DeprecationWarning,stacklevel=2)\n self.daemon=daemonic\n \n def getName(self):\n ''\n\n\n\n \n import warnings\n warnings.warn('getName() is deprecated, get the name attribute instead',\n DeprecationWarning,stacklevel=2)\n return self.name\n \n def setName(self,name):\n ''\n\n\n\n \n import warnings\n warnings.warn('setName() is deprecated, set the name attribute instead',\n DeprecationWarning,stacklevel=2)\n self.name=name\n \n \ntry:\n from _thread import(_excepthook as excepthook,\n _ExceptHookArgs as ExceptHookArgs)\nexcept ImportError:\n\n from traceback import print_exception as _print_exception\n from collections import namedtuple\n \n _ExceptHookArgs=namedtuple(\n 'ExceptHookArgs',\n 'exc_type exc_value exc_traceback thread')\n \n def ExceptHookArgs(args):\n return _ExceptHookArgs(*args)\n \n def excepthook(args,/):\n ''\n\n \n if args.exc_type ==SystemExit:\n \n return\n \n if _sys is not None and _sys.stderr is not None:\n stderr=_sys.stderr\n elif args.thread is not None:\n stderr=args.thread._stderr\n if stderr is None:\n \n \n return\n else:\n \n return\n \n if args.thread is not None:\n name=args.thread.name\n else:\n name=get_ident()\n print(f\"Exception in thread {name}:\",\n file=stderr,flush=True)\n _print_exception(args.exc_type,args.exc_value,args.exc_traceback,\n file=stderr)\n stderr.flush()\n \n \n \n__excepthook__=excepthook\n\n\ndef _make_invoke_excepthook():\n\n\n\n\n old_excepthook=excepthook\n old_sys_excepthook=_sys.excepthook\n if old_excepthook is None:\n raise RuntimeError(\"threading.excepthook is None\")\n if old_sys_excepthook is None:\n raise RuntimeError(\"sys.excepthook is None\")\n \n sys_exc_info=_sys.exc_info\n local_print=print\n local_sys=_sys\n \n def invoke_excepthook(thread):\n global excepthook\n try:\n hook=excepthook\n if hook is None:\n hook=old_excepthook\n \n args=ExceptHookArgs([*sys_exc_info(),thread])\n \n hook(args)\n except Exception as exc:\n exc.__suppress_context__=True\n del exc\n \n if local_sys is not None and local_sys.stderr is not None:\n stderr=local_sys.stderr\n else:\n stderr=thread._stderr\n \n local_print(\"Exception in threading.excepthook:\",\n file=stderr,flush=True)\n \n if local_sys is not None and local_sys.excepthook is not None:\n sys_excepthook=local_sys.excepthook\n else:\n sys_excepthook=old_sys_excepthook\n \n sys_excepthook(*sys_exc_info())\n finally:\n \n args=None\n \n return invoke_excepthook\n \n \n \n \nclass Timer(Thread):\n ''\n\n\n\n\n\n \n \n def __init__(self,interval,function,args=None,kwargs=None):\n Thread.__init__(self)\n self.interval=interval\n self.function=function\n self.args=args if args is not None else[]\n self.kwargs=kwargs if kwargs is not None else{}\n self.finished=Event()\n \n def cancel(self):\n ''\n self.finished.set()\n \n def run(self):\n self.finished.wait(self.interval)\n if not self.finished.is_set():\n self.function(*self.args,**self.kwargs)\n self.finished.set()\n \n \n \n \nclass _MainThread(Thread):\n\n def __init__(self):\n Thread.__init__(self,name=\"MainThread\",daemon=False)\n self._set_tstate_lock()\n self._started.set()\n self._set_ident()\n if _HAVE_THREAD_NATIVE_ID:\n self._set_native_id()\n with _active_limbo_lock:\n _active[self._ident]=self\n \n \n \n \n \n \n \n \n \n \nclass _DummyThread(Thread):\n\n def __init__(self):\n Thread.__init__(self,name=_newname(\"Dummy-%d\"),\n daemon=_daemon_threads_allowed())\n \n self._started.set()\n self._set_ident()\n if _HAVE_THREAD_NATIVE_ID:\n self._set_native_id()\n with _active_limbo_lock:\n _active[self._ident]=self\n \n def _stop(self):\n pass\n \n def is_alive(self):\n assert not self._is_stopped and self._started.is_set()\n return True\n \n def join(self,timeout=None):\n assert False,\"cannot join a dummy thread\"\n \n \n \n \ndef current_thread():\n ''\n\n\n\n\n \n try:\n return _active[get_ident()]\n except KeyError:\n return _DummyThread()\n \ndef currentThread():\n ''\n\n\n\n \n import warnings\n warnings.warn('currentThread() is deprecated, use current_thread() instead',\n DeprecationWarning,stacklevel=2)\n return current_thread()\n \ndef active_count():\n ''\n\n\n\n\n \n \n \n with _active_limbo_lock:\n return len(_active)+len(_limbo)\n \ndef activeCount():\n ''\n\n\n\n \n import warnings\n warnings.warn('activeCount() is deprecated, use active_count() instead',\n DeprecationWarning,stacklevel=2)\n return active_count()\n \ndef _enumerate():\n\n return list(_active.values())+list(_limbo.values())\n \ndef enumerate():\n ''\n\n\n\n\n\n \n with _active_limbo_lock:\n return list(_active.values())+list(_limbo.values())\n \n \n_threading_atexits=[]\n_SHUTTING_DOWN=False\n\ndef _register_atexit(func,*arg,**kwargs):\n ''\n\n\n\n\n\n\n\n \n if _SHUTTING_DOWN:\n raise RuntimeError(\"can't register atexit after shutdown\")\n \n call=functools.partial(func,*arg,**kwargs)\n _threading_atexits.append(call)\n \n \nfrom _thread import stack_size\n\n\n\n\n\n_main_thread=_MainThread()\n\ndef _shutdown():\n ''\n\n \n \n \n \n \n \n if _main_thread._is_stopped:\n \n return\n \n global _SHUTTING_DOWN\n _SHUTTING_DOWN=True\n \n \n \n for atexit_call in reversed(_threading_atexits):\n atexit_call()\n \n \n if _main_thread.ident ==get_ident():\n tlock=_main_thread._tstate_lock\n \n \n assert tlock is not None\n assert tlock.locked()\n tlock.release()\n _main_thread._stop()\n else:\n \n \n \n \n \n pass\n \n \n while True:\n with _shutdown_locks_lock:\n locks=list(_shutdown_locks)\n _shutdown_locks.clear()\n \n if not locks:\n break\n \n for lock in locks:\n \n lock.acquire()\n lock.release()\n \n \n \n \n \ndef main_thread():\n ''\n\n\n\n \n return _main_thread\n \n \n \n \ntry:\n from _thread import _local as local\nexcept ImportError:\n from _threading_local import local\n \n \ndef _after_fork():\n ''\n\n \n \n \n global _active_limbo_lock,_main_thread\n global _shutdown_locks_lock,_shutdown_locks\n _active_limbo_lock=RLock()\n \n \n new_active={}\n \n try:\n current=_active[get_ident()]\n except KeyError:\n \n \n \n current=_MainThread()\n \n _main_thread=current\n \n \n _shutdown_locks_lock=_allocate_lock()\n _shutdown_locks=set()\n \n with _active_limbo_lock:\n \n \n threads=set(_enumerate())\n threads.update(_dangling)\n for thread in threads:\n \n \n if thread is current:\n \n \n thread._reset_internal_locks(True)\n ident=get_ident()\n thread._ident=ident\n new_active[ident]=thread\n else:\n \n thread._reset_internal_locks(False)\n thread._stop()\n \n _limbo.clear()\n _active.clear()\n _active.update(new_active)\n assert len(_active)==1\n \n \nif hasattr(_os,\"register_at_fork\"):\n _os.register_at_fork(after_in_child=_after_fork)\n",["_collections","_thread","_threading_local","_weakrefset","collections","functools","itertools","os","sys","time","traceback","warnings"]],time:[".py","from browser import self as window\nimport _locale\nimport javascript\n\n\ndate=javascript.Date.new\nnow=javascript.Date.now\n\n\n\n\n\n\n\n_STRUCT_TM_ITEMS=9\n\n\n\n\n\ndef _get_day_of_year(arg):\n ''\n\n\n\n\n\n\n\n\n\n \n ml=[31,28,31,30,31,30,31,31,30,31,30,31]\n if arg[0]%4 ==0:\n ml[1]+=1\n i=1\n yday=0\n while i mm >13:\n raise ValueError(\"month out of range\")\n \n dd=t[2]\n if dd ==0:dd=1\n if -1 >dd >32:\n raise ValueError(\"day of month out of range\")\n \n hh=t[3]\n if -1 >hh >24:\n raise ValueError(\"hour out of range\")\n \n minu=t[4]\n if -1 >minu >60:\n raise ValueError(\"minute out of range\")\n \n ss=t[5]\n if -1 >ss >62:\n raise ValueError(\"seconds out of range\")\n \n wd=t[6]%7\n if wd <-2:\n raise ValueError(\"day of week out of range\")\n \n dy=t[7]\n if dy ==0:dy=1\n if -1 >dy >367:\n raise ValueError(\"day of year out of range\")\n \n return t[0],mm,dd,hh,minu,ss,wd,dy,t[-1]\n \n \ndef _is_dst(secs=None):\n ''\n d=date()\n if secs is not None:\n d=date(secs *1000)\n \n \n \n jan=date(d.getFullYear(),0,1)\n jul=date(d.getFullYear(),6,1)\n dst=int(d.getTimezoneOffset()=0 else 6\n tmp=struct_time([d.getUTCFullYear(),\n d.getUTCMonth()+1,d.getUTCDate(),\n d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),\n wday,0,0])\n tmp.args[7]=_get_day_of_year(tmp.args)\n return tmp\n \ndef localtime(secs=None):\n d=date()\n if secs is not None:\n d=date(secs *1000)\n dst=_is_dst(secs)\n wday=d.getDay()-1 if d.getDay()-1 >=0 else 6\n tmp=struct_time([d.getFullYear(),\n d.getMonth()+1,d.getDate(),\n d.getHours(),d.getMinutes(),d.getSeconds(),\n wday,0,dst])\n tmp.args[7]=_get_day_of_year(tmp.args)\n return tmp\n \ndef mktime(t):\n if isinstance(t,struct_time):\n d1=date(t.tm_year,t.tm_mon -1,t.tm_mday,\n t.tm_hour,t.tm_min,t.tm_sec,0).getTime()\n elif isinstance(t,tuple):\n d1=date(t[0],t[1]-1,t[2],t[3],t[4],t[5],0).getTime()\n else:\n raise ValueError(\"Tuple or struct_time argument required\")\n d2=date(0).getTime()\n return(d1 -d2)/1000.\n \ndef monotonic():\n return now()/1000.\n \ndef perf_counter():\n return window.performance.now()/1000.\n \ndef process_time():\n return now()/1000.\n \ndef time():\n return float(date().getTime()/1000)\n \ndef sleep(secs):\n ''\n\n \n \n float(secs)\n raise NotImplementedError(\"Blocking functions like time.sleep() are not \"\n \"supported in the browser. Use functions in module browser.timer \"\n \"instead.\")\n \ndef strftime(_format,t=None):\n def ns(t,nb):\n \n res=str(t)\n while len(res) float\n repeat(string, string) -> list\n default_timer() -> float\n\n"""\n\nimport gc\nimport itertools\nimport sys\nimport time\n\n__all__=["Timer","timeit","repeat","default_timer"]\n\ndummy_src_name=""\ndefault_number=1000000\ndefault_repeat=5\ndefault_timer=time.perf_counter\n\n_globals=globals\n\n\n\n\ntemplate="""\ndef inner(_it, _timer{init}):\n {setup}\n _t0 = _timer()\n for _i in _it:\n {stmt}\n pass\n _t1 = _timer()\n return _t1 - _t0\n"""\n\n\ndef reindent(src,indent):\n \'\'\n return src.replace("\\n","\\n"+" "*indent)\n \n \nclass Timer:\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,stmt="pass",setup="pass",timer=default_timer,\n globals=None):\n \'\'\n self.timer=timer\n local_ns={}\n global_ns=_globals()if globals is None else globals\n init=\'\'\n if isinstance(setup,str):\n \n compile(setup,dummy_src_name,"exec")\n stmtprefix=setup+\'\\n\'\n setup=reindent(setup,4)\n elif callable(setup):\n local_ns[\'_setup\']=setup\n init +=\', _setup=_setup\'\n stmtprefix=\'\'\n setup=\'_setup()\'\n else:\n raise ValueError("setup is neither a string nor callable")\n if isinstance(stmt,str):\n \n compile(stmtprefix+stmt,dummy_src_name,"exec")\n stmt=reindent(stmt,8)\n elif callable(stmt):\n local_ns[\'_stmt\']=stmt\n init +=\', _stmt=_stmt\'\n stmt=\'_stmt()\'\n else:\n raise ValueError("stmt is neither a string nor callable")\n src=template.format(stmt=stmt,setup=setup,init=init)\n self.src=src\n code=compile(src,dummy_src_name,"exec")\n exec(code,global_ns,local_ns)\n self.inner=local_ns["inner"]\n \n def print_exc(self,file=None):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n import linecache,traceback\n if self.src is not None:\n linecache.cache[dummy_src_name]=(len(self.src),\n None,\n self.src.split("\\n"),\n dummy_src_name)\n \n \n traceback.print_exc(file=file)\n \n def timeit(self,number=default_number):\n \'\'\n\n\n\n\n\n\n\n \n it=itertools.repeat(None,number)\n gcold=gc.isenabled()\n gc.disable()\n try:\n timing=self.inner(it,self.timer)\n finally:\n if gcold:\n gc.enable()\n return timing\n \n def repeat(self,repeat=default_repeat,number=default_number):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n r=[]\n for i in range(repeat):\n t=self.timeit(number)\n r.append(t)\n return r\n \n def autorange(self,callback=None):\n \'\'\n\n\n\n\n\n\n\n \n i=1\n while True:\n for j in 1,2,5:\n number=i *j\n time_taken=self.timeit(number)\n if callback:\n callback(number,time_taken)\n if time_taken >=0.2:\n return(number,time_taken)\n i *=10\n \n \ndef timeit(stmt="pass",setup="pass",timer=default_timer,\nnumber=default_number,globals=None):\n \'\'\n return Timer(stmt,setup,timer,globals).timeit(number)\n \n \ndef repeat(stmt="pass",setup="pass",timer=default_timer,\nrepeat=default_repeat,number=default_number,globals=None):\n \'\'\n return Timer(stmt,setup,timer,globals).repeat(repeat,number)\n \n \ndef main(args=None,*,_wrap_timer=None):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if args is None:\n args=sys.argv[1:]\n import getopt\n try:\n opts,args=getopt.getopt(args,"n:u:s:r:pvh",\n ["number=","setup=","repeat=",\n "process","verbose","unit=","help"])\n except getopt.error as err:\n print(err)\n print("use -h/--help for command line help")\n return 2\n \n timer=default_timer\n stmt="\\n".join(args)or "pass"\n number=0\n setup=[]\n repeat=default_repeat\n verbose=0\n time_unit=None\n units={"nsec":1e-9,"usec":1e-6,"msec":1e-3,"sec":1.0}\n precision=3\n for o,a in opts:\n if o in("-n","--number"):\n number=int(a)\n if o in("-s","--setup"):\n setup.append(a)\n if o in("-u","--unit"):\n if a in units:\n time_unit=a\n else:\n print("Unrecognized unit. Please select nsec, usec, msec, or sec.",\n file=sys.stderr)\n return 2\n if o in("-r","--repeat"):\n repeat=int(a)\n if repeat <=0:\n repeat=1\n if o in("-p","--process"):\n timer=time.process_time\n if o in("-v","--verbose"):\n if verbose:\n precision +=1\n verbose +=1\n if o in("-h","--help"):\n print(__doc__,end=\' \')\n return 0\n setup="\\n".join(setup)or "pass"\n \n \n \n \n import os\n sys.path.insert(0,os.curdir)\n if _wrap_timer is not None:\n timer=_wrap_timer(timer)\n \n t=Timer(stmt,setup,timer)\n if number ==0:\n \n callback=None\n if verbose:\n def callback(number,time_taken):\n msg="{num} loop{s} -> {secs:.{prec}g} secs"\n plural=(number !=1)\n print(msg.format(num=number,s=\'s\'if plural else \'\',\n secs=time_taken,prec=precision))\n try:\n number,_=t.autorange(callback)\n except:\n t.print_exc()\n return 1\n \n if verbose:\n print()\n \n try:\n raw_timings=t.repeat(repeat,number)\n except:\n t.print_exc()\n return 1\n \n def format_time(dt):\n unit=time_unit\n \n if unit is not None:\n scale=units[unit]\n else:\n scales=[(scale,unit)for unit,scale in units.items()]\n scales.sort(reverse=True)\n for scale,unit in scales:\n if dt >=scale:\n break\n \n return "%.*g %s"%(precision,dt /scale,unit)\n \n if verbose:\n print("raw times: %s"%", ".join(map(format_time,raw_timings)))\n print()\n timings=[dt /number for dt in raw_timings]\n \n best=min(timings)\n print("%d loop%s, best of %d: %s per loop"\n %(number,\'s\'if number !=1 else \'\',\n repeat,format_time(best)))\n \n best=min(timings)\n worst=max(timings)\n if worst >=best *4:\n import warnings\n warnings.warn_explicit("The test results are likely unreliable. "\n "The worst time (%s) was more than four times "\n "slower than the best time (%s)."\n %(format_time(worst),format_time(best)),\n UserWarning,\'\',0)\n return None\n \n \nif __name__ =="__main__":\n sys.exit(main())\n',["gc","getopt","itertools","linecache","os","sys","time","traceback","warnings"]],token:[".py","''\n\n\n__all__=['tok_name','ISTERMINAL','ISNONTERMINAL','ISEOF']\n\nENDMARKER=0\nNAME=1\nNUMBER=2\nSTRING=3\nNEWLINE=4\nINDENT=5\nDEDENT=6\nLPAR=7\nRPAR=8\nLSQB=9\nRSQB=10\nCOLON=11\nCOMMA=12\nSEMI=13\nPLUS=14\nMINUS=15\nSTAR=16\nSLASH=17\nVBAR=18\nAMPER=19\nLESS=20\nGREATER=21\nEQUAL=22\nDOT=23\nPERCENT=24\nLBRACE=25\nRBRACE=26\nEQEQUAL=27\nNOTEQUAL=28\nLESSEQUAL=29\nGREATEREQUAL=30\nTILDE=31\nCIRCUMFLEX=32\nLEFTSHIFT=33\nRIGHTSHIFT=34\nDOUBLESTAR=35\nPLUSEQUAL=36\nMINEQUAL=37\nSTAREQUAL=38\nSLASHEQUAL=39\nPERCENTEQUAL=40\nAMPEREQUAL=41\nVBAREQUAL=42\nCIRCUMFLEXEQUAL=43\nLEFTSHIFTEQUAL=44\nRIGHTSHIFTEQUAL=45\nDOUBLESTAREQUAL=46\nDOUBLESLASH=47\nDOUBLESLASHEQUAL=48\nAT=49\nATEQUAL=50\nRARROW=51\nELLIPSIS=52\nCOLONEQUAL=53\nEXCLAMATION=54\nOP=55\nAWAIT=56\nASYNC=57\nTYPE_IGNORE=58\nTYPE_COMMENT=59\nSOFT_KEYWORD=60\nFSTRING_START=61\nFSTRING_MIDDLE=62\nFSTRING_END=63\nCOMMENT=64\nNL=65\n\nERRORTOKEN=66\nENCODING=67\nN_TOKENS=68\n\nNT_OFFSET=256\n\ntok_name={value:name\nfor name,value in globals().items()\nif isinstance(value,int)and not name.startswith('_')}\n__all__.extend(tok_name.values())\n\nEXACT_TOKEN_TYPES={\n'!':EXCLAMATION,\n'!=':NOTEQUAL,\n'%':PERCENT,\n'%=':PERCENTEQUAL,\n'&':AMPER,\n'&=':AMPEREQUAL,\n'(':LPAR,\n')':RPAR,\n'*':STAR,\n'**':DOUBLESTAR,\n'**=':DOUBLESTAREQUAL,\n'*=':STAREQUAL,\n'+':PLUS,\n'+=':PLUSEQUAL,\n',':COMMA,\n'-':MINUS,\n'-=':MINEQUAL,\n'->':RARROW,\n'.':DOT,\n'...':ELLIPSIS,\n'/':SLASH,\n'//':DOUBLESLASH,\n'//=':DOUBLESLASHEQUAL,\n'/=':SLASHEQUAL,\n':':COLON,\n':=':COLONEQUAL,\n';':SEMI,\n'<':LESS,\n'<<':LEFTSHIFT,\n'<<=':LEFTSHIFTEQUAL,\n'<=':LESSEQUAL,\n'=':EQUAL,\n'==':EQEQUAL,\n'>':GREATER,\n'>=':GREATEREQUAL,\n'>>':RIGHTSHIFT,\n'>>=':RIGHTSHIFTEQUAL,\n'@':AT,\n'@=':ATEQUAL,\n'[':LSQB,\n']':RSQB,\n'^':CIRCUMFLEX,\n'^=':CIRCUMFLEXEQUAL,\n'{':LBRACE,\n'|':VBAR,\n'|=':VBAREQUAL,\n'}':RBRACE,\n'~':TILDE,\n}\n\ndef ISTERMINAL(x):\n return x =NT_OFFSET\n \ndef ISEOF(x):\n return x ==ENDMARKER\n",[]],tokenize:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__author__='Ka-Ping Yee '\n__credits__=('GvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, '\n'Skip Montanaro, Raymond Hettinger, Trent Nelson, '\n'Michael Foord')\nfrom builtins import open as _builtin_open\nfrom codecs import lookup,BOM_UTF8\nimport collections\nimport functools\nfrom io import TextIOWrapper\nimport itertools as _itertools\nimport re\nimport sys\nfrom token import *\nfrom token import EXACT_TOKEN_TYPES\nimport _tokenize\n\ncookie_re=re.compile(r'^[ \\t\\f]*#.*?coding[:=][ \\t]*([-\\w.]+)',re.ASCII)\nblank_re=re.compile(br'^[ \\t\\f]*(?:[#\\r\\n]|$)',re.ASCII)\n\nimport token\n__all__=token.__all__+[\"tokenize\",\"generate_tokens\",\"detect_encoding\",\n\"untokenize\",\"TokenInfo\"]\ndel token\n\nclass TokenInfo(collections.namedtuple('TokenInfo','type string start end line')):\n def __repr__(self):\n annotated_type='%d (%s)'%(self.type,tok_name[self.type])\n return('TokenInfo(type=%s, string=%r, start=%r, end=%r, line=%r)'%\n self._replace(type=annotated_type))\n \n @property\n def exact_type(self):\n if self.type ==OP and self.string in EXACT_TOKEN_TYPES:\n return EXACT_TOKEN_TYPES[self.string]\n else:\n return self.type\n \ndef group(*choices):return '('+'|'.join(choices)+')'\ndef any(*choices):return group(*choices)+'*'\ndef maybe(*choices):return group(*choices)+'?'\n\n\n\nWhitespace=r'[ \\f\\t]*'\nComment=r'#[^\\r\\n]*'\nIgnore=Whitespace+any(r'\\\\\\r?\\n'+Whitespace)+maybe(Comment)\nName=r'\\w+'\n\nHexnumber=r'0[xX](?:_?[0-9a-fA-F])+'\nBinnumber=r'0[bB](?:_?[01])+'\nOctnumber=r'0[oO](?:_?[0-7])+'\nDecnumber=r'(?:0(?:_?0)*|[1-9](?:_?[0-9])*)'\nIntnumber=group(Hexnumber,Binnumber,Octnumber,Decnumber)\nExponent=r'[eE][-+]?[0-9](?:_?[0-9])*'\nPointfloat=group(r'[0-9](?:_?[0-9])*\\.(?:[0-9](?:_?[0-9])*)?',\nr'\\.[0-9](?:_?[0-9])*')+maybe(Exponent)\nExpfloat=r'[0-9](?:_?[0-9])*'+Exponent\nFloatnumber=group(Pointfloat,Expfloat)\nImagnumber=group(r'[0-9](?:_?[0-9])*[jJ]',Floatnumber+r'[jJ]')\nNumber=group(Imagnumber,Floatnumber,Intnumber)\n\n\ndef _all_string_prefixes():\n\n\n\n _valid_string_prefixes=['b','r','u','f','br','fr']\n \n result={''}\n for prefix in _valid_string_prefixes:\n for t in _itertools.permutations(prefix):\n \n \n for u in _itertools.product(*[(c,c.upper())for c in t]):\n result.add(''.join(u))\n return result\n \n@functools.lru_cache\ndef _compile(expr):\n return re.compile(expr,re.UNICODE)\n \n \n \nStringPrefix=group(*_all_string_prefixes())\n\n\nSingle=r\"[^'\\\\]*(?:\\\\.[^'\\\\]*)*'\"\n\nDouble=r'[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"'\n\nSingle3=r\"[^'\\\\]*(?:(?:\\\\.|'(?!''))[^'\\\\]*)*'''\"\n\nDouble3=r'[^\"\\\\]*(?:(?:\\\\.|\"(?!\"\"))[^\"\\\\]*)*\"\"\"'\nTriple=group(StringPrefix+\"'''\",StringPrefix+'\"\"\"')\n\nString=group(StringPrefix+r\"'[^\\n'\\\\]*(?:\\\\.[^\\n'\\\\]*)*'\",\nStringPrefix+r'\"[^\\n\"\\\\]*(?:\\\\.[^\\n\"\\\\]*)*\"')\n\n\n\n\nSpecial=group(*map(re.escape,sorted(EXACT_TOKEN_TYPES,reverse=True)))\nFunny=group(r'\\r?\\n',Special)\n\nPlainToken=group(Number,Funny,String,Name)\nToken=Ignore+PlainToken\n\n\nContStr=group(StringPrefix+r\"'[^\\n'\\\\]*(?:\\\\.[^\\n'\\\\]*)*\"+\ngroup(\"'\",r'\\\\\\r?\\n'),\nStringPrefix+r'\"[^\\n\"\\\\]*(?:\\\\.[^\\n\"\\\\]*)*'+\ngroup('\"',r'\\\\\\r?\\n'))\nPseudoExtras=group(r'\\\\\\r?\\n|\\Z',Comment,Triple)\nPseudoToken=Whitespace+group(PseudoExtras,Number,Funny,ContStr,Name)\n\n\n\n\nendpats={}\nfor _prefix in _all_string_prefixes():\n endpats[_prefix+\"'\"]=Single\n endpats[_prefix+'\"']=Double\n endpats[_prefix+\"'''\"]=Single3\n endpats[_prefix+'\"\"\"']=Double3\ndel _prefix\n\n\n\nsingle_quoted=set()\ntriple_quoted=set()\nfor t in _all_string_prefixes():\n for u in(t+'\"',t+\"'\"):\n single_quoted.add(u)\n for u in(t+'\"\"\"',t+\"'''\"):\n triple_quoted.add(u)\ndel t,u\n\ntabsize=8\n\nclass TokenError(Exception):pass\n\n\nclass StopTokenizing(Exception):pass\n\nclass Untokenizer:\n\n def __init__(self):\n self.tokens=[]\n self.prev_row=1\n self.prev_col=0\n self.encoding=None\n \n def add_whitespace(self,start):\n row,col=start\n if row =len(indent):\n self.tokens.append(indent)\n self.prev_col=len(indent)\n startline=False\n elif tok_type ==FSTRING_MIDDLE:\n if '{'in token or '}'in token:\n end_line,end_col=end\n end=(end_line,end_col+token.count('{')+token.count('}'))\n token=re.sub('{','{{',token)\n token=re.sub('}','}}',token)\n \n \n self.add_whitespace(start)\n self.tokens.append(token)\n self.prev_row,self.prev_col=end\n if tok_type in(NEWLINE,NL):\n self.prev_row +=1\n self.prev_col=0\n return \"\".join(self.tokens)\n \n def compat(self,token,iterable):\n indents=[]\n toks_append=self.tokens.append\n startline=token[0]in(NEWLINE,NL)\n prevstring=False\n \n for tok in _itertools.chain([token],iterable):\n toknum,tokval=tok[:2]\n if toknum ==ENCODING:\n self.encoding=tokval\n continue\n \n if toknum in(NAME,NUMBER):\n tokval +=' '\n \n \n if toknum ==STRING:\n if prevstring:\n tokval=' '+tokval\n prevstring=True\n else:\n prevstring=False\n \n if toknum ==INDENT:\n indents.append(tokval)\n continue\n elif toknum ==DEDENT:\n indents.pop()\n continue\n elif toknum in(NEWLINE,NL):\n startline=True\n elif startline and indents:\n toks_append(indents[-1])\n startline=False\n elif toknum ==FSTRING_MIDDLE:\n if '{'in tokval or '}'in tokval:\n tokval=re.sub('{','{{',tokval)\n tokval=re.sub('}','}}',tokval)\n \n toks_append(tokval)\n \n \ndef untokenize(iterable):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n ut=Untokenizer()\n out=ut.untokenize(iterable)\n if ut.encoding is not None:\n out=out.encode(ut.encoding)\n return out\n \n \ndef _get_normal_name(orig_enc):\n ''\n \n enc=orig_enc[:12].lower().replace(\"_\",\"-\")\n if enc ==\"utf-8\"or enc.startswith(\"utf-8-\"):\n return \"utf-8\"\n if enc in(\"latin-1\",\"iso-8859-1\",\"iso-latin-1\")or\\\n enc.startswith((\"latin-1-\",\"iso-8859-1-\",\"iso-latin-1-\")):\n return \"iso-8859-1\"\n return orig_enc\n \ndef detect_encoding(readline):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n filename=readline.__self__.name\n except AttributeError:\n filename=None\n bom_found=False\n encoding=None\n default='utf-8'\n def read_or_stop():\n try:\n return readline()\n except StopIteration:\n return b''\n \n def find_cookie(line):\n try:\n \n \n \n line_string=line.decode('utf-8')\n except UnicodeDecodeError:\n msg=\"invalid or missing encoding declaration\"\n if filename is not None:\n msg='{} for {!r}'.format(msg,filename)\n raise SyntaxError(msg)\n \n match=cookie_re.match(line_string)\n if not match:\n return None\n encoding=_get_normal_name(match.group(1))\n try:\n codec=lookup(encoding)\n except LookupError:\n \n if filename is None:\n msg=\"unknown encoding: \"+encoding\n else:\n msg=\"unknown encoding for {!r}: {}\".format(filename,\n encoding)\n raise SyntaxError(msg)\n \n if bom_found:\n if encoding !='utf-8':\n \n if filename is None:\n msg='encoding problem: utf-8'\n else:\n msg='encoding problem for {!r}: utf-8'.format(filename)\n raise SyntaxError(msg)\n encoding +='-sig'\n return encoding\n \n first=read_or_stop()\n if first.startswith(BOM_UTF8):\n bom_found=True\n first=first[3:]\n default='utf-8-sig'\n if not first:\n return default,[]\n \n encoding=find_cookie(first)\n if encoding:\n return encoding,[first]\n if not blank_re.match(first):\n return default,[first]\n \n second=read_or_stop()\n if not second:\n return default,[first]\n \n encoding=find_cookie(second)\n if encoding:\n return encoding,[first,second]\n \n return default,[first,second]\n \n \ndef open(filename):\n ''\n\n \n buffer=_builtin_open(filename,'rb')\n try:\n encoding,lines=detect_encoding(buffer.readline)\n buffer.seek(0)\n text=TextIOWrapper(buffer,encoding,line_buffering=True)\n text.mode='r'\n return text\n except:\n buffer.close()\n raise\n \ndef tokenize(readline):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n encoding,consumed=detect_encoding(readline)\n rl_gen=_itertools.chain(consumed,iter(readline,b\"\"))\n if encoding is not None:\n if encoding ==\"utf-8-sig\":\n \n encoding=\"utf-8\"\n yield TokenInfo(ENCODING,encoding,(0,0),(0,0),'')\n yield from _generate_tokens_from_c_tokenizer(rl_gen.__next__,encoding,extra_tokens=True)\n \ndef generate_tokens(readline):\n ''\n\n\n\n \n return _generate_tokens_from_c_tokenizer(readline,extra_tokens=True)\n \ndef main():\n import argparse\n \n \n def perror(message):\n sys.stderr.write(message)\n sys.stderr.write('\\n')\n \n def error(message,filename=None,location=None):\n if location:\n args=(filename,)+location+(message,)\n perror(\"%s:%d:%d: error: %s\"%args)\n elif filename:\n perror(\"%s: error: %s\"%(filename,message))\n else:\n perror(\"error: %s\"%message)\n sys.exit(1)\n \n \n parser=argparse.ArgumentParser(prog='python -m tokenize')\n parser.add_argument(dest='filename',nargs='?',\n metavar='filename.py',\n help='the file to tokenize; defaults to stdin')\n parser.add_argument('-e','--exact',dest='exact',action='store_true',\n help='display token names using the exact type')\n args=parser.parse_args()\n \n try:\n \n if args.filename:\n filename=args.filename\n with _builtin_open(filename,'rb')as f:\n tokens=list(tokenize(f.readline))\n else:\n filename=\"\"\n tokens=_generate_tokens_from_c_tokenizer(\n sys.stdin.readline,extra_tokens=True)\n \n \n \n for token in tokens:\n token_type=token.type\n if args.exact:\n token_type=token.exact_type\n token_range=\"%d,%d-%d,%d:\"%(token.start+token.end)\n print(\"%-20s%-15s%-15r\"%\n (token_range,tok_name[token_type],token.string))\n except IndentationError as err:\n line,column=err.args[1][1:3]\n error(err.args[0],filename,(line,column))\n except TokenError as err:\n line,column=err.args[1]\n error(err.args[0],filename,(line,column))\n except SyntaxError as err:\n error(err,filename)\n except OSError as err:\n error(err)\n except KeyboardInterrupt:\n print(\"interrupted\\n\")\n except Exception as err:\n perror(\"unexpected error: %s\"%err)\n raise\n \ndef _transform_msg(msg):\n ''\n\n\n\n \n if \"unterminated triple-quoted string literal\"in msg:\n return \"EOF in multi-line string\"\n return msg\n \ndef _generate_tokens_from_c_tokenizer(source,encoding=None,extra_tokens=False):\n ''\n if encoding is None:\n it=_tokenize.TokenizerIter(source,extra_tokens=extra_tokens)\n else:\n it=_tokenize.TokenizerIter(source,encoding=encoding,extra_tokens=extra_tokens)\n try:\n for info in it:\n yield TokenInfo._make(info)\n except SyntaxError as e:\n if type(e)!=SyntaxError:\n raise e from None\n msg=_transform_msg(e.msg)\n raise TokenError(msg,(e.lineno,e.offset))from None\n \n \nif __name__ ==\"__main__\":\n main()\n",["_tokenize","argparse","builtins","codecs","collections","functools","io","itertools","re","sys","token"]],traceback:[".py","''\n\nimport collections.abc\nimport itertools\nimport linecache\nimport sys\nimport textwrap\nfrom contextlib import suppress\n\n__all__=['extract_stack','extract_tb','format_exception',\n'format_exception_only','format_list','format_stack',\n'format_tb','print_exc','format_exc','print_exception',\n'print_last','print_stack','print_tb','clear_frames',\n'FrameSummary','StackSummary','TracebackException',\n'walk_stack','walk_tb']\n\n\n\n\n\ndef print_list(extracted_list,file=None):\n ''\n \n if file is None:\n file=sys.stderr\n for item in StackSummary.from_list(extracted_list).format():\n print(item,file=file,end=\"\")\n \ndef format_list(extracted_list):\n ''\n\n\n\n\n\n\n\n\n\n \n return StackSummary.from_list(extracted_list).format()\n \n \n \n \n \ndef print_tb(tb,limit=None,file=None):\n ''\n\n\n\n\n\n \n print_list(extract_tb(tb,limit=limit),file=file)\n \ndef format_tb(tb,limit=None):\n ''\n return extract_tb(tb,limit=limit).format()\n \ndef extract_tb(tb,limit=None):\n ''\n\n\n\n\n\n\n\n\n\n\n \n return StackSummary._extract_from_extended_frame_gen(\n _walk_tb_with_full_positions(tb),limit=limit)\n \n \n \n \n \n_cause_message=(\n\"\\nThe above exception was the direct cause \"\n\"of the following exception:\\n\\n\")\n\n_context_message=(\n\"\\nDuring handling of the above exception, \"\n\"another exception occurred:\\n\\n\")\n\n\nclass _Sentinel:\n def __repr__(self):\n return \"\"\n \n_sentinel=_Sentinel()\n\ndef _parse_value_tb(exc,value,tb):\n if(value is _sentinel)!=(tb is _sentinel):\n raise ValueError(\"Both or neither of value and tb must be given\")\n if value is tb is _sentinel:\n if exc is not None:\n if isinstance(exc,BaseException):\n return exc,exc.__traceback__\n \n raise TypeError(f'Exception expected for value, '\n f'{type(exc).__name__} found')\n else:\n return None,None\n return value,tb\n \n \ndef print_exception(exc,/,value=_sentinel,tb=_sentinel,limit=None,\\\nfile=None,chain=True):\n ''\n\n\n\n\n\n\n\n\n \n value,tb=_parse_value_tb(exc,value,tb)\n te=TracebackException(type(value),value,tb,limit=limit,compact=True)\n te.print(file=file,chain=chain)\n \n \ndef format_exception(exc,/,value=_sentinel,tb=_sentinel,limit=None,\\\nchain=True):\n ''\n\n\n\n\n\n\n \n value,tb=_parse_value_tb(exc,value,tb)\n te=TracebackException(type(value),value,tb,limit=limit,compact=True)\n return list(te.format(chain=chain))\n \n \ndef format_exception_only(exc,/,value=_sentinel):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n if value is _sentinel:\n value=exc\n te=TracebackException(type(value),value,None,compact=True)\n return list(te.format_exception_only())\n \n \n \n \ndef _format_final_exc_line(etype,value):\n valuestr=_safe_string(value,'exception')\n if value is None or not valuestr:\n line=\"%s\\n\"%etype\n else:\n line=\"%s: %s\\n\"%(etype,valuestr)\n return line\n \ndef _safe_string(value,what,func=str):\n try:\n return func(value)\n except:\n return f'<{what} {func.__name__}() failed>'\n \n \n \ndef print_exc(limit=None,file=None,chain=True):\n ''\n print_exception(sys.exception(),limit=limit,file=file,chain=chain)\n \ndef format_exc(limit=None,chain=True):\n ''\n return \"\".join(format_exception(sys.exception(),limit=limit,chain=chain))\n \ndef print_last(limit=None,file=None,chain=True):\n ''\n if not hasattr(sys,\"last_exc\")and not hasattr(sys,\"last_type\"):\n raise ValueError(\"no last exception\")\n \n if hasattr(sys,\"last_exc\"):\n print_exception(sys.last_exc,limit,file,chain)\n else:\n print_exception(sys.last_type,sys.last_value,sys.last_traceback,\n limit,file,chain)\n \n \n \n \n \n \ndef print_stack(f=None,limit=None,file=None):\n ''\n\n\n\n\n \n if f is None:\n f=sys._getframe().f_back\n print_list(extract_stack(f,limit=limit),file=file)\n \n \ndef format_stack(f=None,limit=None):\n ''\n if f is None:\n f=sys._getframe().f_back\n return format_list(extract_stack(f,limit=limit))\n \n \ndef extract_stack(f=None,limit=None):\n ''\n\n\n\n\n\n\n \n if f is None:\n f=sys._getframe().f_back\n stack=StackSummary.extract(walk_stack(f),limit=limit)\n stack.reverse()\n return stack\n \n \ndef clear_frames(tb):\n ''\n while tb is not None:\n try:\n tb.tb_frame.clear()\n except RuntimeError:\n \n pass\n tb=tb.tb_next\n \n \nclass FrameSummary:\n ''\n\n\n\n\n\n\n\n\n\n\n \n \n __slots__=('filename','lineno','end_lineno','colno','end_colno',\n 'name','_line','locals')\n \n def __init__(self,filename,lineno,name,*,lookup_line=True,\n locals=None,line=None,\n end_lineno=None,colno=None,end_colno=None):\n ''\n\n\n\n\n\n\n\n \n self.filename=filename\n self.lineno=lineno\n self.name=name\n self._line=line\n if lookup_line:\n self.line\n self.locals={k:_safe_string(v,'local',func=repr)\n for k,v in locals.items()}if locals else None\n self.end_lineno=end_lineno\n self.colno=colno\n self.end_colno=end_colno\n \n def __eq__(self,other):\n if isinstance(other,FrameSummary):\n return(self.filename ==other.filename and\n self.lineno ==other.lineno and\n self.name ==other.name and\n self.locals ==other.locals)\n if isinstance(other,tuple):\n return(self.filename,self.lineno,self.name,self.line)==other\n return NotImplemented\n \n def __getitem__(self,pos):\n return(self.filename,self.lineno,self.name,self.line)[pos]\n \n def __iter__(self):\n return iter([self.filename,self.lineno,self.name,self.line])\n \n def __repr__(self):\n return \"\".format(\n filename=self.filename,lineno=self.lineno,name=self.name)\n \n def __len__(self):\n return 4\n \n @property\n def _original_line(self):\n \n self.line\n return self._line\n \n @property\n def line(self):\n if self._line is None:\n if self.lineno is None:\n return None\n self._line=linecache.getline(self.filename,self.lineno)\n return self._line.strip()\n \n \ndef walk_stack(f):\n ''\n\n\n\n \n if f is None:\n f=sys._getframe().f_back.f_back.f_back.f_back\n while f is not None:\n yield f,f.f_lineno\n f=f.f_back\n \n \ndef walk_tb(tb):\n ''\n\n\n\n \n while tb is not None:\n yield tb.tb_frame,tb.tb_lineno\n tb=tb.tb_next\n \n \ndef _walk_tb_with_full_positions(tb):\n\n\n while tb is not None:\n positions=_get_code_position(tb.tb_frame.f_code,tb.tb_lasti)\n \n \n if positions[0]is None:\n yield tb.tb_frame,(tb.tb_lineno,)+positions[1:]\n else:\n yield tb.tb_frame,positions\n tb=tb.tb_next\n \n \ndef _get_code_position(code,instruction_index):\n if instruction_index <0:\n return(None,None,None,None)\n positions_gen=code.co_positions()\n return next(itertools.islice(positions_gen,instruction_index //2,None))\n \n \n_RECURSIVE_CUTOFF=3\n\nclass StackSummary(list):\n ''\n \n @classmethod\n def extract(klass,frame_gen,*,limit=None,lookup_lines=True,\n capture_locals=False):\n ''\n\n\n\n\n\n\n\n\n\n \n def extended_frame_gen():\n for f,lineno in frame_gen:\n yield f,(lineno,None,None,None)\n \n return klass._extract_from_extended_frame_gen(\n extended_frame_gen(),limit=limit,lookup_lines=lookup_lines,\n capture_locals=capture_locals)\n \n @classmethod\n def _extract_from_extended_frame_gen(klass,frame_gen,*,limit=None,\n lookup_lines=True,capture_locals=False):\n \n \n \n \n if limit is None:\n limit=getattr(sys,'tracebacklimit',None)\n if limit is not None and limit <0:\n limit=0\n if limit is not None:\n if limit >=0:\n frame_gen=itertools.islice(frame_gen,limit)\n else:\n frame_gen=collections.deque(frame_gen,maxlen=-limit)\n \n result=klass()\n fnames=set()\n for f,(lineno,end_lineno,colno,end_colno)in frame_gen:\n co=f.f_code\n filename=co.co_filename\n name=co.co_name\n \n fnames.add(filename)\n linecache.lazycache(filename,f.f_globals)\n \n if capture_locals:\n f_locals=f.f_locals\n else:\n f_locals=None\n result.append(FrameSummary(\n filename,lineno,name,lookup_line=False,locals=f_locals,\n end_lineno=end_lineno,colno=colno,end_colno=end_colno))\n for filename in fnames:\n linecache.checkcache(filename)\n \n if lookup_lines:\n for f in result:\n f.line\n return result\n \n @classmethod\n def from_list(klass,a_list):\n ''\n\n\n \n \n \n \n \n result=StackSummary()\n for frame in a_list:\n if isinstance(frame,FrameSummary):\n result.append(frame)\n else:\n filename,lineno,name,line=frame\n result.append(FrameSummary(filename,lineno,name,line=line))\n return result\n \n def format_frame_summary(self,frame_summary):\n ''\n\n\n\n \n row=[]\n row.append(' File \"{}\", line {}, in {}\\n'.format(\n frame_summary.filename,frame_summary.lineno,frame_summary.name))\n if frame_summary.line:\n stripped_line=frame_summary.line.strip()\n row.append(' {}\\n'.format(stripped_line))\n \n orig_line_len=len(frame_summary._original_line)\n frame_line_len=len(frame_summary.line.lstrip())\n stripped_characters=orig_line_len -frame_line_len\n if(\n frame_summary.colno is not None\n and frame_summary.end_colno is not None\n ):\n start_offset=_byte_offset_to_character_offset(\n frame_summary._original_line,frame_summary.colno)+1\n end_offset=_byte_offset_to_character_offset(\n frame_summary._original_line,frame_summary.end_colno)+1\n \n anchors=None\n if frame_summary.lineno ==frame_summary.end_lineno:\n with suppress(Exception):\n anchors=_extract_caret_anchors_from_line_segment(\n frame_summary._original_line[start_offset -1:end_offset -1]\n )\n else:\n end_offset=stripped_characters+len(stripped_line)\n \n \n if end_offset -start_offset 0):\n row.append(' ')\n row.append(' '*(start_offset -stripped_characters))\n \n if anchors:\n row.append(anchors.primary_char *(anchors.left_end_offset))\n row.append(anchors.secondary_char *(anchors.right_start_offset -anchors.left_end_offset))\n row.append(anchors.primary_char *(end_offset -start_offset -anchors.right_start_offset))\n else:\n row.append('^'*(end_offset -start_offset))\n \n row.append('\\n')\n \n if frame_summary.locals:\n for name,value in sorted(frame_summary.locals.items()):\n row.append(' {name} = {value}\\n'.format(name=name,value=value))\n \n return ''.join(row)\n \n def format(self):\n ''\n\n\n\n\n\n\n\n\n\n \n result=[]\n last_file=None\n last_line=None\n last_name=None\n count=0\n for frame_summary in self:\n formatted_frame=self.format_frame_summary(frame_summary)\n if formatted_frame is None:\n continue\n if(last_file is None or last_file !=frame_summary.filename or\n last_line is None or last_line !=frame_summary.lineno or\n last_name is None or last_name !=frame_summary.name):\n if count >_RECURSIVE_CUTOFF:\n count -=_RECURSIVE_CUTOFF\n result.append(\n f' [Previous line repeated {count} more '\n f'time{\"s\"if count >1 else \"\"}]\\n'\n )\n last_file=frame_summary.filename\n last_line=frame_summary.lineno\n last_name=frame_summary.name\n count=0\n count +=1\n if count >_RECURSIVE_CUTOFF:\n continue\n result.append(formatted_frame)\n \n if count >_RECURSIVE_CUTOFF:\n count -=_RECURSIVE_CUTOFF\n result.append(\n f' [Previous line repeated {count} more '\n f'time{\"s\"if count >1 else \"\"}]\\n'\n )\n return result\n \n \ndef _byte_offset_to_character_offset(str,offset):\n as_utf8=str.encode('utf-8')\n return len(as_utf8[:offset].decode(\"utf-8\",errors=\"replace\"))\n \n \n_Anchors=collections.namedtuple(\n\"_Anchors\",\n[\n\"left_end_offset\",\n\"right_start_offset\",\n\"primary_char\",\n\"secondary_char\",\n],\ndefaults=[\"~\",\"^\"]\n)\n\ndef _extract_caret_anchors_from_line_segment(segment):\n import ast\n \n try:\n tree=ast.parse(segment)\n except SyntaxError:\n return None\n \n if len(tree.body)!=1:\n return None\n \n normalize=lambda offset:_byte_offset_to_character_offset(segment,offset)\n statement=tree.body[0]\n match statement:\n case ast.Expr(expr):\n match expr:\n case ast.BinOp():\n operator_start=normalize(expr.left.end_col_offset)\n operator_end=normalize(expr.right.col_offset)\n operator_str=segment[operator_start:operator_end]\n operator_offset=len(operator_str)-len(operator_str.lstrip())\n \n left_anchor=expr.left.end_col_offset+operator_offset\n right_anchor=left_anchor+1\n if(\n operator_offset+1 \"\n stype=smod+'.'+stype\n \n if not issubclass(self.exc_type,SyntaxError):\n yield _format_final_exc_line(stype,self._str)\n else:\n yield from self._format_syntax_error(stype)\n \n if(\n isinstance(self.__notes__,collections.abc.Sequence)\n and not isinstance(self.__notes__,(str,bytes))\n ):\n for note in self.__notes__:\n note=_safe_string(note,'note')\n yield from[l+'\\n'for l in note.split('\\n')]\n elif self.__notes__ is not None:\n yield \"{}\\n\".format(_safe_string(self.__notes__,'__notes__',func=repr))\n \n def _format_syntax_error(self,stype):\n ''\n \n filename_suffix=''\n if self.lineno is not None:\n yield ' File \"{}\", line {}\\n'.format(\n self.filename or \"\",self.lineno)\n elif self.filename is not None:\n filename_suffix=' ({})'.format(self.filename)\n \n text=self.text\n if text is not None:\n \n \n \n rtext=text.rstrip('\\n')\n ltext=rtext.lstrip(' \\n\\f')\n spaces=len(rtext)-len(ltext)\n yield ' {}\\n'.format(ltext)\n \n if self.offset is not None:\n offset=self.offset\n end_offset=self.end_offset if self.end_offset not in{None,0}else offset\n if offset ==end_offset or end_offset ==-1:\n end_offset=offset+1\n \n \n colno=offset -1 -spaces\n end_colno=end_offset -1 -spaces\n if colno >=0:\n \n caretspace=((c if c.isspace()else ' ')for c in ltext[:colno])\n yield ' {}{}'.format(\"\".join(caretspace),('^'*(end_colno -colno)+\"\\n\"))\n msg=self.msg or \"\"\n yield \"{}: {}{}\\n\".format(stype,msg,filename_suffix)\n \n def format(self,*,chain=True,_ctx=None):\n ''\n\n\n\n\n\n\n\n\n\n \n \n if _ctx is None:\n _ctx=_ExceptionPrintContext()\n \n output=[]\n exc=self\n if chain:\n while exc:\n if exc.__cause__ is not None:\n chained_msg=_cause_message\n chained_exc=exc.__cause__\n elif(exc.__context__ is not None and\n not exc.__suppress_context__):\n chained_msg=_context_message\n chained_exc=exc.__context__\n else:\n chained_msg=None\n chained_exc=None\n \n output.append((chained_msg,exc))\n exc=chained_exc\n else:\n output.append((None,exc))\n \n for msg,exc in reversed(output):\n if msg is not None:\n yield from _ctx.emit(msg)\n if exc.exceptions is None:\n if exc.stack:\n yield from _ctx.emit('Traceback (most recent call last):\\n')\n yield from _ctx.emit(exc.stack.format())\n yield from _ctx.emit(exc.format_exception_only())\n elif _ctx.exception_group_depth >self.max_group_depth:\n \n yield from _ctx.emit(\n f\"... (max_group_depth is {self.max_group_depth})\\n\")\n else:\n \n is_toplevel=(_ctx.exception_group_depth ==0)\n if is_toplevel:\n _ctx.exception_group_depth +=1\n \n if exc.stack:\n yield from _ctx.emit(\n 'Exception Group Traceback (most recent call last):\\n',\n margin_char='+'if is_toplevel else None)\n yield from _ctx.emit(exc.stack.format())\n \n yield from _ctx.emit(exc.format_exception_only())\n num_excs=len(exc.exceptions)\n if num_excs <=self.max_group_width:\n n=num_excs\n else:\n n=self.max_group_width+1\n _ctx.need_close=False\n for i in range(n):\n last_exc=(i ==n -1)\n if last_exc:\n \n _ctx.need_close=True\n \n if self.max_group_width is not None:\n truncated=(i >=self.max_group_width)\n else:\n truncated=False\n title=f'{i+1}'if not truncated else '...'\n yield(_ctx.indent()+\n ('+-'if i ==0 else ' ')+\n f'+---------------- {title} ----------------\\n')\n _ctx.exception_group_depth +=1\n if not truncated:\n yield from exc.exceptions[i].format(chain=chain,_ctx=_ctx)\n else:\n remaining=num_excs -self.max_group_width\n plural='s'if remaining >1 else ''\n yield from _ctx.emit(\n f\"and {remaining} more exception{plural}\\n\")\n \n if last_exc and _ctx.need_close:\n yield(_ctx.indent()+\n \"+------------------------------------\\n\")\n _ctx.need_close=False\n _ctx.exception_group_depth -=1\n \n if is_toplevel:\n assert _ctx.exception_group_depth ==1\n _ctx.exception_group_depth=0\n \n \n def print(self,*,file=None,chain=True):\n ''\n if file is None:\n file=sys.stderr\n for line in self.format(chain=chain):\n print(line,file=file,end=\"\")\n \n \n_MAX_CANDIDATE_ITEMS=750\n_MAX_STRING_SIZE=40\n_MOVE_COST=2\n_CASE_COST=1\n\n\ndef _substitution_cost(ch_a,ch_b):\n if ch_a ==ch_b:\n return 0\n if ch_a.lower()==ch_b.lower():\n return _CASE_COST\n return _MOVE_COST\n \n \ndef _compute_suggestion_error(exc_value,tb,wrong_name):\n if wrong_name is None or not isinstance(wrong_name,str):\n return None\n if isinstance(exc_value,AttributeError):\n obj=exc_value.obj\n try:\n d=dir(obj)\n except Exception:\n return None\n elif isinstance(exc_value,ImportError):\n try:\n mod=__import__(exc_value.name)\n d=dir(mod)\n except Exception:\n return None\n else:\n assert isinstance(exc_value,NameError)\n \n if tb is None:\n return None\n while tb.tb_next is not None:\n tb=tb.tb_next\n frame=tb.tb_frame\n d=(\n list(frame.f_locals)\n +list(frame.f_globals)\n +list(frame.f_builtins)\n )\n \n \n \n if 'self'in frame.f_locals:\n self=frame.f_locals['self']\n if hasattr(self,wrong_name):\n return f\"self.{wrong_name}\"\n \n \n \n if len(d)>_MAX_CANDIDATE_ITEMS:\n return None\n wrong_name_len=len(wrong_name)\n if wrong_name_len >_MAX_STRING_SIZE:\n return None\n best_distance=wrong_name_len\n suggestion=None\n for possible_name in d:\n if possible_name ==wrong_name:\n \n continue\n \n max_distance=(len(possible_name)+wrong_name_len+3)*_MOVE_COST //6\n \n max_distance=min(max_distance,best_distance -1)\n current_distance=_levenshtein_distance(wrong_name,possible_name,max_distance)\n if current_distance >max_distance:\n continue\n if not suggestion or current_distance _MAX_STRING_SIZE or len(b)>_MAX_STRING_SIZE:\n return max_cost+1\n \n \n if len(b)max_cost:\n return max_cost+1\n \n \n \n \n row=list(range(_MOVE_COST,_MOVE_COST *(len(a)+1),_MOVE_COST))\n \n result=0\n for bindex in range(len(b)):\n bchar=b[bindex]\n distance=result=bindex *_MOVE_COST\n minimum=sys.maxsize\n for index in range(len(a)):\n \n substitute=distance+_substitution_cost(bchar,a[index])\n \n distance=row[index]\n \n \n insert_delete=min(result,distance)+_MOVE_COST\n result=min(insert_delete,substitute)\n \n \n row[index]=result\n if result max_cost:\n \n return max_cost+1\n return result\n",["ast","collections.abc","contextlib","itertools","linecache","sys","textwrap"]],turtle:[".py","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport math\nimport sys\n\nfrom math import cos,sin\n\nfrom browser import console,document,html,timer\nimport _svg as svg\n\n\n\n\n\n\n_CFG={\n\n\n\"canvwidth\":500,\n\"canvheight\":500,\n\n\n\"mode\":\"standard\",\n\n\n\n\"shape\":\"classic\",\n\"pencolor\":\"black\",\n\"fillcolor\":\"black\",\n\n\"visible\":True,\n\n\n\n\n\n\n\n\"turtle_canvas_wrapper\":None,\n\"turtle_canvas_id\":\"turtle-canvas\",\n\"min_duration\":\"1ms\"\n}\n\n_cfg_copy=_CFG.copy()\n\n\ndef set_defaults(**params):\n ''\n _CFG.update(**params)\n Screen().reset()\n \n \nclass FormattedTuple(tuple):\n ''\n def __new__(cls,x,y):\n return tuple.__new__(cls,(x,y))\n def __repr__(self):\n return \"(%.2f, %.2f)\"%self\n \ndef create_circle(r):\n ''\n circle=svg.circle(x=0,y=0,r=r,stroke=\"black\",fill=\"black\")\n circle.setAttribute(\"stroke-width\",1)\n return circle\n \n \ndef create_polygon(points):\n ''\n points=[\"%s,%s \"%(x,y)for x,y in points]\n polygon=svg.polygon(points=points,stroke=\"black\",fill=\"black\")\n polygon.setAttribute(\"stroke-width\",1)\n return polygon\n \n \ndef create_rectangle(width=2,height=2,rx=None,ry=None):\n ''\n \n rectangle=svg.rect(x=-width /2,y=-height /2,width=width,\n height=height,stroke=\"black\",fill=\"black\")\n rectangle.setAttribute(\"stroke-width\",1)\n if rx is not None:\n rectangle.setAttribute(\"rx\",rx)\n if ry is not None:\n rectangle.setAttribute(\"ry\",ry)\n return rectangle\n \n \ndef create_square(size=2,r=None):\n ''\n \n return create_rectangle(width=size,height=size,rx=r,ry=r)\n \n \nclass TurtleGraphicsError(Exception):\n ''\n \n pass\n \n \nclass Singleton(type):\n _instances={}\n def __call__(cls,*args,**kwargs):\n if cls not in cls._instances:\n cls._instances[cls]=super(Singleton,cls).__call__(*args,**kwargs)\n return cls._instances[cls]\n \n \nclass Screen(metaclass=Singleton):\n\n def __init__(self):\n self.shapes={\n 'arrow':(create_polygon,((-10,0),(10,0),(0,10))),\n 'turtle':(create_polygon,((0,16),(-2,14),(-1,10),(-4,7),\n (-7,9),(-9,8),(-6,5),(-7,1),(-5,-3),(-8,-6),\n (-6,-8),(-4,-5),(0,-7),(4,-5),(6,-8),(8,-6),\n (5,-3),(7,1),(6,5),(9,8),(7,9),(4,7),(1,10),\n (2,14))),\n 'classic':(create_polygon,((0,0),(-5,-9),(0,-7),(5,-9))),\n 'triangle':(create_polygon,((10,-5.77),(0,11.55),(-10,-5.77))),\n 'square':(create_square,20),\n 'circle':(create_circle,10)\n }\n self.reset()\n self._set_geometry()\n \n def bgcolor(self,color=None):\n ''\n\n \n if color is None:\n return self.background_color\n self.background_color=color\n width=_CFG['canvwidth']\n height=_CFG['canvheight']\n if self.mode()in['logo','standard']:\n x=-width //2\n y=-height //2\n else:\n x=0\n y=-height\n \n self.frame_index +=1\n rect=svg.rect(x=x,y=y,width=width,height=height,fill=color,\n style={'display':'none'})\n an=svg.animate(Id=\"animation_frame%s\"%self.frame_index,\n attributeName=\"display\",attributeType=\"CSS\",\n From=\"block\",to=\"block\",\n dur=_CFG[\"min_duration\"],fill='freeze')\n an.setAttribute('begin',\"animation_frame%s.end\"%(self.frame_index -1))\n rect <=an\n \n self.background_canvas <=rect\n \n def _convert_coordinates(self,x,y):\n ''\n\n\n\n\n\n \n return x *self.yscale,self.y_points_down *y *self.yscale\n \n \n def create_svg_turtle(self,_turtle,name):\n if name in self.shapes:\n fn=self.shapes[name][0]\n arg=self.shapes[name][1]\n else:\n print(\"Unknown turtle '%s'; the default turtle will be used\")\n fn=self.shapes[_CVG[\"shape\"]][0]\n arg=self.shapes[_CVG[\"shape\"]][1]\n shape=fn(arg)\n if self._mode =='standard'or self._mode =='world':\n rotation=-90\n else:\n rotation=0\n return shape,rotation\n \n def _dot(self,pos,size,color):\n ''\n if color is None:\n color='black'\n if size is None or size <1:\n size=1\n self.frame_index +=1\n \n \n radius=size /2\n \n x,y=self._convert_coordinates(pos[0],pos[1])\n \n circle=svg.circle(cx=x,cy=y,r=radius,fill=color,\n style={'display':'none'})\n an=svg.animate(Id=\"animation_frame%s\"%self.frame_index,\n attributeName=\"display\",attributeType=\"CSS\",\n From=\"block\",to=\"block\",\n dur=_CFG[\"min_duration\"],fill='freeze')\n an.setAttribute('begin',\"animation_frame%s.end\"%(self.frame_index -1))\n circle <=an\n self.canvas <=circle\n \n def _drawline(self,_turtle,coordlist=None,\n color=None,width=1,speed=None):\n ''\n\n\n\n\n \n \n outline=color[0]\n fill=color[1]\n \n x0,y0=coordlist[0]\n x1,y1=coordlist[1]\n \n x0,y0=self._convert_coordinates(x0,y0)\n x1,y1=self._convert_coordinates(x1,y1)\n \n \n if speed ==0:\n duration=_CFG[\"min_duration\"]\n else:\n dist=_turtle._distance\n if speed is None or speed ==1:\n duration=0.02 *dist\n else:\n duration=0.02 *dist /speed **1.2\n if duration <0.001:\n duration=_CFG[\"min_duration\"]\n else:\n duration=\"%6.3fs\"%duration\n \n drawing=_turtle._drawing\n \n _line=svg.line(x1=x0,y1=y0,x2=x0,y2=y0,\n style={'stroke':outline,'stroke-width':width})\n if not drawing:\n _line.setAttribute('opacity',0)\n \n \n begin=\"animation_frame%s.end\"%self.frame_index\n self.frame_index +=1\n _an1=svg.animate(Id=\"animation_frame%s\"%self.frame_index,\n attributeName=\"x2\",attributeType=\"XML\",\n From=x0,to=x1,dur=duration,fill='freeze',\n begin=begin)\n _line <=_an1\n \n \n if drawing:\n _an2=svg.animate(attributeName=\"y2\",attributeType=\"XML\",\n begin=begin,\n From=y0,to=y1,dur=duration,fill='freeze')\n _line <=_an2\n \n if width >2:\n _line_cap=svg.set(attributeName=\"stroke-linecap\",\n begin=begin,\n attributeType=\"xml\",to=\"round\",dur=duration,fill='freeze')\n _line <=_line_cap\n \n self.canvas <=_line\n return begin,duration,(x0,y0),(x1,y1)\n \n def _drawpoly(self,coordlist,outline=None,fill=None,width=None):\n ''\n\n\n\n\n \n self.frame_index +=1\n shape=[\"%s,%s\"%self._convert_coordinates(x,y)for x,y in coordlist]\n \n style={'display':'none'}\n if fill is not None:\n style['fill']=fill\n if outline is not None:\n style['stroke']=outline\n if width is not None:\n style['stroke-width']=width\n else:\n style['stroke-width']=1\n \n polygon=svg.polygon(points=\" \".join(shape),style=style)\n \n an=svg.animate(Id=\"animation_frame%s\"%self.frame_index,\n attributeName=\"display\",attributeType=\"CSS\",\n From=\"block\",to=\"block\",\n dur=_CFG[\"min_duration\"],fill='freeze')\n \n an.setAttribute('begin',\"animation_frame%s.end\"%(self.frame_index -1))\n polygon <=an\n self.canvas <=polygon\n \n \n def _new_frame(self):\n ''\n \n previous_end=\"animation_frame%s.end\"%self.frame_index\n self.frame_index +=1\n new_frame_id=\"animation_frame%s\"%self.frame_index\n return previous_end,new_frame_id\n \n def mode(self,_mode=None):\n if _mode is None:\n return self._mode\n _CFG['mode']=_mode\n self.reset()\n \n \n def reset(self):\n self._turtles=[]\n self.frame_index=0\n self.background_color=\"white\"\n self._set_geometry()\n \n def _set_geometry(self):\n self.width=_CFG[\"canvwidth\"]\n self.height=_CFG[\"canvheight\"]\n self.x_offset=self.y_offset=0\n self.xscale=self.yscale=1\n \n self.y_points_down=-1\n self._mode=_CFG[\"mode\"].lower()\n if self._mode in['logo','standard']:\n self.translate_canvas=(self.width //2,self.height //2)\n elif self._mode =='world':\n self.translate_canvas=(0,self.height)\n self._setup_canvas()\n \n def _setup_canvas(self):\n self.svg_scene=svg.svg(Id=_CFG[\"turtle_canvas_id\"],width=self.width,\n height=self.height)\n translate=\"translate(%d %d)\"%self.translate_canvas\n \n \n self.svg_scene <=svg.animate(\n Id=\"animation_frame%s\"%self.frame_index,\n attributeName=\"width\",attributeType=\"CSS\",\n From=self.width,to=self.width,begin=\"0s\",\n dur=_CFG[\"min_duration\"],fill='freeze')\n \n \n \n \n self.background_canvas=svg.g(transform=translate)\n self.canvas=svg.g(transform=translate)\n self.writing_canvas=svg.g(transform=translate)\n self.turtle_canvas=svg.g(transform=translate)\n \n self.svg_scene <=self.background_canvas\n self.svg_scene <=self.canvas\n self.svg_scene <=self.writing_canvas\n self.svg_scene <=self.turtle_canvas\n \n \n def setworldcoordinates(self,llx,lly,urx,ury):\n ''\n\n\n\n\n\n\n\n\n\n\n \n self._mode=\"world\"\n \n if urx 2:\n self.screen._drawpoly(self._fillpath,outline=self._pencolor,\n fill=self._fillcolor,)\n else:\n print(\"No path to fill.\")\n self._fillpath=None\n \n def dot(self,size=None,color=None):\n ''\n \n if size is None:\n size=max(self._pensize+4,2 *self._pensize)\n if color is None:\n color=self._pencolor\n item=self.screen._dot((self._x,self._y),size,color=color)\n \n def _write(self,txt,align,font,color=None):\n ''\n \n if color is None:\n color=self._pencolor\n self.screen._write((self._x,self._y),txt,align,font,color)\n \n \n def write(self,arg,align=\"left\",font=(\"Arial\",8,\"normal\"),color=None):\n ''\n\n\n\n\n\n\n \n self._write(str(arg),align.lower(),font,color=color)\n \n def begin_poly(self):\n ''\n \n self._poly=[(self._x,self._y)]\n self._creatingPoly=True\n \n def end_poly(self):\n ''\n \n self._creatingPoly=False\n \n def get_poly(self):\n ''\n \n \n if self._poly is not None:\n return tuple(self._poly)\n \n def getscreen(self):\n ''\n \n return self.screen\n \n def getturtle(self):\n ''\n\n\n \n return self\n getpen=getturtle\n \n def _make_copy(self,name=None):\n ''\n\n \n \n if name is None:\n name=self.name\n \n \n \n \n \n _turtle,rotation=self.screen.create_svg_turtle(self,name=name)\n _turtle.setAttribute(\"opacity\",0)\n _turtle.setAttribute(\"fill\",self._fillcolor)\n _turtle.setAttribute(\"stroke\",self._pencolor)\n \n \n \n previous_end,new_frame_id=self.screen._new_frame()\n x,y=self.screen._convert_coordinates(self._x,self._y)\n _turtle <=svg.animateMotion(begin=previous_end,dur=_CFG[\"min_duration\"],\n fill=\"remove\")\n \n _turtle <=svg.animateMotion(Id=new_frame_id,\n From=\"%s,%s\"%(x,y),to=\"%s,%s\"%(x,y),\n dur=_CFG[\"min_duration\"],begin=previous_end,\n fill=\"freeze\")\n _turtle <=svg.animateTransform(attributeName=\"transform\",\n type=\"rotate\",\n From=\"%s,%s,%s\"%(self._old_heading,0,0),\n to=\"%s,%s,%s\"%(self._old_heading,0,0),\n begin=previous_end,\n dur=_CFG[\"min_duration\"],fill=\"freeze\")\n _turtle <=svg.animate(begin=previous_end,\n dur=_CFG[\"min_duration\"],fill=\"freeze\",\n attributeName=\"opacity\",attributeType=\"XML\",\n From=0,to=1)\n return _turtle\n \n def stamp(self):\n ''\n \n _turtle=self._make_copy(name=self.name)\n self.screen.canvas <=_turtle\n \n \n def clone(self):\n ''\n \n n=Turtle(self.name)\n \n attrs=vars(self)\n new_dict={}\n for attr in attrs:\n if isinstance(getattr(self,attr),(int,str,float)):\n new_dict[attr]=getattr(self,attr)\n n.__dict__.update(**new_dict)\n \n if not n._shown:\n n._shown=True\n n.hideturtle()\n n.left(0)\n n.fd(0)\n n.color(n.color())\n return n\n \n \nPen=Turtle\n\n\ndef done():\n Screen().show_scene()\nshow_scene=done\n\n\ndef replay_scene():\n ''\n if(_CFG[\"turtle_canvas_id\"]in document and\n document[_CFG[\"turtle_canvas_id\"]]is not None):\n element=document[_CFG[\"turtle_canvas_id\"]]\n element.parentNode.removeChild(element)\n show_scene()\n \n \ndef restart():\n ''\n _CFG.update(_cfg_copy)\n Screen().reset()\n Turtle._pen=None\n \n if(_CFG[\"turtle_canvas_id\"]in document and\n document[_CFG[\"turtle_canvas_id\"]]is not None):\n element=document[_CFG[\"turtle_canvas_id\"]]\n element.parentNode.removeChild(element)\n \n \n \n_tg_screen_functions=['addshape','bgcolor','bgpic','bye',\n'clearscreen','colormode','delay','exitonclick','getcanvas',\n'getshapes','listen','mainloop','mode','numinput',\n'onkey','onkeypress','onkeyrelease','onscreenclick','ontimer',\n'register_shape','resetscreen','screensize','setup',\n'setworldcoordinates','textinput','title','tracer','turtles','update',\n'window_height','window_width']\n\n_tg_turtle_functions=['back','backward','begin_fill','begin_poly','bk',\n'circle','clear','clearstamp','clearstamps','clone','color',\n'degrees','distance','dot','down','end_fill','end_poly','fd',\n'fillcolor','filling','forward','get_poly','getpen','getscreen','get_shapepoly',\n'getturtle','goto','heading','hideturtle','home','ht','isdown',\n'isvisible','left','lt','onclick','ondrag','onrelease','pd',\n'pen','pencolor','pendown','pensize','penup','pos','position',\n'pu','radians','right','reset','resizemode','rt',\n'seth','setheading','setpos','setposition','settiltangle',\n'setundobuffer','setx','sety','shape','shapesize','shapetransform','shearfactor','showturtle',\n'speed','st','stamp','tilt','tiltangle','towards',\n'turtlesize','undo','undobufferentries','up','width',\n'write','xcor','ycor']\n\n\n__all__=(_tg_screen_functions+_tg_turtle_functions+\n['done','restart','replay_scene','Turtle','Screen'])\n\n\n\n\n\n__func_body=\"\"\"\\\ndef {name}(*args, **kw):\n if {obj} is None:\n {obj} = {init}\n return {obj}.{name}(*args, **kw)\n\"\"\"\n\ndef _make_global_funcs(functions,cls,obj,init):\n for methodname in functions:\n try:\n method=getattr(cls,methodname)\n except AttributeError:\n print(\"methodname missing:\",methodname)\n continue\n defstr=__func_body.format(obj=obj,init=init,name=methodname)\n exec(defstr,globals())\n \n_make_global_funcs(_tg_turtle_functions,Turtle,'Turtle._pen','Turtle()')\n\n_make_global_funcs(_tg_screen_functions,Screen,'Turtle.screen','Screen()')\n",["_svg","browser","browser.timer","math","sys"]],types:[".py","''\n\n\nimport sys\n\n\n\n\n\n\ndef _f():pass\nFunctionType=type(_f)\nLambdaType=type(lambda:None)\nCodeType=type(_f.__code__)\nMappingProxyType=type(type.__dict__)\nSimpleNamespace=type(sys.implementation)\n\ndef _cell_factory():\n a=1\n def f():\n nonlocal a\n return f.__closure__[0]\nCellType=type(_cell_factory())\n\ndef _g():\n yield 1\nGeneratorType=type(_g())\n\nasync def _c():pass\n_c=_c()\nCoroutineType=type(_c)\n_c.close()\n\nasync def _ag():\n yield\n_ag=_ag()\nAsyncGeneratorType=type(_ag)\n\nclass _C:\n def _m(self):pass\nMethodType=type(_C()._m)\n\nBuiltinFunctionType=type(len)\nBuiltinMethodType=type([].append)\n\nWrapperDescriptorType=type(object.__init__)\nMethodWrapperType=type(object().__str__)\nMethodDescriptorType=type(str.join)\nClassMethodDescriptorType=type(dict.__dict__['fromkeys'])\n\nModuleType=type(sys)\n\ntry:\n raise TypeError\nexcept TypeError as exc:\n TracebackType=type(exc.__traceback__)\n FrameType=type(exc.__traceback__.tb_frame)\n \nGetSetDescriptorType=type(FunctionType.__code__)\nMemberDescriptorType=type(FunctionType.__globals__)\n\ndel sys,_f,_g,_C,_c,_ag,_cell_factory\n\n\n\ndef new_class(name,bases=(),kwds=None,exec_body=None):\n ''\n resolved_bases=resolve_bases(bases)\n meta,ns,kwds=prepare_class(name,resolved_bases,kwds)\n if exec_body is not None:\n exec_body(ns)\n if resolved_bases is not bases:\n ns['__orig_bases__']=bases\n return meta(name,resolved_bases,ns,**kwds)\n \ndef resolve_bases(bases):\n ''\n new_bases=list(bases)\n updated=False\n shift=0\n for i,base in enumerate(bases):\n if isinstance(base,type):\n continue\n if not hasattr(base,\"__mro_entries__\"):\n continue\n new_base=base.__mro_entries__(bases)\n updated=True\n if not isinstance(new_base,tuple):\n raise TypeError(\"__mro_entries__ must return a tuple\")\n else:\n new_bases[i+shift:i+shift+1]=new_base\n shift +=len(new_base)-1\n if not updated:\n return bases\n return tuple(new_bases)\n \ndef prepare_class(name,bases=(),kwds=None):\n ''\n\n\n\n\n\n\n\n\n \n if kwds is None:\n kwds={}\n else:\n kwds=dict(kwds)\n if 'metaclass'in kwds:\n meta=kwds.pop('metaclass')\n else:\n if bases:\n meta=type(bases[0])\n else:\n meta=type\n if isinstance(meta,type):\n \n \n meta=_calculate_meta(meta,bases)\n if hasattr(meta,'__prepare__'):\n ns=meta.__prepare__(name,bases,**kwds)\n else:\n ns={}\n return meta,ns,kwds\n \ndef _calculate_meta(meta,bases):\n ''\n winner=meta\n for base in bases:\n base_meta=type(base)\n if issubclass(winner,base_meta):\n continue\n if issubclass(base_meta,winner):\n winner=base_meta\n continue\n \n raise TypeError(\"metaclass conflict: \"\n \"the metaclass of a derived class \"\n \"must be a (non-strict) subclass \"\n \"of the metaclasses of all its bases\")\n return winner\n \n \ndef get_original_bases(cls,/):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n return cls.__dict__.get(\"__orig_bases__\",cls.__bases__)\n except AttributeError:\n raise TypeError(\n f\"Expected an instance of type, not {type(cls).__name__ !r}\"\n )from None\n \n \nclass DynamicClassAttribute:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def __init__(self,fget=None,fset=None,fdel=None,doc=None):\n self.fget=fget\n self.fset=fset\n self.fdel=fdel\n \n self.__doc__=doc or fget.__doc__\n self.overwrite_doc=doc is None\n \n self.__isabstractmethod__=bool(getattr(fget,'__isabstractmethod__',False))\n \n def __get__(self,instance,ownerclass=None):\n if instance is None:\n if self.__isabstractmethod__:\n return self\n raise AttributeError()\n elif self.fget is None:\n raise AttributeError(\"unreadable attribute\")\n return self.fget(instance)\n \n def __set__(self,instance,value):\n if self.fset is None:\n raise AttributeError(\"can't set attribute\")\n self.fset(instance,value)\n \n def __delete__(self,instance):\n if self.fdel is None:\n raise AttributeError(\"can't delete attribute\")\n self.fdel(instance)\n \n def getter(self,fget):\n fdoc=fget.__doc__ if self.overwrite_doc else None\n result=type(self)(fget,self.fset,self.fdel,fdoc or self.__doc__)\n result.overwrite_doc=self.overwrite_doc\n return result\n \n def setter(self,fset):\n result=type(self)(self.fget,fset,self.fdel,self.__doc__)\n result.overwrite_doc=self.overwrite_doc\n return result\n \n def deleter(self,fdel):\n result=type(self)(self.fget,self.fset,fdel,self.__doc__)\n result.overwrite_doc=self.overwrite_doc\n return result\n \n \nclass _GeneratorWrapper:\n\n def __init__(self,gen):\n self.__wrapped=gen\n self.__isgen=gen.__class__ is GeneratorType\n self.__name__=getattr(gen,'__name__',None)\n self.__qualname__=getattr(gen,'__qualname__',None)\n def send(self,val):\n return self.__wrapped.send(val)\n def throw(self,tp,*rest):\n return self.__wrapped.throw(tp,*rest)\n def close(self):\n return self.__wrapped.close()\n @property\n def gi_code(self):\n return self.__wrapped.gi_code\n @property\n def gi_frame(self):\n return self.__wrapped.gi_frame\n @property\n def gi_running(self):\n return self.__wrapped.gi_running\n @property\n def gi_yieldfrom(self):\n return self.__wrapped.gi_yieldfrom\n cr_code=gi_code\n cr_frame=gi_frame\n cr_running=gi_running\n cr_await=gi_yieldfrom\n def __next__(self):\n return next(self.__wrapped)\n def __iter__(self):\n if self.__isgen:\n return self.__wrapped\n return self\n __await__=__iter__\n \ndef coroutine(func):\n ''\n \n if not callable(func):\n raise TypeError('types.coroutine() expects a callable')\n \n if(func.__class__ is FunctionType and\n getattr(func,'__code__',None).__class__ is CodeType):\n \n co_flags=func.__code__.co_flags\n \n \n \n if co_flags&0x180:\n return func\n \n \n \n if co_flags&0x20:\n \n co=func.__code__\n \n func.__code__=co.replace(co_flags=co.co_flags |0x100)\n return func\n \n \n \n \n \n \n import functools\n import _collections_abc\n @functools.wraps(func)\n def wrapped(*args,**kwargs):\n coro=func(*args,**kwargs)\n if(coro.__class__ is CoroutineType or\n coro.__class__ is GeneratorType and coro.gi_code.co_flags&0x100):\n \n return coro\n if(isinstance(coro,_collections_abc.Generator)and\n not isinstance(coro,_collections_abc.Coroutine)):\n \n \n \n return _GeneratorWrapper(coro)\n \n \n return coro\n \n return wrapped\n \nGenericAlias=type(list[int])\nUnionType=type(int |str)\n\nEllipsisType=type(Ellipsis)\nNoneType=type(None)\nNotImplementedType=type(NotImplemented)\n\n__all__=[n for n in globals()if n[:1]!='_']\n",["_collections_abc","functools","sys"]],typing:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfrom abc import abstractmethod,ABCMeta\nimport collections\nfrom collections import defaultdict\nimport collections.abc\nimport copyreg\nimport contextlib\nimport functools\nimport operator\nimport re as stdlib_re\nimport sys\nimport types\nimport warnings\nfrom types import WrapperDescriptorType,MethodWrapperType,MethodDescriptorType,GenericAlias\n\nfrom _typing import(\n_idfunc,\nTypeVar,\nParamSpec,\nTypeVarTuple,\nParamSpecArgs,\nParamSpecKwargs,\nTypeAliasType,\nGeneric,\n)\n\n\n__all__=[\n\n'Annotated',\n'Any',\n'Callable',\n'ClassVar',\n'Concatenate',\n'Final',\n'ForwardRef',\n'Generic',\n'Literal',\n'Optional',\n'ParamSpec',\n'Protocol',\n'Tuple',\n'Type',\n'TypeVar',\n'TypeVarTuple',\n'Union',\n\n\n'AbstractSet',\n'ByteString',\n'Container',\n'ContextManager',\n'Hashable',\n'ItemsView',\n'Iterable',\n'Iterator',\n'KeysView',\n'Mapping',\n'MappingView',\n'MutableMapping',\n'MutableSequence',\n'MutableSet',\n'Sequence',\n'Sized',\n'ValuesView',\n'Awaitable',\n'AsyncIterator',\n'AsyncIterable',\n'Coroutine',\n'Collection',\n'AsyncGenerator',\n'AsyncContextManager',\n\n\n'Reversible',\n'SupportsAbs',\n'SupportsBytes',\n'SupportsComplex',\n'SupportsFloat',\n'SupportsIndex',\n'SupportsInt',\n'SupportsRound',\n\n\n'ChainMap',\n'Counter',\n'Deque',\n'Dict',\n'DefaultDict',\n'List',\n'OrderedDict',\n'Set',\n'FrozenSet',\n'NamedTuple',\n'TypedDict',\n'Generator',\n\n\n'BinaryIO',\n'IO',\n'Match',\n'Pattern',\n'TextIO',\n\n\n'AnyStr',\n'assert_type',\n'assert_never',\n'cast',\n'clear_overloads',\n'dataclass_transform',\n'final',\n'get_args',\n'get_origin',\n'get_overloads',\n'get_type_hints',\n'is_typeddict',\n'LiteralString',\n'Never',\n'NewType',\n'no_type_check',\n'no_type_check_decorator',\n'NoReturn',\n'NotRequired',\n'overload',\n'override',\n'ParamSpecArgs',\n'ParamSpecKwargs',\n'Required',\n'reveal_type',\n'runtime_checkable',\n'Self',\n'Text',\n'TYPE_CHECKING',\n'TypeAlias',\n'TypeGuard',\n'TypeAliasType',\n'Unpack',\n]\n\n\n\n\n\n\ndef _type_convert(arg,module=None,*,allow_special_forms=False):\n ''\n if arg is None:\n return type(None)\n if isinstance(arg,str):\n return ForwardRef(arg,module=module,is_class=allow_special_forms)\n return arg\n \n \ndef _type_check(arg,msg,is_argument=True,module=None,*,allow_special_forms=False):\n ''\n\n\n\n\n\n\n\n\n\n \n invalid_generic_forms=(Generic,Protocol)\n if not allow_special_forms:\n invalid_generic_forms +=(ClassVar,)\n if is_argument:\n invalid_generic_forms +=(Final,)\n \n arg=_type_convert(arg,module=module,allow_special_forms=allow_special_forms)\n if(isinstance(arg,_GenericAlias)and\n arg.__origin__ in invalid_generic_forms):\n raise TypeError(f\"{arg} is not valid as type argument\")\n if arg in(Any,LiteralString,NoReturn,Never,Self,TypeAlias):\n return arg\n if allow_special_forms and arg in(ClassVar,Final):\n return arg\n if isinstance(arg,_SpecialForm)or arg in(Generic,Protocol):\n raise TypeError(f\"Plain {arg} is not valid as type argument\")\n if type(arg)is tuple:\n raise TypeError(f\"{msg} Got {arg !r:.100}.\")\n return arg\n \n \ndef _is_param_expr(arg):\n return arg is ...or isinstance(arg,\n (tuple,list,ParamSpec,_ConcatenateGenericAlias))\n \n \ndef _should_unflatten_callable_args(typ,args):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n return(\n typ.__origin__ is collections.abc.Callable\n and not(len(args)==2 and _is_param_expr(args[0]))\n )\n \n \ndef _type_repr(obj):\n ''\n\n\n\n\n\n \n \n \n \n if isinstance(obj,type):\n if obj.__module__ =='builtins':\n return obj.__qualname__\n return f'{obj.__module__}.{obj.__qualname__}'\n if obj is ...:\n return '...'\n if isinstance(obj,types.FunctionType):\n return obj.__name__\n if isinstance(obj,tuple):\n \n return '['+', '.join(_type_repr(t)for t in obj)+']'\n return repr(obj)\n \n \ndef _collect_parameters(args):\n ''\n\n\n\n\n\n \n parameters=[]\n for t in args:\n if isinstance(t,type):\n \n pass\n elif isinstance(t,tuple):\n \n \n for x in t:\n for collected in _collect_parameters([x]):\n if collected not in parameters:\n parameters.append(collected)\n elif hasattr(t,'__typing_subst__'):\n if t not in parameters:\n parameters.append(t)\n else:\n for x in getattr(t,'__parameters__',()):\n if x not in parameters:\n parameters.append(x)\n return tuple(parameters)\n \n \ndef _check_generic(cls,parameters,elen):\n ''\n\n\n \n if not elen:\n raise TypeError(f\"{cls} is not a generic class\")\n alen=len(parameters)\n if alen !=elen:\n raise TypeError(f\"Too {'many'if alen >elen else 'few'} arguments for {cls};\"\n f\" actual {alen}, expected {elen}\")\n \ndef _unpack_args(args):\n newargs=[]\n for arg in args:\n subargs=getattr(arg,'__typing_unpacked_tuple_args__',None)\n if subargs is not None and not(subargs and subargs[-1]is ...):\n newargs.extend(subargs)\n else:\n newargs.append(arg)\n return newargs\n \ndef _deduplicate(params):\n\n all_params=set(params)\n if len(all_params)','eval')\n except SyntaxError:\n raise SyntaxError(f\"Forward reference must be an expression -- got {arg !r}\")\n \n self.__forward_arg__=arg\n self.__forward_code__=code\n self.__forward_evaluated__=False\n self.__forward_value__=None\n self.__forward_is_argument__=is_argument\n self.__forward_is_class__=is_class\n self.__forward_module__=module\n \n def _evaluate(self,globalns,localns,recursive_guard):\n if self.__forward_arg__ in recursive_guard:\n return self\n if not self.__forward_evaluated__ or localns is not globalns:\n if globalns is None and localns is None:\n globalns=localns={}\n elif globalns is None:\n globalns=localns\n elif localns is None:\n localns=globalns\n if self.__forward_module__ is not None:\n globalns=getattr(\n sys.modules.get(self.__forward_module__,None),'__dict__',globalns\n )\n type_=_type_check(\n eval(self.__forward_code__,globalns,localns),\n \"Forward references must evaluate to types.\",\n is_argument=self.__forward_is_argument__,\n allow_special_forms=self.__forward_is_class__,\n )\n self.__forward_value__=_eval_type(\n type_,globalns,localns,recursive_guard |{self.__forward_arg__}\n )\n self.__forward_evaluated__=True\n return self.__forward_value__\n \n def __eq__(self,other):\n if not isinstance(other,ForwardRef):\n return NotImplemented\n if self.__forward_evaluated__ and other.__forward_evaluated__:\n return(self.__forward_arg__ ==other.__forward_arg__ and\n self.__forward_value__ ==other.__forward_value__)\n return(self.__forward_arg__ ==other.__forward_arg__ and\n self.__forward_module__ ==other.__forward_module__)\n \n def __hash__(self):\n return hash((self.__forward_arg__,self.__forward_module__))\n \n def __or__(self,other):\n return Union[self,other]\n \n def __ror__(self,other):\n return Union[other,self]\n \n def __repr__(self):\n if self.__forward_module__ is None:\n module_repr=''\n else:\n module_repr=f', module={self.__forward_module__ !r}'\n return f'ForwardRef({self.__forward_arg__ !r}{module_repr})'\n \n \ndef _is_unpacked_typevartuple(x:Any)->bool:\n return((not isinstance(x,type))and\n getattr(x,'__typing_is_unpacked_typevartuple__',False))\n \n \ndef _is_typevar_like(x:Any)->bool:\n return isinstance(x,(TypeVar,ParamSpec))or _is_unpacked_typevartuple(x)\n \n \nclass _PickleUsingNameMixin:\n ''\n \n def __reduce__(self):\n return self.__name__\n \n \ndef _typevar_subst(self,arg):\n msg=\"Parameters to generic types must be types.\"\n arg=_type_check(arg,msg,is_argument=True)\n if((isinstance(arg,_GenericAlias)and arg.__origin__ is Unpack)or\n (isinstance(arg,GenericAlias)and getattr(arg,'__unpacked__',False))):\n raise TypeError(f\"{arg} is not valid as type argument\")\n return arg\n \n \ndef _typevartuple_prepare_subst(self,alias,args):\n params=alias.__parameters__\n typevartuple_index=params.index(self)\n for param in params[typevartuple_index+1:]:\n if isinstance(param,TypeVarTuple):\n raise TypeError(f\"More than one TypeVarTuple parameter in {alias}\")\n \n alen=len(args)\n plen=len(params)\n left=typevartuple_index\n right=plen -typevartuple_index -1\n var_tuple_index=None\n fillarg=None\n for k,arg in enumerate(args):\n if not isinstance(arg,type):\n subargs=getattr(arg,'__typing_unpacked_tuple_args__',None)\n if subargs and len(subargs)==2 and subargs[-1]is ...:\n if var_tuple_index is not None:\n raise TypeError(\"More than one unpacked arbitrary-length tuple argument\")\n var_tuple_index=k\n fillarg=subargs[0]\n if var_tuple_index is not None:\n left=min(left,var_tuple_index)\n right=min(right,alen -var_tuple_index -1)\n elif left+right >alen:\n raise TypeError(f\"Too few arguments for {alias};\"\n f\" actual {alen}, expected at least {plen -1}\")\n \n return(\n *args[:left],\n *([fillarg]*(typevartuple_index -left)),\n tuple(args[left:alen -right]),\n *([fillarg]*(plen -right -left -typevartuple_index -1)),\n *args[alen -right:],\n )\n \n \ndef _paramspec_subst(self,arg):\n if isinstance(arg,(list,tuple)):\n arg=tuple(_type_check(a,\"Expected a type.\")for a in arg)\n elif not _is_param_expr(arg):\n raise TypeError(f\"Expected a list of types, an ellipsis, \"\n f\"ParamSpec, or Concatenate. Got {arg}\")\n return arg\n \n \ndef _paramspec_prepare_subst(self,alias,args):\n params=alias.__parameters__\n i=params.index(self)\n if i >=len(args):\n raise TypeError(f\"Too few arguments for {alias}\")\n \n if len(params)==1 and not _is_param_expr(args[0]):\n assert i ==0\n args=(args,)\n \n elif isinstance(args[i],list):\n args=(*args[:i],tuple(args[i]),*args[i+1:])\n return args\n \n \n@_tp_cache\ndef _generic_class_getitem(cls,params):\n ''\n\n\n\n\n\n\n\n \n if not isinstance(params,tuple):\n params=(params,)\n \n params=tuple(_type_convert(p)for p in params)\n is_generic_or_protocol=cls in(Generic,Protocol)\n \n if is_generic_or_protocol:\n \n if not params:\n raise TypeError(\n f\"Parameter list to {cls.__qualname__}[...] cannot be empty\"\n )\n if not all(_is_typevar_like(p)for p in params):\n raise TypeError(\n f\"Parameters to {cls.__name__}[...] must all be type variables \"\n f\"or parameter specification variables.\")\n if len(set(params))!=len(params):\n raise TypeError(\n f\"Parameters to {cls.__name__}[...] must all be unique\")\n else:\n \n for param in cls.__parameters__:\n prepare=getattr(param,'__typing_prepare_subst__',None)\n if prepare is not None:\n params=prepare(cls,params)\n _check_generic(cls,params,len(cls.__parameters__))\n \n new_args=[]\n for param,new_arg in zip(cls.__parameters__,params):\n if isinstance(param,TypeVarTuple):\n new_args.extend(new_arg)\n else:\n new_args.append(new_arg)\n params=tuple(new_args)\n \n return _GenericAlias(cls,params)\n \n \ndef _generic_init_subclass(cls,*args,**kwargs):\n super(Generic,cls).__init_subclass__(*args,**kwargs)\n tvars=[]\n if '__orig_bases__'in cls.__dict__:\n error=Generic in cls.__orig_bases__\n else:\n error=(Generic in cls.__bases__ and\n cls.__name__ !='Protocol'and\n type(cls)!=_TypedDictMeta)\n if error:\n raise TypeError(\"Cannot inherit from plain Generic\")\n if '__orig_bases__'in cls.__dict__:\n tvars=_collect_parameters(cls.__orig_bases__)\n \n \n \n \n \n gvars=None\n for base in cls.__orig_bases__:\n if(isinstance(base,_GenericAlias)and\n base.__origin__ is Generic):\n if gvars is not None:\n raise TypeError(\n \"Cannot inherit from Generic[...] multiple times.\")\n gvars=base.__parameters__\n if gvars is not None:\n tvarset=set(tvars)\n gvarset=set(gvars)\n if not tvarset <=gvarset:\n s_vars=', '.join(str(t)for t in tvars if t not in gvarset)\n s_args=', '.join(str(g)for g in gvars)\n raise TypeError(f\"Some type variables ({s_vars}) are\"\n f\" not listed in Generic[{s_args}]\")\n tvars=gvars\n cls.__parameters__=tuple(tvars)\n \n \ndef _is_dunder(attr):\n return attr.startswith('__')and attr.endswith('__')\n \nclass _BaseGenericAlias(_Final,_root=True):\n ''\n\n\n\n\n\n\n \n \n def __init__(self,origin,*,inst=True,name=None):\n self._inst=inst\n self._name=name\n self.__origin__=origin\n self.__slots__=None\n \n def __call__(self,*args,**kwargs):\n if not self._inst:\n raise TypeError(f\"Type {self._name} cannot be instantiated; \"\n f\"use {self.__origin__.__name__}() instead\")\n result=self.__origin__(*args,**kwargs)\n try:\n result.__orig_class__=self\n except AttributeError:\n pass\n return result\n \n def __mro_entries__(self,bases):\n res=[]\n if self.__origin__ not in bases:\n res.append(self.__origin__)\n i=bases.index(self)\n for b in bases[i+1:]:\n if isinstance(b,_BaseGenericAlias)or issubclass(b,Generic):\n break\n else:\n res.append(Generic)\n return tuple(res)\n \n def __getattr__(self,attr):\n if attr in{'__name__','__qualname__'}:\n return self._name or self.__origin__.__name__\n \n \n \n if '__origin__'in self.__dict__ and not _is_dunder(attr):\n return getattr(self.__origin__,attr)\n raise AttributeError(attr)\n \n def __setattr__(self,attr,val):\n if _is_dunder(attr)or attr in{'_name','_inst','_nparams'}:\n super().__setattr__(attr,val)\n else:\n setattr(self.__origin__,attr,val)\n \n def __instancecheck__(self,obj):\n return self.__subclasscheck__(type(obj))\n \n def __subclasscheck__(self,cls):\n raise TypeError(\"Subscripted generics cannot be used with\"\n \" class and instance checks\")\n \n def __dir__(self):\n return list(set(super().__dir__()\n +[attr for attr in dir(self.__origin__)if not _is_dunder(attr)]))\n \n \n \n \n \n \n \n \n \n \n \n \n \nclass _GenericAlias(_BaseGenericAlias,_root=True):\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n def __init__(self,origin,args,*,inst=True,name=None):\n super().__init__(origin,inst=inst,name=name)\n if not isinstance(args,tuple):\n args=(args,)\n self.__args__=tuple(...if a is _TypingEllipsis else\n a for a in args)\n self.__parameters__=_collect_parameters(args)\n if not name:\n self.__module__=origin.__module__\n \n def __eq__(self,other):\n if not isinstance(other,_GenericAlias):\n return NotImplemented\n return(self.__origin__ ==other.__origin__\n and self.__args__ ==other.__args__)\n \n def __hash__(self):\n return hash((self.__origin__,self.__args__))\n \n def __or__(self,right):\n return Union[self,right]\n \n def __ror__(self,left):\n return Union[left,self]\n \n @_tp_cache\n def __getitem__(self,args):\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n if self.__origin__ in(Generic,Protocol):\n \n raise TypeError(f\"Cannot subscript already-subscripted {self}\")\n if not self.__parameters__:\n raise TypeError(f\"{self} is not a generic class\")\n \n \n if not isinstance(args,tuple):\n args=(args,)\n args=tuple(_type_convert(p)for p in args)\n args=_unpack_args(args)\n new_args=self._determine_new_args(args)\n r=self.copy_with(new_args)\n return r\n \n def _determine_new_args(self,args):\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params=self.__parameters__\n \n for param in params:\n prepare=getattr(param,'__typing_prepare_subst__',None)\n if prepare is not None:\n args=prepare(self,args)\n alen=len(args)\n plen=len(params)\n if alen !=plen:\n raise TypeError(f\"Too {'many'if alen >plen else 'few'} arguments for {self};\"\n f\" actual {alen}, expected {plen}\")\n new_arg_by_param=dict(zip(params,args))\n return tuple(self._make_substitution(self.__args__,new_arg_by_param))\n \n def _make_substitution(self,args,new_arg_by_param):\n ''\n new_args=[]\n for old_arg in args:\n if isinstance(old_arg,type):\n new_args.append(old_arg)\n continue\n \n substfunc=getattr(old_arg,'__typing_subst__',None)\n if substfunc:\n new_arg=substfunc(new_arg_by_param[old_arg])\n else:\n subparams=getattr(old_arg,'__parameters__',())\n if not subparams:\n new_arg=old_arg\n else:\n subargs=[]\n for x in subparams:\n if isinstance(x,TypeVarTuple):\n subargs.extend(new_arg_by_param[x])\n else:\n subargs.append(new_arg_by_param[x])\n new_arg=old_arg[tuple(subargs)]\n \n if self.__origin__ ==collections.abc.Callable and isinstance(new_arg,tuple):\n \n \n \n \n \n \n \n \n \n \n new_args.extend(new_arg)\n elif _is_unpacked_typevartuple(old_arg):\n \n \n \n \n \n \n \n \n \n new_args.extend(new_arg)\n elif isinstance(old_arg,tuple):\n \n \n \n \n \n \n \n new_args.append(\n tuple(self._make_substitution(old_arg,new_arg_by_param)),\n )\n else:\n new_args.append(new_arg)\n return new_args\n \n def copy_with(self,args):\n return self.__class__(self.__origin__,args,name=self._name,inst=self._inst)\n \n def __repr__(self):\n if self._name:\n name='typing.'+self._name\n else:\n name=_type_repr(self.__origin__)\n if self.__args__:\n args=\", \".join([_type_repr(a)for a in self.__args__])\n else:\n \n args=\"()\"\n return f'{name}[{args}]'\n \n def __reduce__(self):\n if self._name:\n origin=globals()[self._name]\n else:\n origin=self.__origin__\n args=tuple(self.__args__)\n if len(args)==1 and not isinstance(args[0],tuple):\n args,=args\n return operator.getitem,(origin,args)\n \n def __mro_entries__(self,bases):\n if isinstance(self.__origin__,_SpecialForm):\n raise TypeError(f\"Cannot subclass {self !r}\")\n \n if self._name:\n return super().__mro_entries__(bases)\n if self.__origin__ is Generic:\n if Protocol in bases:\n return()\n i=bases.index(self)\n for b in bases[i+1:]:\n if isinstance(b,_BaseGenericAlias)and b is not self:\n return()\n return(self.__origin__,)\n \n def __iter__(self):\n yield Unpack[self]\n \n \n \n \n \n \nclass _SpecialGenericAlias(_NotIterable,_BaseGenericAlias,_root=True):\n def __init__(self,origin,nparams,*,inst=True,name=None):\n if name is None:\n name=origin.__name__\n super().__init__(origin,inst=inst,name=name)\n self._nparams=nparams\n if origin.__module__ =='builtins':\n self.__doc__=f'A generic version of {origin.__qualname__}.'\n else:\n self.__doc__=f'A generic version of {origin.__module__}.{origin.__qualname__}.'\n \n @_tp_cache\n def __getitem__(self,params):\n if not isinstance(params,tuple):\n params=(params,)\n msg=\"Parameters to generic types must be types.\"\n params=tuple(_type_check(p,msg)for p in params)\n _check_generic(self,params,self._nparams)\n return self.copy_with(params)\n \n def copy_with(self,params):\n return _GenericAlias(self.__origin__,params,\n name=self._name,inst=self._inst)\n \n def __repr__(self):\n return 'typing.'+self._name\n \n def __subclasscheck__(self,cls):\n if isinstance(cls,_SpecialGenericAlias):\n return issubclass(cls.__origin__,self.__origin__)\n if not isinstance(cls,_GenericAlias):\n return issubclass(cls,self.__origin__)\n return super().__subclasscheck__(cls)\n \n def __reduce__(self):\n return self._name\n \n def __or__(self,right):\n return Union[self,right]\n \n def __ror__(self,left):\n return Union[left,self]\n \n \nclass _DeprecatedGenericAlias(_SpecialGenericAlias,_root=True):\n def __init__(\n self,origin,nparams,*,removal_version,inst=True,name=None\n ):\n super().__init__(origin,nparams,inst=inst,name=name)\n self._removal_version=removal_version\n \n def __instancecheck__(self,inst):\n import warnings\n warnings._deprecated(\n f\"{self.__module__}.{self._name}\",remove=self._removal_version\n )\n return super().__instancecheck__(inst)\n \n \nclass _CallableGenericAlias(_NotIterable,_GenericAlias,_root=True):\n def __repr__(self):\n assert self._name =='Callable'\n args=self.__args__\n if len(args)==2 and _is_param_expr(args[0]):\n return super().__repr__()\n return(f'typing.Callable'\n f'[[{\", \".join([_type_repr(a)for a in args[:-1]])}], '\n f'{_type_repr(args[-1])}]')\n \n def __reduce__(self):\n args=self.__args__\n if not(len(args)==2 and _is_param_expr(args[0])):\n args=list(args[:-1]),args[-1]\n return operator.getitem,(Callable,args)\n \n \nclass _CallableType(_SpecialGenericAlias,_root=True):\n def copy_with(self,params):\n return _CallableGenericAlias(self.__origin__,params,\n name=self._name,inst=self._inst)\n \n def __getitem__(self,params):\n if not isinstance(params,tuple)or len(params)!=2:\n raise TypeError(\"Callable must be used as \"\n \"Callable[[arg, ...], result].\")\n args,result=params\n \n \n \n if isinstance(args,list):\n params=(tuple(args),result)\n else:\n params=(args,result)\n return self.__getitem_inner__(params)\n \n @_tp_cache\n def __getitem_inner__(self,params):\n args,result=params\n msg=\"Callable[args, result]: result must be a type.\"\n result=_type_check(result,msg)\n if args is Ellipsis:\n return self.copy_with((_TypingEllipsis,result))\n if not isinstance(args,tuple):\n args=(args,)\n args=tuple(_type_convert(arg)for arg in args)\n params=args+(result,)\n return self.copy_with(params)\n \n \nclass _TupleType(_SpecialGenericAlias,_root=True):\n @_tp_cache\n def __getitem__(self,params):\n if not isinstance(params,tuple):\n params=(params,)\n if len(params)>=2 and params[-1]is ...:\n msg=\"Tuple[t, ...]: t must be a type.\"\n params=tuple(_type_check(p,msg)for p in params[:-1])\n return self.copy_with((*params,_TypingEllipsis))\n msg=\"Tuple[t0, t1, ...]: each t must be a type.\"\n params=tuple(_type_check(p,msg)for p in params)\n return self.copy_with(params)\n \n \nclass _UnionGenericAlias(_NotIterable,_GenericAlias,_root=True):\n def copy_with(self,params):\n return Union[params]\n \n def __eq__(self,other):\n if not isinstance(other,(_UnionGenericAlias,types.UnionType)):\n return NotImplemented\n return set(self.__args__)==set(other.__args__)\n \n def __hash__(self):\n return hash(frozenset(self.__args__))\n \n def __repr__(self):\n args=self.__args__\n if len(args)==2:\n if args[0]is type(None):\n return f'typing.Optional[{_type_repr(args[1])}]'\n elif args[1]is type(None):\n return f'typing.Optional[{_type_repr(args[0])}]'\n return super().__repr__()\n \n def __instancecheck__(self,obj):\n return self.__subclasscheck__(type(obj))\n \n def __subclasscheck__(self,cls):\n for arg in self.__args__:\n if issubclass(cls,arg):\n return True\n \n def __reduce__(self):\n func,(origin,args)=super().__reduce__()\n return func,(Union,args)\n \n \ndef _value_and_type_iter(parameters):\n return((p,type(p))for p in parameters)\n \n \nclass _LiteralGenericAlias(_GenericAlias,_root=True):\n def __eq__(self,other):\n if not isinstance(other,_LiteralGenericAlias):\n return NotImplemented\n \n return set(_value_and_type_iter(self.__args__))==set(_value_and_type_iter(other.__args__))\n \n def __hash__(self):\n return hash(frozenset(_value_and_type_iter(self.__args__)))\n \n \nclass _ConcatenateGenericAlias(_GenericAlias,_root=True):\n def copy_with(self,params):\n if isinstance(params[-1],(list,tuple)):\n return(*params[:-1],*params[-1])\n if isinstance(params[-1],_ConcatenateGenericAlias):\n params=(*params[:-1],*params[-1].__args__)\n return super().copy_with(params)\n \n \n@_SpecialForm\ndef Unpack(self,parameters):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n item=_type_check(parameters,f'{self} accepts only single type.')\n return _UnpackGenericAlias(origin=self,args=(item,))\n \n \nclass _UnpackGenericAlias(_GenericAlias,_root=True):\n def __repr__(self):\n \n \n return f'typing.Unpack[{_type_repr(self.__args__[0])}]'\n \n def __getitem__(self,args):\n if self.__typing_is_unpacked_typevartuple__:\n return args\n return super().__getitem__(args)\n \n @property\n def __typing_unpacked_tuple_args__(self):\n assert self.__origin__ is Unpack\n assert len(self.__args__)==1\n arg,=self.__args__\n if isinstance(arg,_GenericAlias):\n assert arg.__origin__ is tuple\n return arg.__args__\n return None\n \n @property\n def __typing_is_unpacked_typevartuple__(self):\n assert self.__origin__ is Unpack\n assert len(self.__args__)==1\n return isinstance(self.__args__[0],TypeVarTuple)\n \n \nclass _TypingEllipsis:\n ''\n \n \n_TYPING_INTERNALS=frozenset({\n'__parameters__','__orig_bases__','__orig_class__',\n'_is_protocol','_is_runtime_protocol','__protocol_attrs__',\n'__callable_proto_members_only__','__type_params__',\n})\n\n_SPECIAL_NAMES=frozenset({\n'__abstractmethods__','__annotations__','__dict__','__doc__',\n'__init__','__module__','__new__','__slots__',\n'__subclasshook__','__weakref__','__class_getitem__'\n})\n\n\nEXCLUDED_ATTRIBUTES=_TYPING_INTERNALS |_SPECIAL_NAMES |{'_MutableMapping__marker'}\n\n\ndef _get_protocol_attrs(cls):\n ''\n\n\n\n \n attrs=set()\n for base in cls.__mro__[:-1]:\n if base.__name__ in{'Protocol','Generic'}:\n continue\n annotations=getattr(base,'__annotations__',{})\n for attr in(*base.__dict__,*annotations):\n if not attr.startswith('_abc_')and attr not in EXCLUDED_ATTRIBUTES:\n attrs.add(attr)\n return attrs\n \n \ndef _no_init_or_replace_init(self,*args,**kwargs):\n cls=type(self)\n \n if cls._is_protocol:\n raise TypeError('Protocols cannot be instantiated')\n \n \n \n if cls.__init__ is not _no_init_or_replace_init:\n return\n \n \n \n \n \n \n \n for base in cls.__mro__:\n init=base.__dict__.get('__init__',_no_init_or_replace_init)\n if init is not _no_init_or_replace_init:\n cls.__init__=init\n break\n else:\n \n cls.__init__=object.__init__\n \n cls.__init__(self,*args,**kwargs)\n \n \ndef _caller(depth=1,default='__main__'):\n try:\n return sys._getframemodulename(depth+1)or default\n except AttributeError:\n pass\n try:\n return sys._getframe(depth+1).f_globals.get('__name__',default)\n except(AttributeError,ValueError):\n pass\n return None\n \ndef _allow_reckless_class_checks(depth=2):\n ''\n\n\n\n \n return _caller(depth)in{'abc','functools',None}\n \n \n_PROTO_ALLOWLIST={\n'collections.abc':[\n'Callable','Awaitable','Iterable','Iterator','AsyncIterable',\n'Hashable','Sized','Container','Collection','Reversible','Buffer',\n],\n'contextlib':['AbstractContextManager','AbstractAsyncContextManager'],\n}\n\n\n@functools.cache\ndef _lazy_load_getattr_static():\n\n\n from inspect import getattr_static\n return getattr_static\n \n \n_cleanups.append(_lazy_load_getattr_static.cache_clear)\n\ndef _pickle_psargs(psargs):\n return ParamSpecArgs,(psargs.__origin__,)\n \ncopyreg.pickle(ParamSpecArgs,_pickle_psargs)\n\ndef _pickle_pskwargs(pskwargs):\n return ParamSpecKwargs,(pskwargs.__origin__,)\n \ncopyreg.pickle(ParamSpecKwargs,_pickle_pskwargs)\n\ndel _pickle_psargs,_pickle_pskwargs\n\n\nclass _ProtocolMeta(ABCMeta):\n\n\n def __new__(mcls,name,bases,namespace,/,**kwargs):\n if name ==\"Protocol\"and bases ==(Generic,):\n pass\n elif Protocol in bases:\n for base in bases:\n if not(\n base in{object,Generic}\n or base.__name__ in _PROTO_ALLOWLIST.get(base.__module__,[])\n or(\n issubclass(base,Generic)\n and getattr(base,\"_is_protocol\",False)\n )\n ):\n raise TypeError(\n f\"Protocols can only inherit from other protocols, \"\n f\"got {base !r}\"\n )\n return super().__new__(mcls,name,bases,namespace,**kwargs)\n \n def __init__(cls,*args,**kwargs):\n super().__init__(*args,**kwargs)\n if getattr(cls,\"_is_protocol\",False):\n cls.__protocol_attrs__=_get_protocol_attrs(cls)\n \n \n cls.__callable_proto_members_only__=all(\n callable(getattr(cls,attr,None))for attr in cls.__protocol_attrs__\n )\n \n def __subclasscheck__(cls,other):\n if cls is Protocol:\n return type.__subclasscheck__(cls,other)\n if(\n getattr(cls,'_is_protocol',False)\n and not _allow_reckless_class_checks()\n ):\n if not isinstance(other,type):\n \n raise TypeError('issubclass() arg 1 must be a class')\n if(\n not cls.__callable_proto_members_only__\n and cls.__dict__.get(\"__subclasshook__\")is _proto_hook\n ):\n raise TypeError(\n \"Protocols with non-method members don't support issubclass()\"\n )\n if not getattr(cls,'_is_runtime_protocol',False):\n raise TypeError(\n \"Instance and class checks can only be used with \"\n \"@runtime_checkable protocols\"\n )\n return super().__subclasscheck__(other)\n \n def __instancecheck__(cls,instance):\n \n \n if cls is Protocol:\n return type.__instancecheck__(cls,instance)\n if not getattr(cls,\"_is_protocol\",False):\n \n return super().__instancecheck__(instance)\n \n if(\n not getattr(cls,'_is_runtime_protocol',False)and\n not _allow_reckless_class_checks()\n ):\n raise TypeError(\"Instance and class checks can only be used with\"\n \" @runtime_checkable protocols\")\n \n if super().__instancecheck__(instance):\n return True\n \n getattr_static=_lazy_load_getattr_static()\n for attr in cls.__protocol_attrs__:\n try:\n val=getattr_static(instance,attr)\n except AttributeError:\n break\n if val is None and callable(getattr(cls,attr,None)):\n break\n else:\n return True\n \n return False\n \n \n@classmethod\ndef _proto_hook(cls,other):\n if not cls.__dict__.get('_is_protocol',False):\n return NotImplemented\n \n for attr in cls.__protocol_attrs__:\n for base in other.__mro__:\n \n if attr in base.__dict__:\n if base.__dict__[attr]is None:\n return NotImplemented\n break\n \n \n annotations=getattr(base,'__annotations__',{})\n if(isinstance(annotations,collections.abc.Mapping)and\n attr in annotations and\n issubclass(other,Generic)and getattr(other,'_is_protocol',False)):\n break\n else:\n return NotImplemented\n return True\n \n \nclass Protocol(Generic,metaclass=_ProtocolMeta):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __slots__=()\n _is_protocol=True\n _is_runtime_protocol=False\n \n def __init_subclass__(cls,*args,**kwargs):\n super().__init_subclass__(*args,**kwargs)\n \n \n if not cls.__dict__.get('_is_protocol',False):\n cls._is_protocol=any(b is Protocol for b in cls.__bases__)\n \n \n if '__subclasshook__'not in cls.__dict__:\n cls.__subclasshook__=_proto_hook\n \n \n if cls._is_protocol and cls.__init__ is Protocol.__init__:\n cls.__init__=_no_init_or_replace_init\n \n \nclass _AnnotatedAlias(_NotIterable,_GenericAlias,_root=True):\n ''\n\n\n\n\n\n\n\n \n \n def __init__(self,origin,metadata):\n if isinstance(origin,_AnnotatedAlias):\n metadata=origin.__metadata__+metadata\n origin=origin.__origin__\n super().__init__(origin,origin,name='Annotated')\n self.__metadata__=metadata\n \n def copy_with(self,params):\n assert len(params)==1\n new_type=params[0]\n return _AnnotatedAlias(new_type,self.__metadata__)\n \n def __repr__(self):\n return \"typing.Annotated[{}, {}]\".format(\n _type_repr(self.__origin__),\n \", \".join(repr(a)for a in self.__metadata__)\n )\n \n def __reduce__(self):\n return operator.getitem,(\n Annotated,(self.__origin__,)+self.__metadata__\n )\n \n def __eq__(self,other):\n if not isinstance(other,_AnnotatedAlias):\n return NotImplemented\n return(self.__origin__ ==other.__origin__\n and self.__metadata__ ==other.__metadata__)\n \n def __hash__(self):\n return hash((self.__origin__,self.__metadata__))\n \n def __getattr__(self,attr):\n if attr in{'__name__','__qualname__'}:\n return 'Annotated'\n return super().__getattr__(attr)\n \n def __mro_entries__(self,bases):\n return(self.__origin__,)\n \n \nclass Annotated:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __slots__=()\n \n def __new__(cls,*args,**kwargs):\n raise TypeError(\"Type Annotated cannot be instantiated.\")\n \n @_tp_cache\n def __class_getitem__(cls,params):\n if not isinstance(params,tuple)or len(params)<2:\n raise TypeError(\"Annotated[...] should be used \"\n \"with at least two arguments (a type and an \"\n \"annotation).\")\n if _is_unpacked_typevartuple(params[0]):\n raise TypeError(\"Annotated[...] should not be used with an \"\n \"unpacked TypeVarTuple\")\n msg=\"Annotated[t, ...]: t must be a type.\"\n origin=_type_check(params[0],msg,allow_special_forms=True)\n metadata=tuple(params[1:])\n return _AnnotatedAlias(origin,metadata)\n \n def __init_subclass__(cls,*args,**kwargs):\n raise TypeError(\n \"Cannot subclass {}.Annotated\".format(cls.__module__)\n )\n \n \ndef runtime_checkable(cls):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not issubclass(cls,Generic)or not getattr(cls,'_is_protocol',False):\n raise TypeError('@runtime_checkable can be only applied to protocol classes,'\n ' got %r'%cls)\n cls._is_runtime_protocol=True\n return cls\n \n \ndef cast(typ,val):\n ''\n\n\n\n\n\n \n return val\n \n \ndef assert_type(val,typ,/):\n ''\n\n\n\n\n\n\n\n\n\n\n \n return val\n \n \n_allowed_types=(types.FunctionType,types.BuiltinFunctionType,\ntypes.MethodType,types.ModuleType,\nWrapperDescriptorType,MethodWrapperType,MethodDescriptorType)\n\n\ndef get_type_hints(obj,globalns=None,localns=None,include_extras=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if getattr(obj,'__no_type_check__',None):\n return{}\n \n if isinstance(obj,type):\n hints={}\n for base in reversed(obj.__mro__):\n if globalns is None:\n base_globals=getattr(sys.modules.get(base.__module__,None),'__dict__',{})\n else:\n base_globals=globalns\n ann=base.__dict__.get('__annotations__',{})\n if isinstance(ann,types.GetSetDescriptorType):\n ann={}\n base_locals=dict(vars(base))if localns is None else localns\n if localns is None and globalns is None:\n \n \n \n \n \n \n base_globals,base_locals=base_locals,base_globals\n for name,value in ann.items():\n if value is None:\n value=type(None)\n if isinstance(value,str):\n value=ForwardRef(value,is_argument=False,is_class=True)\n value=_eval_type(value,base_globals,base_locals)\n hints[name]=value\n return hints if include_extras else{k:_strip_annotations(t)for k,t in hints.items()}\n \n if globalns is None:\n if isinstance(obj,types.ModuleType):\n globalns=obj.__dict__\n else:\n nsobj=obj\n \n while hasattr(nsobj,'__wrapped__'):\n nsobj=nsobj.__wrapped__\n globalns=getattr(nsobj,'__globals__',{})\n if localns is None:\n localns=globalns\n elif localns is None:\n localns=globalns\n hints=getattr(obj,'__annotations__',None)\n if hints is None:\n \n if isinstance(obj,_allowed_types):\n return{}\n else:\n raise TypeError('{!r} is not a module, class, method, '\n 'or function.'.format(obj))\n hints=dict(hints)\n for name,value in hints.items():\n if value is None:\n value=type(None)\n if isinstance(value,str):\n \n \n value=ForwardRef(\n value,\n is_argument=not isinstance(obj,types.ModuleType),\n is_class=False,\n )\n hints[name]=_eval_type(value,globalns,localns)\n return hints if include_extras else{k:_strip_annotations(t)for k,t in hints.items()}\n \n \ndef _strip_annotations(t):\n ''\n if isinstance(t,_AnnotatedAlias):\n return _strip_annotations(t.__origin__)\n if hasattr(t,\"__origin__\")and t.__origin__ in(Required,NotRequired):\n return _strip_annotations(t.__args__[0])\n if isinstance(t,_GenericAlias):\n stripped_args=tuple(_strip_annotations(a)for a in t.__args__)\n if stripped_args ==t.__args__:\n return t\n return t.copy_with(stripped_args)\n if isinstance(t,GenericAlias):\n stripped_args=tuple(_strip_annotations(a)for a in t.__args__)\n if stripped_args ==t.__args__:\n return t\n return GenericAlias(t.__origin__,stripped_args)\n if isinstance(t,types.UnionType):\n stripped_args=tuple(_strip_annotations(a)for a in t.__args__)\n if stripped_args ==t.__args__:\n return t\n return functools.reduce(operator.or_,stripped_args)\n \n return t\n \n \ndef get_origin(tp):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if isinstance(tp,_AnnotatedAlias):\n return Annotated\n if isinstance(tp,(_BaseGenericAlias,GenericAlias,\n ParamSpecArgs,ParamSpecKwargs)):\n return tp.__origin__\n if tp is Generic:\n return Generic\n if isinstance(tp,types.UnionType):\n return types.UnionType\n return None\n \n \ndef get_args(tp):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if isinstance(tp,_AnnotatedAlias):\n return(tp.__origin__,)+tp.__metadata__\n if isinstance(tp,(_GenericAlias,GenericAlias)):\n res=tp.__args__\n if _should_unflatten_callable_args(tp,res):\n res=(list(res[:-1]),res[-1])\n return res\n if isinstance(tp,types.UnionType):\n return tp.__args__\n return()\n \n \ndef is_typeddict(tp):\n ''\n\n\n\n\n\n\n\n\n\n \n return isinstance(tp,_TypedDictMeta)\n \n \n_ASSERT_NEVER_REPR_MAX_LENGTH=100\n\n\ndef assert_never(arg:Never,/)->Never:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n value=repr(arg)\n if len(value)>_ASSERT_NEVER_REPR_MAX_LENGTH:\n value=value[:_ASSERT_NEVER_REPR_MAX_LENGTH]+'...'\n raise AssertionError(f\"Expected code to be unreachable, but got: {value}\")\n \n \ndef no_type_check(arg):\n ''\n\n\n\n\n\n\n \n if isinstance(arg,type):\n for key in dir(arg):\n obj=getattr(arg,key)\n if(\n not hasattr(obj,'__qualname__')\n or obj.__qualname__ !=f'{arg.__qualname__}.{obj.__name__}'\n or getattr(obj,'__module__',None)!=arg.__module__\n ):\n \n \n \n continue\n \n if isinstance(obj,types.FunctionType):\n obj.__no_type_check__=True\n if isinstance(obj,types.MethodType):\n obj.__func__.__no_type_check__=True\n \n if isinstance(obj,type):\n no_type_check(obj)\n try:\n arg.__no_type_check__=True\n except TypeError:\n pass\n return arg\n \n \ndef no_type_check_decorator(decorator):\n ''\n\n\n\n \n @functools.wraps(decorator)\n def wrapped_decorator(*args,**kwds):\n func=decorator(*args,**kwds)\n func=no_type_check(func)\n return func\n \n return wrapped_decorator\n \n \ndef _overload_dummy(*args,**kwds):\n ''\n raise NotImplementedError(\n \"You should not call an overloaded function. \"\n \"A series of @overload-decorated functions \"\n \"outside a stub module should always be followed \"\n \"by an implementation that is not @overload-ed.\")\n \n \n \n_overload_registry=defaultdict(functools.partial(defaultdict,dict))\n\n\ndef overload(func):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n f=getattr(func,\"__func__\",func)\n try:\n _overload_registry[f.__module__][f.__qualname__][f.__code__.co_firstlineno]=func\n except AttributeError:\n \n pass\n return _overload_dummy\n \n \ndef get_overloads(func):\n ''\n \n f=getattr(func,\"__func__\",func)\n if f.__module__ not in _overload_registry:\n return[]\n mod_dict=_overload_registry[f.__module__]\n if f.__qualname__ not in mod_dict:\n return[]\n return list(mod_dict[f.__qualname__].values())\n \n \ndef clear_overloads():\n ''\n _overload_registry.clear()\n \n \ndef final(f):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n f.__final__=True\n except(AttributeError,TypeError):\n \n \n \n pass\n return f\n \n \n \n \n \nT=TypeVar('T')\nKT=TypeVar('KT')\nVT=TypeVar('VT')\nT_co=TypeVar('T_co',covariant=True)\nV_co=TypeVar('V_co',covariant=True)\nVT_co=TypeVar('VT_co',covariant=True)\nT_contra=TypeVar('T_contra',contravariant=True)\n\nCT_co=TypeVar('CT_co',covariant=True,bound=type)\n\n\n\n\nAnyStr=TypeVar('AnyStr',bytes,str)\n\n\n\n_alias=_SpecialGenericAlias\n\nHashable=_alias(collections.abc.Hashable,0)\nAwaitable=_alias(collections.abc.Awaitable,1)\nCoroutine=_alias(collections.abc.Coroutine,3)\nAsyncIterable=_alias(collections.abc.AsyncIterable,1)\nAsyncIterator=_alias(collections.abc.AsyncIterator,1)\nIterable=_alias(collections.abc.Iterable,1)\nIterator=_alias(collections.abc.Iterator,1)\nReversible=_alias(collections.abc.Reversible,1)\nSized=_alias(collections.abc.Sized,0)\nContainer=_alias(collections.abc.Container,1)\nCollection=_alias(collections.abc.Collection,1)\nCallable=_CallableType(collections.abc.Callable,2)\nCallable.__doc__=\\\n\"\"\"Deprecated alias to collections.abc.Callable.\n\n Callable[[int], str] signifies a function that takes a single\n parameter of type int and returns a str.\n\n The subscription syntax must always be used with exactly two\n values: the argument list and the return type.\n The argument list must be a list of types, a ParamSpec,\n Concatenate or ellipsis. The return type must be a single type.\n\n There is no syntax to indicate optional or keyword arguments;\n such function types are rarely used as callback types.\n \"\"\"\nAbstractSet=_alias(collections.abc.Set,1,name='AbstractSet')\nMutableSet=_alias(collections.abc.MutableSet,1)\n\nMapping=_alias(collections.abc.Mapping,2)\nMutableMapping=_alias(collections.abc.MutableMapping,2)\nSequence=_alias(collections.abc.Sequence,1)\nMutableSequence=_alias(collections.abc.MutableSequence,1)\nByteString=_DeprecatedGenericAlias(\ncollections.abc.ByteString,0,removal_version=(3,14)\n)\n\nTuple=_TupleType(tuple,-1,inst=False,name='Tuple')\nTuple.__doc__=\\\n\"\"\"Deprecated alias to builtins.tuple.\n\n Tuple[X, Y] is the cross-product type of X and Y.\n\n Example: Tuple[T1, T2] is a tuple of two elements corresponding\n to type variables T1 and T2. Tuple[int, float, str] is a tuple\n of an int, a float and a string.\n\n To specify a variable-length tuple of homogeneous type, use Tuple[T, ...].\n \"\"\"\nList=_alias(list,1,inst=False,name='List')\nDeque=_alias(collections.deque,1,name='Deque')\nSet=_alias(set,1,inst=False,name='Set')\nFrozenSet=_alias(frozenset,1,inst=False,name='FrozenSet')\nMappingView=_alias(collections.abc.MappingView,1)\nKeysView=_alias(collections.abc.KeysView,1)\nItemsView=_alias(collections.abc.ItemsView,2)\nValuesView=_alias(collections.abc.ValuesView,1)\nContextManager=_alias(contextlib.AbstractContextManager,1,name='ContextManager')\nAsyncContextManager=_alias(contextlib.AbstractAsyncContextManager,1,name='AsyncContextManager')\nDict=_alias(dict,2,inst=False,name='Dict')\nDefaultDict=_alias(collections.defaultdict,2,name='DefaultDict')\nOrderedDict=_alias(collections.OrderedDict,2)\nCounter=_alias(collections.Counter,1)\nChainMap=_alias(collections.ChainMap,2)\nGenerator=_alias(collections.abc.Generator,3)\nAsyncGenerator=_alias(collections.abc.AsyncGenerator,2)\nType=_alias(type,1,inst=False,name='Type')\nType.__doc__=\\\n\"\"\"Deprecated alias to builtins.type.\n\n builtins.type or typing.Type can be used to annotate class objects.\n For example, suppose we have the following classes::\n\n class User: ... # Abstract base for User classes\n class BasicUser(User): ...\n class ProUser(User): ...\n class TeamUser(User): ...\n\n And a function that takes a class argument that's a subclass of\n User and returns an instance of the corresponding class::\n\n def new_user[U](user_class: Type[U]) -> U:\n user = user_class()\n # (Here we could write the user object to a database)\n return user\n\n joe = new_user(BasicUser)\n\n At this point the type checker knows that joe has type BasicUser.\n \"\"\"\n\n\n@runtime_checkable\nclass SupportsInt(Protocol):\n ''\n \n __slots__=()\n \n @abstractmethod\n def __int__(self)->int:\n pass\n \n \n@runtime_checkable\nclass SupportsFloat(Protocol):\n ''\n \n __slots__=()\n \n @abstractmethod\n def __float__(self)->float:\n pass\n \n \n@runtime_checkable\nclass SupportsComplex(Protocol):\n ''\n \n __slots__=()\n \n @abstractmethod\n def __complex__(self)->complex:\n pass\n \n \n@runtime_checkable\nclass SupportsBytes(Protocol):\n ''\n \n __slots__=()\n \n @abstractmethod\n def __bytes__(self)->bytes:\n pass\n \n \n@runtime_checkable\nclass SupportsIndex(Protocol):\n ''\n \n __slots__=()\n \n @abstractmethod\n def __index__(self)->int:\n pass\n \n \n@runtime_checkable\nclass SupportsAbs[T](Protocol):\n ''\n \n __slots__=()\n \n @abstractmethod\n def __abs__(self)->T:\n pass\n \n \n@runtime_checkable\nclass SupportsRound[T](Protocol):\n ''\n \n __slots__=()\n \n @abstractmethod\n def __round__(self,ndigits:int=0)->T:\n pass\n \n \ndef _make_nmtuple(name,types,module,defaults=()):\n fields=[n for n,t in types]\n types={n:_type_check(t,f\"field {n} annotation must be a type\")\n for n,t in types}\n nm_tpl=collections.namedtuple(name,fields,\n defaults=defaults,module=module)\n nm_tpl.__annotations__=nm_tpl.__new__.__annotations__=types\n return nm_tpl\n \n \n \n_prohibited=frozenset({'__new__','__init__','__slots__','__getnewargs__',\n'_fields','_field_defaults',\n'_make','_replace','_asdict','_source'})\n\n_special=frozenset({'__module__','__name__','__annotations__'})\n\n\nclass NamedTupleMeta(type):\n def __new__(cls,typename,bases,ns):\n assert _NamedTuple in bases\n for base in bases:\n if base is not _NamedTuple and base is not Generic:\n raise TypeError(\n 'can only inherit from a NamedTuple type and Generic')\n bases=tuple(tuple if base is _NamedTuple else base for base in bases)\n types=ns.get('__annotations__',{})\n default_names=[]\n for field_name in types:\n if field_name in ns:\n default_names.append(field_name)\n elif default_names:\n raise TypeError(f\"Non-default namedtuple field {field_name} \"\n f\"cannot follow default field\"\n f\"{'s'if len(default_names)>1 else ''} \"\n f\"{', '.join(default_names)}\")\n nm_tpl=_make_nmtuple(typename,types.items(),\n defaults=[ns[n]for n in default_names],\n module=ns['__module__'])\n nm_tpl.__bases__=bases\n if Generic in bases:\n class_getitem=_generic_class_getitem\n nm_tpl.__class_getitem__=classmethod(class_getitem)\n \n for key in ns:\n if key in _prohibited:\n raise AttributeError(\"Cannot overwrite NamedTuple attribute \"+key)\n elif key not in _special and key not in nm_tpl._fields:\n setattr(nm_tpl,key,ns[key])\n if Generic in bases:\n nm_tpl.__init_subclass__()\n return nm_tpl\n \n \ndef NamedTuple(typename,fields=None,/,**kwargs):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if fields is None:\n fields=kwargs.items()\n elif kwargs:\n raise TypeError(\"Either list of fields or keywords\"\n \" can be provided to NamedTuple, not both\")\n nt=_make_nmtuple(typename,fields,module=_caller())\n nt.__orig_bases__=(NamedTuple,)\n return nt\n \n_NamedTuple=type.__new__(NamedTupleMeta,'NamedTuple',(),{})\n\ndef _namedtuple_mro_entries(bases):\n assert NamedTuple in bases\n return(_NamedTuple,)\n \nNamedTuple.__mro_entries__=_namedtuple_mro_entries\n\n\nclass _TypedDictMeta(type):\n def __new__(cls,name,bases,ns,total=True):\n ''\n\n\n\n\n\n \n for base in bases:\n if type(base)is not _TypedDictMeta and base is not Generic:\n raise TypeError('cannot inherit from both a TypedDict type '\n 'and a non-TypedDict base class')\n \n if any(issubclass(b,Generic)for b in bases):\n generic_base=(Generic,)\n else:\n generic_base=()\n \n tp_dict=type.__new__(_TypedDictMeta,name,(*generic_base,dict),ns)\n \n if not hasattr(tp_dict,'__orig_bases__'):\n tp_dict.__orig_bases__=bases\n \n annotations={}\n own_annotations=ns.get('__annotations__',{})\n msg=\"TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a type\"\n own_annotations={\n n:_type_check(tp,msg,module=tp_dict.__module__)\n for n,tp in own_annotations.items()\n }\n required_keys=set()\n optional_keys=set()\n \n for base in bases:\n annotations.update(base.__dict__.get('__annotations__',{}))\n required_keys.update(base.__dict__.get('__required_keys__',()))\n optional_keys.update(base.__dict__.get('__optional_keys__',()))\n \n annotations.update(own_annotations)\n for annotation_key,annotation_type in own_annotations.items():\n annotation_origin=get_origin(annotation_type)\n if annotation_origin is Annotated:\n annotation_args=get_args(annotation_type)\n if annotation_args:\n annotation_type=annotation_args[0]\n annotation_origin=get_origin(annotation_type)\n \n if annotation_origin is Required:\n required_keys.add(annotation_key)\n elif annotation_origin is NotRequired:\n optional_keys.add(annotation_key)\n elif total:\n required_keys.add(annotation_key)\n else:\n optional_keys.add(annotation_key)\n \n tp_dict.__annotations__=annotations\n tp_dict.__required_keys__=frozenset(required_keys)\n tp_dict.__optional_keys__=frozenset(optional_keys)\n if not hasattr(tp_dict,'__total__'):\n tp_dict.__total__=total\n return tp_dict\n \n __call__=dict\n \n def __subclasscheck__(cls,other):\n \n raise TypeError('TypedDict does not support instance and class checks')\n \n __instancecheck__=__subclasscheck__\n \n \ndef TypedDict(typename,fields=None,/,*,total=True,**kwargs):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if fields is None:\n fields=kwargs\n elif kwargs:\n raise TypeError(\"TypedDict takes either a dict or keyword arguments,\"\n \" but not both\")\n if kwargs:\n warnings.warn(\n \"The kwargs-based syntax for TypedDict definitions is deprecated \"\n \"in Python 3.11, will be removed in Python 3.13, and may not be \"\n \"understood by third-party type checkers.\",\n DeprecationWarning,\n stacklevel=2,\n )\n \n ns={'__annotations__':dict(fields)}\n module=_caller()\n if module is not None:\n \n ns['__module__']=module\n \n td=_TypedDictMeta(typename,(),ns,total=total)\n td.__orig_bases__=(TypedDict,)\n return td\n \n_TypedDict=type.__new__(_TypedDictMeta,'TypedDict',(),{})\nTypedDict.__mro_entries__=lambda bases:(_TypedDict,)\n\n\n@_SpecialForm\ndef Required(self,parameters):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n item=_type_check(parameters,f'{self._name} accepts only a single type.')\n return _GenericAlias(self,(item,))\n \n \n@_SpecialForm\ndef NotRequired(self,parameters):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n item=_type_check(parameters,f'{self._name} accepts only a single type.')\n return _GenericAlias(self,(item,))\n \n \nclass NewType:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __call__=_idfunc\n \n def __init__(self,name,tp):\n self.__qualname__=name\n if '.'in name:\n name=name.rpartition('.')[-1]\n self.__name__=name\n self.__supertype__=tp\n def_mod=_caller()\n if def_mod !='typing':\n self.__module__=def_mod\n \n def __mro_entries__(self,bases):\n \n \n superclass_name=self.__name__\n \n class Dummy:\n def __init_subclass__(cls):\n subclass_name=cls.__name__\n raise TypeError(\n f\"Cannot subclass an instance of NewType. Perhaps you were looking for: \"\n f\"`{subclass_name} = NewType({subclass_name !r}, {superclass_name})`\"\n )\n \n return(Dummy,)\n \n def __repr__(self):\n return f'{self.__module__}.{self.__qualname__}'\n \n def __reduce__(self):\n return self.__qualname__\n \n def __or__(self,other):\n return Union[self,other]\n \n def __ror__(self,other):\n return Union[other,self]\n \n \n \nText=str\n\n\n\nTYPE_CHECKING=False\n\n\nclass IO(Generic[AnyStr]):\n ''\n\n\n\n\n\n\n\n\n\n \n \n __slots__=()\n \n @property\n @abstractmethod\n def mode(self)->str:\n pass\n \n @property\n @abstractmethod\n def name(self)->str:\n pass\n \n @abstractmethod\n def close(self)->None:\n pass\n \n @property\n @abstractmethod\n def closed(self)->bool:\n pass\n \n @abstractmethod\n def fileno(self)->int:\n pass\n \n @abstractmethod\n def flush(self)->None:\n pass\n \n @abstractmethod\n def isatty(self)->bool:\n pass\n \n @abstractmethod\n def read(self,n:int=-1)->AnyStr:\n pass\n \n @abstractmethod\n def readable(self)->bool:\n pass\n \n @abstractmethod\n def readline(self,limit:int=-1)->AnyStr:\n pass\n \n @abstractmethod\n def readlines(self,hint:int=-1)->List[AnyStr]:\n pass\n \n @abstractmethod\n def seek(self,offset:int,whence:int=0)->int:\n pass\n \n @abstractmethod\n def seekable(self)->bool:\n pass\n \n @abstractmethod\n def tell(self)->int:\n pass\n \n @abstractmethod\n def truncate(self,size:int=None)->int:\n pass\n \n @abstractmethod\n def writable(self)->bool:\n pass\n \n @abstractmethod\n def write(self,s:AnyStr)->int:\n pass\n \n @abstractmethod\n def writelines(self,lines:List[AnyStr])->None:\n pass\n \n @abstractmethod\n def __enter__(self)->'IO[AnyStr]':\n pass\n \n @abstractmethod\n def __exit__(self,type,value,traceback)->None:\n pass\n \n \nclass BinaryIO(IO[bytes]):\n ''\n \n __slots__=()\n \n @abstractmethod\n def write(self,s:Union[bytes,bytearray])->int:\n pass\n \n @abstractmethod\n def __enter__(self)->'BinaryIO':\n pass\n \n \nclass TextIO(IO[str]):\n ''\n \n __slots__=()\n \n @property\n @abstractmethod\n def buffer(self)->BinaryIO:\n pass\n \n @property\n @abstractmethod\n def encoding(self)->str:\n pass\n \n @property\n @abstractmethod\n def errors(self)->Optional[str]:\n pass\n \n @property\n @abstractmethod\n def line_buffering(self)->bool:\n pass\n \n @property\n @abstractmethod\n def newlines(self)->Any:\n pass\n \n @abstractmethod\n def __enter__(self)->'TextIO':\n pass\n \n \nclass _DeprecatedType(type):\n def __getattribute__(cls,name):\n if name not in(\"__dict__\",\"__module__\")and name in cls.__dict__:\n warnings.warn(\n f\"{cls.__name__} is deprecated, import directly \"\n f\"from typing instead. {cls.__name__} will be removed \"\n \"in Python 3.12.\",\n DeprecationWarning,\n stacklevel=2,\n )\n return super().__getattribute__(name)\n \n \nclass io(metaclass=_DeprecatedType):\n ''\n \n __all__=['IO','TextIO','BinaryIO']\n IO=IO\n TextIO=TextIO\n BinaryIO=BinaryIO\n \n \nio.__name__=__name__+'.io'\nsys.modules[io.__name__]=io\n\nPattern=_alias(stdlib_re.Pattern,1)\nMatch=_alias(stdlib_re.Match,1)\n\nclass re(metaclass=_DeprecatedType):\n ''\n \n __all__=['Pattern','Match']\n Pattern=Pattern\n Match=Match\n \n \nre.__name__=__name__+'.re'\nsys.modules[re.__name__]=re\n\n\ndef reveal_type[T](obj:T,/)->T:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n print(f\"Runtime type is {type(obj).__name__ !r}\",file=sys.stderr)\n return obj\n \n \nclass _IdentityCallable(Protocol):\n def __call__[T](self,arg:T,/)->T:\n ...\n \n \ndef dataclass_transform(\n*,\neq_default:bool=True,\norder_default:bool=False,\nkw_only_default:bool=False,\nfrozen_default:bool=False,\nfield_specifiers:tuple[type[Any]|Callable[...,Any],...]=(),\n**kwargs:Any,\n)->_IdentityCallable:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def decorator(cls_or_fn):\n cls_or_fn.__dataclass_transform__={\n \"eq_default\":eq_default,\n \"order_default\":order_default,\n \"kw_only_default\":kw_only_default,\n \"frozen_default\":frozen_default,\n \"field_specifiers\":field_specifiers,\n \"kwargs\":kwargs,\n }\n return cls_or_fn\n return decorator\n \n \ntype _Func=Callable[...,Any]\n\n\ndef override[F:_Func](method:F,/)->F:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n method.__override__=True\n except(AttributeError,TypeError):\n \n \n \n pass\n return method\n",["_typing","abc","collections","collections.abc","contextlib","copyreg","functools","inspect","operator","re","sys","types","warnings"]],uu:[".py","#! /usr/bin/env python3\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\"\"\"Implementation of the UUencode and UUdecode functions.\n\nencode(in_file, out_file [,name, mode], *, backtick=False)\ndecode(in_file [, out_file, mode, quiet])\n\"\"\"\n\nimport binascii\nimport os\nimport sys\nimport warnings\n\nwarnings._deprecated(__name__,remove=(3,13))\n\n__all__=[\"Error\",\"encode\",\"decode\"]\n\nclass Error(Exception):\n pass\n \ndef encode(in_file,out_file,name=None,mode=None,*,backtick=False):\n ''\n \n \n \n opened_files=[]\n try:\n if in_file =='-':\n in_file=sys.stdin.buffer\n elif isinstance(in_file,str):\n if name is None:\n name=os.path.basename(in_file)\n if mode is None:\n try:\n mode=os.stat(in_file).st_mode\n except AttributeError:\n pass\n in_file=open(in_file,'rb')\n opened_files.append(in_file)\n \n \n \n if out_file =='-':\n out_file=sys.stdout.buffer\n elif isinstance(out_file,str):\n out_file=open(out_file,'wb')\n opened_files.append(out_file)\n \n \n \n if name is None:\n name='-'\n if mode is None:\n mode=0o666\n \n \n \n \n name=name.replace('\\n','\\\\n')\n name=name.replace('\\r','\\\\r')\n \n \n \n \n out_file.write(('begin %o %s\\n'%((mode&0o777),name)).encode(\"ascii\"))\n data=in_file.read(45)\n while len(data)>0:\n out_file.write(binascii.b2a_uu(data,backtick=backtick))\n data=in_file.read(45)\n if backtick:\n out_file.write(b'`\\nend\\n')\n else:\n out_file.write(b' \\nend\\n')\n finally:\n for f in opened_files:\n f.close()\n \n \ndef decode(in_file,out_file=None,mode=None,quiet=False):\n ''\n \n \n \n opened_files=[]\n if in_file =='-':\n in_file=sys.stdin.buffer\n elif isinstance(in_file,str):\n in_file=open(in_file,'rb')\n opened_files.append(in_file)\n \n try:\n \n \n \n while True:\n hdr=in_file.readline()\n if not hdr:\n raise Error('No valid begin line found in input file')\n if not hdr.startswith(b'begin'):\n continue\n hdrfields=hdr.split(b' ',2)\n if len(hdrfields)==3 and hdrfields[0]==b'begin':\n try:\n int(hdrfields[1],8)\n break\n except ValueError:\n pass\n if out_file is None:\n \n out_file=hdrfields[2].rstrip(b' \\t\\r\\n\\f').decode(\"ascii\")\n if os.path.exists(out_file):\n raise Error(f'Cannot overwrite existing file: {out_file}')\n if(out_file.startswith(os.sep)or\n f'..{os.sep}'in out_file or(\n os.altsep and\n (out_file.startswith(os.altsep)or\n f'..{os.altsep}'in out_file))\n ):\n raise Error(f'Refusing to write to {out_file} due to directory traversal')\n if mode is None:\n mode=int(hdrfields[1],8)\n \n \n \n if out_file =='-':\n out_file=sys.stdout.buffer\n elif isinstance(out_file,str):\n fp=open(out_file,'wb')\n os.chmod(out_file,mode)\n out_file=fp\n opened_files.append(out_file)\n \n \n \n s=in_file.readline()\n while s and s.strip(b' \\t\\r\\n\\f')!=b'end':\n try:\n data=binascii.a2b_uu(s)\n except binascii.Error as v:\n \n nbytes=(((s[0]-32)&63)*4+5)//3\n data=binascii.a2b_uu(s[:nbytes])\n if not quiet:\n sys.stderr.write(\"Warning: %s\\n\"%v)\n out_file.write(data)\n s=in_file.readline()\n if not s:\n raise Error('Truncated input file')\n finally:\n for f in opened_files:\n f.close()\n \ndef test():\n ''\n \n import optparse\n parser=optparse.OptionParser(usage='usage: %prog [-d] [-t] [input [output]]')\n parser.add_option('-d','--decode',dest='decode',help='Decode (instead of encode)?',default=False,action='store_true')\n parser.add_option('-t','--text',dest='text',help='data is text, encoded format unix-compatible text?',default=False,action='store_true')\n \n (options,args)=parser.parse_args()\n if len(args)>2:\n parser.error('incorrect number of arguments')\n sys.exit(1)\n \n \n input=sys.stdin.buffer\n output=sys.stdout.buffer\n if len(args)>0:\n input=args[0]\n if len(args)>1:\n output=args[1]\n \n if options.decode:\n if options.text:\n if isinstance(output,str):\n output=open(output,'wb')\n else:\n print(sys.argv[0],': cannot do -t to stdout')\n sys.exit(1)\n decode(input,output)\n else:\n if options.text:\n if isinstance(input,str):\n input=open(input,'rb')\n else:\n print(sys.argv[0],': cannot do -t from stdin')\n sys.exit(1)\n encode(input,output)\n \nif __name__ =='__main__':\n test()\n",["binascii","optparse","os","sys","warnings"]],uuid:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport os\nimport sys\n\nfrom enum import Enum,_simple_enum\n\n\n__author__='Ka-Ping Yee '\n\n\nif sys.platform in('win32','darwin','emscripten','wasi'):\n _AIX=_LINUX=False\nelse:\n import platform\n _platform_system=platform.system()\n _AIX=_platform_system =='AIX'\n _LINUX=_platform_system =='Linux'\n \n_MAC_DELIM=b':'\n_MAC_OMITS_LEADING_ZEROES=False\nif _AIX:\n _MAC_DELIM=b'.'\n _MAC_OMITS_LEADING_ZEROES=True\n \nRESERVED_NCS,RFC_4122,RESERVED_MICROSOFT,RESERVED_FUTURE=[\n'reserved for NCS compatibility','specified in RFC 4122',\n'reserved for Microsoft compatibility','reserved for future definition']\n\nint_=int\nbytes_=bytes\n\n\n@_simple_enum(Enum)\nclass SafeUUID:\n safe=0\n unsafe=-1\n unknown=None\n \n \nclass UUID:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __slots__=('int','is_safe','__weakref__')\n \n def __init__(self,hex=None,bytes=None,bytes_le=None,fields=None,\n int=None,version=None,\n *,is_safe=SafeUUID.unknown):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if[hex,bytes,bytes_le,fields,int].count(None)!=4:\n raise TypeError('one of the hex, bytes, bytes_le, fields, '\n 'or int arguments must be given')\n if hex is not None:\n hex=hex.replace('urn:','').replace('uuid:','')\n hex=hex.strip('{}').replace('-','')\n if len(hex)!=32:\n raise ValueError('badly formed hexadecimal UUID string')\n int=int_(hex,16)\n if bytes_le is not None:\n if len(bytes_le)!=16:\n raise ValueError('bytes_le is not a 16-char string')\n bytes=(bytes_le[4 -1::-1]+bytes_le[6 -1:4 -1:-1]+\n bytes_le[8 -1:6 -1:-1]+bytes_le[8:])\n if bytes is not None:\n if len(bytes)!=16:\n raise ValueError('bytes is not a 16-char string')\n assert isinstance(bytes,bytes_),repr(bytes)\n int=int_.from_bytes(bytes)\n if fields is not None:\n if len(fields)!=6:\n raise ValueError('fields is not a 6-tuple')\n (time_low,time_mid,time_hi_version,\n clock_seq_hi_variant,clock_seq_low,node)=fields\n if not 0 <=time_low <1 <<32:\n raise ValueError('field 1 out of range (need a 32-bit value)')\n if not 0 <=time_mid <1 <<16:\n raise ValueError('field 2 out of range (need a 16-bit value)')\n if not 0 <=time_hi_version <1 <<16:\n raise ValueError('field 3 out of range (need a 16-bit value)')\n if not 0 <=clock_seq_hi_variant <1 <<8:\n raise ValueError('field 4 out of range (need an 8-bit value)')\n if not 0 <=clock_seq_low <1 <<8:\n raise ValueError('field 5 out of range (need an 8-bit value)')\n if not 0 <=node <1 <<48:\n raise ValueError('field 6 out of range (need a 48-bit value)')\n clock_seq=(clock_seq_hi_variant <<8)|clock_seq_low\n int=((time_low <<96)|(time_mid <<80)|\n (time_hi_version <<64)|(clock_seq <<48)|node)\n if int is not None:\n if not 0 <=int <1 <<128:\n raise ValueError('int is out of range (need a 128-bit value)')\n if version is not None:\n if not 1 <=version <=5:\n raise ValueError('illegal version number')\n \n int &=~(0xc000 <<48)\n int |=0x8000 <<48\n \n int &=~(0xf000 <<64)\n int |=version <<76\n object.__setattr__(self,'int',int)\n object.__setattr__(self,'is_safe',is_safe)\n \n def __getstate__(self):\n d={'int':self.int}\n if self.is_safe !=SafeUUID.unknown:\n \n \n d['is_safe']=self.is_safe.value\n return d\n \n def __setstate__(self,state):\n object.__setattr__(self,'int',state['int'])\n \n object.__setattr__(self,'is_safe',\n SafeUUID(state['is_safe'])\n if 'is_safe'in state else SafeUUID.unknown)\n \n def __eq__(self,other):\n if isinstance(other,UUID):\n return self.int ==other.int\n return NotImplemented\n \n \n \n \n def __lt__(self,other):\n if isinstance(other,UUID):\n return self.int other.int\n return NotImplemented\n \n def __le__(self,other):\n if isinstance(other,UUID):\n return self.int <=other.int\n return NotImplemented\n \n def __ge__(self,other):\n if isinstance(other,UUID):\n return self.int >=other.int\n return NotImplemented\n \n def __hash__(self):\n return hash(self.int)\n \n def __int__(self):\n return self.int\n \n def __repr__(self):\n return '%s(%r)'%(self.__class__.__name__,str(self))\n \n def __setattr__(self,name,value):\n raise TypeError('UUID objects are immutable')\n \n def __str__(self):\n hex='%032x'%self.int\n return '%s-%s-%s-%s-%s'%(\n hex[:8],hex[8:12],hex[12:16],hex[16:20],hex[20:])\n \n @property\n def bytes(self):\n return self.int.to_bytes(16)\n \n @property\n def bytes_le(self):\n bytes=self.bytes\n return(bytes[4 -1::-1]+bytes[6 -1:4 -1:-1]+bytes[8 -1:6 -1:-1]+\n bytes[8:])\n \n @property\n def fields(self):\n return(self.time_low,self.time_mid,self.time_hi_version,\n self.clock_seq_hi_variant,self.clock_seq_low,self.node)\n \n @property\n def time_low(self):\n return self.int >>96\n \n @property\n def time_mid(self):\n return(self.int >>80)&0xffff\n \n @property\n def time_hi_version(self):\n return(self.int >>64)&0xffff\n \n @property\n def clock_seq_hi_variant(self):\n return(self.int >>56)&0xff\n \n @property\n def clock_seq_low(self):\n return(self.int >>48)&0xff\n \n @property\n def time(self):\n return(((self.time_hi_version&0x0fff)<<48)|\n (self.time_mid <<32)|self.time_low)\n \n @property\n def clock_seq(self):\n return(((self.clock_seq_hi_variant&0x3f)<<8)|\n self.clock_seq_low)\n \n @property\n def node(self):\n return self.int&0xffffffffffff\n \n @property\n def hex(self):\n return '%032x'%self.int\n \n @property\n def urn(self):\n return 'urn:uuid:'+str(self)\n \n @property\n def variant(self):\n if not self.int&(0x8000 <<48):\n return RESERVED_NCS\n elif not self.int&(0x4000 <<48):\n return RFC_4122\n elif not self.int&(0x2000 <<48):\n return RESERVED_MICROSOFT\n else:\n return RESERVED_FUTURE\n \n @property\n def version(self):\n \n if self.variant ==RFC_4122:\n return int((self.int >>76)&0xf)\n \n \ndef _get_command_stdout(command,*args):\n import io,os,shutil,subprocess\n \n try:\n path_dirs=os.environ.get('PATH',os.defpath).split(os.pathsep)\n path_dirs.extend(['/sbin','/usr/sbin'])\n executable=shutil.which(command,path=os.pathsep.join(path_dirs))\n if executable is None:\n return None\n \n \n \n env=dict(os.environ)\n env['LC_ALL']='C'\n \n if args !=('',):\n command=(executable,*args)\n else:\n command=(executable,)\n proc=subprocess.Popen(command,\n stdout=subprocess.PIPE,\n stderr=subprocess.DEVNULL,\n env=env)\n if not proc:\n return None\n stdout,stderr=proc.communicate()\n return io.BytesIO(stdout)\n except(OSError,subprocess.SubprocessError):\n return None\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \ndef _is_universal(mac):\n return not(mac&(1 <<41))\n \n \ndef _find_mac_near_keyword(command,args,keywords,get_word_index):\n ''\n\n\n\n\n\n\n \n stdout=_get_command_stdout(command,args)\n if stdout is None:\n return None\n \n first_local_mac=None\n for line in stdout:\n words=line.lower().rstrip().split()\n for i in range(len(words)):\n if words[i]in keywords:\n try:\n word=words[get_word_index(i)]\n mac=int(word.replace(_MAC_DELIM,b''),16)\n except(ValueError,IndexError):\n \n \n \n \n \n pass\n else:\n if _is_universal(mac):\n return mac\n first_local_mac=first_local_mac or mac\n return first_local_mac or None\n \n \ndef _parse_mac(word):\n\n\n\n\n\n\n parts=word.split(_MAC_DELIM)\n if len(parts)!=6:\n return\n if _MAC_OMITS_LEADING_ZEROES:\n \n \n \n \n if not all(1 <=len(part)<=2 for part in parts):\n return\n hexstr=b''.join(part.rjust(2,b'0')for part in parts)\n else:\n if not all(len(part)==2 for part in parts):\n return\n hexstr=b''.join(parts)\n try:\n return int(hexstr,16)\n except ValueError:\n return\n \n \ndef _find_mac_under_heading(command,args,heading):\n ''\n\n\n\n\n \n stdout=_get_command_stdout(command,args)\n if stdout is None:\n return None\n \n keywords=stdout.readline().rstrip().split()\n try:\n column_index=keywords.index(heading)\n except ValueError:\n return None\n \n first_local_mac=None\n for line in stdout:\n words=line.rstrip().split()\n try:\n word=words[column_index]\n except IndexError:\n continue\n \n mac=_parse_mac(word)\n if mac is None:\n continue\n if _is_universal(mac):\n return mac\n if first_local_mac is None:\n first_local_mac=mac\n \n return first_local_mac\n \n \n \n \ndef _ifconfig_getnode():\n ''\n \n keywords=(b'hwaddr',b'ether',b'address:',b'lladdr')\n for args in('','-a','-av'):\n mac=_find_mac_near_keyword('ifconfig',args,keywords,lambda i:i+1)\n if mac:\n return mac\n return None\n \ndef _ip_getnode():\n ''\n \n mac=_find_mac_near_keyword('ip','link',[b'link/ether'],lambda i:i+1)\n if mac:\n return mac\n return None\n \ndef _arp_getnode():\n ''\n import os,socket\n if not hasattr(socket,\"gethostbyname\"):\n return None\n try:\n ip_addr=socket.gethostbyname(socket.gethostname())\n except OSError:\n return None\n \n \n mac=_find_mac_near_keyword('arp','-an',[os.fsencode(ip_addr)],lambda i:-1)\n if mac:\n return mac\n \n \n mac=_find_mac_near_keyword('arp','-an',[os.fsencode(ip_addr)],lambda i:i+1)\n if mac:\n return mac\n \n \n mac=_find_mac_near_keyword('arp','-an',[os.fsencode('(%s)'%ip_addr)],\n lambda i:i+2)\n \n if mac:\n return mac\n return None\n \ndef _lanscan_getnode():\n ''\n \n return _find_mac_near_keyword('lanscan','-ai',[b'lan0'],lambda i:0)\n \ndef _netstat_getnode():\n ''\n \n return _find_mac_under_heading('netstat','-ian',b'Address')\n \ndef _ipconfig_getnode():\n ''\n \n return _windll_getnode()\n \ndef _netbios_getnode():\n ''\n \n return _windll_getnode()\n \n \n \ntry:\n import _uuid\n _generate_time_safe=getattr(_uuid,\"generate_time_safe\",None)\n _UuidCreate=getattr(_uuid,\"UuidCreate\",None)\n _has_uuid_generate_time_safe=_uuid.has_uuid_generate_time_safe\nexcept ImportError:\n _uuid=None\n _generate_time_safe=None\n _UuidCreate=None\n _has_uuid_generate_time_safe=None\n \n \ndef _load_system_functions():\n ''\n \n \ndef _unix_getnode():\n ''\n if _generate_time_safe:\n uuid_time,_=_generate_time_safe()\n return UUID(bytes=uuid_time).node\n \ndef _windll_getnode():\n ''\n if _UuidCreate:\n uuid_bytes=_UuidCreate()\n return UUID(bytes_le=uuid_bytes).node\n \ndef _random_getnode():\n ''\n \n \n \n \n \n \n \n \n \n \n import random\n return random.getrandbits(48)|(1 <<40)\n \n \n \n \n \n \n \n \nif _LINUX:\n _OS_GETTERS=[_ip_getnode,_ifconfig_getnode]\nelif sys.platform =='darwin':\n _OS_GETTERS=[_ifconfig_getnode,_arp_getnode,_netstat_getnode]\nelif sys.platform =='win32':\n\n _OS_GETTERS=[]\nelif _AIX:\n _OS_GETTERS=[_netstat_getnode]\nelse:\n _OS_GETTERS=[_ifconfig_getnode,_ip_getnode,_arp_getnode,\n _netstat_getnode,_lanscan_getnode]\nif os.name =='posix':\n _GETTERS=[_unix_getnode]+_OS_GETTERS\nelif os.name =='nt':\n _GETTERS=[_windll_getnode]+_OS_GETTERS\nelse:\n _GETTERS=_OS_GETTERS\n \n_node=None\n\ndef getnode():\n ''\n\n\n\n\n\n \n global _node\n if _node is not None:\n return _node\n \n for getter in _GETTERS+[_random_getnode]:\n try:\n _node=getter()\n except:\n continue\n if(_node is not None)and(0 <=_node <(1 <<48)):\n return _node\n assert False,'_random_getnode() returned invalid value: {}'.format(_node)\n \n \n_last_timestamp=None\n\ndef uuid1(node=None,clock_seq=None):\n ''\n\n\n \n \n \n \n if _generate_time_safe is not None and node is clock_seq is None:\n uuid_time,safely_generated=_generate_time_safe()\n try:\n is_safe=SafeUUID(safely_generated)\n except ValueError:\n is_safe=SafeUUID.unknown\n return UUID(bytes=uuid_time,is_safe=is_safe)\n \n global _last_timestamp\n import time\n nanoseconds=time.time_ns()\n \n \n timestamp=nanoseconds //100+0x01b21dd213814000\n if _last_timestamp is not None and timestamp <=_last_timestamp:\n timestamp=_last_timestamp+1\n _last_timestamp=timestamp\n if clock_seq is None:\n import random\n clock_seq=random.getrandbits(14)\n time_low=timestamp&0xffffffff\n time_mid=(timestamp >>32)&0xffff\n time_hi_version=(timestamp >>48)&0x0fff\n clock_seq_low=clock_seq&0xff\n clock_seq_hi_variant=(clock_seq >>8)&0x3f\n if node is None:\n node=getnode()\n return UUID(fields=(time_low,time_mid,time_hi_version,\n clock_seq_hi_variant,clock_seq_low,node),version=1)\n \ndef uuid3(namespace,name):\n ''\n if isinstance(name,str):\n name=bytes(name,\"utf-8\")\n from hashlib import md5\n digest=md5(\n namespace.bytes+name,\n usedforsecurity=False\n ).digest()\n return UUID(bytes=digest[:16],version=3)\n \ndef uuid4():\n ''\n return UUID(bytes=os.urandom(16),version=4)\n \ndef uuid5(namespace,name):\n ''\n if isinstance(name,str):\n name=bytes(name,\"utf-8\")\n from hashlib import sha1\n hash=sha1(namespace.bytes+name).digest()\n return UUID(bytes=hash[:16],version=5)\n \n \ndef main():\n ''\n uuid_funcs={\n \"uuid1\":uuid1,\n \"uuid3\":uuid3,\n \"uuid4\":uuid4,\n \"uuid5\":uuid5\n }\n uuid_namespace_funcs=(\"uuid3\",\"uuid5\")\n namespaces={\n \"@dns\":NAMESPACE_DNS,\n \"@url\":NAMESPACE_URL,\n \"@oid\":NAMESPACE_OID,\n \"@x500\":NAMESPACE_X500\n }\n \n import argparse\n parser=argparse.ArgumentParser(\n description=\"Generates a uuid using the selected uuid function.\")\n parser.add_argument(\"-u\",\"--uuid\",choices=uuid_funcs.keys(),default=\"uuid4\",\n help=\"The function to use to generate the uuid. \"\n \"By default uuid4 function is used.\")\n parser.add_argument(\"-n\",\"--namespace\",\n help=\"The namespace is a UUID, or '@ns' where 'ns' is a \"\n \"well-known predefined UUID addressed by namespace name. \"\n \"Such as @dns, @url, @oid, and @x500. \"\n \"Only required for uuid3/uuid5 functions.\")\n parser.add_argument(\"-N\",\"--name\",\n help=\"The name used as part of generating the uuid. \"\n \"Only required for uuid3/uuid5 functions.\")\n \n args=parser.parse_args()\n uuid_func=uuid_funcs[args.uuid]\n namespace=args.namespace\n name=args.name\n \n if args.uuid in uuid_namespace_funcs:\n if not namespace or not name:\n parser.error(\n \"Incorrect number of arguments. \"\n f\"{args.uuid} requires a namespace and a name. \"\n \"Run 'python -m uuid -h' for more information.\"\n )\n namespace=namespaces[namespace]if namespace in namespaces else UUID(namespace)\n print(uuid_func(namespace,name))\n else:\n print(uuid_func())\n \n \n \n \nNAMESPACE_DNS=UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8')\nNAMESPACE_URL=UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8')\nNAMESPACE_OID=UUID('6ba7b812-9dad-11d1-80b4-00c04fd430c8')\nNAMESPACE_X500=UUID('6ba7b814-9dad-11d1-80b4-00c04fd430c8')\n\nif __name__ ==\"__main__\":\n main()\n",["_uuid","argparse","enum","hashlib","io","os","platform","random","shutil","socket","subprocess","sys","time"]],VFS_import:[".py","import os\nimport sys\nfrom browser import doc\n\n\n\n\n\n\nVFS=dict(JSObject(__BRYTHON__.py_VFS))\nclass VFSModuleFinder:\n def __init__(self,path_entry):\n print(\"in VFSModuleFinder\")\n if path_entry.startswith('/libs')or path_entry.startswith('/Lib'):\n self.path_entry=path_entry\n else:\n raise ImportError()\n \n def __str__(self):\n return '<%s for \"%s\">'%(self.__class__.__name__,self.path_entry)\n \n def find_module(self,fullname,path=None):\n path=path or self.path_entry\n \n for _ext in['js','pyj','py']:\n _filepath=os.path.join(self.path_entry,'%s.%s'%(fullname,_ext))\n if _filepath in VFS:\n print(\"module found at %s:%s\"%(_filepath,fullname))\n return VFSModuleLoader(_filepath,fullname)\n \n print('module %s not found'%fullname)\n raise ImportError()\n return None\n \nclass VFSModuleLoader:\n ''\n \n def __init__(self,filepath,name):\n self._filepath=filepath\n self._name=name\n \n def get_source(self):\n if self._filepath in VFS:\n return JSObject(readFromVFS(self._filepath))\n \n raise ImportError('could not find source for %s'%fullname)\n \n def is_package(self):\n return '.'in self._name\n \n def load_module(self):\n if self._name in sys.modules:\n \n mod=sys.modules[self._name]\n return mod\n \n _src=self.get_source()\n if self._filepath.endswith('.js'):\n mod=JSObject(import_js_module(_src,self._filepath,self._name))\n elif self._filepath.endswith('.py'):\n mod=JSObject(import_py_module(_src,self._filepath,self._name))\n elif self._filepath.endswith('.pyj'):\n mod=JSObject(import_pyj_module(_src,self._filepath,self._name))\n else:\n raise ImportError('Invalid Module: %s'%self._filepath)\n \n \n mod.__file__=self._filepath\n mod.__name__=self._name\n mod.__path__=os.path.abspath(self._filepath)\n mod.__loader__=self\n mod.__package__='.'.join(self._name.split('.')[:-1])\n \n if self.is_package():\n print('adding path for package')\n \n \n mod.__path__=[self.path_entry]\n else:\n print('imported as regular module')\n \n print('creating a new module object for \"%s\"'%self._name)\n sys.modules.setdefault(self._name,mod)\n JSObject(__BRYTHON__.imported)[self._name]=mod\n \n return mod\n \nJSObject(__BRYTHON__.path_hooks.insert(0,VFSModuleFinder))\n",["browser","os","sys"]],warnings:[".py",'\'\'\n\nimport sys\n\n\n__all__=["warn","warn_explicit","showwarning",\n"formatwarning","filterwarnings","simplefilter",\n"resetwarnings","catch_warnings"]\n\ndef showwarning(message,category,filename,lineno,file=None,line=None):\n \'\'\n msg=WarningMessage(message,category,filename,lineno,file,line)\n _showwarnmsg_impl(msg)\n \ndef formatwarning(message,category,filename,lineno,line=None):\n \'\'\n msg=WarningMessage(message,category,filename,lineno,None,line)\n return _formatwarnmsg_impl(msg)\n \ndef _showwarnmsg_impl(msg):\n file=msg.file\n if file is None:\n file=sys.stderr\n if file is None:\n \n \n return\n text=_formatwarnmsg(msg)\n try:\n file.write(text)\n except OSError:\n \n pass\n \ndef _formatwarnmsg_impl(msg):\n category=msg.category.__name__\n s=f"{msg.filename}:{msg.lineno}: {category}: {msg.message}\\n"\n \n if msg.line is None:\n try:\n import linecache\n line=linecache.getline(msg.filename,msg.lineno)\n except Exception:\n \n \n line=None\n linecache=None\n else:\n line=msg.line\n if line:\n line=line.strip()\n s +=" %s\\n"%line\n \n if msg.source is not None:\n try:\n import tracemalloc\n \n \n except Exception:\n \n tracing=True\n tb=None\n else:\n tracing=tracemalloc.is_tracing()\n try:\n tb=tracemalloc.get_object_traceback(msg.source)\n except Exception:\n \n \n tb=None\n \n if tb is not None:\n s +=\'Object allocated at (most recent call last):\\n\'\n for frame in tb:\n s +=(\' File "%s", lineno %s\\n\'\n %(frame.filename,frame.lineno))\n \n try:\n if linecache is not None:\n line=linecache.getline(frame.filename,frame.lineno)\n else:\n line=None\n except Exception:\n line=None\n if line:\n line=line.strip()\n s +=\' %s\\n\'%line\n elif not tracing:\n s +=(f\'{category}: Enable tracemalloc to get the object \'\n f\'allocation traceback\\n\')\n return s\n \n \n_showwarning_orig=showwarning\n\ndef _showwarnmsg(msg):\n \'\'\n try:\n sw=showwarning\n except NameError:\n pass\n else:\n if sw is not _showwarning_orig:\n \n if not callable(sw):\n raise TypeError("warnings.showwarning() must be set to a "\n "function or method")\n \n sw(msg.message,msg.category,msg.filename,msg.lineno,\n msg.file,msg.line)\n return\n _showwarnmsg_impl(msg)\n \n \n_formatwarning_orig=formatwarning\n\ndef _formatwarnmsg(msg):\n \'\'\n try:\n fw=formatwarning\n except NameError:\n pass\n else:\n if fw is not _formatwarning_orig:\n \n return fw(msg.message,msg.category,\n msg.filename,msg.lineno,msg.line)\n return _formatwarnmsg_impl(msg)\n \ndef filterwarnings(action,message="",category=Warning,module="",lineno=0,\nappend=False):\n \'\'\n\n\n\n\n\n\n\n\n \n assert action in("error","ignore","always","default","module",\n "once"),"invalid action: %r"%(action,)\n assert isinstance(message,str),"message must be a string"\n assert isinstance(category,type),"category must be a class"\n assert issubclass(category,Warning),"category must be a Warning subclass"\n assert isinstance(module,str),"module must be a string"\n assert isinstance(lineno,int)and lineno >=0,\\\n "lineno must be an int >= 0"\n \n if message or module:\n import re\n \n if message:\n message=re.compile(message,re.I)\n else:\n message=None\n if module:\n module=re.compile(module)\n else:\n module=None\n \n _add_filter(action,message,category,module,lineno,append=append)\n \ndef simplefilter(action,category=Warning,lineno=0,append=False):\n \'\'\n\n\n\n\n\n\n\n \n assert action in("error","ignore","always","default","module",\n "once"),"invalid action: %r"%(action,)\n assert isinstance(lineno,int)and lineno >=0,\\\n "lineno must be an int >= 0"\n _add_filter(action,None,category,None,lineno,append=append)\n \ndef _add_filter(*item,append):\n\n\n if not append:\n try:\n filters.remove(item)\n except ValueError:\n pass\n filters.insert(0,item)\n else:\n if item not in filters:\n filters.append(item)\n _filters_mutated()\n \ndef resetwarnings():\n \'\'\n filters[:]=[]\n _filters_mutated()\n \nclass _OptionError(Exception):\n \'\'\n pass\n \n \ndef _processoptions(args):\n for arg in args:\n try:\n _setoption(arg)\n except _OptionError as msg:\n print("Invalid -W option ignored:",msg,file=sys.stderr)\n \n \ndef _setoption(arg):\n parts=arg.split(\':\')\n if len(parts)>5:\n raise _OptionError("too many fields (max 5): %r"%(arg,))\n while len(parts)<5:\n parts.append(\'\')\n action,message,category,module,lineno=[s.strip()\n for s in parts]\n action=_getaction(action)\n category=_getcategory(category)\n if message or module:\n import re\n if message:\n message=re.escape(message)\n if module:\n module=re.escape(module)+r\'\\Z\'\n if lineno:\n try:\n lineno=int(lineno)\n if lineno <0:\n raise ValueError\n except(ValueError,OverflowError):\n raise _OptionError("invalid lineno %r"%(lineno,))from None\n else:\n lineno=0\n filterwarnings(action,message,category,module,lineno)\n \n \ndef _getaction(action):\n if not action:\n return "default"\n if action =="all":return "always"\n for a in(\'default\',\'always\',\'ignore\',\'module\',\'once\',\'error\'):\n if a.startswith(action):\n return a\n raise _OptionError("invalid action: %r"%(action,))\n \n \ndef _getcategory(category):\n if not category:\n return Warning\n if \'.\'not in category:\n import builtins as m\n klass=category\n else:\n module,_,klass=category.rpartition(\'.\')\n try:\n m=__import__(module,None,None,[klass])\n except ImportError:\n raise _OptionError("invalid module name: %r"%(module,))from None\n try:\n cat=getattr(m,klass)\n except AttributeError:\n raise _OptionError("unknown warning category: %r"%(category,))from None\n if not issubclass(cat,Warning):\n raise _OptionError("invalid warning category: %r"%(category,))\n return cat\n \n \ndef _is_internal_filename(filename):\n return \'importlib\'in filename and \'_bootstrap\'in filename\n \n \ndef _is_filename_to_skip(filename,skip_file_prefixes):\n return any(filename.startswith(prefix)for prefix in skip_file_prefixes)\n \n \ndef _is_internal_frame(frame):\n \'\'\n return _is_internal_filename(frame.f_code.co_filename)\n \n \ndef _next_external_frame(frame,skip_file_prefixes):\n \'\'\n frame=frame.f_back\n while frame is not None and(\n _is_internal_filename(filename :=frame.f_code.co_filename)or\n _is_filename_to_skip(filename,skip_file_prefixes)):\n frame=frame.f_back\n return frame\n \n \n \ndef warn(message,category=None,stacklevel=1,source=None,\n*,skip_file_prefixes=()):\n \'\'\n \n if isinstance(message,Warning):\n category=message.__class__\n \n if category is None:\n category=UserWarning\n if not(isinstance(category,type)and issubclass(category,Warning)):\n raise TypeError("category must be a Warning subclass, "\n "not \'{:s}\'".format(type(category).__name__))\n if not isinstance(skip_file_prefixes,tuple):\n \n raise TypeError(\'skip_file_prefixes must be a tuple of strs.\')\n if skip_file_prefixes:\n stacklevel=max(2,stacklevel)\n \n try:\n if stacklevel <=1 or _is_internal_frame(sys._getframe(1)):\n \n \n frame=sys._getframe(stacklevel)\n else:\n frame=sys._getframe(1)\n \n for x in range(stacklevel -1):\n frame=_next_external_frame(frame,skip_file_prefixes)\n if frame is None:\n raise ValueError\n except ValueError:\n globals=sys.__dict__\n filename="sys"\n lineno=1\n else:\n globals=frame.f_globals\n filename=frame.f_code.co_filename\n lineno=frame.f_lineno\n if \'__name__\'in globals:\n module=globals[\'__name__\']\n else:\n module=""\n registry=globals.setdefault("__warningregistry__",{})\n warn_explicit(message,category,filename,lineno,module,registry,\n globals,source)\n \ndef warn_explicit(message,category,filename,lineno,\nmodule=None,registry=None,module_globals=None,\nsource=None):\n lineno=int(lineno)\n if module is None:\n module=filename or ""\n if module[-3:].lower()==".py":\n module=module[:-3]\n if registry is None:\n registry={}\n if registry.get(\'version\',0)!=_filters_version:\n registry.clear()\n registry[\'version\']=_filters_version\n if isinstance(message,Warning):\n text=str(message)\n category=message.__class__\n else:\n text=message\n message=category(message)\n key=(text,category,lineno)\n \n if registry.get(key):\n return\n \n for item in filters:\n action,msg,cat,mod,ln=item\n if((msg is None or msg.match(text))and\n issubclass(category,cat)and\n (mod is None or mod.match(module))and\n (ln ==0 or lineno ==ln)):\n break\n else:\n action=defaultaction\n \n if action =="ignore":\n return\n \n \n \n import linecache\n linecache.getlines(filename,module_globals)\n \n if action =="error":\n raise message\n \n if action =="once":\n registry[key]=1\n oncekey=(text,category)\n if onceregistry.get(oncekey):\n return\n onceregistry[oncekey]=1\n elif action =="always":\n pass\n elif action =="module":\n registry[key]=1\n altkey=(text,category,0)\n if registry.get(altkey):\n return\n registry[altkey]=1\n elif action =="default":\n registry[key]=1\n else:\n \n raise RuntimeError(\n "Unrecognized action (%r) in warnings.filters:\\n %s"%\n (action,item))\n \n msg=WarningMessage(message,category,filename,lineno,source)\n _showwarnmsg(msg)\n \n \nclass WarningMessage(object):\n\n _WARNING_DETAILS=("message","category","filename","lineno","file",\n "line","source")\n \n def __init__(self,message,category,filename,lineno,file=None,\n line=None,source=None):\n self.message=message\n self.category=category\n self.filename=filename\n self.lineno=lineno\n self.file=file\n self.line=line\n self.source=source\n self._category_name=category.__name__ if category else None\n \n def __str__(self):\n return("{message : %r, category : %r, filename : %r, lineno : %s, "\n "line : %r}"%(self.message,self._category_name,\n self.filename,self.lineno,self.line))\n \n \nclass catch_warnings(object):\n\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,*,record=False,module=None,\n action=None,category=Warning,lineno=0,append=False):\n \'\'\n\n\n\n\n\n \n self._record=record\n self._module=sys.modules[\'warnings\']if module is None else module\n self._entered=False\n if action is None:\n self._filter=None\n else:\n self._filter=(action,category,lineno,append)\n \n def __repr__(self):\n args=[]\n if self._record:\n args.append("record=True")\n if self._module is not sys.modules[\'warnings\']:\n args.append("module=%r"%self._module)\n name=type(self).__name__\n return "%s(%s)"%(name,", ".join(args))\n \n def __enter__(self):\n if self._entered:\n raise RuntimeError("Cannot enter %r twice"%self)\n self._entered=True\n self._filters=self._module.filters\n self._module.filters=self._filters[:]\n self._module._filters_mutated()\n self._showwarning=self._module.showwarning\n self._showwarnmsg_impl=self._module._showwarnmsg_impl\n if self._filter is not None:\n simplefilter(*self._filter)\n if self._record:\n log=[]\n self._module._showwarnmsg_impl=log.append\n \n \n self._module.showwarning=self._module._showwarning_orig\n return log\n else:\n return None\n \n def __exit__(self,*exc_info):\n if not self._entered:\n raise RuntimeError("Cannot exit %r without entering first"%self)\n self._module.filters=self._filters\n self._module._filters_mutated()\n self._module.showwarning=self._showwarning\n self._module._showwarnmsg_impl=self._showwarnmsg_impl\n \n \n_DEPRECATED_MSG="{name!r} is deprecated and slated for removal in Python {remove}"\n\ndef _deprecated(name,message=_DEPRECATED_MSG,*,remove,_version=sys.version_info):\n \'\'\n\n\n\n\n\n\n\n \n remove_formatted=f"{remove[0]}.{remove[1]}"\n if(_version[:2]>remove)or(_version[:2]==remove and _version[3]!="alpha"):\n msg=f"{name !r} was slated for removal after Python {remove_formatted} alpha"\n raise RuntimeError(msg)\n else:\n msg=message.format(name=name,remove=remove_formatted)\n warn(msg,DeprecationWarning,stacklevel=3)\n \n \n \ndef _warn_unawaited_coroutine(coro):\n msg_lines=[\n f"coroutine \'{coro.__qualname__}\' was never awaited\\n"\n ]\n if coro.cr_origin is not None:\n import linecache,traceback\n def extract():\n for filename,lineno,funcname in reversed(coro.cr_origin):\n line=linecache.getline(filename,lineno)\n yield(filename,lineno,funcname,line)\n msg_lines.append("Coroutine created at (most recent call last)\\n")\n msg_lines +=traceback.format_list(list(extract()))\n msg="".join(msg_lines).rstrip("\\n")\n \n \n \n \n \n \n warn(msg,category=RuntimeWarning,stacklevel=2,source=coro)\n \n \n \n \n \n \n \n \n \n \ntry:\n from _warnings import(filters,_defaultaction,_onceregistry,\n warn,warn_explicit,_filters_mutated)\n defaultaction=_defaultaction\n onceregistry=_onceregistry\n _warnings_defaults=True\nexcept ImportError:\n filters=[]\n defaultaction="default"\n onceregistry={}\n \n _filters_version=1\n \n def _filters_mutated():\n global _filters_version\n _filters_version +=1\n \n _warnings_defaults=False\n \n \n \n_processoptions(sys.warnoptions)\nif not _warnings_defaults:\n\n if not hasattr(sys,\'gettotalrefcount\'):\n filterwarnings("default",category=DeprecationWarning,\n module="__main__",append=1)\n simplefilter("ignore",category=DeprecationWarning,append=1)\n simplefilter("ignore",category=PendingDeprecationWarning,append=1)\n simplefilter("ignore",category=ImportWarning,append=1)\n simplefilter("ignore",category=ResourceWarning,append=1)\n \ndel _warnings_defaults\n',["_warnings","builtins","linecache","re","sys","traceback","tracemalloc"]],weakref:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\nfrom _weakref import(\ngetweakrefcount,\ngetweakrefs,\nref,\nproxy,\nCallableProxyType,\nProxyType,\nReferenceType,\n_remove_dead_weakref)\n\nfrom _weakrefset import WeakSet,_IterationGuard\n\nimport _collections_abc\nimport sys\nimport itertools\n\nProxyTypes=(ProxyType,CallableProxyType)\n\n__all__=["ref","proxy","getweakrefcount","getweakrefs",\n"WeakKeyDictionary","ReferenceType","ProxyType",\n"CallableProxyType","ProxyTypes","WeakValueDictionary",\n"WeakSet","WeakMethod","finalize"]\n\n\n_collections_abc.MutableSet.register(WeakSet)\n\nclass WeakMethod(ref):\n \'\'\n\n\n \n \n __slots__="_func_ref","_meth_type","_alive","__weakref__"\n \n def __new__(cls,meth,callback=None):\n try:\n obj=meth.__self__\n func=meth.__func__\n except AttributeError:\n raise TypeError("argument should be a bound method, not {}"\n .format(type(meth)))from None\n def _cb(arg):\n \n \n self=self_wr()\n if self._alive:\n self._alive=False\n if callback is not None:\n callback(self)\n self=ref.__new__(cls,obj,_cb)\n self._func_ref=ref(func,_cb)\n self._meth_type=type(meth)\n self._alive=True\n self_wr=ref(self)\n return self\n \n def __call__(self):\n obj=super().__call__()\n func=self._func_ref()\n if obj is None or func is None:\n return None\n return self._meth_type(func,obj)\n \n def __eq__(self,other):\n if isinstance(other,WeakMethod):\n if not self._alive or not other._alive:\n return self is other\n return ref.__eq__(self,other)and self._func_ref ==other._func_ref\n return NotImplemented\n \n def __ne__(self,other):\n if isinstance(other,WeakMethod):\n if not self._alive or not other._alive:\n return self is not other\n return ref.__ne__(self,other)or self._func_ref !=other._func_ref\n return NotImplemented\n \n __hash__=ref.__hash__\n \n \nclass WeakValueDictionary(_collections_abc.MutableMapping):\n \'\'\n\n\n\n \n \n \n \n \n \n \n def __init__(self,other=(),/,**kw):\n def remove(wr,selfref=ref(self),_atomic_removal=_remove_dead_weakref):\n self=selfref()\n if self is not None:\n if self._iterating:\n self._pending_removals.append(wr.key)\n else:\n \n \n _atomic_removal(self.data,wr.key)\n self._remove=remove\n \n self._pending_removals=[]\n self._iterating=set()\n self.data={}\n self.update(other,**kw)\n \n def _commit_removals(self,_atomic_removal=_remove_dead_weakref):\n pop=self._pending_removals.pop\n d=self.data\n \n \n while True:\n try:\n key=pop()\n except IndexError:\n return\n _atomic_removal(d,key)\n \n def __getitem__(self,key):\n if self._pending_removals:\n self._commit_removals()\n o=self.data[key]()\n if o is None:\n raise KeyError(key)\n else:\n return o\n \n def __delitem__(self,key):\n if self._pending_removals:\n self._commit_removals()\n del self.data[key]\n \n def __len__(self):\n if self._pending_removals:\n self._commit_removals()\n return len(self.data)\n \n def __contains__(self,key):\n if self._pending_removals:\n self._commit_removals()\n try:\n o=self.data[key]()\n except KeyError:\n return False\n return o is not None\n \n def __repr__(self):\n return "<%s at %#x>"%(self.__class__.__name__,id(self))\n \n def __setitem__(self,key,value):\n if self._pending_removals:\n self._commit_removals()\n self.data[key]=KeyedRef(value,self._remove,key)\n \n def copy(self):\n if self._pending_removals:\n self._commit_removals()\n new=WeakValueDictionary()\n with _IterationGuard(self):\n for key,wr in self.data.items():\n o=wr()\n if o is not None:\n new[key]=o\n return new\n \n __copy__=copy\n \n def __deepcopy__(self,memo):\n from copy import deepcopy\n if self._pending_removals:\n self._commit_removals()\n new=self.__class__()\n with _IterationGuard(self):\n for key,wr in self.data.items():\n o=wr()\n if o is not None:\n new[deepcopy(key,memo)]=o\n return new\n \n def get(self,key,default=None):\n if self._pending_removals:\n self._commit_removals()\n try:\n wr=self.data[key]\n except KeyError:\n return default\n else:\n o=wr()\n if o is None:\n \n return default\n else:\n return o\n \n def items(self):\n if self._pending_removals:\n self._commit_removals()\n with _IterationGuard(self):\n for k,wr in self.data.items():\n v=wr()\n if v is not None:\n yield k,v\n \n def keys(self):\n if self._pending_removals:\n self._commit_removals()\n with _IterationGuard(self):\n for k,wr in self.data.items():\n if wr()is not None:\n yield k\n \n __iter__=keys\n \n def itervaluerefs(self):\n \'\'\n\n\n\n\n\n\n\n \n if self._pending_removals:\n self._commit_removals()\n with _IterationGuard(self):\n yield from self.data.values()\n \n def values(self):\n if self._pending_removals:\n self._commit_removals()\n with _IterationGuard(self):\n for wr in self.data.values():\n obj=wr()\n if obj is not None:\n yield obj\n \n def popitem(self):\n if self._pending_removals:\n self._commit_removals()\n while True:\n key,wr=self.data.popitem()\n o=wr()\n if o is not None:\n return key,o\n \n def pop(self,key,*args):\n if self._pending_removals:\n self._commit_removals()\n try:\n o=self.data.pop(key)()\n except KeyError:\n o=None\n if o is None:\n if args:\n return args[0]\n else:\n raise KeyError(key)\n else:\n return o\n \n def setdefault(self,key,default=None):\n try:\n o=self.data[key]()\n except KeyError:\n o=None\n if o is None:\n if self._pending_removals:\n self._commit_removals()\n self.data[key]=KeyedRef(default,self._remove,key)\n return default\n else:\n return o\n \n def update(self,other=None,/,**kwargs):\n if self._pending_removals:\n self._commit_removals()\n d=self.data\n if other is not None:\n if not hasattr(other,"items"):\n other=dict(other)\n for key,o in other.items():\n d[key]=KeyedRef(o,self._remove,key)\n for key,o in kwargs.items():\n d[key]=KeyedRef(o,self._remove,key)\n \n def valuerefs(self):\n \'\'\n\n\n\n\n\n\n\n \n if self._pending_removals:\n self._commit_removals()\n return list(self.data.values())\n \n def __ior__(self,other):\n self.update(other)\n return self\n \n def __or__(self,other):\n if isinstance(other,_collections_abc.Mapping):\n c=self.copy()\n c.update(other)\n return c\n return NotImplemented\n \n def __ror__(self,other):\n if isinstance(other,_collections_abc.Mapping):\n c=self.__class__()\n c.update(other)\n c.update(self)\n return c\n return NotImplemented\n \n \nclass KeyedRef(ref):\n \'\'\n\n\n\n\n\n\n \n \n __slots__="key",\n \n def __new__(type,ob,callback,key):\n self=ref.__new__(type,ob,callback)\n self.key=key\n return self\n \n def __init__(self,ob,callback,key):\n super().__init__(ob,callback)\n \n \nclass WeakKeyDictionary(_collections_abc.MutableMapping):\n \'\'\n\n\n\n\n\n\n\n \n \n def __init__(self,dict=None):\n self.data={}\n def remove(k,selfref=ref(self)):\n self=selfref()\n if self is not None:\n if self._iterating:\n self._pending_removals.append(k)\n else:\n try:\n del self.data[k]\n except KeyError:\n pass\n self._remove=remove\n \n self._pending_removals=[]\n self._iterating=set()\n self._dirty_len=False\n if dict is not None:\n self.update(dict)\n \n def _commit_removals(self):\n \n \n \n \n pop=self._pending_removals.pop\n d=self.data\n while True:\n try:\n key=pop()\n except IndexError:\n return\n \n try:\n del d[key]\n except KeyError:\n pass\n \n def _scrub_removals(self):\n d=self.data\n self._pending_removals=[k for k in self._pending_removals if k in d]\n self._dirty_len=False\n \n def __delitem__(self,key):\n self._dirty_len=True\n del self.data[ref(key)]\n \n def __getitem__(self,key):\n return self.data[ref(key)]\n \n def __len__(self):\n if self._dirty_len and self._pending_removals:\n \n \n self._scrub_removals()\n return len(self.data)-len(self._pending_removals)\n \n def __repr__(self):\n return "<%s at %#x>"%(self.__class__.__name__,id(self))\n \n def __setitem__(self,key,value):\n self.data[ref(key,self._remove)]=value\n \n def copy(self):\n new=WeakKeyDictionary()\n with _IterationGuard(self):\n for key,value in self.data.items():\n o=key()\n if o is not None:\n new[o]=value\n return new\n \n __copy__=copy\n \n def __deepcopy__(self,memo):\n from copy import deepcopy\n new=self.__class__()\n with _IterationGuard(self):\n for key,value in self.data.items():\n o=key()\n if o is not None:\n new[o]=deepcopy(value,memo)\n return new\n \n def get(self,key,default=None):\n return self.data.get(ref(key),default)\n \n def __contains__(self,key):\n try:\n wr=ref(key)\n except TypeError:\n return False\n return wr in self.data\n \n def items(self):\n with _IterationGuard(self):\n for wr,value in self.data.items():\n key=wr()\n if key is not None:\n yield key,value\n \n def keys(self):\n with _IterationGuard(self):\n for wr in self.data:\n obj=wr()\n if obj is not None:\n yield obj\n \n __iter__=keys\n \n def values(self):\n with _IterationGuard(self):\n for wr,value in self.data.items():\n if wr()is not None:\n yield value\n \n def keyrefs(self):\n \'\'\n\n\n\n\n\n\n\n \n return list(self.data)\n \n def popitem(self):\n self._dirty_len=True\n while True:\n key,value=self.data.popitem()\n o=key()\n if o is not None:\n return o,value\n \n def pop(self,key,*args):\n self._dirty_len=True\n return self.data.pop(ref(key),*args)\n \n def setdefault(self,key,default=None):\n return self.data.setdefault(ref(key,self._remove),default)\n \n def update(self,dict=None,/,**kwargs):\n d=self.data\n if dict is not None:\n if not hasattr(dict,"items"):\n dict=type({})(dict)\n for key,value in dict.items():\n d[ref(key,self._remove)]=value\n if len(kwargs):\n self.update(kwargs)\n \n def __ior__(self,other):\n self.update(other)\n return self\n \n def __or__(self,other):\n if isinstance(other,_collections_abc.Mapping):\n c=self.copy()\n c.update(other)\n return c\n return NotImplemented\n \n def __ror__(self,other):\n if isinstance(other,_collections_abc.Mapping):\n c=self.__class__()\n c.update(other)\n c.update(self)\n return c\n return NotImplemented\n \n \nclass finalize:\n \'\'\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n __slots__=()\n _registry={}\n _shutdown=False\n _index_iter=itertools.count()\n _dirty=False\n _registered_with_atexit=False\n \n class _Info:\n __slots__=("weakref","func","args","kwargs","atexit","index")\n \n def __init__(self,obj,func,/,*args,**kwargs):\n if not self._registered_with_atexit:\n \n \n import atexit\n atexit.register(self._exitfunc)\n finalize._registered_with_atexit=True\n info=self._Info()\n info.weakref=ref(obj,self)\n info.func=func\n info.args=args\n info.kwargs=kwargs or None\n info.atexit=True\n info.index=next(self._index_iter)\n self._registry[self]=info\n finalize._dirty=True\n \n def __call__(self,_=None):\n \'\'\n \n info=self._registry.pop(self,None)\n if info and not self._shutdown:\n return info.func(*info.args,**(info.kwargs or{}))\n \n def detach(self):\n \'\'\n \n info=self._registry.get(self)\n obj=info and info.weakref()\n if obj is not None and self._registry.pop(self,None):\n return(obj,info.func,info.args,info.kwargs or{})\n \n def peek(self):\n \'\'\n \n info=self._registry.get(self)\n obj=info and info.weakref()\n if obj is not None:\n return(obj,info.func,info.args,info.kwargs or{})\n \n @property\n def alive(self):\n \'\'\n return self in self._registry\n \n @property\n def atexit(self):\n \'\'\n info=self._registry.get(self)\n return bool(info)and info.atexit\n \n @atexit.setter\n def atexit(self,value):\n info=self._registry.get(self)\n if info:\n info.atexit=bool(value)\n \n def __repr__(self):\n info=self._registry.get(self)\n obj=info and info.weakref()\n if obj is None:\n return \'<%s object at %#x; dead>\'%(type(self).__name__,id(self))\n else:\n return \'<%s object at %#x; for %r at %#x>\'%\\\n (type(self).__name__,id(self),type(obj).__name__,id(obj))\n \n @classmethod\n def _select_for_exit(cls):\n \n L=[(f,i)for(f,i)in cls._registry.items()if i.atexit]\n L.sort(key=lambda item:item[1].index)\n return[f for(f,i)in L]\n \n @classmethod\n def _exitfunc(cls):\n \n \n \n reenable_gc=False\n try:\n if cls._registry:\n import gc\n if gc.isenabled():\n reenable_gc=True\n gc.disable()\n pending=None\n while True:\n if pending is None or finalize._dirty:\n pending=cls._select_for_exit()\n finalize._dirty=False\n if not pending:\n break\n f=pending.pop()\n try:\n \n \n \n \n f()\n except Exception:\n sys.excepthook(*sys.exc_info())\n assert f not in cls._registry\n finally:\n \n finalize._shutdown=True\n if reenable_gc:\n gc.enable()\n',["_collections_abc","_weakref","_weakrefset","atexit","copy","gc","itertools","sys"]],webbrowser:[".py",'\n\nfrom browser import window\n\ndef open(url,new=0,autoraise=True):\n window.open(url)\n \ndef open_new(url):\n return window.open(url,"_blank")\n \ndef open_new_tab(url):\n return open(url)\n \n',["browser"]],zipfile:[".py","''\n\n\n\n\nimport binascii\nimport importlib.util\nimport io\nimport itertools\nimport os\nimport posixpath\nimport shutil\nimport stat\nimport struct\nimport sys\nimport threading\nimport time\nimport contextlib\nimport pathlib\n\ntry:\n import zlib\n crc32=zlib.crc32\nexcept ImportError:\n zlib=None\n crc32=binascii.crc32\n \ntry:\n import bz2\nexcept ImportError:\n bz2=None\n \ntry:\n import lzma\nexcept ImportError:\n lzma=None\n \n__all__=[\"BadZipFile\",\"BadZipfile\",\"error\",\n\"ZIP_STORED\",\"ZIP_DEFLATED\",\"ZIP_BZIP2\",\"ZIP_LZMA\",\n\"is_zipfile\",\"ZipInfo\",\"ZipFile\",\"PyZipFile\",\"LargeZipFile\",\n\"Path\"]\n\nclass BadZipFile(Exception):\n pass\n \n \nclass LargeZipFile(Exception):\n ''\n\n\n \n \nerror=BadZipfile=BadZipFile\n\n\nZIP64_LIMIT=(1 <<31)-1\nZIP_FILECOUNT_LIMIT=(1 <<16)-1\nZIP_MAX_COMMENT=(1 <<16)-1\n\n\nZIP_STORED=0\nZIP_DEFLATED=8\nZIP_BZIP2=12\nZIP_LZMA=14\n\n\nDEFAULT_VERSION=20\nZIP64_VERSION=45\nBZIP2_VERSION=46\nLZMA_VERSION=63\n\nMAX_EXTRACT_VERSION=63\n\n\n\n\n\n\n\n\n\nstructEndArchive=b\"<4s4H2LH\"\nstringEndArchive=b\"PK\\005\\006\"\nsizeEndCentDir=struct.calcsize(structEndArchive)\n\n_ECD_SIGNATURE=0\n_ECD_DISK_NUMBER=1\n_ECD_DISK_START=2\n_ECD_ENTRIES_THIS_DISK=3\n_ECD_ENTRIES_TOTAL=4\n_ECD_SIZE=5\n_ECD_OFFSET=6\n_ECD_COMMENT_SIZE=7\n\n\n_ECD_COMMENT=8\n_ECD_LOCATION=9\n\n\n\nstructCentralDir=\"<4s4B4HL2L5H2L\"\nstringCentralDir=b\"PK\\001\\002\"\nsizeCentralDir=struct.calcsize(structCentralDir)\n\n\n_CD_SIGNATURE=0\n_CD_CREATE_VERSION=1\n_CD_CREATE_SYSTEM=2\n_CD_EXTRACT_VERSION=3\n_CD_EXTRACT_SYSTEM=4\n_CD_FLAG_BITS=5\n_CD_COMPRESS_TYPE=6\n_CD_TIME=7\n_CD_DATE=8\n_CD_CRC=9\n_CD_COMPRESSED_SIZE=10\n_CD_UNCOMPRESSED_SIZE=11\n_CD_FILENAME_LENGTH=12\n_CD_EXTRA_FIELD_LENGTH=13\n_CD_COMMENT_LENGTH=14\n_CD_DISK_NUMBER_START=15\n_CD_INTERNAL_FILE_ATTRIBUTES=16\n_CD_EXTERNAL_FILE_ATTRIBUTES=17\n_CD_LOCAL_HEADER_OFFSET=18\n\n\n\n_MASK_ENCRYPTED=1 <<0\n\n_MASK_COMPRESS_OPTION_1=1 <<1\n\n\n\n\n_MASK_USE_DATA_DESCRIPTOR=1 <<3\n\n\n_MASK_COMPRESSED_PATCH=1 <<5\n_MASK_STRONG_ENCRYPTION=1 <<6\n\n\n\n\n_MASK_UTF_FILENAME=1 <<11\n\n\n\n\n\n\n\n\n\nstructFileHeader=\"<4s2B4HL2L2H\"\nstringFileHeader=b\"PK\\003\\004\"\nsizeFileHeader=struct.calcsize(structFileHeader)\n\n_FH_SIGNATURE=0\n_FH_EXTRACT_VERSION=1\n_FH_EXTRACT_SYSTEM=2\n_FH_GENERAL_PURPOSE_FLAG_BITS=3\n_FH_COMPRESSION_METHOD=4\n_FH_LAST_MOD_TIME=5\n_FH_LAST_MOD_DATE=6\n_FH_CRC=7\n_FH_COMPRESSED_SIZE=8\n_FH_UNCOMPRESSED_SIZE=9\n_FH_FILENAME_LENGTH=10\n_FH_EXTRA_FIELD_LENGTH=11\n\n\nstructEndArchive64Locator=\"<4sLQL\"\nstringEndArchive64Locator=b\"PK\\x06\\x07\"\nsizeEndCentDir64Locator=struct.calcsize(structEndArchive64Locator)\n\n\n\nstructEndArchive64=\"<4sQ2H2L4Q\"\nstringEndArchive64=b\"PK\\x06\\x06\"\nsizeEndCentDir64=struct.calcsize(structEndArchive64)\n\n_CD64_SIGNATURE=0\n_CD64_DIRECTORY_RECSIZE=1\n_CD64_CREATE_VERSION=2\n_CD64_EXTRACT_VERSION=3\n_CD64_DISK_NUMBER=4\n_CD64_DISK_NUMBER_START=5\n_CD64_NUMBER_ENTRIES_THIS_DISK=6\n_CD64_NUMBER_ENTRIES_TOTAL=7\n_CD64_DIRECTORY_SIZE=8\n_CD64_OFFSET_START_CENTDIR=9\n\n_DD_SIGNATURE=0x08074b50\n\n_EXTRA_FIELD_STRUCT=struct.Struct('1:\n raise BadZipFile(\"zipfiles that span multiple disks are not supported\")\n \n \n fpin.seek(offset -sizeEndCentDir64Locator -sizeEndCentDir64,2)\n data=fpin.read(sizeEndCentDir64)\n if len(data)!=sizeEndCentDir64:\n return endrec\n sig,sz,create_version,read_version,disk_num,disk_dir,\\\n dircount,dircount2,dirsize,diroffset=\\\n struct.unpack(structEndArchive64,data)\n if sig !=stringEndArchive64:\n return endrec\n \n \n endrec[_ECD_SIGNATURE]=sig\n endrec[_ECD_DISK_NUMBER]=disk_num\n endrec[_ECD_DISK_START]=disk_dir\n endrec[_ECD_ENTRIES_THIS_DISK]=dircount\n endrec[_ECD_ENTRIES_TOTAL]=dircount2\n endrec[_ECD_SIZE]=dirsize\n endrec[_ECD_OFFSET]=diroffset\n return endrec\n \n \ndef _EndRecData(fpin):\n ''\n\n\n \n \n \n fpin.seek(0,2)\n filesize=fpin.tell()\n \n \n \n \n try:\n fpin.seek(-sizeEndCentDir,2)\n except OSError:\n return None\n data=fpin.read()\n if(len(data)==sizeEndCentDir and\n data[0:4]==stringEndArchive and\n data[-2:]==b\"\\000\\000\"):\n \n endrec=struct.unpack(structEndArchive,data)\n endrec=list(endrec)\n \n \n endrec.append(b\"\")\n endrec.append(filesize -sizeEndCentDir)\n \n \n return _EndRecData64(fpin,-sizeEndCentDir,endrec)\n \n \n \n \n \n \n maxCommentStart=max(filesize -(1 <<16)-sizeEndCentDir,0)\n fpin.seek(maxCommentStart,0)\n data=fpin.read()\n start=data.rfind(stringEndArchive)\n if start >=0:\n \n recData=data[start:start+sizeEndCentDir]\n if len(recData)!=sizeEndCentDir:\n \n return None\n endrec=list(struct.unpack(structEndArchive,recData))\n commentSize=endrec[_ECD_COMMENT_SIZE]\n comment=data[start+sizeEndCentDir:start+sizeEndCentDir+commentSize]\n endrec.append(comment)\n endrec.append(maxCommentStart+start)\n \n \n return _EndRecData64(fpin,maxCommentStart+start -filesize,\n endrec)\n \n \n return None\n \n \nclass ZipInfo(object):\n ''\n \n __slots__=(\n 'orig_filename',\n 'filename',\n 'date_time',\n 'compress_type',\n '_compresslevel',\n 'comment',\n 'extra',\n 'create_system',\n 'create_version',\n 'extract_version',\n 'reserved',\n 'flag_bits',\n 'volume',\n 'internal_attr',\n 'external_attr',\n 'header_offset',\n 'CRC',\n 'compress_size',\n 'file_size',\n '_raw_time',\n )\n \n def __init__(self,filename=\"NoName\",date_time=(1980,1,1,0,0,0)):\n self.orig_filename=filename\n \n \n \n null_byte=filename.find(chr(0))\n if null_byte >=0:\n filename=filename[0:null_byte]\n \n \n \n if os.sep !=\"/\"and os.sep in filename:\n filename=filename.replace(os.sep,\"/\")\n \n self.filename=filename\n self.date_time=date_time\n \n if date_time[0]<1980:\n raise ValueError('ZIP does not support timestamps before 1980')\n \n \n self.compress_type=ZIP_STORED\n self._compresslevel=None\n self.comment=b\"\"\n self.extra=b\"\"\n if sys.platform =='win32':\n self.create_system=0\n else:\n \n self.create_system=3\n self.create_version=DEFAULT_VERSION\n self.extract_version=DEFAULT_VERSION\n self.reserved=0\n self.flag_bits=0\n self.volume=0\n self.internal_attr=0\n self.external_attr=0\n self.compress_size=0\n self.file_size=0\n \n \n \n \n def __repr__(self):\n result=['<%s filename=%r'%(self.__class__.__name__,self.filename)]\n if self.compress_type !=ZIP_STORED:\n result.append(' compress_type=%s'%\n compressor_names.get(self.compress_type,\n self.compress_type))\n hi=self.external_attr >>16\n lo=self.external_attr&0xFFFF\n if hi:\n result.append(' filemode=%r'%stat.filemode(hi))\n if lo:\n result.append(' external_attr=%#x'%lo)\n isdir=self.is_dir()\n if not isdir or self.file_size:\n result.append(' file_size=%r'%self.file_size)\n if((not isdir or self.compress_size)and\n (self.compress_type !=ZIP_STORED or\n self.file_size !=self.compress_size)):\n result.append(' compress_size=%r'%self.compress_size)\n result.append('>')\n return ''.join(result)\n \n def FileHeader(self,zip64=None):\n ''\n dt=self.date_time\n dosdate=(dt[0]-1980)<<9 |dt[1]<<5 |dt[2]\n dostime=dt[3]<<11 |dt[4]<<5 |(dt[5]//2)\n if self.flag_bits&_MASK_USE_DATA_DESCRIPTOR:\n \n CRC=compress_size=file_size=0\n else:\n CRC=self.CRC\n compress_size=self.compress_size\n file_size=self.file_size\n \n extra=self.extra\n \n min_version=0\n if zip64 is None:\n zip64=file_size >ZIP64_LIMIT or compress_size >ZIP64_LIMIT\n if zip64:\n fmt='ZIP64_LIMIT or compress_size >ZIP64_LIMIT:\n if not zip64:\n raise LargeZipFile(\"Filesize would require ZIP64 extensions\")\n \n \n file_size=0xffffffff\n compress_size=0xffffffff\n min_version=ZIP64_VERSION\n \n if self.compress_type ==ZIP_BZIP2:\n min_version=max(BZIP2_VERSION,min_version)\n elif self.compress_type ==ZIP_LZMA:\n min_version=max(LZMA_VERSION,min_version)\n \n self.extract_version=max(min_version,self.extract_version)\n self.create_version=max(min_version,self.create_version)\n filename,flag_bits=self._encodeFilenameFlags()\n header=struct.pack(structFileHeader,stringFileHeader,\n self.extract_version,self.reserved,flag_bits,\n self.compress_type,dostime,dosdate,CRC,\n compress_size,file_size,\n len(filename),len(extra))\n return header+filename+extra\n \n def _encodeFilenameFlags(self):\n try:\n return self.filename.encode('ascii'),self.flag_bits\n except UnicodeEncodeError:\n return self.filename.encode('utf-8'),self.flag_bits |_MASK_UTF_FILENAME\n \n def _decodeExtra(self):\n \n extra=self.extra\n unpack=struct.unpack\n while len(extra)>=4:\n tp,ln=unpack('len(extra):\n raise BadZipFile(\"Corrupt extra field %04x (size=%d)\"%(tp,ln))\n if tp ==0x0001:\n data=extra[4:ln+4]\n \n try:\n if self.file_size in(0xFFFF_FFFF_FFFF_FFFF,0xFFFF_FFFF):\n field=\"File size\"\n self.file_size,=unpack('2107:\n date_time=(2107,12,31,23,59,59)\n \n if arcname is None:\n arcname=filename\n arcname=os.path.normpath(os.path.splitdrive(arcname)[1])\n while arcname[0]in(os.sep,os.altsep):\n arcname=arcname[1:]\n if isdir:\n arcname +='/'\n zinfo=cls(arcname,date_time)\n zinfo.external_attr=(st.st_mode&0xFFFF)<<16\n if isdir:\n zinfo.file_size=0\n zinfo.external_attr |=0x10\n else:\n zinfo.file_size=st.st_size\n \n return zinfo\n \n def is_dir(self):\n ''\n return self.filename[-1]=='/'\n \n \n \n \n \n \n_crctable=None\ndef _gen_crc(crc):\n for j in range(8):\n if crc&1:\n crc=(crc >>1)^0xEDB88320\n else:\n crc >>=1\n return crc\n \n \n \n \n \n \n \n \n \ndef _ZipDecrypter(pwd):\n key0=305419896\n key1=591751049\n key2=878082192\n \n global _crctable\n if _crctable is None:\n _crctable=list(map(_gen_crc,range(256)))\n crctable=_crctable\n \n def crc32(ch,crc):\n ''\n return(crc >>8)^crctable[(crc ^ch)&0xFF]\n \n def update_keys(c):\n nonlocal key0,key1,key2\n key0=crc32(c,key0)\n key1=(key1+(key0&0xFF))&0xFFFFFFFF\n key1=(key1 *134775813+1)&0xFFFFFFFF\n key2=crc32(key1 >>24,key2)\n \n for p in pwd:\n update_keys(p)\n \n def decrypter(data):\n ''\n result=bytearray()\n append=result.append\n for c in data:\n k=key2 |2\n c ^=((k *(k ^1))>>8)&0xFF\n update_keys(c)\n append(c)\n return bytes(result)\n \n return decrypter\n \n \nclass LZMACompressor:\n\n def __init__(self):\n self._comp=None\n \n def _init(self):\n props=lzma._encode_filter_properties({'id':lzma.FILTER_LZMA1})\n self._comp=lzma.LZMACompressor(lzma.FORMAT_RAW,filters=[\n lzma._decode_filter_properties(lzma.FILTER_LZMA1,props)\n ])\n return struct.pack('>8)&0xff\n else:\n \n check_byte=(zipinfo.CRC >>24)&0xff\n h=self._init_decrypter()\n if h !=check_byte:\n raise RuntimeError(\"Bad password for file %r\"%zipinfo.orig_filename)\n \n \n def _init_decrypter(self):\n self._decrypter=_ZipDecrypter(self._pwd)\n \n \n \n \n \n header=self._fileobj.read(12)\n self._compress_left -=12\n return self._decrypter(header)[11]\n \n def __repr__(self):\n result=['<%s.%s'%(self.__class__.__module__,\n self.__class__.__qualname__)]\n if not self.closed:\n result.append(' name=%r mode=%r'%(self.name,self.mode))\n if self._compress_type !=ZIP_STORED:\n result.append(' compress_type=%s'%\n compressor_names.get(self._compress_type,\n self._compress_type))\n else:\n result.append(' [closed]')\n result.append('>')\n return ''.join(result)\n \n def readline(self,limit=-1):\n ''\n\n\n \n \n if limit <0:\n \n i=self._readbuffer.find(b'\\n',self._offset)+1\n if i >0:\n line=self._readbuffer[self._offset:i]\n self._offset=i\n return line\n \n return io.BufferedIOBase.readline(self,limit)\n \n def peek(self,n=1):\n ''\n if n >len(self._readbuffer)-self._offset:\n chunk=self.read(n)\n if len(chunk)>self._offset:\n self._readbuffer=chunk+self._readbuffer[self._offset:]\n self._offset=0\n else:\n self._offset -=len(chunk)\n \n \n return self._readbuffer[self._offset:self._offset+512]\n \n def readable(self):\n if self.closed:\n raise ValueError(\"I/O operation on closed file.\")\n return True\n \n def read(self,n=-1):\n ''\n\n \n if self.closed:\n raise ValueError(\"read from closed file.\")\n if n is None or n <0:\n buf=self._readbuffer[self._offset:]\n self._readbuffer=b''\n self._offset=0\n while not self._eof:\n buf +=self._read1(self.MAX_N)\n return buf\n \n end=n+self._offset\n if end 0 and not self._eof:\n data=self._read1(n)\n if n 0:\n while not self._eof:\n data=self._read1(n)\n if n len(data):\n data +=self._read2(n -len(data))\n else:\n data=self._read2(n)\n \n if self._compress_type ==ZIP_STORED:\n self._eof=self._compress_left <=0\n elif self._compress_type ==ZIP_DEFLATED:\n n=max(n,self.MIN_READ_SIZE)\n data=self._decompressor.decompress(data,n)\n self._eof=(self._decompressor.eof or\n self._compress_left <=0 and\n not self._decompressor.unconsumed_tail)\n if self._eof:\n data +=self._decompressor.flush()\n else:\n data=self._decompressor.decompress(data)\n self._eof=self._decompressor.eof or self._compress_left <=0\n \n data=data[:self._left]\n self._left -=len(data)\n if self._left <=0:\n self._eof=True\n self._update_crc(data)\n return data\n \n def _read2(self,n):\n if self._compress_left <=0:\n return b''\n \n n=max(n,self.MIN_READ_SIZE)\n n=min(n,self._compress_left)\n \n data=self._fileobj.read(n)\n self._compress_left -=len(data)\n if not data:\n raise EOFError\n \n if self._decrypter is not None:\n data=self._decrypter(data)\n return data\n \n def close(self):\n try:\n if self._close_fileobj:\n self._fileobj.close()\n finally:\n super().close()\n \n def seekable(self):\n if self.closed:\n raise ValueError(\"I/O operation on closed file.\")\n return self._seekable\n \n def seek(self,offset,whence=0):\n if self.closed:\n raise ValueError(\"seek on closed file.\")\n if not self._seekable:\n raise io.UnsupportedOperation(\"underlying stream is not seekable\")\n curr_pos=self.tell()\n if whence ==0:\n new_pos=offset\n elif whence ==1:\n new_pos=curr_pos+offset\n elif whence ==2:\n new_pos=self._orig_file_size+offset\n else:\n raise ValueError(\"whence must be os.SEEK_SET (0), \"\n \"os.SEEK_CUR (1), or os.SEEK_END (2)\")\n \n if new_pos >self._orig_file_size:\n new_pos=self._orig_file_size\n \n if new_pos <0:\n new_pos=0\n \n read_offset=new_pos -curr_pos\n buff_offset=read_offset+self._offset\n \n if buff_offset >=0 and buff_offset 0:\n read_len=min(self.MAX_SEEK_READ,read_offset)\n self.read(read_len)\n read_offset -=read_len\n \n return self.tell()\n \n def tell(self):\n if self.closed:\n raise ValueError(\"tell on closed file.\")\n if not self._seekable:\n raise io.UnsupportedOperation(\"underlying stream is not seekable\")\n filepos=self._orig_file_size -self._left -len(self._readbuffer)+self._offset\n return filepos\n \n \nclass _ZipWriteFile(io.BufferedIOBase):\n def __init__(self,zf,zinfo,zip64):\n self._zinfo=zinfo\n self._zip64=zip64\n self._zipfile=zf\n self._compressor=_get_compressor(zinfo.compress_type,\n zinfo._compresslevel)\n self._file_size=0\n self._compress_size=0\n self._crc=0\n \n @property\n def _fileobj(self):\n return self._zipfile.fp\n \n def writable(self):\n return True\n \n def write(self,data):\n if self.closed:\n raise ValueError('I/O operation on closed file.')\n \n \n if isinstance(data,(bytes,bytearray)):\n nbytes=len(data)\n else:\n data=memoryview(data)\n nbytes=data.nbytes\n self._file_size +=nbytes\n \n self._crc=crc32(data,self._crc)\n if self._compressor:\n data=self._compressor.compress(data)\n self._compress_size +=len(data)\n self._fileobj.write(data)\n return nbytes\n \n def close(self):\n if self.closed:\n return\n try:\n super().close()\n \n if self._compressor:\n buf=self._compressor.flush()\n self._compress_size +=len(buf)\n self._fileobj.write(buf)\n self._zinfo.compress_size=self._compress_size\n else:\n self._zinfo.compress_size=self._file_size\n self._zinfo.CRC=self._crc\n self._zinfo.file_size=self._file_size\n \n \n if self._zinfo.flag_bits&_MASK_USE_DATA_DESCRIPTOR:\n \n fmt='ZIP64_LIMIT:\n raise RuntimeError(\n 'File size unexpectedly exceeded ZIP64 limit')\n if self._compress_size >ZIP64_LIMIT:\n raise RuntimeError(\n 'Compressed size unexpectedly exceeded ZIP64 limit')\n \n \n \n \n self._zipfile.start_dir=self._fileobj.tell()\n self._fileobj.seek(self._zinfo.header_offset)\n self._fileobj.write(self._zinfo.FileHeader(self._zip64))\n self._fileobj.seek(self._zipfile.start_dir)\n \n \n self._zipfile.filelist.append(self._zinfo)\n self._zipfile.NameToInfo[self._zinfo.filename]=self._zinfo\n finally:\n self._zipfile._writing=False\n \n \n \nclass ZipFile:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n fp=None\n _windows_illegal_name_trans_table=None\n \n def __init__(self,file,mode=\"r\",compression=ZIP_STORED,allowZip64=True,\n compresslevel=None,*,strict_timestamps=True,metadata_encoding=None):\n ''\n \n if mode not in('r','w','x','a'):\n raise ValueError(\"ZipFile requires mode 'r', 'w', 'x', or 'a'\")\n \n _check_compression(compression)\n \n self._allowZip64=allowZip64\n self._didModify=False\n self.debug=0\n self.NameToInfo={}\n self.filelist=[]\n self.compression=compression\n self.compresslevel=compresslevel\n self.mode=mode\n self.pwd=None\n self._comment=b''\n self._strict_timestamps=strict_timestamps\n self.metadata_encoding=metadata_encoding\n \n \n if self.metadata_encoding and mode !='r':\n raise ValueError(\n \"metadata_encoding is only supported for reading files\")\n \n \n if isinstance(file,os.PathLike):\n file=os.fspath(file)\n if isinstance(file,str):\n \n self._filePassed=0\n self.filename=file\n modeDict={'r':'rb','w':'w+b','x':'x+b','a':'r+b',\n 'r+b':'w+b','w+b':'wb','x+b':'xb'}\n filemode=modeDict[mode]\n while True:\n try:\n self.fp=io.open(file,filemode)\n except OSError:\n if filemode in modeDict:\n filemode=modeDict[filemode]\n continue\n raise\n break\n else:\n self._filePassed=1\n self.fp=file\n self.filename=getattr(file,'name',None)\n self._fileRefCnt=1\n self._lock=threading.RLock()\n self._seekable=True\n self._writing=False\n \n try:\n if mode =='r':\n self._RealGetContents()\n elif mode in('w','x'):\n \n \n self._didModify=True\n try:\n self.start_dir=self.fp.tell()\n except(AttributeError,OSError):\n self.fp=_Tellable(self.fp)\n self.start_dir=0\n self._seekable=False\n else:\n \n try:\n self.fp.seek(self.start_dir)\n except(AttributeError,OSError):\n self._seekable=False\n elif mode =='a':\n try:\n \n self._RealGetContents()\n \n self.fp.seek(self.start_dir)\n except BadZipFile:\n \n self.fp.seek(0,2)\n \n \n \n self._didModify=True\n self.start_dir=self.fp.tell()\n else:\n raise ValueError(\"Mode must be 'r', 'w', 'x', or 'a'\")\n except:\n fp=self.fp\n self.fp=None\n self._fpclose(fp)\n raise\n \n def __enter__(self):\n return self\n \n def __exit__(self,type,value,traceback):\n self.close()\n \n def __repr__(self):\n result=['<%s.%s'%(self.__class__.__module__,\n self.__class__.__qualname__)]\n if self.fp is not None:\n if self._filePassed:\n result.append(' file=%r'%self.fp)\n elif self.filename is not None:\n result.append(' filename=%r'%self.filename)\n result.append(' mode=%r'%self.mode)\n else:\n result.append(' [closed]')\n result.append('>')\n return ''.join(result)\n \n def _RealGetContents(self):\n ''\n fp=self.fp\n try:\n endrec=_EndRecData(fp)\n except OSError:\n raise BadZipFile(\"File is not a zip file\")\n if not endrec:\n raise BadZipFile(\"File is not a zip file\")\n if self.debug >1:\n print(endrec)\n size_cd=endrec[_ECD_SIZE]\n offset_cd=endrec[_ECD_OFFSET]\n self._comment=endrec[_ECD_COMMENT]\n \n \n concat=endrec[_ECD_LOCATION]-size_cd -offset_cd\n if endrec[_ECD_SIGNATURE]==stringEndArchive64:\n \n concat -=(sizeEndCentDir64+sizeEndCentDir64Locator)\n \n if self.debug >2:\n inferred=concat+offset_cd\n print(\"given, inferred, offset\",offset_cd,inferred,concat)\n \n self.start_dir=offset_cd+concat\n if self.start_dir <0:\n raise BadZipFile(\"Bad offset for central directory\")\n fp.seek(self.start_dir,0)\n data=fp.read(size_cd)\n fp=io.BytesIO(data)\n total=0\n while total 2:\n print(centdir)\n filename=fp.read(centdir[_CD_FILENAME_LENGTH])\n flags=centdir[_CD_FLAG_BITS]\n if flags&_MASK_UTF_FILENAME:\n \n filename=filename.decode('utf-8')\n else:\n \n filename=filename.decode(self.metadata_encoding or 'cp437')\n \n x=ZipInfo(filename)\n x.extra=fp.read(centdir[_CD_EXTRA_FIELD_LENGTH])\n x.comment=fp.read(centdir[_CD_COMMENT_LENGTH])\n x.header_offset=centdir[_CD_LOCAL_HEADER_OFFSET]\n (x.create_version,x.create_system,x.extract_version,x.reserved,\n x.flag_bits,x.compress_type,t,d,\n x.CRC,x.compress_size,x.file_size)=centdir[1:12]\n if x.extract_version >MAX_EXTRACT_VERSION:\n raise NotImplementedError(\"zip file version %.1f\"%\n (x.extract_version /10))\n x.volume,x.internal_attr,x.external_attr=centdir[15:18]\n \n x._raw_time=t\n x.date_time=((d >>9)+1980,(d >>5)&0xF,d&0x1F,\n t >>11,(t >>5)&0x3F,(t&0x1F)*2)\n \n x._decodeExtra()\n x.header_offset=x.header_offset+concat\n self.filelist.append(x)\n self.NameToInfo[x.filename]=x\n \n \n total=(total+sizeCentralDir+centdir[_CD_FILENAME_LENGTH]\n +centdir[_CD_EXTRA_FIELD_LENGTH]\n +centdir[_CD_COMMENT_LENGTH])\n \n if self.debug >2:\n print(\"total\",total)\n \n \n def namelist(self):\n ''\n return[data.filename for data in self.filelist]\n \n def infolist(self):\n ''\n \n return self.filelist\n \n def printdir(self,file=None):\n ''\n print(\"%-46s %19s %12s\"%(\"File Name\",\"Modified \",\"Size\"),\n file=file)\n for zinfo in self.filelist:\n date=\"%d-%02d-%02d %02d:%02d:%02d\"%zinfo.date_time[:6]\n print(\"%-46s %s %12d\"%(zinfo.filename,date,zinfo.file_size),\n file=file)\n \n def testzip(self):\n ''\n chunk_size=2 **20\n for zinfo in self.filelist:\n try:\n \n \n with self.open(zinfo.filename,\"r\")as f:\n while f.read(chunk_size):\n pass\n except BadZipFile:\n return zinfo.filename\n \n def getinfo(self,name):\n ''\n info=self.NameToInfo.get(name)\n if info is None:\n raise KeyError(\n 'There is no item named %r in the archive'%name)\n \n return info\n \n def setpassword(self,pwd):\n ''\n if pwd and not isinstance(pwd,bytes):\n raise TypeError(\"pwd: expected bytes, got %s\"%type(pwd).__name__)\n if pwd:\n self.pwd=pwd\n else:\n self.pwd=None\n \n @property\n def comment(self):\n ''\n return self._comment\n \n @comment.setter\n def comment(self,comment):\n if not isinstance(comment,bytes):\n raise TypeError(\"comment: expected bytes, got %s\"%type(comment).__name__)\n \n if len(comment)>ZIP_MAX_COMMENT:\n import warnings\n warnings.warn('Archive comment is too long; truncating to %d bytes'\n %ZIP_MAX_COMMENT,stacklevel=2)\n comment=comment[:ZIP_MAX_COMMENT]\n self._comment=comment\n self._didModify=True\n \n def read(self,name,pwd=None):\n ''\n with self.open(name,\"r\",pwd)as fp:\n return fp.read()\n \n def open(self,name,mode=\"r\",pwd=None,*,force_zip64=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if mode not in{\"r\",\"w\"}:\n raise ValueError('open() requires mode \"r\" or \"w\"')\n if pwd and(mode ==\"w\"):\n raise ValueError(\"pwd is only supported for reading files\")\n if not self.fp:\n raise ValueError(\n \"Attempt to use ZIP archive that was already closed\")\n \n \n if isinstance(name,ZipInfo):\n \n zinfo=name\n elif mode =='w':\n zinfo=ZipInfo(name)\n zinfo.compress_type=self.compression\n zinfo._compresslevel=self.compresslevel\n else:\n \n zinfo=self.getinfo(name)\n \n if mode =='w':\n return self._open_to_write(zinfo,force_zip64=force_zip64)\n \n if self._writing:\n raise ValueError(\"Can't read from the ZIP file while there \"\n \"is an open writing handle on it. \"\n \"Close the writing handle before trying to read.\")\n \n \n self._fileRefCnt +=1\n zef_file=_SharedFile(self.fp,zinfo.header_offset,\n self._fpclose,self._lock,lambda:self._writing)\n try:\n \n fheader=zef_file.read(sizeFileHeader)\n if len(fheader)!=sizeFileHeader:\n raise BadZipFile(\"Truncated file header\")\n fheader=struct.unpack(structFileHeader,fheader)\n if fheader[_FH_SIGNATURE]!=stringFileHeader:\n raise BadZipFile(\"Bad magic number for file header\")\n \n fname=zef_file.read(fheader[_FH_FILENAME_LENGTH])\n if fheader[_FH_EXTRA_FIELD_LENGTH]:\n zef_file.read(fheader[_FH_EXTRA_FIELD_LENGTH])\n \n if zinfo.flag_bits&_MASK_COMPRESSED_PATCH:\n \n raise NotImplementedError(\"compressed patched data (flag bit 5)\")\n \n if zinfo.flag_bits&_MASK_STRONG_ENCRYPTION:\n \n raise NotImplementedError(\"strong encryption (flag bit 6)\")\n \n if fheader[_FH_GENERAL_PURPOSE_FLAG_BITS]&_MASK_UTF_FILENAME:\n \n fname_str=fname.decode(\"utf-8\")\n else:\n fname_str=fname.decode(self.metadata_encoding or \"cp437\")\n \n if fname_str !=zinfo.orig_filename:\n raise BadZipFile(\n 'File name in directory %r and header %r differ.'\n %(zinfo.orig_filename,fname))\n \n \n is_encrypted=zinfo.flag_bits&_MASK_ENCRYPTED\n if is_encrypted:\n if not pwd:\n pwd=self.pwd\n if pwd and not isinstance(pwd,bytes):\n raise TypeError(\"pwd: expected bytes, got %s\"%type(pwd).__name__)\n if not pwd:\n raise RuntimeError(\"File %r is encrypted, password \"\n \"required for extraction\"%name)\n else:\n pwd=None\n \n return ZipExtFile(zef_file,mode,zinfo,pwd,True)\n except:\n zef_file.close()\n raise\n \n def _open_to_write(self,zinfo,force_zip64=False):\n if force_zip64 and not self._allowZip64:\n raise ValueError(\n \"force_zip64 is True, but allowZip64 was False when opening \"\n \"the ZIP file.\"\n )\n if self._writing:\n raise ValueError(\"Can't write to the ZIP file while there is \"\n \"another write handle open on it. \"\n \"Close the first handle before opening another.\")\n \n \n zinfo.compress_size=0\n zinfo.CRC=0\n \n zinfo.flag_bits=0x00\n if zinfo.compress_type ==ZIP_LZMA:\n \n zinfo.flag_bits |=_MASK_COMPRESS_OPTION_1\n if not self._seekable:\n zinfo.flag_bits |=_MASK_USE_DATA_DESCRIPTOR\n \n if not zinfo.external_attr:\n zinfo.external_attr=0o600 <<16\n \n \n zip64=self._allowZip64 and\\\n (force_zip64 or zinfo.file_size *1.05 >ZIP64_LIMIT)\n \n if self._seekable:\n self.fp.seek(self.start_dir)\n zinfo.header_offset=self.fp.tell()\n \n self._writecheck(zinfo)\n self._didModify=True\n \n self.fp.write(zinfo.FileHeader(zip64))\n \n self._writing=True\n return _ZipWriteFile(self,zinfo,zip64)\n \n def extract(self,member,path=None,pwd=None):\n ''\n\n\n\n \n if path is None:\n path=os.getcwd()\n else:\n path=os.fspath(path)\n \n return self._extract_member(member,path,pwd)\n \n def extractall(self,path=None,members=None,pwd=None):\n ''\n\n\n\n \n if members is None:\n members=self.namelist()\n \n if path is None:\n path=os.getcwd()\n else:\n path=os.fspath(path)\n \n for zipinfo in members:\n self._extract_member(zipinfo,path,pwd)\n \n @classmethod\n def _sanitize_windows_name(cls,arcname,pathsep):\n ''\n table=cls._windows_illegal_name_trans_table\n if not table:\n illegal=':<>|\"?*'\n table=str.maketrans(illegal,'_'*len(illegal))\n cls._windows_illegal_name_trans_table=table\n arcname=arcname.translate(table)\n \n arcname=(x.rstrip('.')for x in arcname.split(pathsep))\n \n arcname=pathsep.join(x for x in arcname if x)\n return arcname\n \n def _extract_member(self,member,targetpath,pwd):\n ''\n\n \n if not isinstance(member,ZipInfo):\n member=self.getinfo(member)\n \n \n \n arcname=member.filename.replace('/',os.path.sep)\n \n if os.path.altsep:\n arcname=arcname.replace(os.path.altsep,os.path.sep)\n \n \n arcname=os.path.splitdrive(arcname)[1]\n invalid_path_parts=('',os.path.curdir,os.path.pardir)\n arcname=os.path.sep.join(x for x in arcname.split(os.path.sep)\n if x not in invalid_path_parts)\n if os.path.sep =='\\\\':\n \n arcname=self._sanitize_windows_name(arcname,os.path.sep)\n \n targetpath=os.path.join(targetpath,arcname)\n targetpath=os.path.normpath(targetpath)\n \n \n upperdirs=os.path.dirname(targetpath)\n if upperdirs and not os.path.exists(upperdirs):\n os.makedirs(upperdirs)\n \n if member.is_dir():\n if not os.path.isdir(targetpath):\n os.mkdir(targetpath)\n return targetpath\n \n with self.open(member,pwd=pwd)as source,\\\n open(targetpath,\"wb\")as target:\n shutil.copyfileobj(source,target)\n \n return targetpath\n \n def _writecheck(self,zinfo):\n ''\n if zinfo.filename in self.NameToInfo:\n import warnings\n warnings.warn('Duplicate name: %r'%zinfo.filename,stacklevel=3)\n if self.mode not in('w','x','a'):\n raise ValueError(\"write() requires mode 'w', 'x', or 'a'\")\n if not self.fp:\n raise ValueError(\n \"Attempt to write ZIP archive that was already closed\")\n _check_compression(zinfo.compress_type)\n if not self._allowZip64:\n requires_zip64=None\n if len(self.filelist)>=ZIP_FILECOUNT_LIMIT:\n requires_zip64=\"Files count\"\n elif zinfo.file_size >ZIP64_LIMIT:\n requires_zip64=\"Filesize\"\n elif zinfo.header_offset >ZIP64_LIMIT:\n requires_zip64=\"Zipfile size\"\n if requires_zip64:\n raise LargeZipFile(requires_zip64+\n \" would require ZIP64 extensions\")\n \n def write(self,filename,arcname=None,\n compress_type=None,compresslevel=None):\n ''\n \n if not self.fp:\n raise ValueError(\n \"Attempt to write to ZIP archive that was already closed\")\n if self._writing:\n raise ValueError(\n \"Can't write to ZIP archive while an open writing handle exists\"\n )\n \n zinfo=ZipInfo.from_file(filename,arcname,\n strict_timestamps=self._strict_timestamps)\n \n if zinfo.is_dir():\n zinfo.compress_size=0\n zinfo.CRC=0\n self.mkdir(zinfo)\n else:\n if compress_type is not None:\n zinfo.compress_type=compress_type\n else:\n zinfo.compress_type=self.compression\n \n if compresslevel is not None:\n zinfo._compresslevel=compresslevel\n else:\n zinfo._compresslevel=self.compresslevel\n \n with open(filename,\"rb\")as src,self.open(zinfo,'w')as dest:\n shutil.copyfileobj(src,dest,1024 *8)\n \n def writestr(self,zinfo_or_arcname,data,\n compress_type=None,compresslevel=None):\n ''\n\n\n\n \n if isinstance(data,str):\n data=data.encode(\"utf-8\")\n if not isinstance(zinfo_or_arcname,ZipInfo):\n zinfo=ZipInfo(filename=zinfo_or_arcname,\n date_time=time.localtime(time.time())[:6])\n zinfo.compress_type=self.compression\n zinfo._compresslevel=self.compresslevel\n if zinfo.filename[-1]=='/':\n zinfo.external_attr=0o40775 <<16\n zinfo.external_attr |=0x10\n else:\n zinfo.external_attr=0o600 <<16\n else:\n zinfo=zinfo_or_arcname\n \n if not self.fp:\n raise ValueError(\n \"Attempt to write to ZIP archive that was already closed\")\n if self._writing:\n raise ValueError(\n \"Can't write to ZIP archive while an open writing handle exists.\"\n )\n \n if compress_type is not None:\n zinfo.compress_type=compress_type\n \n if compresslevel is not None:\n zinfo._compresslevel=compresslevel\n \n zinfo.file_size=len(data)\n with self._lock:\n with self.open(zinfo,mode='w')as dest:\n dest.write(data)\n \n def mkdir(self,zinfo_or_directory_name,mode=511):\n ''\n if isinstance(zinfo_or_directory_name,ZipInfo):\n zinfo=zinfo_or_directory_name\n if not zinfo.is_dir():\n raise ValueError(\"The given ZipInfo does not describe a directory\")\n elif isinstance(zinfo_or_directory_name,str):\n directory_name=zinfo_or_directory_name\n if not directory_name.endswith(\"/\"):\n directory_name +=\"/\"\n zinfo=ZipInfo(directory_name)\n zinfo.compress_size=0\n zinfo.CRC=0\n zinfo.external_attr=((0o40000 |mode)&0xFFFF)<<16\n zinfo.file_size=0\n zinfo.external_attr |=0x10\n else:\n raise TypeError(\"Expected type str or ZipInfo\")\n \n with self._lock:\n if self._seekable:\n self.fp.seek(self.start_dir)\n zinfo.header_offset=self.fp.tell()\n if zinfo.compress_type ==ZIP_LZMA:\n \n zinfo.flag_bits |=_MASK_COMPRESS_OPTION_1\n \n self._writecheck(zinfo)\n self._didModify=True\n \n self.filelist.append(zinfo)\n self.NameToInfo[zinfo.filename]=zinfo\n self.fp.write(zinfo.FileHeader(False))\n self.start_dir=self.fp.tell()\n \n def __del__(self):\n ''\n self.close()\n \n def close(self):\n ''\n \n if self.fp is None:\n return\n \n if self._writing:\n raise ValueError(\"Can't close the ZIP file while there is \"\n \"an open writing handle on it. \"\n \"Close the writing handle before closing the zip.\")\n \n try:\n if self.mode in('w','x','a')and self._didModify:\n with self._lock:\n if self._seekable:\n self.fp.seek(self.start_dir)\n self._write_end_record()\n finally:\n fp=self.fp\n self.fp=None\n self._fpclose(fp)\n \n def _write_end_record(self):\n for zinfo in self.filelist:\n dt=zinfo.date_time\n dosdate=(dt[0]-1980)<<9 |dt[1]<<5 |dt[2]\n dostime=dt[3]<<11 |dt[4]<<5 |(dt[5]//2)\n extra=[]\n if zinfo.file_size >ZIP64_LIMIT\\\n or zinfo.compress_size >ZIP64_LIMIT:\n extra.append(zinfo.file_size)\n extra.append(zinfo.compress_size)\n file_size=0xffffffff\n compress_size=0xffffffff\n else:\n file_size=zinfo.file_size\n compress_size=zinfo.compress_size\n \n if zinfo.header_offset >ZIP64_LIMIT:\n extra.append(zinfo.header_offset)\n header_offset=0xffffffff\n else:\n header_offset=zinfo.header_offset\n \n extra_data=zinfo.extra\n min_version=0\n if extra:\n \n extra_data=_strip_extra(extra_data,(1,))\n extra_data=struct.pack(\n 'ZIP_FILECOUNT_LIMIT:\n requires_zip64=\"Files count\"\n elif centDirOffset >ZIP64_LIMIT:\n requires_zip64=\"Central directory offset\"\n elif centDirSize >ZIP64_LIMIT:\n requires_zip64=\"Central directory size\"\n if requires_zip64:\n \n if not self._allowZip64:\n raise LargeZipFile(requires_zip64+\n \" would require ZIP64 extensions\")\n zip64endrec=struct.pack(\n structEndArchive64,stringEndArchive64,\n 44,45,45,0,0,centDirCount,centDirCount,\n centDirSize,centDirOffset)\n self.fp.write(zip64endrec)\n \n zip64locrec=struct.pack(\n structEndArchive64Locator,\n stringEndArchive64Locator,0,pos2,1)\n self.fp.write(zip64locrec)\n centDirCount=min(centDirCount,0xFFFF)\n centDirSize=min(centDirSize,0xFFFFFFFF)\n centDirOffset=min(centDirOffset,0xFFFFFFFF)\n \n endrec=struct.pack(structEndArchive,stringEndArchive,\n 0,0,centDirCount,centDirCount,\n centDirSize,centDirOffset,len(self._comment))\n self.fp.write(endrec)\n self.fp.write(self._comment)\n if self.mode ==\"a\":\n self.fp.truncate()\n self.fp.flush()\n \n def _fpclose(self,fp):\n assert self._fileRefCnt >0\n self._fileRefCnt -=1\n if not self._fileRefCnt and not self._filePassed:\n fp.close()\n \n \nclass PyZipFile(ZipFile):\n ''\n \n def __init__(self,file,mode=\"r\",compression=ZIP_STORED,\n allowZip64=True,optimize=-1):\n ZipFile.__init__(self,file,mode=mode,compression=compression,\n allowZip64=allowZip64)\n self._optimize=optimize\n \n def writepy(self,pathname,basename=\"\",filterfunc=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n pathname=os.fspath(pathname)\n if filterfunc and not filterfunc(pathname):\n if self.debug:\n label='path'if os.path.isdir(pathname)else 'file'\n print('%s %r skipped by filterfunc'%(label,pathname))\n return\n dir,name=os.path.split(pathname)\n if os.path.isdir(pathname):\n initname=os.path.join(pathname,\"__init__.py\")\n if os.path.isfile(initname):\n \n if basename:\n basename=\"%s/%s\"%(basename,name)\n else:\n basename=name\n if self.debug:\n print(\"Adding package in\",pathname,\"as\",basename)\n fname,arcname=self._get_codename(initname[0:-3],basename)\n if self.debug:\n print(\"Adding\",arcname)\n self.write(fname,arcname)\n dirlist=sorted(os.listdir(pathname))\n dirlist.remove(\"__init__.py\")\n \n for filename in dirlist:\n path=os.path.join(pathname,filename)\n root,ext=os.path.splitext(filename)\n if os.path.isdir(path):\n if os.path.isfile(os.path.join(path,\"__init__.py\")):\n \n self.writepy(path,basename,\n filterfunc=filterfunc)\n elif ext ==\".py\":\n if filterfunc and not filterfunc(path):\n if self.debug:\n print('file %r skipped by filterfunc'%path)\n continue\n fname,arcname=self._get_codename(path[0:-3],\n basename)\n if self.debug:\n print(\"Adding\",arcname)\n self.write(fname,arcname)\n else:\n \n if self.debug:\n print(\"Adding files from directory\",pathname)\n for filename in sorted(os.listdir(pathname)):\n path=os.path.join(pathname,filename)\n root,ext=os.path.splitext(filename)\n if ext ==\".py\":\n if filterfunc and not filterfunc(path):\n if self.debug:\n print('file %r skipped by filterfunc'%path)\n continue\n fname,arcname=self._get_codename(path[0:-3],\n basename)\n if self.debug:\n print(\"Adding\",arcname)\n self.write(fname,arcname)\n else:\n if pathname[-3:]!=\".py\":\n raise RuntimeError(\n 'Files added with writepy() must end with \".py\"')\n fname,arcname=self._get_codename(pathname[0:-3],basename)\n if self.debug:\n print(\"Adding file\",arcname)\n self.write(fname,arcname)\n \n def _get_codename(self,pathname,basename):\n ''\n\n\n\n\n \n def _compile(file,optimize=-1):\n import py_compile\n if self.debug:\n print(\"Compiling\",file)\n try:\n py_compile.compile(file,doraise=True,optimize=optimize)\n except py_compile.PyCompileError as err:\n print(err.msg)\n return False\n return True\n \n file_py=pathname+\".py\"\n file_pyc=pathname+\".pyc\"\n pycache_opt0=importlib.util.cache_from_source(file_py,optimization='')\n pycache_opt1=importlib.util.cache_from_source(file_py,optimization=1)\n pycache_opt2=importlib.util.cache_from_source(file_py,optimization=2)\n if self._optimize ==-1:\n \n if(os.path.isfile(file_pyc)and\n os.stat(file_pyc).st_mtime >=os.stat(file_py).st_mtime):\n \n arcname=fname=file_pyc\n elif(os.path.isfile(pycache_opt0)and\n os.stat(pycache_opt0).st_mtime >=os.stat(file_py).st_mtime):\n \n \n fname=pycache_opt0\n arcname=file_pyc\n elif(os.path.isfile(pycache_opt1)and\n os.stat(pycache_opt1).st_mtime >=os.stat(file_py).st_mtime):\n \n \n fname=pycache_opt1\n arcname=file_pyc\n elif(os.path.isfile(pycache_opt2)and\n os.stat(pycache_opt2).st_mtime >=os.stat(file_py).st_mtime):\n \n \n fname=pycache_opt2\n arcname=file_pyc\n else:\n \n if _compile(file_py):\n if sys.flags.optimize ==0:\n fname=pycache_opt0\n elif sys.flags.optimize ==1:\n fname=pycache_opt1\n else:\n fname=pycache_opt2\n arcname=file_pyc\n else:\n fname=arcname=file_py\n else:\n \n if self._optimize ==0:\n fname=pycache_opt0\n arcname=file_pyc\n else:\n arcname=file_pyc\n if self._optimize ==1:\n fname=pycache_opt1\n elif self._optimize ==2:\n fname=pycache_opt2\n else:\n msg=\"invalid value for 'optimize': {!r}\".format(self._optimize)\n raise ValueError(msg)\n if not(os.path.isfile(fname)and\n os.stat(fname).st_mtime >=os.stat(file_py).st_mtime):\n if not _compile(file_py,optimize=self._optimize):\n fname=arcname=file_py\n archivename=os.path.split(arcname)[1]\n if basename:\n archivename=\"%s/%s\"%(basename,archivename)\n return(fname,archivename)\n \n \ndef _parents(path):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return itertools.islice(_ancestry(path),1,None)\n \n \ndef _ancestry(path):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n path=path.rstrip(posixpath.sep)\n while path and path !=posixpath.sep:\n yield path\n path,tail=posixpath.split(path)\n \n \n_dedupe=dict.fromkeys\n''\n\n\ndef _difference(minuend,subtrahend):\n ''\n\n\n \n return itertools.filterfalse(set(subtrahend).__contains__,minuend)\n \n \nclass CompleteDirs(ZipFile):\n ''\n\n\n \n \n @staticmethod\n def _implied_dirs(names):\n parents=itertools.chain.from_iterable(map(_parents,names))\n as_dirs=(p+posixpath.sep for p in parents)\n return _dedupe(_difference(as_dirs,names))\n \n def namelist(self):\n names=super(CompleteDirs,self).namelist()\n return names+list(self._implied_dirs(names))\n \n def _name_set(self):\n return set(self.namelist())\n \n def resolve_dir(self,name):\n ''\n\n\n \n names=self._name_set()\n dirname=name+'/'\n dir_match=name not in names and dirname in names\n return dirname if dir_match else name\n \n @classmethod\n def make(cls,source):\n ''\n\n\n \n if isinstance(source,CompleteDirs):\n return source\n \n if not isinstance(source,ZipFile):\n return cls(source)\n \n \n if 'r'not in source.mode:\n cls=CompleteDirs\n \n source.__class__=cls\n return source\n \n \nclass FastLookup(CompleteDirs):\n ''\n\n\n \n \n def namelist(self):\n with contextlib.suppress(AttributeError):\n return self.__names\n self.__names=super(FastLookup,self).namelist()\n return self.__names\n \n def _name_set(self):\n with contextlib.suppress(AttributeError):\n return self.__lookup\n self.__lookup=super(FastLookup,self)._name_set()\n return self.__lookup\n \n \nclass Path:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __repr=\"{self.__class__.__name__}({self.root.filename!r}, {self.at!r})\"\n \n def __init__(self,root,at=\"\"):\n ''\n\n\n\n\n\n\n\n \n self.root=FastLookup.make(root)\n self.at=at\n \n def open(self,mode='r',*args,pwd=None,**kwargs):\n ''\n\n\n\n \n if self.is_dir():\n raise IsADirectoryError(self)\n zip_mode=mode[0]\n if not self.exists()and zip_mode =='r':\n raise FileNotFoundError(self)\n stream=self.root.open(self.at,zip_mode,pwd=pwd)\n if 'b'in mode:\n if args or kwargs:\n raise ValueError(\"encoding args invalid for binary operation\")\n return stream\n else:\n kwargs[\"encoding\"]=io.text_encoding(kwargs.get(\"encoding\"))\n return io.TextIOWrapper(stream,*args,**kwargs)\n \n @property\n def name(self):\n return pathlib.Path(self.at).name or self.filename.name\n \n @property\n def suffix(self):\n return pathlib.Path(self.at).suffix or self.filename.suffix\n \n @property\n def suffixes(self):\n return pathlib.Path(self.at).suffixes or self.filename.suffixes\n \n @property\n def stem(self):\n return pathlib.Path(self.at).stem or self.filename.stem\n \n @property\n def filename(self):\n return pathlib.Path(self.root.filename).joinpath(self.at)\n \n def read_text(self,*args,**kwargs):\n kwargs[\"encoding\"]=io.text_encoding(kwargs.get(\"encoding\"))\n with self.open('r',*args,**kwargs)as strm:\n return strm.read()\n \n def read_bytes(self):\n with self.open('rb')as strm:\n return strm.read()\n \n def _is_child(self,path):\n return posixpath.dirname(path.at.rstrip(\"/\"))==self.at.rstrip(\"/\")\n \n def _next(self,at):\n return self.__class__(self.root,at)\n \n def is_dir(self):\n return not self.at or self.at.endswith(\"/\")\n \n def is_file(self):\n return self.exists()and not self.is_dir()\n \n def exists(self):\n return self.at in self.root._name_set()\n \n def iterdir(self):\n if not self.is_dir():\n raise ValueError(\"Can't listdir a file\")\n subs=map(self._next,self.root.namelist())\n return filter(self._is_child,subs)\n \n def __str__(self):\n return posixpath.join(self.root.filename,self.at)\n \n def __repr__(self):\n return self.__repr.format(self=self)\n \n def joinpath(self,*other):\n next=posixpath.join(self.at,*other)\n return self._next(self.root.resolve_dir(next))\n \n __truediv__=joinpath\n \n @property\n def parent(self):\n if not self.at:\n return self.filename.parent\n parent_at=posixpath.dirname(self.at.rstrip('/'))\n if parent_at:\n parent_at +='/'\n return self._next(parent_at)\n \n \ndef main(args=None):\n import argparse\n \n description='A simple command-line interface for zipfile module.'\n parser=argparse.ArgumentParser(description=description)\n group=parser.add_mutually_exclusive_group(required=True)\n group.add_argument('-l','--list',metavar='',\n help='Show listing of a zipfile')\n group.add_argument('-e','--extract',nargs=2,\n metavar=('',''),\n help='Extract zipfile into target dir')\n group.add_argument('-c','--create',nargs='+',\n metavar=('',''),\n help='Create zipfile from sources')\n group.add_argument('-t','--test',metavar='',\n help='Test if a zipfile is valid')\n parser.add_argument('--metadata-encoding',metavar='',\n help='Specify encoding of member names for -l, -e and -t')\n args=parser.parse_args(args)\n \n encoding=args.metadata_encoding\n \n if args.test is not None:\n src=args.test\n with ZipFile(src,'r',metadata_encoding=encoding)as zf:\n badfile=zf.testzip()\n if badfile:\n print(\"The following enclosed file is corrupted: {!r}\".format(badfile))\n print(\"Done testing\")\n \n elif args.list is not None:\n src=args.list\n with ZipFile(src,'r',metadata_encoding=encoding)as zf:\n zf.printdir()\n \n elif args.extract is not None:\n src,curdir=args.extract\n with ZipFile(src,'r',metadata_encoding=encoding)as zf:\n zf.extractall(curdir)\n \n elif args.create is not None:\n if encoding:\n print(\"Non-conforming encodings not supported with -c.\",\n file=sys.stderr)\n sys.exit(1)\n \n zip_name=args.create.pop(0)\n files=args.create\n \n def addToZip(zf,path,zippath):\n if os.path.isfile(path):\n zf.write(path,zippath,ZIP_DEFLATED)\n elif os.path.isdir(path):\n if zippath:\n zf.write(path,zippath)\n for nm in sorted(os.listdir(path)):\n addToZip(zf,\n os.path.join(path,nm),os.path.join(zippath,nm))\n \n \n with ZipFile(zip_name,'w')as zf:\n for path in files:\n zippath=os.path.basename(path)\n if not zippath:\n zippath=os.path.basename(os.path.dirname(path))\n if zippath in('',os.curdir,os.pardir):\n zippath=''\n addToZip(zf,path,zippath)\n \n \nif __name__ ==\"__main__\":\n main()\n",["argparse","binascii","bz2","contextlib","importlib.util","io","itertools","lzma","os","pathlib","posixpath","py_compile","shutil","stat","struct","sys","threading","time","warnings","zlib"]],zipimport:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport _frozen_importlib_external as _bootstrap_external\nfrom _frozen_importlib_external import _unpack_uint16,_unpack_uint32\nimport _frozen_importlib as _bootstrap\nimport _imp\nimport _io\nimport marshal\nimport sys\nimport time\nimport _warnings\n\n__all__=['ZipImportError','zipimporter']\n\n\npath_sep=_bootstrap_external.path_sep\nalt_path_sep=_bootstrap_external.path_separators[1:]\n\n\nclass ZipImportError(ImportError):\n pass\n \n \n_zip_directory_cache={}\n\n_module_type=type(sys)\n\nEND_CENTRAL_DIR_SIZE=22\nSTRING_END_ARCHIVE=b'PK\\x05\\x06'\nMAX_COMMENT_LEN=(1 <<16)-1\n\nclass zipimporter(_bootstrap_external._LoaderBasics):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n def __init__(self,path):\n if not isinstance(path,str):\n raise TypeError(f\"expected str, not {type(path)!r}\")\n if not path:\n raise ZipImportError('archive path is empty',path=path)\n if alt_path_sep:\n path=path.replace(alt_path_sep,path_sep)\n \n prefix=[]\n while True:\n try:\n st=_bootstrap_external._path_stat(path)\n except(OSError,ValueError):\n \n \n dirname,basename=_bootstrap_external._path_split(path)\n if dirname ==path:\n raise ZipImportError('not a Zip file',path=path)\n path=dirname\n prefix.append(basename)\n else:\n \n if(st.st_mode&0o170000)!=0o100000:\n \n raise ZipImportError('not a Zip file',path=path)\n break\n \n try:\n files=_zip_directory_cache[path]\n except KeyError:\n files=_read_directory(path)\n _zip_directory_cache[path]=files\n self._files=files\n self.archive=path\n \n self.prefix=_bootstrap_external._path_join(*prefix[::-1])\n if self.prefix:\n self.prefix +=path_sep\n \n \n def find_spec(self,fullname,target=None):\n ''\n\n\n \n module_info=_get_module_info(self,fullname)\n if module_info is not None:\n return _bootstrap.spec_from_loader(fullname,self,is_package=module_info)\n else:\n \n \n \n \n \n modpath=_get_module_path(self,fullname)\n if _is_dir(self,modpath):\n \n \n \n path=f'{self.archive}{path_sep}{modpath}'\n spec=_bootstrap.ModuleSpec(name=fullname,loader=None,\n is_package=True)\n spec.submodule_search_locations.append(path)\n return spec\n else:\n return None\n \n def get_code(self,fullname):\n ''\n\n\n\n \n code,ispackage,modpath=_get_module_code(self,fullname)\n return code\n \n \n def get_data(self,pathname):\n ''\n\n\n\n \n if alt_path_sep:\n pathname=pathname.replace(alt_path_sep,path_sep)\n \n key=pathname\n if pathname.startswith(self.archive+path_sep):\n key=pathname[len(self.archive+path_sep):]\n \n try:\n toc_entry=self._files[key]\n except KeyError:\n raise OSError(0,'',key)\n return _get_data(self.archive,toc_entry)\n \n \n \n def get_filename(self,fullname):\n ''\n\n\n\n \n \n \n code,ispackage,modpath=_get_module_code(self,fullname)\n return modpath\n \n \n def get_source(self,fullname):\n ''\n\n\n\n\n \n mi=_get_module_info(self,fullname)\n if mi is None:\n raise ZipImportError(f\"can't find module {fullname !r}\",name=fullname)\n \n path=_get_module_path(self,fullname)\n if mi:\n fullpath=_bootstrap_external._path_join(path,'__init__.py')\n else:\n fullpath=f'{path}.py'\n \n try:\n toc_entry=self._files[fullpath]\n except KeyError:\n \n return None\n return _get_data(self.archive,toc_entry).decode()\n \n \n \n def is_package(self,fullname):\n ''\n\n\n\n \n mi=_get_module_info(self,fullname)\n if mi is None:\n raise ZipImportError(f\"can't find module {fullname !r}\",name=fullname)\n return mi\n \n \n \n def load_module(self,fullname):\n ''\n\n\n\n\n\n\n \n msg=(\"zipimport.zipimporter.load_module() is deprecated and slated for \"\n \"removal in Python 3.12; use exec_module() instead\")\n _warnings.warn(msg,DeprecationWarning)\n code,ispackage,modpath=_get_module_code(self,fullname)\n mod=sys.modules.get(fullname)\n if mod is None or not isinstance(mod,_module_type):\n mod=_module_type(fullname)\n sys.modules[fullname]=mod\n mod.__loader__=self\n \n try:\n if ispackage:\n \n \n path=_get_module_path(self,fullname)\n fullpath=_bootstrap_external._path_join(self.archive,path)\n mod.__path__=[fullpath]\n \n if not hasattr(mod,'__builtins__'):\n mod.__builtins__=__builtins__\n _bootstrap_external._fix_up_module(mod.__dict__,fullname,modpath)\n exec(code,mod.__dict__)\n except:\n del sys.modules[fullname]\n raise\n \n try:\n mod=sys.modules[fullname]\n except KeyError:\n raise ImportError(f'Loaded module {fullname !r} not found in sys.modules')\n _bootstrap._verbose_message('import {} # loaded from Zip {}',fullname,modpath)\n return mod\n \n \n def get_resource_reader(self,fullname):\n ''\n\n\n\n \n try:\n if not self.is_package(fullname):\n return None\n except ZipImportError:\n return None\n from importlib.readers import ZipReader\n return ZipReader(self,fullname)\n \n \n def invalidate_caches(self):\n ''\n try:\n self._files=_read_directory(self.archive)\n _zip_directory_cache[self.archive]=self._files\n except ZipImportError:\n _zip_directory_cache.pop(self.archive,None)\n self._files={}\n \n \n def __repr__(self):\n return f''\n \n \n \n \n \n \n \n_zip_searchorder=(\n(path_sep+'__init__.pyc',True,True),\n(path_sep+'__init__.py',False,True),\n('.pyc',True,False),\n('.py',False,False),\n)\n\n\n\ndef _get_module_path(self,fullname):\n return self.prefix+fullname.rpartition('.')[2]\n \n \ndef _is_dir(self,path):\n\n\n\n dirpath=path+path_sep\n \n return dirpath in self._files\n \n \ndef _get_module_info(self,fullname):\n path=_get_module_path(self,fullname)\n for suffix,isbytecode,ispackage in _zip_searchorder:\n fullpath=path+suffix\n if fullpath in self._files:\n return ispackage\n return None\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \ndef _read_directory(archive):\n try:\n fp=_io.open_code(archive)\n except OSError:\n raise ZipImportError(f\"can't open Zip file: {archive !r}\",path=archive)\n \n with fp:\n \n \n \n start_offset=fp.tell()\n try:\n try:\n fp.seek(-END_CENTRAL_DIR_SIZE,2)\n header_position=fp.tell()\n buffer=fp.read(END_CENTRAL_DIR_SIZE)\n except OSError:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",path=archive)\n if len(buffer)!=END_CENTRAL_DIR_SIZE:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",path=archive)\n if buffer[:4]!=STRING_END_ARCHIVE:\n \n \n try:\n fp.seek(0,2)\n file_size=fp.tell()\n except OSError:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",\n path=archive)\n max_comment_start=max(file_size -MAX_COMMENT_LEN -\n END_CENTRAL_DIR_SIZE,0)\n try:\n fp.seek(max_comment_start)\n data=fp.read()\n except OSError:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",\n path=archive)\n pos=data.rfind(STRING_END_ARCHIVE)\n if pos <0:\n raise ZipImportError(f'not a Zip file: {archive !r}',\n path=archive)\n buffer=data[pos:pos+END_CENTRAL_DIR_SIZE]\n if len(buffer)!=END_CENTRAL_DIR_SIZE:\n raise ZipImportError(f\"corrupt Zip file: {archive !r}\",\n path=archive)\n header_position=file_size -len(data)+pos\n \n header_size=_unpack_uint32(buffer[12:16])\n header_offset=_unpack_uint32(buffer[16:20])\n if header_position header_offset:\n raise ZipImportError(f'bad local header offset: {archive !r}',path=archive)\n file_offset +=arc_offset\n \n try:\n name=fp.read(name_size)\n except OSError:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",path=archive)\n if len(name)!=name_size:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",path=archive)\n \n \n \n try:\n if len(fp.read(header_size -name_size))!=header_size -name_size:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",path=archive)\n except OSError:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",path=archive)\n \n if flags&0x800:\n \n name=name.decode()\n else:\n \n try:\n name=name.decode('ascii')\n except UnicodeDecodeError:\n name=name.decode('latin1').translate(cp437_table)\n \n name=name.replace('/',path_sep)\n path=_bootstrap_external._path_join(archive,name)\n t=(path,compress,data_size,file_size,file_offset,time,date,crc)\n files[name]=t\n count +=1\n finally:\n fp.seek(start_offset)\n _bootstrap._verbose_message('zipimport: found {} names in {!r}',count,archive)\n return files\n \n \n \n \n \n \n \ncp437_table=(\n\n'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r\\x0e\\x0f'\n'\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f'\n' !\"#$%&\\'()*+,-./'\n'0123456789:;<=>?'\n'@ABCDEFGHIJKLMNO'\n'PQRSTUVWXYZ[\\\\]^_'\n'`abcdefghijklmno'\n'pqrstuvwxyz{|}~\\x7f'\n\n'\\xc7\\xfc\\xe9\\xe2\\xe4\\xe0\\xe5\\xe7'\n'\\xea\\xeb\\xe8\\xef\\xee\\xec\\xc4\\xc5'\n'\\xc9\\xe6\\xc6\\xf4\\xf6\\xf2\\xfb\\xf9'\n'\\xff\\xd6\\xdc\\xa2\\xa3\\xa5\\u20a7\\u0192'\n'\\xe1\\xed\\xf3\\xfa\\xf1\\xd1\\xaa\\xba'\n'\\xbf\\u2310\\xac\\xbd\\xbc\\xa1\\xab\\xbb'\n'\\u2591\\u2592\\u2593\\u2502\\u2524\\u2561\\u2562\\u2556'\n'\\u2555\\u2563\\u2551\\u2557\\u255d\\u255c\\u255b\\u2510'\n'\\u2514\\u2534\\u252c\\u251c\\u2500\\u253c\\u255e\\u255f'\n'\\u255a\\u2554\\u2569\\u2566\\u2560\\u2550\\u256c\\u2567'\n'\\u2568\\u2564\\u2565\\u2559\\u2558\\u2552\\u2553\\u256b'\n'\\u256a\\u2518\\u250c\\u2588\\u2584\\u258c\\u2590\\u2580'\n'\\u03b1\\xdf\\u0393\\u03c0\\u03a3\\u03c3\\xb5\\u03c4'\n'\\u03a6\\u0398\\u03a9\\u03b4\\u221e\\u03c6\\u03b5\\u2229'\n'\\u2261\\xb1\\u2265\\u2264\\u2320\\u2321\\xf7\\u2248'\n'\\xb0\\u2219\\xb7\\u221a\\u207f\\xb2\\u25a0\\xa0'\n)\n\n_importing_zlib=False\n\n\n\n\ndef _get_decompress_func():\n global _importing_zlib\n if _importing_zlib:\n \n \n _bootstrap._verbose_message('zipimport: zlib UNAVAILABLE')\n raise ZipImportError(\"can't decompress data; zlib not available\")\n \n _importing_zlib=True\n try:\n from zlib import decompress\n except Exception:\n _bootstrap._verbose_message('zipimport: zlib UNAVAILABLE')\n raise ZipImportError(\"can't decompress data; zlib not available\")\n finally:\n _importing_zlib=False\n \n _bootstrap._verbose_message('zipimport: zlib available')\n return decompress\n \n \ndef _get_data(archive,toc_entry):\n datapath,compress,data_size,file_size,file_offset,time,date,crc=toc_entry\n if data_size <0:\n raise ZipImportError('negative data size')\n \n with _io.open_code(archive)as fp:\n \n try:\n fp.seek(file_offset)\n except OSError:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",path=archive)\n buffer=fp.read(30)\n if len(buffer)!=30:\n raise EOFError('EOF read where not expected')\n \n if buffer[:4]!=b'PK\\x03\\x04':\n \n raise ZipImportError(f'bad local file header: {archive !r}',path=archive)\n \n name_size=_unpack_uint16(buffer[26:28])\n extra_size=_unpack_uint16(buffer[28:30])\n header_size=30+name_size+extra_size\n file_offset +=header_size\n try:\n fp.seek(file_offset)\n except OSError:\n raise ZipImportError(f\"can't read Zip file: {archive !r}\",path=archive)\n raw_data=fp.read(data_size)\n if len(raw_data)!=data_size:\n raise OSError(\"zipimport: can't read data\")\n \n if compress ==0:\n \n return raw_data\n \n \n try:\n decompress=_get_decompress_func()\n except Exception:\n raise ZipImportError(\"can't decompress data; zlib not available\")\n return decompress(raw_data,-15)\n \n \n \n \n \ndef _eq_mtime(t1,t2):\n\n return abs(t1 -t2)<=1\n \n \n \n \n \ndef _unmarshal_code(self,pathname,fullpath,fullname,data):\n exc_details={\n 'name':fullname,\n 'path':fullpath,\n }\n \n flags=_bootstrap_external._classify_pyc(data,fullname,exc_details)\n \n hash_based=flags&0b1 !=0\n if hash_based:\n check_source=flags&0b10 !=0\n if(_imp.check_hash_based_pycs !='never'and\n (check_source or _imp.check_hash_based_pycs =='always')):\n source_bytes=_get_pyc_source(self,fullpath)\n if source_bytes is not None:\n source_hash=_imp.source_hash(\n _bootstrap_external._RAW_MAGIC_NUMBER,\n source_bytes,\n )\n \n _bootstrap_external._validate_hash_pyc(\n data,source_hash,fullname,exc_details)\n else:\n source_mtime,source_size=\\\n _get_mtime_and_size_of_source(self,fullpath)\n \n if source_mtime:\n \n \n if(not _eq_mtime(_unpack_uint32(data[8:12]),source_mtime)or\n _unpack_uint32(data[12:16])!=source_size):\n _bootstrap._verbose_message(\n f'bytecode is stale for {fullname !r}')\n return None\n \n code=marshal.loads(data[16:])\n if not isinstance(code,_code_type):\n raise TypeError(f'compiled module {pathname !r} is not a code object')\n return code\n \n_code_type=type(_unmarshal_code.__code__)\n\n\n\n\ndef _normalize_line_endings(source):\n source=source.replace(b'\\r\\n',b'\\n')\n source=source.replace(b'\\r',b'\\n')\n return source\n \n \n \ndef _compile_source(pathname,source):\n source=_normalize_line_endings(source)\n return compile(source,pathname,'exec',dont_inherit=True)\n \n \n \ndef _parse_dostime(d,t):\n return time.mktime((\n (d >>9)+1980,\n (d >>5)&0xF,\n d&0x1F,\n t >>11,\n (t >>5)&0x3F,\n (t&0x1F)*2,\n -1,-1,-1))\n \n \n \n \ndef _get_mtime_and_size_of_source(self,path):\n try:\n \n assert path[-1:]in('c','o')\n path=path[:-1]\n toc_entry=self._files[path]\n \n \n time=toc_entry[5]\n date=toc_entry[6]\n uncompressed_size=toc_entry[3]\n return _parse_dostime(date,time),uncompressed_size\n except(KeyError,IndexError,TypeError):\n return 0,0\n \n \n \n \n \ndef _get_pyc_source(self,path):\n\n assert path[-1:]in('c','o')\n path=path[:-1]\n \n try:\n toc_entry=self._files[path]\n except KeyError:\n return None\n else:\n return _get_data(self.archive,toc_entry)\n \n \n \n \ndef _get_module_code(self,fullname):\n path=_get_module_path(self,fullname)\n import_error=None\n for suffix,isbytecode,ispackage in _zip_searchorder:\n fullpath=path+suffix\n _bootstrap._verbose_message('trying {}{}{}',self.archive,path_sep,fullpath,verbosity=2)\n try:\n toc_entry=self._files[fullpath]\n except KeyError:\n pass\n else:\n modpath=toc_entry[0]\n data=_get_data(self.archive,toc_entry)\n code=None\n if isbytecode:\n try:\n code=_unmarshal_code(self,modpath,fullpath,fullname,data)\n except ImportError as exc:\n import_error=exc\n else:\n code=_compile_source(modpath,data)\n if code is None:\n \n \n continue\n modpath=toc_entry[0]\n return code,ispackage,modpath\n else:\n if import_error:\n msg=f\"module load failed: {import_error}\"\n raise ZipImportError(msg,name=fullname)from import_error\n else:\n raise ZipImportError(f\"can't find module {fullname !r}\",name=fullname)\n",["_frozen_importlib","_frozen_importlib_external","_imp","_io","_warnings","importlib.readers","marshal","sys","time","zlib"]],zlib:[".py",'\'\'\n\n\n\nfrom _zlib_utils import lz_generator,crc32\n\nDEFLATED=8\nDEF_BUF_SIZE=16384\nDEF_MEM_LEVEL=8\nMAX_WBITS=15\nZLIB_RUNTIME_VERSION=\'1.2.11\'\nZLIB_VERSION=\'1.2.11\'\nZ_BEST_COMPRESSION=9\nZ_BEST_SPEED=1\nZ_BLOCK=5\nZ_DEFAULT_COMPRESSION=-1\nZ_DEFAULT_STRATEGY=0\nZ_FILTERED=1\nZ_FINISH=4\nZ_FIXED=4\nZ_FULL_FLUSH=3\nZ_HUFFMAN_ONLY=2\nZ_NO_COMPRESSION=0\nZ_NO_FLUSH=0\nZ_PARTIAL_FLUSH=1\nZ_RLE=3\nZ_SYNC_FLUSH=2\nZ_TREES=6\n\nclass BitIO:\n\n def __init__(self,bytestream=None):\n self.bytestream=bytearray(bytestream or[])\n self.bytenum=0\n self.bitnum=0\n self.revbits=0\n self.position=0\n self.bitcoef=1\n \n @property\n def pos(self):\n return self.bytenum *8+self.bitnum\n \n def read(self,nb,order="lsf",trace=False):\n result=0\n coef=1 if order =="lsf"else 2 **(nb -1)\n for _ in range(nb):\n if self.bitnum ==8:\n if self.bytenum ==len(self.bytestream)-1:\n return None\n self.bytenum +=1\n self.bitnum=0\n mask=2 **self.bitnum\n if trace:\n print("byte",self.bytenum,"bitnum",self.bitnum,\n "bit",int(bool(mask&self.bytestream[self.bytenum])))\n result +=coef *bool(mask&self.bytestream[self.bytenum])\n self.bitnum +=1\n if order =="lsf":\n coef *=2\n else:\n coef //=2\n return result\n \n def move(self,nb):\n if nb ==0:\n return\n elif nb >0:\n bitpos=self.bitnum+nb\n while bitpos >7:\n self.bytenum +=1\n if self.bytenum ==len(self.bytestream):\n raise Exception("can\'t move {} bits".format(nb))\n bitpos -=8\n self.bitnum=bitpos\n else:\n bitpos=self.bitnum+nb\n while bitpos <0:\n self.bytenum -=1\n if self.bytenum ==-1:\n raise Exception("can\'t move {} bits".format(nb))\n bitpos +=8\n self.bitnum=bitpos\n \n def show(self):\n res=""\n for x in self.bytestream:\n s=str(bin(x))[2:]\n s="0"*(8 -len(s))+s\n res +=s+" "\n return res\n \n def write(self,*bits):\n for bit in bits:\n self.write_bit(bit)\n \n def write_int(self,value,nb,order="lsf"):\n \'\'\n v=value\n if value >=2 **nb:\n raise ValueError("can\'t write value on {} bits".format(nb))\n bits=[]\n while value:\n bits.append(value&1)\n value >>=1\n \n bits=bits+[0]*(nb -len(bits))\n if order !="lsf":\n bits.reverse()\n assert len(bits)==nb\n self.write(*bits)\n \n def write_bit(self,v):\n self.revbits +=self.bitcoef *v\n self.bitcoef *=2\n if self.bitcoef ==256:\n self.flush()\n \n def pad_last(self):\n if self.bitcoef !=1:\n self.flush()\n \n def flush(self):\n self.bytestream.append(self.revbits)\n self.bitcoef=1\n self.revbits=0\n \nclass Error(Exception):\n pass\n \n \nclass ResizeError(Exception):\n pass\n \n \nclass Node:\n\n def __init__(self,char=None,weight=0,level=0):\n self.char=char\n self.is_leaf=char is not None\n self.level=level\n self.weight=weight\n \n def add(self,children):\n self.children=children\n for child in self.children:\n child.parent=self\n child.level=self.level+1\n \n def __repr__(self):\n return f""\n \nclass Tree:\n\n def __init__(self,root):\n self.root=root\n \n def length(self):\n self.root.level=0\n node=self.root\n nb_levels=0\n def set_level(node):\n nonlocal nb_levels\n for child in node.children:\n child.level=node.level+1\n nb_levels=max(nb_levels,child.level)\n if not child.is_leaf:\n set_level(child)\n set_level(self.root)\n return nb_levels\n \n def reduce_tree(self):\n \'\'\n\n\n \n currentlen=self.length()\n deepest=self.nodes_at(currentlen)\n deepest_leaves=[node for node in deepest if node.is_leaf]\n rightmost_leaf=deepest_leaves[-1]\n sibling=rightmost_leaf.parent.children[0]\n \n \n parent=rightmost_leaf.parent\n grand_parent=parent.parent\n rank=grand_parent.children.index(parent)\n children=grand_parent.children\n children[rank]=rightmost_leaf\n grand_parent.add(children)\n \n \n up_level=rightmost_leaf.level -2\n while up_level >0:\n nodes=self.nodes_at(up_level)\n leaf_nodes=[node for node in nodes if node.is_leaf]\n if leaf_nodes:\n leftmost_leaf=leaf_nodes[0]\n \n parent=leftmost_leaf.parent\n rank=parent.children.index(leftmost_leaf)\n new_node=Node()\n new_node.level=leftmost_leaf.level\n children=[sibling,leftmost_leaf]\n new_node.add(children)\n parent.children[rank]=new_node\n new_node.parent=parent\n break\n else:\n up_level -=1\n if up_level ==0:\n raise ResizeError\n \n def nodes_at(self,level,top=None):\n \'\'\n res=[]\n if top is None:\n top=self.root\n if top.level ==level:\n res=[top]\n elif not top.is_leaf:\n for child in top.children:\n res +=self.nodes_at(level,child)\n return res\n \n def reduce(self,maxlevels):\n \'\'\n while self.length()>maxlevels:\n self.reduce_tree()\n \n def codes(self,node=None,code=\'\'):\n \'\'\n \n if node is None:\n self.dic={}\n node=self.root\n if node.is_leaf:\n self.dic[node.char]=code\n else:\n for i,child in enumerate(node.children):\n self.codes(child,code+str(i))\n return self.dic\n \n \ndef codelengths_from_frequencies(freqs):\n \'\'\n\n\n\n \n freqs=sorted(freqs.items(),\n key=lambda item:(item[1],-item[0]),reverse=True)\n nodes=[Node(char=key,weight=value)for(key,value)in freqs]\n while len(nodes)>1:\n right,left=nodes.pop(),nodes.pop()\n node=Node(weight=right.weight+left.weight)\n node.add([left,right])\n if not nodes:\n nodes.append(node)\n else:\n pos=0\n while pos node.weight:\n pos +=1\n nodes.insert(pos,node)\n \n top=nodes[0]\n tree=Tree(top)\n tree.reduce(15)\n \n codes=tree.codes()\n \n code_items=list(codes.items())\n code_items.sort(key=lambda item:(len(item[1]),item[0]))\n return[(car,len(value))for car,value in code_items]\n \ndef normalized(codelengths):\n car,codelength=codelengths[0]\n value=0\n codes={car:"0"*codelength}\n \n for(newcar,nbits)in codelengths[1:]:\n value +=1\n bvalue=str(bin(value))[2:]\n bvalue="0"*(codelength -len(bvalue))+bvalue\n if nbits >codelength:\n codelength=nbits\n bvalue +="0"*(codelength -len(bvalue))\n value=int(bvalue,2)\n assert len(bvalue)==nbits,(len(bvalue),\'!=\',nbits,\'for\',newcar,nbits)\n codes[newcar]=bvalue\n \n return codes\n \ndef make_tree(node,codes):\n if not hasattr(node,"parent"):\n node.code=\'\'\n children=[]\n for bit in \'01\':\n next_code=node.code+bit\n if next_code in codes:\n child=Node(char=codes[next_code])\n else:\n child=Node()\n child.code=next_code\n children.append(child)\n node.add(children)\n for child in children:\n if not child.is_leaf:\n make_tree(child,codes)\n \ndef decompresser(codelengths):\n lengths=list(codelengths.items())\n \n lengths=[x for x in lengths if x[1]>0]\n lengths.sort(key=lambda item:(item[1],item[0]))\n codes=normalized(lengths)\n codes={value:key for key,value in codes.items()}\n root=Node()\n make_tree(root,codes)\n return{"root":root,"codes":codes}\n \ndef tree_from_codelengths(codelengths):\n return decompresser(codelengths)["root"]\n \nclass error(Exception):\n pass\n \n \nfixed_codelengths={}\nfor car in range(144):\n fixed_codelengths[car]=8\nfor car in range(144,256):\n fixed_codelengths[car]=9\nfor car in range(256,280):\n fixed_codelengths[car]=7\nfor car in range(280,288):\n fixed_codelengths[car]=8\n \nfixed_decomp=decompresser(fixed_codelengths)\nfixed_lit_len_tree=fixed_decomp["root"]\nfixed_lit_len_codes={value:key\nfor(key,value)in fixed_decomp["codes"].items()}\n\ndef decomp_repeat(n):\n if n <=6:\n return[n]\n elif n <=9:\n return[n -3,3]\n elif n <=12:\n return[6,n -6]\n t=[]\n while n >12:\n t.append(6)\n n -=6\n t +=decomp(n)\n return t\n \ndef cl_encode(lengths):\n \'\'\n \n dic={char:len(code)for(char,code)in lengths.items()}\n items=[dic.get(i,0)for i in range(max(dic)+1)]\n pos=0\n while pos 256:\n \n if child.char <265:\n length=child.char -254\n elif child.char <269:\n length=11+2 *(child.char -265)+reader.read(1)\n elif child.char <273:\n length=19+4 *(child.char -269)+reader.read(2)\n elif child.char <277:\n length=35+8 *(child.char -273)+reader.read(3)\n elif child.char <281:\n length=67+16 *(child.char -277)+reader.read(4)\n elif child.char <285:\n length=131+32 *(child.char -281)+reader.read(5)\n elif child.char ==285:\n length=258\n return("length",length)\n else:\n node=child\n \ndef adler32(source):\n a=1\n b=0\n for byte in source:\n a +=byte\n a %=65521\n b +=a\n b %=65521\n return a,b\n \n \ndef compress_dynamic(out,source,store,lit_len_count,distance_count):\n write_int=out.write_int\n \n \n lit_len_count[256]=1\n \n \n \n \n \n \n lengths=codelengths_from_frequencies(lit_len_count)\n lit_len_codes=normalized(lengths)\n \n HLIT=1+max(lit_len_codes)-257\n \n \n \n \n \n \n coded_lit_len=list(cl_encode(lit_len_codes))\n \n \n distance_codes=normalized(codelengths_from_frequencies(distance_count))\n HDIST=max(distance_codes)\n coded_distance=list(cl_encode(distance_codes))\n \n \n codelengths_count={}\n for coded in coded_lit_len,coded_distance:\n for item in coded:\n length=item[0]if isinstance(item,tuple)else item\n codelengths_count[length]=codelengths_count.get(length,0)+1\n \n \n codelengths_codes=normalized(\n codelengths_from_frequencies(codelengths_count))\n codelengths_dict={char:len(value)\n for(char,value)in codelengths_codes.items()}\n \n alphabet=(16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,\n 15)\n \n \n codelengths_list=[codelengths_dict.get(car,0)for car in alphabet]\n \n while codelengths_list[-1]==0:\n codelengths_list.pop()\n HCLEN=len(codelengths_list)-4\n \n out.write(0,1)\n \n write_int(HLIT,5)\n write_int(HDIST,5)\n write_int(HCLEN,4)\n \n \n for length,car in zip(codelengths_list,alphabet):\n write_int(length,3)\n \n \n t=[]\n pr=lambda *args:t.append(args)\n for item in coded_lit_len+coded_distance:\n if isinstance(item,tuple):\n length,extra=item\n code=codelengths_codes[length]\n value,nbits=int(code,2),len(code)\n write_int(value,nbits,order="msf")\n if length ==16:\n write_int(extra,2)\n elif length ==17:\n write_int(extra,3)\n elif length ==18:\n write_int(extra,7)\n else:\n code=codelengths_codes[item]\n value,nbits=int(code,2),len(code)\n write_int(value,nbits,order="msf")\n \n \n for item in store:\n if isinstance(item,tuple):\n length,extra_length,distance,extra_distance=item\n \n code=lit_len_codes[length]\n value,nb=int(code,2),len(code)\n write_int(value,nb,order="msf")\n \n value,nb=extra_length\n if nb:\n write_int(value,nb)\n \n code=distance_codes[distance]\n value,nb=int(code,2),len(code)\n write_int(value,nb,order="msf")\n \n value,nb=extra_distance\n if nb:\n write_int(value,nb)\n else:\n literal=item\n code=lit_len_codes[item]\n value,nb=int(code,2),len(code)\n write_int(value,nb,order="msf")\n \ndef compress_fixed(out,source,items):\n \'\'\n out.write(1,0)\n \n for item in items:\n if isinstance(item,tuple):\n length,extra_length,distance,extra_distance=item\n \n code=fixed_lit_len_codes[length]\n value,nb=int(code,2),len(code)\n out.write_int(value,nb,order="msf")\n \n value,nb=extra_length\n if nb:\n out.write_int(value,nb)\n \n out.write_int(distance,5,order="msf")\n \n value,nb=extra_distance\n if nb:\n out.write_int(value,nb)\n else:\n literal=item\n code=fixed_lit_len_codes[item]\n value,nb=int(code,2),len(code)\n out.write_int(value,nb,order="msf")\n \ndef compress(data,/,level=-1,wbits=MAX_WBITS):\n\n window_size=32 *1024\n \n \n out=BitIO()\n \n \n out.write_int(8,4)\n size=window_size >>8\n nb=0\n while size >1:\n size >>=1\n nb +=1\n out.write_int(nb,4)\n out.write_int(0x9c,8)\n header=out.bytestream\n compressor=_Compressor(level)\n payload=compressor.compress(data)+compressor.flush()\n a,b=adler32(data)\n checksum=divmod(b,256)+divmod(a,256)\n return header+payload+bytes(checksum)\n \ndef convert32bits(n):\n result=[]\n for _ in range(4):\n n,rest=divmod(n,256)\n result.append(rest)\n return result\n \nclass _Compressor:\n\n def __init__(self,level=-1,method=DEFLATED,wbits=MAX_WBITS,\n memLevel=DEF_MEM_LEVEL,strategy=Z_DEFAULT_STRATEGY,\n zdict=None):\n self.level=level\n self.method=method\n self.wbits=wbits\n self.window_size=32 *1024\n self.memLevel=memLevel\n self.strategy=strategy\n self.zdict=zdict\n self._flushed=False\n \n def compress(self,source):\n \n \n lit_len_count={}\n \n \n distance_count={}\n \n store=[]\n replaced=0\n nb_tuples=0\n \n for item in lz_generator(source,self.window_size):\n if isinstance(item,tuple):\n nb_tuples +=1\n length,distance=item\n replaced +=length\n \n \n length_code,*extra_length=length_to_code(length)\n \n lit_len_count[length_code]=lit_len_count.get(length_code,0)+1\n \n \n \n distance_code,*extra_dist=distance_to_code(distance)\n \n distance_count[distance_code]=\\\n distance_count.get(distance_code,0)+1\n \n \n store.append((length_code,extra_length,distance_code,\n extra_dist))\n else:\n literal=item\n lit_len_count[literal]=lit_len_count.get(literal,0)+1\n store.append(literal)\n \n store.append(256)\n \n \n \n \n score=replaced -100 -(nb_tuples *20 //8)\n \n \n out=BitIO()\n \n out.write(1)\n \n if score <0:\n compress_fixed(out,source,store)\n else:\n compress_dynamic(out,source,store,lit_len_count,distance_count)\n \n \n out.pad_last()\n \n self._compressed=bytes(out.bytestream)\n \n return b\'\'\n \n def flush(self,mode=Z_FINISH):\n if self._flushed:\n raise Error(\'inconsistent flush state\')\n self._flushed=True\n return self._compressed\n \n \ndef compressobj(level=-1,method=DEFLATED,wbits=MAX_WBITS,\nmemLevel=DEF_MEM_LEVEL,strategy=Z_DEFAULT_STRATEGY,\nzdict=None):\n return _Compressor(level,method,wbits,memLevel,strategy,zdict)\n \n \ndef decompress(data,/,wbits=MAX_WBITS,bufsize=DEF_BUF_SIZE):\n if wbits >0:\n decompressor=_Decompressor(wbits,bufsize)\n source=BitIO(data)\n assert source.read(4)==8\n nb=source.read(4)\n window_size=2 **(nb+8)\n assert source.read(8)==0x9c\n checksum=data[-4:]\n a=256 *checksum[2]+checksum[3]\n b=256 *checksum[0]+checksum[1]\n assert a,b ==adler32(data)\n return decompressor.decompress(data[2:-4])\n else:\n decompressor=_Decompressor(-wbits,bufsize)\n return decompressor.decompress(data)\n \nclass _Decompressor:\n\n def __init__(self,wbits=MAX_WBITS,bufsize=DEF_BUF_SIZE,zdict=None):\n self.wbits=wbits\n self.bufsize=bufsize\n self.zdict=zdict\n self.eof=False\n self.unconsumed_tail=b\'\'\n self.unused_data=b\'\'\n \n def decompress(self,data,max_length=0):\n self.data=data\n if data ==b\'\':\n return data\n \n reader=self._reader=BitIO(data)\n \n result=bytearray()\n \n while True:\n BFINAL=reader.read(1)\n \n BTYPE=reader.read(2)\n \n if BTYPE ==0b01:\n \n \n root=fixed_lit_len_tree\n \n while True:\n \n _type,value=read_literal_or_length(reader,root)\n if _type ==\'eob\':\n break\n elif _type ==\'literal\':\n result.append(value)\n elif _type ==\'length\':\n length=value\n \n dist_code=reader.read(5,"msf")\n if dist_code <3:\n distance=dist_code+1\n else:\n nb=(dist_code //2)-1\n extra=reader.read(nb)\n half,delta=divmod(dist_code,2)\n distance=(1+(2 **half)+\n delta *(2 **(half -1))+extra)\n for _ in range(length):\n result.append(result[-distance])\n \n node=root\n else:\n node=child\n elif BTYPE ==0b10:\n \n \n \n lit_len_tree,distance_tree=dynamic_trees(reader)\n \n t=[]\n while True:\n \n _type,value=read_literal_or_length(reader,lit_len_tree)\n if _type ==\'eob\':\n break\n elif _type ==\'literal\':\n result.append(value)\n t.append(value)\n elif _type ==\'length\':\n \n length=value\n distance=read_distance(reader,distance_tree)\n t.append([length,distance])\n for _ in range(length):\n result.append(result[-distance])\n \n if BFINAL:\n rank=reader.bytenum\n self.unused_data=bytes(data[rank+1:])\n self.eof=True\n return bytes(result)\n \ndef decompressobj(wbits=MAX_WBITS,zdict=None):\n return _Decompressor(wbits,zdict)\n',["_zlib_utils"]],_aio:[".py","from browser.aio import run,sleep,Future\n\n\ndef _task(coro,Id,block):\n async def _task():\n block[Id]=None\n try:\n block[Id]=await coro\n except Exception as e:\n block[Id]=e\n \n if not block[Id]:\n del block[Id]\n return _task()\n \n \nasync def gather(*coros,rate=0):\n dones={}\n counts=0\n for c in coros:\n run(_task(c,f'task{counts}',dones))\n counts +=1\n while not all(dones.values()):\n await sleep(rate)\n return dones\n \n \nclass QueueEmpty(Exception):\n pass\n \n \nclass QueueFull(Exception):\n pass\n \n \nclass Queue(object):\n\n def __init__(self,maxsize=0):\n from collections import deque\n self.maxsize=maxsize\n self.data=deque(maxlen=maxsize or None)\n self.readers=deque()\n self.writers=deque()\n self.joiners=deque()\n self.tasks=0\n \n def qsize(self):\n return len(self.data)\n \n def empty(self):\n return self.qsize()==0\n \n def full(self):\n return self.maxsize and self.qsize()==self.maxsize\n \n async def get(self):\n if self.empty():\n future=Future()\n def reader(val):\n future.set_result(val)\n self.readers.append(reader)\n return await future\n \n item=self.get_nowait()\n if self.writers:\n \n writer=self.writers.popleft()\n writer()\n return item\n \n def get_nowait(self):\n try:\n return self.data.popleft()\n except IndexError:\n raise QueueEmpty()\n \n async def put(self,item):\n if self.full():\n future=Future()\n def writer():\n self.put_nowait(item)\n future.set_result(True)\n self.writers.append(writer)\n await future\n return\n \n if self.readers:\n \n self.tasks +=1\n reader=self.readers.popleft()\n reader(item)\n else:\n \n self.put_nowait(item)\n \n def put_nowait(self,item):\n if self.full():\n raise QueueFull()\n self.data.append(item)\n self.tasks +=1\n \n async def join(self):\n if self.tasks >0:\n future=Future()\n def setres():\n future.set_result(True)\n await future\n \n def task_done(self):\n if self.tasks ==0:\n raise ValueError(\"no tasks\")\n self.tasks -=1\n if tasks ==0:\n for joiner in self.joiners:\n joiner()\n",["browser.aio","collections"]],_codecs:[".py","\ndef ascii_decode(*args,**kw):\n pass\n \ndef ascii_encode(*args,**kw):\n pass\n \ndef charbuffer_encode(*args,**kw):\n pass\n \ndef charmap_build(decoding_table):\n return{car:i for(i,car)in enumerate(decoding_table)}\n \ndef charmap_decode(input,errors,decoding_table):\n res=''\n for car in input:\n code=decoding_table[car]\n if code is None:\n raise UnicodeDecodeError(input)\n res +=code\n return res,len(input)\n \ndef charmap_encode(input,errors,encoding_table):\n t=[]\n for car in input:\n code=encoding_table.get(car)\n if code is None:\n raise UnicodeEncodeError(input)\n t.append(code)\n return bytes(t),len(input)\n \ndef decode(obj,encoding=\"utf-8\",errors=\"strict\"):\n ''\n\n\n\n\n\n \n return __BRYTHON__.decode(obj,encoding,errors)\n \ndef encode(obj,encoding=\"utf-8\",errors=\"strict\"):\n ''\n\n\n\n\n\n \n return __BRYTHON__.encode(obj,encoding,errors)\n \ndef escape_decode(*args,**kw):\n pass\n \ndef escape_encode(*args,**kw):\n pass\n \ndef latin_1_decode(*args,**kw):\n pass\n \ndef latin_1_encode(*args,**kw):\n pass\n \ndef lookup(encoding):\n ''\n\n \n if encoding in('utf-8','utf_8'):\n import encodings.utf_8\n return encodings.utf_8.getregentry()\n \n LookupError(encoding)\n \ndef lookup_error(*args,**kw):\n ''\n\n \n pass\n \ndef mbcs_decode(*args,**kw):\n pass\n \ndef mbcs_encode(*args,**kw):\n pass\n \ndef raw_unicode_escape_decode(*args,**kw):\n pass\n \ndef raw_unicode_escape_encode(*args,**kw):\n pass\n \ndef readbuffer_encode(*args,**kw):\n pass\n \ndef register(*args,**kw):\n ''\n\n\n\n \n pass\n \ndef register_error(*args,**kw):\n ''\n\n\n\n\n \n pass\n \ndef unicode_escape_decode(*args,**kw):\n pass\n \ndef unicode_escape_encode(*args,**kw):\n pass\n \ndef unicode_internal_decode(*args,**kw):\n pass\n \ndef unicode_internal_encode(*args,**kw):\n pass\n \ndef _reader(b,nb,endian):\n pos=0\n while pos 2 **16:\n \n code=cp -2 **16\n hi=0xD800 |(code >>10)\n lo=0xDC00 |(code&0x3FF)\n t +=divmod(hi,256)\n t +=divmod(lo,256)\n else:\n t.append(0)\n t.append(cp)\n \n return bytes(t),len(arg)\n \ndef utf_16_decode(b,errors,*args):\n if b[0]==0xfe and b[1]==0xff:\n return utf_16_le_decode(b[2:],errors,*args)\n return utf_16_le_decode(b,errors,*args)\n \ndef utf_16_encode(arg):\n b=utf_16_le_encode(arg)[0]\n return bytes([0xfe,0xff])+b,len(arg)\n \ndef utf_16_ex_decode(*args,**kw):\n pass\n \ndef utf_16_le_decode(b,errors,*args):\n t=[]\n reader=_reader(b,2,'little')\n for cp in reader:\n if cp <0xd800:\n t.append(chr(cp))\n else:\n hi=cp\n lo=next(reader)\n t.append(chr(_to_codepoint(lo,hi)))\n return ''.join(t),len(t)\n \ndef utf_16_le_encode(arg):\n t=[]\n for char in arg:\n cp=ord(char)\n if cp >2 **16:\n \n code=cp -2 **16\n hi=0xD800 |(code >>10)\n lo=0xDC00 |(code&0x3FF)\n t +=reversed(divmod(hi,256))\n t +=reversed(divmod(lo,256))\n else:\n t.append(cp)\n t.append(0)\n return bytes(t),len(arg)\n \ndef utf_32_be_decode(b,errors,*args):\n t=[]\n reader=_reader(b,4,'big')\n for cp in reader:\n t.append(chr(cp))\n return ''.join(t),len(t)\n \ndef utf_32_be_encode(s):\n res=[]\n for char in s:\n t=[]\n x=ord(char)\n for i in range(4):\n x,y=divmod(x,256)\n t.append(y)\n res +=reversed(t)\n return bytes(res),len(s)\n \ndef utf_32_decode(*args,**kw):\n pass\n \ndef utf_32_encode(*args,**kw):\n pass\n \ndef utf_32_ex_decode(*args,**kw):\n pass\n \ndef utf_32_le_decode(b,errors,*args):\n t=[]\n reader=_reader(b,4,'little')\n for cp in reader:\n t.append(chr(cp))\n return ''.join(t),len(t)\n \ndef utf_32_le_encode(s):\n res=[]\n for char in s:\n t=[]\n x=ord(char)\n for i in range(4):\n x,y=divmod(x,256)\n t.append(y)\n res +=t\n return bytes(res),len(s)\n \ndef utf_7_decode(*args,**kw):\n pass\n \ndef utf_7_encode(*args,**kw):\n pass\n \ndef utf_8_decode(decoder,bytes_obj,errors,*args):\n return(bytes_obj.decode(\"utf-8\"),len(bytes_obj))\n \ndef utf_8_encode(*args,**kw):\n input=args[0]\n if len(args)==2:\n errors=args[1]\n else:\n errors=kw.get('errors','strict')\n \n \n return(bytes(input,'utf-8'),len(input))\n",["encodings.utf_8"]],_codecs_jp:[".py","from encoding_cp932 import encoding_table,decoding_table\n\n\n\nclass Codec:\n\n def encode(self,input,errors='strict'):\n b=[]\n for pos,car in enumerate(input):\n cp=ord(car)\n try:\n code=encoding_table[cp]\n high=((code >>8)&0xff)\n low=code&0xff\n if high:\n b.append(high)\n b.append(low)\n except IndexError:\n raise UnicodeEncodeError(pos)\n return[bytes(b),len(input)]\n \n def decode(self,input,errors='strict'):\n i=0\n string=''\n while i self.maxlen:\n self.popleft()\n \n def appendleft(self,x):\n self.state +=1\n self.leftndx -=1\n if self.leftndx ==-1:\n newblock=[None]*BLOCKSIZ\n self.left[LFTLNK]=newblock\n newblock[RGTLNK]=self.left\n self.left=newblock\n self.leftndx=n -1\n self.length +=1\n self.left[self.leftndx]=x\n if self.maxlen is not None and self.length >self.maxlen:\n self.pop()\n \n def extend(self,iterable):\n if iterable is self:\n iterable=list(iterable)\n for elem in iterable:\n self.append(elem)\n \n def extendleft(self,iterable):\n if iterable is self:\n iterable=list(iterable)\n for elem in iterable:\n self.appendleft(elem)\n \n def pop(self):\n if self.left is self.right and self.leftndx >self.rightndx:\n \n raise IndexError(\"pop from an empty deque\")\n x=self.right[self.rightndx]\n self.right[self.rightndx]=None\n self.length -=1\n self.rightndx -=1\n self.state +=1\n if self.rightndx ==-1:\n prevblock=self.right[LFTLNK]\n if prevblock is None:\n \n self.rightndx=n //2\n self.leftndx=n //2+1\n else:\n prevblock[RGTLNK]=None\n self.right[LFTLNK]=None\n self.right=prevblock\n self.rightndx=n -1\n return x\n \n def popleft(self):\n if self.left is self.right and self.leftndx >self.rightndx:\n \n raise IndexError(\"pop from an empty deque\")\n x=self.left[self.leftndx]\n self.left[self.leftndx]=None\n self.length -=1\n self.leftndx +=1\n self.state +=1\n if self.leftndx ==n:\n prevblock=self.left[RGTLNK]\n if prevblock is None:\n \n self.rightndx=n //2\n self.leftndx=n //2+1\n else:\n prevblock[LFTLNK]=None\n self.left[RGTLNK]=None\n self.left=prevblock\n self.leftndx=0\n return x\n \n def count(self,value):\n c=0\n for item in self:\n if item ==value:\n c +=1\n return c\n \n def remove(self,value):\n \n for i in range(len(self)):\n if self[i]==value:\n del self[i]\n return\n raise ValueError(\"deque.remove(x): x not in deque\")\n \n def rotate(self,n=1):\n length=len(self)\n if length ==0:\n return\n halflen=(length+1)>>1\n if n >halflen or n <-halflen:\n n %=length\n if n >halflen:\n n -=length\n elif n <-halflen:\n n +=length\n while n >0:\n self.appendleft(self.pop())\n n -=1\n while n <0:\n self.append(self.popleft())\n n +=1\n \n def reverse(self):\n ''\n leftblock=self.left\n rightblock=self.right\n leftindex=self.leftndx\n rightindex=self.rightndx\n for i in range(self.length //2):\n \n assert leftblock !=rightblock or leftindex =0:\n block=self.left\n while block:\n l,r=0,n\n if block is self.left:\n l=self.leftndx\n if block is self.right:\n r=self.rightndx+1\n span=r -l\n if index =negative_span:\n return block,r+index\n index -=negative_span\n block=block[LFTLNK]\n raise IndexError(\"deque index out of range\")\n \n def __getitem__(self,index):\n block,index=self.__getref(index)\n return block[index]\n \n def __setitem__(self,index,value):\n block,index=self.__getref(index)\n block[index]=value\n \n def __delitem__(self,index):\n length=len(self)\n if index >=0:\n if index >=length:\n raise IndexError(\"deque index out of range\")\n self.rotate(-index)\n self.popleft()\n self.rotate(index)\n else:\n \n index=index ^(2 **31)\n if index >=length:\n raise IndexError(\"deque index out of range\")\n self.rotate(index)\n self.pop()\n self.rotate(-index)\n \n def __reduce_ex__(self,proto):\n return type(self),(list(self),self.maxlen)\n \n def __hash__(self):\n \n raise TypeError(\"deque objects are unhashable\")\n \n def __copy__(self):\n return self.__class__(self,self.maxlen)\n \n \n def __eq__(self,other):\n if isinstance(other,deque):\n return list(self)==list(other)\n else:\n return NotImplemented\n \n def __ne__(self,other):\n if isinstance(other,deque):\n return list(self)!=list(other)\n else:\n return NotImplemented\n \n def __lt__(self,other):\n if isinstance(other,deque):\n return list(self)list(other)\n else:\n return NotImplemented\n \n def __ge__(self,other):\n if isinstance(other,deque):\n return list(self)>=list(other)\n else:\n return NotImplemented\n \n def __iadd__(self,other):\n self.extend(other)\n return self\n \n \nclass deque_iterator(object):\n\n def __init__(self,deq,itergen):\n self.counter=len(deq)\n def giveup():\n self.counter=0\n \n raise RuntimeError(\"deque mutated during iteration\")\n self._gen=itergen(deq.state,giveup)\n \n def __next__(self):\n res=self._gen.__next__()\n self.counter -=1\n return res\n \n def __iter__(self):\n return self\n \nclass defaultdict(dict):\n\n def __init__(self,*args,**kwds):\n if len(args)>0:\n default_factory=args[0]\n args=args[1:]\n if not callable(default_factory)and default_factory is not None:\n raise TypeError(\"first argument must be callable\")\n else:\n default_factory=None\n dict.__init__(self,*args,**kwds)\n self.default_factory=default_factory\n self.update(*args,**kwds)\n super(defaultdict,self).__init__(*args,**kwds)\n \n def __missing__(self,key):\n \n if self.default_factory is None:\n raise KeyError(key)\n self[key]=value=self.default_factory()\n return value\n \n def __repr__(self,recurse=set()):\n if id(self)in recurse:\n return \"defaultdict(...)\"\n try:\n recurse.add(id(self))\n return \"defaultdict(%s, %s)\"%(repr(self.default_factory),super(defaultdict,self).__repr__())\n finally:\n recurse.remove(id(self))\n \n def copy(self):\n return type(self)(self.default_factory,self)\n \n def __copy__(self):\n return self.copy()\n \n def __reduce__(self):\n \n \n \n \n \n \n \n \n \n \n \n return(type(self),(self.default_factory,),None,None,self.items())\n \nfrom operator import itemgetter as _itemgetter\nfrom keyword import iskeyword as _iskeyword\nimport sys as _sys\n\ndef namedtuple(typename,field_names,verbose=False,rename=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n if isinstance(field_names,str):\n field_names=field_names.replace(',',' ').split()\n field_names=tuple(map(str,field_names))\n if rename:\n names=list(field_names)\n seen=set()\n for i,name in enumerate(names):\n if(not min(c.isalnum()or c =='_'for c in name)or _iskeyword(name)\n or not name or name[0].isdigit()or name.startswith('_')\n or name in seen):\n names[i]='_%d'%i\n seen.add(name)\n field_names=tuple(names)\n for name in(typename,)+field_names:\n if not min(c.isalnum()or c =='_'for c in name):\n raise ValueError('Type names and field names can only contain alphanumeric characters and underscores: %r'%name)\n if _iskeyword(name):\n raise ValueError('Type names and field names cannot be a keyword: %r'%name)\n if name[0].isdigit():\n raise ValueError('Type names and field names cannot start with a number: %r'%name)\n seen_names=set()\n for name in field_names:\n if name.startswith('_')and not rename:\n raise ValueError('Field names cannot start with an underscore: %r'%name)\n if name in seen_names:\n raise ValueError('Encountered duplicate field name: %r'%name)\n seen_names.add(name)\n \n \n numfields=len(field_names)\n argtxt=repr(field_names).replace(\"'\",\"\")[1:-1]\n reprtxt=', '.join('%s=%%r'%name for name in field_names)\n \n template='''class %(typename)s(tuple):\n '%(typename)s(%(argtxt)s)' \\n\n __slots__ = () \\n\n _fields = %(field_names)r \\n\n def __new__(_cls, %(argtxt)s):\n return tuple.__new__(_cls, (%(argtxt)s)) \\n\n @classmethod\n def _make(cls, iterable, new=tuple.__new__, len=len):\n 'Make a new %(typename)s object from a sequence or iterable'\n result = new(cls, iterable)\n if len(result) != %(numfields)d:\n raise TypeError('Expected %(numfields)d arguments, got %%d' %% len(result))\n return result \\n\n def __repr__(self):\n return '%(typename)s(%(reprtxt)s)' %% self \\n\n def _asdict(self):\n 'Return a new dict which maps field names to their values'\n return dict(zip(self._fields, self)) \\n\n def _replace(_self, **kwds):\n 'Return a new %(typename)s object replacing specified fields with new values'\n result = _self._make(map(kwds.pop, %(field_names)r, _self))\n if kwds:\n raise ValueError('Got unexpected field names: %%r' %% kwds.keys())\n return result \\n\n def __getnewargs__(self):\n return tuple(self) \\n\\n'''%locals()\n for i,name in enumerate(field_names):\n template +=' %s = _property(_itemgetter(%d))\\n'%(name,i)\n \n if verbose:\n print(template)\n \n \n namespace=dict(_itemgetter=_itemgetter,__name__='namedtuple_%s'%typename,\n _property=property,_tuple=tuple)\n try:\n exec(template,namespace)\n except SyntaxError as e:\n raise SyntaxError(e.message+':\\n'+template)\n result=namespace[typename]\n \n \n \n \n \n try:\n result.__module__=_sys._getframe(1).f_globals.get('__name__','__main__')\n except(AttributeError,ValueError):\n pass\n \n return result\n \nif __name__ =='__main__':\n Point=namedtuple('Point',['x','y'])\n p=Point(11,y=22)\n print(p[0]+p[1])\n x,y=p\n print(x,y)\n print(p.x+p.y)\n print(p)\n",["keyword","operator","sys"]],_collections_abc:[".py","\n\n\n\"\"\"Abstract Base Classes (ABCs) for collections, according to PEP 3119.\n\nUnit tests are in test_collections.\n\"\"\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfrom abc import ABCMeta,abstractmethod\nimport sys\n\nGenericAlias=type(list[int])\nEllipsisType=type(...)\ndef _f():pass\nFunctionType=type(_f)\ndel _f\n\n__all__=[\"Awaitable\",\"Coroutine\",\n\"AsyncIterable\",\"AsyncIterator\",\"AsyncGenerator\",\n\"Hashable\",\"Iterable\",\"Iterator\",\"Generator\",\"Reversible\",\n\"Sized\",\"Container\",\"Callable\",\"Collection\",\n\"Set\",\"MutableSet\",\n\"Mapping\",\"MutableMapping\",\n\"MappingView\",\"KeysView\",\"ItemsView\",\"ValuesView\",\n\"Sequence\",\"MutableSequence\",\n\"ByteString\",\"Buffer\",\n]\n\n\n\n\n\n__name__=\"collections.abc\"\n\n\n\n\n\n\n\n\nbytes_iterator=type(iter(b''))\nbytearray_iterator=type(iter(bytearray()))\n\ndict_keyiterator=type(iter({}.keys()))\ndict_valueiterator=type(iter({}.values()))\ndict_itemiterator=type(iter({}.items()))\nlist_iterator=type(iter([]))\nlist_reverseiterator=type(iter(reversed([])))\nrange_iterator=type(iter(range(0)))\nlongrange_iterator=type(iter(range(1 <<1000)))\nset_iterator=type(iter(set()))\nstr_iterator=type(iter(\"\"))\ntuple_iterator=type(iter(()))\nzip_iterator=type(iter(zip()))\n\ndict_keys=type({}.keys())\ndict_values=type({}.values())\ndict_items=type({}.items())\n\nmappingproxy=type(type.__dict__)\ngenerator=type((lambda:(yield))())\n\nasync def _coro():pass\n_coro=_coro()\ncoroutine=type(_coro)\n_coro.close()\ndel _coro\n\nasync def _ag():yield\n_ag=_ag()\nasync_generator=type(_ag)\ndel _ag\n\n\n\n\ndef _check_methods(C,*methods):\n mro=C.__mro__\n for method in methods:\n for B in mro:\n if method in B.__dict__:\n if B.__dict__[method]is None:\n return NotImplemented\n break\n else:\n return NotImplemented\n return True\n \nclass Hashable(metaclass=ABCMeta):\n\n __slots__=()\n \n @abstractmethod\n def __hash__(self):\n return 0\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Hashable:\n return _check_methods(C,\"__hash__\")\n return NotImplemented\n \n \nclass Awaitable(metaclass=ABCMeta):\n\n __slots__=()\n \n @abstractmethod\n def __await__(self):\n yield\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Awaitable:\n return _check_methods(C,\"__await__\")\n return NotImplemented\n \n __class_getitem__=classmethod(GenericAlias)\n \n \nclass Coroutine(Awaitable):\n\n __slots__=()\n \n @abstractmethod\n def send(self,value):\n ''\n\n \n raise StopIteration\n \n @abstractmethod\n def throw(self,typ,val=None,tb=None):\n ''\n\n \n if val is None:\n if tb is None:\n raise typ\n val=typ()\n if tb is not None:\n val=val.with_traceback(tb)\n raise val\n \n def close(self):\n ''\n \n try:\n self.throw(GeneratorExit)\n except(GeneratorExit,StopIteration):\n pass\n else:\n raise RuntimeError(\"coroutine ignored GeneratorExit\")\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Coroutine:\n return _check_methods(C,'__await__','send','throw','close')\n return NotImplemented\n \n \nCoroutine.register(coroutine)\n\n\nclass AsyncIterable(metaclass=ABCMeta):\n\n __slots__=()\n \n @abstractmethod\n def __aiter__(self):\n return AsyncIterator()\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is AsyncIterable:\n return _check_methods(C,\"__aiter__\")\n return NotImplemented\n \n __class_getitem__=classmethod(GenericAlias)\n \n \nclass AsyncIterator(AsyncIterable):\n\n __slots__=()\n \n @abstractmethod\n async def __anext__(self):\n ''\n raise StopAsyncIteration\n \n def __aiter__(self):\n return self\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is AsyncIterator:\n return _check_methods(C,\"__anext__\",\"__aiter__\")\n return NotImplemented\n \n \nclass AsyncGenerator(AsyncIterator):\n\n __slots__=()\n \n async def __anext__(self):\n ''\n\n \n return await self.asend(None)\n \n @abstractmethod\n async def asend(self,value):\n ''\n\n \n raise StopAsyncIteration\n \n @abstractmethod\n async def athrow(self,typ,val=None,tb=None):\n ''\n\n \n if val is None:\n if tb is None:\n raise typ\n val=typ()\n if tb is not None:\n val=val.with_traceback(tb)\n raise val\n \n async def aclose(self):\n ''\n \n try:\n await self.athrow(GeneratorExit)\n except(GeneratorExit,StopAsyncIteration):\n pass\n else:\n raise RuntimeError(\"asynchronous generator ignored GeneratorExit\")\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is AsyncGenerator:\n return _check_methods(C,'__aiter__','__anext__',\n 'asend','athrow','aclose')\n return NotImplemented\n \n \nAsyncGenerator.register(async_generator)\n\n\nclass Iterable(metaclass=ABCMeta):\n\n __slots__=()\n \n @abstractmethod\n def __iter__(self):\n while False:\n yield None\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Iterable:\n return _check_methods(C,\"__iter__\")\n return NotImplemented\n \n __class_getitem__=classmethod(GenericAlias)\n \n \nclass Iterator(Iterable):\n\n __slots__=()\n \n @abstractmethod\n def __next__(self):\n ''\n raise StopIteration\n \n def __iter__(self):\n return self\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Iterator:\n return _check_methods(C,'__iter__','__next__')\n return NotImplemented\n \n \nIterator.register(bytes_iterator)\nIterator.register(bytearray_iterator)\n\nIterator.register(dict_keyiterator)\nIterator.register(dict_valueiterator)\nIterator.register(dict_itemiterator)\nIterator.register(list_iterator)\nIterator.register(list_reverseiterator)\nIterator.register(range_iterator)\nIterator.register(longrange_iterator)\nIterator.register(set_iterator)\nIterator.register(str_iterator)\nIterator.register(tuple_iterator)\nIterator.register(zip_iterator)\n\n\nclass Reversible(Iterable):\n\n __slots__=()\n \n @abstractmethod\n def __reversed__(self):\n while False:\n yield None\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Reversible:\n return _check_methods(C,\"__reversed__\",\"__iter__\")\n return NotImplemented\n \n \nclass Generator(Iterator):\n\n __slots__=()\n \n def __next__(self):\n ''\n\n \n return self.send(None)\n \n @abstractmethod\n def send(self,value):\n ''\n\n \n raise StopIteration\n \n @abstractmethod\n def throw(self,typ,val=None,tb=None):\n ''\n\n \n if val is None:\n if tb is None:\n raise typ\n val=typ()\n if tb is not None:\n val=val.with_traceback(tb)\n raise val\n \n def close(self):\n ''\n \n try:\n self.throw(GeneratorExit)\n except(GeneratorExit,StopIteration):\n pass\n else:\n raise RuntimeError(\"generator ignored GeneratorExit\")\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Generator:\n return _check_methods(C,'__iter__','__next__',\n 'send','throw','close')\n return NotImplemented\n \n \nGenerator.register(generator)\n\n\nclass Sized(metaclass=ABCMeta):\n\n __slots__=()\n \n @abstractmethod\n def __len__(self):\n return 0\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Sized:\n return _check_methods(C,\"__len__\")\n return NotImplemented\n \n \nclass Container(metaclass=ABCMeta):\n\n __slots__=()\n \n @abstractmethod\n def __contains__(self,x):\n return False\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Container:\n return _check_methods(C,\"__contains__\")\n return NotImplemented\n \n __class_getitem__=classmethod(GenericAlias)\n \n \nclass Collection(Sized,Iterable,Container):\n\n __slots__=()\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Collection:\n return _check_methods(C,\"__len__\",\"__iter__\",\"__contains__\")\n return NotImplemented\n \n \nclass Buffer(metaclass=ABCMeta):\n\n __slots__=()\n \n @abstractmethod\n def __buffer__(self,flags:int,/)->memoryview:\n raise NotImplementedError\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Buffer:\n return _check_methods(C,\"__buffer__\")\n return NotImplemented\n \n \nclass _CallableGenericAlias(GenericAlias):\n ''\n\n\n\n\n\n\n \n \n __slots__=()\n \n def __new__(cls,origin,args):\n if not(isinstance(args,tuple)and len(args)==2):\n raise TypeError(\n \"Callable must be used as Callable[[arg, ...], result].\")\n t_args,t_result=args\n if isinstance(t_args,(tuple,list)):\n args=(*t_args,t_result)\n elif not _is_param_expr(t_args):\n raise TypeError(f\"Expected a list of types, an ellipsis, \"\n f\"ParamSpec, or Concatenate. Got {t_args}\")\n return super().__new__(cls,origin,args)\n \n def __repr__(self):\n if len(self.__args__)==2 and _is_param_expr(self.__args__[0]):\n return super().__repr__()\n return(f'collections.abc.Callable'\n f'[[{\", \".join([_type_repr(a)for a in self.__args__[:-1]])}], '\n f'{_type_repr(self.__args__[-1])}]')\n \n def __reduce__(self):\n args=self.__args__\n if not(len(args)==2 and _is_param_expr(args[0])):\n args=list(args[:-1]),args[-1]\n return _CallableGenericAlias,(Callable,args)\n \n def __getitem__(self,item):\n \n \n \n \n if not isinstance(item,tuple):\n item=(item,)\n \n new_args=super().__getitem__(item).__args__\n \n \n if not isinstance(new_args[0],(tuple,list)):\n t_result=new_args[-1]\n t_args=new_args[:-1]\n new_args=(t_args,t_result)\n return _CallableGenericAlias(Callable,tuple(new_args))\n \ndef _is_param_expr(obj):\n ''\n\n \n if obj is Ellipsis:\n return True\n if isinstance(obj,list):\n return True\n obj=type(obj)\n names=('ParamSpec','_ConcatenateGenericAlias')\n return obj.__module__ =='typing'and any(obj.__name__ ==name for name in names)\n \ndef _type_repr(obj):\n ''\n\n\n\n\n \n if isinstance(obj,type):\n if obj.__module__ =='builtins':\n return obj.__qualname__\n return f'{obj.__module__}.{obj.__qualname__}'\n if obj is Ellipsis:\n return '...'\n if isinstance(obj,FunctionType):\n return obj.__name__\n return repr(obj)\n \n \nclass Callable(metaclass=ABCMeta):\n\n __slots__=()\n \n @abstractmethod\n def __call__(self,*args,**kwds):\n return False\n \n @classmethod\n def __subclasshook__(cls,C):\n if cls is Callable:\n return _check_methods(C,\"__call__\")\n return NotImplemented\n \n __class_getitem__=classmethod(_CallableGenericAlias)\n \n \n \n \n \nclass Set(Collection):\n ''\n\n\n\n\n\n\n\n \n \n __slots__=()\n \n def __le__(self,other):\n if not isinstance(other,Set):\n return NotImplemented\n if len(self)>len(other):\n return False\n for elem in self:\n if elem not in other:\n return False\n return True\n \n def __lt__(self,other):\n if not isinstance(other,Set):\n return NotImplemented\n return len(self)len(other)and self.__ge__(other)\n \n def __ge__(self,other):\n if not isinstance(other,Set):\n return NotImplemented\n if len(self)>11)^(h >>25)\n h=h *69069+907133923\n h &=MASK\n if h >MAX:\n h -=MASK+1\n if h ==-1:\n h=590923713\n return h\n \n \nSet.register(frozenset)\n\n\nclass MutableSet(Set):\n ''\n\n\n\n\n\n\n\n\n \n \n __slots__=()\n \n @abstractmethod\n def add(self,value):\n ''\n raise NotImplementedError\n \n @abstractmethod\n def discard(self,value):\n ''\n raise NotImplementedError\n \n def remove(self,value):\n ''\n if value not in self:\n raise KeyError(value)\n self.discard(value)\n \n def pop(self):\n ''\n it=iter(self)\n try:\n value=next(it)\n except StopIteration:\n raise KeyError from None\n self.discard(value)\n return value\n \n def clear(self):\n ''\n try:\n while True:\n self.pop()\n except KeyError:\n pass\n \n def __ior__(self,it):\n for value in it:\n self.add(value)\n return self\n \n def __iand__(self,it):\n for value in(self -it):\n self.discard(value)\n return self\n \n def __ixor__(self,it):\n if it is self:\n self.clear()\n else:\n if not isinstance(it,Set):\n it=self._from_iterable(it)\n for value in it:\n if value in self:\n self.discard(value)\n else:\n self.add(value)\n return self\n \n def __isub__(self,it):\n if it is self:\n self.clear()\n else:\n for value in it:\n self.discard(value)\n return self\n \n \nMutableSet.register(set)\n\n\n\n\nclass Mapping(Collection):\n ''\n\n\n\n\n \n \n __slots__=()\n \n \n __abc_tpflags__=1 <<6\n \n @abstractmethod\n def __getitem__(self,key):\n raise KeyError\n \n def get(self,key,default=None):\n ''\n try:\n return self[key]\n except KeyError:\n return default\n \n def __contains__(self,key):\n try:\n self[key]\n except KeyError:\n return False\n else:\n return True\n \n def keys(self):\n ''\n return KeysView(self)\n \n def items(self):\n ''\n return ItemsView(self)\n \n def values(self):\n ''\n return ValuesView(self)\n \n def __eq__(self,other):\n if not isinstance(other,Mapping):\n return NotImplemented\n return dict(self.items())==dict(other.items())\n \n __reversed__=None\n \nMapping.register(mappingproxy)\n\n\nclass MappingView(Sized):\n\n __slots__='_mapping',\n \n def __init__(self,mapping):\n self._mapping=mapping\n \n def __len__(self):\n return len(self._mapping)\n \n def __repr__(self):\n return '{0.__class__.__name__}({0._mapping!r})'.format(self)\n \n __class_getitem__=classmethod(GenericAlias)\n \n \nclass KeysView(MappingView,Set):\n\n __slots__=()\n \n @classmethod\n def _from_iterable(cls,it):\n return set(it)\n \n def __contains__(self,key):\n return key in self._mapping\n \n def __iter__(self):\n yield from self._mapping\n \n \nKeysView.register(dict_keys)\n\n\nclass ItemsView(MappingView,Set):\n\n __slots__=()\n \n @classmethod\n def _from_iterable(cls,it):\n return set(it)\n \n def __contains__(self,item):\n key,value=item\n try:\n v=self._mapping[key]\n except KeyError:\n return False\n else:\n return v is value or v ==value\n \n def __iter__(self):\n for key in self._mapping:\n yield(key,self._mapping[key])\n \n \nItemsView.register(dict_items)\n\n\nclass ValuesView(MappingView,Collection):\n\n __slots__=()\n \n def __contains__(self,value):\n for key in self._mapping:\n v=self._mapping[key]\n if v is value or v ==value:\n return True\n return False\n \n def __iter__(self):\n for key in self._mapping:\n yield self._mapping[key]\n \n \nValuesView.register(dict_values)\n\n\nclass MutableMapping(Mapping):\n ''\n\n\n\n\n\n \n \n __slots__=()\n \n @abstractmethod\n def __setitem__(self,key,value):\n raise KeyError\n \n @abstractmethod\n def __delitem__(self,key):\n raise KeyError\n \n __marker=object()\n \n def pop(self,key,default=__marker):\n ''\n\n \n try:\n value=self[key]\n except KeyError:\n if default is self.__marker:\n raise\n return default\n else:\n del self[key]\n return value\n \n def popitem(self):\n ''\n\n \n try:\n key=next(iter(self))\n except StopIteration:\n raise KeyError from None\n value=self[key]\n del self[key]\n return key,value\n \n def clear(self):\n ''\n try:\n while True:\n self.popitem()\n except KeyError:\n pass\n \n def update(self,other=(),/,**kwds):\n ''\n\n\n\n \n if isinstance(other,Mapping):\n for key in other:\n self[key]=other[key]\n elif hasattr(other,\"keys\"):\n for key in other.keys():\n self[key]=other[key]\n else:\n for key,value in other:\n self[key]=value\n for key,value in kwds.items():\n self[key]=value\n \n def setdefault(self,key,default=None):\n ''\n try:\n return self[key]\n except KeyError:\n self[key]=default\n return default\n \n \nMutableMapping.register(dict)\n\n\n\n\nclass Sequence(Reversible,Collection):\n ''\n\n\n\n \n \n __slots__=()\n \n \n __abc_tpflags__=1 <<5\n \n @abstractmethod\n def __getitem__(self,index):\n raise IndexError\n \n def __iter__(self):\n i=0\n try:\n while True:\n v=self[i]\n yield v\n i +=1\n except IndexError:\n return\n \n def __contains__(self,value):\n for v in self:\n if v is value or v ==value:\n return True\n return False\n \n def __reversed__(self):\n for i in reversed(range(len(self))):\n yield self[i]\n \n def index(self,value,start=0,stop=None):\n ''\n\n\n\n\n \n if start is not None and start <0:\n start=max(len(self)+start,0)\n if stop is not None and stop <0:\n stop +=len(self)\n \n i=start\n while stop is None or i 0:\n data=self.read(min(io.DEFAULT_BUFFER_SIZE,offset))\n if not data:\n break\n offset -=len(data)\n \n return self._pos\n \n def tell(self):\n \'\'\n return self._pos\n',["io","sys"]],_contextvars:[".py","''\n\n\nclass Context(object):\n\n __contains__=\"\"\n \n copy=\"\"\n \n def get(self,*args):\n pass\n \n items=\"\"\n \n keys=\"\"\n \n run=\"\"\n \n values=\"\"\n \nclass ContextVar:\n\n def __init__(self,name,**kw):\n ''\n self.name=name\n if \"default\"in kw:\n self.default=kw[\"default\"]\n \n def get(self,*args):\n if hasattr(self,\"value\"):\n return self.value\n elif len(args)==1:\n return args[0]\n elif hasattr(self,\"default\"):\n return self.default\n raise LookupError(self.name)\n \n def reset(self,token):\n if token.old_value ==Token.MISSING:\n del self.value\n else:\n self.value=token.old_value\n \n def set(self,value):\n self.value=value\n return Token(self)\n \nclass Token(object):\n\n MISSING=\"\"\n \n def __init__(self,contextvar):\n self.var=contextvar\n try:\n self.old_value=contextvar.get()\n except LookupError:\n self.old_value=Token.MISSING\n \ndef copy_context(*args,**kw):\n pass\n",[]],_csv:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__version__="1.0"\n\nQUOTE_MINIMAL,QUOTE_ALL,QUOTE_NONNUMERIC,QUOTE_NONE,QUOTE_STRINGS,QUOTE_NOTNULL=range(6)\n_dialects={}\n_field_limit=128 *1024\n\nclass Error(Exception):\n pass\n \nclass Dialect(object):\n \'\'\n\n \n \n __slots__=["_delimiter","_doublequote","_escapechar",\n "_lineterminator","_quotechar","_quoting",\n "_skipinitialspace","_strict"]\n \n def __new__(cls,dialect,**kwargs):\n \n for name in kwargs:\n if \'_\'+name not in Dialect.__slots__:\n raise TypeError("unexpected keyword argument \'%s\'"%\n (name,))\n \n if dialect is not None:\n if isinstance(dialect,str):\n dialect=get_dialect(dialect)\n \n \n if(isinstance(dialect,Dialect)\n and all(value is None for value in kwargs.values())):\n return dialect\n \n self=object.__new__(cls)\n \n \n def set_char(x):\n if x is None:\n return None\n if isinstance(x,str)and len(x)<=1:\n return x\n raise TypeError("%r must be a 1-character string"%(name,))\n def set_str(x):\n if isinstance(x,str):\n return x\n raise TypeError("%r must be a string"%(name,))\n def set_quoting(x):\n if x in range(4):\n return x\n raise TypeError("bad \'quoting\' value")\n \n attributes={"delimiter":(\',\',set_char),\n "doublequote":(True,bool),\n "escapechar":(None,set_char),\n "lineterminator":("\\r\\n",set_str),\n "quotechar":(\'"\',set_char),\n "quoting":(QUOTE_MINIMAL,set_quoting),\n "skipinitialspace":(False,bool),\n "strict":(False,bool),\n }\n \n \n notset=object()\n for name in Dialect.__slots__:\n name=name[1:]\n value=notset\n if name in kwargs:\n value=kwargs[name]\n elif dialect is not None:\n value=getattr(dialect,name,notset)\n \n \n if value is notset:\n value=attributes[name][0]\n if name ==\'quoting\'and not self.quotechar:\n value=QUOTE_NONE\n else:\n converter=attributes[name][1]\n if converter:\n value=converter(value)\n \n setattr(self,\'_\'+name,value)\n \n if not self.delimiter:\n raise TypeError("delimiter must be set")\n \n if self.quoting !=QUOTE_NONE and not self.quotechar:\n raise TypeError("quotechar must be set if quoting enabled")\n \n if not self.lineterminator:\n raise TypeError("lineterminator must be set")\n \n return self\n \n delimiter=property(lambda self:self._delimiter)\n doublequote=property(lambda self:self._doublequote)\n escapechar=property(lambda self:self._escapechar)\n lineterminator=property(lambda self:self._lineterminator)\n quotechar=property(lambda self:self._quotechar)\n quoting=property(lambda self:self._quoting)\n skipinitialspace=property(lambda self:self._skipinitialspace)\n strict=property(lambda self:self._strict)\n \n \ndef _call_dialect(dialect_inst,kwargs):\n return Dialect(dialect_inst,**kwargs)\n \ndef register_dialect(name,dialect=None,**kwargs):\n \'\'\n \n if not isinstance(name,str):\n raise TypeError("dialect name must be a string or unicode")\n \n dialect=_call_dialect(dialect,kwargs)\n _dialects[name]=dialect\n \ndef unregister_dialect(name):\n \'\'\n \n try:\n del _dialects[name]\n except KeyError:\n raise Error("unknown dialect")\n \ndef get_dialect(name):\n \'\'\n \n try:\n return _dialects[name]\n except KeyError:\n raise Error("unknown dialect")\n \ndef list_dialects():\n \'\'\n \n return list(_dialects)\n \nclass Reader(object):\n \'\'\n\n\n \n \n \n (START_RECORD,START_FIELD,ESCAPED_CHAR,IN_FIELD,\n IN_QUOTED_FIELD,ESCAPE_IN_QUOTED_FIELD,QUOTE_IN_QUOTED_FIELD,\n EAT_CRNL)=range(8)\n \n def __init__(self,iterator,dialect=None,**kwargs):\n self.dialect=_call_dialect(dialect,kwargs)\n \n \n \n self._delimiter=self.dialect.delimiter if self.dialect.delimiter else \'\\0\'\n self._quotechar=self.dialect.quotechar if self.dialect.quotechar else \'\\0\'\n self._escapechar=self.dialect.escapechar if self.dialect.escapechar else \'\\0\'\n self._doublequote=self.dialect.doublequote\n self._quoting=self.dialect.quoting\n self._skipinitialspace=self.dialect.skipinitialspace\n self._strict=self.dialect.strict\n \n self.input_iter=iter(iterator)\n self.line_num=0\n \n self._parse_reset()\n \n def _parse_reset(self):\n self.field=\'\'\n self.fields=[]\n self.state=self.START_RECORD\n self.numeric_field=False\n \n def __iter__(self):\n return self\n \n def __next__(self):\n self._parse_reset()\n while True:\n try:\n line=next(self.input_iter)\n except StopIteration:\n \n if len(self.field)>0:\n raise Error("newline inside string")\n raise\n \n self.line_num +=1\n \n if \'\\0\'in line:\n raise Error("line contains NULL byte")\n self._parse_process_char(line)\n self._parse_eol()\n \n if self.state ==self.START_RECORD:\n break\n \n fields=self.fields\n self.fields=[]\n return fields\n \n def _parse_process_char(self,line):\n pos=0\n while pos pos:\n self._parse_add_str(line[pos:pos2])\n pos=pos2\n self._parse_save_field()\n self.state=self.EAT_CRNL\n break\n elif line[pos2]==self._escapechar[0]:\n \n if pos2 >pos:\n self._parse_add_str(line[pos:pos2])\n pos=pos2\n self.state=self.ESCAPED_CHAR\n break\n elif line[pos2]==self._delimiter[0]:\n \n if pos2 >pos:\n self._parse_add_str(line[pos:pos2])\n pos=pos2\n self._parse_save_field()\n self.state=self.START_FIELD\n break\n \n pos2 +=1\n else:\n if pos2 >pos:\n self._parse_add_str(line[pos:pos2])\n pos=pos2\n continue\n \n elif self.state ==self.START_RECORD:\n if line[pos]==\'\\n\'or line[pos]==\'\\r\':\n self.state=self.EAT_CRNL\n else:\n self.state=self.START_FIELD\n \n continue\n \n elif self.state ==self.START_FIELD:\n if line[pos]==\'\\n\'or line[pos]==\'\\r\':\n \n self._parse_save_field()\n self.state=self.EAT_CRNL\n elif(line[pos]==self._quotechar[0]\n and self._quoting !=QUOTE_NONE):\n \n self.state=self.IN_QUOTED_FIELD\n elif line[pos]==self._escapechar[0]:\n \n self.state=self.ESCAPED_CHAR\n elif self._skipinitialspace and line[pos]==\' \':\n \n pass\n elif line[pos]==self._delimiter[0]:\n \n self._parse_save_field()\n else:\n \n if self._quoting ==QUOTE_NONNUMERIC:\n self.numeric_field=True\n self.state=self.IN_FIELD\n continue\n \n elif self.state ==self.ESCAPED_CHAR:\n self._parse_add_char(line[pos])\n self.state=self.IN_FIELD\n \n elif self.state ==self.IN_QUOTED_FIELD:\n if line[pos]==self._escapechar:\n \n self.state=self.ESCAPE_IN_QUOTED_FIELD\n elif(line[pos]==self._quotechar\n and self._quoting !=QUOTE_NONE):\n if self._doublequote:\n \n self.state=self.QUOTE_IN_QUOTED_FIELD\n else:\n \n self.state=self.IN_FIELD\n else:\n \n self._parse_add_char(line[pos])\n \n elif self.state ==self.ESCAPE_IN_QUOTED_FIELD:\n self._parse_add_char(line[pos])\n self.state=self.IN_QUOTED_FIELD\n \n elif self.state ==self.QUOTE_IN_QUOTED_FIELD:\n \n if(line[pos]==self._quotechar\n and self._quoting !=QUOTE_NONE):\n \n self._parse_add_char(line[pos])\n self.state=self.IN_QUOTED_FIELD\n elif line[pos]==self._delimiter[0]:\n \n self._parse_save_field()\n self.state=self.START_FIELD\n elif line[pos]==\'\\r\'or line[pos]==\'\\n\':\n \n self._parse_save_field()\n self.state=self.EAT_CRNL\n elif not self._strict:\n self._parse_add_char(line[pos])\n self.state=self.IN_FIELD\n else:\n raise Error("\'%c\' expected after \'%c\'"%\n (self._delimiter,self._quotechar))\n \n elif self.state ==self.EAT_CRNL:\n if line[pos]==\'\\r\'or line[pos]==\'\\n\':\n pass\n else:\n raise Error("new-line character seen in unquoted field - "\n "do you need to open the file "\n "in universal-newline mode?")\n \n else:\n raise RuntimeError("unknown state: %r"%(self.state,))\n \n pos +=1\n \n def _parse_eol(self):\n if self.state ==self.EAT_CRNL:\n self.state=self.START_RECORD\n elif self.state ==self.START_RECORD:\n \n pass\n elif self.state ==self.IN_FIELD:\n \n \n self._parse_save_field()\n self.state=self.START_RECORD\n elif self.state ==self.START_FIELD:\n \n self._parse_save_field()\n self.state=self.START_RECORD\n elif self.state ==self.ESCAPED_CHAR:\n self._parse_add_char(\'\\n\')\n self.state=self.IN_FIELD\n elif self.state ==self.IN_QUOTED_FIELD:\n pass\n elif self.state ==self.ESCAPE_IN_QUOTED_FIELD:\n self._parse_add_char(\'\\n\')\n self.state=self.IN_QUOTED_FIELD\n elif self.state ==self.QUOTE_IN_QUOTED_FIELD:\n \n self._parse_save_field()\n self.state=self.START_RECORD\n else:\n raise RuntimeError("unknown state: %r"%(self.state,))\n \n def _parse_save_field(self):\n field,self.field=self.field,\'\'\n if self.numeric_field:\n self.numeric_field=False\n field=float(field)\n self.fields.append(field)\n \n def _parse_add_char(self,c):\n if len(self.field)+1 >_field_limit:\n raise Error("field larget than field limit (%d)"%(_field_limit))\n self.field +=c\n \n def _parse_add_str(self,s):\n if len(self.field)+len(s)>_field_limit:\n raise Error("field larget than field limit (%d)"%(_field_limit))\n self.field +=s\n \n \nclass Writer(object):\n \'\'\n\n\n \n \n def __init__(self,file,dialect=None,**kwargs):\n if not(hasattr(file,\'write\')and callable(file.write)):\n raise TypeError("argument 1 must have a \'write\' method")\n self.writeline=file.write\n self.dialect=_call_dialect(dialect,kwargs)\n \n def _join_reset(self):\n self.rec=[]\n self.num_fields=0\n \n def _join_append(self,field,quoted,quote_empty):\n dialect=self.dialect\n \n if self.num_fields >0:\n self.rec.append(dialect.delimiter)\n \n if dialect.quoting ==QUOTE_NONE:\n need_escape=tuple(dialect.lineterminator)+(\n dialect.escapechar,\n dialect.delimiter,dialect.quotechar)\n \n else:\n for c in tuple(dialect.lineterminator)+(\n dialect.delimiter,dialect.escapechar):\n if c and c in field:\n quoted=True\n \n need_escape=()\n if dialect.quotechar in field:\n if dialect.doublequote:\n field=field.replace(dialect.quotechar,\n dialect.quotechar *2)\n quoted=True\n else:\n need_escape=(dialect.quotechar,)\n \n \n for c in need_escape:\n if c and c in field:\n if not dialect.escapechar:\n raise Error("need to escape, but no escapechar set")\n field=field.replace(c,dialect.escapechar+c)\n \n \n if field ==\'\'and quote_empty:\n if dialect.quoting ==QUOTE_NONE:\n raise Error("single empty field record must be quoted")\n quoted=1\n \n if quoted:\n field=dialect.quotechar+field+dialect.quotechar\n \n self.rec.append(field)\n self.num_fields +=1\n \n \n \n def writerow(self,row):\n dialect=self.dialect\n try:\n rowlen=len(row)\n except TypeError:\n raise Error("sequence expected")\n \n \n self._join_reset()\n \n for field in row:\n quoted=False\n if dialect.quoting ==QUOTE_NONNUMERIC:\n try:\n float(field)\n except:\n quoted=True\n \n \n elif dialect.quoting ==QUOTE_ALL:\n quoted=True\n \n if field is None:\n self._join_append("",quoted,rowlen ==1)\n else:\n self._join_append(str(field),quoted,rowlen ==1)\n \n \n self.rec.append(dialect.lineterminator)\n \n self.writeline(\'\'.join(self.rec))\n \n def writerows(self,rows):\n for row in rows:\n self.writerow(row)\n \ndef reader(*args,**kwargs):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n return Reader(*args,**kwargs)\n \ndef writer(*args,**kwargs):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n \n return Writer(*args,**kwargs)\n \n \nundefined=object()\ndef field_size_limit(limit=undefined):\n \'\'\n\n\n\n \n \n global _field_limit\n old_limit=_field_limit\n \n if limit is not undefined:\n if not isinstance(limit,(int,long)):\n raise TypeError("int expected, got %s"%\n (limit.__class__.__name__,))\n _field_limit=limit\n \n return old_limit\n',[]],_dummy_thread:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=['error','start_new_thread','exit','get_ident','allocate_lock',\n'interrupt_main','LockType','RLock']\n\n\nTIMEOUT_MAX=2 **31\n\n\n\n\n\n\nerror=RuntimeError\n\ndef start_new_thread(function,args,kwargs={}):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if type(args)!=type(tuple()):\n raise TypeError(\"2nd arg must be a tuple\")\n if type(kwargs)!=type(dict()):\n raise TypeError(\"3rd arg must be a dict\")\n global _main\n _main=False\n try:\n function(*args,**kwargs)\n except SystemExit:\n pass\n except:\n import traceback\n traceback.print_exc()\n _main=True\n global _interrupt\n if _interrupt:\n _interrupt=False\n raise KeyboardInterrupt\n \ndef exit():\n ''\n raise SystemExit\n \ndef get_ident():\n ''\n\n\n\n\n \n return 1\n \ndef allocate_lock():\n ''\n return LockType()\n \ndef stack_size(size=None):\n ''\n if size is not None:\n raise error(\"setting thread stack size not supported\")\n return 0\n \ndef _set_sentinel():\n ''\n return LockType()\n \nclass LockType(object):\n ''\n\n\n\n\n\n\n\n \n \n def __init__(self):\n self.locked_status=False\n \n def acquire(self,waitflag=None,timeout=-1):\n ''\n\n\n\n\n\n\n\n\n \n if waitflag is None or waitflag:\n self.locked_status=True\n return True\n else:\n if not self.locked_status:\n self.locked_status=True\n return True\n else:\n if timeout >0:\n import time\n time.sleep(timeout)\n return False\n \n __enter__=acquire\n \n def __exit__(self,typ,val,tb):\n self.release()\n \n def release(self):\n ''\n \n \n if not self.locked_status:\n raise error\n self.locked_status=False\n return True\n \n def locked(self):\n return self.locked_status\n \n def __repr__(self):\n return \"<%s %s.%s object at %s>\"%(\n \"locked\"if self.locked_status else \"unlocked\",\n self.__class__.__module__,\n self.__class__.__qualname__,\n hex(id(self))\n )\n \n \nclass RLock(LockType):\n ''\n\n\n\n\n\n \n def __init__(self):\n super().__init__()\n self._levels=0\n \n def acquire(self,waitflag=None,timeout=-1):\n ''\n \n locked=super().acquire(waitflag,timeout)\n if locked:\n self._levels +=1\n return locked\n \n def release(self):\n ''\n \n if self._levels ==0:\n raise error\n if self._levels ==1:\n super().release()\n self._levels -=1\n \n \n_interrupt=False\n\n_main=True\n\ndef interrupt_main():\n ''\n \n if _main:\n raise KeyboardInterrupt\n else:\n global _interrupt\n _interrupt=True\n",["time","traceback"]],_frozen_importlib:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_bootstrap_external=None\n_thread=None\nimport _weakref\n\nimport _imp\nimport sys\n\ndef _wrap(new,old):\n ''\n for replace in['__module__','__name__','__qualname__','__doc__']:\n if hasattr(old,replace):\n setattr(new,replace,getattr(old,replace))\n new.__dict__.update(old.__dict__)\n \n \ndef _new_module(name):\n return type(sys)(name)\n \n \n \n \n \n \n_module_locks={}\n\n_blocking_on={}\n\n\nclass _DeadlockError(RuntimeError):\n pass\n \n \nclass _ModuleLock:\n ''\n\n\n \n \n def __init__(self,name):\n self.lock=_thread.allocate_lock()\n self.wakeup=_thread.allocate_lock()\n self.name=name\n self.owner=None\n self.count=0\n self.waiters=0\n \n def has_deadlock(self):\n \n me=_thread.get_ident()\n tid=self.owner\n while True:\n lock=_blocking_on.get(tid)\n if lock is None:\n return False\n tid=lock.owner\n if tid ==me:\n return True\n \n def acquire(self):\n ''\n\n\n\n \n tid=_thread.get_ident()\n _blocking_on[tid]=self\n try:\n while True:\n with self.lock:\n if self.count ==0 or self.owner ==tid:\n self.owner=tid\n self.count +=1\n return True\n if self.has_deadlock():\n raise _DeadlockError('deadlock detected by %r'%self)\n if self.wakeup.acquire(False):\n self.waiters +=1\n \n self.wakeup.acquire()\n self.wakeup.release()\n finally:\n del _blocking_on[tid]\n \n def release(self):\n tid=_thread.get_ident()\n with self.lock:\n if self.owner !=tid:\n raise RuntimeError('cannot release un-acquired lock')\n assert self.count >0\n self.count -=1\n if self.count ==0:\n self.owner=None\n if self.waiters:\n self.waiters -=1\n self.wakeup.release()\n \n def __repr__(self):\n return '_ModuleLock({!r}) at {}'.format(self.name,id(self))\n \n \nclass _DummyModuleLock:\n ''\n \n \n def __init__(self,name):\n self.name=name\n self.count=0\n \n def acquire(self):\n self.count +=1\n return True\n \n def release(self):\n if self.count ==0:\n raise RuntimeError('cannot release un-acquired lock')\n self.count -=1\n \n def __repr__(self):\n return '_DummyModuleLock({!r}) at {}'.format(self.name,id(self))\n \n \nclass _ModuleLockManager:\n\n def __init__(self,name):\n self._name=name\n self._lock=None\n \n def __enter__(self):\n self._lock=_get_module_lock(self._name)\n self._lock.acquire()\n \n def __exit__(self,*args,**kwargs):\n self._lock.release()\n \n \n \n \ndef _get_module_lock(name):\n ''\n\n\n \n \n _imp.acquire_lock()\n try:\n try:\n lock=_module_locks[name]()\n except KeyError:\n lock=None\n \n if lock is None:\n if _thread is None:\n lock=_DummyModuleLock(name)\n else:\n lock=_ModuleLock(name)\n \n def cb(ref,name=name):\n _imp.acquire_lock()\n try:\n \n \n \n if _module_locks.get(name)is ref:\n del _module_locks[name]\n finally:\n _imp.release_lock()\n \n _module_locks[name]=_weakref.ref(lock,cb)\n finally:\n _imp.release_lock()\n \n return lock\n \n \ndef _lock_unlock_module(name):\n ''\n\n\n\n \n lock=_get_module_lock(name)\n try:\n lock.acquire()\n except _DeadlockError:\n \n \n pass\n else:\n lock.release()\n \n \ndef _call_with_frames_removed(f,*args,**kwds):\n ''\n\n\n\n\n\n \n return f(*args,**kwds)\n \n \ndef _verbose_message(message,*args,verbosity=1):\n ''\n if sys.flags.verbose >=verbosity:\n if not message.startswith(('#','import ')):\n message='# '+message\n print(message.format(*args),file=sys.stderr)\n \n \ndef _requires_builtin(fxn):\n ''\n def _requires_builtin_wrapper(self,fullname):\n if fullname not in sys.builtin_module_names:\n raise ImportError('{!r} is not a built-in module'.format(fullname),\n name=fullname)\n return fxn(self,fullname)\n _wrap(_requires_builtin_wrapper,fxn)\n return _requires_builtin_wrapper\n \n \ndef _requires_frozen(fxn):\n ''\n def _requires_frozen_wrapper(self,fullname):\n if not _imp.is_frozen(fullname):\n raise ImportError('{!r} is not a frozen module'.format(fullname),\n name=fullname)\n return fxn(self,fullname)\n _wrap(_requires_frozen_wrapper,fxn)\n return _requires_frozen_wrapper\n \n \n \ndef _load_module_shim(self,fullname):\n ''\n\n\n\n \n spec=spec_from_loader(fullname,self)\n if fullname in sys.modules:\n module=sys.modules[fullname]\n _exec(spec,module)\n return sys.modules[fullname]\n else:\n return _load(spec)\n \n \n \ndef _module_repr(module):\n\n loader=getattr(module,'__loader__',None)\n if hasattr(loader,'module_repr'):\n \n \n \n try:\n return loader.module_repr(module)\n except Exception:\n pass\n try:\n spec=module.__spec__\n except AttributeError:\n pass\n else:\n if spec is not None:\n return _module_repr_from_spec(spec)\n \n \n \n try:\n name=module.__name__\n except AttributeError:\n name='?'\n try:\n filename=module.__file__\n except AttributeError:\n if loader is None:\n return ''.format(name)\n else:\n return ''.format(name,loader)\n else:\n return ''.format(name,filename)\n \n \nclass _installed_safely:\n\n def __init__(self,module):\n self._module=module\n self._spec=module.__spec__\n \n def __enter__(self):\n \n \n \n self._spec._initializing=True\n sys.modules[self._spec.name]=self._module\n \n def __exit__(self,*args):\n try:\n spec=self._spec\n if any(arg is not None for arg in args):\n try:\n del sys.modules[spec.name]\n except KeyError:\n pass\n else:\n _verbose_message('import {!r} # {!r}',spec.name,spec.loader)\n finally:\n self._spec._initializing=False\n \n \nclass ModuleSpec:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,name,loader,*,origin=None,loader_state=None,\n is_package=None):\n self.name=name\n self.loader=loader\n self.origin=origin\n self.loader_state=loader_state\n self.submodule_search_locations=[]if is_package else None\n \n \n self._set_fileattr=False\n self._cached=None\n \n def __repr__(self):\n args=['name={!r}'.format(self.name),\n 'loader={!r}'.format(self.loader)]\n if self.origin is not None:\n args.append('origin={!r}'.format(self.origin))\n if self.submodule_search_locations is not None:\n args.append('submodule_search_locations={}'\n .format(self.submodule_search_locations))\n return '{}({})'.format(self.__class__.__name__,', '.join(args))\n \n def __eq__(self,other):\n smsl=self.submodule_search_locations\n try:\n return(self.name ==other.name and\n self.loader ==other.loader and\n self.origin ==other.origin and\n smsl ==other.submodule_search_locations and\n self.cached ==other.cached and\n self.has_location ==other.has_location)\n except AttributeError:\n return False\n \n @property\n def cached(self):\n if self._cached is None:\n if self.origin is not None and self._set_fileattr:\n if _bootstrap_external is None:\n raise NotImplementedError\n self._cached=_bootstrap_external._get_cached(self.origin)\n return self._cached\n \n @cached.setter\n def cached(self,cached):\n self._cached=cached\n \n @property\n def parent(self):\n ''\n if self.submodule_search_locations is None:\n return self.name.rpartition('.')[0]\n else:\n return self.name\n \n @property\n def has_location(self):\n return self._set_fileattr\n \n @has_location.setter\n def has_location(self,value):\n self._set_fileattr=bool(value)\n \n \ndef spec_from_loader(name,loader,*,origin=None,is_package=None):\n ''\n if hasattr(loader,'get_filename'):\n if _bootstrap_external is None:\n raise NotImplementedError\n spec_from_file_location=_bootstrap_external.spec_from_file_location\n \n if is_package is None:\n return spec_from_file_location(name,loader=loader)\n search=[]if is_package else None\n return spec_from_file_location(name,loader=loader,\n submodule_search_locations=search)\n \n if is_package is None:\n if hasattr(loader,'is_package'):\n try:\n is_package=loader.is_package(name)\n except ImportError:\n is_package=None\n else:\n \n is_package=False\n \n return ModuleSpec(name,loader,origin=origin,is_package=is_package)\n \n \ndef _spec_from_module(module,loader=None,origin=None):\n\n try:\n spec=module.__spec__\n except AttributeError:\n pass\n else:\n if spec is not None:\n return spec\n \n name=module.__name__\n if loader is None:\n try:\n loader=module.__loader__\n except AttributeError:\n \n pass\n try:\n location=module.__file__\n except AttributeError:\n location=None\n if origin is None:\n if location is None:\n try:\n origin=loader._ORIGIN\n except AttributeError:\n origin=None\n else:\n origin=location\n try:\n cached=module.__cached__\n except AttributeError:\n cached=None\n try:\n submodule_search_locations=list(module.__path__)\n except AttributeError:\n submodule_search_locations=None\n \n spec=ModuleSpec(name,loader,origin=origin)\n spec._set_fileattr=False if location is None else True\n spec.cached=cached\n spec.submodule_search_locations=submodule_search_locations\n return spec\n \n \ndef _init_module_attrs(spec,module,*,override=False):\n\n\n\n if(override or getattr(module,'__name__',None)is None):\n try:\n module.__name__=spec.name\n except AttributeError:\n pass\n \n if override or getattr(module,'__loader__',None)is None:\n loader=spec.loader\n if loader is None:\n \n if spec.submodule_search_locations is not None:\n if _bootstrap_external is None:\n raise NotImplementedError\n _NamespaceLoader=_bootstrap_external._NamespaceLoader\n \n loader=_NamespaceLoader.__new__(_NamespaceLoader)\n loader._path=spec.submodule_search_locations\n spec.loader=loader\n \n \n \n \n \n \n \n \n \n \n module.__file__=None\n try:\n module.__loader__=loader\n except AttributeError:\n pass\n \n if override or getattr(module,'__package__',None)is None:\n try:\n module.__package__=spec.parent\n except AttributeError:\n pass\n \n try:\n module.__spec__=spec\n except AttributeError:\n pass\n \n if override or getattr(module,'__path__',None)is None:\n if spec.submodule_search_locations is not None:\n try:\n module.__path__=spec.submodule_search_locations\n except AttributeError:\n pass\n \n if spec.has_location:\n if override or getattr(module,'__file__',None)is None:\n try:\n module.__file__=spec.origin\n except AttributeError:\n pass\n \n if override or getattr(module,'__cached__',None)is None:\n if spec.cached is not None:\n try:\n module.__cached__=spec.cached\n except AttributeError:\n pass\n return module\n \n \ndef module_from_spec(spec):\n ''\n \n module=None\n if hasattr(spec.loader,'create_module'):\n \n \n module=spec.loader.create_module(spec)\n elif hasattr(spec.loader,'exec_module'):\n raise ImportError('loaders that define exec_module() '\n 'must also define create_module()')\n if module is None:\n module=_new_module(spec.name)\n _init_module_attrs(spec,module)\n return module\n \n \ndef _module_repr_from_spec(spec):\n ''\n \n name='?'if spec.name is None else spec.name\n if spec.origin is None:\n if spec.loader is None:\n return ''.format(name)\n else:\n return ''.format(name,spec.loader)\n else:\n if spec.has_location:\n return ''.format(name,spec.origin)\n else:\n return ''.format(spec.name,spec.origin)\n \n \n \ndef _exec(spec,module):\n ''\n name=spec.name\n with _ModuleLockManager(name):\n if sys.modules.get(name)is not module:\n msg='module {!r} not in sys.modules'.format(name)\n raise ImportError(msg,name=name)\n if spec.loader is None:\n if spec.submodule_search_locations is None:\n raise ImportError('missing loader',name=spec.name)\n \n _init_module_attrs(spec,module,override=True)\n return module\n _init_module_attrs(spec,module,override=True)\n if not hasattr(spec.loader,'exec_module'):\n \n \n \n spec.loader.load_module(name)\n else:\n spec.loader.exec_module(module)\n return sys.modules[name]\n \n \ndef _load_backward_compatible(spec):\n\n\n\n spec.loader.load_module(spec.name)\n \n module=sys.modules[spec.name]\n if getattr(module,'__loader__',None)is None:\n try:\n module.__loader__=spec.loader\n except AttributeError:\n pass\n if getattr(module,'__package__',None)is None:\n try:\n \n \n \n module.__package__=module.__name__\n if not hasattr(module,'__path__'):\n module.__package__=spec.name.rpartition('.')[0]\n except AttributeError:\n pass\n if getattr(module,'__spec__',None)is None:\n try:\n module.__spec__=spec\n except AttributeError:\n pass\n return module\n \ndef _load_unlocked(spec):\n\n if spec.loader is not None:\n \n if not hasattr(spec.loader,'exec_module'):\n return _load_backward_compatible(spec)\n \n module=module_from_spec(spec)\n with _installed_safely(module):\n if spec.loader is None:\n if spec.submodule_search_locations is None:\n raise ImportError('missing loader',name=spec.name)\n \n else:\n spec.loader.exec_module(module)\n \n \n \n \n return sys.modules[spec.name]\n \n \n \ndef _load(spec):\n ''\n\n\n\n\n\n\n \n with _ModuleLockManager(spec.name):\n return _load_unlocked(spec)\n \n \n \n \nclass BuiltinImporter:\n\n ''\n\n\n\n\n \n \n @staticmethod\n def module_repr(module):\n ''\n\n\n\n \n return ''.format(module.__name__)\n \n @classmethod\n def find_spec(cls,fullname,path=None,target=None):\n if path is not None:\n return None\n if _imp.is_builtin(fullname):\n return spec_from_loader(fullname,cls,origin='built-in')\n else:\n return None\n \n @classmethod\n def find_module(cls,fullname,path=None):\n ''\n\n\n\n\n\n \n spec=cls.find_spec(fullname,path)\n return spec.loader if spec is not None else None\n \n @classmethod\n def create_module(self,spec):\n ''\n if spec.name not in sys.builtin_module_names:\n raise ImportError('{!r} is not a built-in module'.format(spec.name),\n name=spec.name)\n return _call_with_frames_removed(_imp.create_builtin,spec)\n \n @classmethod\n def exec_module(self,module):\n ''\n _call_with_frames_removed(_imp.exec_builtin,module)\n \n @classmethod\n @_requires_builtin\n def get_code(cls,fullname):\n ''\n return None\n \n @classmethod\n @_requires_builtin\n def get_source(cls,fullname):\n ''\n return None\n \n @classmethod\n @_requires_builtin\n def is_package(cls,fullname):\n ''\n return False\n \n load_module=classmethod(_load_module_shim)\n \n \nclass FrozenImporter:\n\n ''\n\n\n\n\n \n \n @staticmethod\n def module_repr(m):\n ''\n\n\n\n \n return ''.format(m.__name__)\n \n @classmethod\n def find_spec(cls,fullname,path=None,target=None):\n if _imp.is_frozen(fullname):\n return spec_from_loader(fullname,cls,origin='frozen')\n else:\n return None\n \n @classmethod\n def find_module(cls,fullname,path=None):\n ''\n\n\n\n \n return cls if _imp.is_frozen(fullname)else None\n \n @classmethod\n def create_module(cls,spec):\n ''\n \n @staticmethod\n def exec_module(module):\n name=module.__spec__.name\n if not _imp.is_frozen(name):\n raise ImportError('{!r} is not a frozen module'.format(name),\n name=name)\n code=_call_with_frames_removed(_imp.get_frozen_object,name)\n exec(code,module.__dict__)\n \n @classmethod\n def load_module(cls,fullname):\n ''\n\n\n\n \n return _load_module_shim(cls,fullname)\n \n @classmethod\n @_requires_frozen\n def get_code(cls,fullname):\n ''\n return _imp.get_frozen_object(fullname)\n \n @classmethod\n @_requires_frozen\n def get_source(cls,fullname):\n ''\n return None\n \n @classmethod\n @_requires_frozen\n def is_package(cls,fullname):\n ''\n return _imp.is_frozen_package(fullname)\n \n \n \n \nclass _ImportLockContext:\n\n ''\n \n def __enter__(self):\n ''\n _imp.acquire_lock()\n \n def __exit__(self,exc_type,exc_value,exc_traceback):\n ''\n _imp.release_lock()\n \n \ndef _resolve_name(name,package,level):\n ''\n bits=package.rsplit('.',level -1)\n if len(bits)= 0')\n if level >0:\n if not isinstance(package,str):\n raise TypeError('__package__ not set to a string')\n elif not package:\n raise ImportError('attempted relative import with no known parent '\n 'package')\n if not name and level ==0:\n raise ValueError('Empty module name')\n \n \n_ERR_MSG_PREFIX='No module named '\n_ERR_MSG=_ERR_MSG_PREFIX+'{!r}'\n\ndef _find_and_load_unlocked(name,import_):\n path=None\n parent=name.rpartition('.')[0]\n if parent:\n if parent not in sys.modules:\n _call_with_frames_removed(import_,parent)\n \n if name in sys.modules:\n return sys.modules[name]\n parent_module=sys.modules[parent]\n try:\n path=parent_module.__path__\n except AttributeError:\n msg=(_ERR_MSG+'; {!r} is not a package').format(name,parent)\n raise ModuleNotFoundError(msg,name=name)from None\n spec=_find_spec(name,path)\n if spec is None:\n raise ModuleNotFoundError(_ERR_MSG.format(name),name=name)\n else:\n module=_load_unlocked(spec)\n if parent:\n \n parent_module=sys.modules[parent]\n setattr(parent_module,name.rpartition('.')[2],module)\n return module\n \n \n_NEEDS_LOADING=object()\n\n\ndef _find_and_load(name,import_):\n ''\n with _ModuleLockManager(name):\n module=sys.modules.get(name,_NEEDS_LOADING)\n if module is _NEEDS_LOADING:\n return _find_and_load_unlocked(name,import_)\n \n if module is None:\n message=('import of {} halted; '\n 'None in sys.modules'.format(name))\n raise ModuleNotFoundError(message,name=name)\n \n _lock_unlock_module(name)\n return module\n \n \ndef _gcd_import(name,package=None,level=0):\n ''\n\n\n\n\n\n\n \n _sanity_check(name,package,level)\n if level >0:\n name=_resolve_name(name,package,level)\n return _find_and_load(name,_gcd_import)\n \n \ndef _handle_fromlist(module,fromlist,import_,*,recursive=False):\n ''\n\n\n\n\n\n \n \n \n if hasattr(module,'__path__'):\n for x in fromlist:\n if not isinstance(x,str):\n if recursive:\n where=module.__name__+'.__all__'\n else:\n where=\"``from list''\"\n raise TypeError(f\"Item in {where} must be str, \"\n f\"not {type(x).__name__}\")\n elif x =='*':\n if not recursive and hasattr(module,'__all__'):\n _handle_fromlist(module,module.__all__,import_,\n recursive=True)\n elif not hasattr(module,x):\n from_name='{}.{}'.format(module.__name__,x)\n try:\n _call_with_frames_removed(import_,from_name)\n except ModuleNotFoundError as exc:\n \n \n \n if(exc.name ==from_name and\n sys.modules.get(from_name,_NEEDS_LOADING)is not None):\n continue\n raise\n return module\n \n \ndef _calc___package__(globals):\n ''\n\n\n\n\n \n package=globals.get('__package__')\n spec=globals.get('__spec__')\n if package is not None:\n if spec is not None and package !=spec.parent:\n _warnings.warn(\"__package__ != __spec__.parent \"\n f\"({package !r} != {spec.parent !r})\",\n ImportWarning,stacklevel=3)\n return package\n elif spec is not None:\n return spec.parent\n else:\n _warnings.warn(\"can't resolve package from __spec__ or __package__, \"\n \"falling back on __name__ and __path__\",\n ImportWarning,stacklevel=3)\n package=globals['__name__']\n if '__path__'not in globals:\n package=package.rpartition('.')[0]\n return package\n \n \ndef __import__(name,globals=None,locals=None,fromlist=(),level=0):\n ''\n\n\n\n\n\n\n\n\n \n if level ==0:\n module=_gcd_import(name)\n else:\n globals_=globals if globals is not None else{}\n package=_calc___package__(globals_)\n module=_gcd_import(name,package,level)\n if not fromlist:\n \n \n if level ==0:\n return _gcd_import(name.partition('.')[0])\n elif not name:\n return module\n else:\n \n \n cut_off=len(name)-len(name.partition('.')[0])\n \n \n return sys.modules[module.__name__[:len(module.__name__)-cut_off]]\n else:\n return _handle_fromlist(module,fromlist,_gcd_import)\n \n \ndef _builtin_from_name(name):\n spec=BuiltinImporter.find_spec(name)\n if spec is None:\n raise ImportError('no built-in module named '+name)\n return _load_unlocked(spec)\n \n \nmodule_type=type(sys)\nfor name,module in sys.modules.items():\n if isinstance(module,module_type):\n if name in sys.builtin_module_names:\n loader=BuiltinImporter\n elif _imp.is_frozen(name):\n loader=FrozenImporter\n else:\n continue\n spec=_spec_from_module(module,loader)\n _init_module_attrs(spec,module)\n \n \nself_module=sys.modules[__name__]\n\n\nfor builtin_name in('_warnings',):\n if builtin_name not in sys.modules:\n builtin_module=_builtin_from_name(builtin_name)\n else:\n builtin_module=sys.modules[builtin_name]\n setattr(self_module,builtin_name,builtin_module)\n \n \ndef _install(sys_module,_imp_module):\n ''\n _setup(sys_module,_imp_module)\n \n sys.meta_path.append(BuiltinImporter)\n sys.meta_path.append(FrozenImporter)\n \n \ndef _install_external_importers():\n ''\n global _bootstrap_external\n import _frozen_importlib_external\n _bootstrap_external=_frozen_importlib_external\n _frozen_importlib_external._install(sys.modules[__name__])\n \n",["_frozen_importlib_external","_imp","_weakref","sys"]],_functools:[".py",'from reprlib import recursive_repr\n\nclass partial:\n \'\'\n\n \n \n __slots__="func","args","keywords","__dict__","__weakref__"\n \n def __new__(*args,**keywords):\n if not args:\n raise TypeError("descriptor \'__new__\' of partial needs an argument")\n if len(args)<2:\n raise TypeError("type \'partial\' takes at least one argument")\n cls,func,*args=args\n if not callable(func):\n raise TypeError("the first argument must be callable")\n args=tuple(args)\n \n if hasattr(func,"func")and isinstance(func.args,tuple):\n args=func.args+args\n tmpkw=func.keywords.copy()\n tmpkw.update(keywords)\n keywords=tmpkw\n del tmpkw\n func=func.func\n \n self=super(partial,cls).__new__(cls)\n \n self.func=func\n self.args=args\n self.keywords=keywords\n return self\n \n def __call__(*args,**keywords):\n if not args:\n raise TypeError("descriptor \'__call__\' of partial needs an argument")\n self,*args=args\n newkeywords=self.keywords.copy()\n newkeywords.update(keywords)\n return self.func(*self.args,*args,**newkeywords)\n \n @recursive_repr()\n def __repr__(self):\n qualname=type(self).__qualname__\n args=[repr(self.func)]\n args.extend(repr(x)for x in self.args)\n args.extend(f"{k}={v !r}"for(k,v)in self.keywords.items())\n if type(self).__module__ =="functools":\n return f"functools.{qualname}({\', \'.join(args)})"\n return f"{qualname}({\', \'.join(args)})"\n \n def __reduce__(self):\n return type(self),(self.func,),(self.func,self.args,\n self.keywords or None,self.__dict__ or None)\n \n def __setstate__(self,state):\n if not isinstance(state,tuple):\n raise TypeError("argument to __setstate__ must be a tuple")\n if len(state)!=4:\n raise TypeError(f"expected 4 items in state, got {len(state)}")\n func,args,kwds,namespace=state\n if(not callable(func)or not isinstance(args,tuple)or\n (kwds is not None and not isinstance(kwds,dict))or\n (namespace is not None and not isinstance(namespace,dict))):\n raise TypeError("invalid partial state")\n \n args=tuple(args)\n if kwds is None:\n kwds={}\n elif type(kwds)is not dict:\n kwds=dict(kwds)\n if namespace is None:\n namespace={}\n \n self.__dict__=namespace\n self.func=func\n self.args=args\n self.keywords=kwds\n \ndef reduce(func,iterable,initializer=None):\n args=iter(iterable)\n if initializer is not None:\n res=initializer\n else:\n res=next(args)\n while True:\n try:\n res=func(res,next(args))\n except StopIteration:\n return res\n',["reprlib"]],_imp:[".py","''\nimport sys\n\ndef _fix_co_filename(*args,**kw):\n ''\n\n\n\n \n pass\n \ndef acquire_lock(*args,**kw):\n ''\n\n \n pass\n \ncheck_hash_based_pycs=\"\"\"default\"\"\"\n\ndef create_builtin(spec):\n ''\n return __import__(spec.name)\n \ndef create_dynamic(*args,**kw):\n ''\n pass\n \ndef exec_builtin(*args,**kw):\n ''\n pass\n \ndef exec_dynamic(*args,**kw):\n ''\n pass\n \ndef extension_suffixes(*args,**kw):\n ''\n return[]\n \ndef get_frozen_object(*args,**kw):\n ''\n pass\n \ndef init_frozen(*args,**kw):\n ''\n pass\n \ndef is_builtin(module_name):\n\n return module_name in __BRYTHON__.builtin_module_names\n \ndef is_frozen(*args,**kw):\n ''\n return False\n \ndef is_frozen_package(*args,**kw):\n ''\n pass\n \ndef lock_held(*args,**kw):\n ''\n \n return False\n \ndef release_lock(*args,**kw):\n ''\n \n pass\n \ndef source_hash(*args,**kw):\n pass\n",["sys"]],_io:[".py",'\'\'\n\n\n\nimport os\nimport abc\nimport codecs\nimport errno\n\ntry:\n from _thread import allocate_lock as Lock\nexcept ImportError:\n from _dummy_thread import allocate_lock as Lock\n \n \nfrom _io_classes import *\nimport _io_classes\n_IOBase=_io_classes._IOBase\n_RawIOBase=_io_classes._RawIOBase\n_BufferedIOBase=_io_classes._BufferedIOBase\n_TextIOBase=_io_classes._TextIOBase\n\nSEEK_SET=0\nSEEK_CUR=1\nSEEK_END=2\n\nvalid_seek_flags={0,1,2}\nif hasattr(os,\'SEEK_HOLE\'):\n valid_seek_flags.add(os.SEEK_HOLE)\n valid_seek_flags.add(os.SEEK_DATA)\n \n \nDEFAULT_BUFFER_SIZE=8 *1024\n\n\n\n\n\n\nBlockingIOError=BlockingIOError\n\n\ndef __open(file,mode="r",buffering=-1,encoding=None,errors=None,\nnewline=None,closefd=True,opener=None):\n\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not isinstance(file,(str,bytes,int)):\n raise TypeError("invalid file: %r"%file)\n if not isinstance(mode,str):\n raise TypeError("invalid mode: %r"%mode)\n if not isinstance(buffering,int):\n raise TypeError("invalid buffering: %r"%buffering)\n if encoding is not None and not isinstance(encoding,str):\n raise TypeError("invalid encoding: %r"%encoding)\n if errors is not None and not isinstance(errors,str):\n raise TypeError("invalid errors: %r"%errors)\n modes=set(mode)\n if modes -set("axrwb+tU")or len(mode)>len(modes):\n raise ValueError("invalid mode: %r"%mode)\n creating="x"in modes\n reading="r"in modes\n writing="w"in modes\n appending="a"in modes\n updating="+"in modes\n text="t"in modes\n binary="b"in modes\n if "U"in modes:\n if creating or writing or appending:\n raise ValueError("can\'t use U and writing mode at once")\n reading=True\n if text and binary:\n raise ValueError("can\'t have text and binary mode at once")\n if creating+reading+writing+appending >1:\n raise ValueError("can\'t have read/write/append mode at once")\n if not(creating or reading or writing or appending):\n raise ValueError("must have exactly one of read/write/append mode")\n if binary and encoding is not None:\n raise ValueError("binary mode doesn\'t take an encoding argument")\n if binary and errors is not None:\n raise ValueError("binary mode doesn\'t take an errors argument")\n if binary and newline is not None:\n raise ValueError("binary mode doesn\'t take a newline argument")\n raw=FileIO(file,\n (creating and "x"or "")+\n (reading and "r"or "")+\n (writing and "w"or "")+\n (appending and "a"or "")+\n (updating and "+"or ""),\n closefd,opener=opener)\n line_buffering=False\n if buffering ==1 or buffering <0 and raw.isatty():\n buffering=-1\n line_buffering=True\n if buffering <0:\n buffering=DEFAULT_BUFFER_SIZE\n try:\n bs=os.fstat(raw.fileno()).st_blksize\n except(os.error,AttributeError):\n pass\n else:\n if bs >1:\n buffering=bs\n if buffering <0:\n raise ValueError("invalid buffering size")\n if buffering ==0:\n if binary:\n return raw\n raise ValueError("can\'t have unbuffered text I/O")\n if updating:\n buffer=BufferedRandom(raw,buffering)\n elif creating or writing or appending:\n buffer=BufferedWriter(raw,buffering)\n elif reading:\n buffer=BufferedReader(raw,buffering)\n else:\n raise ValueError("unknown mode: %r"%mode)\n if binary:\n return buffer\n text=TextIOWrapper(buffer,encoding,errors,newline,line_buffering)\n text.mode=mode\n return text\n \nopen=__open\n\ndef open_code(file):\n return __builtins__.open(file,encoding="utf-8")\n \ndef text_encoding(encoding,stacklevel=2):\n if encoding is None:\n return "locale"\n return encoding\n \nclass DocDescriptor:\n \'\'\n \n def __get__(self,obj,typ):\n return(\n "open(file, mode=\'r\', buffering=-1, encoding=None, "\n "errors=None, newline=None, closefd=True)\\n\\n"+\n open.__doc__)\n \nclass OpenWrapper:\n \'\'\n\n\n\n\n\n \n __doc__=DocDescriptor()\n \n def __new__(cls,*args,**kwargs):\n return open(*args,**kwargs)\n \n \n \n \nclass UnsupportedOperation(ValueError,IOError):\n pass\n \n',["_dummy_thread","_io_classes","_thread","abc","codecs","errno","os"]],_markupbase:[".py",'\'\'\n\n\n\n\n\n\nimport re\n\n_declname_match=re.compile(r\'[a-zA-Z][-_.a-zA-Z0-9]*\\s*\').match\n_declstringlit_match=re.compile(r\'(\\\'[^\\\']*\\\'|"[^"]*")\\s*\').match\n_commentclose=re.compile(r\'--\\s*>\')\n_markedsectionclose=re.compile(r\']\\s*]\\s*>\')\n\n\n\n\n_msmarkedsectionclose=re.compile(r\']\\s*>\')\n\ndel re\n\n\nclass ParserBase:\n \'\'\n \n \n def __init__(self):\n if self.__class__ is ParserBase:\n raise RuntimeError(\n "_markupbase.ParserBase must be subclassed")\n \n def reset(self):\n self.lineno=1\n self.offset=0\n \n def getpos(self):\n \'\'\n return self.lineno,self.offset\n \n \n \n \n \n def updatepos(self,i,j):\n if i >=j:\n return j\n rawdata=self.rawdata\n nlines=rawdata.count("\\n",i,j)\n if nlines:\n self.lineno=self.lineno+nlines\n pos=rawdata.rindex("\\n",i,j)\n self.offset=j -(pos+1)\n else:\n self.offset=self.offset+j -i\n return j\n \n _decl_otherchars=\'\'\n \n \n def parse_declaration(self,i):\n \n \n \n \n \n \n \n \n \n \n rawdata=self.rawdata\n j=i+2\n assert rawdata[i:j]=="":\n \n return j+1\n if rawdata[j:j+1]in("-",""):\n \n \n return -1\n \n n=len(rawdata)\n if rawdata[j:j+2]==\'--\':\n \n return self.parse_comment(i)\n elif rawdata[j]==\'[\':\n \n \n \n \n return self.parse_marked_section(i)\n else:\n decltype,j=self._scan_name(j,i)\n if j <0:\n return j\n if decltype =="doctype":\n self._decl_otherchars=\'\'\n while j ":\n \n data=rawdata[i+2:j]\n if decltype =="doctype":\n self.handle_decl(data)\n else:\n \n \n \n \n self.unknown_decl(data)\n return j+1\n if c in "\\"\'":\n m=_declstringlit_match(rawdata,j)\n if not m:\n return -1\n j=m.end()\n elif c in "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ":\n name,j=self._scan_name(j,i)\n elif c in self._decl_otherchars:\n j=j+1\n elif c =="[":\n \n if decltype =="doctype":\n j=self._parse_doctype_subset(j+1,i)\n elif decltype in{"attlist","linktype","link","element"}:\n \n \n \n \n raise AssertionError("unsupported \'[\' char in %s declaration"%decltype)\n else:\n raise AssertionError("unexpected \'[\' char in declaration")\n else:\n raise AssertionError("unexpected %r char in declaration"%rawdata[j])\n if j <0:\n return j\n return -1\n \n \n \n def parse_marked_section(self,i,report=1):\n rawdata=self.rawdata\n assert rawdata[i:i+3]==\'n:\n \n return -1\n if rawdata[j:j+4]=="\x3c!--":\n j=self.parse_comment(j,report=0)\n if j <0:\n return j\n continue\n name,j=self._scan_name(j+2,declstartpos)\n if j ==-1:\n return -1\n if name not in{"attlist","element","entity","notation"}:\n self.updatepos(declstartpos,j+2)\n raise AssertionError(\n "unknown declaration %r in internal subset"%name\n )\n \n meth=getattr(self,"_parse_doctype_"+name)\n j=meth(j,declstartpos)\n if j <0:\n return j\n elif c =="%":\n \n if(j+1)==n:\n \n return -1\n s,j=self._scan_name(j+1,declstartpos)\n if j <0:\n return j\n if rawdata[j]==";":\n j=j+1\n elif c =="]":\n j=j+1\n while j ":\n return j\n self.updatepos(declstartpos,j)\n raise AssertionError("unexpected char after internal subset")\n else:\n return -1\n elif c.isspace():\n j=j+1\n else:\n self.updatepos(declstartpos,j)\n raise AssertionError("unexpected char %r in internal subset"%c)\n \n return -1\n \n \n def _parse_doctype_element(self,i,declstartpos):\n name,j=self._scan_name(i,declstartpos)\n if j ==-1:\n return -1\n \n rawdata=self.rawdata\n if \'>\'in rawdata[j:]:\n return rawdata.find(">",j)+1\n return -1\n \n \n def _parse_doctype_attlist(self,i,declstartpos):\n rawdata=self.rawdata\n name,j=self._scan_name(i,declstartpos)\n c=rawdata[j:j+1]\n if c =="":\n return -1\n if c ==">":\n return j+1\n while 1:\n \n \n name,j=self._scan_name(j,declstartpos)\n if j <0:\n return j\n c=rawdata[j:j+1]\n if c =="":\n return -1\n if c =="(":\n \n if ")"in rawdata[j:]:\n j=rawdata.find(")",j)+1\n else:\n return -1\n while rawdata[j:j+1].isspace():\n j=j+1\n if not rawdata[j:]:\n \n return -1\n else:\n name,j=self._scan_name(j,declstartpos)\n c=rawdata[j:j+1]\n if not c:\n return -1\n if c in "\'\\"":\n m=_declstringlit_match(rawdata,j)\n if m:\n j=m.end()\n else:\n return -1\n c=rawdata[j:j+1]\n if not c:\n return -1\n if c =="#":\n if rawdata[j:]=="#":\n \n return -1\n name,j=self._scan_name(j+1,declstartpos)\n if j <0:\n return j\n c=rawdata[j:j+1]\n if not c:\n return -1\n if c ==\'>\':\n \n return j+1\n \n \n def _parse_doctype_notation(self,i,declstartpos):\n name,j=self._scan_name(i,declstartpos)\n if j <0:\n return j\n rawdata=self.rawdata\n while 1:\n c=rawdata[j:j+1]\n if not c:\n \n return -1\n if c ==\'>\':\n return j+1\n if c in "\'\\"":\n m=_declstringlit_match(rawdata,j)\n if not m:\n return -1\n j=m.end()\n else:\n name,j=self._scan_name(j,declstartpos)\n if j <0:\n return j\n \n \n def _parse_doctype_entity(self,i,declstartpos):\n rawdata=self.rawdata\n if rawdata[i:i+1]=="%":\n j=i+1\n while 1:\n c=rawdata[j:j+1]\n if not c:\n return -1\n if c.isspace():\n j=j+1\n else:\n break\n else:\n j=i\n name,j=self._scan_name(j,declstartpos)\n if j <0:\n return j\n while 1:\n c=self.rawdata[j:j+1]\n if not c:\n return -1\n if c in "\'\\"":\n m=_declstringlit_match(rawdata,j)\n if m:\n j=m.end()\n else:\n return -1\n elif c ==">":\n return j+1\n else:\n name,j=self._scan_name(j,declstartpos)\n if j <0:\n return j\n \n \n \n def _scan_name(self,i,declstartpos):\n rawdata=self.rawdata\n n=len(rawdata)\n if i ==n:\n return None,-1\n m=_declname_match(rawdata,i)\n if m:\n s=m.group()\n name=s.strip()\n if(i+len(s))==n:\n return None,-1\n return name.lower(),m.end()\n else:\n self.updatepos(declstartpos,i)\n raise AssertionError(\n "expected name token at %r"%rawdata[declstartpos:declstartpos+20]\n )\n \n \n def unknown_decl(self,data):\n pass\n',["re"]],_multibytecodec:[".py","\nclass MultibyteIncrementalDecoder(object):\n\n decode=\"\"\n \n errors=\"\"\n \n getstate=\"\"\n \n reset=\"\"\n \n setstate=\"\"\n \nclass MultibyteIncrementalEncoder(object):\n\n\n encode=\"\"\n \n errors=\"\"\n \n getstate=\"\"\n \n reset=\"\"\n \n setstate=\"\"\n \nclass MultibyteStreamReader(object):\n\n\n errors=\"\"\n \n read=\"\"\n \n readline=\"\"\n \n readlines=\"\"\n \n reset=\"\"\n \n stream=\"\"\n \nclass MultibyteStreamWriter(object):\n\n\n errors=\"\"\n \n reset=\"\"\n \n stream=\"\"\n \n write=\"\"\n \n writelines=\"\"\n \ndef __create_codec(*args,**kw):\n pass\n \n",[]],_operator:[".py","''\n\n\ndef _compare_digest(a,b):\n ''\n\n\n\n\n\n\n\n\n \n if isinstance(a,str)and isinstance(b,str)and\\\n a.isascii()and b.isascii():\n return a ==b\n elif isinstance(a,bytes)and isinstance(b,bytes):\n return a ==b\n raise TypeError(\"unsupported operand types\")\n \ndef index(a):\n\n\n\n try:\n index_method=a.__index__\n except AttributeError as e:\n \n raise TypeError(f\"'{type(a)}' object cannot be interpreted as an integer\")from e\n else:\n return index_method()\n",[]],_pydatetime:[".py","''\n\n\n\n\n\n__all__=(\"date\",\"datetime\",\"time\",\"timedelta\",\"timezone\",\"tzinfo\",\n\"MINYEAR\",\"MAXYEAR\",\"UTC\")\n\n\nimport time as _time\nimport math as _math\nimport sys\nfrom operator import index as _index\n\ndef _cmp(x,y):\n return 0 if x ==y else 1 if x >y else -1\n \ndef _get_class_module(self):\n module_name=self.__class__.__module__\n if module_name =='_pydatetime':\n return 'datetime'\n else:\n return module_name\n \nMINYEAR=1\nMAXYEAR=9999\n_MAXORDINAL=3652059\n\n\n\n\n\n\n\n\n\n\n\n_DAYS_IN_MONTH=[-1,31,28,31,30,31,30,31,31,30,31,30,31]\n\n_DAYS_BEFORE_MONTH=[-1]\ndbm=0\nfor dim in _DAYS_IN_MONTH[1:]:\n _DAYS_BEFORE_MONTH.append(dbm)\n dbm +=dim\ndel dbm,dim\n\ndef _is_leap(year):\n ''\n return year %4 ==0 and(year %100 !=0 or year %400 ==0)\n \ndef _days_before_year(year):\n ''\n y=year -1\n return y *365+y //4 -y //100+y //400\n \ndef _days_in_month(year,month):\n ''\n assert 1 <=month <=12,month\n if month ==2 and _is_leap(year):\n return 29\n return _DAYS_IN_MONTH[month]\n \ndef _days_before_month(year,month):\n ''\n assert 1 <=month <=12,'month must be in 1..12'\n return _DAYS_BEFORE_MONTH[month]+(month >2 and _is_leap(year))\n \ndef _ymd2ord(year,month,day):\n ''\n assert 1 <=month <=12,'month must be in 1..12'\n dim=_days_in_month(year,month)\n assert 1 <=day <=dim,('day must be in 1..%d'%dim)\n return(_days_before_year(year)+\n _days_before_month(year,month)+\n day)\n \n_DI400Y=_days_before_year(401)\n_DI100Y=_days_before_year(101)\n_DI4Y=_days_before_year(5)\n\n\n\nassert _DI4Y ==4 *365+1\n\n\n\nassert _DI400Y ==4 *_DI100Y+1\n\n\n\nassert _DI100Y ==25 *_DI4Y -1\n\ndef _ord2ymd(n):\n ''\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n n -=1\n n400,n=divmod(n,_DI400Y)\n year=n400 *400+1\n \n \n \n \n \n \n n100,n=divmod(n,_DI100Y)\n \n \n n4,n=divmod(n,_DI4Y)\n \n \n \n n1,n=divmod(n,365)\n \n year +=n100 *100+n4 *4+n1\n if n1 ==4 or n100 ==4:\n assert n ==0\n return year -1,12,31\n \n \n \n leapyear=n1 ==3 and(n4 !=24 or n100 ==3)\n assert leapyear ==_is_leap(year)\n month=(n+50)>>5\n preceding=_DAYS_BEFORE_MONTH[month]+(month >2 and leapyear)\n if preceding >n:\n month -=1\n preceding -=_DAYS_IN_MONTH[month]+(month ==2 and leapyear)\n n -=preceding\n assert 0 <=n <_days_in_month(year,month)\n \n \n \n return year,month,n+1\n \n \n_MONTHNAMES=[None,\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\n\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n_DAYNAMES=[None,\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\"]\n\n\ndef _build_struct_time(y,m,d,hh,mm,ss,dstflag):\n wday=(_ymd2ord(y,m,d)+6)%7\n dnum=_days_before_month(y,m)+d\n return _time.struct_time((y,m,d,hh,mm,ss,wday,dnum,dstflag))\n \ndef _format_time(hh,mm,ss,us,timespec='auto'):\n specs={\n 'hours':'{:02d}',\n 'minutes':'{:02d}:{:02d}',\n 'seconds':'{:02d}:{:02d}:{:02d}',\n 'milliseconds':'{:02d}:{:02d}:{:02d}.{:03d}',\n 'microseconds':'{:02d}:{:02d}:{:02d}.{:06d}'\n }\n \n if timespec =='auto':\n \n timespec='microseconds'if us else 'seconds'\n elif timespec =='milliseconds':\n us //=1000\n try:\n fmt=specs[timespec]\n except KeyError:\n raise ValueError('Unknown timespec value')\n else:\n return fmt.format(hh,mm,ss,us)\n \ndef _format_offset(off,sep=':'):\n s=''\n if off is not None:\n if off.days <0:\n sign=\"-\"\n off=-off\n else:\n sign=\"+\"\n hh,mm=divmod(off,timedelta(hours=1))\n mm,ss=divmod(mm,timedelta(minutes=1))\n s +=\"%s%02d%s%02d\"%(sign,hh,sep,mm)\n if ss or ss.microseconds:\n s +=\"%s%02d\"%(sep,ss.seconds)\n \n if ss.microseconds:\n s +='.%06d'%ss.microseconds\n return s\n \n \ndef _wrap_strftime(object,format,timetuple):\n\n freplace=None\n zreplace=None\n colonzreplace=None\n Zreplace=None\n \n \n newformat=[]\n push=newformat.append\n i,n=0,len(format)\n while i 7\n date_separator=\"-\"\n week_indicator=\"W\"\n \n if dtstr[4]==date_separator:\n if dtstr[5]==week_indicator:\n if len_dtstr <8:\n raise ValueError(\"Invalid ISO string\")\n if len_dtstr >8 and dtstr[8]==date_separator:\n if len_dtstr ==9:\n raise ValueError(\"Invalid ISO string\")\n if len_dtstr >10 and _is_ascii_digit(dtstr[10]):\n \n \n \n \n \n \n \n \n \n return 8\n return 10\n else:\n \n return 8\n else:\n \n return 10\n else:\n if dtstr[4]==week_indicator:\n \n idx=7\n while idx pos:\n if(dtstr[pos:pos+1]=='-')!=has_sep:\n raise ValueError(\"Inconsistent use of dash separator\")\n \n pos +=has_sep\n \n dayno=int(dtstr[pos:pos+1])\n \n return list(_isoweek_to_gregorian(year,weekno,dayno))\n else:\n month=int(dtstr[pos:pos+2])\n pos +=2\n if(dtstr[pos:pos+1]==\"-\")!=has_sep:\n raise ValueError(\"Inconsistent use of dash separator\")\n \n pos +=has_sep\n day=int(dtstr[pos:pos+2])\n \n return[year,month,day]\n \n \n_FRACTION_CORRECTION=[100000,10000,1000,100,10]\n\n\ndef _parse_hh_mm_ss_ff(tstr):\n\n len_str=len(tstr)\n \n time_comps=[0,0,0,0]\n pos=0\n for comp in range(0,3):\n if(len_str -pos)<2:\n raise ValueError(\"Incomplete time component\")\n \n time_comps[comp]=int(tstr[pos:pos+2])\n \n pos +=2\n next_char=tstr[pos:pos+1]\n \n if comp ==0:\n has_sep=next_char ==':'\n \n if not next_char or comp >=2:\n break\n \n if has_sep and next_char !=':':\n raise ValueError(\"Invalid time separator: %c\"%next_char)\n \n pos +=has_sep\n \n if pos =6:\n to_parse=6\n else:\n to_parse=len_remainder\n \n time_comps[3]=int(tstr[pos:(pos+to_parse)])\n if to_parse <6:\n time_comps[3]*=_FRACTION_CORRECTION[to_parse -1]\n if(len_remainder >to_parse\n and not all(map(_is_ascii_digit,tstr[(pos+to_parse):]))):\n raise ValueError(\"Non-digit values in unparsed fraction\")\n \n return time_comps\n \ndef _parse_isoformat_time(tstr):\n\n len_str=len(tstr)\n if len_str <2:\n raise ValueError(\"Isoformat time too short\")\n \n \n tz_pos=(tstr.find('-')+1 or tstr.find('+')+1 or tstr.find('Z')+1)\n timestr=tstr[:tz_pos -1]if tz_pos >0 else tstr\n \n time_comps=_parse_hh_mm_ss_ff(timestr)\n \n tzi=None\n if tz_pos ==len_str and tstr[-1]=='Z':\n tzi=timezone.utc\n elif tz_pos >0:\n tzstr=tstr[tz_pos:]\n \n \n \n \n \n \n \n \n \n \n if len(tzstr)in(0,1,3):\n raise ValueError(\"Malformed time zone string\")\n \n tz_comps=_parse_hh_mm_ss_ff(tzstr)\n \n if all(x ==0 for x in tz_comps):\n tzi=timezone.utc\n else:\n tzsign=-1 if tstr[tz_pos -1]=='-'else 1\n \n td=timedelta(hours=tz_comps[0],minutes=tz_comps[1],\n seconds=tz_comps[2],microseconds=tz_comps[3])\n \n tzi=timezone(tzsign *td)\n \n time_comps.append(tzi)\n \n return time_comps\n \n \ndef _isoweek_to_gregorian(year,week,day):\n\n if not MINYEAR <=year <=MAXYEAR:\n raise ValueError(f\"Year is out of range: {year}\")\n \n if not 0 b if b >0 else r 999999999:\n raise OverflowError(\"timedelta # of days is too large: %d\"%d)\n \n self=object.__new__(cls)\n self._days=d\n self._seconds=s\n self._microseconds=us\n self._hashcode=-1\n return self\n \n def __repr__(self):\n args=[]\n if self._days:\n args.append(\"days=%d\"%self._days)\n if self._seconds:\n args.append(\"seconds=%d\"%self._seconds)\n if self._microseconds:\n args.append(\"microseconds=%d\"%self._microseconds)\n if not args:\n args.append('0')\n return \"%s.%s(%s)\"%(_get_class_module(self),\n self.__class__.__qualname__,\n ', '.join(args))\n \n def __str__(self):\n mm,ss=divmod(self._seconds,60)\n hh,mm=divmod(mm,60)\n s=\"%d:%02d:%02d\"%(hh,mm,ss)\n if self._days:\n def plural(n):\n return n,abs(n)!=1 and \"s\"or \"\"\n s=(\"%d day%s, \"%plural(self._days))+s\n if self._microseconds:\n s=s+\".%06d\"%self._microseconds\n return s\n \n def total_seconds(self):\n ''\n return((self.days *86400+self.seconds)*10 **6+\n self.microseconds)/10 **6\n \n \n @property\n def days(self):\n ''\n return self._days\n \n @property\n def seconds(self):\n ''\n return self._seconds\n \n @property\n def microseconds(self):\n ''\n return self._microseconds\n \n def __add__(self,other):\n if isinstance(other,timedelta):\n \n \n return timedelta(self._days+other._days,\n self._seconds+other._seconds,\n self._microseconds+other._microseconds)\n return NotImplemented\n \n __radd__=__add__\n \n def __sub__(self,other):\n if isinstance(other,timedelta):\n \n \n return timedelta(self._days -other._days,\n self._seconds -other._seconds,\n self._microseconds -other._microseconds)\n return NotImplemented\n \n def __rsub__(self,other):\n if isinstance(other,timedelta):\n return -self+other\n return NotImplemented\n \n def __neg__(self):\n \n \n return timedelta(-self._days,\n -self._seconds,\n -self._microseconds)\n \n def __pos__(self):\n return self\n \n def __abs__(self):\n if self._days <0:\n return -self\n else:\n return self\n \n def __mul__(self,other):\n if isinstance(other,int):\n \n \n return timedelta(self._days *other,\n self._seconds *other,\n self._microseconds *other)\n if isinstance(other,float):\n usec=self._to_microseconds()\n a,b=other.as_integer_ratio()\n return timedelta(0,0,_divide_and_round(usec *a,b))\n return NotImplemented\n \n __rmul__=__mul__\n \n def _to_microseconds(self):\n return((self._days *(24 *3600)+self._seconds)*1000000+\n self._microseconds)\n \n def __floordiv__(self,other):\n if not isinstance(other,(int,timedelta)):\n return NotImplemented\n usec=self._to_microseconds()\n if isinstance(other,timedelta):\n return usec //other._to_microseconds()\n if isinstance(other,int):\n return timedelta(0,0,usec //other)\n \n def __truediv__(self,other):\n if not isinstance(other,(int,float,timedelta)):\n return NotImplemented\n usec=self._to_microseconds()\n if isinstance(other,timedelta):\n return usec /other._to_microseconds()\n if isinstance(other,int):\n return timedelta(0,0,_divide_and_round(usec,other))\n if isinstance(other,float):\n a,b=other.as_integer_ratio()\n return timedelta(0,0,_divide_and_round(b *usec,a))\n \n def __mod__(self,other):\n if isinstance(other,timedelta):\n r=self._to_microseconds()%other._to_microseconds()\n return timedelta(0,0,r)\n return NotImplemented\n \n def __divmod__(self,other):\n if isinstance(other,timedelta):\n q,r=divmod(self._to_microseconds(),\n other._to_microseconds())\n return q,timedelta(0,0,r)\n return NotImplemented\n \n \n \n def __eq__(self,other):\n if isinstance(other,timedelta):\n return self._cmp(other)==0\n else:\n return NotImplemented\n \n def __le__(self,other):\n if isinstance(other,timedelta):\n return self._cmp(other)<=0\n else:\n return NotImplemented\n \n def __lt__(self,other):\n if isinstance(other,timedelta):\n return self._cmp(other)<0\n else:\n return NotImplemented\n \n def __ge__(self,other):\n if isinstance(other,timedelta):\n return self._cmp(other)>=0\n else:\n return NotImplemented\n \n def __gt__(self,other):\n if isinstance(other,timedelta):\n return self._cmp(other)>0\n else:\n return NotImplemented\n \n def _cmp(self,other):\n assert isinstance(other,timedelta)\n return _cmp(self._getstate(),other._getstate())\n \n def __hash__(self):\n if self._hashcode ==-1:\n self._hashcode=hash(self._getstate())\n return self._hashcode\n \n def __bool__(self):\n return(self._days !=0 or\n self._seconds !=0 or\n self._microseconds !=0)\n \n \n \n def _getstate(self):\n return(self._days,self._seconds,self._microseconds)\n \n def __reduce__(self):\n return(self.__class__,self._getstate())\n \ntimedelta.min=timedelta(-999999999)\ntimedelta.max=timedelta(days=999999999,hours=23,minutes=59,seconds=59,\nmicroseconds=999999)\ntimedelta.resolution=timedelta(microseconds=1)\n\nclass date:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n __slots__='_year','_month','_day','_hashcode'\n \n def __new__(cls,year,month=None,day=None):\n ''\n\n\n\n\n \n if(month is None and\n isinstance(year,(bytes,str))and len(year)==4 and\n 1 <=ord(year[2:3])<=12):\n \n if isinstance(year,str):\n try:\n year=year.encode('latin1')\n except UnicodeEncodeError:\n \n raise ValueError(\n \"Failed to encode latin1 string when unpickling \"\n \"a date object. \"\n \"pickle.load(data, encoding='latin1') is assumed.\")\n self=object.__new__(cls)\n self.__setstate(year)\n self._hashcode=-1\n return self\n year,month,day=_check_date_fields(year,month,day)\n self=object.__new__(cls)\n self._year=year\n self._month=month\n self._day=day\n self._hashcode=-1\n return self\n \n \n \n @classmethod\n def fromtimestamp(cls,t):\n ''\n y,m,d,hh,mm,ss,weekday,jday,dst=_time.localtime(t)\n return cls(y,m,d)\n \n @classmethod\n def today(cls):\n ''\n t=_time.time()\n return cls.fromtimestamp(t)\n \n @classmethod\n def fromordinal(cls,n):\n ''\n\n\n\n \n y,m,d=_ord2ymd(n)\n return cls(y,m,d)\n \n @classmethod\n def fromisoformat(cls,date_string):\n ''\n if not isinstance(date_string,str):\n raise TypeError('fromisoformat: argument must be str')\n \n if len(date_string)not in(7,8,10):\n raise ValueError(f'Invalid isoformat string: {date_string !r}')\n \n try:\n return cls(*_parse_isoformat_date(date_string))\n except Exception:\n raise ValueError(f'Invalid isoformat string: {date_string !r}')\n \n @classmethod\n def fromisocalendar(cls,year,week,day):\n ''\n\n \n return cls(*_isoweek_to_gregorian(year,week,day))\n \n \n \n def __repr__(self):\n ''\n\n\n\n\n\n\n\n\n \n return \"%s.%s(%d, %d, %d)\"%(_get_class_module(self),\n self.__class__.__qualname__,\n self._year,\n self._month,\n self._day)\n \n \n \n \n \n \n def ctime(self):\n ''\n weekday=self.toordinal()%7 or 7\n return \"%s %s %2d 00:00:00 %04d\"%(\n _DAYNAMES[weekday],\n _MONTHNAMES[self._month],\n self._day,self._year)\n \n def strftime(self,format):\n ''\n\n\n\n \n return _wrap_strftime(self,format,self.timetuple())\n \n def __format__(self,fmt):\n if not isinstance(fmt,str):\n raise TypeError(\"must be str, not %s\"%type(fmt).__name__)\n if len(fmt)!=0:\n return self.strftime(fmt)\n return str(self)\n \n def isoformat(self):\n ''\n\n\n\n\n\n\n \n return \"%04d-%02d-%02d\"%(self._year,self._month,self._day)\n \n __str__=isoformat\n \n \n @property\n def year(self):\n ''\n return self._year\n \n @property\n def month(self):\n ''\n return self._month\n \n @property\n def day(self):\n ''\n return self._day\n \n \n \n \n def timetuple(self):\n ''\n return _build_struct_time(self._year,self._month,self._day,\n 0,0,0,-1)\n \n def toordinal(self):\n ''\n\n\n\n \n return _ymd2ord(self._year,self._month,self._day)\n \n def replace(self,year=None,month=None,day=None):\n ''\n if year is None:\n year=self._year\n if month is None:\n month=self._month\n if day is None:\n day=self._day\n return type(self)(year,month,day)\n \n \n \n def __eq__(self,other):\n if isinstance(other,date):\n return self._cmp(other)==0\n return NotImplemented\n \n def __le__(self,other):\n if isinstance(other,date):\n return self._cmp(other)<=0\n return NotImplemented\n \n def __lt__(self,other):\n if isinstance(other,date):\n return self._cmp(other)<0\n return NotImplemented\n \n def __ge__(self,other):\n if isinstance(other,date):\n return self._cmp(other)>=0\n return NotImplemented\n \n def __gt__(self,other):\n if isinstance(other,date):\n return self._cmp(other)>0\n return NotImplemented\n \n def _cmp(self,other):\n assert isinstance(other,date)\n y,m,d=self._year,self._month,self._day\n y2,m2,d2=other._year,other._month,other._day\n return _cmp((y,m,d),(y2,m2,d2))\n \n def __hash__(self):\n ''\n if self._hashcode ==-1:\n self._hashcode=hash(self._getstate())\n return self._hashcode\n \n \n \n def __add__(self,other):\n ''\n if isinstance(other,timedelta):\n o=self.toordinal()+other.days\n if 0 =52:\n if today >=_isoweek1monday(year+1):\n year +=1\n week=0\n return _IsoCalendarDate(year,week+1,day+1)\n \n \n \n def _getstate(self):\n yhi,ylo=divmod(self._year,256)\n return bytes([yhi,ylo,self._month,self._day]),\n \n def __setstate(self,string):\n yhi,ylo,self._month,self._day=string\n self._year=yhi *256+ylo\n \n def __reduce__(self):\n return(self.__class__,self._getstate())\n \n_date_class=date\n\ndate.min=date(1,1,1)\ndate.max=date(9999,12,31)\ndate.resolution=timedelta(days=1)\n\n\nclass tzinfo:\n ''\n\n\n \n __slots__=()\n \n def tzname(self,dt):\n ''\n raise NotImplementedError(\"tzinfo subclass must override tzname()\")\n \n def utcoffset(self,dt):\n ''\n raise NotImplementedError(\"tzinfo subclass must override utcoffset()\")\n \n def dst(self,dt):\n ''\n\n\n\n \n raise NotImplementedError(\"tzinfo subclass must override dst()\")\n \n def fromutc(self,dt):\n ''\n \n if not isinstance(dt,datetime):\n raise TypeError(\"fromutc() requires a datetime argument\")\n if dt.tzinfo is not self:\n raise ValueError(\"dt.tzinfo is not self\")\n \n dtoff=dt.utcoffset()\n if dtoff is None:\n raise ValueError(\"fromutc() requires a non-None utcoffset() \"\n \"result\")\n \n \n \n dtdst=dt.dst()\n if dtdst is None:\n raise ValueError(\"fromutc() requires a non-None dst() result\")\n delta=dtoff -dtdst\n if delta:\n dt +=delta\n dtdst=dt.dst()\n if dtdst is None:\n raise ValueError(\"fromutc(): dt.dst gave inconsistent \"\n \"results; cannot convert\")\n return dt+dtdst\n \n \n \n def __reduce__(self):\n getinitargs=getattr(self,\"__getinitargs__\",None)\n if getinitargs:\n args=getinitargs()\n else:\n args=()\n return(self.__class__,args,self.__getstate__())\n \n \nclass IsoCalendarDate(tuple):\n\n def __new__(cls,year,week,weekday,/):\n return super().__new__(cls,(year,week,weekday))\n \n @property\n def year(self):\n return self[0]\n \n @property\n def week(self):\n return self[1]\n \n @property\n def weekday(self):\n return self[2]\n \n def __reduce__(self):\n \n \n return(tuple,(tuple(self),))\n \n def __repr__(self):\n return(f'{self.__class__.__name__}'\n f'(year={self[0]}, week={self[1]}, weekday={self[2]})')\n \n \n_IsoCalendarDate=IsoCalendarDate\ndel IsoCalendarDate\n_tzinfo_class=tzinfo\n\nclass time:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n __slots__='_hour','_minute','_second','_microsecond','_tzinfo','_hashcode','_fold'\n \n def __new__(cls,hour=0,minute=0,second=0,microsecond=0,tzinfo=None,*,fold=0):\n ''\n\n\n\n\n\n\n\n \n if(isinstance(hour,(bytes,str))and len(hour)==6 and\n ord(hour[0:1])&0x7F <24):\n \n if isinstance(hour,str):\n try:\n hour=hour.encode('latin1')\n except UnicodeEncodeError:\n \n raise ValueError(\n \"Failed to encode latin1 string when unpickling \"\n \"a time object. \"\n \"pickle.load(data, encoding='latin1') is assumed.\")\n self=object.__new__(cls)\n self.__setstate(hour,minute or None)\n self._hashcode=-1\n return self\n hour,minute,second,microsecond,fold=_check_time_fields(\n hour,minute,second,microsecond,fold)\n _check_tzinfo_arg(tzinfo)\n self=object.__new__(cls)\n self._hour=hour\n self._minute=minute\n self._second=second\n self._microsecond=microsecond\n self._tzinfo=tzinfo\n self._hashcode=-1\n self._fold=fold\n return self\n \n \n @property\n def hour(self):\n ''\n return self._hour\n \n @property\n def minute(self):\n ''\n return self._minute\n \n @property\n def second(self):\n ''\n return self._second\n \n @property\n def microsecond(self):\n ''\n return self._microsecond\n \n @property\n def tzinfo(self):\n ''\n return self._tzinfo\n \n @property\n def fold(self):\n return self._fold\n \n \n \n \n \n def __eq__(self,other):\n if isinstance(other,time):\n return self._cmp(other,allow_mixed=True)==0\n else:\n return NotImplemented\n \n def __le__(self,other):\n if isinstance(other,time):\n return self._cmp(other)<=0\n else:\n return NotImplemented\n \n def __lt__(self,other):\n if isinstance(other,time):\n return self._cmp(other)<0\n else:\n return NotImplemented\n \n def __ge__(self,other):\n if isinstance(other,time):\n return self._cmp(other)>=0\n else:\n return NotImplemented\n \n def __gt__(self,other):\n if isinstance(other,time):\n return self._cmp(other)>0\n else:\n return NotImplemented\n \n def _cmp(self,other,allow_mixed=False):\n assert isinstance(other,time)\n mytz=self._tzinfo\n ottz=other._tzinfo\n myoff=otoff=None\n \n if mytz is ottz:\n base_compare=True\n else:\n myoff=self.utcoffset()\n otoff=other.utcoffset()\n base_compare=myoff ==otoff\n \n if base_compare:\n return _cmp((self._hour,self._minute,self._second,\n self._microsecond),\n (other._hour,other._minute,other._second,\n other._microsecond))\n if myoff is None or otoff is None:\n if allow_mixed:\n return 2\n else:\n raise TypeError(\"cannot compare naive and aware times\")\n myhhmm=self._hour *60+self._minute -myoff //timedelta(minutes=1)\n othhmm=other._hour *60+other._minute -otoff //timedelta(minutes=1)\n return _cmp((myhhmm,self._second,self._microsecond),\n (othhmm,other._second,other._microsecond))\n \n def __hash__(self):\n ''\n if self._hashcode ==-1:\n if self.fold:\n t=self.replace(fold=0)\n else:\n t=self\n tzoff=t.utcoffset()\n if not tzoff:\n self._hashcode=hash(t._getstate()[0])\n else:\n h,m=divmod(timedelta(hours=self.hour,minutes=self.minute)-tzoff,\n timedelta(hours=1))\n assert not m %timedelta(minutes=1),\"whole minute\"\n m //=timedelta(minutes=1)\n if 0 <=h <24:\n self._hashcode=hash(time(h,m,self.second,self.microsecond))\n else:\n self._hashcode=hash((h,m,self.second,self.microsecond))\n return self._hashcode\n \n \n \n def _tzstr(self):\n ''\n off=self.utcoffset()\n return _format_offset(off)\n \n def __repr__(self):\n ''\n if self._microsecond !=0:\n s=\", %d, %d\"%(self._second,self._microsecond)\n elif self._second !=0:\n s=\", %d\"%self._second\n else:\n s=\"\"\n s=\"%s.%s(%d, %d%s)\"%(_get_class_module(self),\n self.__class__.__qualname__,\n self._hour,self._minute,s)\n if self._tzinfo is not None:\n assert s[-1:]==\")\"\n s=s[:-1]+\", tzinfo=%r\"%self._tzinfo+\")\"\n if self._fold:\n assert s[-1:]==\")\"\n s=s[:-1]+\", fold=1)\"\n return s\n \n def isoformat(self,timespec='auto'):\n ''\n\n\n\n\n\n\n\n \n s=_format_time(self._hour,self._minute,self._second,\n self._microsecond,timespec)\n tz=self._tzstr()\n if tz:\n s +=tz\n return s\n \n __str__=isoformat\n \n @classmethod\n def fromisoformat(cls,time_string):\n ''\n if not isinstance(time_string,str):\n raise TypeError('fromisoformat: argument must be str')\n \n \n \n \n time_string=time_string.removeprefix('T')\n \n try:\n return cls(*_parse_isoformat_time(time_string))\n except Exception:\n raise ValueError(f'Invalid isoformat string: {time_string !r}')\n \n def strftime(self,format):\n ''\n\n \n \n \n timetuple=(1900,1,1,\n self._hour,self._minute,self._second,\n 0,1,-1)\n return _wrap_strftime(self,format,timetuple)\n \n def __format__(self,fmt):\n if not isinstance(fmt,str):\n raise TypeError(\"must be str, not %s\"%type(fmt).__name__)\n if len(fmt)!=0:\n return self.strftime(fmt)\n return str(self)\n \n \n \n def utcoffset(self):\n ''\n \n if self._tzinfo is None:\n return None\n offset=self._tzinfo.utcoffset(None)\n _check_utc_offset(\"utcoffset\",offset)\n return offset\n \n def tzname(self):\n ''\n\n\n\n\n \n if self._tzinfo is None:\n return None\n name=self._tzinfo.tzname(None)\n _check_tzname(name)\n return name\n \n def dst(self):\n ''\n\n\n\n\n\n\n \n if self._tzinfo is None:\n return None\n offset=self._tzinfo.dst(None)\n _check_utc_offset(\"dst\",offset)\n return offset\n \n def replace(self,hour=None,minute=None,second=None,microsecond=None,\n tzinfo=True,*,fold=None):\n ''\n if hour is None:\n hour=self.hour\n if minute is None:\n minute=self.minute\n if second is None:\n second=self.second\n if microsecond is None:\n microsecond=self.microsecond\n if tzinfo is True:\n tzinfo=self.tzinfo\n if fold is None:\n fold=self._fold\n return type(self)(hour,minute,second,microsecond,tzinfo,fold=fold)\n \n \n \n def _getstate(self,protocol=3):\n us2,us3=divmod(self._microsecond,256)\n us1,us2=divmod(us2,256)\n h=self._hour\n if self._fold and protocol >3:\n h +=128\n basestate=bytes([h,self._minute,self._second,\n us1,us2,us3])\n if self._tzinfo is None:\n return(basestate,)\n else:\n return(basestate,self._tzinfo)\n \n def __setstate(self,string,tzinfo):\n if tzinfo is not None and not isinstance(tzinfo,_tzinfo_class):\n raise TypeError(\"bad tzinfo state arg\")\n h,self._minute,self._second,us1,us2,us3=string\n if h >127:\n self._fold=1\n self._hour=h -128\n else:\n self._fold=0\n self._hour=h\n self._microsecond=(((us1 <<8)|us2)<<8)|us3\n self._tzinfo=tzinfo\n \n def __reduce_ex__(self,protocol):\n return(self.__class__,self._getstate(protocol))\n \n def __reduce__(self):\n return self.__reduce_ex__(2)\n \n_time_class=time\n\ntime.min=time(0,0,0)\ntime.max=time(23,59,59,999999)\ntime.resolution=timedelta(microseconds=1)\n\n\nclass datetime(date):\n ''\n\n\n\n \n __slots__=date.__slots__+time.__slots__\n \n def __new__(cls,year,month=None,day=None,hour=0,minute=0,second=0,\n microsecond=0,tzinfo=None,*,fold=0):\n if(isinstance(year,(bytes,str))and len(year)==10 and\n 1 <=ord(year[2:3])&0x7F <=12):\n \n if isinstance(year,str):\n try:\n year=bytes(year,'latin1')\n except UnicodeEncodeError:\n \n raise ValueError(\n \"Failed to encode latin1 string when unpickling \"\n \"a datetime object. \"\n \"pickle.load(data, encoding='latin1') is assumed.\")\n self=object.__new__(cls)\n self.__setstate(year,month)\n self._hashcode=-1\n return self\n year,month,day=_check_date_fields(year,month,day)\n hour,minute,second,microsecond,fold=_check_time_fields(\n hour,minute,second,microsecond,fold)\n _check_tzinfo_arg(tzinfo)\n self=object.__new__(cls)\n self._year=year\n self._month=month\n self._day=day\n self._hour=hour\n self._minute=minute\n self._second=second\n self._microsecond=microsecond\n self._tzinfo=tzinfo\n self._hashcode=-1\n self._fold=fold\n return self\n \n \n @property\n def hour(self):\n ''\n return self._hour\n \n @property\n def minute(self):\n ''\n return self._minute\n \n @property\n def second(self):\n ''\n return self._second\n \n @property\n def microsecond(self):\n ''\n return self._microsecond\n \n @property\n def tzinfo(self):\n ''\n return self._tzinfo\n \n @property\n def fold(self):\n return self._fold\n \n @classmethod\n def _fromtimestamp(cls,t,utc,tz):\n ''\n\n\n \n frac,t=_math.modf(t)\n us=round(frac *1e6)\n if us >=1000000:\n t +=1\n us -=1000000\n elif us <0:\n t -=1\n us +=1000000\n \n converter=_time.gmtime if utc else _time.localtime\n y,m,d,hh,mm,ss,weekday,jday,dst=converter(t)\n ss=min(ss,59)\n result=cls(y,m,d,hh,mm,ss,us,tz)\n if tz is None and not utc:\n \n \n \n max_fold_seconds=24 *3600\n \n \n \n \n \n if t ts)==self.fold:\n ts=ts2\n else:\n ts=(self -_EPOCH)//timedelta(seconds=1)\n localtm=_time.localtime(ts)\n local=datetime(*localtm[:6])\n \n gmtoff=localtm.tm_gmtoff\n zone=localtm.tm_zone\n return timezone(timedelta(seconds=gmtoff),zone)\n \n def astimezone(self,tz=None):\n if tz is None:\n tz=self._local_timezone()\n elif not isinstance(tz,tzinfo):\n raise TypeError(\"tz argument must be an instance of tzinfo\")\n \n mytz=self.tzinfo\n if mytz is None:\n mytz=self._local_timezone()\n myoffset=mytz.utcoffset(self)\n else:\n myoffset=mytz.utcoffset(self)\n if myoffset is None:\n mytz=self.replace(tzinfo=None)._local_timezone()\n myoffset=mytz.utcoffset(self)\n \n if tz is mytz:\n return self\n \n \n utc=(self -myoffset).replace(tzinfo=tz)\n \n \n return tz.fromutc(utc)\n \n \n \n def ctime(self):\n ''\n weekday=self.toordinal()%7 or 7\n return \"%s %s %2d %02d:%02d:%02d %04d\"%(\n _DAYNAMES[weekday],\n _MONTHNAMES[self._month],\n self._day,\n self._hour,self._minute,self._second,\n self._year)\n \n def isoformat(self,sep='T',timespec='auto'):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n s=(\"%04d-%02d-%02d%c\"%(self._year,self._month,self._day,sep)+\n _format_time(self._hour,self._minute,self._second,\n self._microsecond,timespec))\n \n off=self.utcoffset()\n tz=_format_offset(off)\n if tz:\n s +=tz\n \n return s\n \n def __repr__(self):\n ''\n L=[self._year,self._month,self._day,\n self._hour,self._minute,self._second,self._microsecond]\n if L[-1]==0:\n del L[-1]\n if L[-1]==0:\n del L[-1]\n s=\"%s.%s(%s)\"%(_get_class_module(self),\n self.__class__.__qualname__,\n \", \".join(map(str,L)))\n if self._tzinfo is not None:\n assert s[-1:]==\")\"\n s=s[:-1]+\", tzinfo=%r\"%self._tzinfo+\")\"\n if self._fold:\n assert s[-1:]==\")\"\n s=s[:-1]+\", fold=1)\"\n return s\n \n def __str__(self):\n ''\n return self.isoformat(sep=' ')\n \n @classmethod\n def strptime(cls,date_string,format):\n ''\n import _strptime\n return _strptime._strptime_datetime(cls,date_string,format)\n \n def utcoffset(self):\n ''\n \n if self._tzinfo is None:\n return None\n offset=self._tzinfo.utcoffset(self)\n _check_utc_offset(\"utcoffset\",offset)\n return offset\n \n def tzname(self):\n ''\n\n\n\n\n \n if self._tzinfo is None:\n return None\n name=self._tzinfo.tzname(self)\n _check_tzname(name)\n return name\n \n def dst(self):\n ''\n\n\n\n\n\n\n \n if self._tzinfo is None:\n return None\n offset=self._tzinfo.dst(self)\n _check_utc_offset(\"dst\",offset)\n return offset\n \n \n \n def __eq__(self,other):\n if isinstance(other,datetime):\n return self._cmp(other,allow_mixed=True)==0\n elif not isinstance(other,date):\n return NotImplemented\n else:\n return False\n \n def __le__(self,other):\n if isinstance(other,datetime):\n return self._cmp(other)<=0\n elif not isinstance(other,date):\n return NotImplemented\n else:\n _cmperror(self,other)\n \n def __lt__(self,other):\n if isinstance(other,datetime):\n return self._cmp(other)<0\n elif not isinstance(other,date):\n return NotImplemented\n else:\n _cmperror(self,other)\n \n def __ge__(self,other):\n if isinstance(other,datetime):\n return self._cmp(other)>=0\n elif not isinstance(other,date):\n return NotImplemented\n else:\n _cmperror(self,other)\n \n def __gt__(self,other):\n if isinstance(other,datetime):\n return self._cmp(other)>0\n elif not isinstance(other,date):\n return NotImplemented\n else:\n _cmperror(self,other)\n \n def _cmp(self,other,allow_mixed=False):\n assert isinstance(other,datetime)\n mytz=self._tzinfo\n ottz=other._tzinfo\n myoff=otoff=None\n \n if mytz is ottz:\n base_compare=True\n else:\n myoff=self.utcoffset()\n otoff=other.utcoffset()\n \n if allow_mixed:\n if myoff !=self.replace(fold=not self.fold).utcoffset():\n return 2\n if otoff !=other.replace(fold=not other.fold).utcoffset():\n return 2\n base_compare=myoff ==otoff\n \n if base_compare:\n return _cmp((self._year,self._month,self._day,\n self._hour,self._minute,self._second,\n self._microsecond),\n (other._year,other._month,other._day,\n other._hour,other._minute,other._second,\n other._microsecond))\n if myoff is None or otoff is None:\n if allow_mixed:\n return 2\n else:\n raise TypeError(\"cannot compare naive and aware datetimes\")\n \n diff=self -other\n if diff.days <0:\n return -1\n return diff and 1 or 0\n \n def __add__(self,other):\n ''\n if not isinstance(other,timedelta):\n return NotImplemented\n delta=timedelta(self.toordinal(),\n hours=self._hour,\n minutes=self._minute,\n seconds=self._second,\n microseconds=self._microsecond)\n delta +=other\n hour,rem=divmod(delta.seconds,3600)\n minute,second=divmod(rem,60)\n if 0 3:\n m +=128\n basestate=bytes([yhi,ylo,m,self._day,\n self._hour,self._minute,self._second,\n us1,us2,us3])\n if self._tzinfo is None:\n return(basestate,)\n else:\n return(basestate,self._tzinfo)\n \n def __setstate(self,string,tzinfo):\n if tzinfo is not None and not isinstance(tzinfo,_tzinfo_class):\n raise TypeError(\"bad tzinfo state arg\")\n (yhi,ylo,m,self._day,self._hour,\n self._minute,self._second,us1,us2,us3)=string\n if m >127:\n self._fold=1\n self._month=m -128\n else:\n self._fold=0\n self._month=m\n self._year=yhi *256+ylo\n self._microsecond=(((us1 <<8)|us2)<<8)|us3\n self._tzinfo=tzinfo\n \n def __reduce_ex__(self,protocol):\n return(self.__class__,self._getstate(protocol))\n \n def __reduce__(self):\n return self.__reduce_ex__(2)\n \n \ndatetime.min=datetime(1,1,1)\ndatetime.max=datetime(9999,12,31,23,59,59,999999)\ndatetime.resolution=timedelta(microseconds=1)\n\n\ndef _isoweek1monday(year):\n\n\n THURSDAY=3\n firstday=_ymd2ord(year,1,1)\n firstweekday=(firstday+6)%7\n week1monday=firstday -firstweekday\n if firstweekday >THURSDAY:\n week1monday +=7\n return week1monday\n \n \nclass timezone(tzinfo):\n __slots__='_offset','_name'\n \n \n _Omitted=object()\n def __new__(cls,offset,name=_Omitted):\n if not isinstance(offset,timedelta):\n raise TypeError(\"offset must be a timedelta\")\n if name is cls._Omitted:\n if not offset:\n return cls.utc\n name=None\n elif not isinstance(name,str):\n raise TypeError(\"name must be a string\")\n if not cls._minoffset <=offset <=cls._maxoffset:\n raise ValueError(\"offset must be a timedelta \"\n \"strictly between -timedelta(hours=24) and \"\n \"timedelta(hours=24).\")\n return cls._create(offset,name)\n \n @classmethod\n def _create(cls,offset,name=None):\n self=tzinfo.__new__(cls)\n self._offset=offset\n self._name=name\n return self\n \n def __getinitargs__(self):\n ''\n if self._name is None:\n return(self._offset,)\n return(self._offset,self._name)\n \n def __eq__(self,other):\n if isinstance(other,timezone):\n return self._offset ==other._offset\n return NotImplemented\n \n def __hash__(self):\n return hash(self._offset)\n \n def __repr__(self):\n ''\n\n\n\n\n\n\n\n \n if self is self.utc:\n return 'datetime.timezone.utc'\n if self._name is None:\n return \"%s.%s(%r)\"%(_get_class_module(self),\n self.__class__.__qualname__,\n self._offset)\n return \"%s.%s(%r, %r)\"%(_get_class_module(self),\n self.__class__.__qualname__,\n self._offset,self._name)\n \n def __str__(self):\n return self.tzname(None)\n \n def utcoffset(self,dt):\n if isinstance(dt,datetime)or dt is None:\n return self._offset\n raise TypeError(\"utcoffset() argument must be a datetime instance\"\n \" or None\")\n \n def tzname(self,dt):\n if isinstance(dt,datetime)or dt is None:\n if self._name is None:\n return self._name_from_offset(self._offset)\n return self._name\n raise TypeError(\"tzname() argument must be a datetime instance\"\n \" or None\")\n \n def dst(self,dt):\n if isinstance(dt,datetime)or dt is None:\n return None\n raise TypeError(\"dst() argument must be a datetime instance\"\n \" or None\")\n \n def fromutc(self,dt):\n if isinstance(dt,datetime):\n if dt.tzinfo is not self:\n raise ValueError(\"fromutc: dt.tzinfo \"\n \"is not self\")\n return dt+self._offset\n raise TypeError(\"fromutc() argument must be a datetime instance\"\n \" or None\")\n \n _maxoffset=timedelta(hours=24,microseconds=-1)\n _minoffset=-_maxoffset\n \n @staticmethod\n def _name_from_offset(delta):\n if not delta:\n return 'UTC'\n if delta >> from decimal import *\n>>> setcontext(ExtendedContext)\n>>> Decimal(0)\nDecimal('0')\n>>> Decimal('1')\nDecimal('1')\n>>> Decimal('-.0123')\nDecimal('-0.0123')\n>>> Decimal(123456)\nDecimal('123456')\n>>> Decimal('123.45e12345678')\nDecimal('1.2345E+12345680')\n>>> Decimal('1.33') + Decimal('1.27')\nDecimal('2.60')\n>>> Decimal('12.34') + Decimal('3.87') - Decimal('18.41')\nDecimal('-2.20')\n>>> dig = Decimal(1)\n>>> print(dig / Decimal(3))\n0.333333333\n>>> getcontext().prec = 18\n>>> print(dig / Decimal(3))\n0.333333333333333333\n>>> print(dig.sqrt())\n1\n>>> print(Decimal(3).sqrt())\n1.73205080756887729\n>>> print(Decimal(3) ** 123)\n4.85192780976896427E+58\n>>> inf = Decimal(1) / Decimal(0)\n>>> print(inf)\nInfinity\n>>> neginf = Decimal(-1) / Decimal(0)\n>>> print(neginf)\n-Infinity\n>>> print(neginf + inf)\nNaN\n>>> print(neginf * inf)\n-Infinity\n>>> print(dig / 0)\nInfinity\n>>> getcontext().traps[DivisionByZero] = 1\n>>> print(dig / 0)\nTraceback (most recent call last):\n ...\n ...\n ...\ndecimal.DivisionByZero: x / 0\n>>> c = Context()\n>>> c.traps[InvalidOperation] = 0\n>>> print(c.flags[InvalidOperation])\n0\n>>> c.divide(Decimal(0), Decimal(0))\nDecimal('NaN')\n>>> c.traps[InvalidOperation] = 1\n>>> print(c.flags[InvalidOperation])\n1\n>>> c.flags[InvalidOperation] = 0\n>>> print(c.flags[InvalidOperation])\n0\n>>> print(c.divide(Decimal(0), Decimal(0)))\nTraceback (most recent call last):\n ...\n ...\n ...\ndecimal.InvalidOperation: 0 / 0\n>>> print(c.flags[InvalidOperation])\n1\n>>> c.flags[InvalidOperation] = 0\n>>> c.traps[InvalidOperation] = 0\n>>> print(c.divide(Decimal(0), Decimal(0)))\nNaN\n>>> print(c.flags[InvalidOperation])\n1\n>>>\n\"\"\"\n\n__all__=[\n\n'Decimal','Context',\n\n\n'DecimalTuple',\n\n\n'DefaultContext','BasicContext','ExtendedContext',\n\n\n'DecimalException','Clamped','InvalidOperation','DivisionByZero',\n'Inexact','Rounded','Subnormal','Overflow','Underflow',\n'FloatOperation',\n\n\n'DivisionImpossible','InvalidContext','ConversionSyntax','DivisionUndefined',\n\n\n'ROUND_DOWN','ROUND_HALF_UP','ROUND_HALF_EVEN','ROUND_CEILING',\n'ROUND_FLOOR','ROUND_UP','ROUND_HALF_DOWN','ROUND_05UP',\n\n\n'setcontext','getcontext','localcontext',\n\n\n'MAX_PREC','MAX_EMAX','MIN_EMIN','MIN_ETINY',\n\n\n'HAVE_THREADS',\n\n\n'HAVE_CONTEXTVAR'\n]\n\n__xname__=__name__\n__name__='decimal'\n__version__='1.70'\n\n__libmpdec_version__=\"2.4.2\"\n\nimport math as _math\nimport numbers as _numbers\nimport sys\n\ntry:\n from collections import namedtuple as _namedtuple\n DecimalTuple=_namedtuple('DecimalTuple','sign digits exponent',module='decimal')\nexcept ImportError:\n DecimalTuple=lambda *args:args\n \n \nROUND_DOWN='ROUND_DOWN'\nROUND_HALF_UP='ROUND_HALF_UP'\nROUND_HALF_EVEN='ROUND_HALF_EVEN'\nROUND_CEILING='ROUND_CEILING'\nROUND_FLOOR='ROUND_FLOOR'\nROUND_UP='ROUND_UP'\nROUND_HALF_DOWN='ROUND_HALF_DOWN'\nROUND_05UP='ROUND_05UP'\n\n\nHAVE_THREADS=True\nHAVE_CONTEXTVAR=True\nif sys.maxsize ==2 **63 -1:\n MAX_PREC=999999999999999999\n MAX_EMAX=999999999999999999\n MIN_EMIN=-999999999999999999\nelse:\n MAX_PREC=425000000\n MAX_EMAX=425000000\n MIN_EMIN=-425000000\n \nMIN_ETINY=MIN_EMIN -(MAX_PREC -1)\n\n\n\nclass DecimalException(ArithmeticError):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def handle(self,context,*args):\n pass\n \n \nclass Clamped(DecimalException):\n ''\n\n\n\n\n\n\n\n\n \n \nclass InvalidOperation(DecimalException):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def handle(self,context,*args):\n if args:\n ans=_dec_from_triple(args[0]._sign,args[0]._int,'n',True)\n return ans._fix_nan(context)\n return _NaN\n \nclass ConversionSyntax(InvalidOperation):\n ''\n\n\n\n\n \n def handle(self,context,*args):\n return _NaN\n \nclass DivisionByZero(DecimalException,ZeroDivisionError):\n ''\n\n\n\n\n\n\n\n\n\n \n \n def handle(self,context,sign,*args):\n return _SignedInfinity[sign]\n \nclass DivisionImpossible(InvalidOperation):\n ''\n\n\n\n\n \n \n def handle(self,context,*args):\n return _NaN\n \nclass DivisionUndefined(InvalidOperation,ZeroDivisionError):\n ''\n\n\n\n\n \n \n def handle(self,context,*args):\n return _NaN\n \nclass Inexact(DecimalException):\n ''\n\n\n\n\n\n\n\n\n \n \nclass InvalidContext(InvalidOperation):\n ''\n\n\n\n\n\n\n\n \n \n def handle(self,context,*args):\n return _NaN\n \nclass Rounded(DecimalException):\n ''\n\n\n\n\n\n\n\n\n \n \nclass Subnormal(DecimalException):\n ''\n\n\n\n\n\n\n\n \n \nclass Overflow(Inexact,Rounded):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def handle(self,context,sign,*args):\n if context.rounding in(ROUND_HALF_UP,ROUND_HALF_EVEN,\n ROUND_HALF_DOWN,ROUND_UP):\n return _SignedInfinity[sign]\n if sign ==0:\n if context.rounding ==ROUND_CEILING:\n return _SignedInfinity[sign]\n return _dec_from_triple(sign,'9'*context.prec,\n context.Emax -context.prec+1)\n if sign ==1:\n if context.rounding ==ROUND_FLOOR:\n return _SignedInfinity[sign]\n return _dec_from_triple(sign,'9'*context.prec,\n context.Emax -context.prec+1)\n \n \nclass Underflow(Inexact,Rounded,Subnormal):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n \nclass FloatOperation(DecimalException,TypeError):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n_signals=[Clamped,DivisionByZero,Inexact,Overflow,Rounded,\nUnderflow,InvalidOperation,Subnormal,FloatOperation]\n\n\n_condition_map={ConversionSyntax:InvalidOperation,\nDivisionImpossible:InvalidOperation,\nDivisionUndefined:InvalidOperation,\nInvalidContext:InvalidOperation}\n\n\n_rounding_modes=(ROUND_DOWN,ROUND_HALF_UP,ROUND_HALF_EVEN,ROUND_CEILING,\nROUND_FLOOR,ROUND_UP,ROUND_HALF_DOWN,ROUND_05UP)\n\n\n\n\n\n\nimport contextvars\n\n_current_context_var=contextvars.ContextVar('decimal_context')\n\n_context_attributes=frozenset(\n['prec','Emin','Emax','capitals','clamp','rounding','flags','traps']\n)\n\ndef getcontext():\n ''\n\n\n\n\n \n try:\n return _current_context_var.get()\n except LookupError:\n context=Context()\n _current_context_var.set(context)\n return context\n \ndef setcontext(context):\n ''\n if context in(DefaultContext,BasicContext,ExtendedContext):\n context=context.copy()\n context.clear_flags()\n _current_context_var.set(context)\n \ndel contextvars\n\ndef localcontext(ctx=None,**kwargs):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if ctx is None:\n ctx=getcontext()\n ctx_manager=_ContextManager(ctx)\n for key,value in kwargs.items():\n if key not in _context_attributes:\n raise TypeError(f\"'{key}' is an invalid keyword argument for this function\")\n setattr(ctx_manager.new_context,key,value)\n return ctx_manager\n \n \n \n \n \n \n \n \nclass Decimal(object):\n ''\n \n __slots__=('_exp','_int','_sign','_is_special')\n \n \n \n \n \n def __new__(cls,value=\"0\",context=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n self=object.__new__(cls)\n \n \n \n if isinstance(value,str):\n m=_parser(value.strip().replace(\"_\",\"\"))\n if m is None:\n if context is None:\n context=getcontext()\n return context._raise_error(ConversionSyntax,\n \"Invalid literal for Decimal: %r\"%value)\n \n if m.group('sign')==\"-\":\n self._sign=1\n else:\n self._sign=0\n intpart=m.group('int')\n if intpart is not None:\n \n fracpart=m.group('frac')or ''\n exp=int(m.group('exp')or '0')\n self._int=str(int(intpart+fracpart))\n self._exp=exp -len(fracpart)\n self._is_special=False\n else:\n diag=m.group('diag')\n if diag is not None:\n \n self._int=str(int(diag or '0')).lstrip('0')\n if m.group('signal'):\n self._exp='N'\n else:\n self._exp='n'\n else:\n \n self._int='0'\n self._exp='F'\n self._is_special=True\n return self\n \n \n if isinstance(value,int):\n if value >=0:\n self._sign=0\n else:\n self._sign=1\n self._exp=0\n self._int=str(abs(value))\n self._is_special=False\n return self\n \n \n if isinstance(value,Decimal):\n self._exp=value._exp\n self._sign=value._sign\n self._int=value._int\n self._is_special=value._is_special\n return self\n \n \n if isinstance(value,_WorkRep):\n self._sign=value.sign\n self._int=str(value.int)\n self._exp=int(value.exp)\n self._is_special=False\n return self\n \n \n if isinstance(value,(list,tuple)):\n if len(value)!=3:\n raise ValueError('Invalid tuple size in creation of Decimal '\n 'from list or tuple. The list or tuple '\n 'should have exactly three elements.')\n \n if not(isinstance(value[0],int)and value[0]in(0,1)):\n raise ValueError(\"Invalid sign. The first value in the tuple \"\n \"should be an integer; either 0 for a \"\n \"positive number or 1 for a negative number.\")\n self._sign=value[0]\n if value[2]=='F':\n \n self._int='0'\n self._exp=value[2]\n self._is_special=True\n else:\n \n digits=[]\n for digit in value[1]:\n if isinstance(digit,int)and 0 <=digit <=9:\n \n if digits or digit !=0:\n digits.append(digit)\n else:\n raise ValueError(\"The second value in the tuple must \"\n \"be composed of integers in the range \"\n \"0 through 9.\")\n if value[2]in('n','N'):\n \n self._int=''.join(map(str,digits))\n self._exp=value[2]\n self._is_special=True\n elif isinstance(value[2],int):\n \n self._int=''.join(map(str,digits or[0]))\n self._exp=value[2]\n self._is_special=False\n else:\n raise ValueError(\"The third value in the tuple must \"\n \"be an integer, or one of the \"\n \"strings 'F', 'n', 'N'.\")\n return self\n \n if isinstance(value,float):\n if context is None:\n context=getcontext()\n context._raise_error(FloatOperation,\n \"strict semantics for mixing floats and Decimals are \"\n \"enabled\")\n value=Decimal.from_float(value)\n self._exp=value._exp\n self._sign=value._sign\n self._int=value._int\n self._is_special=value._is_special\n return self\n \n raise TypeError(\"Cannot convert %r to Decimal\"%value)\n \n @classmethod\n def from_float(cls,f):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if isinstance(f,int):\n sign=0 if f >=0 else 1\n k=0\n coeff=str(abs(f))\n elif isinstance(f,float):\n if _math.isinf(f)or _math.isnan(f):\n return cls(repr(f))\n if _math.copysign(1.0,f)==1.0:\n sign=0\n else:\n sign=1\n n,d=abs(f).as_integer_ratio()\n k=d.bit_length()-1\n coeff=str(n *5 **k)\n else:\n raise TypeError(\"argument must be int or float.\")\n \n result=_dec_from_triple(sign,coeff,-k)\n if cls is Decimal:\n return result\n else:\n return cls(result)\n \n def _isnan(self):\n ''\n\n\n\n\n \n if self._is_special:\n exp=self._exp\n if exp =='n':\n return 1\n elif exp =='N':\n return 2\n return 0\n \n def _isinfinity(self):\n ''\n\n\n\n\n \n if self._exp =='F':\n if self._sign:\n return -1\n return 1\n return 0\n \n def _check_nans(self,other=None,context=None):\n ''\n\n\n\n\n\n\n \n \n self_is_nan=self._isnan()\n if other is None:\n other_is_nan=False\n else:\n other_is_nan=other._isnan()\n \n if self_is_nan or other_is_nan:\n if context is None:\n context=getcontext()\n \n if self_is_nan ==2:\n return context._raise_error(InvalidOperation,'sNaN',\n self)\n if other_is_nan ==2:\n return context._raise_error(InvalidOperation,'sNaN',\n other)\n if self_is_nan:\n return self._fix_nan(context)\n \n return other._fix_nan(context)\n return 0\n \n def _compare_check_nans(self,other,context):\n ''\n\n\n\n\n\n\n\n\n \n if context is None:\n context=getcontext()\n \n if self._is_special or other._is_special:\n if self.is_snan():\n return context._raise_error(InvalidOperation,\n 'comparison involving sNaN',\n self)\n elif other.is_snan():\n return context._raise_error(InvalidOperation,\n 'comparison involving sNaN',\n other)\n elif self.is_qnan():\n return context._raise_error(InvalidOperation,\n 'comparison involving NaN',\n self)\n elif other.is_qnan():\n return context._raise_error(InvalidOperation,\n 'comparison involving NaN',\n other)\n return 0\n \n def __bool__(self):\n ''\n\n\n \n return self._is_special or self._int !='0'\n \n def _cmp(self,other):\n ''\n\n\n \n \n if self._is_special or other._is_special:\n self_inf=self._isinfinity()\n other_inf=other._isinfinity()\n if self_inf ==other_inf:\n return 0\n elif self_inf other_adjusted:\n return(-1)**self._sign\n else:\n return -((-1)**self._sign)\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n def __eq__(self,other,context=None):\n self,other=_convert_for_comparison(self,other,equality_op=True)\n if other is NotImplemented:\n return other\n if self._check_nans(other,context):\n return False\n return self._cmp(other)==0\n \n def __lt__(self,other,context=None):\n self,other=_convert_for_comparison(self,other)\n if other is NotImplemented:\n return other\n ans=self._compare_check_nans(other,context)\n if ans:\n return False\n return self._cmp(other)<0\n \n def __le__(self,other,context=None):\n self,other=_convert_for_comparison(self,other)\n if other is NotImplemented:\n return other\n ans=self._compare_check_nans(other,context)\n if ans:\n return False\n return self._cmp(other)<=0\n \n def __gt__(self,other,context=None):\n self,other=_convert_for_comparison(self,other)\n if other is NotImplemented:\n return other\n ans=self._compare_check_nans(other,context)\n if ans:\n return False\n return self._cmp(other)>0\n \n def __ge__(self,other,context=None):\n self,other=_convert_for_comparison(self,other)\n if other is NotImplemented:\n return other\n ans=self._compare_check_nans(other,context)\n if ans:\n return False\n return self._cmp(other)>=0\n \n def compare(self,other,context=None):\n ''\n\n\n\n\n\n \n other=_convert_other(other,raiseit=True)\n \n \n if(self._is_special or other and other._is_special):\n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n return Decimal(self._cmp(other))\n \n def __hash__(self):\n ''\n \n \n \n \n \n if self._is_special:\n if self.is_snan():\n raise TypeError('Cannot hash a signaling NaN value.')\n elif self.is_nan():\n return object.__hash__(self)\n else:\n if self._sign:\n return -_PyHASH_INF\n else:\n return _PyHASH_INF\n \n if self._exp >=0:\n exp_hash=pow(10,self._exp,_PyHASH_MODULUS)\n else:\n exp_hash=pow(_PyHASH_10INV,-self._exp,_PyHASH_MODULUS)\n hash_=int(self._int)*exp_hash %_PyHASH_MODULUS\n ans=hash_ if self >=0 else -hash_\n return -2 if ans ==-1 else ans\n \n def as_tuple(self):\n ''\n\n\n \n return DecimalTuple(self._sign,tuple(map(int,self._int)),self._exp)\n \n def as_integer_ratio(self):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n if self._is_special:\n if self.is_nan():\n raise ValueError(\"cannot convert NaN to integer ratio\")\n else:\n raise OverflowError(\"cannot convert Infinity to integer ratio\")\n \n if not self:\n return 0,1\n \n \n \n n=int(self._int)\n if self._exp >=0:\n \n n,d=n *10 **self._exp,1\n else:\n \n d5=-self._exp\n while d5 >0 and n %5 ==0:\n n //=5\n d5 -=1\n \n \n \n d2=-self._exp\n shift2=min((n&-n).bit_length()-1,d2)\n if shift2:\n n >>=shift2\n d2 -=shift2\n \n d=5 **d5 <-6:\n \n dotplace=leftdigits\n elif not eng:\n \n dotplace=1\n elif self._int =='0':\n \n dotplace=(leftdigits+1)%3 -1\n else:\n \n dotplace=(leftdigits -1)%3+1\n \n if dotplace <=0:\n intpart='0'\n fracpart='.'+'0'*(-dotplace)+self._int\n elif dotplace >=len(self._int):\n intpart=self._int+'0'*(dotplace -len(self._int))\n fracpart=''\n else:\n intpart=self._int[:dotplace]\n fracpart='.'+self._int[dotplace:]\n if leftdigits ==dotplace:\n exp=''\n else:\n if context is None:\n context=getcontext()\n exp=['e','E'][context.capitals]+\"%+d\"%(leftdigits -dotplace)\n \n return sign+intpart+fracpart+exp\n \n def to_eng_string(self,context=None):\n ''\n\n\n\n\n \n return self.__str__(eng=True,context=context)\n \n def __neg__(self,context=None):\n ''\n\n\n \n if self._is_special:\n ans=self._check_nans(context=context)\n if ans:\n return ans\n \n if context is None:\n context=getcontext()\n \n if not self and context.rounding !=ROUND_FLOOR:\n \n \n ans=self.copy_abs()\n else:\n ans=self.copy_negate()\n \n return ans._fix(context)\n \n def __pos__(self,context=None):\n ''\n\n\n \n if self._is_special:\n ans=self._check_nans(context=context)\n if ans:\n return ans\n \n if context is None:\n context=getcontext()\n \n if not self and context.rounding !=ROUND_FLOOR:\n \n ans=self.copy_abs()\n else:\n ans=Decimal(self)\n \n return ans._fix(context)\n \n def __abs__(self,round=True,context=None):\n ''\n\n\n\n\n \n if not round:\n return self.copy_abs()\n \n if self._is_special:\n ans=self._check_nans(context=context)\n if ans:\n return ans\n \n if self._sign:\n ans=self.__neg__(context=context)\n else:\n ans=self.__pos__(context=context)\n \n return ans\n \n def __add__(self,other,context=None):\n ''\n\n\n \n other=_convert_other(other)\n if other is NotImplemented:\n return other\n \n if context is None:\n context=getcontext()\n \n if self._is_special or other._is_special:\n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n if self._isinfinity():\n \n if self._sign !=other._sign and other._isinfinity():\n return context._raise_error(InvalidOperation,'-INF + INF')\n return Decimal(self)\n if other._isinfinity():\n return Decimal(other)\n \n exp=min(self._exp,other._exp)\n negativezero=0\n if context.rounding ==ROUND_FLOOR and self._sign !=other._sign:\n \n negativezero=1\n \n if not self and not other:\n sign=min(self._sign,other._sign)\n if negativezero:\n sign=1\n ans=_dec_from_triple(sign,'0',exp)\n ans=ans._fix(context)\n return ans\n if not self:\n exp=max(exp,other._exp -context.prec -1)\n ans=other._rescale(exp,context.rounding)\n ans=ans._fix(context)\n return ans\n if not other:\n exp=max(exp,self._exp -context.prec -1)\n ans=self._rescale(exp,context.rounding)\n ans=ans._fix(context)\n return ans\n \n op1=_WorkRep(self)\n op2=_WorkRep(other)\n op1,op2=_normalize(op1,op2,context.prec)\n \n result=_WorkRep()\n if op1.sign !=op2.sign:\n \n if op1.int ==op2.int:\n ans=_dec_from_triple(negativezero,'0',exp)\n ans=ans._fix(context)\n return ans\n if op1.int =0:\n coeff,remainder=divmod(op1.int *10 **shift,op2.int)\n else:\n coeff,remainder=divmod(op1.int,op2.int *10 **-shift)\n if remainder:\n \n if coeff %5 ==0:\n coeff +=1\n else:\n \n ideal_exp=self._exp -other._exp\n while exp =op2.exp:\n op1.int *=10 **(op1.exp -op2.exp)\n else:\n op2.int *=10 **(op2.exp -op1.exp)\n q,r=divmod(op1.int,op2.int)\n if q <10 **context.prec:\n return(_dec_from_triple(sign,str(q),0),\n _dec_from_triple(self._sign,str(r),ideal_exp))\n \n \n ans=context._raise_error(DivisionImpossible,\n 'quotient too large in //, % or divmod')\n return ans,ans\n \n def __rtruediv__(self,other,context=None):\n ''\n other=_convert_other(other)\n if other is NotImplemented:\n return other\n return other.__truediv__(self,context=context)\n \n def __divmod__(self,other,context=None):\n ''\n\n \n other=_convert_other(other)\n if other is NotImplemented:\n return other\n \n if context is None:\n context=getcontext()\n \n ans=self._check_nans(other,context)\n if ans:\n return(ans,ans)\n \n sign=self._sign ^other._sign\n if self._isinfinity():\n if other._isinfinity():\n ans=context._raise_error(InvalidOperation,'divmod(INF, INF)')\n return ans,ans\n else:\n return(_SignedInfinity[sign],\n context._raise_error(InvalidOperation,'INF % x'))\n \n if not other:\n if not self:\n ans=context._raise_error(DivisionUndefined,'divmod(0, 0)')\n return ans,ans\n else:\n return(context._raise_error(DivisionByZero,'x // 0',sign),\n context._raise_error(InvalidOperation,'x % 0'))\n \n quotient,remainder=self._divide(other,context)\n remainder=remainder._fix(context)\n return quotient,remainder\n \n def __rdivmod__(self,other,context=None):\n ''\n other=_convert_other(other)\n if other is NotImplemented:\n return other\n return other.__divmod__(self,context=context)\n \n def __mod__(self,other,context=None):\n ''\n\n \n other=_convert_other(other)\n if other is NotImplemented:\n return other\n \n if context is None:\n context=getcontext()\n \n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n if self._isinfinity():\n return context._raise_error(InvalidOperation,'INF % x')\n elif not other:\n if self:\n return context._raise_error(InvalidOperation,'x % 0')\n else:\n return context._raise_error(DivisionUndefined,'0 % 0')\n \n remainder=self._divide(other,context)[1]\n remainder=remainder._fix(context)\n return remainder\n \n def __rmod__(self,other,context=None):\n ''\n other=_convert_other(other)\n if other is NotImplemented:\n return other\n return other.__mod__(self,context=context)\n \n def remainder_near(self,other,context=None):\n ''\n\n \n if context is None:\n context=getcontext()\n \n other=_convert_other(other,raiseit=True)\n \n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n \n if self._isinfinity():\n return context._raise_error(InvalidOperation,\n 'remainder_near(infinity, x)')\n \n \n if not other:\n if self:\n return context._raise_error(InvalidOperation,\n 'remainder_near(x, 0)')\n else:\n return context._raise_error(DivisionUndefined,\n 'remainder_near(0, 0)')\n \n \n if other._isinfinity():\n ans=Decimal(self)\n return ans._fix(context)\n \n \n ideal_exponent=min(self._exp,other._exp)\n if not self:\n ans=_dec_from_triple(self._sign,'0',ideal_exponent)\n return ans._fix(context)\n \n \n expdiff=self.adjusted()-other.adjusted()\n if expdiff >=context.prec+1:\n \n return context._raise_error(DivisionImpossible)\n if expdiff <=-2:\n \n ans=self._rescale(ideal_exponent,context.rounding)\n return ans._fix(context)\n \n \n op1=_WorkRep(self)\n op2=_WorkRep(other)\n if op1.exp >=op2.exp:\n op1.int *=10 **(op1.exp -op2.exp)\n else:\n op2.int *=10 **(op2.exp -op1.exp)\n q,r=divmod(op1.int,op2.int)\n \n \n \n if 2 *r+(q&1)>op2.int:\n r -=op2.int\n q +=1\n \n if q >=10 **context.prec:\n return context._raise_error(DivisionImpossible)\n \n \n sign=self._sign\n if r <0:\n sign=1 -sign\n r=-r\n \n ans=_dec_from_triple(sign,str(r),ideal_exponent)\n return ans._fix(context)\n \n def __floordiv__(self,other,context=None):\n ''\n other=_convert_other(other)\n if other is NotImplemented:\n return other\n \n if context is None:\n context=getcontext()\n \n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n if self._isinfinity():\n if other._isinfinity():\n return context._raise_error(InvalidOperation,'INF // INF')\n else:\n return _SignedInfinity[self._sign ^other._sign]\n \n if not other:\n if self:\n return context._raise_error(DivisionByZero,'x // 0',\n self._sign ^other._sign)\n else:\n return context._raise_error(DivisionUndefined,'0 // 0')\n \n return self._divide(other,context)[0]\n \n def __rfloordiv__(self,other,context=None):\n ''\n other=_convert_other(other)\n if other is NotImplemented:\n return other\n return other.__floordiv__(self,context=context)\n \n def __float__(self):\n ''\n if self._isnan():\n if self.is_snan():\n raise ValueError(\"Cannot convert signaling NaN to float\")\n s=\"-nan\"if self._sign else \"nan\"\n else:\n s=str(self)\n return float(s)\n \n def __int__(self):\n ''\n if self._is_special:\n if self._isnan():\n raise ValueError(\"Cannot convert NaN to integer\")\n elif self._isinfinity():\n raise OverflowError(\"Cannot convert infinity to integer\")\n s=(-1)**self._sign\n if self._exp >=0:\n return s *int(self._int)*10 **self._exp\n else:\n return s *int(self._int[:self._exp]or '0')\n \n __trunc__=__int__\n \n @property\n def real(self):\n return self\n \n @property\n def imag(self):\n return Decimal(0)\n \n def conjugate(self):\n return self\n \n def __complex__(self):\n return complex(float(self))\n \n def _fix_nan(self,context):\n ''\n payload=self._int\n \n \n \n max_payload_len=context.prec -context.clamp\n if len(payload)>max_payload_len:\n payload=payload[len(payload)-max_payload_len:].lstrip('0')\n return _dec_from_triple(self._sign,payload,self._exp,True)\n return Decimal(self)\n \n def _fix(self,context):\n ''\n\n\n\n\n\n\n \n \n if self._is_special:\n if self._isnan():\n \n return self._fix_nan(context)\n else:\n \n return Decimal(self)\n \n \n \n Etiny=context.Etiny()\n Etop=context.Etop()\n if not self:\n exp_max=[context.Emax,Etop][context.clamp]\n new_exp=min(max(self._exp,Etiny),exp_max)\n if new_exp !=self._exp:\n context._raise_error(Clamped)\n return _dec_from_triple(self._sign,'0',new_exp)\n else:\n return Decimal(self)\n \n \n \n exp_min=len(self._int)+self._exp -context.prec\n if exp_min >Etop:\n \n ans=context._raise_error(Overflow,'above Emax',self._sign)\n context._raise_error(Inexact)\n context._raise_error(Rounded)\n return ans\n \n self_is_subnormal=exp_min 0:\n coeff=str(int(coeff)+1)\n if len(coeff)>context.prec:\n coeff=coeff[:-1]\n exp_min +=1\n \n \n if exp_min >Etop:\n ans=context._raise_error(Overflow,'above Emax',self._sign)\n else:\n ans=_dec_from_triple(self._sign,coeff,exp_min)\n \n \n \n if changed and self_is_subnormal:\n context._raise_error(Underflow)\n if self_is_subnormal:\n context._raise_error(Subnormal)\n if changed:\n context._raise_error(Inexact)\n context._raise_error(Rounded)\n if not ans:\n \n context._raise_error(Clamped)\n return ans\n \n if self_is_subnormal:\n context._raise_error(Subnormal)\n \n \n if context.clamp ==1 and self._exp >Etop:\n context._raise_error(Clamped)\n self_padded=self._int+'0'*(self._exp -Etop)\n return _dec_from_triple(self._sign,self_padded,Etop)\n \n \n return Decimal(self)\n \n \n \n \n \n \n \n \n \n \n \n def _round_down(self,prec):\n ''\n if _all_zeros(self._int,prec):\n return 0\n else:\n return -1\n \n def _round_up(self,prec):\n ''\n return -self._round_down(prec)\n \n def _round_half_up(self,prec):\n ''\n if self._int[prec]in '56789':\n return 1\n elif _all_zeros(self._int,prec):\n return 0\n else:\n return -1\n \n def _round_half_down(self,prec):\n ''\n if _exact_half(self._int,prec):\n return -1\n else:\n return self._round_half_up(prec)\n \n def _round_half_even(self,prec):\n ''\n if _exact_half(self._int,prec)and\\\n (prec ==0 or self._int[prec -1]in '02468'):\n return -1\n else:\n return self._round_half_up(prec)\n \n def _round_ceiling(self,prec):\n ''\n if self._sign:\n return self._round_down(prec)\n else:\n return -self._round_down(prec)\n \n def _round_floor(self,prec):\n ''\n if not self._sign:\n return self._round_down(prec)\n else:\n return -self._round_down(prec)\n \n def _round_05up(self,prec):\n ''\n if prec and self._int[prec -1]not in '05':\n return self._round_down(prec)\n else:\n return -self._round_down(prec)\n \n _pick_rounding_function=dict(\n ROUND_DOWN=_round_down,\n ROUND_UP=_round_up,\n ROUND_HALF_UP=_round_half_up,\n ROUND_HALF_DOWN=_round_half_down,\n ROUND_HALF_EVEN=_round_half_even,\n ROUND_CEILING=_round_ceiling,\n ROUND_FLOOR=_round_floor,\n ROUND_05UP=_round_05up,\n )\n \n def __round__(self,n=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if n is not None:\n \n if not isinstance(n,int):\n raise TypeError('Second argument to round should be integral')\n exp=_dec_from_triple(0,'1',-n)\n return self.quantize(exp)\n \n \n if self._is_special:\n if self.is_nan():\n raise ValueError(\"cannot round a NaN\")\n else:\n raise OverflowError(\"cannot round an infinity\")\n return int(self._rescale(0,ROUND_HALF_EVEN))\n \n def __floor__(self):\n ''\n\n\n\n\n\n \n if self._is_special:\n if self.is_nan():\n raise ValueError(\"cannot round a NaN\")\n else:\n raise OverflowError(\"cannot round an infinity\")\n return int(self._rescale(0,ROUND_FLOOR))\n \n def __ceil__(self):\n ''\n\n\n\n\n\n \n if self._is_special:\n if self.is_nan():\n raise ValueError(\"cannot round a NaN\")\n else:\n raise OverflowError(\"cannot round an infinity\")\n return int(self._rescale(0,ROUND_CEILING))\n \n def fma(self,other,third,context=None):\n ''\n\n\n\n\n\n\n\n \n \n other=_convert_other(other,raiseit=True)\n third=_convert_other(third,raiseit=True)\n \n \n \n if self._is_special or other._is_special:\n if context is None:\n context=getcontext()\n if self._exp =='N':\n return context._raise_error(InvalidOperation,'sNaN',self)\n if other._exp =='N':\n return context._raise_error(InvalidOperation,'sNaN',other)\n if self._exp =='n':\n product=self\n elif other._exp =='n':\n product=other\n elif self._exp =='F':\n if not other:\n return context._raise_error(InvalidOperation,\n 'INF * 0 in fma')\n product=_SignedInfinity[self._sign ^other._sign]\n elif other._exp =='F':\n if not self:\n return context._raise_error(InvalidOperation,\n '0 * INF in fma')\n product=_SignedInfinity[self._sign ^other._sign]\n else:\n product=_dec_from_triple(self._sign ^other._sign,\n str(int(self._int)*int(other._int)),\n self._exp+other._exp)\n \n return product.__add__(third,context)\n \n def _power_modulo(self,other,modulo,context=None):\n ''\n \n other=_convert_other(other)\n if other is NotImplemented:\n return other\n modulo=_convert_other(modulo)\n if modulo is NotImplemented:\n return modulo\n \n if context is None:\n context=getcontext()\n \n \n \n self_is_nan=self._isnan()\n other_is_nan=other._isnan()\n modulo_is_nan=modulo._isnan()\n if self_is_nan or other_is_nan or modulo_is_nan:\n if self_is_nan ==2:\n return context._raise_error(InvalidOperation,'sNaN',\n self)\n if other_is_nan ==2:\n return context._raise_error(InvalidOperation,'sNaN',\n other)\n if modulo_is_nan ==2:\n return context._raise_error(InvalidOperation,'sNaN',\n modulo)\n if self_is_nan:\n return self._fix_nan(context)\n if other_is_nan:\n return other._fix_nan(context)\n return modulo._fix_nan(context)\n \n \n if not(self._isinteger()and\n other._isinteger()and\n modulo._isinteger()):\n return context._raise_error(InvalidOperation,\n 'pow() 3rd argument not allowed '\n 'unless all arguments are integers')\n if other <0:\n return context._raise_error(InvalidOperation,\n 'pow() 2nd argument cannot be '\n 'negative when 3rd argument specified')\n if not modulo:\n return context._raise_error(InvalidOperation,\n 'pow() 3rd argument cannot be 0')\n \n \n \n if modulo.adjusted()>=context.prec:\n return context._raise_error(InvalidOperation,\n 'insufficient precision: pow() 3rd '\n 'argument must not have more than '\n 'precision digits')\n \n \n \n if not other and not self:\n return context._raise_error(InvalidOperation,\n 'at least one of pow() 1st argument '\n 'and 2nd argument must be nonzero; '\n '0**0 is not defined')\n \n \n if other._iseven():\n sign=0\n else:\n sign=self._sign\n \n \n \n modulo=abs(int(modulo))\n base=_WorkRep(self.to_integral_value())\n exponent=_WorkRep(other.to_integral_value())\n \n \n base=(base.int %modulo *pow(10,base.exp,modulo))%modulo\n for i in range(exponent.exp):\n base=pow(base,10,modulo)\n base=pow(base,exponent.int,modulo)\n \n return _dec_from_triple(sign,str(base),0)\n \n def _power_exact(self,other,p):\n ''\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n x=_WorkRep(self)\n xc,xe=x.int,x.exp\n while xc %10 ==0:\n xc //=10\n xe +=1\n \n y=_WorkRep(other)\n yc,ye=y.int,y.exp\n while yc %10 ==0:\n yc //=10\n ye +=1\n \n \n \n if xc ==1:\n xe *=yc\n \n while xe %10 ==0:\n xe //=10\n ye +=1\n if ye <0:\n return None\n exponent=xe *10 **ye\n if y.sign ==1:\n exponent=-exponent\n \n if other._isinteger()and other._sign ==0:\n ideal_exponent=self._exp *int(other)\n zeros=min(exponent -ideal_exponent,p -1)\n else:\n zeros=0\n return _dec_from_triple(0,'1'+'0'*zeros,exponent -zeros)\n \n \n \n if y.sign ==1:\n last_digit=xc %10\n if last_digit in(2,4,6,8):\n \n if xc&-xc !=xc:\n return None\n \n e=_nbits(xc)-1\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n emax=p *93 //65\n if ye >=len(str(emax)):\n return None\n \n \n e=_decimal_lshift_exact(e *yc,ye)\n xe=_decimal_lshift_exact(xe *yc,ye)\n if e is None or xe is None:\n return None\n \n if e >emax:\n return None\n xc=5 **e\n \n elif last_digit ==5:\n \n \n e=_nbits(xc)*28 //65\n xc,remainder=divmod(5 **e,xc)\n if remainder:\n return None\n while xc %5 ==0:\n xc //=5\n e -=1\n \n \n \n \n emax=p *10 //3\n if ye >=len(str(emax)):\n return None\n \n e=_decimal_lshift_exact(e *yc,ye)\n xe=_decimal_lshift_exact(xe *yc,ye)\n if e is None or xe is None:\n return None\n \n if e >emax:\n return None\n xc=2 **e\n else:\n return None\n \n if xc >=10 **p:\n return None\n xe=-e -xe\n return _dec_from_triple(0,str(xc),xe)\n \n \n if ye >=0:\n m,n=yc *10 **ye,1\n else:\n if xe !=0 and len(str(abs(yc *xe)))<=-ye:\n return None\n xc_bits=_nbits(xc)\n if len(str(abs(yc)*xc_bits))<=-ye:\n return None\n m,n=yc,10 **(-ye)\n while m %2 ==n %2 ==0:\n m //=2\n n //=2\n while m %5 ==n %5 ==0:\n m //=5\n n //=5\n \n \n if n >1:\n \n if xc_bits <=n:\n return None\n \n xe,rem=divmod(xe,n)\n if rem !=0:\n return None\n \n \n a=1 <<-(-_nbits(xc)//n)\n while True:\n q,r=divmod(xc,a **(n -1))\n if a <=q:\n break\n else:\n a=(a *(n -1)+q)//n\n if not(a ==q and r ==0):\n return None\n xc=a\n \n \n \n \n \n \n if xc >1 and m >p *100 //_log10_lb(xc):\n return None\n xc=xc **m\n xe *=m\n if xc >10 **p:\n return None\n \n \n \n \n str_xc=str(xc)\n if other._isinteger()and other._sign ==0:\n ideal_exponent=self._exp *int(other)\n zeros=min(xe -ideal_exponent,p -len(str_xc))\n else:\n zeros=0\n return _dec_from_triple(0,str_xc+'0'*zeros,xe -zeros)\n \n def __pow__(self,other,modulo=None,context=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if modulo is not None:\n return self._power_modulo(other,modulo,context)\n \n other=_convert_other(other)\n if other is NotImplemented:\n return other\n \n if context is None:\n context=getcontext()\n \n \n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n \n if not other:\n if not self:\n return context._raise_error(InvalidOperation,'0 ** 0')\n else:\n return _One\n \n \n result_sign=0\n if self._sign ==1:\n if other._isinteger():\n if not other._iseven():\n result_sign=1\n else:\n \n \n if self:\n return context._raise_error(InvalidOperation,\n 'x ** y with x negative and y not an integer')\n \n self=self.copy_negate()\n \n \n if not self:\n if other._sign ==0:\n return _dec_from_triple(result_sign,'0',0)\n else:\n return _SignedInfinity[result_sign]\n \n \n if self._isinfinity():\n if other._sign ==0:\n return _SignedInfinity[result_sign]\n else:\n return _dec_from_triple(result_sign,'0',0)\n \n \n \n \n if self ==_One:\n if other._isinteger():\n \n \n \n \n if other._sign ==1:\n multiplier=0\n elif other >context.prec:\n multiplier=context.prec\n else:\n multiplier=int(other)\n \n exp=self._exp *multiplier\n if exp <1 -context.prec:\n exp=1 -context.prec\n context._raise_error(Rounded)\n else:\n context._raise_error(Inexact)\n context._raise_error(Rounded)\n exp=1 -context.prec\n \n return _dec_from_triple(result_sign,'1'+'0'*-exp,exp)\n \n \n self_adj=self.adjusted()\n \n \n \n if other._isinfinity():\n if(other._sign ==0)==(self_adj <0):\n return _dec_from_triple(result_sign,'0',0)\n else:\n return _SignedInfinity[result_sign]\n \n \n \n ans=None\n exact=False\n \n \n \n \n \n \n bound=self._log10_exp_bound()+other.adjusted()\n if(self_adj >=0)==(other._sign ==0):\n \n \n if bound >=len(str(context.Emax)):\n ans=_dec_from_triple(result_sign,'1',context.Emax+1)\n else:\n \n \n Etiny=context.Etiny()\n if bound >=len(str(-Etiny)):\n ans=_dec_from_triple(result_sign,'1',Etiny -1)\n \n \n if ans is None:\n ans=self._power_exact(other,context.prec+1)\n if ans is not None:\n if result_sign ==1:\n ans=_dec_from_triple(1,ans._int,ans._exp)\n exact=True\n \n \n if ans is None:\n p=context.prec\n x=_WorkRep(self)\n xc,xe=x.int,x.exp\n y=_WorkRep(other)\n yc,ye=y.int,y.exp\n if y.sign ==1:\n yc=-yc\n \n \n \n extra=3\n while True:\n coeff,exp=_dpower(xc,xe,yc,ye,p+extra)\n if coeff %(5 *10 **(len(str(coeff))-p -1)):\n break\n extra +=3\n \n ans=_dec_from_triple(result_sign,str(coeff),exp)\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n if exact and not other._isinteger():\n \n \n if len(ans._int)<=context.prec:\n expdiff=context.prec+1 -len(ans._int)\n ans=_dec_from_triple(ans._sign,ans._int+'0'*expdiff,\n ans._exp -expdiff)\n \n \n newcontext=context.copy()\n newcontext.clear_flags()\n for exception in _signals:\n newcontext.traps[exception]=0\n \n \n ans=ans._fix(newcontext)\n \n \n newcontext._raise_error(Inexact)\n if newcontext.flags[Subnormal]:\n newcontext._raise_error(Underflow)\n \n \n \n \n \n \n if newcontext.flags[Overflow]:\n context._raise_error(Overflow,'above Emax',ans._sign)\n for exception in Underflow,Subnormal,Inexact,Rounded,Clamped:\n if newcontext.flags[exception]:\n context._raise_error(exception)\n \n else:\n ans=ans._fix(context)\n \n return ans\n \n def __rpow__(self,other,context=None):\n ''\n other=_convert_other(other)\n if other is NotImplemented:\n return other\n return other.__pow__(self,context=context)\n \n def normalize(self,context=None):\n ''\n \n if context is None:\n context=getcontext()\n \n if self._is_special:\n ans=self._check_nans(context=context)\n if ans:\n return ans\n \n dup=self._fix(context)\n if dup._isinfinity():\n return dup\n \n if not dup:\n return _dec_from_triple(dup._sign,'0',0)\n exp_max=[context.Emax,context.Etop()][context.clamp]\n end=len(dup._int)\n exp=dup._exp\n while dup._int[end -1]=='0'and exp context.Emax:\n return context._raise_error(InvalidOperation,\n 'exponent of quantize result too large for current context')\n if self_adjusted -exp._exp+1 >context.prec:\n return context._raise_error(InvalidOperation,\n 'quantize result has too many digits for current context')\n \n ans=self._rescale(exp._exp,rounding)\n if ans.adjusted()>context.Emax:\n return context._raise_error(InvalidOperation,\n 'exponent of quantize result too large for current context')\n if len(ans._int)>context.prec:\n return context._raise_error(InvalidOperation,\n 'quantize result has too many digits for current context')\n \n \n if ans and ans.adjusted()self._exp:\n if ans !=self:\n context._raise_error(Inexact)\n context._raise_error(Rounded)\n \n \n \n ans=ans._fix(context)\n return ans\n \n def same_quantum(self,other,context=None):\n ''\n\n\n\n\n\n\n \n other=_convert_other(other,raiseit=True)\n if self._is_special or other._is_special:\n return(self.is_nan()and other.is_nan()or\n self.is_infinite()and other.is_infinite())\n return self._exp ==other._exp\n \n def _rescale(self,exp,rounding):\n ''\n\n\n\n\n\n\n\n\n \n if self._is_special:\n return Decimal(self)\n if not self:\n return _dec_from_triple(self._sign,'0',exp)\n \n if self._exp >=exp:\n \n return _dec_from_triple(self._sign,\n self._int+'0'*(self._exp -exp),exp)\n \n \n \n digits=len(self._int)+self._exp -exp\n if digits <0:\n self=_dec_from_triple(self._sign,'1',exp -1)\n digits=0\n this_function=self._pick_rounding_function[rounding]\n changed=this_function(self,digits)\n coeff=self._int[:digits]or '0'\n if changed ==1:\n coeff=str(int(coeff)+1)\n return _dec_from_triple(self._sign,coeff,exp)\n \n def _round(self,places,rounding):\n ''\n\n\n\n\n\n\n\n \n if places <=0:\n raise ValueError(\"argument should be at least 1 in _round\")\n if self._is_special or not self:\n return Decimal(self)\n ans=self._rescale(self.adjusted()+1 -places,rounding)\n \n \n \n \n if ans.adjusted()!=self.adjusted():\n ans=ans._rescale(ans.adjusted()+1 -places,rounding)\n return ans\n \n def to_integral_exact(self,rounding=None,context=None):\n ''\n\n\n\n\n\n\n\n \n if self._is_special:\n ans=self._check_nans(context=context)\n if ans:\n return ans\n return Decimal(self)\n if self._exp >=0:\n return Decimal(self)\n if not self:\n return _dec_from_triple(self._sign,'0',0)\n if context is None:\n context=getcontext()\n if rounding is None:\n rounding=context.rounding\n ans=self._rescale(0,rounding)\n if ans !=self:\n context._raise_error(Inexact)\n context._raise_error(Rounded)\n return ans\n \n def to_integral_value(self,rounding=None,context=None):\n ''\n if context is None:\n context=getcontext()\n if rounding is None:\n rounding=context.rounding\n if self._is_special:\n ans=self._check_nans(context=context)\n if ans:\n return ans\n return Decimal(self)\n if self._exp >=0:\n return Decimal(self)\n else:\n return self._rescale(0,rounding)\n \n \n to_integral=to_integral_value\n \n def sqrt(self,context=None):\n ''\n if context is None:\n context=getcontext()\n \n if self._is_special:\n ans=self._check_nans(context=context)\n if ans:\n return ans\n \n if self._isinfinity()and self._sign ==0:\n return Decimal(self)\n \n if not self:\n \n ans=_dec_from_triple(self._sign,'0',self._exp //2)\n return ans._fix(context)\n \n if self._sign ==1:\n return context._raise_error(InvalidOperation,'sqrt(-x), x > 0')\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n prec=context.prec+1\n \n \n \n \n \n op=_WorkRep(self)\n e=op.exp >>1\n if op.exp&1:\n c=op.int *10\n l=(len(self._int)>>1)+1\n else:\n c=op.int\n l=len(self._int)+1 >>1\n \n \n shift=prec -l\n if shift >=0:\n c *=100 **shift\n exact=True\n else:\n c,remainder=divmod(c,100 **-shift)\n exact=not remainder\n e -=shift\n \n \n n=10 **prec\n while True:\n q=c //n\n if n <=q:\n break\n else:\n n=n+q >>1\n exact=exact and n *n ==c\n \n if exact:\n \n if shift >=0:\n \n n //=10 **shift\n else:\n n *=10 **-shift\n e +=shift\n else:\n \n if n %5 ==0:\n n +=1\n \n ans=_dec_from_triple(0,str(n),e)\n \n \n context=context._shallow_copy()\n rounding=context._set_rounding(ROUND_HALF_EVEN)\n ans=ans._fix(context)\n context.rounding=rounding\n \n return ans\n \n def max(self,other,context=None):\n ''\n\n\n\n \n other=_convert_other(other,raiseit=True)\n \n if context is None:\n context=getcontext()\n \n if self._is_special or other._is_special:\n \n \n sn=self._isnan()\n on=other._isnan()\n if sn or on:\n if on ==1 and sn ==0:\n return self._fix(context)\n if sn ==1 and on ==0:\n return other._fix(context)\n return self._check_nans(other,context)\n \n c=self._cmp(other)\n if c ==0:\n \n \n \n \n \n \n \n \n c=self.compare_total(other)\n \n if c ==-1:\n ans=other\n else:\n ans=self\n \n return ans._fix(context)\n \n def min(self,other,context=None):\n ''\n\n\n\n \n other=_convert_other(other,raiseit=True)\n \n if context is None:\n context=getcontext()\n \n if self._is_special or other._is_special:\n \n \n sn=self._isnan()\n on=other._isnan()\n if sn or on:\n if on ==1 and sn ==0:\n return self._fix(context)\n if sn ==1 and on ==0:\n return other._fix(context)\n return self._check_nans(other,context)\n \n c=self._cmp(other)\n if c ==0:\n c=self.compare_total(other)\n \n if c ==-1:\n ans=self\n else:\n ans=other\n \n return ans._fix(context)\n \n def _isinteger(self):\n ''\n if self._is_special:\n return False\n if self._exp >=0:\n return True\n rest=self._int[self._exp:]\n return rest =='0'*len(rest)\n \n def _iseven(self):\n ''\n if not self or self._exp >0:\n return True\n return self._int[-1+self._exp]in '02468'\n \n def adjusted(self):\n ''\n try:\n return self._exp+len(self._int)-1\n \n except TypeError:\n return 0\n \n def canonical(self):\n ''\n\n\n\n \n return self\n \n def compare_signal(self,other,context=None):\n ''\n\n\n\n \n other=_convert_other(other,raiseit=True)\n ans=self._compare_check_nans(other,context)\n if ans:\n return ans\n return self.compare(other,context=context)\n \n def compare_total(self,other,context=None):\n ''\n\n\n\n\n \n other=_convert_other(other,raiseit=True)\n \n \n if self._sign and not other._sign:\n return _NegativeOne\n if not self._sign and other._sign:\n return _One\n sign=self._sign\n \n \n self_nan=self._isnan()\n other_nan=other._isnan()\n if self_nan or other_nan:\n if self_nan ==other_nan:\n \n self_key=len(self._int),self._int\n other_key=len(other._int),other._int\n if self_key other_key:\n if sign:\n return _NegativeOne\n else:\n return _One\n return _Zero\n \n if sign:\n if self_nan ==1:\n return _NegativeOne\n if other_nan ==1:\n return _One\n if self_nan ==2:\n return _NegativeOne\n if other_nan ==2:\n return _One\n else:\n if self_nan ==1:\n return _One\n if other_nan ==1:\n return _NegativeOne\n if self_nan ==2:\n return _One\n if other_nan ==2:\n return _NegativeOne\n \n if self other:\n return _One\n \n if self._exp other._exp:\n if sign:\n return _NegativeOne\n else:\n return _One\n return _Zero\n \n \n def compare_total_mag(self,other,context=None):\n ''\n\n\n \n other=_convert_other(other,raiseit=True)\n \n s=self.copy_abs()\n o=other.copy_abs()\n return s.compare_total(o)\n \n def copy_abs(self):\n ''\n return _dec_from_triple(0,self._int,self._exp,self._is_special)\n \n def copy_negate(self):\n ''\n if self._sign:\n return _dec_from_triple(0,self._int,self._exp,self._is_special)\n else:\n return _dec_from_triple(1,self._int,self._exp,self._is_special)\n \n def copy_sign(self,other,context=None):\n ''\n other=_convert_other(other,raiseit=True)\n return _dec_from_triple(other._sign,self._int,\n self._exp,self._is_special)\n \n def exp(self,context=None):\n ''\n \n if context is None:\n context=getcontext()\n \n \n ans=self._check_nans(context=context)\n if ans:\n return ans\n \n \n if self._isinfinity()==-1:\n return _Zero\n \n \n if not self:\n return _One\n \n \n if self._isinfinity()==1:\n return Decimal(self)\n \n \n \n \n \n p=context.prec\n adj=self.adjusted()\n \n \n \n \n \n \n if self._sign ==0 and adj >len(str((context.Emax+1)*3)):\n \n ans=_dec_from_triple(0,'1',context.Emax+1)\n elif self._sign ==1 and adj >len(str((-context.Etiny()+1)*3)):\n \n ans=_dec_from_triple(0,'1',context.Etiny()-1)\n elif self._sign ==0 and adj <-p:\n \n ans=_dec_from_triple(0,'1'+'0'*(p -1)+'1',-p)\n elif self._sign ==1 and adj <-p -1:\n \n ans=_dec_from_triple(0,'9'*(p+1),-p -1)\n \n else:\n op=_WorkRep(self)\n c,e=op.int,op.exp\n if op.sign ==1:\n c=-c\n \n \n \n \n extra=3\n while True:\n coeff,exp=_dexp(c,e,p+extra)\n if coeff %(5 *10 **(len(str(coeff))-p -1)):\n break\n extra +=3\n \n ans=_dec_from_triple(0,str(coeff),exp)\n \n \n \n context=context._shallow_copy()\n rounding=context._set_rounding(ROUND_HALF_EVEN)\n ans=ans._fix(context)\n context.rounding=rounding\n \n return ans\n \n def is_canonical(self):\n ''\n\n\n\n \n return True\n \n def is_finite(self):\n ''\n\n\n\n \n return not self._is_special\n \n def is_infinite(self):\n ''\n return self._exp =='F'\n \n def is_nan(self):\n ''\n return self._exp in('n','N')\n \n def is_normal(self,context=None):\n ''\n if self._is_special or not self:\n return False\n if context is None:\n context=getcontext()\n return context.Emin <=self.adjusted()\n \n def is_qnan(self):\n ''\n return self._exp =='n'\n \n def is_signed(self):\n ''\n return self._sign ==1\n \n def is_snan(self):\n ''\n return self._exp =='N'\n \n def is_subnormal(self,context=None):\n ''\n if self._is_special or not self:\n return False\n if context is None:\n context=getcontext()\n return self.adjusted()=1:\n \n return len(str(adj *23 //10))-1\n if adj <=-2:\n \n return len(str((-1 -adj)*23 //10))-1\n op=_WorkRep(self)\n c,e=op.int,op.exp\n if adj ==0:\n \n num=str(c -10 **-e)\n den=str(c)\n return len(num)-len(den)-(num =1:\n \n return len(str(adj))-1\n if adj <=-2:\n \n return len(str(-1 -adj))-1\n op=_WorkRep(self)\n c,e=op.int,op.exp\n if adj ==0:\n \n num=str(c -10 **-e)\n den=str(231 *c)\n return len(num)-len(den)-(num 0:\n opa='0'*dif+opa\n elif dif <0:\n opa=opa[-context.prec:]\n dif=context.prec -len(opb)\n if dif >0:\n opb='0'*dif+opb\n elif dif <0:\n opb=opb[-context.prec:]\n return opa,opb\n \n def logical_and(self,other,context=None):\n ''\n if context is None:\n context=getcontext()\n \n other=_convert_other(other,raiseit=True)\n \n if not self._islogical()or not other._islogical():\n return context._raise_error(InvalidOperation)\n \n \n (opa,opb)=self._fill_logical(context,self._int,other._int)\n \n \n result=\"\".join([str(int(a)&int(b))for a,b in zip(opa,opb)])\n return _dec_from_triple(0,result.lstrip('0')or '0',0)\n \n def logical_invert(self,context=None):\n ''\n if context is None:\n context=getcontext()\n return self.logical_xor(_dec_from_triple(0,'1'*context.prec,0),\n context)\n \n def logical_or(self,other,context=None):\n ''\n if context is None:\n context=getcontext()\n \n other=_convert_other(other,raiseit=True)\n \n if not self._islogical()or not other._islogical():\n return context._raise_error(InvalidOperation)\n \n \n (opa,opb)=self._fill_logical(context,self._int,other._int)\n \n \n result=\"\".join([str(int(a)|int(b))for a,b in zip(opa,opb)])\n return _dec_from_triple(0,result.lstrip('0')or '0',0)\n \n def logical_xor(self,other,context=None):\n ''\n if context is None:\n context=getcontext()\n \n other=_convert_other(other,raiseit=True)\n \n if not self._islogical()or not other._islogical():\n return context._raise_error(InvalidOperation)\n \n \n (opa,opb)=self._fill_logical(context,self._int,other._int)\n \n \n result=\"\".join([str(int(a)^int(b))for a,b in zip(opa,opb)])\n return _dec_from_triple(0,result.lstrip('0')or '0',0)\n \n def max_mag(self,other,context=None):\n ''\n other=_convert_other(other,raiseit=True)\n \n if context is None:\n context=getcontext()\n \n if self._is_special or other._is_special:\n \n \n sn=self._isnan()\n on=other._isnan()\n if sn or on:\n if on ==1 and sn ==0:\n return self._fix(context)\n if sn ==1 and on ==0:\n return other._fix(context)\n return self._check_nans(other,context)\n \n c=self.copy_abs()._cmp(other.copy_abs())\n if c ==0:\n c=self.compare_total(other)\n \n if c ==-1:\n ans=other\n else:\n ans=self\n \n return ans._fix(context)\n \n def min_mag(self,other,context=None):\n ''\n other=_convert_other(other,raiseit=True)\n \n if context is None:\n context=getcontext()\n \n if self._is_special or other._is_special:\n \n \n sn=self._isnan()\n on=other._isnan()\n if sn or on:\n if on ==1 and sn ==0:\n return self._fix(context)\n if sn ==1 and on ==0:\n return other._fix(context)\n return self._check_nans(other,context)\n \n c=self.copy_abs()._cmp(other.copy_abs())\n if c ==0:\n c=self.compare_total(other)\n \n if c ==-1:\n ans=self\n else:\n ans=other\n \n return ans._fix(context)\n \n def next_minus(self,context=None):\n ''\n if context is None:\n context=getcontext()\n \n ans=self._check_nans(context=context)\n if ans:\n return ans\n \n if self._isinfinity()==-1:\n return _NegativeInfinity\n if self._isinfinity()==1:\n return _dec_from_triple(0,'9'*context.prec,context.Etop())\n \n context=context.copy()\n context._set_rounding(ROUND_FLOOR)\n context._ignore_all_flags()\n new_self=self._fix(context)\n if new_self !=self:\n return new_self\n return self.__sub__(_dec_from_triple(0,'1',context.Etiny()-1),\n context)\n \n def next_plus(self,context=None):\n ''\n if context is None:\n context=getcontext()\n \n ans=self._check_nans(context=context)\n if ans:\n return ans\n \n if self._isinfinity()==1:\n return _Infinity\n if self._isinfinity()==-1:\n return _dec_from_triple(1,'9'*context.prec,context.Etop())\n \n context=context.copy()\n context._set_rounding(ROUND_CEILING)\n context._ignore_all_flags()\n new_self=self._fix(context)\n if new_self !=self:\n return new_self\n return self.__add__(_dec_from_triple(0,'1',context.Etiny()-1),\n context)\n \n def next_toward(self,other,context=None):\n ''\n\n\n\n\n\n\n \n other=_convert_other(other,raiseit=True)\n \n if context is None:\n context=getcontext()\n \n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n comparison=self._cmp(other)\n if comparison ==0:\n return self.copy_sign(other)\n \n if comparison ==-1:\n ans=self.next_plus(context)\n else:\n ans=self.next_minus(context)\n \n \n if ans._isinfinity():\n context._raise_error(Overflow,\n 'Infinite result from next_toward',\n ans._sign)\n context._raise_error(Inexact)\n context._raise_error(Rounded)\n elif ans.adjusted()0:\n rotdig='0'*topad+rotdig\n elif topad <0:\n rotdig=rotdig[-topad:]\n \n \n rotated=rotdig[torot:]+rotdig[:torot]\n return _dec_from_triple(self._sign,\n rotated.lstrip('0')or '0',self._exp)\n \n def scaleb(self,other,context=None):\n ''\n if context is None:\n context=getcontext()\n \n other=_convert_other(other,raiseit=True)\n \n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n if other._exp !=0:\n return context._raise_error(InvalidOperation)\n liminf=-2 *(context.Emax+context.prec)\n limsup=2 *(context.Emax+context.prec)\n if not(liminf <=int(other)<=limsup):\n return context._raise_error(InvalidOperation)\n \n if self._isinfinity():\n return Decimal(self)\n \n d=_dec_from_triple(self._sign,self._int,self._exp+int(other))\n d=d._fix(context)\n return d\n \n def shift(self,other,context=None):\n ''\n if context is None:\n context=getcontext()\n \n other=_convert_other(other,raiseit=True)\n \n ans=self._check_nans(other,context)\n if ans:\n return ans\n \n if other._exp !=0:\n return context._raise_error(InvalidOperation)\n if not(-context.prec <=int(other)<=context.prec):\n return context._raise_error(InvalidOperation)\n \n if self._isinfinity():\n return Decimal(self)\n \n \n torot=int(other)\n rotdig=self._int\n topad=context.prec -len(rotdig)\n if topad >0:\n rotdig='0'*topad+rotdig\n elif topad <0:\n rotdig=rotdig[-topad:]\n \n \n if torot <0:\n shifted=rotdig[:torot]\n else:\n shifted=rotdig+'0'*torot\n shifted=shifted[-context.prec:]\n \n return _dec_from_triple(self._sign,\n shifted.lstrip('0')or '0',self._exp)\n \n \n def __reduce__(self):\n return(self.__class__,(str(self),))\n \n def __copy__(self):\n if type(self)is Decimal:\n return self\n return self.__class__(str(self))\n \n def __deepcopy__(self,memo):\n if type(self)is Decimal:\n return self\n return self.__class__(str(self))\n \n \n \n def __format__(self,specifier,context=None,_localeconv=None):\n ''\n\n\n\n\n\n\n \n \n \n \n \n \n \n if context is None:\n context=getcontext()\n \n spec=_parse_format_specifier(specifier,_localeconv=_localeconv)\n \n \n if self._is_special:\n sign=_format_sign(self._sign,spec)\n body=str(self.copy_abs())\n if spec['type']=='%':\n body +='%'\n return _format_align(sign,body,spec)\n \n \n if spec['type']is None:\n spec['type']=['g','G'][context.capitals]\n \n \n if spec['type']=='%':\n self=_dec_from_triple(self._sign,self._int,self._exp+2)\n \n \n rounding=context.rounding\n precision=spec['precision']\n if precision is not None:\n if spec['type']in 'eE':\n self=self._round(precision+1,rounding)\n elif spec['type']in 'fF%':\n self=self._rescale(-precision,rounding)\n elif spec['type']in 'gG'and len(self._int)>precision:\n self=self._round(precision,rounding)\n \n \n if not self and self._exp >0 and spec['type']in 'fF%':\n self=self._rescale(0,rounding)\n if not self and spec['no_neg_0']and self._sign:\n adjusted_sign=0\n else:\n adjusted_sign=self._sign\n \n \n leftdigits=self._exp+len(self._int)\n if spec['type']in 'eE':\n if not self and precision is not None:\n dotplace=1 -precision\n else:\n dotplace=1\n elif spec['type']in 'fF%':\n dotplace=leftdigits\n elif spec['type']in 'gG':\n if self._exp <=0 and leftdigits >-6:\n dotplace=leftdigits\n else:\n dotplace=1\n \n \n if dotplace <0:\n intpart='0'\n fracpart='0'*(-dotplace)+self._int\n elif dotplace >len(self._int):\n intpart=self._int+'0'*(dotplace -len(self._int))\n fracpart=''\n else:\n intpart=self._int[:dotplace]or '0'\n fracpart=self._int[dotplace:]\n exp=leftdigits -dotplace\n \n \n \n return _format_number(adjusted_sign,intpart,fracpart,exp,spec)\n \ndef _dec_from_triple(sign,coefficient,exponent,special=False):\n ''\n\n\n\n\n \n \n self=object.__new__(Decimal)\n self._sign=sign\n self._int=coefficient\n self._exp=exponent\n self._is_special=special\n \n return self\n \n \n \n \n_numbers.Number.register(Decimal)\n\n\n\n\nclass _ContextManager(object):\n ''\n\n\n\n \n def __init__(self,new_context):\n self.new_context=new_context.copy()\n def __enter__(self):\n self.saved_context=getcontext()\n setcontext(self.new_context)\n return self.new_context\n def __exit__(self,t,v,tb):\n setcontext(self.saved_context)\n \nclass Context(object):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,prec=None,rounding=None,Emin=None,Emax=None,\n capitals=None,clamp=None,flags=None,traps=None,\n _ignored_flags=None):\n \n \n try:\n dc=DefaultContext\n except NameError:\n pass\n \n self.prec=prec if prec is not None else dc.prec\n self.rounding=rounding if rounding is not None else dc.rounding\n self.Emin=Emin if Emin is not None else dc.Emin\n self.Emax=Emax if Emax is not None else dc.Emax\n self.capitals=capitals if capitals is not None else dc.capitals\n self.clamp=clamp if clamp is not None else dc.clamp\n \n if _ignored_flags is None:\n self._ignored_flags=[]\n else:\n self._ignored_flags=_ignored_flags\n \n if traps is None:\n self.traps=dc.traps.copy()\n elif not isinstance(traps,dict):\n self.traps=dict((s,int(s in traps))for s in _signals+traps)\n else:\n self.traps=traps\n \n if flags is None:\n self.flags=dict.fromkeys(_signals,0)\n elif not isinstance(flags,dict):\n self.flags=dict((s,int(s in flags))for s in _signals+flags)\n else:\n self.flags=flags\n \n def _set_integer_check(self,name,value,vmin,vmax):\n if not isinstance(value,int):\n raise TypeError(\"%s must be an integer\"%name)\n if vmin =='-inf':\n if value >vmax:\n raise ValueError(\"%s must be in [%s, %d]. got: %s\"%(name,vmin,vmax,value))\n elif vmax =='inf':\n if value vmax:\n raise ValueError(\"%s must be in [%d, %d]. got %s\"%(name,vmin,vmax,value))\n return object.__setattr__(self,name,value)\n \n def _set_signal_dict(self,name,d):\n if not isinstance(d,dict):\n raise TypeError(\"%s must be a signal dict\"%d)\n for key in d:\n if not key in _signals:\n raise KeyError(\"%s is not a valid signal dict\"%d)\n for key in _signals:\n if not key in d:\n raise KeyError(\"%s is not a valid signal dict\"%d)\n return object.__setattr__(self,name,d)\n \n def __setattr__(self,name,value):\n if name =='prec':\n return self._set_integer_check(name,value,1,'inf')\n elif name =='Emin':\n return self._set_integer_check(name,value,'-inf',0)\n elif name =='Emax':\n return self._set_integer_check(name,value,0,'inf')\n elif name =='capitals':\n return self._set_integer_check(name,value,0,1)\n elif name =='clamp':\n return self._set_integer_check(name,value,0,1)\n elif name =='rounding':\n if not value in _rounding_modes:\n \n \n raise TypeError(\"%s: invalid rounding mode\"%value)\n return object.__setattr__(self,name,value)\n elif name =='flags'or name =='traps':\n return self._set_signal_dict(name,value)\n elif name =='_ignored_flags':\n return object.__setattr__(self,name,value)\n else:\n raise AttributeError(\n \"'decimal.Context' object has no attribute '%s'\"%name)\n \n def __delattr__(self,name):\n raise AttributeError(\"%s cannot be deleted\"%name)\n \n \n def __reduce__(self):\n flags=[sig for sig,v in self.flags.items()if v]\n traps=[sig for sig,v in self.traps.items()if v]\n return(self.__class__,\n (self.prec,self.rounding,self.Emin,self.Emax,\n self.capitals,self.clamp,flags,traps))\n \n def __repr__(self):\n ''\n s=[]\n s.append('Context(prec=%(prec)d, rounding=%(rounding)s, '\n 'Emin=%(Emin)d, Emax=%(Emax)d, capitals=%(capitals)d, '\n 'clamp=%(clamp)d'\n %vars(self))\n names=[f.__name__ for f,v in self.flags.items()if v]\n s.append('flags=['+', '.join(names)+']')\n names=[t.__name__ for t,v in self.traps.items()if v]\n s.append('traps=['+', '.join(names)+']')\n return ', '.join(s)+')'\n \n def clear_flags(self):\n ''\n for flag in self.flags:\n self.flags[flag]=0\n \n def clear_traps(self):\n ''\n for flag in self.traps:\n self.traps[flag]=0\n \n def _shallow_copy(self):\n ''\n nc=Context(self.prec,self.rounding,self.Emin,self.Emax,\n self.capitals,self.clamp,self.flags,self.traps,\n self._ignored_flags)\n return nc\n \n def copy(self):\n ''\n nc=Context(self.prec,self.rounding,self.Emin,self.Emax,\n self.capitals,self.clamp,\n self.flags.copy(),self.traps.copy(),\n self._ignored_flags)\n return nc\n __copy__=copy\n \n def _raise_error(self,condition,explanation=None,*args):\n ''\n\n\n\n\n\n \n error=_condition_map.get(condition,condition)\n if error in self._ignored_flags:\n \n return error().handle(self,*args)\n \n self.flags[error]=1\n if not self.traps[error]:\n \n return condition().handle(self,*args)\n \n \n \n raise error(explanation)\n \n def _ignore_all_flags(self):\n ''\n return self._ignore_flags(*_signals)\n \n def _ignore_flags(self,*flags):\n ''\n \n \n self._ignored_flags=(self._ignored_flags+list(flags))\n return list(flags)\n \n def _regard_flags(self,*flags):\n ''\n if flags and isinstance(flags[0],(tuple,list)):\n flags=flags[0]\n for flag in flags:\n self._ignored_flags.remove(flag)\n \n \n __hash__=None\n \n def Etiny(self):\n ''\n return int(self.Emin -self.prec+1)\n \n def Etop(self):\n ''\n return int(self.Emax -self.prec+1)\n \n def _set_rounding(self,type):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n rounding=self.rounding\n self.rounding=type\n return rounding\n \n def create_decimal(self,num='0'):\n ''\n\n\n \n \n if isinstance(num,str)and(num !=num.strip()or '_'in num):\n return self._raise_error(ConversionSyntax,\n \"trailing or leading whitespace and \"\n \"underscores are not permitted.\")\n \n d=Decimal(num,context=self)\n if d._isnan()and len(d._int)>self.prec -self.clamp:\n return self._raise_error(ConversionSyntax,\n \"diagnostic info too long in NaN\")\n return d._fix(self)\n \n def create_decimal_from_float(self,f):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n d=Decimal.from_float(f)\n return d._fix(self)\n \n \n def abs(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.__abs__(context=self)\n \n def add(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n r=a.__add__(b,context=self)\n if r is NotImplemented:\n raise TypeError(\"Unable to convert %s to Decimal\"%b)\n else:\n return r\n \n def _apply(self,a):\n return str(a._fix(self))\n \n def canonical(self,a):\n ''\n\n\n\n\n\n\n \n if not isinstance(a,Decimal):\n raise TypeError(\"canonical requires a Decimal as an argument.\")\n return a.canonical()\n \n def compare(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.compare(b,context=self)\n \n def compare_signal(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.compare_signal(b,context=self)\n \n def compare_total(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.compare_total(b)\n \n def compare_total_mag(self,a,b):\n ''\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.compare_total_mag(b)\n \n def copy_abs(self,a):\n ''\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.copy_abs()\n \n def copy_decimal(self,a):\n ''\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return Decimal(a)\n \n def copy_negate(self,a):\n ''\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.copy_negate()\n \n def copy_sign(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.copy_sign(b)\n \n def divide(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n r=a.__truediv__(b,context=self)\n if r is NotImplemented:\n raise TypeError(\"Unable to convert %s to Decimal\"%b)\n else:\n return r\n \n def divide_int(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n r=a.__floordiv__(b,context=self)\n if r is NotImplemented:\n raise TypeError(\"Unable to convert %s to Decimal\"%b)\n else:\n return r\n \n def divmod(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n r=a.__divmod__(b,context=self)\n if r is NotImplemented:\n raise TypeError(\"Unable to convert %s to Decimal\"%b)\n else:\n return r\n \n def exp(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.exp(context=self)\n \n def fma(self,a,b,c):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.fma(b,c,context=self)\n \n def is_canonical(self,a):\n ''\n\n\n\n\n\n\n \n if not isinstance(a,Decimal):\n raise TypeError(\"is_canonical requires a Decimal as an argument.\")\n return a.is_canonical()\n \n def is_finite(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_finite()\n \n def is_infinite(self,a):\n ''\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_infinite()\n \n def is_nan(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_nan()\n \n def is_normal(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_normal(context=self)\n \n def is_qnan(self,a):\n ''\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_qnan()\n \n def is_signed(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_signed()\n \n def is_snan(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_snan()\n \n def is_subnormal(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_subnormal(context=self)\n \n def is_zero(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.is_zero()\n \n def ln(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.ln(context=self)\n \n def log10(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.log10(context=self)\n \n def logb(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.logb(context=self)\n \n def logical_and(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.logical_and(b,context=self)\n \n def logical_invert(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.logical_invert(context=self)\n \n def logical_or(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.logical_or(b,context=self)\n \n def logical_xor(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.logical_xor(b,context=self)\n \n def max(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.max(b,context=self)\n \n def max_mag(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.max_mag(b,context=self)\n \n def min(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.min(b,context=self)\n \n def min_mag(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.min_mag(b,context=self)\n \n def minus(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.__neg__(context=self)\n \n def multiply(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n r=a.__mul__(b,context=self)\n if r is NotImplemented:\n raise TypeError(\"Unable to convert %s to Decimal\"%b)\n else:\n return r\n \n def next_minus(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.next_minus(context=self)\n \n def next_plus(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.next_plus(context=self)\n \n def next_toward(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.next_toward(b,context=self)\n \n def normalize(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.normalize(context=self)\n \n def number_class(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.number_class(context=self)\n \n def plus(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.__pos__(context=self)\n \n def power(self,a,b,modulo=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n r=a.__pow__(b,modulo,context=self)\n if r is NotImplemented:\n raise TypeError(\"Unable to convert %s to Decimal\"%b)\n else:\n return r\n \n def quantize(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.quantize(b,context=self)\n \n def radix(self):\n ''\n\n\n\n \n return Decimal(10)\n \n def remainder(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n r=a.__mod__(b,context=self)\n if r is NotImplemented:\n raise TypeError(\"Unable to convert %s to Decimal\"%b)\n else:\n return r\n \n def remainder_near(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.remainder_near(b,context=self)\n \n def rotate(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.rotate(b,context=self)\n \n def same_quantum(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.same_quantum(b)\n \n def scaleb(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.scaleb(b,context=self)\n \n def shift(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.shift(b,context=self)\n \n def sqrt(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.sqrt(context=self)\n \n def subtract(self,a,b):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n r=a.__sub__(b,context=self)\n if r is NotImplemented:\n raise TypeError(\"Unable to convert %s to Decimal\"%b)\n else:\n return r\n \n def to_eng_string(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.to_eng_string(context=self)\n \n def to_sci_string(self,a):\n ''\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.__str__(context=self)\n \n def to_integral_exact(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.to_integral_exact(context=self)\n \n def to_integral_value(self,a):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n a=_convert_other(a,raiseit=True)\n return a.to_integral_value(context=self)\n \n \n to_integral=to_integral_value\n \nclass _WorkRep(object):\n __slots__=('sign','int','exp')\n \n \n \n \n def __init__(self,value=None):\n if value is None:\n self.sign=None\n self.int=0\n self.exp=None\n elif isinstance(value,Decimal):\n self.sign=value._sign\n self.int=int(value._int)\n self.exp=value._exp\n else:\n \n self.sign=value[0]\n self.int=value[1]\n self.exp=value[2]\n \n def __repr__(self):\n return \"(%r, %r, %r)\"%(self.sign,self.int,self.exp)\n \n \n \ndef _normalize(op1,op2,prec=0):\n ''\n\n\n \n if op1.exp =0:\n return n *10 **e\n else:\n \n str_n=str(abs(n))\n val_n=len(str_n)-len(str_n.rstrip('0'))\n return None if val_n <-e else n //10 **-e\n \ndef _sqrt_nearest(n,a):\n ''\n\n\n\n\n \n if n <=0 or a <=0:\n raise ValueError(\"Both arguments to _sqrt_nearest should be positive.\")\n \n b=0\n while a !=b:\n b,a=a,a --n //a >>1\n return a\n \ndef _rshift_nearest(x,shift):\n ''\n\n\n \n b,q=1 <>shift\n return q+(2 *(x&(b -1))+(q&1)>b)\n \ndef _div_nearest(a,b):\n ''\n\n\n \n q,r=divmod(a,b)\n return q+(2 *r+(q&1)>b)\n \ndef _ilog(x,M,L=8):\n ''\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n y=x -M\n \n R=0\n while(R <=L and abs(y)<=M or\n R >L and abs(y)>>R -L >=M):\n y=_div_nearest((M *y)<<1,\n M+_sqrt_nearest(M *(M+_rshift_nearest(y,R)),M))\n R +=1\n \n \n T=-int(-10 *len(str(M))//(3 *L))\n yshift=_rshift_nearest(y,R)\n w=_div_nearest(M,T)\n for k in range(T -1,0,-1):\n w=_div_nearest(M,k)-_div_nearest(yshift *w,M)\n \n return _div_nearest(w *y,M)\n \ndef _dlog10(c,e,p):\n ''\n\n \n \n \n \n p +=2\n \n \n \n \n \n l=len(str(c))\n f=e+l -(e+l >=1)\n \n if p >0:\n M=10 **p\n k=e+p -f\n if k >=0:\n c *=10 **k\n else:\n c=_div_nearest(c,10 **-k)\n \n log_d=_ilog(c,M)\n log_10=_log10_digits(p)\n log_d=_div_nearest(log_d *M,log_10)\n log_tenpower=f *M\n else:\n log_d=0\n log_tenpower=_div_nearest(f,10 **-p)\n \n return _div_nearest(log_tenpower+log_d,100)\n \ndef _dlog(c,e,p):\n ''\n\n \n \n \n \n p +=2\n \n \n \n \n l=len(str(c))\n f=e+l -(e+l >=1)\n \n \n if p >0:\n k=e+p -f\n if k >=0:\n c *=10 **k\n else:\n c=_div_nearest(c,10 **-k)\n \n \n log_d=_ilog(c,10 **p)\n else:\n \n log_d=0\n \n \n if f:\n extra=len(str(abs(f)))-1\n if p+extra >=0:\n \n \n f_log_ten=_div_nearest(f *_log10_digits(p+extra),10 **extra)\n else:\n f_log_ten=0\n else:\n f_log_ten=0\n \n \n return _div_nearest(f_log_ten+log_d,100)\n \nclass _Log10Memoize(object):\n ''\n\n \n def __init__(self):\n self.digits=\"23025850929940456840179914546843642076011014886\"\n \n def getdigits(self,p):\n ''\n\n\n \n \n \n \n \n if p <0:\n raise ValueError(\"p should be nonnegative\")\n \n if p >=len(self.digits):\n \n \n extra=3\n while True:\n \n M=10 **(p+extra+2)\n digits=str(_div_nearest(_ilog(10 *M,M),100))\n if digits[-extra:]!='0'*extra:\n break\n extra +=3\n \n \n self.digits=digits.rstrip('0')[:-1]\n return int(self.digits[:p+1])\n \n_log10_digits=_Log10Memoize().getdigits\n\ndef _iexp(x,M,L=8):\n ''\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n R=_nbits((x <=0:\n cshift=c *10 **shift\n else:\n cshift=c //10 **-shift\n quot,rem=divmod(cshift,_log10_digits(q))\n \n \n rem=_div_nearest(rem,10 **extra)\n \n \n return _div_nearest(_iexp(rem,10 **p),1000),quot -p+3\n \ndef _dpower(xc,xe,yc,ye,p):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n b=len(str(abs(yc)))+ye\n \n \n lxc=_dlog(xc,xe,p+b+1)\n \n \n shift=ye -b\n if shift >=0:\n pc=lxc *yc *10 **shift\n else:\n pc=_div_nearest(lxc *yc,10 **-shift)\n \n if pc ==0:\n \n \n if((len(str(xc))+xe >=1)==(yc >0)):\n coeff,exp=10 **(p -1)+1,1 -p\n else:\n coeff,exp=10 **p -1,-p\n else:\n coeff,exp=_dexp(pc,-(p+1),p+1)\n coeff=_div_nearest(coeff,10)\n exp +=1\n \n return coeff,exp\n \ndef _log10_lb(c,correction={\n'1':100,'2':70,'3':53,'4':40,'5':31,\n'6':23,'7':16,'8':10,'9':5}):\n ''\n if c <=0:\n raise ValueError(\"The argument to _log10_lb should be nonnegative.\")\n str_c=str(c)\n return 100 *len(str_c)-correction[str_c[0]]\n \n \n \ndef _convert_other(other,raiseit=False,allow_float=False):\n ''\n\n\n\n\n\n \n if isinstance(other,Decimal):\n return other\n if isinstance(other,int):\n return Decimal(other)\n if allow_float and isinstance(other,float):\n return Decimal.from_float(other)\n \n if raiseit:\n raise TypeError(\"Unable to convert %s to Decimal\"%other)\n return NotImplemented\n \ndef _convert_for_comparison(self,other,equality_op=False):\n ''\n\n\n\n\n \n if isinstance(other,Decimal):\n return self,other\n \n \n \n \n \n if isinstance(other,_numbers.Rational):\n if not self._is_special:\n self=_dec_from_triple(self._sign,\n str(int(self._int)*other.denominator),\n self._exp)\n return self,Decimal(other.numerator)\n \n \n \n \n if equality_op and isinstance(other,_numbers.Complex)and other.imag ==0:\n other=other.real\n if isinstance(other,float):\n context=getcontext()\n if equality_op:\n context.flags[FloatOperation]=1\n else:\n context._raise_error(FloatOperation,\n \"strict semantics for mixing floats and Decimals are enabled\")\n return self,Decimal.from_float(other)\n return NotImplemented,NotImplemented\n \n \n \n \n \n \n \nDefaultContext=Context(\nprec=28,rounding=ROUND_HALF_EVEN,\ntraps=[DivisionByZero,Overflow,InvalidOperation],\nflags=[],\nEmax=999999,\nEmin=-999999,\ncapitals=1,\nclamp=0\n)\n\n\n\n\n\n\nBasicContext=Context(\nprec=9,rounding=ROUND_HALF_UP,\ntraps=[DivisionByZero,Overflow,InvalidOperation,Clamped,Underflow],\nflags=[],\n)\n\nExtendedContext=Context(\nprec=9,rounding=ROUND_HALF_EVEN,\ntraps=[],\nflags=[],\n)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport re\n_parser=re.compile(r\"\"\" # A numeric string consists of:\n# \\s*\n (?P[-+])? # an optional sign, followed by either...\n (\n (?=\\d|\\.\\d) # ...a number (with at least one digit)\n (?P\\d*) # having a (possibly empty) integer part\n (\\.(?P\\d*))? # followed by an optional fractional part\n (E(?P[-+]?\\d+))? # followed by an optional exponent, or...\n |\n Inf(inity)? # ...an infinity, or...\n |\n (?Ps)? # ...an (optionally signaling)\n NaN # NaN\n (?P\\d*) # with (possibly empty) diagnostic info.\n )\n# \\s*\n \\Z\n\"\"\",re.VERBOSE |re.IGNORECASE).match\n\n_all_zeros=re.compile('0*$').match\n_exact_half=re.compile('50*$').match\n\n\n\n\n\n\n\n\n\n\n_parse_format_specifier_regex=re.compile(r\"\"\"\\A\n(?:\n (?P.)?\n (?P[<>=^])\n)?\n(?P[-+ ])?\n(?Pz)?\n(?P\\#)?\n(?P0)?\n(?P(?!0)\\d+)?\n(?P,)?\n(?:\\.(?P0|(?!0)\\d+))?\n(?P[eEfFgGn%])?\n\\Z\n\"\"\",re.VERBOSE |re.DOTALL)\n\ndel re\n\n\n\n\ntry:\n import locale as _locale\nexcept ImportError:\n pass\n \ndef _parse_format_specifier(format_spec,_localeconv=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n m=_parse_format_specifier_regex.match(format_spec)\n if m is None:\n raise ValueError(\"Invalid format specifier: \"+format_spec)\n \n \n format_dict=m.groupdict()\n \n \n \n fill=format_dict['fill']\n align=format_dict['align']\n format_dict['zeropad']=(format_dict['zeropad']is not None)\n if format_dict['zeropad']:\n if fill is not None:\n raise ValueError(\"Fill character conflicts with '0'\"\n \" in format specifier: \"+format_spec)\n if align is not None:\n raise ValueError(\"Alignment conflicts with '0' in \"\n \"format specifier: \"+format_spec)\n format_dict['fill']=fill or ' '\n \n \n \n format_dict['align']=align or '>'\n \n \n if format_dict['sign']is None:\n format_dict['sign']='-'\n \n \n format_dict['minimumwidth']=int(format_dict['minimumwidth']or '0')\n if format_dict['precision']is not None:\n format_dict['precision']=int(format_dict['precision'])\n \n \n \n if format_dict['precision']==0:\n if format_dict['type']is None or format_dict['type']in 'gGn':\n format_dict['precision']=1\n \n \n \n if format_dict['type']=='n':\n \n format_dict['type']='g'\n if _localeconv is None:\n _localeconv=_locale.localeconv()\n if format_dict['thousands_sep']is not None:\n raise ValueError(\"Explicit thousands separator conflicts with \"\n \"'n' type in format specifier: \"+format_spec)\n format_dict['thousands_sep']=_localeconv['thousands_sep']\n format_dict['grouping']=_localeconv['grouping']\n format_dict['decimal_point']=_localeconv['decimal_point']\n else:\n if format_dict['thousands_sep']is None:\n format_dict['thousands_sep']=''\n format_dict['grouping']=[3,0]\n format_dict['decimal_point']='.'\n \n return format_dict\n \ndef _format_align(sign,body,spec):\n ''\n\n\n\n\n \n \n minimumwidth=spec['minimumwidth']\n fill=spec['fill']\n padding=fill *(minimumwidth -len(sign)-len(body))\n \n align=spec['align']\n if align =='<':\n result=sign+body+padding\n elif align =='>':\n result=padding+sign+body\n elif align =='=':\n result=sign+padding+body\n elif align =='^':\n half=len(padding)//2\n result=padding[:half]+sign+body+padding[half:]\n else:\n raise ValueError('Unrecognised alignment field')\n \n return result\n \ndef _group_lengths(grouping):\n ''\n\n\n \n \n \n \n \n \n \n \n \n from itertools import chain,repeat\n if not grouping:\n return[]\n elif grouping[-1]==0 and len(grouping)>=2:\n return chain(grouping[:-1],repeat(grouping[-2]))\n elif grouping[-1]==_locale.CHAR_MAX:\n return grouping[:-1]\n else:\n raise ValueError('unrecognised format for grouping')\n \ndef _insert_thousands_sep(digits,spec,min_width=1):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n sep=spec['thousands_sep']\n grouping=spec['grouping']\n \n groups=[]\n for l in _group_lengths(grouping):\n if l <=0:\n raise ValueError(\"group length should be positive\")\n \n l=min(max(len(digits),min_width,1),l)\n groups.append('0'*(l -len(digits))+digits[-l:])\n digits=digits[:-l]\n min_width -=l\n if not digits and min_width <=0:\n break\n min_width -=len(sep)\n else:\n l=max(len(digits),min_width,1)\n groups.append('0'*(l -len(digits))+digits[-l:])\n return sep.join(reversed(groups))\n \ndef _format_sign(is_negative,spec):\n ''\n \n if is_negative:\n return '-'\n elif spec['sign']in ' +':\n return spec['sign']\n else:\n return ''\n \ndef _format_number(is_negative,intpart,fracpart,exp,spec):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n sign=_format_sign(is_negative,spec)\n \n if fracpart or spec['alt']:\n fracpart=spec['decimal_point']+fracpart\n \n if exp !=0 or spec['type']in 'eE':\n echar={'E':'E','e':'e','G':'E','g':'e'}[spec['type']]\n fracpart +=\"{0}{1:+}\".format(echar,exp)\n if spec['type']=='%':\n fracpart +='%'\n \n if spec['zeropad']:\n min_width=spec['minimumwidth']-len(fracpart)-len(sign)\n else:\n min_width=0\n intpart=_insert_thousands_sep(intpart,spec,min_width)\n \n return _format_align(sign,intpart+fracpart,spec)\n \n \n \n \n \n_Infinity=Decimal('Inf')\n_NegativeInfinity=Decimal('-Inf')\n_NaN=Decimal('NaN')\n_Zero=Decimal(0)\n_One=Decimal(1)\n_NegativeOne=Decimal(-1)\n\n\n_SignedInfinity=(_Infinity,_NegativeInfinity)\n\n\n\n_PyHASH_MODULUS=sys.hash_info.modulus\n\n_PyHASH_INF=sys.hash_info.inf\n_PyHASH_NAN=sys.hash_info.nan\n\n\n_PyHASH_10INV=pow(10,_PyHASH_MODULUS -2,_PyHASH_MODULUS)\ndel sys\n",["collections","contextvars","itertools","locale","math","numbers","re","sys"]],_py_abc:[".py","from _weakrefset import WeakSet\n\n\ndef get_cache_token():\n ''\n\n\n\n\n \n return ABCMeta._abc_invalidation_counter\n \n \nclass ABCMeta(type):\n ''\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n _abc_invalidation_counter=0\n \n def __new__(mcls,name,bases,namespace,/,**kwargs):\n cls=super().__new__(mcls,name,bases,namespace,**kwargs)\n \n abstracts={name\n for name,value in namespace.items()\n if getattr(value,\"__isabstractmethod__\",False)}\n for base in bases:\n for name in getattr(base,\"__abstractmethods__\",set()):\n value=getattr(cls,name,None)\n if getattr(value,\"__isabstractmethod__\",False):\n abstracts.add(name)\n cls.__abstractmethods__=frozenset(abstracts)\n \n cls._abc_registry=WeakSet()\n cls._abc_cache=WeakSet()\n cls._abc_negative_cache=WeakSet()\n cls._abc_negative_cache_version=ABCMeta._abc_invalidation_counter\n return cls\n \n def register(cls,subclass):\n ''\n\n\n \n if not isinstance(subclass,type):\n raise TypeError(\"Can only register classes\")\n if issubclass(subclass,cls):\n return subclass\n \n \n if issubclass(cls,subclass):\n \n raise RuntimeError(\"Refusing to create an inheritance cycle\")\n cls._abc_registry.add(subclass)\n ABCMeta._abc_invalidation_counter +=1\n return subclass\n \n def _dump_registry(cls,file=None):\n ''\n print(f\"Class: {cls.__module__}.{cls.__qualname__}\",file=file)\n print(f\"Inv. counter: {get_cache_token()}\",file=file)\n for name in cls.__dict__:\n if name.startswith(\"_abc_\"):\n value=getattr(cls,name)\n if isinstance(value,WeakSet):\n value=set(value)\n print(f\"{name}: {value !r}\",file=file)\n \n def _abc_registry_clear(cls):\n ''\n cls._abc_registry.clear()\n \n def _abc_caches_clear(cls):\n ''\n cls._abc_cache.clear()\n cls._abc_negative_cache.clear()\n \n def __instancecheck__(cls,instance):\n ''\n \n subclass=instance.__class__\n if subclass in cls._abc_cache:\n return True\n subtype=type(instance)\n if subtype is subclass:\n if(cls._abc_negative_cache_version ==\n ABCMeta._abc_invalidation_counter and\n subclass in cls._abc_negative_cache):\n return False\n \n return cls.__subclasscheck__(subclass)\n return any(cls.__subclasscheck__(c)for c in(subclass,subtype))\n \n def __subclasscheck__(cls,subclass):\n ''\n if not isinstance(subclass,type):\n raise TypeError('issubclass() arg 1 must be a class')\n \n if subclass in cls._abc_cache:\n return True\n \n if cls._abc_negative_cache_version '\n\nEAI_AGAIN=11002\n\nEAI_BADFLAGS=10022\n\nEAI_FAIL=11003\n\nEAI_FAMILY=10047\n\nEAI_MEMORY=8\n\nEAI_NODATA=11001\n\nEAI_NONAME=11001\n\nEAI_SERVICE=10109\n\nEAI_SOCKTYPE=10044\n\nINADDR_ALLHOSTS_GROUP=-536870911\n\nINADDR_ANY=0\n\nINADDR_BROADCAST=-1\n\nINADDR_LOOPBACK=2130706433\n\nINADDR_MAX_LOCAL_GROUP=-536870657\n\nINADDR_NONE=-1\n\nINADDR_UNSPEC_GROUP=-536870912\n\nIPPORT_RESERVED=1024\n\nIPPORT_USERRESERVED=5000\n\nIPPROTO_ICMP=1\n\nIPPROTO_IP=0\n\nIPPROTO_RAW=255\n\nIPPROTO_TCP=6\n\nIPPROTO_UDP=17\n\nIPV6_CHECKSUM=26\n\nIPV6_DONTFRAG=14\n\nIPV6_HOPLIMIT=21\n\nIPV6_HOPOPTS=1\n\nIPV6_JOIN_GROUP=12\n\nIPV6_LEAVE_GROUP=13\n\nIPV6_MULTICAST_HOPS=10\n\nIPV6_MULTICAST_IF=9\n\nIPV6_MULTICAST_LOOP=11\n\nIPV6_PKTINFO=19\n\nIPV6_RECVRTHDR=38\n\nIPV6_RECVTCLASS=40\n\nIPV6_RTHDR=32\n\nIPV6_TCLASS=39\n\nIPV6_UNICAST_HOPS=4\n\nIPV6_V6ONLY=27\n\nIP_ADD_MEMBERSHIP=12\n\nIP_DROP_MEMBERSHIP=13\n\nIP_HDRINCL=2\n\nIP_MULTICAST_IF=9\n\nIP_MULTICAST_LOOP=11\n\nIP_MULTICAST_TTL=10\n\nIP_OPTIONS=1\n\nIP_RECVDSTADDR=25\n\nIP_TOS=3\n\nIP_TTL=4\n\nMSG_BCAST=1024\n\nMSG_CTRUNC=512\n\nMSG_DONTROUTE=4\n\nMSG_MCAST=2048\n\nMSG_OOB=1\n\nMSG_PEEK=2\n\nMSG_TRUNC=256\n\nNI_DGRAM=16\n\nNI_MAXHOST=1025\n\nNI_MAXSERV=32\n\nNI_NAMEREQD=4\n\nNI_NOFQDN=1\n\nNI_NUMERICHOST=2\n\nNI_NUMERICSERV=8\n\nRCVALL_MAX=3\n\nRCVALL_OFF=0\n\nRCVALL_ON=1\n\nRCVALL_SOCKETLEVELONLY=2\n\nSHUT_RD=0\n\nSHUT_RDWR=2\n\nSHUT_WR=1\n\nSIO_KEEPALIVE_VALS=2550136836\n\nSIO_RCVALL=2550136833\n\nSOCK_DGRAM=2\n\nSOCK_RAW=3\n\nSOCK_RDM=4\n\nSOCK_SEQPACKET=5\n\nSOCK_STREAM=1\n\nSOL_IP=0\n\nSOL_SOCKET=65535\n\nSOL_TCP=6\n\nSOL_UDP=17\n\nSOMAXCONN=2147483647\n\nSO_ACCEPTCONN=2\n\nSO_BROADCAST=32\n\nSO_DEBUG=1\n\nSO_DONTROUTE=16\n\nSO_ERROR=4103\n\nSO_EXCLUSIVEADDRUSE=-5\n\nSO_KEEPALIVE=8\n\nSO_LINGER=128\n\nSO_OOBINLINE=256\n\nSO_RCVBUF=4098\n\nSO_RCVLOWAT=4100\n\nSO_RCVTIMEO=4102\n\nSO_REUSEADDR=4\n\nSO_SNDBUF=4097\n\nSO_SNDLOWAT=4099\n\nSO_SNDTIMEO=4101\n\nSO_TYPE=4104\n\nSO_USELOOPBACK=64\n\nclass SocketType:\n pass\n \nTCP_MAXSEG=4\n\nTCP_NODELAY=1\n\n__loader__='<_frozen_importlib.ExtensionFileLoader object at 0x00CA2D90>'\n\ndef dup(*args,**kw):\n ''\n\n \n pass\n \nclass error:\n pass\n \nclass gaierror:\n pass\n \ndef getaddrinfo(*args,**kw):\n ''\n\n \n pass\n \ndef getdefaulttimeout(*args,**kw):\n ''\n\n\n \n pass\n \ndef gethostbyaddr(*args,**kw):\n ''\n\n \n pass\n \ndef gethostbyname(*args,**kw):\n ''\n \n pass\n \ndef gethostbyname_ex(*args,**kw):\n ''\n\n \n pass\n \ndef gethostname(*args,**kw):\n ''\n \n import browser\n return browser.window.navigator.userAgent\n \ndef getnameinfo(*args,**kw):\n ''\n \n pass\n \ndef getprotobyname(*args,**kw):\n ''\n \n pass\n \ndef getservbyname(*args,**kw):\n ''\n\n\n \n pass\n \ndef getservbyport(*args,**kw):\n ''\n\n\n \n pass\n \nhas_ipv6=True\n\nclass herror:\n pass\n \ndef htonl(*args,**kw):\n ''\n \n pass\n \ndef htons(*args,**kw):\n ''\n \n pass\n \ndef inet_aton(*args,**kw):\n ''\n\n \n pass\n \ndef inet_ntoa(*args,**kw):\n ''\n \n pass\n \ndef ntohl(*args,**kw):\n ''\n \n pass\n \ndef ntohs(*args,**kw):\n ''\n \n pass\n \ndef setdefaulttimeout(*args,**kw):\n ''\n\n\n \n pass\n \nclass socket:\n def __init__(self,*args,**kw):\n pass\n def bind(self,*args,**kw):\n pass\n def close(self):\n pass\n \nclass timeout:\n pass\n",["browser"]],_struct:[".py","\n\n\n\n\n\n\n\n\n\n\n\"\"\"Functions to convert between Python values and C structs.\nPython strings are used to hold the data representing the C struct\nand also as format strings to describe the layout of data in the C struct.\n\nThe optional first format char indicates byte order, size and alignment:\n @: native order, size & alignment (default)\n =: native order, std. size & alignment\n <: little-endian, std. size & alignment\n >: big-endian, std. size & alignment\n !: same as >\n\nThe remaining chars indicate types of args and must match exactly;\nthese can be preceded by a decimal repeat count:\n x: pad byte (no data);\n c:char;\n b:signed byte;\n B:unsigned byte;\n h:short;\n H:unsigned short;\n i:int;\n I:unsigned int;\n l:long;\n L:unsigned long;\n f:float;\n d:double.\nSpecial cases (preceding decimal count indicates length):\n s:string (array of char); p: pascal string (with count byte).\nSpecial case (only available in native format):\n P:an integer type that is wide enough to hold a pointer.\nSpecial case (not in native mode unless 'long long' in platform C):\n q:long long;\n Q:unsigned long long\nWhitespace between formats is ignored.\n\nThe variable struct.error is an exception raised on errors.\"\"\"\n\nimport math\nimport re\nimport sys\n\n\nclass StructError(Exception):\n pass\n \n \nerror=StructError\n\ndef _normalize(fmt):\n ''\n \n if re.search(r\"\\d\\s+\",fmt):\n raise StructError(\"bad char in struct format\")\n return fmt.replace(\" \",\"\")\n \ndef unpack_int(data,index,size,le):\n bytes=[b for b in data[index:index+size]]\n if le =='little':\n bytes.reverse()\n number=0\n for b in bytes:\n number=number <<8 |b\n return int(number)\n \ndef unpack_signed_int(data,index,size,le):\n number=unpack_int(data,index,size,le)\n max=2 **(size *8)\n if number >2 **(size *8 -1)-1:\n number=int(-1 *(max -number))\n return number\n \nINFINITY=1e200 *1e200\nNAN=INFINITY /INFINITY\n\nBIG_ENDIAN=0\nLITTLE_ENDIAN=1\n\ndef unpack_char(data,index,size,le):\n return data[index:index+size]\n \ndef pack_int(number,size,le):\n x=number\n res=[]\n for i in range(size):\n res.append(x&0xff)\n x >>=8\n if le =='big':\n res.reverse()\n return bytes(res)\n \ndef pack_signed_int(number,size,le):\n if not isinstance(number,int):\n raise StructError(\"argument for i,I,l,L,q,Q,h,H must be integer\")\n if number >2 **(8 *size -1)-1 or number <-1 *2 **(8 *size -1):\n raise OverflowError(\"Number:%i too large to convert\"%number)\n return pack_int(number,size,le)\n \ndef pack_unsigned_int(number,size,le):\n if not isinstance(number,int):\n raise StructError(\"argument for i,I,l,L,q,Q,h,H must be integer\")\n if number <0:\n raise TypeError(\"can't convert negative long to unsigned\")\n if number >2 **(8 *size)-1:\n raise OverflowError(\"Number:%i too large to convert\"%number)\n return pack_int(number,size,le)\n \ndef pack_char(char,size,le):\n return bytes(char)\n \ndef isinf(x):\n return x !=0.0 and x /2 ==x\n \ndef isnan(v):\n return v !=v *1.0 or(v ==1.0 and v ==2.0)\n \ndef pack_float(x,size,le):\n unsigned=float_pack(x,size)\n result=[]\n for i in range(size):\n result.append((unsigned >>(i *8))&0xFF)\n if le ==\"big\":\n result.reverse()\n return bytes(result)\n \ndef unpack_float(data,index,size,le):\n binary=[data[i]for i in range(index,index+size)]\n if le ==\"big\":\n binary.reverse()\n unsigned=0\n for i in range(size):\n unsigned |=binary[i]<<(i *8)\n return float_unpack(unsigned,size,le)\n \ndef round_to_nearest(x):\n ''\n\n\n\n\n\n\n\n\n \n int_part=int(x)\n frac_part=x -int_part\n if frac_part >0.5 or frac_part ==0.5 and int_part&1 ==1:\n int_part +=1\n return int_part\n \ndef float_unpack(Q,size,order=LITTLE_ENDIAN):\n ''\n \n \n if size ==8:\n MIN_EXP=-1021\n MAX_EXP=1024\n MANT_DIG=53\n BITS=64\n elif size ==4:\n MIN_EXP=-125\n MAX_EXP=128\n MANT_DIG=24\n BITS=32\n else:\n raise ValueError(\"invalid size value\")\n \n if Q >>BITS:\n raise ValueError(\"input out of range\")\n \n \n sign=Q >>BITS -1\n exp=(Q&((1 <>MANT_DIG -1\n mant=Q&((1 <0:\n \n mant=round_to_nearest(m *(1 <=0:\n mant=round_to_nearest(m *(1 <=MAX_EXP -MIN_EXP+2:\n raise OverflowError(\"float too large to pack in this format\")\n \n \n assert 0 <=mant <1 <':(default,'big'),\n'!':(default,'big'),\n'=':(default,sys.byteorder),\n'@':(default,sys.byteorder)\n}\n\ndef _getmode(fmt):\n try:\n formatdef,endianness=formatmode[fmt[0]]\n alignment=fmt[0]not in formatmode or fmt[0]=='@'\n index=1\n except(IndexError,KeyError):\n formatdef,endianness=formatmode['@']\n alignment=True\n index=0\n return formatdef,endianness,index,alignment\n \ndef _getnum(fmt,i):\n num=None\n cur=fmt[i]\n while('0'<=cur)and(cur <='9'):\n if num ==None:\n num=int(cur)\n else:\n num=10 *num+int(cur)\n i +=1\n cur=fmt[i]\n return num,i\n \ndef calcsize(fmt):\n ''\n\n \n if isinstance(fmt,bytes):\n fmt=fmt.decode(\"ascii\")\n \n fmt=_normalize(fmt)\n \n formatdef,endianness,i,alignment=_getmode(fmt)\n num=0\n result=0\n while i 0:\n result +=[bytes([len(args[0])])+args[0][:num -1]+\n b'\\0'*padding]\n else:\n if num <255:\n result +=[bytes([num -1])+args[0][:num -1]]\n else:\n result +=[bytes([255])+args[0][:num -1]]\n args.pop(0)\n else:\n raise StructError(\"arg for string format not a string\")\n \n else:\n if len(args)=num:\n n=num -1\n result.append(data[j+1:j+n+1])\n j +=num\n else:\n \n if j >0 and alignment:\n padding=format['size']-j %format['size']\n j +=padding\n for n in range(num):\n result +=[format['unpack'](data,j,format['size'],\n endianness)]\n j +=format['size']\n \n return tuple(result)\n \ndef pack_into(fmt,buf,offset,*args):\n data=pack(fmt,*args)\n buf[offset:offset+len(data)]=data\n \ndef unpack_from(fmt,buf,offset=0):\n size=calcsize(fmt)\n data=buf[offset:offset+size]\n if len(data)!=size:\n raise error(\"unpack_from requires a buffer of at least %d bytes\"\n %(size,))\n return unpack(fmt,data)\n \ndef _clearcache():\n ''\n \n \nclass Struct:\n\n def __init__(self,fmt):\n self.format=fmt\n \n def pack(self,*args):\n return pack(self.format,*args)\n \n def pack_into(self,*args):\n return pack_into(self.format,*args)\n \n def unpack(self,*args):\n return unpack(self.format,*args)\n \n def unpack_from(self,*args):\n return unpack_from(self.format,*args)\n \nif __name__ =='__main__':\n t=pack('Bf',1,2)\n print(t,len(t))\n print(unpack('Bf',t))\n print(calcsize('Bf'))\n \n",["math","re","sys"]],_sysconfigdata:[".py","build_time_vars={'HAVE_SYS_WAIT_H':1,'HAVE_UTIL_H':0,'HAVE_SYMLINKAT':1,'HAVE_LIBSENDFILE':0,'SRCDIRS':'Parser Grammar Objects Python Modules Mac','SIZEOF_OFF_T':8,'BASECFLAGS':'-Wno-unused-result','HAVE_UTIME_H':1,'EXTRAMACHDEPPATH':'','HAVE_SYS_TIME_H':1,'CFLAGSFORSHARED':'-fPIC','HAVE_HYPOT':1,'PGSRCS':'\\\\','HAVE_LIBUTIL_H':0,'HAVE_COMPUTED_GOTOS':1,'HAVE_LUTIMES':1,'HAVE_MAKEDEV':1,'HAVE_REALPATH':1,'HAVE_LINUX_TIPC_H':1,'MULTIARCH':'i386-linux-gnu','HAVE_GETWD':1,'HAVE_GCC_ASM_FOR_X64':0,'HAVE_INET_PTON':1,'HAVE_GETHOSTBYNAME_R_6_ARG':1,'SIZEOF__BOOL':1,'HAVE_ZLIB_COPY':1,'ASDLGEN':'python3.3 ../Parser/asdl_c.py','GRAMMAR_INPUT':'../Grammar/Grammar','HOST_GNU_TYPE':'i686-pc-linux-gnu','HAVE_SCHED_RR_GET_INTERVAL':1,'HAVE_BLUETOOTH_H':0,'HAVE_MKFIFO':1,'TIMEMODULE_LIB':0,'LIBM':'-lm','PGENOBJS':'\\\\ \\\\','PYTHONFRAMEWORK':'','GETPGRP_HAVE_ARG':0,'HAVE_MMAP':1,'SHLIB_SUFFIX':'.so','SIZEOF_FLOAT':4,'HAVE_RENAMEAT':1,'HAVE_LANGINFO_H':1,'HAVE_STDLIB_H':1,'PY_CORE_CFLAGS':'-Wno-unused-result -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -I. -IInclude -I../Include -D_FORTIFY_SOURCE=2 -fPIC -DPy_BUILD_CORE','HAVE_BROKEN_PIPE_BUF':0,'HAVE_CONFSTR':1,'HAVE_SIGTIMEDWAIT':1,'HAVE_FTELLO':1,'READELF':'readelf','HAVE_SIGALTSTACK':1,'TESTTIMEOUT':3600,'PYTHONPATH':':plat-i386-linux-gnu','SIZEOF_WCHAR_T':4,'LIBOBJS':'','HAVE_SYSCONF':1,'MAKESETUP':'../Modules/makesetup','HAVE_UTIMENSAT':1,'HAVE_FCHOWNAT':1,'HAVE_WORKING_TZSET':1,'HAVE_FINITE':1,'HAVE_ASINH':1,'HAVE_SETEUID':1,'CONFIGFILES':'configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in','HAVE_SETGROUPS':1,'PARSER_OBJS':'\\\\ Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o','HAVE_MBRTOWC':1,'SIZEOF_INT':4,'HAVE_STDARG_PROTOTYPES':1,'TM_IN_SYS_TIME':0,'HAVE_SYS_TIMES_H':1,'HAVE_LCHOWN':1,'HAVE_SSIZE_T':1,'HAVE_PAUSE':1,'SYSLIBS':'-lm','POSIX_SEMAPHORES_NOT_ENABLED':0,'HAVE_DEVICE_MACROS':1,'BLDSHARED':'i686-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wno-unused-result -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ','LIBSUBDIRS':'tkinter tkinter/test tkinter/test/test_tkinter \\\\','HAVE_SYS_UN_H':1,'HAVE_SYS_STAT_H':1,'VPATH':'..','INCLDIRSTOMAKE':'/usr/include /usr/include /usr/include/python3.3m /usr/include/python3.3m','HAVE_BROKEN_SEM_GETVALUE':0,'HAVE_TIMEGM':1,'PACKAGE_VERSION':0,'MAJOR_IN_SYSMACROS':0,'HAVE_ATANH':1,'HAVE_GAI_STRERROR':1,'HAVE_SYS_POLL_H':1,'SIZEOF_PTHREAD_T':4,'SIZEOF_FPOS_T':16,'HAVE_CTERMID':1,'HAVE_TMPFILE':1,'HAVE_SETUID':1,'CXX':'i686-linux-gnu-g++ -pthread','srcdir':'..','HAVE_UINT32_T':1,'HAVE_ADDRINFO':1,'HAVE_GETSPENT':1,'SIZEOF_DOUBLE':8,'HAVE_INT32_T':1,'LIBRARY_OBJS_OMIT_FROZEN':'\\\\','HAVE_FUTIMES':1,'CONFINCLUDEPY':'/usr/include/python3.3m','HAVE_RL_COMPLETION_APPEND_CHARACTER':1,'LIBFFI_INCLUDEDIR':'','HAVE_SETGID':1,'HAVE_UINT64_T':1,'EXEMODE':755,'UNIVERSALSDK':'','HAVE_LIBDL':1,'HAVE_GETNAMEINFO':1,'HAVE_STDINT_H':1,'COREPYTHONPATH':':plat-i386-linux-gnu','HAVE_SOCKADDR_STORAGE':1,'HAVE_WAITID':1,'EXTRAPLATDIR':'@EXTRAPLATDIR@','HAVE_ACCEPT4':1,'RUNSHARED':'LD_LIBRARY_PATH=/build/buildd/python3.3-3.3.1/build-shared:','EXE':'','HAVE_SIGACTION':1,'HAVE_CHOWN':1,'HAVE_GETLOGIN':1,'HAVE_TZNAME':0,'PACKAGE_NAME':0,'HAVE_GETPGID':1,'HAVE_GLIBC_MEMMOVE_BUG':0,'BUILD_GNU_TYPE':'i686-pc-linux-gnu','HAVE_LINUX_CAN_H':1,'DYNLOADFILE':'dynload_shlib.o','HAVE_PWRITE':1,'BUILDEXE':'','HAVE_OPENPTY':1,'HAVE_LOCKF':1,'HAVE_COPYSIGN':1,'HAVE_PREAD':1,'HAVE_DLOPEN':1,'HAVE_SYS_KERN_CONTROL_H':0,'PY_FORMAT_LONG_LONG':'\"ll\"','HAVE_TCSETPGRP':1,'HAVE_SETSID':1,'HAVE_STRUCT_STAT_ST_BIRTHTIME':0,'HAVE_STRING_H':1,'LDLIBRARY':'libpython3.3m.so','INSTALL_SCRIPT':'/usr/bin/install -c','HAVE_SYS_XATTR_H':1,'HAVE_CURSES_IS_TERM_RESIZED':1,'HAVE_TMPNAM_R':1,'STRICT_SYSV_CURSES':\"/* Don't use ncurses extensions */\",'WANT_SIGFPE_HANDLER':1,'HAVE_INT64_T':1,'HAVE_STAT_TV_NSEC':1,'HAVE_SYS_MKDEV_H':0,'HAVE_BROKEN_POLL':0,'HAVE_IF_NAMEINDEX':1,'HAVE_GETPWENT':1,'PSRCS':'\\\\','RANLIB':'ranlib','HAVE_WCSCOLL':1,'WITH_NEXT_FRAMEWORK':0,'ASDLGEN_FILES':'../Parser/asdl.py ../Parser/asdl_c.py','HAVE_RL_PRE_INPUT_HOOK':1,'PACKAGE_URL':0,'SHLIB_EXT':0,'HAVE_SYS_LOADAVG_H':0,'HAVE_LIBIEEE':0,'HAVE_SEM_OPEN':1,'HAVE_TERM_H':1,'IO_OBJS':'\\\\','IO_H':'Modules/_io/_iomodule.h','HAVE_STATVFS':1,'VERSION':'3.3','HAVE_GETC_UNLOCKED':1,'MACHDEPS':'plat-i386-linux-gnu @EXTRAPLATDIR@','SUBDIRSTOO':'Include Lib Misc','HAVE_SETREUID':1,'HAVE_ERFC':1,'HAVE_SETRESUID':1,'LINKFORSHARED':'-Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions','HAVE_SYS_TYPES_H':1,'HAVE_GETPAGESIZE':1,'HAVE_SETEGID':1,'HAVE_PTY_H':1,'HAVE_STRUCT_STAT_ST_FLAGS':0,'HAVE_WCHAR_H':1,'HAVE_FSEEKO':1,'Py_ENABLE_SHARED':1,'HAVE_SIGRELSE':1,'HAVE_PTHREAD_INIT':0,'FILEMODE':644,'HAVE_SYS_RESOURCE_H':1,'HAVE_READLINKAT':1,'PYLONG_BITS_IN_DIGIT':0,'LINKCC':'i686-linux-gnu-gcc -pthread','HAVE_SETLOCALE':1,'HAVE_CHROOT':1,'HAVE_OPENAT':1,'HAVE_FEXECVE':1,'LDCXXSHARED':'i686-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions','DIST':'README ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy','HAVE_MKNOD':1,'PY_LDFLAGS':'-Wl,-Bsymbolic-functions -Wl,-z,relro','HAVE_BROKEN_MBSTOWCS':0,'LIBRARY_OBJS':'\\\\','HAVE_LOG1P':1,'SIZEOF_VOID_P':4,'HAVE_FCHOWN':1,'PYTHONFRAMEWORKPREFIX':'','HAVE_LIBDLD':0,'HAVE_TGAMMA':1,'HAVE_ERRNO_H':1,'HAVE_IO_H':0,'OTHER_LIBTOOL_OPT':'','HAVE_POLL_H':1,'PY_CPPFLAGS':'-I. -IInclude -I../Include -D_FORTIFY_SOURCE=2','XMLLIBSUBDIRS':'xml xml/dom xml/etree xml/parsers xml/sax','GRAMMAR_H':'Include/graminit.h','TANH_PRESERVES_ZERO_SIGN':1,'HAVE_GETLOADAVG':1,'UNICODE_DEPS':'\\\\ \\\\','HAVE_GETCWD':1,'MANDIR':'/usr/share/man','MACHDESTLIB':'/usr/lib/python3.3','GRAMMAR_C':'Python/graminit.c','PGOBJS':'\\\\','HAVE_DEV_PTMX':1,'HAVE_UINTPTR_T':1,'HAVE_SCHED_SETAFFINITY':1,'PURIFY':'','HAVE_DECL_ISINF':1,'HAVE_RL_CALLBACK':1,'HAVE_WRITEV':1,'HAVE_GETHOSTBYNAME_R_5_ARG':0,'HAVE_SYS_AUDIOIO_H':0,'EXT_SUFFIX':'.cpython-33m.so','SIZEOF_LONG_LONG':8,'DLINCLDIR':'.','HAVE_PATHCONF':1,'HAVE_UNLINKAT':1,'MKDIR_P':'/bin/mkdir -p','HAVE_ALTZONE':0,'SCRIPTDIR':'/usr/lib','OPCODETARGETGEN_FILES':'\\\\','HAVE_GETSPNAM':1,'HAVE_SYS_TERMIO_H':0,'HAVE_ATTRIBUTE_FORMAT_PARSETUPLE':0,'HAVE_PTHREAD_H':1,'Py_DEBUG':0,'HAVE_STRUCT_STAT_ST_BLOCKS':1,'X87_DOUBLE_ROUNDING':1,'SIZEOF_TIME_T':4,'HAVE_DYNAMIC_LOADING':1,'HAVE_DIRECT_H':0,'SRC_GDB_HOOKS':'../Tools/gdb/libpython.py','HAVE_GETADDRINFO':1,'HAVE_BROKEN_NICE':0,'HAVE_DIRENT_H':1,'HAVE_WCSXFRM':1,'HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK':1,'HAVE_FSTATVFS':1,'PYTHON':'python','HAVE_OSX105_SDK':0,'BINDIR':'/usr/bin','TESTPYTHON':'LD_LIBRARY_PATH=/build/buildd/python3.3-3.3.1/build-shared: ./python','ARFLAGS':'rc','PLATDIR':'plat-i386-linux-gnu','HAVE_ASM_TYPES_H':1,'PY3LIBRARY':'libpython3.so','HAVE_PLOCK':0,'FLOCK_NEEDS_LIBBSD':0,'WITH_TSC':0,'HAVE_LIBREADLINE':1,'MACHDEP':'linux','HAVE_SELECT':1,'LDFLAGS':'-Wl,-Bsymbolic-functions -Wl,-z,relro','HAVE_HSTRERROR':1,'SOABI':'cpython-33m','HAVE_GETTIMEOFDAY':1,'HAVE_LIBRESOLV':0,'HAVE_UNSETENV':1,'HAVE_TM_ZONE':1,'HAVE_GETPGRP':1,'HAVE_FLOCK':1,'HAVE_SYS_BSDTTY_H':0,'SUBDIRS':'','PYTHONFRAMEWORKINSTALLDIR':'','PACKAGE_BUGREPORT':0,'HAVE_CLOCK':1,'HAVE_GETPEERNAME':1,'SIZEOF_PID_T':4,'HAVE_CONIO_H':0,'HAVE_FSTATAT':1,'HAVE_NETPACKET_PACKET_H':1,'HAVE_WAIT3':1,'DESTPATH':'','HAVE_STAT_TV_NSEC2':0,'HAVE_GETRESGID':1,'HAVE_UCS4_TCL':0,'SIGNED_RIGHT_SHIFT_ZERO_FILLS':0,'HAVE_TIMES':1,'HAVE_UNAME':1,'HAVE_ERF':1,'SIZEOF_SHORT':2,'HAVE_NCURSES_H':1,'HAVE_SYS_SENDFILE_H':1,'HAVE_CTERMID_R':0,'HAVE_TMPNAM':1,'prefix':'/usr','HAVE_NICE':1,'WITH_THREAD':1,'LN':'ln','TESTRUNNER':'LD_LIBRARY_PATH=/build/buildd/python3.3-3.3.1/build-shared: ./python ../Tools/scripts/run_tests.py','HAVE_SIGINTERRUPT':1,'HAVE_SETPGID':1,'RETSIGTYPE':'void','HAVE_SCHED_GET_PRIORITY_MAX':1,'HAVE_SYS_SYS_DOMAIN_H':0,'HAVE_SYS_DIR_H':0,'HAVE__GETPTY':0,'HAVE_BLUETOOTH_BLUETOOTH_H':1,'HAVE_BIND_TEXTDOMAIN_CODESET':1,'HAVE_POLL':1,'PYTHON_OBJS':'\\\\','HAVE_WAITPID':1,'USE_INLINE':1,'HAVE_FUTIMENS':1,'USE_COMPUTED_GOTOS':1,'MAINCC':'i686-linux-gnu-gcc -pthread','HAVE_SOCKETPAIR':1,'HAVE_PROCESS_H':0,'HAVE_SETVBUF':1,'HAVE_FDOPENDIR':1,'CONFINCLUDEDIR':'/usr/include','BINLIBDEST':'/usr/lib/python3.3','HAVE_SYS_IOCTL_H':1,'HAVE_SYSEXITS_H':1,'LDLAST':'','HAVE_SYS_FILE_H':1,'HAVE_RL_COMPLETION_SUPPRESS_APPEND':1,'HAVE_RL_COMPLETION_MATCHES':1,'HAVE_TCGETPGRP':1,'SIZEOF_SIZE_T':4,'HAVE_EPOLL_CREATE1':1,'HAVE_SYS_SELECT_H':1,'HAVE_CLOCK_GETTIME':1,'CFLAGS':'-Wno-unused-result -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ','HAVE_SNPRINTF':1,'BLDLIBRARY':'-lpython3.3m','PARSER_HEADERS':'\\\\','SO':'.so','LIBRARY':'libpython3.3m.a','HAVE_FPATHCONF':1,'HAVE_TERMIOS_H':1,'HAVE_BROKEN_PTHREAD_SIGMASK':0,'AST_H':'Include/Python-ast.h','HAVE_GCC_UINT128_T':0,'HAVE_ACOSH':1,'MODOBJS':'Modules/_threadmodule.o Modules/signalmodule.o Modules/arraymodule.o Modules/mathmodule.o Modules/_math.o Modules/_struct.o Modules/timemodule.o Modules/_randommodule.o Modules/atexitmodule.o Modules/_elementtree.o Modules/_pickle.o Modules/_datetimemodule.o Modules/_bisectmodule.o Modules/_heapqmodule.o Modules/unicodedata.o Modules/fcntlmodule.o Modules/spwdmodule.o Modules/grpmodule.o Modules/selectmodule.o Modules/socketmodule.o Modules/_posixsubprocess.o Modules/md5module.o Modules/sha1module.o Modules/sha256module.o Modules/sha512module.o Modules/syslogmodule.o Modules/binascii.o Modules/zlibmodule.o Modules/pyexpat.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/operator.o Modules/_collectionsmodule.o Modules/itertoolsmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/zipimport.o Modules/faulthandler.o Modules/symtablemodule.o Modules/xxsubtype.o','AST_C':'Python/Python-ast.c','HAVE_SYS_NDIR_H':0,'DESTDIRS':'/usr /usr/lib /usr/lib/python3.3 /usr/lib/python3.3/lib-dynload','HAVE_SIGNAL_H':1,'PACKAGE_TARNAME':0,'HAVE_GETPRIORITY':1,'INCLUDEDIR':'/usr/include','HAVE_INTTYPES_H':1,'SIGNAL_OBJS':'','HAVE_READV':1,'HAVE_SETHOSTNAME':1,'MODLIBS':'-lrt -lexpat -L/usr/lib -lz -lexpat','CC':'i686-linux-gnu-gcc -pthread','HAVE_LCHMOD':0,'SIZEOF_UINTPTR_T':4,'LIBPC':'/usr/lib/i386-linux-gnu/pkgconfig','BYTESTR_DEPS':'\\\\','HAVE_MKDIRAT':1,'LIBPL':'/usr/lib/python3.3/config-3.3m-i386-linux-gnu','HAVE_SHADOW_H':1,'HAVE_SYS_EVENT_H':0,'INSTALL':'/usr/bin/install -c','HAVE_GCC_ASM_FOR_X87':1,'HAVE_BROKEN_UNSETENV':0,'BASECPPFLAGS':'','DOUBLE_IS_BIG_ENDIAN_IEEE754':0,'HAVE_STRUCT_STAT_ST_RDEV':1,'HAVE_SEM_UNLINK':1,'BUILDPYTHON':'python','HAVE_RL_CATCH_SIGNAL':1,'HAVE_DECL_TZNAME':0,'RESSRCDIR':'Mac/Resources/framework','HAVE_PTHREAD_SIGMASK':1,'HAVE_UTIMES':1,'DISTDIRS':'Include Lib Misc Ext-dummy','HAVE_FDATASYNC':1,'HAVE_USABLE_WCHAR_T':0,'PY_FORMAT_SIZE_T':'\"z\"','HAVE_SCHED_SETSCHEDULER':1,'VA_LIST_IS_ARRAY':0,'HAVE_LINUX_NETLINK_H':1,'HAVE_SETREGID':1,'HAVE_STROPTS_H':1,'LDVERSION':'3.3m','abs_builddir':'/build/buildd/python3.3-3.3.1/build-shared','SITEPATH':'','HAVE_GETHOSTBYNAME':0,'HAVE_SIGPENDING':1,'HAVE_KQUEUE':0,'HAVE_SYNC':1,'HAVE_GETSID':1,'HAVE_ROUND':1,'HAVE_STRFTIME':1,'AST_H_DIR':'Include','HAVE_PIPE2':1,'AST_C_DIR':'Python','TESTPYTHONOPTS':'','HAVE_DEV_PTC':0,'GETTIMEOFDAY_NO_TZ':0,'HAVE_NET_IF_H':1,'HAVE_SENDFILE':1,'HAVE_SETPGRP':1,'HAVE_SEM_GETVALUE':1,'CONFIGURE_LDFLAGS':'-Wl,-Bsymbolic-functions -Wl,-z,relro','DLLLIBRARY':'','PYTHON_FOR_BUILD':'./python -E','SETPGRP_HAVE_ARG':0,'HAVE_INET_ATON':1,'INSTALL_SHARED':'/usr/bin/install -c -m 555','WITH_DOC_STRINGS':1,'OPCODETARGETS_H':'\\\\','HAVE_INITGROUPS':1,'HAVE_LINKAT':1,'BASEMODLIBS':'','SGI_ABI':'','HAVE_SCHED_SETPARAM':1,'OPT':'-DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes','HAVE_POSIX_FADVISE':1,'datarootdir':'/usr/share','HAVE_MEMRCHR':1,'HGTAG':'','HAVE_MEMMOVE':1,'HAVE_GETRESUID':1,'DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754':0,'HAVE_LSTAT':1,'AR':'ar','HAVE_WAIT4':1,'HAVE_SYS_MODEM_H':0,'INSTSONAME':'libpython3.3m.so.1.0','HAVE_SYS_STATVFS_H':1,'HAVE_LGAMMA':1,'HAVE_PROTOTYPES':1,'HAVE_SYS_UIO_H':1,'MAJOR_IN_MKDEV':0,'QUICKTESTOPTS':'-x test_subprocess test_io test_lib2to3 \\\\','HAVE_SYS_DEVPOLL_H':0,'HAVE_CHFLAGS':0,'HAVE_FSYNC':1,'HAVE_FCHMOD':1,'INCLUDEPY':'/usr/include/python3.3m','HAVE_SEM_TIMEDWAIT':1,'LDLIBRARYDIR':'','HAVE_STRUCT_TM_TM_ZONE':1,'HAVE_CURSES_H':1,'TIME_WITH_SYS_TIME':1,'HAVE_DUP2':1,'ENABLE_IPV6':1,'WITH_VALGRIND':0,'HAVE_SETITIMER':1,'THREADOBJ':'Python/thread.o','LOCALMODLIBS':'-lrt -lexpat -L/usr/lib -lz -lexpat','HAVE_MEMORY_H':1,'HAVE_GETITIMER':1,'HAVE_C99_BOOL':1,'INSTALL_DATA':'/usr/bin/install -c -m 644','PGEN':'Parser/pgen','HAVE_GRP_H':1,'HAVE_WCSFTIME':1,'AIX_GENUINE_CPLUSPLUS':0,'HAVE_LIBINTL_H':1,'SHELL':'/bin/sh','HAVE_UNISTD_H':1,'EXTRATESTOPTS':'','HAVE_EXECV':1,'HAVE_FSEEK64':0,'MVWDELCH_IS_EXPRESSION':1,'DESTSHARED':'/usr/lib/python3.3/lib-dynload','OPCODETARGETGEN':'\\\\','LIBDEST':'/usr/lib/python3.3','CCSHARED':'-fPIC','HAVE_EXPM1':1,'HAVE_DLFCN_H':1,'exec_prefix':'/usr','HAVE_READLINK':1,'WINDOW_HAS_FLAGS':1,'HAVE_FTELL64':0,'HAVE_STRLCPY':0,'MACOSX_DEPLOYMENT_TARGET':'','HAVE_SYS_SYSCALL_H':1,'DESTLIB':'/usr/lib/python3.3','LDSHARED':'i686-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wno-unused-result -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ','HGVERSION':'','PYTHON_HEADERS':'\\\\','HAVE_STRINGS_H':1,'DOUBLE_IS_LITTLE_ENDIAN_IEEE754':1,'HAVE_POSIX_FALLOCATE':1,'HAVE_DIRFD':1,'HAVE_LOG2':1,'HAVE_GETPID':1,'HAVE_ALARM':1,'MACHDEP_OBJS':'','HAVE_SPAWN_H':1,'HAVE_FORK':1,'HAVE_SETRESGID':1,'HAVE_FCHMODAT':1,'HAVE_CLOCK_GETRES':1,'MACHDEPPATH':':plat-i386-linux-gnu','STDC_HEADERS':1,'HAVE_SETPRIORITY':1,'LIBC':'','HAVE_SYS_EPOLL_H':1,'HAVE_SYS_UTSNAME_H':1,'HAVE_PUTENV':1,'HAVE_CURSES_RESIZE_TERM':1,'HAVE_FUTIMESAT':1,'WITH_DYLD':0,'INSTALL_PROGRAM':'/usr/bin/install -c','LIBS':'-lpthread -ldl -lutil','HAVE_TRUNCATE':1,'TESTOPTS':'','PROFILE_TASK':'../Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck','HAVE_CURSES_RESIZETERM':1,'ABIFLAGS':'m','HAVE_GETGROUPLIST':1,'OBJECT_OBJS':'\\\\','HAVE_MKNODAT':1,'HAVE_ST_BLOCKS':1,'HAVE_STRUCT_STAT_ST_GEN':0,'SYS_SELECT_WITH_SYS_TIME':1,'SHLIBS':'-lpthread -ldl -lutil','HAVE_GETGROUPS':1,'MODULE_OBJS':'\\\\','PYTHONFRAMEWORKDIR':'no-framework','HAVE_FCNTL_H':1,'HAVE_LINK':1,'HAVE_SIGWAIT':1,'HAVE_GAMMA':1,'HAVE_SYS_LOCK_H':0,'HAVE_FORKPTY':1,'HAVE_SOCKADDR_SA_LEN':0,'HAVE_TEMPNAM':1,'HAVE_STRUCT_STAT_ST_BLKSIZE':1,'HAVE_MKFIFOAT':1,'HAVE_SIGWAITINFO':1,'HAVE_FTIME':1,'HAVE_EPOLL':1,'HAVE_SYS_SOCKET_H':1,'HAVE_LARGEFILE_SUPPORT':1,'CONFIGURE_CFLAGS':'-g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security','HAVE_PTHREAD_DESTRUCTOR':0,'CONFIGURE_CPPFLAGS':'-D_FORTIFY_SOURCE=2','HAVE_SYMLINK':1,'HAVE_LONG_LONG':1,'HAVE_IEEEFP_H':0,'LIBDIR':'/usr/lib','HAVE_PTHREAD_KILL':1,'TESTPATH':'','HAVE_STRDUP':1,'POBJS':'\\\\','NO_AS_NEEDED':'-Wl,--no-as-needed','HAVE_LONG_DOUBLE':1,'HGBRANCH':'','DISTFILES':'README ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in','PTHREAD_SYSTEM_SCHED_SUPPORTED':1,'HAVE_FACCESSAT':1,'AST_ASDL':'../Parser/Python.asdl','CPPFLAGS':'-I. -IInclude -I../Include -D_FORTIFY_SOURCE=2','HAVE_MKTIME':1,'HAVE_NDIR_H':0,'PY_CFLAGS':'-Wno-unused-result -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ','LIBOBJDIR':'Python/','HAVE_LINUX_CAN_RAW_H':1,'HAVE_GETHOSTBYNAME_R_3_ARG':0,'PACKAGE_STRING':0,'GNULD':'yes','LOG1P_DROPS_ZERO_SIGN':0,'HAVE_FTRUNCATE':1,'WITH_LIBINTL':0,'HAVE_MREMAP':1,'HAVE_DECL_ISNAN':1,'HAVE_KILLPG':1,'SIZEOF_LONG':4,'HAVE_DECL_ISFINITE':1,'HAVE_IPA_PURE_CONST_BUG':0,'WITH_PYMALLOC':1,'abs_srcdir':'/build/buildd/python3.3-3.3.1/build-shared/..','HAVE_FCHDIR':1,'HAVE_BROKEN_POSIX_SEMAPHORES':0,'AC_APPLE_UNIVERSAL_BUILD':0,'PGENSRCS':'\\\\ \\\\','DIRMODE':755,'HAVE_GETHOSTBYNAME_R':1,'HAVE_LCHFLAGS':0,'HAVE_SYS_PARAM_H':1,'SIZEOF_LONG_DOUBLE':12,'CONFIG_ARGS':\"'--enable-shared' '--prefix=/usr' '--enable-ipv6' '--enable-loadable-sqlite-extensions' '--with-dbmliborder=bdb:gdbm' '--with-computed-gotos' '--with-system-expat' '--with-system-ffi' '--with-fpectl' 'CC=i686-linux-gnu-gcc' 'CFLAGS=-g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'\",'HAVE_SCHED_H':1,'HAVE_KILL':1}\n\n",[]],_sysconfigdata_0_brython_:[".py","build_time_vars={}\n",[]],_testcapi:[".py",'CHAR_MAX=127\n\nCHAR_MIN=-128\n\nDBL_MAX=1.7976931348623157e+308\n\nDBL_MIN=2.2250738585072014e-308\n\nFLT_MAX=3.4028234663852886e+38\n\nFLT_MIN=1.1754943508222875e-38\n\nINT_MAX=2147483647\n\nINT_MIN=-2147483648\n\nLLONG_MAX=9223372036854775807\n\nLLONG_MIN=-9223372036854775808\n\nLONG_MAX=2147483647\n\nLONG_MIN=-2147483648\n\nPY_SSIZE_T_MAX=2147483647\n\nPY_SSIZE_T_MIN=-2147483648\n\nSHRT_MAX=32767\n\nSHRT_MIN=-32768\n\nSIZEOF_PYGC_HEAD=16\n\nUCHAR_MAX=255\n\nUINT_MAX=4294967295\n\nULLONG_MAX=18446744073709551615\n\nULONG_MAX=4294967295\n\nUSHRT_MAX=65535\n\n__loader__="<_frozen_importlib.ExtensionFileLoader object at 0x00C98DD0>"\n\ndef _pending_threadfunc(*args,**kw):\n pass\n \nclass _test_structmembersType(object):\n pass\n \ndef _test_thread_state(*args,**kw):\n pass\n \ndef argparsing(*args,**kw):\n pass\n \ndef code_newempty(*args,**kw):\n pass\n \ndef codec_incrementaldecoder(*args,**kw):\n pass\n \ndef codec_incrementalencoder(*args,**kw):\n pass\n \ndef crash_no_current_thread(*args,**kw):\n pass\n \nclass error(Exception):\n pass\n \ndef exception_print(*args,**kw):\n pass\n \ndef getargs_B(*args,**kw):\n pass\n \ndef getargs_H(*args,**kw):\n pass\n \ndef getargs_I(*args,**kw):\n pass\n \ndef getargs_K(*args,**kw):\n pass\n \ndef getargs_L(*args,**kw):\n pass\n \ndef getargs_Z(*args,**kw):\n pass\n \ndef getargs_Z_hash(*args,**kw):\n pass\n \ndef getargs_b(*args,**kw):\n pass\n \ndef getargs_c(*args,**kw):\n pass\n \ndef getargs_h(*args,**kw):\n pass\n \ndef getargs_i(*args,**kw):\n pass\n \ndef getargs_k(*args,**kw):\n pass\n \ndef getargs_keyword_only(*args,**kw):\n pass\n \ndef getargs_keywords(*args,**kw):\n pass\n \ndef getargs_l(*args,**kw):\n pass\n \ndef getargs_n(*args,**kw):\n pass\n \ndef getargs_p(*args,**kw):\n pass\n \ndef getargs_s(*args,**kw):\n pass\n \ndef getargs_s_hash(*args,**kw):\n pass\n \ndef getargs_s_star(*args,**kw):\n pass\n \ndef getargs_tuple(*args,**kw):\n pass\n \ndef getargs_u(*args,**kw):\n pass\n \ndef getargs_u_hash(*args,**kw):\n pass\n \ndef getargs_w_star(*args,**kw):\n pass\n \ndef getargs_y(*args,**kw):\n pass\n \ndef getargs_y_hash(*args,**kw):\n pass\n \ndef getargs_y_star(*args,**kw):\n pass\n \ndef getargs_z(*args,**kw):\n pass\n \ndef getargs_z_hash(*args,**kw):\n pass\n \ndef getargs_z_star(*args,**kw):\n pass\n \nclass instancemethod(object):\n pass\n \ndef make_exception_with_doc(*args,**kw):\n pass\n \ndef make_memoryview_from_NULL_pointer(*args,**kw):\n pass\n \ndef parse_tuple_and_keywords(*args,**kw):\n pass\n \ndef pytime_object_to_time_t(*args,**kw):\n pass\n \ndef pytime_object_to_timespec(*args,**kw):\n pass\n \ndef pytime_object_to_timeval(*args,**kw):\n pass\n \ndef raise_exception(*args,**kw):\n pass\n \ndef raise_memoryerror(*args,**kw):\n pass\n \ndef run_in_subinterp(*args,**kw):\n pass\n \ndef set_exc_info(*args,**kw):\n pass\n \ndef test_L_code(*args,**kw):\n pass\n \ndef test_Z_code(*args,**kw):\n pass\n \ndef test_capsule(*args,**kw):\n pass\n \ndef test_config(*args,**kw):\n pass\n \ndef test_datetime_capi(*args,**kw):\n pass\n \ndef test_dict_iteration(*args,**kw):\n pass\n \ndef test_empty_argparse(*args,**kw):\n pass\n \ndef test_k_code(*args,**kw):\n pass\n \ndef test_lazy_hash_inheritance(*args,**kw):\n pass\n \ndef test_list_api(*args,**kw):\n pass\n \ndef test_long_and_overflow(*args,**kw):\n pass\n \ndef test_long_api(*args,**kw):\n pass\n \ndef test_long_as_double(*args,**kw):\n pass\n \ndef test_long_as_size_t(*args,**kw):\n pass\n \ndef test_long_long_and_overflow(*args,**kw):\n pass\n \ndef test_long_numbits(*args,**kw):\n pass\n \ndef test_longlong_api(*args,**kw):\n pass\n \ndef test_null_strings(*args,**kw):\n pass\n \ndef test_s_code(*args,**kw):\n pass\n \ndef test_string_from_format(*args,**kw):\n pass\n \ndef test_string_to_double(*args,**kw):\n pass\n \ndef test_u_code(*args,**kw):\n pass\n \ndef test_unicode_compare_with_ascii(*args,**kw):\n pass\n \ndef test_widechar(*args,**kw):\n pass\n \ndef test_with_docstring(*args,**kw):\n \'\'\n pass\n \ndef traceback_print(*args,**kw):\n pass\n \ndef unicode_aswidechar(*args,**kw):\n pass\n \ndef unicode_aswidecharstring(*args,**kw):\n pass\n \ndef unicode_encodedecimal(*args,**kw):\n pass\n \ndef unicode_transformdecimaltoascii(*args,**kw):\n pass\n \nimport math\n\ndef float_pack2(x,le):\n \'\'\n \n def overflow():\n raise OverflowError("float too large to pack with e format")\n \n if x ==0.0:\n sign=(math.copysign(1.0,x)==-1.0)\n e=0\n bits=0\n elif math.isinf(x):\n sign=(x <0.0)\n e=0x1f\n bits=0\n elif math.isnan(x):\n sign=(math.copysign(1.0,x)==-1.0);\n e=0x1f\n bits=512\n else:\n sign=(x <0.0)\n if sign:\n x=-x\n \n f,e=math.frexp(x);\n if f <0.5 or f >=1.0:\n raise SystemError("frexp() result out of range")\n \n \n f *=2.0\n e -=1\n \n if e >=16:\n overflow()\n elif e <-25:\n \n f=0.0\n e=0\n elif e <-14:\n \n f=math.ldexp(f,14+e)\n e=0\n else:\n e +=15\n f -=1.0\n \n f *=1024.0 ;\n \n bits=int(f)&0xFFFF\n assert bits <1024\n assert e <31\n if(f -bits >0.5)or((f -bits ==0.5)and(bits %2 ==1)):\n bits +=1\n if bits ==1024:\n \n bits=0\n e +=1\n if e ==31:\n overflow()\n \n bits |=(e <<10)|(sign <<15)\n \n \n p=0\n incr=1\n if le:\n p +=1\n incr=-1\n \n t=[None,None]\n \n t[p]=(bits >>8)&0xFF\n p +=incr\n \n \n t[p]=bits&0xFF\n \n return t\n \nunknown_format=0\nieee_big_endian_format=1\nieee_little_endian_format=2\n\nfloat_format=unknown_format\n\ndef float_pack4(x,le):\n \'\'\n \n def overflow():\n raise OverflowError("float too large to pack with f format")\n \n t=[None]*4\n \n p=0\n incr=1\n \n if le:\n p +=3\n incr=-1\n \n if x <0:\n sign=1\n x=-x\n else:\n sign=0\n \n f,e=math.frexp(x);\n \n \n if 0.5 <=f and f <1.0:\n f *=2.0\n e -=1\n elif f ==0.0:\n e=0\n else:\n raise SystemError("frexp() result out of range")\n \n if e >=128:\n overflow()\n elif e <-126:\n \n f=math.ldexp(f,126+e)\n e=0\n elif not(e ==0 and f ==0.0):\n e +=127\n f -=1.0\n \n f *=8388608.0\n fbits=int(f+0.5)\n assert fbits <=8388608\n if fbits >>23:\n \n fbits=0\n e +=1\n if e >=255:\n overflow()\n \n \n t[p]=(sign <<7)|(e >>1)\n p +=incr\n \n \n t[p]=((e&1)<<7)|(fbits >>16)\n p +=incr\n \n \n t[p]=(fbits >>8)&0xFF\n p +=incr\n \n \n t[p]=fbits&0xFF\n \n return t\n \ndef float_pack8(x,le):\n \'\'\n def overflow():\n raise OverflowError("float too large to pack with d format")\n \n p=0\n incr=1\n \n if le:\n p +=7\n incr=-1\n \n if x <0:\n sign=1\n x=-x\n else:\n sign=0\n \n f,e=math.frexp(x)\n \n \n if 0.5 <=f and f <1.0:\n f *=2.0\n e -=1\n elif f ==0.0:\n e=0\n else:\n raise SystemError("frexp() result out of range")\n \n if e >=1024:\n overflow()\n elif e <-1022:\n \n f=math.ldexp(f,1022+e)\n e=0\n elif not(e ==0 and f ==0.0):\n e +=1023\n f -=1.0\n \n \n f *=268435456.0\n fhi=int(f)&0xFFFFFFFF\n assert fhi <268435456\n \n f -=fhi\n f *=16777216.0 ;\n flo=int(f+0.5)&0xFFFFFFFF\n assert flo <=16777216\n if flo >>24:\n \n flo=0 ;\n fhi +=1\n if fhi >>28:\n \n fhi=0\n e +=1\n if e >=2047:\n overflow()\n \n t=[None]*8\n \n \n t[p]=(sign <<7)|(e >>4)\n p +=incr\n \n \n t[p]=((e&0xF)<<4)|(fhi >>24)\n p +=incr ;\n \n \n t[p]=(fhi >>16)&0xFF\n p +=incr ;\n \n \n t[p]=(fhi >>8)&0xFF\n p +=incr ;\n \n \n t[p]=fhi&0xFF\n p +=incr ;\n \n \n t[p]=(flo >>16)&0xFF\n p +=incr ;\n \n \n t[p]=(flo >>8)&0xFF\n p +=incr ;\n \n \n t[p]=flo&0xFF\n \n return t\n \n \ndef float_pack(size,d,le):\n \'\'\n if size ==2:\n data=float_pack2(d,le)\n print(data)\n return bytes(data)\n elif size ==4:\n data=float_pack4(d,le)\n return bytes(data)\n elif size ==8:\n data=float_pack8(d,le)\n return bytes(data)\n raise ValueError("size must 2, 4 or 8")\n \n_PY_SHORT_FLOAT_REPR=1\n\ndef float_unpack2(data,le):\n p=0\n incr=1\n \n if le:\n p +=1\n incr=-1\n \n \n sign=(data[p]>>7)&1\n e=(data[p]&0x7C)>>2\n f=(data[p]&0x03)<<8\n p +=incr\n \n \n f |=data[p]\n \n if e ==0x1f:\n if _PY_SHORT_FLOAT_REPR ==0:\n if f ==0:\n \n return -Py_HUGE_VAL if sign else Py_HUGE_VAL\n else:\n \n return -Py_NAN if sign else Py_NAN\n else:\n if f ==0:\n \n return -float(\'inf\')if sign else float(\'inf\')\n else:\n return -float(\'nan\')if sign else float(\'nan\')\n \n x=f /1024.0\n \n if e ==0:\n e=-14\n else:\n x +=1.0\n e -=15\n x=math.ldexp(x,e)\n \n if sign:\n x=-x\n \n return x\n \ndef float_unpack4(data,le):\n p=0\n incr=1\n \n if le:\n p +=3\n incr=-1\n \n \n sign=(data[p]>>7)&1\n e=(data[p]&0x7F)<<1\n p +=incr\n \n \n e |=(data[p]>>7)&1\n f=(data[p]&0x7F)<<16\n p +=incr\n \n if e ==255:\n raise ValueError(\n "can\'t unpack IEEE 754 special value "\n "on non-IEEE platform")\n \n \n f |=data[p]<<8\n p +=incr\n \n \n f |=data[p]\n \n x=f /8388608.0\n \n \n if e ==0:\n e=-126\n else:\n x +=1.0\n e -=127\n \n x=math.ldexp(x,e)\n \n if sign:\n x=-x\n \n return x\n \ndef float_unpack8(data,le):\n p=0\n incr=1\n \n if le:\n p +=7\n incr=-1\n \n \n sign=(data[p]>>7)&1\n e=(data[p]&0x7F)<<4\n \n p +=incr\n \n \n e |=(data[p]>>4)&0xF\n fhi=(data[p]&0xF)<<24\n p +=incr\n \n if e ==2047:\n raise ValueError(\n "can\'t unpack IEEE 754 special value "\n "on non-IEEE platform")\n \n \n fhi |=data[p]<<16\n p +=incr\n \n \n fhi |=data[p]<<8\n p +=incr\n \n \n fhi |=data[p]\n p +=incr\n \n \n flo=data[p]<<16\n p +=incr\n \n \n flo |=data[p]<<8\n p +=incr\n \n \n flo |=data[p]\n \n x=fhi+flo /16777216.0\n x /=268435456.0\n \n if e ==0:\n e=-1022\n else:\n x +=1.0\n e -=1023\n \n x=math.ldexp(x,e)\n \n if sign:\n x=-x\n \n return x\n \ndef float_unpack(data,le):\n \'\'\n size=len(data)\n if size ==2:\n d=float_unpack2(data,le)\n elif size ==4:\n d=float_unpack4(data,le)\n elif size ==8:\n d=float_unpack8(data,le)\n else:\n raise ValueError("data length must 2, 4 or 8 bytes")\n \n return float(d)\n',["math"]],_thread:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=['error','start_new_thread','exit','get_ident','allocate_lock',\n'interrupt_main','LockType']\n\n\nTIMEOUT_MAX=2 **31\n\n\n\n\n\n\nerror=RuntimeError\n\ndef daemon_threads_allowed():\n return False\n \ndef _set_sentinel(*args,**kw):\n return LockType()\n \ndef start_new_thread(function,args,kwargs={}):\n ''\n\n\n\n\n\n\n\n\n\n\n \n if type(args)!=type(tuple()):\n raise TypeError(\"2nd arg must be a tuple\")\n if type(kwargs)!=type(dict()):\n raise TypeError(\"3rd arg must be a dict\")\n global _main\n _main=False\n try:\n function(*args,**kwargs)\n except SystemExit:\n pass\n except:\n import traceback\n traceback.print_exc()\n _main=True\n global _interrupt\n if _interrupt:\n _interrupt=False\n raise KeyboardInterrupt\n \ndef exit():\n ''\n raise SystemExit\n \ndef get_ident():\n ''\n\n\n\n\n \n return -1\n \ndef allocate_lock():\n ''\n return LockType()\n \ndef stack_size(size=None):\n ''\n if size is not None:\n raise error(\"setting thread stack size not supported\")\n return 0\n \nclass LockType(object):\n ''\n\n\n\n\n\n\n\n \n \n def __init__(self):\n self.locked_status=False\n \n def acquire(self,waitflag=None,timeout=-1):\n ''\n\n\n\n\n\n\n\n\n \n if waitflag is None or waitflag:\n self.locked_status=True\n return True\n else:\n if not self.locked_status:\n self.locked_status=True\n return True\n else:\n if timeout >0:\n import time\n time.sleep(timeout)\n return False\n \n __enter__=acquire\n \n def __exit__(self,typ,val,tb):\n self.release()\n \n def release(self):\n ''\n \n \n \n \n self.locked_status=False\n return True\n \n def locked(self):\n return self.locked_status\n \n \n_interrupt=False\n\n_main=True\n\ndef interrupt_main():\n ''\n \n if _main:\n raise KeyboardInterrupt\n else:\n global _interrupt\n _interrupt=True\n \n \nclass _local:\n pass\n \nRLock=LockType\n",["time","traceback"]],_threading_local:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfrom weakref import ref\nfrom contextlib import contextmanager\n\n__all__=[\"local\"]\n\n\n\n\n\n\n\n\n\n\n\nclass _localimpl:\n ''\n __slots__='key','dicts','localargs','locallock','__weakref__'\n \n def __init__(self):\n \n \n \n self.key='_threading_local._localimpl.'+str(id(self))\n \n self.dicts={}\n \n def get_dict(self):\n ''\n \n thread=current_thread()\n return self.dicts[id(thread)][1]\n \n def create_dict(self):\n ''\n localdict={}\n key=self.key\n thread=current_thread()\n idt=id(thread)\n def local_deleted(_,key=key):\n \n thread=wrthread()\n if thread is not None:\n del thread.__dict__[key]\n def thread_deleted(_,idt=idt):\n \n \n \n \n local=wrlocal()\n if local is not None:\n dct=local.dicts.pop(idt)\n wrlocal=ref(self,local_deleted)\n wrthread=ref(thread,thread_deleted)\n thread.__dict__[key]=wrlocal\n self.dicts[idt]=wrthread,localdict\n return localdict\n \n \n@contextmanager\ndef _patch(self):\n impl=object.__getattribute__(self,'_local__impl')\n try:\n dct=impl.get_dict()\n except KeyError:\n dct=impl.create_dict()\n args,kw=impl.localargs\n self.__init__(*args,**kw)\n with impl.locallock:\n object.__setattr__(self,'__dict__',dct)\n yield\n \n \nclass local:\n __slots__='_local__impl','__dict__'\n \n def __new__(cls,/,*args,**kw):\n if(args or kw)and(cls.__init__ is object.__init__):\n raise TypeError(\"Initialization arguments are not supported\")\n self=object.__new__(cls)\n impl=_localimpl()\n impl.localargs=(args,kw)\n impl.locallock=RLock()\n object.__setattr__(self,'_local__impl',impl)\n \n \n \n impl.create_dict()\n return self\n \n def __getattribute__(self,name):\n with _patch(self):\n return object.__getattribute__(self,name)\n \n def __setattr__(self,name,value):\n if name =='__dict__':\n raise AttributeError(\n \"%r object attribute '__dict__' is read-only\"\n %self.__class__.__name__)\n with _patch(self):\n return object.__setattr__(self,name,value)\n \n def __delattr__(self,name):\n if name =='__dict__':\n raise AttributeError(\n \"%r object attribute '__dict__' is read-only\"\n %self.__class__.__name__)\n with _patch(self):\n return object.__delattr__(self,name)\n \n \nfrom threading import current_thread,RLock\n",["contextlib","threading","weakref"]],_typing:[".py","\n\nclass Typing:\n\n def __getattr__(self,attr):\n import typing\n return getattr(typing,attr)\n \ntyping=Typing()\n\ndef _idfunc(_,x):\n return x\n \ndef _caller():\n import sys\n frame=sys._getframe()\n module_name=frame.f_back.f_globals[\"__name__\"]\n return sys.modules[module_name]\n \ndef _call_typing_func(name,*args,**kwargs):\n import typing\n func=getattr(typing,name)\n return func(*args,**kwargs)\n \ndef _get_typing_obj(name):\n import typing\n return getattr(typing,name)\n \ndef _type_check(t,msg):\n assert isinstance(t,type),msg\n \ndef _type_convert(arg,module=None,*,allow_special_forms=False):\n ''\n if arg is None:\n return type(None)\n if isinstance(arg,str):\n return ForwardRef(arg,module=module,is_class=allow_special_forms)\n return arg\n \nclass ForwardRef:\n ''\n \n __slots__=('__forward_arg__','__forward_code__',\n '__forward_evaluated__','__forward_value__',\n '__forward_is_argument__','__forward_is_class__',\n '__forward_module__')\n \n def __init__(self,arg,is_argument=True,module=None,*,is_class=False):\n if not isinstance(arg,str):\n raise TypeError(f\"Forward reference must be a string -- got {arg !r}\")\n \n \n \n \n if arg[0]=='*':\n arg_to_compile=f'({arg},)[0]'\n else:\n arg_to_compile=arg\n try:\n code=compile(arg_to_compile,'','eval')\n except SyntaxError:\n raise SyntaxError(f\"Forward reference must be an expression -- got {arg !r}\")\n \n self.__forward_arg__=arg\n self.__forward_code__=code\n self.__forward_evaluated__=False\n self.__forward_value__=None\n self.__forward_is_argument__=is_argument\n self.__forward_is_class__=is_class\n self.__forward_module__=module\n \n def _evaluate(self,globalns,localns,recursive_guard):\n if self.__forward_arg__ in recursive_guard:\n return self\n if not self.__forward_evaluated__ or localns is not globalns:\n if globalns is None and localns is None:\n globalns=localns={}\n elif globalns is None:\n globalns=localns\n elif localns is None:\n localns=globalns\n if self.__forward_module__ is not None:\n globalns=getattr(\n sys.modules.get(self.__forward_module__,None),'__dict__',globalns\n )\n type_=_type_check(\n eval(self.__forward_code__,globalns,localns),\n \"Forward references must evaluate to types.\",\n is_argument=self.__forward_is_argument__,\n allow_special_forms=self.__forward_is_class__,\n )\n self.__forward_value__=_eval_type(\n type_,globalns,localns,recursive_guard |{self.__forward_arg__}\n )\n self.__forward_evaluated__=True\n return self.__forward_value__\n \n def __eq__(self,other):\n if not isinstance(other,ForwardRef):\n return NotImplemented\n if self.__forward_evaluated__ and other.__forward_evaluated__:\n return(self.__forward_arg__ ==other.__forward_arg__ and\n self.__forward_value__ ==other.__forward_value__)\n return(self.__forward_arg__ ==other.__forward_arg__ and\n self.__forward_module__ ==other.__forward_module__)\n \n def __hash__(self):\n return hash((self.__forward_arg__,self.__forward_module__))\n \n def __or__(self,other):\n return Union[self,other]\n \n def __ror__(self,other):\n return Union[other,self]\n \n def __repr__(self):\n if self.__forward_module__ is None:\n module_repr=''\n else:\n module_repr=f', module={self.__forward_module__ !r}'\n return f'ForwardRef({self.__forward_arg__ !r}{module_repr})'\n \nclass TypeVar:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __module__='typing'\n \n \n def __init__(self,name,*constraints,bound=None,\n covariant=False,contravariant=False,\n infer_variance=True):\n self.__name__=name\n if constraints and bound is not None:\n raise TypeError(\"Constraints cannot be combined with bound=...\")\n if constraints and len(constraints)==1:\n raise TypeError(\"A single constraint is not allowed\")\n msg=\"TypeVar(name, constraint, ...): constraints must be types.\"\n self.__bound__=bound\n self.__constraints__=tuple(_type_check(t,msg)for t in constraints)\n self.__module__='typing'\n self.__covariant__=covariant\n self.__contravariant__=contravariant\n self.__infer_variance__=infer_variance\n self._lazy_eval={}\n \n \n def __typing_subst__(self,arg):\n msg=\"Parameters to generic types must be types.\"\n arg=_type_check(arg,msg,is_argument=True)\n if((isinstance(arg,_GenericAlias)and arg.__origin__ is Unpack)or\n (isinstance(arg,GenericAlias)and getattr(arg,'__unpacked__',False))):\n raise TypeError(f\"{arg} is not valid as type argument\")\n return arg\n \n def __repr__(self):\n if self.__infer_variance__:\n return self.__name__\n \n variance='+'if self.__covariant__ else\\\n '-'if self.__contravariant__ else '~'\n return f\"{variance}{self.__name__}\"\n \n def _set_lazy_eval(self,attr,func):\n self._lazy_eval[attr]=func\n \n def __getattribute__(self,attr):\n try:\n _lazy_eval=object.__getattribute__(self,'_lazy_eval')\n except AttributeError:\n return super().__getattribute__(attr)\n if attr in _lazy_eval:\n try:\n return _lazy_eval[attr]()\n except Exception as exc:\n tb=exc.__traceback__\n exc.__traceback__=exc.__traceback__.tb_next\n raise\n return super().__getattribute__(attr)\n \nclass TypeVarTuple:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __module__='typing'\n \n def __init__(self,name):\n self.__name__=name\n \n \n def_mod=_caller()\n if def_mod !='typing':\n self.__module__=def_mod\n \n def __iter__(self):\n yield Unpack[self]\n \n def __repr__(self):\n return self.__name__\n \n def __typing_subst__(self,arg):\n raise TypeError(\"Substitution of bare TypeVarTuple is not supported\")\n \n def __typing_prepare_subst__(self,alias,args):\n params=alias.__parameters__\n typevartuple_index=params.index(self)\n for param in params[typevartuple_index+1:]:\n if isinstance(param,TypeVarTuple):\n raise TypeError(f\"More than one TypeVarTuple parameter in {alias}\")\n \n alen=len(args)\n plen=len(params)\n left=typevartuple_index\n right=plen -typevartuple_index -1\n var_tuple_index=None\n fillarg=None\n for k,arg in enumerate(args):\n if not isinstance(arg,type):\n subargs=getattr(arg,'__typing_unpacked_tuple_args__',None)\n if subargs and len(subargs)==2 and subargs[-1]is ...:\n if var_tuple_index is not None:\n raise TypeError(\"More than one unpacked arbitrary-length tuple argument\")\n var_tuple_index=k\n fillarg=subargs[0]\n if var_tuple_index is not None:\n left=min(left,var_tuple_index)\n right=min(right,alen -var_tuple_index -1)\n elif left+right >alen:\n raise TypeError(f\"Too few arguments for {alias};\"\n f\" actual {alen}, expected at least {plen -1}\")\n \n return(\n *args[:left],\n *([fillarg]*(typevartuple_index -left)),\n tuple(args[left:alen -right]),\n *([fillarg]*(plen -right -left -typevartuple_index -1)),\n *args[alen -right:],\n )\n \n \nclass ParamSpecArgs:\n ''\n\n\n\n\n\n\n\n\n\n \n \n __module__='typing'\n \n def __init__(self,origin):\n self.__origin__=origin\n \n def __repr__(self):\n return f\"{self.__origin__.__name__}.args\"\n \n def __eq__(self,other):\n if not isinstance(other,ParamSpecArgs):\n return NotImplemented\n return self.__origin__ ==other.__origin__\n \n \nclass ParamSpecKwargs:\n ''\n\n\n\n\n\n\n\n\n\n \n \n __module__='typing'\n \n def __init__(self,origin):\n self.__origin__=origin\n \n def __repr__(self):\n return f\"{self.__origin__.__name__}.kwargs\"\n \n def __eq__(self,other):\n if not isinstance(other,ParamSpecKwargs):\n return NotImplemented\n return self.__origin__ ==other.__origin__\n \n \nclass ParamSpec:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n __module__='typing'\n \n @property\n def args(self):\n return ParamSpecArgs(self)\n \n @property\n def kwargs(self):\n return ParamSpecKwargs(self)\n \n def __init__(self,name,*,bound=None,\n covariant=False,contravariant=False,\n infer_variance=True):\n self.__name__=name\n super().__init__(bound,covariant,contravariant)\n def_mod=_caller()\n if def_mod !='typing':\n self.__module__=def_mod\n self.__module__='typing'\n self.__covariant__=covariant\n self.__contravariant__=contravariant\n self.__infer_variance__=infer_variance\n \n def __repr__(self):\n if self.__infer_variance__:\n return self.__name__\n \n variance='+'if self.__covariant__ else\\\n '-'if self.__contravariant__ else '~'\n return f\"{variance}{self.__name__}\"\n \n def __typing_subst__(self,arg):\n if isinstance(arg,(list,tuple)):\n arg=tuple(_type_check(a,\"Expected a type.\")for a in arg)\n elif not _is_param_expr(arg):\n raise TypeError(f\"Expected a list of types, an ellipsis, \"\n f\"ParamSpec, or Concatenate. Got {arg}\")\n return arg\n \n def __typing_prepare_subst__(self,alias,args):\n params=alias.__parameters__\n i=params.index(self)\n if i >=len(args):\n raise TypeError(f\"Too few arguments for {alias}\")\n \n if len(params)==1 and not _is_param_expr(args[0]):\n assert i ==0\n args=(args,)\n \n elif isinstance(args[i],list):\n args=(*args[:i],tuple(args[i]),*args[i+1:])\n return args\n \nclass Generic:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n __module__='typing'\n __slots__=()\n _is_protocol=False\n \n def __class_getitem__(cls,params):\n ''\n\n\n\n\n\n\n\n \n return typing._generic_class_getitem(cls,params)\n \n def __init_subclass__(cls,*args,**kwargs):\n return typing._generic_init_subclass(cls,*args,**kwargs)\n \nclass TypeAliasType:\n\n def __init__(self,name,value):\n self.__name__=name\n self.__type_params__=()\n self._value=value\n \n @property\n def __value__(self):\n return self._value()\n",["sys","typing"]],_weakref:[".py",'\n\nclass ProxyType:\n\n def __init__(self,obj):\n object.__setattr__(self,"obj",obj)\n \n def __setattr__(self,attr,value):\n setattr(object.__getattribute__(self,"obj"),attr,value)\n \n def __getattr__(self,attr):\n return getattr(object.__getattribute__(self,"obj"),attr)\n \nCallableProxyType=ProxyType\nProxyTypes=[ProxyType,CallableProxyType]\n\nclass ReferenceType:\n\n def __init__(self,obj,callback):\n self.obj=obj\n self.callback=callback\n \nclass ref:\n\n def __new__(cls,*args,**kw):\n return object.__new__(cls)\n \n def __init__(self,obj,callback=None):\n self.obj=ReferenceType(obj,callback)\n self.callback=callback\n \n def __call__(self):\n return self.obj.obj\n \n def __hash__(self):\n return hash(self.obj.obj)\n \n def __eq__(self,other):\n return self.obj.obj ==other.obj.obj\n \ndef getweakrefcount(obj):\n return 1\n \ndef getweakrefs(obj):\n return obj\n \ndef _remove_dead_weakref(*args):\n pass\n \ndef proxy(obj,callback=None):\n return ProxyType(obj)\n \n',[]],_weakrefset:[".py","\n\n\n\nfrom _weakref import ref\nfrom types import GenericAlias\n\n__all__=['WeakSet']\n\n\nclass _IterationGuard:\n\n\n\n\n\n def __init__(self,weakcontainer):\n \n self.weakcontainer=ref(weakcontainer)\n \n def __enter__(self):\n w=self.weakcontainer()\n if w is not None:\n w._iterating.add(self)\n return self\n \n def __exit__(self,e,t,b):\n w=self.weakcontainer()\n if w is not None:\n s=w._iterating\n s.remove(self)\n if not s:\n w._commit_removals()\n \n \nclass WeakSet:\n def __init__(self,data=None):\n self.data=set()\n def _remove(item,selfref=ref(self)):\n self=selfref()\n if self is not None:\n if self._iterating:\n self._pending_removals.append(item)\n else:\n self.data.discard(item)\n self._remove=_remove\n \n self._pending_removals=[]\n self._iterating=set()\n if data is not None:\n self.update(data)\n \n def _commit_removals(self):\n pop=self._pending_removals.pop\n discard=self.data.discard\n while True:\n try:\n item=pop()\n except IndexError:\n return\n discard(item)\n \n def __iter__(self):\n with _IterationGuard(self):\n for itemref in self.data:\n item=itemref()\n if item is not None:\n \n \n yield item\n \n def __len__(self):\n return len(self.data)-len(self._pending_removals)\n \n def __contains__(self,item):\n try:\n wr=ref(item)\n except TypeError:\n return False\n return wr in self.data\n \n def __reduce__(self):\n return self.__class__,(list(self),),self.__getstate__()\n \n def add(self,item):\n if self._pending_removals:\n self._commit_removals()\n self.data.add(ref(item,self._remove))\n \n def clear(self):\n if self._pending_removals:\n self._commit_removals()\n self.data.clear()\n \n def copy(self):\n return self.__class__(self)\n \n def pop(self):\n if self._pending_removals:\n self._commit_removals()\n while True:\n try:\n itemref=self.data.pop()\n except KeyError:\n raise KeyError('pop from empty WeakSet')from None\n item=itemref()\n if item is not None:\n return item\n \n def remove(self,item):\n if self._pending_removals:\n self._commit_removals()\n self.data.remove(ref(item))\n \n def discard(self,item):\n if self._pending_removals:\n self._commit_removals()\n self.data.discard(ref(item))\n \n def update(self,other):\n if self._pending_removals:\n self._commit_removals()\n for element in other:\n self.add(element)\n \n def __ior__(self,other):\n self.update(other)\n return self\n \n def difference(self,other):\n newset=self.copy()\n newset.difference_update(other)\n return newset\n __sub__=difference\n \n def difference_update(self,other):\n self.__isub__(other)\n def __isub__(self,other):\n if self._pending_removals:\n self._commit_removals()\n if self is other:\n self.data.clear()\n else:\n self.data.difference_update(ref(item)for item in other)\n return self\n \n def intersection(self,other):\n return self.__class__(item for item in other if item in self)\n __and__=intersection\n \n def intersection_update(self,other):\n self.__iand__(other)\n def __iand__(self,other):\n if self._pending_removals:\n self._commit_removals()\n self.data.intersection_update(ref(item)for item in other)\n return self\n \n def issubset(self,other):\n return self.data.issubset(ref(item)for item in other)\n __le__=issubset\n \n def __lt__(self,other):\n return self.data set(map(ref,other))\n \n def __eq__(self,other):\n if not isinstance(other,self.__class__):\n return NotImplemented\n return self.data ==set(map(ref,other))\n \n def symmetric_difference(self,other):\n newset=self.copy()\n newset.symmetric_difference_update(other)\n return newset\n __xor__=symmetric_difference\n \n def symmetric_difference_update(self,other):\n self.__ixor__(other)\n def __ixor__(self,other):\n if self._pending_removals:\n self._commit_removals()\n if self is other:\n self.data.clear()\n else:\n self.data.symmetric_difference_update(ref(item,self._remove)for item in other)\n return self\n \n def union(self,other):\n return self.__class__(e for s in(self,other)for e in s)\n __or__=union\n \n def isdisjoint(self,other):\n return len(self.intersection(other))==0\n \n def __repr__(self):\n return repr(self.data)\n \n __class_getitem__=classmethod(GenericAlias)\n",["_weakref","types"]],__future__:[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nall_feature_names=[\n"nested_scopes",\n"generators",\n"division",\n"absolute_import",\n"with_statement",\n"print_function",\n"unicode_literals",\n"barry_as_FLUFL",\n"generator_stop",\n"annotations",\n]\n\n__all__=["all_feature_names"]+all_feature_names\n\n\n\n\n\nCO_NESTED=0x0010\nCO_GENERATOR_ALLOWED=0\nCO_FUTURE_DIVISION=0x20000\nCO_FUTURE_ABSOLUTE_IMPORT=0x40000\nCO_FUTURE_WITH_STATEMENT=0x80000\nCO_FUTURE_PRINT_FUNCTION=0x100000\nCO_FUTURE_UNICODE_LITERALS=0x200000\nCO_FUTURE_BARRY_AS_BDFL=0x400000\nCO_FUTURE_GENERATOR_STOP=0x800000\nCO_FUTURE_ANNOTATIONS=0x1000000\n\n\nclass _Feature:\n\n def __init__(self,optionalRelease,mandatoryRelease,compiler_flag):\n self.optional=optionalRelease\n self.mandatory=mandatoryRelease\n self.compiler_flag=compiler_flag\n \n def getOptionalRelease(self):\n \'\'\n\n\n \n return self.optional\n \n def getMandatoryRelease(self):\n \'\'\n\n\n\n \n return self.mandatory\n \n def __repr__(self):\n return "_Feature"+repr((self.optional,\n self.mandatory,\n self.compiler_flag))\n \n \nnested_scopes=_Feature((2,1,0,"beta",1),\n(2,2,0,"alpha",0),\nCO_NESTED)\n\ngenerators=_Feature((2,2,0,"alpha",1),\n(2,3,0,"final",0),\nCO_GENERATOR_ALLOWED)\n\ndivision=_Feature((2,2,0,"alpha",2),\n(3,0,0,"alpha",0),\nCO_FUTURE_DIVISION)\n\nabsolute_import=_Feature((2,5,0,"alpha",1),\n(3,0,0,"alpha",0),\nCO_FUTURE_ABSOLUTE_IMPORT)\n\nwith_statement=_Feature((2,5,0,"alpha",1),\n(2,6,0,"alpha",0),\nCO_FUTURE_WITH_STATEMENT)\n\nprint_function=_Feature((2,6,0,"alpha",2),\n(3,0,0,"alpha",0),\nCO_FUTURE_PRINT_FUNCTION)\n\nunicode_literals=_Feature((2,6,0,"alpha",2),\n(3,0,0,"alpha",0),\nCO_FUTURE_UNICODE_LITERALS)\n\nbarry_as_FLUFL=_Feature((3,1,0,"alpha",2),\n(4,0,0,"alpha",0),\nCO_FUTURE_BARRY_AS_BDFL)\n\ngenerator_stop=_Feature((3,5,0,"beta",1),\n(3,7,0,"alpha",0),\nCO_FUTURE_GENERATOR_STOP)\n\nannotations=_Feature((3,7,0,"beta",1),\nNone,\nCO_FUTURE_ANNOTATIONS)\n',[]],browser:[".py","",[],1],"browser.ajax":[".py","from _ajax import *\n",["_ajax"]],"browser.highlight":[".py","import re\n\nfrom browser import html\n\nletters='abcdefghijklmnopqrstuvwxyz'\nletters +=letters.upper()+'_'\ndigits='0123456789'\n\nbuiltin_funcs=\"\"\"abs|dict|help|min|setattr|\nall|dir|hex|next|slice|\nany|divmod|id|object|sorted|\nascii|enumerate|input|oct|staticmethod|\nbin|eval|int|open|str|\nbool|exec|isinstance|ord|sum|\nbytearray|filter|issubclass|pow|super|\nbytes|float|iter|print|tuple|\ncallable|format|len|property|type|\nchr|frozenset|list|range|vars|\nclassmethod|getattr|locals|repr|zip|\ncompile|globals|map|reversed|__import__|\ncomplex|hasattr|max|round|\ndelattr|hash|memoryview|set|\n\"\"\"\n\nkeywords=[\n'False',\n'None',\n'True',\n'and',\n'as',\n'assert',\n'async',\n'await',\n'break',\n'class',\n'continue',\n'def',\n'del',\n'elif',\n'else',\n'except',\n'finally',\n'for',\n'from',\n'global',\n'if',\n'import',\n'in',\n'is',\n'lambda',\n'nonlocal',\n'not',\n'or',\n'pass',\n'raise',\n'return',\n'try',\n'while',\n'with',\n'yield',\n]\nkw_pattern='^('+'|'.join(keywords)+')$'\nbf_pattern='^('+builtin_funcs.replace(\"\\n\",\"\")+')$'\n\ndef escape(txt):\n txt=txt.replace('<','<')\n txt=txt.replace('>','>')\n return txt\n \ndef highlight(txt):\n res=html.PRE()\n i=0\n name=''\n while i 3:\n self.info=line[3:]\n else:\n self.info=\"block\"\n elif line.startswith(\"`\")and len(line)>1:\n self.info=line[1:]\n elif line.startswith(\">>>\"):\n self.info=\"python-console\"\n else:\n self.info=None\n \n def to_html(self):\n if self.lines[0].startswith(\"`\"):\n self.lines.pop(0)\n res=escape('\\n'.join(self.lines))\n res=unmark(res)\n _class=self.info or \"marked\"\n res='
%s
\\n'%(_class,res)\n return res,[]\n \n \nclass Marked:\n\n def __init__(self,line=''):\n self.line=line\n self.children=[]\n \n def to_html(self):\n return apply_markdown(self.line)\n \n \nclass Script:\n\n def __init__(self,src):\n self.src=src\n \n def to_html(self):\n return self.src,[]\n \n \n \nrefs={}\nref_pattern=r\"^\\[(.*)\\]:\\s+(.*)\"\n\ndef mark(src):\n\n global refs\n refs={}\n \n \n \n \n \n \n \n \n src=src.replace('\\r\\n','\\n')\n \n \n src=re.sub(r'(.*?)\\n=+\\n','\\n# \\\\1\\n',src)\n src=re.sub(r'(.*?)\\n-+\\n','\\n## \\\\1\\n',src)\n \n lines=src.split('\\n')+['']\n \n i=bq=0\n ul=ol=0\n \n while i '):\n nb=1\n while nb ':\n nb +=1\n lines[i]=lines[i][nb:]\n if nb >bq:\n lines.insert(i,'
'*(nb -bq))\n i +=1\n bq=nb\n elif nb '*(bq -nb))\n i +=1\n bq=nb\n elif bq >0:\n lines.insert(i,'
'*bq)\n i +=1\n bq=0\n \n \n if(lines[i].strip()and lines[i].lstrip()[0]in '-+*'\n and len(lines[i].lstrip())>1\n and lines[i].lstrip()[1]==' '\n and(i ==0 or ul or not lines[i -1].strip())):\n \n nb=1+len(lines[i])-len(lines[i].lstrip())\n lines[i]='
  • '+lines[i][nb:]\n if nb >ul:\n lines.insert(i,'
      '*(nb -ul))\n i +=1\n elif nb '*(ul -nb))\n i +=1\n ul=nb\n elif ul and not lines[i].strip():\n if(i 1 and nline[1]==' ':\n pass\n else:\n lines.insert(i,'
    '*ul)\n i +=1\n ul=0\n \n \n mo=re.search(r'^(\\d+\\.)',lines[i])\n if mo:\n if not ol:\n lines.insert(i,'
      ')\n i +=1\n lines[i]='
    1. '+lines[i][len(mo.groups()[0]):]\n ol=1\n elif(ol and not lines[i].strip()and i ')\n i +=1\n ol=0\n \n i +=1\n \n if ul:\n lines.append(''*ul)\n if ol:\n lines.append('
    '*ol)\n if bq:\n lines.append(''*bq)\n \n sections=[]\n scripts=[]\n section=Marked()\n \n i=0\n while i '):\n sections.append(Script('\\n'.join(lines[i:j+1])))\n for k in range(i,j+1):\n lines[k]=''\n section=Marked()\n break\n j +=1\n i=j\n continue\n \n \n elif line.startswith('#'):\n level=1\n line=lines[i]\n while level ','>')\n czone=czone.replace('_','_')\n czone=czone.replace('*','*')\n return czone\n \ndef s_escape(mo):\n\n czone=mo.string[mo.start():mo.end()]\n return escape(czone)\n \ndef unmark(code_zone):\n\n code_zone=code_zone.replace('_','_')\n return code_zone\n \ndef s_unmark(mo):\n\n code_zone=mo.string[mo.start():mo.end()]\n code_zone=code_zone.replace('_','_')\n return code_zone\n \ndef apply_markdown(src):\n\n scripts=[]\n key=None\n \n i=0\n while i 0 and src[i -1]=='!'\n start_a=i+1\n nb=1\n while True:\n end_a=src.find(']',i)\n if end_a ==-1:\n break\n nb +=src[i+1:end_a].count('[')-1\n i=end_a+1\n if nb ==0:\n break\n if end_a >-1 and src[start_a:end_a].find('\\n')==-1:\n link=src[start_a:end_a]\n rest=src[end_a+1:].lstrip()\n if rest and rest[0]=='(':\n j=0\n while True:\n end_href=rest.find(')',j)\n if end_href ==-1:\n break\n if rest[end_href -1]=='\\\\':\n j=end_href+1\n else:\n break\n if end_href >-1 and rest[:end_href].find('\\n')==-1:\n if img_link:\n tag=('\"'+link+'\"')\n src=src[:start_a -2]+tag+rest[end_href+1:]\n else:\n tag=(''+link\n +'')\n src=src[:start_a -1]+tag+rest[end_href+1:]\n i=start_a+len(tag)\n elif rest and rest[0]=='[':\n j=0\n while True:\n end_key=rest.find(']',j)\n if end_key ==-1:\n break\n if rest[end_key -1]=='\\\\':\n j=end_key+1\n else:\n break\n if end_key >-1 and rest[:end_key].find('\\n')==-1:\n if not key:\n key=link\n if key.lower()not in refs:\n raise KeyError('unknown reference %s'%key)\n url=refs[key.lower()]\n tag=''+link+''\n src=src[:start_a -1]+tag+rest[end_key+1:]\n i=start_a+len(tag)\n \n i +=1\n \n \n \n \n \n \n \n \n \n rstr=' '+''.join(random.choice(letters)for i in range(16))+' '\n \n i=0\n state=None\n start=-1\n data=''\n tags=[]\n while i 'and state is None:\n tags.append(src[i:j+1])\n src=src[:i]+rstr+src[j+1:]\n i +=len(rstr)\n break\n elif state =='\"'or state ==\"'\":\n data +=src[j]\n elif src[j]=='\\n':\n \n \n src=src[:i]+'<'+src[i+1:]\n j=i+4\n break\n j +=1\n elif src[i]=='`'and i >0:\n if src[i -1]!='\\\\':\n \n j=i+1\n while j \\1'%(tag,tag),src)\n \n \n src=re.sub(r'\\*(.+?)\\*',r'<%s>\\1'%('EM','EM'),src)\n \n \n \n src=re.sub(r'\\b_(.*?)_\\b',r'\\1',src,\n flags=re.M)\n \n \n code_pattern=r'\\`(.*?)\\`'\n src=re.sub(code_pattern,r'\\1',src)\n \n \n while True:\n pos=src.rfind(rstr)\n if pos ==-1:\n break\n repl=tags.pop()\n src=src[:pos]+repl+src[pos+len(rstr):]\n \n src='

    '+src+'

    '\n \n return src,scripts\n",["random","re"]],"browser.object_storage":[".py","import json\n\nclass _UnProvided():\n pass\n \n \nclass ObjectStorage():\n\n def __init__(self,storage):\n self.storage=storage\n \n def __delitem__(self,key):\n del self.storage[json.dumps(key)]\n \n def __getitem__(self,key):\n return json.loads(self.storage[json.dumps(key)])\n \n def __setitem__(self,key,value):\n self.storage[json.dumps(key)]=json.dumps(value)\n \n def __contains__(self,key):\n return json.dumps(key)in self.storage\n \n def get(self,key,default=None):\n if json.dumps(key)in self.storage:\n return self.storage[json.dumps(key)]\n return default\n \n def pop(self,key,default=_UnProvided()):\n if type(default)is _UnProvided or json.dumps(key)in self.storage:\n return json.loads(self.storage.pop(json.dumps(key)))\n return default\n \n def __iter__(self):\n keys=self.keys()\n return keys.__iter__()\n \n def keys(self):\n return[json.loads(key)for key in self.storage.keys()]\n \n def values(self):\n return[json.loads(val)for val in self.storage.values()]\n \n def items(self):\n return list(zip(self.keys(),self.values()))\n \n def clear(self):\n self.storage.clear()\n \n def __len__(self):\n return len(self.storage)\n",["json"]],"browser.session_storage":[".py",'\nimport sys\nfrom browser import window\nfrom.local_storage import LocalStorage\n\nhas_session_storage=hasattr(window,\'sessionStorage\')\n\nclass SessionStorage(LocalStorage):\n\n storage_type="session_storage"\n \n def __init__(self):\n if not has_session_storage:\n raise EnvironmentError("SessionStorage not available")\n self.store=window.sessionStorage\n \nif has_session_storage:\n storage=SessionStorage()\n',["browser","browser.local_storage","sys"]],"browser.svg":[".py","from _svg import *\n",["_svg"]],"browser.template":[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport tb as traceback\nfrom browser import document,html,console\n\n\n\nvoid_elements=["AREA","BASE","BR","COL","EMBED","HR","IMG","INPUT",\n"LINK","META","PARAM","SOURCE","TRACK","WBR"]\n\ndef copy(obj):\n if isinstance(obj,dict):\n res={}\n for key,value in obj.items():\n res[key]=copy(value)\n return res\n elif isinstance(obj,(list,tuple)):\n return obj[:]\n elif isinstance(obj,set):\n return{x for x in obj}\n else:\n return obj\n \n \nclass ElementData:\n \'\'\n \n \n def __init__(self,**kw):\n \'\'\n\n\n \n self.__keys__=set()\n for key,value in kw.items():\n object.__setattr__(self,key,value)\n self.__keys__.add(key)\n \n def __setattr__(self,attr,value):\n \'\'\n\n\n \n object.__setattr__(self,attr,value)\n if attr !="__keys__":\n self.__keys__.add(attr)\n \n def to_dict(self):\n \'\'\n return{k:getattr(self,k)for k in self.__keys__}\n \n def clone(self):\n \'\'\n\n\n \n return copy(self.to_dict())\n \n \nclass TemplateError(Exception):\n pass\n \n \nclass Template:\n\n def __init__(self,element,callbacks=[]):\n if isinstance(element,str):\n element=document[element]\n self.element=element\n self.line_mapping={}\n self.line_num=1\n self.indent=0\n self.python=""\n self.parse(element)\n self.callbacks=callbacks\n \n def add(self,content,elt):\n self.python +=content\n self.line_mapping[self.line_num]=elt\n if content.endswith("\\n"):\n self.line_num +=1\n \n def add_indent(self,content,elt):\n self.add(" "*self.indent+content,elt)\n \n def write(self,content):\n self.html +=str(content)\n \n def parse(self,elt):\n \'\'\n\n \n \n \n is_block=False\n \n if elt.nodeType ==3:\n \n if elt.text.strip():\n text=elt.text.replace(\'"\',""")\n text=text.replace("\\n","\\\\n")\n text=\'"\'+text+\'"\'\n \n nb_braces=elt.text.count("{")\n if nb_braces:\n nb_double_braces=elt.text.count("{{")\n if nb_double_braces !=nb_braces:\n lines=[line for line in elt.text.split("\\n")\n if line.strip()]\n text=\'f"""\'+" ".join(lines)+\'"""\'\n self.add_indent("__write__("+text+")\\n",elt)\n \n elif hasattr(elt,"tagName"):\n start_tag="__write__(\'<"+elt.tagName\n block=None\n \n \n static_attrs=[]\n dynamic_attrs=[]\n for item in elt.attributes:\n if item.name =="b-code":\n \n block=item.value.rstrip(":")+":"\n elif item.name =="b-include":\n \n elt.html=open(item.value).read()\n else:\n value=item.value.replace("\\n","")\n if "{"in value:\n dynamic_attrs.append("\'"+item.name+"\', f\'"+\n value+"\'")\n else:\n static_attrs.append(item.name+\'="\'+value+\'"\')\n \n if block:\n self.add_indent(block+"\\n",elt)\n self.indent +=1\n is_block=True\n \n self.add_indent(start_tag,elt)\n \n if static_attrs or dynamic_attrs:\n self.add(" ",elt)\n \n for attr in static_attrs:\n self.add_indent(attr+" ",elt)\n \n if dynamic_attrs:\n self.add("\')\\n",elt)\n for attr in dynamic_attrs:\n self.add_indent("__render_attr__("+attr+")\\n",elt)\n self.add_indent("__write__(\'>\')\\n",elt)\n else:\n self.add_indent(">\')\\n",elt)\n \n for child in elt.childNodes:\n self.parse(child)\n \n if hasattr(elt,"tagName")and elt.tagName not in void_elements:\n self.add_indent("__write__(\'\')\\n",elt)\n \n if is_block:\n self.indent -=1\n \n def on(self,element,event,callback):\n def func(evt):\n cache=self.data.clone()\n callback(evt,self)\n new_data=self.data.to_dict()\n if new_data !=cache:\n self.render(**new_data)\n element.bind(event,func)\n \n def render_attr(self,name,value):\n \'\'\n\n\n\n\n\n \n if value =="False":\n return\n elif value =="True":\n self.html +=" "+name\n else:\n self.html +=" "+name+\'="\'+str(value)+\'"\'\n \n def render(self,**ns):\n \'\'\n\n \n \n self.data=ElementData(**ns)\n \n \n ns.update({"__write__":self.write,\n "__render_attr__":self.render_attr})\n \n self.html=""\n \n \n try:\n exec(self.python,ns)\n except Exception as exc:\n msg=traceback.format_exc()\n if isinstance(exc,SyntaxError):\n line_no=exc.args[2]\n else:\n tb=exc.__traceback__\n while tb is not None:\n line_no=tb.tb_lineno\n tb=tb.tb_next\n elt=self.line_mapping[line_no]\n print("Error rendering the element:",elt.nodeType)\n if elt.nodeType ==3:\n print(elt.textContent)\n else:\n try:\n print(elt.outerHTML)\n except AttributeError:\n print(\'no outerHTML for\',elt)\n print(elt.html)\n print(f"{exc.__class__.__name__}: {exc}")\n return\n \n \n \n \n \n \n \n if self.element.nodeType !=9:\n rank=self.element.index()\n parent=self.element.parent\n self.element.outerHTML=self.html\n self.element=parent.childNodes[rank]\n \n else:\n \n self.element.html=self.html\n \n \n self.element.unbind()\n callbacks={}\n for callback in self.callbacks:\n callbacks[callback.__name__]=callback\n \n \n \n for element in self.element.select("*[b-on]"):\n bindings=element.getAttribute("b-on")\n bindings=bindings.split(";")\n for binding in bindings:\n parts=binding.split(":")\n if not len(parts)==2:\n raise TemplateError(f"wrong binding: {binding}")\n event,func_name=[x.strip()for x in parts]\n if not func_name in callbacks:\n print(element.outerHTML)\n raise TemplateError(f"unknown callback: {func_name}")\n self.on(element,event,callbacks[func_name])\n',["browser","tb"]],"browser.timer":[".py","from browser import self as window\n\n\nclear_interval=window.clearInterval\n\nclear_timeout=window.clearTimeout\n\ndef set_interval(func,interval,*args):\n return window.setInterval(func,interval,*args)\n \ndef set_timeout(func,interval,*args):\n return int(window.setTimeout(func,interval,*args))\n \ndef request_animation_frame(func):\n if func.__code__.co_argcount ==0:\n raise TypeError(f'function {func.__code__.co_name}() '+\n 'should take a single argument')\n return int(window.requestAnimationFrame(func))\n \ndef cancel_animation_frame(int_id):\n window.cancelAnimationFrame(int_id)\n \ndef set_loop_timeout(x):\n\n assert isinstance(x,int)\n __BRYTHON__.loop_timeout=x\n",["browser"]],"browser.ui":[".py","from. import html,window,console,document\n\n\nclass UIError(Exception):\n pass\n \n \nclass Border:\n\n def __init__(self,width=1,style='solid',color='#000',radius=None):\n self.width=width\n self.style=style\n self.color=color\n self.radius=radius\n \n \nclass Font:\n\n def __init__(self,family='Arial',size=None,weight='normal',\n style='normal'):\n self.family=family\n self.size=size\n self.weight=weight\n self.style=style\n \n \nclass _Directions:\n\n def __init__(self,*args,**kw):\n if len(args)==0:\n values=[0]*4\n elif len(args)==1:\n values=[args[0]]*4\n elif len(args)==2:\n values=[args[0],args[1]]*2\n elif len(args)==3:\n values=args+[0]\n elif len(args)==4:\n values=args\n else:\n raise ValueError('Padding expects at most 4 arguments, got '+\n f'{len(args)}')\n self.top,self.right,self.bottom,self.left=values\n if(x :=kw.get('x'))is not None:\n self.left=self.right=x\n if(y :=kw.get('y'))is not None:\n self.top=self.bottom=y\n if(top :=kw.get('top'))is not None:\n self.top=top\n if(right :=kw.get('right'))is not None:\n self.right=right\n if(bottom :=kw.get('bottom'))is not None:\n self.bottom=bottom\n if(left :=kw.get('left'))is not None:\n self.left=left\n \n \nclass _Coords:\n\n def __init__(self,left,top,width,height):\n self.left=left\n self.top=top\n self.width=width\n self.height=height\n \n \nclass Padding(_Directions):\n pass\n \n \nclass Mouse:\n\n def __str__(self):\n return f''\n \nmouse=Mouse()\n\nclass Rows:\n\n def __init__(self,widget):\n self.widget=widget\n self._rows=[]\n if hasattr(widget,'_table'):\n console.log('_table',widget._table)\n for row in self._widget.rows:\n cells=[]\n for cell in row.cells:\n cells.append(cell.firstChild)\n self._rows.append(cells)\n return self._rows\n \n \nclass Widget:\n\n def __init_subclass__(cls):\n cls.__str__=Widget.__str__\n \n def __str__(self):\n return f''\n \n def add(self,widget,row='same',column=None,**kw):\n widget.master=self\n widget.config(**widget._options)\n widget.grid(row=row,column=column,**kw)\n widget.kw=kw\n \n def add_row(self,widgets,row='next',column_start=0,**kw):\n ''\n for i,widget in enumerate(widgets):\n if i ==0:\n self.add(widget,row=row,column=column_start,**kw)\n else:\n self.add(widget,**kw)\n \n def add_from_table(self,table,**kw):\n ''\n \n for line in table:\n self.add(Label(line[0]),row='next')\n for cell in line[1:]:\n if isinstance(cell,str):\n self.add(Label(cell),align='left',**kw)\n else:\n self.add(Label(cell),align='right',**kw)\n \n def apply_default_style(self):\n if hasattr(self,'default_style'):\n for key,value in self.default_style.items():\n self.style[key]=value\n \n def config(self,**kw):\n element=self\n \n if(value :=kw.get('value')):\n if not isinstance(self,(Label,Entry)):\n raise TypeError(\"invalid keyword 'value' for \"+\n self.__class__.__name__)\n element._value=value\n element.text=value\n \n for attr in['type','name','checked']:\n if(value :=kw.get(attr))is not None:\n setattr(element,attr,value)\n \n if(title :=kw.get('title'))and isinstance(self,Box):\n element.title_bar.text=title\n \n for attr in['width','height','top','left']:\n if(value :=kw.get(attr)):\n \n match value:\n case str():\n setattr(element.style,attr,value)\n case int()|float():\n setattr(element.style,attr,f'{round(value)}px')\n case _:\n raise ValueError(f\"{attr} should be str or number, \"+\n f\"not '{value.__class__.__name__}'\")\n \n if(cursor :=kw.get('cursor')):\n element.style.cursor=cursor\n \n if(command :=kw.get('command')):\n element.bind('click',\n lambda ev,command=command:command(ev.target))\n element.style.cursor='default'\n \n if(font :=kw.get('font')):\n element.style.fontFamily=font.family\n element.style.fontWeight=font.weight\n element.style.fontStyle=font.style\n if font.size:\n if isinstance(font.size,str):\n element.style.fontSize=font.size\n else:\n element.style.fontSize=f'{font.size}px'\n \n if(background :=kw.get('background')):\n element.style.backgroundColor=background\n if(color :=kw.get('color')):\n element.style.color=color\n \n if(border :=kw.get('border')):\n if isinstance(border,str):\n element.style.borderWidth=border\n element.style.borderStyle='solid'\n elif isinstance(border,int):\n element.style.borderWidth=f'{border}px'\n element.style.borderStyle='solid'\n elif isinstance(border,Border):\n element.style.borderStyle=border.style\n element.style.borderWidth=f'{border.width}px'\n element.style.borderColor=border.color\n element.style.borderRadius=f'{border.radius}px'\n else:\n raise TypeError('invalid type for border: '+\n border.__class__.__name__)\n \n if(padding :=kw.get('padding')):\n if isinstance(padding,str):\n element.style.padding=padding\n elif isinstance(padding,int):\n element.style.padding=f'{padding}px'\n elif isinstance(padding,Padding):\n for key in['top','right','bottom','left']:\n value=getattr(padding,key)\n attr='padding'+key.capitalize()\n if isinstance(value,str):\n setattr(element.style,attr,value)\n else:\n setattr(element.style,attr,f'{value}px')\n else:\n raise TypeError('invalid type for padding: '+\n padding.__class__.__name__)\n \n if(menu :=kw.get('menu'))is not None:\n if isinstance(self,Box):\n menu._build()\n self.insertBefore(menu.element,\n self.title_bar.nextSibling)\n self.menu=menu\n \n if(callbacks :=kw.get('callbacks'))is not None:\n for event,func in callbacks.items():\n element.bind(event,self._wrap_callback(func))\n \n self._config=getattr(self,'_config',{})\n self._config |=kw\n \n def _wrap_callback(self,func):\n def f(event):\n res=func(event)\n if res is False:\n event.stopPropagation()\n event.preventDefault()\n return res\n return f\n \n def coords(self):\n if not hasattr(self,'master'):\n raise TypeError(\"attribute 'coords' not set until widget is added\")\n parent=self.parentNode\n return _Coords(parent.offsetLeft,parent.offsetTop,parent.offsetWidth,\n parent.offsetHeight)\n \n def grid(self,column=None,columnspan=1,row=None,rowspan=1,align='',\n **options):\n master=self.master\n if not hasattr(master,'_table'):\n master._table=html.TABLE(\n cellpadding=0,\n cellspacing=0,\n style='width:100%;')\n master <=master._table\n if row =='same':\n row=0\n \n master.table=_Wrapper(master._table)\n \n if not hasattr(master,'cells'):\n master.cells=set()\n \n valid=[None,'same','next']\n if not isinstance(row,int)and row not in valid:\n raise ValueError(f'invalid value for row: {row !r}')\n if not isinstance(column,int)and column not in valid:\n raise ValueError(f'invalid value for column: {column !r}')\n \n \n \n \n nb_rows=len(master._table.rows)\n if row is None or row =='next':\n \n row=nb_rows\n if column is None:\n column=0\n elif row =='same':\n row=max(0,nb_rows -1)\n \n if column is None:\n column='next'\n \n for i in range(row -nb_rows+1):\n master._table <=html.TR()\n \n tr=master._table.rows[row]\n \n nb_cols=len(tr.cells)\n if column =='next':\n column=nb_cols\n elif column =='same':\n column=nb_cols -1\n \n \n cols_from_span=[c for(r,c)in master.cells\n if r ==row and c 1:\n td.attrs['colspan']=columnspan\n if rowspan >1:\n td.attrs['rowspan']=rowspan\n \n aligns=align.split()\n if 'left'in aligns:\n td.style.textAlign='left'\n if 'right'in aligns:\n td.style.textAlign='right'\n if 'center'in aligns:\n td.style.textAlign='center'\n if 'top'in aligns:\n td.style.verticalAlign='top'\n if 'bottom'in aligns:\n td.style.verticalAlign='bottom'\n if 'middle'in aligns:\n td.style.verticalAlign='middle'\n \n has_child=len(td.childNodes)>0\n if has_child:\n if hasattr(td.firstChild,'is_inner'):\n inner=td.firstChild\n else:\n inner=html.DIV(style=\"position:relative\")\n inner.is_inner=True\n inner <=td.firstChild\n td <=inner\n self.style.position=\"absolute\"\n self.style.top='0px'\n inner <=self\n else:\n td <=self\n \n self.row=row\n self.column=column\n self.cell=_Wrapper(td)\n \n self.cell.config(**options)\n \n self.row=_Wrapper(tr)\n \n return self\n \n @property\n def rows(self):\n return Rows(self)\n \n def sort_by_row(self,*columns,has_title=False):\n ''\n \n rows=list(self._table.rows)\n if has_title:\n head=rows[0]\n rows=rows[1:]\n \n def first_values(row,rank):\n values=[]\n for i in range(rank):\n col_num,_=columns[i]\n values.append(row.cells[col_num].firstChild._value)\n return values\n \n for i,(col_num,ascending)in enumerate(columns):\n if i ==0:\n rows.sort(key=lambda row:row.cells[col_num].firstChild._value,\n reverse=not ascending)\n else:\n new_rows=[]\n j=0\n while True:\n same_start=[row for row in rows if\n first_values(row,i)==first_values(rows[j],i)]\n same_start.sort(key=lambda r:r.cells[col_num].firstChild._value,\n reverse=not ascending)\n new_rows +=same_start\n j +=len(same_start)\n if j ==len(rows):\n rows=new_rows\n break\n \n if has_title:\n rows.insert(0,head)\n self._table <=rows\n \n \n \nborderColor='#008'\nbackgroundColor='#fff'\ncolor='#000'\n\n\nclass Frame(html.DIV,Widget):\n\n def __init__(self,*args,**options):\n self._options=options\n \n \nclass Bar(Frame):\n\n def __init__(self,**options):\n super().__init__(**options)\n self <=Label(\" \")\n \n \nclass Box(html.DIV,Widget):\n\n default_config={\n 'width':'inherit',\n 'background':backgroundColor,\n 'color':color,\n 'cursor':'default',\n 'menu':None,\n 'font':Font(family='sans-serif',size=12)\n }\n \n def __init__(self,container=document,title=\"\",titlebar=False,**options):\n html.DIV.__init__(self,\n style=\"position:absolute;box-sizing:border-box\")\n \n container <=self\n self._options=self.default_config |options\n self.config(**self._options)\n \n if titlebar:\n self.title_bar=TitleBar(title)\n self.add(self.title_bar)\n \n panel=Frame()\n self.add(panel,row=\"next\",align=\"left\")\n self.panel=panel\n \n self.title_bar.close_button.bind(\"click\",self.close)\n \n self.title_bar.bind(\"mousedown\",self._grab_widget)\n self.title_bar.bind(\"touchstart\",self._grab_widget)\n self.title_bar.bind(\"mouseup\",self._stop_moving)\n self.title_bar.bind(\"touchend\",self._stop_moving)\n self.bind(\"leave\",self._stop_moving)\n self.is_moving=False\n \n elif title:\n raise UIError('cannot set title if titlebar is not set')\n \n def add(self,widget,**kw):\n if hasattr(self,'panel'):\n self.panel.add(widget,**kw)\n else:\n Widget.add(self,widget,**kw)\n \n def add_menu(self,menu):\n ''\n if not hasattr(self,\"_table\"):\n self.add(menu)\n else:\n self.insertBefore(menu,self._table)\n menu._toplevel=True\n \n def close(self,*args):\n self.remove()\n \n def keys(self):\n return[\n 'left','top','width','height'\n 'background','color',\n 'cursor',\n 'menu',\n 'border',\n 'font',\n 'padding']\n \n def _grab_widget(self,event):\n self._remove_menus()\n document.bind(\"mousemove\",self._move_widget)\n document.bind(\"touchmove\",self._move_widget)\n self.is_moving=True\n self.initial=[self.left -event.x,self.top -event.y]\n \n event.preventDefault()\n \n def _move_widget(self,event):\n if not self.is_moving:\n return\n \n \n self.left=self.initial[0]+event.x\n self.top=self.initial[1]+event.y\n \n def _stop_moving(self,event):\n self.is_moving=False\n document.unbind(\"mousemove\")\n document.unbind(\"touchmove\")\n \n def title(self,text):\n self.title_bar.text=text\n \n def _remove_menus(self):\n menu=self._options['menu']\n if menu and menu.open_submenu:\n menu.open_on_mouseenter=False\n menu.open_submenu.element.remove()\n \n \nclass _Wrapper:\n\n def __init__(self,element):\n self.element=element\n \n def config(self,**options):\n Widget.config(self.element,**options)\n \n \nclass Checkbuttons(Frame):\n\n COUNTER=0\n \n def __init__(self,**options):\n Frame.__init__(self,**options)\n self.name=f'checkbutton{self.COUNTER}'\n self.COUNTER +=1\n \n def add_option(self,label,value=None,checked=False):\n self.add(Entry(type=\"checkbox\",name=self.name,\n value=value if value is not None else label,\n checked=checked))\n self.add(Label(label))\n \n \nclass Button(html.BUTTON,Widget):\n\n def __init__(self,*args,**options):\n super().__init__(*args)\n self._options=options\n \n \nclass Entry(html.INPUT,Widget):\n\n def __init__(self,*args,**options):\n self._options=options\n super().__init__(*args)\n \n \nclass Image(html.IMG,Widget):\n\n def __init__(self,src,**options):\n super().__init__(src=src)\n self._options=options\n \n \nclass Label(html.DIV,Widget):\n\n default_style={\n 'whiteSpace':'pre',\n 'padding':'0.3em'\n }\n \n def __init__(self,value,*args,**options):\n self._options=options\n self._value=value\n super().__init__(value,*args)\n if not value:\n self.style.minHeight='1em'\n self.apply_default_style()\n \n \nclass Link(html.A,Widget):\n\n def __init__(self,text,href,**options):\n super().__init__(text,href=href)\n self._options=options\n \n \nclass Listbox(Frame):\n\n def __init__(self,**options):\n self.size=options.pop('size',None)\n self.multiple=options.pop('multiple',False)\n if self.size is not None and not isinstance(self.size,int):\n raise ValueError('size must be an integer')\n Frame.__init__(self,**options)\n self._selected=[]\n \n def add_option(self,name):\n option=Label(name,\n callbacks=dict(mouseenter=self.enter_option,\n mouseleave=self.leave_option,\n click=self.select_option))\n self.add(option,row='next')\n if self.size is not None and option.row ==self.size -1:\n self.style.height=f'{self.offsetHeight}px'\n self.style.overflowY=\"scroll\"\n \n def enter_option(self,widget):\n if widget not in self._selected:\n widget.config(background='lightblue')\n \n def leave_option(self,widget):\n if widget not in self._selected:\n widget.config(background='inherit')\n \n def select_option(self,widget):\n if self.multiple:\n if widget in self._selected:\n self.unselect(widget)\n self.enter_option(widget)\n else:\n self.select(widget)\n else:\n if self._selected:\n self.unselect(self._selected[0])\n self.select(widget)\n \n def select(self,widget):\n widget.config(background='blue',color='white')\n self._selected.append(widget)\n \n def unselect(self,widget):\n widget.config(background='inherit',color='inherit')\n self._selected.remove(widget)\n \n \nclass Menu(Frame):\n\n default_config={\n 'background':'#eee'\n }\n \n toplevel_options={\n 'background':'inherit',\n 'color':'inherit',\n 'highlight-background':'LightBlue',\n 'highlight-color':'inherit'\n }\n \n submenu_options={\n 'background':'inherit',\n 'color':'inherit',\n 'highlight-background':'blue',\n 'highlight-color':'white'\n }\n \n def __init__(self,master,label=None,**options):\n self.master=master\n self._toplevel_options=(self.toplevel_options |\n options.pop('toplevel_options',{}))\n self._submenu_options=(self.submenu_options |\n options.pop('submenu_options',{}))\n \n self._toplevel=not isinstance(master,Menu)\n self._options=self.default_config |options\n Frame.__init__(self,**self._options)\n \n if not self._toplevel:\n if label is None:\n raise ValueError('missing submenu label')\n master.add_submenu(label,self)\n elif not hasattr(master,\"_table\"):\n master.add(self)\n else:\n master.insertBefore(self,master._table)\n \n \n def add_option(self,label,command=None):\n callbacks=dict(mouseenter=self.enter,\n mouseleave=self.leave)\n if command:\n callbacks['click']=command\n name=Label(label,padding=5,callbacks=callbacks)\n self.add(name,row=\"next\")\n \n def add_submenu(self,label,submenu=None):\n menu_options={\n 'callbacks':dict(click=self.submenu,\n mouseenter=self.enter,\n mouseleave=self.leave),\n 'padding':5\n }\n frame=Frame(**menu_options)\n frame.submenu=submenu\n \n frame.add(Label(label))\n if not self._toplevel:\n frame.add(Label('▶',padding=Padding(left=\"1em\")))\n if self._toplevel:\n self.add(frame)\n else:\n self.add(frame,row=\"next\")\n \n def enter(self,widget):\n if self._toplevel:\n options=self._toplevel_options\n else:\n options=self._submenu_options\n widget.config(background=options['highlight-background'],\n color=options['highlight-color'])\n if hasattr(widget.master,'open_submenu'):\n self.submenu(widget)\n \n def leave(self,widget):\n if self._toplevel:\n options=self._toplevel_options\n else:\n options=self._submenu_options\n widget.config(background=options['background'],\n color=options['color'])\n \n def submenu(self,widget):\n master=widget.master\n if hasattr(master,'open_submenu'):\n master.open_submenu.remove()\n if not hasattr(widget,\"submenu\"):\n return\n coords=widget.coords()\n if self._toplevel:\n top=coords.top+coords.height\n left=coords.left\n else:\n top=coords.top+widget.closest('TABLE').offsetTop\n left=coords.left+master.master.clientWidth\n \n box=Box(container=widget,titlebar=None,\n top=f'{top}px',left=f'{left}px')\n box.add(widget.submenu)\n master.open_submenu=box\n \nclass Radiobuttons(Frame):\n\n COUNTER=0\n \n def __init__(self,**options):\n Frame.__init__(self,**options)\n self.name=\"radiobutton{self.COUNTER}\"\n self.COUNTER +=1\n \n def add_option(self,label,value=None,checked=False):\n self.add(Entry(type=\"radio\",\n name=self.name,\n value=value if value is not None else label,\n checked=checked))\n self.add(Label(label))\n \n \nclass Slider(Frame):\n\n default_config={\n 'background':\"#bbb\"\n }\n \n def __init__(self,ratio=0,width=300,height=20,**options):\n background=options.pop('background',self.default_config['background'])\n Frame.__init__(self,width=width,height=height,**options)\n self.style.display='flex'\n self.style.alignItems='center'\n self.bar=html.DIV(style=\"width:100%;height:25%;border-radius:3px;\")\n self.bar.style.backgroundColor=background\n self <=self.bar\n self.slider=html.DIV(style=\"position:absolute;\"+\n \"cursor:grab;\")\n self.slider.style.backgroundColor=background\n self <=self.slider\n self.slider.bind('mousedown',self.grab_slider)\n self.ratio=ratio\n self.moving=False\n \n def grid(self,**kw):\n Widget.grid(self,**kw)\n ray=round(self.offsetWidth *0.03)\n self.min_x=-ray\n self.max_x=round(self.width -self.slider.width -ray)\n self.interval=self.width -self.slider.width\n self.slider.left=self.min_x+round(self.interval *self.ratio)\n self.slider.style.height=self.slider.style.width=f'{2 *ray}px'\n self.slider.style.borderRadius=\"50%\"\n print(self.slider.style.width)\n \n def grab_slider(self,event):\n self.x0=self.slider.left\n self.mouse0=event.clientX\n document.bind('mousemove',self.move_slider)\n document.bind('mouseup',self.release_slider)\n self.moving=True\n event.preventDefault()\n \n def move_slider(self,event):\n event.preventDefault()\n if self.moving:\n dx=event.clientX -self.mouse0\n x=self.x0+dx\n if x self.max_x:\n x=self.max_x\n self.slider.left=x\n self.ratio=(x -self.min_x)/self.interval\n evt=window.CustomEvent.new('move')\n evt.clientX=event.clientX\n evt.clientY=event.clientY\n self.dispatchEvent(evt)\n return False\n \n def release_slider(self,event):\n self.moving=False\n document.unbind('mousemove',self.move_slider)\n document.unbind('mouseup',self.release_slider)\n \n \nclass Text(html.DIV,Widget):\n\n default_style={\n 'borderWidth':'1px',\n 'borderStyle':'solid',\n 'borderColor':'#999',\n 'boxSizing':'border-box'\n }\n \n def __init__(self,*args,**options):\n self.apply_default_style()\n self._options=options\n super().__init__(*args)\n self.attrs['contenteditable']=True\n \n \nclass TitleBar(html.DIV,Widget):\n\n default_config={\n 'background':'#f0f0f0',\n 'cursor':'default'\n }\n \n def __init__(self,title='',*args,**options):\n self._options=self.default_config |options\n super().__init__('',*args)\n \n self.add(Label(title))\n self.close_button=Button(\"╳\",\n padding=Padding(bottom=10),\n background=\"inherit\",\n border=Border(width=0))\n \n self.add(self.close_button,align=\"right top\")\n \n self.config(**self._options)\n \n",["browser"]],"browser.webcomponent":[".py","from _webcomponent import *\n",["_webcomponent"]],"browser.websocket":[".py","from browser import window\n\nif hasattr(window,'WebSocket'):\n supported=True\n WebSocket=window.WebSocket.new\nelse:\n supported=False\n \n class WebSocket:\n def __init__(self,*args):\n raise NotImplementedError\n",["browser"]],"browser.worker":[".py","from _webworker import *\n",["_webworker"]],"browser.widgets.dialog":[".py",'from browser import aio,console,document,html,window\n\nstyle_sheet="""\n:root {\n --brython-dialog-font-family: Arial;\n --brython-dialog-font-size: 100%;\n --brython-dialog-bgcolor: #fff;\n --brython-dialog-border-color: #000;\n --brython-dialog-title-bgcolor: CadetBlue;\n --brython-dialog-title-color: #fff;\n --brython-dialog-close-bgcolor: #fff;\n --brython-dialog-close-color: #000;\n}\n\n.brython-dialog-main {\n font-family: var(--brython-dialog-font-family);\n font-size: var(--brython-dialog-font-size);\n background-color: var(--brython-dialog-bgcolor);\n left: 10px;\n top: 10px;\n border-style: solid;\n border-color: var(--brython-dialog-border-color);\n border-width: 1px;\n z-index: 10;\n}\n\n.brython-dialog-title {\n background-color: var(--brython-dialog-title-bgcolor);\n color: var(--brython-dialog-title-color);\n border-style: solid;\n border-color: var(--brython-dialog-border-color);\n border-width: 0px 0px 1px 0px;\n padding: 0.4em;\n cursor: default;\n}\n\n.brython-dialog-close {\n float: right;\n background-color: var(--brython-dialog-close-bgcolor);\n color: var(--brython-dialog-close-color);\n cursor: default;\n padding: 0.1em;\n}\n\n.brython-dialog-panel {\n box-sizing: border-box;\n padding:0.2em;\n}\n\n.brython-dialog-message {\n padding-right: 0.6em;\n}\n\n.brython-dialog-button {\n margin: 0.5em;\n}\n"""\n\nclass Dialog(html.DIV):\n \'\'\n\n\n\n\n\n \n \n def __init__(self,title="",*,\n top=None,left=None,ok_cancel=False,can_close=True,\n default_css=True):\n if default_css:\n for stylesheet in document.styleSheets:\n if stylesheet.ownerNode.id =="brython-dialog":\n break\n else:\n document <=html.STYLE(style_sheet,id="brython-dialog")\n \n html.DIV.__init__(self,style=dict(position="absolute"),\n Class="brython-dialog-main")\n \n self.title_bar=html.DIV(html.SPAN(title),Class="brython-dialog-title")\n self <=self.title_bar\n if can_close:\n self.close_button=html.SPAN("×",Class="brython-dialog-close")\n self.title_bar <=self.close_button\n self.close_button.bind("click",self.close)\n \n self.panel=html.DIV(Class="brython-dialog-panel")\n self <=self.panel\n \n if ok_cancel:\n ok_cancel_zone=html.DIV(style={"text-align":"center"})\n ok,cancel="Ok","Cancel"\n if isinstance(ok_cancel,(list,tuple)):\n if not len(ok_cancel)==2:\n raise ValueError(\n f"ok_cancel expects 2 elements, got {len(ok_cancel)}")\n ok,cancel=ok_cancel\n self.ok_button=html.BUTTON(ok,Class="brython-dialog-button")\n self.cancel_button=html.BUTTON(cancel,\n Class="brython-dialog-button")\n self.cancel_button.bind("click",self.close)\n ok_cancel_zone <=self.ok_button+self.cancel_button\n self <=ok_cancel_zone\n \n document <=self\n cstyle=window.getComputedStyle(self)\n \n \n if left is None:\n width=round(float(cstyle.width[:-2])+0.5)\n left=int((window.innerWidth -width)/2)\n self.left=left\n self.style.left=f\'{left}px\'\n if top is None:\n height=round(float(cstyle.height[:-2])+0.5)\n top=int((window.innerHeight -height)/2)\n \n top +=round(document.scrollingElement.scrollTop)\n self.top=top\n self.style.top=f\'{top}px\'\n \n self.title_bar.bind("mousedown",self.mousedown)\n self.title_bar.bind("touchstart",self.mousedown)\n self.title_bar.bind("mouseup",self.mouseup)\n self.title_bar.bind("touchend",self.mouseup)\n self.bind("leave",self.mouseup)\n self.is_moving=False\n \n def close(self,*args):\n ev=window.CustomEvent.new(\'dialog_close\')\n ev.dialog=self\n document.dispatchEvent(ev)\n \n self.remove()\n \n def mousedown(self,event):\n document.bind("mousemove",self.mousemove)\n document.bind("touchmove",self.mousemove)\n self.is_moving=True\n self.initial=[self.left -event.x,self.top -event.y]\n self.mouse_start=[event.x,event.y]\n \n event.preventDefault()\n \n ev=window.CustomEvent.new(\'dialog_down\')\n ev.x=event.x\n ev.y=event.y\n ev.dialog=self\n document.dispatchEvent(ev)\n \n def mousemove(self,event):\n if not self.is_moving:\n return\n \n \n self.left=self.initial[0]+event.x\n self.top=self.initial[1]+event.y\n \n ev=window.CustomEvent.new(\'dialog_move\')\n ev.dx=event.x -self.mouse_start[0]\n ev.dy=event.y -self.mouse_start[1]\n ev.dialog=self\n document.dispatchEvent(ev)\n \n def mouseup(self,event):\n self.is_moving=False\n document.unbind("mousemove")\n document.unbind("touchmove")\n \n \nclass EntryDialog(Dialog):\n \'\'\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,title,message=None,*,\n top=None,left=None,default_css=True):\n Dialog.__init__(self,title,\n top=top,left=left,ok_cancel=True,\n default_css=default_css)\n self.message=html.SPAN(message or \'\',Class="brython-dialog-message")\\\n or ""\n self.entry=html.INPUT()\n self.panel <=self.message+self.entry\n self.entry.focus()\n \n self.entry.bind("keypress",self.callback)\n self.ok_button.bind("click",self.callback)\n \n @property\n def value(self):\n return self.entry.value\n \n def callback(self,evt):\n if evt.target ==self.entry and evt.key !="Enter":\n return\n self.dispatchEvent(window.Event.new("entry"))\n \nasync def Input(message=None):\n dialog=EntryDialog(\'Enter\',message)\n event=await aio.event(dialog,\'entry\')\n result=event.target.value\n dialog.close()\n return result\n \nclass InfoDialog(Dialog):\n \'\'\n \n def __init__(self,title,message,*,\n top=None,left=None,default_css=True,\n remove_after=None,ok=False):\n \'\'\n \n Dialog.__init__(self,title,\n top=top,left=left,default_css=default_css)\n self.panel <=html.DIV(message)\n if ok:\n ok=ok if isinstance(ok,str)else "Ok"\n self.ok_button=html.BUTTON(ok,Class="brython-dialog-button")\n self.panel <=html.P()\n self.panel <=html.DIV(self.ok_button,\n style={"text-align":"center"})\n self.ok_button.bind("click",lambda ev:self.remove())\n if remove_after:\n if not isinstance(remove_after,(int,float)):\n raise TypeError("remove_after should be a number, not "+\n str(remove_after.__class__.__name__))\n window.setTimeout(self.close,remove_after *1000)\n \ndef Info(message=None):\n InfoDialog(\'Information\',str(message))\n',["browser"]],"browser.widgets.menu":[".py",'from browser import console,document,html,window,alert\n\nstyle_sheet="""\n/* Classes for brython.widgets.menu */\n\n:root {\n --brython-menu-font-family: Arial;\n --brython-menu-font-size: 100%;\n --brython-menu-navbar-bgcolor: CadetBlue;\n --brython-menu-navbar-bgcolor-selected: SkyBlue;\n --brython-menu-navbar-color: #fff;\n --brython-menu-color: #000;\n --brython-menu-submenu-bgcolor: #fff;\n --brython-menu-submenu-bgcolor-selected: SkyBlue;\n}\n\n/* Item in the main horizontal navigation bar */\n.brython-menu-navbar-item {\n font-family: var(--brython-menu-font-family);\n font-size: var(--brython-menu-font-size);\n background-color: var(--brython-menu-navbar-bgcolor);\n color: var(--brython-menu-navbar-color);\n padding: 0.5em 1em 0.5em 1em;\n cursor: default;\n}\n\n.brython-menu-navbar-item:hover {\n background-color: var(--brython-menu-navbar-bgcolor-selected);\n}\n\n.brython-menu-navbar-item-selected {\n background-color: var(--brython-menu-navbar-bgcolor-selected);\n}\n\n/* Table for a submenu, opened by a click on an item */\n.brython-menu-submenu {\n font-family: var(--brython-menu-font-family);\n font-size: var(--brython-menu-font-size);\n background-color: var(--brython-menu-submenu-bgcolor);\n position: absolute;\n border-style: solid;\n border-width: 1px;\n border-color: var(--brython-menu-color);\n border-spacing: 0;\n}\n\n/* TR for a submenu item row */\n.brython-menu-submenu-row:hover {\n color: var(--brython-menu-color);\n background-color: var(--brython-menu-submenu-bgcolor-selected);\n}\n\n.brython-menu-submenu-row-selected {\n color: var(--brython-menu-color);\n background-color: var(--brython-menu-submenu-bgcolor-selected);\n}\n\n/*\n TD for a cell in a submenu row\n Each row has two cells, one for the item label, the other one\n filled with a > if the item has a submenu\n*/\n.brython-menu-submenu-item {\n font-family: var(--brython-menu-font-family);\n padding: 0.3em 0.3em 0.3em 1em;\n cursor: default;\n}\n\n/* end of browser.widgets.menu classes */\n\n"""\n\n\nclass Menu:\n\n def __init__(self,container=document.body,parent=None,default_css=True):\n \'\'\n\n \n self.container=container\n self.parent=parent\n \n if default_css:\n \n for stylesheet in document.styleSheets:\n if stylesheet.ownerNode.id =="brython-menu":\n break\n else:\n document <=html.STYLE(style_sheet,id="brython-menu")\n \n self.default_css=default_css\n \n if parent:\n parent.submenu=html.TABLE(Class="brython-menu-submenu")\n parent.submenu.style.position="absolute"\n parent.submenu.style.display="none"\n self.container <=parent.submenu\n \n parent.bind("click",self.unfold)\n \n if not hasattr(self.container,"bind_document"):\n \n document.bind("click",self.hide_menus)\n self.container.bind_document=True\n \n def add_item(self,label,callback=None,menu=False):\n if self.parent is None:\n \n item=html.SPAN(label,Class="brython-menu-navbar-item")\n self.container <=item\n item.bind("click",self.hide_menus)\n else:\n \n item=html.TR(Class="brython-menu-submenu-row")\n self.parent.submenu <=item\n item <=html.TD(label,Class="brython-menu-submenu-item")\n item <=html.TD(">"if menu else " ",\n Class="brython-menu-submenu-item",\n paddingLeft="2em")\n \n if callback is not None:\n item.bind("click",callback)\n \n return item\n \n def add_link(self,label,href):\n \'\'\n if self.parent is None:\n \n item=html.A(label,Class="brython-menu-navbar-link",href=href)\n self.container <=item\n else:\n \n item=html.TR(Class="brython-menu-submenu-row")\n self.parent.submenu <=item\n item <=html.TD(html.A(label,Class="brython-menu-submenu-link",\n href=href))\n \n return item\n \n def add_menu(self,label):\n \'\'\n \n item=self.add_item(label,menu=True)\n \n if self.parent is None:\n \n span=html.SPAN(Class="brython-menu-submenu")\n span.style.position="absolute"\n \n return Menu(self.container,item,default_css=self.default_css)\n \n def hide_menus(self,*args):\n \'\'\n for css in[".brython-menu-navbar-item-selected",\n ".brython-menu-submenu-row-selected"]:\n for item in document.select(css):\n item.classList.remove(css[1:])\n for div in document.select(".brython-menu-submenu"):\n if div.style.display !="none":\n div.style.display="none"\n \n def hide_submenus(self,table):\n \'\'\n for row in table.select("TR"):\n if hasattr(row,"submenu"):\n row.submenu.style.display="none"\n self.hide_submenus(row.submenu)\n \n def unfold(self,ev):\n \'\'\n target=ev.target\n if target.nodeName =="SPAN":\n \n selected=document.select(".brython-menu-navbar-item-selected")\n \n if selected:\n self.hide_menus()\n \n for item in selected:\n item.classList.remove("brython-menu-navbar-item-selected")\n \n submenu=target.submenu\n \n target.classList.add("brython-menu-navbar-item-selected")\n submenu.style.left=f"{target.abs_left}px"\n submenu.style.top=f"{target.abs_top+target.offsetHeight}px"\n \n \n \n if not selected:\n for item in document.select(".brython-menu-navbar-item"):\n item.bind("mouseenter",self.unfold)\n \n \n submenu.style.display="block"\n \n else:\n target=target.closest("TR")\n \n \n table=target.closest("TABLE")\n self.hide_submenus(table)\n \n \n selected=table.select(".brython-menu-submenu-row-selected")\n for row in selected:\n row.classList.remove("brython-menu-submenu-row-selected")\n \n \n target.classList.add("brython-menu-submenu-row-selected")\n \n if hasattr(target,"submenu"):\n \n target.submenu.style.top=f"{target.abs_top}px"\n target.submenu.style.left=\\\n f"{target.abs_left+target.offsetWidth}px"\n target.submenu.style.display="block"\n \n if not selected:\n \n \n for row in table.select("TR"):\n row.bind("mouseenter",self.unfold)\n \n \n \n \n ev.stopPropagation()\n',["browser"]],"browser.widgets":[".py","",[],1],"collections.abc":[".py","from _collections_abc import *\nfrom _collections_abc import __all__\nfrom _collections_abc import _CallableGenericAlias\n",["_collections_abc"]],collections:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=[\n'ChainMap',\n'Counter',\n'OrderedDict',\n'UserDict',\n'UserList',\n'UserString',\n'defaultdict',\n'deque',\n'namedtuple',\n]\n\nimport _collections_abc\nimport sys as _sys\n\nfrom itertools import chain as _chain\nfrom itertools import repeat as _repeat\nfrom itertools import starmap as _starmap\nfrom keyword import iskeyword as _iskeyword\nfrom operator import eq as _eq\nfrom operator import itemgetter as _itemgetter\nfrom reprlib import recursive_repr as _recursive_repr\nfrom _weakref import proxy as _proxy\n\ntry:\n from _collections import deque\nexcept ImportError:\n pass\nelse:\n _collections_abc.MutableSequence.register(deque)\n \ntry:\n from _collections import _deque_iterator\nexcept ImportError:\n pass\n \ntry:\n from _collections import defaultdict\nexcept ImportError:\n pass\n \n \n \n \n \n \nclass _OrderedDictKeysView(_collections_abc.KeysView):\n\n def __reversed__(self):\n yield from reversed(self._mapping)\n \nclass _OrderedDictItemsView(_collections_abc.ItemsView):\n\n def __reversed__(self):\n for key in reversed(self._mapping):\n yield(key,self._mapping[key])\n \nclass _OrderedDictValuesView(_collections_abc.ValuesView):\n\n def __reversed__(self):\n for key in reversed(self._mapping):\n yield self._mapping[key]\n \nclass _Link(object):\n __slots__='prev','next','key','__weakref__'\n \nclass OrderedDict(dict):\n ''\n \n \n \n \n \n \n \n \n \n \n \n \n \n def __new__(cls,/,*args,**kwds):\n ''\n self=dict.__new__(cls)\n self.__hardroot=_Link()\n self.__root=root=_proxy(self.__hardroot)\n root.prev=root.next=root\n self.__map={}\n return self\n \n def __init__(self,other=(),/,**kwds):\n ''\n\n \n self.__update(other,**kwds)\n \n def __setitem__(self,key,value,\n dict_setitem=dict.__setitem__,proxy=_proxy,Link=_Link):\n ''\n \n \n if key not in self:\n self.__map[key]=link=Link()\n root=self.__root\n last=root.prev\n link.prev,link.next,link.key=last,root,key\n last.next=link\n root.prev=proxy(link)\n dict_setitem(self,key,value)\n \n def __delitem__(self,key,dict_delitem=dict.__delitem__):\n ''\n \n \n dict_delitem(self,key)\n link=self.__map.pop(key)\n link_prev=link.prev\n link_next=link.next\n link_prev.next=link_next\n link_next.prev=link_prev\n link.prev=None\n link.next=None\n \n def __iter__(self):\n ''\n \n root=self.__root\n curr=root.next\n while curr is not root:\n yield curr.key\n curr=curr.next\n \n def __reversed__(self):\n ''\n \n root=self.__root\n curr=root.prev\n while curr is not root:\n yield curr.key\n curr=curr.prev\n \n def clear(self):\n ''\n root=self.__root\n root.prev=root.next=root\n self.__map.clear()\n dict.clear(self)\n \n def popitem(self,last=True):\n ''\n\n\n \n if not self:\n raise KeyError('dictionary is empty')\n root=self.__root\n if last:\n link=root.prev\n link_prev=link.prev\n link_prev.next=root\n root.prev=link_prev\n else:\n link=root.next\n link_next=link.next\n root.next=link_next\n link_next.prev=root\n key=link.key\n del self.__map[key]\n value=dict.pop(self,key)\n return key,value\n \n def move_to_end(self,key,last=True):\n ''\n\n\n \n link=self.__map[key]\n link_prev=link.prev\n link_next=link.next\n soft_link=link_next.prev\n link_prev.next=link_next\n link_next.prev=link_prev\n root=self.__root\n if last:\n last=root.prev\n link.prev=last\n link.next=root\n root.prev=soft_link\n last.next=link\n else:\n first=root.next\n link.prev=root\n link.next=first\n first.prev=soft_link\n root.next=link\n \n def __sizeof__(self):\n sizeof=_sys.getsizeof\n n=len(self)+1\n size=sizeof(self.__dict__)\n size +=sizeof(self.__map)*2\n size +=sizeof(self.__hardroot)*n\n size +=sizeof(self.__root)*n\n return size\n \n update=__update=_collections_abc.MutableMapping.update\n \n def keys(self):\n ''\n return _OrderedDictKeysView(self)\n \n def items(self):\n ''\n return _OrderedDictItemsView(self)\n \n def values(self):\n ''\n return _OrderedDictValuesView(self)\n \n __ne__=_collections_abc.MutableMapping.__ne__\n \n __marker=object()\n \n def pop(self,key,default=__marker):\n ''\n\n\n\n \n marker=self.__marker\n result=dict.pop(self,key,marker)\n if result is not marker:\n \n link=self.__map.pop(key)\n link_prev=link.prev\n link_next=link.next\n link_prev.next=link_next\n link_next.prev=link_prev\n link.prev=None\n link.next=None\n return result\n if default is marker:\n raise KeyError(key)\n return default\n \n def setdefault(self,key,default=None):\n ''\n\n\n \n if key in self:\n return self[key]\n self[key]=default\n return default\n \n @_recursive_repr()\n def __repr__(self):\n ''\n if not self:\n return '%s()'%(self.__class__.__name__,)\n return '%s(%r)'%(self.__class__.__name__,dict(self.items()))\n \n def __reduce__(self):\n ''\n state=self.__getstate__()\n if state:\n if isinstance(state,tuple):\n state,slots=state\n else:\n slots={}\n state=state.copy()\n slots=slots.copy()\n for k in vars(OrderedDict()):\n state.pop(k,None)\n slots.pop(k,None)\n if slots:\n state=state,slots\n else:\n state=state or None\n return self.__class__,(),state,None,iter(self.items())\n \n def copy(self):\n ''\n return self.__class__(self)\n \n @classmethod\n def fromkeys(cls,iterable,value=None):\n ''\n \n self=cls()\n for key in iterable:\n self[key]=value\n return self\n \n def __eq__(self,other):\n ''\n\n\n \n if isinstance(other,OrderedDict):\n return dict.__eq__(self,other)and all(map(_eq,self,other))\n return dict.__eq__(self,other)\n \n def __ior__(self,other):\n self.update(other)\n return self\n \n def __or__(self,other):\n if not isinstance(other,dict):\n return NotImplemented\n new=self.__class__(self)\n new.update(other)\n return new\n \n def __ror__(self,other):\n if not isinstance(other,dict):\n return NotImplemented\n new=self.__class__(other)\n new.update(self)\n return new\n \n \ntry:\n from _collections import OrderedDict\nexcept ImportError:\n\n pass\n \n \n \n \n \n \ntry:\n from _collections import _tuplegetter\nexcept ImportError:\n _tuplegetter=lambda index,doc:property(_itemgetter(index),doc=doc)\n \ndef namedtuple(typename,field_names,*,rename=False,defaults=None,module=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n if isinstance(field_names,str):\n field_names=field_names.replace(',',' ').split()\n field_names=list(map(str,field_names))\n typename=_sys.intern(str(typename))\n \n if rename:\n seen=set()\n for index,name in enumerate(field_names):\n if(not name.isidentifier()\n or _iskeyword(name)\n or name.startswith('_')\n or name in seen):\n field_names[index]=f'_{index}'\n seen.add(name)\n \n for name in[typename]+field_names:\n if type(name)is not str:\n raise TypeError('Type names and field names must be strings')\n if not name.isidentifier():\n raise ValueError('Type names and field names must be valid '\n f'identifiers: {name !r}')\n if _iskeyword(name):\n raise ValueError('Type names and field names cannot be a '\n f'keyword: {name !r}')\n \n seen=set()\n for name in field_names:\n if name.startswith('_')and not rename:\n raise ValueError('Field names cannot start with an underscore: '\n f'{name !r}')\n if name in seen:\n raise ValueError(f'Encountered duplicate field name: {name !r}')\n seen.add(name)\n \n field_defaults={}\n if defaults is not None:\n defaults=tuple(defaults)\n if len(defaults)>len(field_names):\n raise TypeError('Got more default values than field names')\n field_defaults=dict(reversed(list(zip(reversed(field_names),\n reversed(defaults)))))\n \n \n field_names=tuple(map(_sys.intern,field_names))\n num_fields=len(field_names)\n arg_list=', '.join(field_names)\n if num_fields ==1:\n arg_list +=','\n repr_fmt='('+', '.join(f'{name}=%r'for name in field_names)+')'\n tuple_new=tuple.__new__\n _dict,_tuple,_len,_map,_zip=dict,tuple,len,map,zip\n \n \n \n namespace={\n '_tuple_new':tuple_new,\n '__builtins__':{},\n '__name__':f'namedtuple_{typename}',\n }\n code=f'lambda _cls, {arg_list}: _tuple_new(_cls, ({arg_list}))'\n __new__=eval(code,namespace)\n __new__.__name__='__new__'\n __new__.__doc__=f'Create new instance of {typename}({arg_list})'\n if defaults is not None:\n __new__.__defaults__=defaults\n \n @classmethod\n def _make(cls,iterable):\n result=tuple_new(cls,iterable)\n if _len(result)!=num_fields:\n raise TypeError(f'Expected {num_fields} arguments, got {len(result)}')\n return result\n \n _make.__func__.__doc__=(f'Make a new {typename} object from a sequence '\n 'or iterable')\n \n def _replace(self,/,**kwds):\n result=self._make(_map(kwds.pop,field_names,self))\n if kwds:\n raise ValueError(f'Got unexpected field names: {list(kwds)!r}')\n return result\n \n _replace.__doc__=(f'Return a new {typename} object replacing specified '\n 'fields with new values')\n \n def __repr__(self):\n ''\n return self.__class__.__name__+repr_fmt %self\n \n def _asdict(self):\n ''\n return _dict(_zip(self._fields,self))\n \n def __getnewargs__(self):\n ''\n return _tuple(self)\n \n \n for method in(\n __new__,\n _make.__func__,\n _replace,\n __repr__,\n _asdict,\n __getnewargs__,\n ):\n method.__qualname__=f'{typename}.{method.__name__}'\n \n \n \n class_namespace={\n '__doc__':f'{typename}({arg_list})',\n '__slots__':(),\n '_fields':field_names,\n '_field_defaults':field_defaults,\n '__new__':__new__,\n '_make':_make,\n '_replace':_replace,\n '__repr__':__repr__,\n '_asdict':_asdict,\n '__getnewargs__':__getnewargs__,\n '__match_args__':field_names,\n }\n for index,name in enumerate(field_names):\n doc=_sys.intern(f'Alias for field number {index}')\n class_namespace[name]=_tuplegetter(index,doc)\n \n result=type(typename,(tuple,),class_namespace)\n \n \n \n \n \n \n if module is None:\n try:\n module=_sys._getframemodulename(1)or '__main__'\n except AttributeError:\n try:\n module=_sys._getframe(1).f_globals.get('__name__','__main__')\n except(AttributeError,ValueError):\n pass\n if module is not None:\n result.__module__=module\n \n return result\n \n \n \n \n \n \ndef _count_elements(mapping,iterable):\n ''\n mapping_get=mapping.get\n for elem in iterable:\n mapping[elem]=mapping_get(elem,0)+1\n \ntry:\n from _collections import _count_elements\nexcept ImportError:\n pass\n \nclass Counter(dict):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n def __init__(self,iterable=None,/,**kwds):\n ''\n\n\n\n\n\n\n\n\n \n super().__init__()\n self.update(iterable,**kwds)\n \n def __missing__(self,key):\n ''\n \n return 0\n \n def total(self):\n ''\n return sum(self.values())\n \n def most_common(self,n=None):\n ''\n\n\n\n\n\n \n \n if n is None:\n return sorted(self.items(),key=_itemgetter(1),reverse=True)\n \n \n import heapq\n return heapq.nlargest(n,self.items(),key=_itemgetter(1))\n \n def elements(self):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n return _chain.from_iterable(_starmap(_repeat,self.items()))\n \n \n \n @classmethod\n def fromkeys(cls,iterable,v=None):\n \n \n \n \n \n \n \n raise NotImplementedError(\n 'Counter.fromkeys() is undefined. Use Counter(iterable) instead.')\n \n def update(self,iterable=None,/,**kwds):\n ''\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n if iterable is not None:\n if isinstance(iterable,_collections_abc.Mapping):\n if self:\n self_get=self.get\n for elem,count in iterable.items():\n self[elem]=count+self_get(elem,0)\n else:\n \n super().update(iterable)\n else:\n _count_elements(self,iterable)\n if kwds:\n self.update(kwds)\n \n def subtract(self,iterable=None,/,**kwds):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if iterable is not None:\n self_get=self.get\n if isinstance(iterable,_collections_abc.Mapping):\n for elem,count in iterable.items():\n self[elem]=self_get(elem,0)-count\n else:\n for elem in iterable:\n self[elem]=self_get(elem,0)-1\n if kwds:\n self.subtract(kwds)\n \n def copy(self):\n ''\n return self.__class__(self)\n \n def __reduce__(self):\n return self.__class__,(dict(self),)\n \n def __delitem__(self,elem):\n ''\n if elem in self:\n super().__delitem__(elem)\n \n def __repr__(self):\n if not self:\n return f'{self.__class__.__name__}()'\n try:\n \n d=dict(self.most_common())\n except TypeError:\n \n d=dict(self)\n return f'{self.__class__.__name__}({d !r})'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n def __eq__(self,other):\n ''\n if not isinstance(other,Counter):\n return NotImplemented\n return all(self[e]==other[e]for c in(self,other)for e in c)\n \n def __ne__(self,other):\n ''\n if not isinstance(other,Counter):\n return NotImplemented\n return not self ==other\n \n def __le__(self,other):\n ''\n if not isinstance(other,Counter):\n return NotImplemented\n return all(self[e]<=other[e]for c in(self,other)for e in c)\n \n def __lt__(self,other):\n ''\n if not isinstance(other,Counter):\n return NotImplemented\n return self <=other and self !=other\n \n def __ge__(self,other):\n ''\n if not isinstance(other,Counter):\n return NotImplemented\n return all(self[e]>=other[e]for c in(self,other)for e in c)\n \n def __gt__(self,other):\n ''\n if not isinstance(other,Counter):\n return NotImplemented\n return self >=other and self !=other\n \n def __add__(self,other):\n ''\n\n\n\n\n \n if not isinstance(other,Counter):\n return NotImplemented\n result=Counter()\n for elem,count in self.items():\n newcount=count+other[elem]\n if newcount >0:\n result[elem]=newcount\n for elem,count in other.items():\n if elem not in self and count >0:\n result[elem]=count\n return result\n \n def __sub__(self,other):\n ''\n\n\n\n\n \n if not isinstance(other,Counter):\n return NotImplemented\n result=Counter()\n for elem,count in self.items():\n newcount=count -other[elem]\n if newcount >0:\n result[elem]=newcount\n for elem,count in other.items():\n if elem not in self and count <0:\n result[elem]=0 -count\n return result\n \n def __or__(self,other):\n ''\n\n\n\n\n \n if not isinstance(other,Counter):\n return NotImplemented\n result=Counter()\n for elem,count in self.items():\n other_count=other[elem]\n newcount=other_count if count 0:\n result[elem]=newcount\n for elem,count in other.items():\n if elem not in self and count >0:\n result[elem]=count\n return result\n \n def __and__(self,other):\n ''\n\n\n\n\n \n if not isinstance(other,Counter):\n return NotImplemented\n result=Counter()\n for elem,count in self.items():\n other_count=other[elem]\n newcount=count if count 0:\n result[elem]=newcount\n return result\n \n def __pos__(self):\n ''\n result=Counter()\n for elem,count in self.items():\n if count >0:\n result[elem]=count\n return result\n \n def __neg__(self):\n ''\n\n\n \n result=Counter()\n for elem,count in self.items():\n if count <0:\n result[elem]=0 -count\n return result\n \n def _keep_positive(self):\n ''\n nonpositive=[elem for elem,count in self.items()if not count >0]\n for elem in nonpositive:\n del self[elem]\n return self\n \n def __iadd__(self,other):\n ''\n\n\n\n\n\n\n \n for elem,count in other.items():\n self[elem]+=count\n return self._keep_positive()\n \n def __isub__(self,other):\n ''\n\n\n\n\n\n\n \n for elem,count in other.items():\n self[elem]-=count\n return self._keep_positive()\n \n def __ior__(self,other):\n ''\n\n\n\n\n\n\n \n for elem,other_count in other.items():\n count=self[elem]\n if other_count >count:\n self[elem]=other_count\n return self._keep_positive()\n \n def __iand__(self,other):\n ''\n\n\n\n\n\n\n \n for elem,count in self.items():\n other_count=other[elem]\n if other_count self.__cast(other)\n \n def __ge__(self,other):\n return self.data >=self.__cast(other)\n \n def __cast(self,other):\n return other.data if isinstance(other,UserList)else other\n \n def __contains__(self,item):\n return item in self.data\n \n def __len__(self):\n return len(self.data)\n \n def __getitem__(self,i):\n if isinstance(i,slice):\n return self.__class__(self.data[i])\n else:\n return self.data[i]\n \n def __setitem__(self,i,item):\n self.data[i]=item\n \n def __delitem__(self,i):\n del self.data[i]\n \n def __add__(self,other):\n if isinstance(other,UserList):\n return self.__class__(self.data+other.data)\n elif isinstance(other,type(self.data)):\n return self.__class__(self.data+other)\n return self.__class__(self.data+list(other))\n \n def __radd__(self,other):\n if isinstance(other,UserList):\n return self.__class__(other.data+self.data)\n elif isinstance(other,type(self.data)):\n return self.__class__(other+self.data)\n return self.__class__(list(other)+self.data)\n \n def __iadd__(self,other):\n if isinstance(other,UserList):\n self.data +=other.data\n elif isinstance(other,type(self.data)):\n self.data +=other\n else:\n self.data +=list(other)\n return self\n \n def __mul__(self,n):\n return self.__class__(self.data *n)\n \n __rmul__=__mul__\n \n def __imul__(self,n):\n self.data *=n\n return self\n \n def __copy__(self):\n inst=self.__class__.__new__(self.__class__)\n inst.__dict__.update(self.__dict__)\n \n inst.__dict__[\"data\"]=self.__dict__[\"data\"][:]\n return inst\n \n def append(self,item):\n self.data.append(item)\n \n def insert(self,i,item):\n self.data.insert(i,item)\n \n def pop(self,i=-1):\n return self.data.pop(i)\n \n def remove(self,item):\n self.data.remove(item)\n \n def clear(self):\n self.data.clear()\n \n def copy(self):\n return self.__class__(self)\n \n def count(self,item):\n return self.data.count(item)\n \n def index(self,item,*args):\n return self.data.index(item,*args)\n \n def reverse(self):\n self.data.reverse()\n \n def sort(self,/,*args,**kwds):\n self.data.sort(*args,**kwds)\n \n def extend(self,other):\n if isinstance(other,UserList):\n self.data.extend(other.data)\n else:\n self.data.extend(other)\n \n \n \n \n \n \nclass UserString(_collections_abc.Sequence):\n\n def __init__(self,seq):\n if isinstance(seq,str):\n self.data=seq\n elif isinstance(seq,UserString):\n self.data=seq.data[:]\n else:\n self.data=str(seq)\n \n def __str__(self):\n return str(self.data)\n \n def __repr__(self):\n return repr(self.data)\n \n def __int__(self):\n return int(self.data)\n \n def __float__(self):\n return float(self.data)\n \n def __complex__(self):\n return complex(self.data)\n \n def __hash__(self):\n return hash(self.data)\n \n def __getnewargs__(self):\n return(self.data[:],)\n \n def __eq__(self,string):\n if isinstance(string,UserString):\n return self.data ==string.data\n return self.data ==string\n \n def __lt__(self,string):\n if isinstance(string,UserString):\n return self.data string.data\n return self.data >string\n \n def __ge__(self,string):\n if isinstance(string,UserString):\n return self.data >=string.data\n return self.data >=string\n \n def __contains__(self,char):\n if isinstance(char,UserString):\n char=char.data\n return char in self.data\n \n def __len__(self):\n return len(self.data)\n \n def __getitem__(self,index):\n return self.__class__(self.data[index])\n \n def __add__(self,other):\n if isinstance(other,UserString):\n return self.__class__(self.data+other.data)\n elif isinstance(other,str):\n return self.__class__(self.data+other)\n return self.__class__(self.data+str(other))\n \n def __radd__(self,other):\n if isinstance(other,str):\n return self.__class__(other+self.data)\n return self.__class__(str(other)+self.data)\n \n def __mul__(self,n):\n return self.__class__(self.data *n)\n \n __rmul__=__mul__\n \n def __mod__(self,args):\n return self.__class__(self.data %args)\n \n def __rmod__(self,template):\n return self.__class__(str(template)%self)\n \n \n def capitalize(self):\n return self.__class__(self.data.capitalize())\n \n def casefold(self):\n return self.__class__(self.data.casefold())\n \n def center(self,width,*args):\n return self.__class__(self.data.center(width,*args))\n \n def count(self,sub,start=0,end=_sys.maxsize):\n if isinstance(sub,UserString):\n sub=sub.data\n return self.data.count(sub,start,end)\n \n def removeprefix(self,prefix,/):\n if isinstance(prefix,UserString):\n prefix=prefix.data\n return self.__class__(self.data.removeprefix(prefix))\n \n def removesuffix(self,suffix,/):\n if isinstance(suffix,UserString):\n suffix=suffix.data\n return self.__class__(self.data.removesuffix(suffix))\n \n def encode(self,encoding='utf-8',errors='strict'):\n encoding='utf-8'if encoding is None else encoding\n errors='strict'if errors is None else errors\n return self.data.encode(encoding,errors)\n \n def endswith(self,suffix,start=0,end=_sys.maxsize):\n return self.data.endswith(suffix,start,end)\n \n def expandtabs(self,tabsize=8):\n return self.__class__(self.data.expandtabs(tabsize))\n \n def find(self,sub,start=0,end=_sys.maxsize):\n if isinstance(sub,UserString):\n sub=sub.data\n return self.data.find(sub,start,end)\n \n def format(self,/,*args,**kwds):\n return self.data.format(*args,**kwds)\n \n def format_map(self,mapping):\n return self.data.format_map(mapping)\n \n def index(self,sub,start=0,end=_sys.maxsize):\n return self.data.index(sub,start,end)\n \n def isalpha(self):\n return self.data.isalpha()\n \n def isalnum(self):\n return self.data.isalnum()\n \n def isascii(self):\n return self.data.isascii()\n \n def isdecimal(self):\n return self.data.isdecimal()\n \n def isdigit(self):\n return self.data.isdigit()\n \n def isidentifier(self):\n return self.data.isidentifier()\n \n def islower(self):\n return self.data.islower()\n \n def isnumeric(self):\n return self.data.isnumeric()\n \n def isprintable(self):\n return self.data.isprintable()\n \n def isspace(self):\n return self.data.isspace()\n \n def istitle(self):\n return self.data.istitle()\n \n def isupper(self):\n return self.data.isupper()\n \n def join(self,seq):\n return self.data.join(seq)\n \n def ljust(self,width,*args):\n return self.__class__(self.data.ljust(width,*args))\n \n def lower(self):\n return self.__class__(self.data.lower())\n \n def lstrip(self,chars=None):\n return self.__class__(self.data.lstrip(chars))\n \n maketrans=str.maketrans\n \n def partition(self,sep):\n return self.data.partition(sep)\n \n def replace(self,old,new,maxsplit=-1):\n if isinstance(old,UserString):\n old=old.data\n if isinstance(new,UserString):\n new=new.data\n return self.__class__(self.data.replace(old,new,maxsplit))\n \n def rfind(self,sub,start=0,end=_sys.maxsize):\n if isinstance(sub,UserString):\n sub=sub.data\n return self.data.rfind(sub,start,end)\n \n def rindex(self,sub,start=0,end=_sys.maxsize):\n return self.data.rindex(sub,start,end)\n \n def rjust(self,width,*args):\n return self.__class__(self.data.rjust(width,*args))\n \n def rpartition(self,sep):\n return self.data.rpartition(sep)\n \n def rstrip(self,chars=None):\n return self.__class__(self.data.rstrip(chars))\n \n def split(self,sep=None,maxsplit=-1):\n return self.data.split(sep,maxsplit)\n \n def rsplit(self,sep=None,maxsplit=-1):\n return self.data.rsplit(sep,maxsplit)\n \n def splitlines(self,keepends=False):\n return self.data.splitlines(keepends)\n \n def startswith(self,prefix,start=0,end=_sys.maxsize):\n return self.data.startswith(prefix,start,end)\n \n def strip(self,chars=None):\n return self.__class__(self.data.strip(chars))\n \n def swapcase(self):\n return self.__class__(self.data.swapcase())\n \n def title(self):\n return self.__class__(self.data.title())\n \n def translate(self,*args):\n return self.__class__(self.data.translate(*args))\n \n def upper(self):\n return self.__class__(self.data.upper())\n \n def zfill(self,width):\n return self.__class__(self.data.zfill(width))\n",["_collections","_collections_abc","_weakref","copy","heapq","itertools","keyword","operator","reprlib","sys"],1],concurrent:[".py","",[],1],"concurrent.futures.process":[".py",'\n\n\n"""Implements ProcessPoolExecutor.\n\nThe following diagram and text describe the data-flow through the system:\n\n|======================= In-process =====================|== Out-of-process ==|\n\n+----------+ +----------+ +--------+ +-----------+ +---------+\n| | => | Work Ids | | | | Call Q | | Process |\n| | +----------+ | | +-----------+ | Pool |\n| | | ... | | | | ... | +---------+\n| | | 6 | => | | => | 5, call() | => | |\n| | | 7 | | | | ... | | |\n| Process | | ... | | Local | +-----------+ | Process |\n| Pool | +----------+ | Worker | | #1..n |\n| Executor | | Thread | | |\n| | +----------- + | | +-----------+ | |\n| | <=> | Work Items | <=> | | <= | Result Q | <= | |\n| | +------------+ | | +-----------+ | |\n| | | 6: call() | | | | ... | | |\n| | | future | | | | 4, result | | |\n| | | ... | | | | 3, except | | |\n+----------+ +------------+ +--------+ +-----------+ +---------+\n\nExecutor.submit() called:\n- creates a uniquely numbered _WorkItem and adds it to the "Work Items" dict\n- adds the id of the _WorkItem to the "Work Ids" queue\n\nLocal worker thread:\n- reads work ids from the "Work Ids" queue and looks up the corresponding\n WorkItem from the "Work Items" dict: if the work item has been cancelled then\n it is simply removed from the dict, otherwise it is repackaged as a\n _CallItem and put in the "Call Q". New _CallItems are put in the "Call Q"\n until "Call Q" is full. NOTE: the size of the "Call Q" is kept small because\n calls placed in the "Call Q" can no longer be cancelled with Future.cancel().\n- reads _ResultItems from "Result Q", updates the future stored in the\n "Work Items" dict and deletes the dict entry\n\nProcess #1..n:\n- reads _CallItems from "Call Q", executes the calls, and puts the resulting\n _ResultItems in "Result Q"\n"""\n\n__author__=\'Brian Quinlan (brian@sweetapp.com)\'\n\nimport os\nfrom concurrent.futures import _base\nimport queue\nimport multiprocessing as mp\n\n\nimport multiprocessing.connection\nfrom multiprocessing.queues import Queue\nimport threading\nimport weakref\nfrom functools import partial\nimport itertools\nimport sys\nfrom traceback import format_exception\n\n\n_threads_wakeups=weakref.WeakKeyDictionary()\n_global_shutdown=False\n\n\nclass _ThreadWakeup:\n def __init__(self):\n self._closed=False\n self._reader,self._writer=mp.Pipe(duplex=False)\n \n def close(self):\n if not self._closed:\n self._closed=True\n self._writer.close()\n self._reader.close()\n \n def wakeup(self):\n if not self._closed:\n self._writer.send_bytes(b"")\n \n def clear(self):\n if not self._closed:\n while self._reader.poll():\n self._reader.recv_bytes()\n \n \ndef _python_exit():\n global _global_shutdown\n _global_shutdown=True\n items=list(_threads_wakeups.items())\n for _,thread_wakeup in items:\n \n thread_wakeup.wakeup()\n for t,_ in items:\n t.join()\n \n \n \n \n \nthreading._register_atexit(_python_exit)\n\n\n\n\n\nEXTRA_QUEUED_CALLS=1\n\n\n\n\n\n\n_MAX_WINDOWS_WORKERS=63 -2\n\n\n\nclass _RemoteTraceback(Exception):\n def __init__(self,tb):\n self.tb=tb\n def __str__(self):\n return self.tb\n \nclass _ExceptionWithTraceback:\n def __init__(self,exc,tb):\n tb=\'\'.join(format_exception(type(exc),exc,tb))\n self.exc=exc\n \n \n self.exc.__traceback__=None\n self.tb=\'\\n"""\\n%s"""\'%tb\n def __reduce__(self):\n return _rebuild_exc,(self.exc,self.tb)\n \ndef _rebuild_exc(exc,tb):\n exc.__cause__=_RemoteTraceback(tb)\n return exc\n \nclass _WorkItem(object):\n def __init__(self,future,fn,args,kwargs):\n self.future=future\n self.fn=fn\n self.args=args\n self.kwargs=kwargs\n \nclass _ResultItem(object):\n def __init__(self,work_id,exception=None,result=None,exit_pid=None):\n self.work_id=work_id\n self.exception=exception\n self.result=result\n self.exit_pid=exit_pid\n \nclass _CallItem(object):\n def __init__(self,work_id,fn,args,kwargs):\n self.work_id=work_id\n self.fn=fn\n self.args=args\n self.kwargs=kwargs\n \n \nclass _SafeQueue(Queue):\n \'\'\n def __init__(self,max_size=0,*,ctx,pending_work_items,shutdown_lock,\n thread_wakeup):\n self.pending_work_items=pending_work_items\n self.shutdown_lock=shutdown_lock\n self.thread_wakeup=thread_wakeup\n super().__init__(max_size,ctx=ctx)\n \n def _on_queue_feeder_error(self,e,obj):\n if isinstance(obj,_CallItem):\n tb=format_exception(type(e),e,e.__traceback__)\n e.__cause__=_RemoteTraceback(\'\\n"""\\n{}"""\'.format(\'\'.join(tb)))\n work_item=self.pending_work_items.pop(obj.work_id,None)\n with self.shutdown_lock:\n self.thread_wakeup.wakeup()\n \n \n \n if work_item is not None:\n work_item.future.set_exception(e)\n else:\n super()._on_queue_feeder_error(e,obj)\n \n \ndef _get_chunks(*iterables,chunksize):\n \'\'\n it=zip(*iterables)\n while True:\n chunk=tuple(itertools.islice(it,chunksize))\n if not chunk:\n return\n yield chunk\n \n \ndef _process_chunk(fn,chunk):\n \'\'\n\n\n\n\n\n\n \n return[fn(*args)for args in chunk]\n \n \ndef _sendback_result(result_queue,work_id,result=None,exception=None,\nexit_pid=None):\n \'\'\n try:\n result_queue.put(_ResultItem(work_id,result=result,\n exception=exception,exit_pid=exit_pid))\n except BaseException as e:\n exc=_ExceptionWithTraceback(e,e.__traceback__)\n result_queue.put(_ResultItem(work_id,exception=exc,\n exit_pid=exit_pid))\n \n \ndef _process_worker(call_queue,result_queue,initializer,initargs,max_tasks=None):\n \'\'\n\n\n\n\n\n\n\n\n\n\n \n if initializer is not None:\n try:\n initializer(*initargs)\n except BaseException:\n _base.LOGGER.critical(\'Exception in initializer:\',exc_info=True)\n \n \n return\n num_tasks=0\n exit_pid=None\n while True:\n call_item=call_queue.get(block=True)\n if call_item is None:\n \n result_queue.put(os.getpid())\n return\n \n if max_tasks is not None:\n num_tasks +=1\n if num_tasks >=max_tasks:\n exit_pid=os.getpid()\n \n try:\n r=call_item.fn(*call_item.args,**call_item.kwargs)\n except BaseException as e:\n exc=_ExceptionWithTraceback(e,e.__traceback__)\n _sendback_result(result_queue,call_item.work_id,exception=exc,\n exit_pid=exit_pid)\n else:\n _sendback_result(result_queue,call_item.work_id,result=r,\n exit_pid=exit_pid)\n del r\n \n \n \n del call_item\n \n if exit_pid is not None:\n return\n \n \nclass _ExecutorManagerThread(threading.Thread):\n \'\'\n\n\n\n\n\n\n\n\n \n \n def __init__(self,executor):\n \n \n \n \n self.thread_wakeup=executor._executor_manager_thread_wakeup\n self.shutdown_lock=executor._shutdown_lock\n \n \n \n \n \n \n \n def weakref_cb(_,\n thread_wakeup=self.thread_wakeup,\n shutdown_lock=self.shutdown_lock):\n mp.util.debug(\'Executor collected: triggering callback for\'\n \' QueueManager wakeup\')\n with shutdown_lock:\n thread_wakeup.wakeup()\n \n self.executor_reference=weakref.ref(executor,weakref_cb)\n \n \n self.processes=executor._processes\n \n \n \n self.call_queue=executor._call_queue\n \n \n self.result_queue=executor._result_queue\n \n \n self.work_ids_queue=executor._work_ids\n \n \n \n self.max_tasks_per_child=executor._max_tasks_per_child\n \n \n \n self.pending_work_items=executor._pending_work_items\n \n super().__init__()\n \n def run(self):\n \n \n while True:\n self.add_call_item_to_queue()\n \n result_item,is_broken,cause=self.wait_result_broken_or_wakeup()\n \n if is_broken:\n self.terminate_broken(cause)\n return\n if result_item is not None:\n self.process_result_item(result_item)\n \n process_exited=result_item.exit_pid is not None\n if process_exited:\n p=self.processes.pop(result_item.exit_pid)\n p.join()\n \n \n \n del result_item\n \n if executor :=self.executor_reference():\n if process_exited:\n with self.shutdown_lock:\n executor._adjust_process_count()\n else:\n executor._idle_worker_semaphore.release()\n del executor\n \n if self.is_shutting_down():\n self.flag_executor_shutting_down()\n \n \n \n \n self.add_call_item_to_queue()\n \n \n \n if not self.pending_work_items:\n self.join_executor_internals()\n return\n \n def add_call_item_to_queue(self):\n \n \n while True:\n if self.call_queue.full():\n return\n try:\n work_id=self.work_ids_queue.get(block=False)\n except queue.Empty:\n return\n else:\n work_item=self.pending_work_items[work_id]\n \n if work_item.future.set_running_or_notify_cancel():\n self.call_queue.put(_CallItem(work_id,\n work_item.fn,\n work_item.args,\n work_item.kwargs),\n block=True)\n else:\n del self.pending_work_items[work_id]\n continue\n \n def wait_result_broken_or_wakeup(self):\n \n \n \n \n \n result_reader=self.result_queue._reader\n assert not self.thread_wakeup._closed\n wakeup_reader=self.thread_wakeup._reader\n readers=[result_reader,wakeup_reader]\n worker_sentinels=[p.sentinel for p in list(self.processes.values())]\n ready=mp.connection.wait(readers+worker_sentinels)\n \n cause=None\n is_broken=True\n result_item=None\n if result_reader in ready:\n try:\n result_item=result_reader.recv()\n is_broken=False\n except BaseException as e:\n cause=format_exception(type(e),e,e.__traceback__)\n \n elif wakeup_reader in ready:\n is_broken=False\n \n with self.shutdown_lock:\n self.thread_wakeup.clear()\n \n return result_item,is_broken,cause\n \n def process_result_item(self,result_item):\n \n \n \n if isinstance(result_item,int):\n \n \n assert self.is_shutting_down()\n p=self.processes.pop(result_item)\n p.join()\n if not self.processes:\n self.join_executor_internals()\n return\n else:\n \n work_item=self.pending_work_items.pop(result_item.work_id,None)\n \n if work_item is not None:\n if result_item.exception:\n work_item.future.set_exception(result_item.exception)\n else:\n work_item.future.set_result(result_item.result)\n \n def is_shutting_down(self):\n \n executor=self.executor_reference()\n \n \n \n \n return(_global_shutdown or executor is None\n or executor._shutdown_thread)\n \n def terminate_broken(self,cause):\n \n \n \n \n \n executor=self.executor_reference()\n if executor is not None:\n executor._broken=(\'A child process terminated \'\n \'abruptly, the process pool is not \'\n \'usable anymore\')\n executor._shutdown_thread=True\n executor=None\n \n \n \n bpe=BrokenProcessPool("A process in the process pool was "\n "terminated abruptly while the future was "\n "running or pending.")\n if cause is not None:\n bpe.__cause__=_RemoteTraceback(\n f"\\n\'\'\'\\n{\'\'.join(cause)}\'\'\'")\n \n \n for work_id,work_item in self.pending_work_items.items():\n work_item.future.set_exception(bpe)\n \n del work_item\n self.pending_work_items.clear()\n \n \n \n for p in self.processes.values():\n p.terminate()\n \n \n self.join_executor_internals()\n \n def flag_executor_shutting_down(self):\n \n \n executor=self.executor_reference()\n if executor is not None:\n executor._shutdown_thread=True\n \n if executor._cancel_pending_futures:\n \n \n new_pending_work_items={}\n for work_id,work_item in self.pending_work_items.items():\n if not work_item.future.cancel():\n new_pending_work_items[work_id]=work_item\n self.pending_work_items=new_pending_work_items\n \n \n while True:\n try:\n self.work_ids_queue.get_nowait()\n except queue.Empty:\n break\n \n \n executor._cancel_pending_futures=False\n \n def shutdown_workers(self):\n n_children_to_stop=self.get_n_children_alive()\n n_sentinels_sent=0\n \n \n while(n_sentinels_sent 0):\n for i in range(n_children_to_stop -n_sentinels_sent):\n try:\n self.call_queue.put_nowait(None)\n n_sentinels_sent +=1\n except queue.Full:\n break\n \n def join_executor_internals(self):\n self.shutdown_workers()\n \n self.call_queue.close()\n self.call_queue.join_thread()\n with self.shutdown_lock:\n self.thread_wakeup.close()\n \n \n for p in self.processes.values():\n p.join()\n \n def get_n_children_alive(self):\n \n return sum(p.is_alive()for p in self.processes.values())\n \n \n_system_limits_checked=False\n_system_limited=None\n\n\ndef _check_system_limits():\n global _system_limits_checked,_system_limited\n if _system_limits_checked:\n if _system_limited:\n raise NotImplementedError(_system_limited)\n _system_limits_checked=True\n try:\n import multiprocessing.synchronize\n except ImportError:\n _system_limited=(\n "This Python build lacks multiprocessing.synchronize, usually due "\n "to named semaphores being unavailable on this platform."\n )\n raise NotImplementedError(_system_limited)\n try:\n nsems_max=os.sysconf("SC_SEM_NSEMS_MAX")\n except(AttributeError,ValueError):\n \n return\n if nsems_max ==-1:\n \n \n return\n if nsems_max >=256:\n \n \n return\n _system_limited=("system provides too few semaphores (%d"\n " available, 256 necessary)"%nsems_max)\n raise NotImplementedError(_system_limited)\n \n \ndef _chain_from_iterable_of_lists(iterable):\n \'\'\n\n\n\n \n for element in iterable:\n element.reverse()\n while element:\n yield element.pop()\n \n \nclass BrokenProcessPool(_base.BrokenExecutor):\n \'\'\n\n\n \n \n \nclass ProcessPoolExecutor(_base.Executor):\n def __init__(self,max_workers=None,mp_context=None,\n initializer=None,initargs=(),*,max_tasks_per_child=None):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n _check_system_limits()\n \n if max_workers is None:\n self._max_workers=os.cpu_count()or 1\n if sys.platform ==\'win32\':\n self._max_workers=min(_MAX_WINDOWS_WORKERS,\n self._max_workers)\n else:\n if max_workers <=0:\n raise ValueError("max_workers must be greater than 0")\n elif(sys.platform ==\'win32\'and\n max_workers >_MAX_WINDOWS_WORKERS):\n raise ValueError(\n f"max_workers must be <= {_MAX_WINDOWS_WORKERS}")\n \n self._max_workers=max_workers\n \n if mp_context is None:\n if max_tasks_per_child is not None:\n mp_context=mp.get_context("spawn")\n else:\n mp_context=mp.get_context()\n self._mp_context=mp_context\n \n \n self._safe_to_dynamically_spawn_children=(\n self._mp_context.get_start_method(allow_none=False)!="fork")\n \n if initializer is not None and not callable(initializer):\n raise TypeError("initializer must be a callable")\n self._initializer=initializer\n self._initargs=initargs\n \n if max_tasks_per_child is not None:\n if not isinstance(max_tasks_per_child,int):\n raise TypeError("max_tasks_per_child must be an integer")\n elif max_tasks_per_child <=0:\n raise ValueError("max_tasks_per_child must be >= 1")\n if self._mp_context.get_start_method(allow_none=False)=="fork":\n \n raise ValueError("max_tasks_per_child is incompatible with"\n " the \'fork\' multiprocessing start method;"\n " supply a different mp_context.")\n self._max_tasks_per_child=max_tasks_per_child\n \n \n self._executor_manager_thread=None\n \n \n self._processes={}\n \n \n self._shutdown_thread=False\n self._shutdown_lock=threading.Lock()\n self._idle_worker_semaphore=threading.Semaphore(0)\n self._broken=False\n self._queue_count=0\n self._pending_work_items={}\n self._cancel_pending_futures=False\n \n \n \n \n \n \n \n \n \n self._executor_manager_thread_wakeup=_ThreadWakeup()\n \n \n \n \n \n queue_size=self._max_workers+EXTRA_QUEUED_CALLS\n self._call_queue=_SafeQueue(\n max_size=queue_size,ctx=self._mp_context,\n pending_work_items=self._pending_work_items,\n shutdown_lock=self._shutdown_lock,\n thread_wakeup=self._executor_manager_thread_wakeup)\n \n \n \n self._call_queue._ignore_epipe=True\n self._result_queue=mp_context.SimpleQueue()\n self._work_ids=queue.Queue()\n \n def _start_executor_manager_thread(self):\n if self._executor_manager_thread is None:\n \n if not self._safe_to_dynamically_spawn_children:\n self._launch_processes()\n self._executor_manager_thread=_ExecutorManagerThread(self)\n self._executor_manager_thread.start()\n _threads_wakeups[self._executor_manager_thread]=\\\n self._executor_manager_thread_wakeup\n \n def _adjust_process_count(self):\n \n if self._idle_worker_semaphore.acquire(blocking=False):\n return\n \n process_count=len(self._processes)\n if process_count = 1.")\n \n results=super().map(partial(_process_chunk,fn),\n _get_chunks(*iterables,chunksize=chunksize),\n timeout=timeout)\n return _chain_from_iterable_of_lists(results)\n \n def shutdown(self,wait=True,*,cancel_futures=False):\n with self._shutdown_lock:\n self._cancel_pending_futures=cancel_futures\n self._shutdown_thread=True\n if self._executor_manager_thread_wakeup is not None:\n \n self._executor_manager_thread_wakeup.wakeup()\n \n if self._executor_manager_thread is not None and wait:\n self._executor_manager_thread.join()\n \n \n self._executor_manager_thread=None\n self._call_queue=None\n if self._result_queue is not None and wait:\n self._result_queue.close()\n self._result_queue=None\n self._processes=None\n self._executor_manager_thread_wakeup=None\n \n shutdown.__doc__=_base.Executor.shutdown.__doc__\n',["concurrent.futures","concurrent.futures._base","functools","itertools","multiprocessing","multiprocessing.connection","multiprocessing.queues","multiprocessing.synchronize","os","queue","sys","threading","traceback","weakref"]],"concurrent.futures.thread":[".py","\n\n\n\"\"\"Implements ThreadPoolExecutor.\"\"\"\n\n__author__='Brian Quinlan (brian@sweetapp.com)'\n\nfrom concurrent.futures import _base\nimport itertools\nimport queue\nimport threading\nimport types\nimport weakref\nimport os\n\n\n_threads_queues=weakref.WeakKeyDictionary()\n_shutdown=False\n\n\n_global_shutdown_lock=threading.Lock()\n\ndef _python_exit():\n global _shutdown\n with _global_shutdown_lock:\n _shutdown=True\n items=list(_threads_queues.items())\n for t,q in items:\n q.put(None)\n for t,q in items:\n t.join()\n \n \n \n \n \nthreading._register_atexit(_python_exit)\n\n\nif hasattr(os,'register_at_fork'):\n os.register_at_fork(before=_global_shutdown_lock.acquire,\n after_in_child=_global_shutdown_lock._at_fork_reinit,\n after_in_parent=_global_shutdown_lock.release)\n \n \nclass _WorkItem:\n def __init__(self,future,fn,args,kwargs):\n self.future=future\n self.fn=fn\n self.args=args\n self.kwargs=kwargs\n \n def run(self):\n if not self.future.set_running_or_notify_cancel():\n return\n \n try:\n result=self.fn(*self.args,**self.kwargs)\n except BaseException as exc:\n self.future.set_exception(exc)\n \n self=None\n else:\n self.future.set_result(result)\n \n __class_getitem__=classmethod(types.GenericAlias)\n \n \ndef _worker(executor_reference,work_queue,initializer,initargs):\n if initializer is not None:\n try:\n initializer(*initargs)\n except BaseException:\n _base.LOGGER.critical('Exception in initializer:',exc_info=True)\n executor=executor_reference()\n if executor is not None:\n executor._initializer_failed()\n return\n try:\n while True:\n try:\n work_item=work_queue.get_nowait()\n except queue.Empty:\n \n executor=executor_reference()\n if executor is not None:\n executor._idle_semaphore.release()\n del executor\n work_item=work_queue.get(block=True)\n \n if work_item is not None:\n work_item.run()\n \n del work_item\n continue\n \n executor=executor_reference()\n \n \n \n \n if _shutdown or executor is None or executor._shutdown:\n \n \n if executor is not None:\n executor._shutdown=True\n \n work_queue.put(None)\n return\n del executor\n except BaseException:\n _base.LOGGER.critical('Exception in worker',exc_info=True)\n \n \nclass BrokenThreadPool(_base.BrokenExecutor):\n ''\n\n \n \n \nclass ThreadPoolExecutor(_base.Executor):\n\n\n _counter=itertools.count().__next__\n \n def __init__(self,max_workers=None,thread_name_prefix='',\n initializer=None,initargs=()):\n ''\n\n\n\n\n\n\n\n \n if max_workers is None:\n \n \n \n \n \n \n \n max_workers=min(32,(os.cpu_count()or 1)+4)\n if max_workers <=0:\n raise ValueError(\"max_workers must be greater than 0\")\n \n if initializer is not None and not callable(initializer):\n raise TypeError(\"initializer must be a callable\")\n \n self._max_workers=max_workers\n self._work_queue=queue.SimpleQueue()\n self._idle_semaphore=threading.Semaphore(0)\n self._threads=set()\n self._broken=False\n self._shutdown=False\n self._shutdown_lock=threading.Lock()\n self._thread_name_prefix=(thread_name_prefix or\n (\"ThreadPoolExecutor-%d\"%self._counter()))\n self._initializer=initializer\n self._initargs=initargs\n \n def submit(self,fn,/,*args,**kwargs):\n with self._shutdown_lock,_global_shutdown_lock:\n if self._broken:\n raise BrokenThreadPool(self._broken)\n \n if self._shutdown:\n raise RuntimeError('cannot schedule new futures after shutdown')\n if _shutdown:\n raise RuntimeError('cannot schedule new futures after '\n 'interpreter shutdown')\n \n f=_base.Future()\n w=_WorkItem(f,fn,args,kwargs)\n \n self._work_queue.put(w)\n self._adjust_thread_count()\n return f\n submit.__doc__=_base.Executor.submit.__doc__\n \n def _adjust_thread_count(self):\n \n if self._idle_semaphore.acquire(timeout=0):\n return\n \n \n \n def weakref_cb(_,q=self._work_queue):\n q.put(None)\n \n num_threads=len(self._threads)\n if num_threads | Work Ids | => | | => | Call Q | => | |\n| | +----------+ | | +-----------+ | |\n| | | ... | | | | ... | | |\n| | | 6 | | | | 5, call() | | |\n| | | 7 | | | | ... | | |\n| Process | | ... | | Local | +-----------+ | Process |\n| Pool | +----------+ | Worker | | #1..n |\n| Executor | | Thread | | |\n| | +----------- + | | +-----------+ | |\n| | <=> | Work Items | <=> | | <= | Result Q | <= | |\n| | +------------+ | | +-----------+ | |\n| | | 6: call() | | | | ... | | |\n| | | future | | | | 4, result | | |\n| | | ... | | | | 3, except | | |\n+----------+ +------------+ +--------+ +-----------+ +---------+\n\nExecutor.submit() called:\n- creates a uniquely numbered _WorkItem and adds it to the "Work Items" dict\n- adds the id of the _WorkItem to the "Work Ids" queue\n\nLocal worker thread:\n- reads work ids from the "Work Ids" queue and looks up the corresponding\n WorkItem from the "Work Items" dict: if the work item has been cancelled then\n it is simply removed from the dict, otherwise it is repackaged as a\n _CallItem and put in the "Call Q". New _CallItems are put in the "Call Q"\n until "Call Q" is full. NOTE: the size of the "Call Q" is kept small because\n calls placed in the "Call Q" can no longer be cancelled with Future.cancel().\n- reads _ResultItems from "Result Q", updates the future stored in the\n "Work Items" dict and deletes the dict entry\n\nProcess #1..n:\n- reads _CallItems from "Call Q", executes the calls, and puts the resulting\n _ResultItems in "Result Q"\n"""\n\n__author__=\'Brian Quinlan (brian@sweetapp.com)\'\n\nimport atexit\nimport os\nfrom concurrent.futures import _base\nimport queue\nfrom queue import Full\nimport multiprocessing\nfrom multiprocessing import SimpleQueue\nimport threading\nimport weakref\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_threads_queues=weakref.WeakKeyDictionary()\n_shutdown=False\n\ndef _python_exit():\n global _shutdown\n _shutdown=True\n items=list(_threads_queues.items())\n for t,q in items:\n q.put(None)\n for t,q in items:\n t.join()\n \n \n \n \n \nEXTRA_QUEUED_CALLS=1\n\nclass _WorkItem(object):\n def __init__(self,future,fn,args,kwargs):\n self.future=future\n self.fn=fn\n self.args=args\n self.kwargs=kwargs\n \nclass _ResultItem(object):\n def __init__(self,work_id,exception=None,result=None):\n self.work_id=work_id\n self.exception=exception\n self.result=result\n \nclass _CallItem(object):\n def __init__(self,work_id,fn,args,kwargs):\n self.work_id=work_id\n self.fn=fn\n self.args=args\n self.kwargs=kwargs\n \ndef _web_worker(call_queue,result_queue):\n \'\'\n\n\n\n\n\n\n\n\n\n\n \n while True:\n call_item=call_queue.get(block=True)\n if call_item is None:\n \n result_queue.put(os.getpid())\n return\n try:\n r=call_item.fn(*call_item.args,**call_item.kwargs)\n except BaseException as e:\n result_queue.put(_ResultItem(call_item.work_id,\n exception=e))\n else:\n result_queue.put(_ResultItem(call_item.work_id,\n result=r))\n \ndef _add_call_item_to_queue(pending_work_items,\nwork_ids,\ncall_queue):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n \n while True:\n if call_queue.full():\n return\n try:\n work_id=work_ids.get(block=False)\n except queue.Empty:\n return\n else:\n work_item=pending_work_items[work_id]\n \n if work_item.future.set_running_or_notify_cancel():\n call_queue.put(_CallItem(work_id,\n work_item.fn,\n work_item.args,\n work_item.kwargs),\n block=True)\n else:\n del pending_work_items[work_id]\n continue\n \ndef _queue_management_worker(executor_reference,\nprocesses,\npending_work_items,\nwork_ids_queue,\ncall_queue,\nresult_queue):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n executor=None\n \n def shutting_down():\n return _shutdown or executor is None or executor._shutdown_thread\n \n def shutdown_worker():\n \n nb_children_alive=sum(p.is_alive()for p in processes.values())\n for i in range(0,nb_children_alive):\n call_queue.put_nowait(None)\n \n call_queue.close()\n \n \n for p in processes.values():\n p.join()\n \n reader=result_queue._reader\n \n while True:\n _add_call_item_to_queue(pending_work_items,\n work_ids_queue,\n call_queue)\n \n sentinels=[p.sentinel for p in processes.values()]\n assert sentinels\n \n ready=[reader]+sentinels\n if reader in ready:\n result_item=reader.recv()\n else:\n \n executor=executor_reference()\n if executor is not None:\n executor._broken=True\n executor._shutdown_thread=True\n executor=None\n \n for work_id,work_item in pending_work_items.items():\n work_item.future.set_exception(\n BrokenProcessPool(\n "A process in the process pool was "\n "terminated abruptly while the future was "\n "running or pending."\n ))\n \n del work_item\n pending_work_items.clear()\n \n \n for p in processes.values():\n p.terminate()\n shutdown_worker()\n return\n if isinstance(result_item,int):\n \n \n assert shutting_down()\n p=processes.pop(result_item)\n p.join()\n if not processes:\n shutdown_worker()\n return\n elif result_item is not None:\n work_item=pending_work_items.pop(result_item.work_id,None)\n \n if work_item is not None:\n if result_item.exception:\n work_item.future.set_exception(result_item.exception)\n else:\n work_item.future.set_result(result_item.result)\n \n del work_item\n \n executor=executor_reference()\n \n \n \n \n if shutting_down():\n try:\n \n \n if not pending_work_items:\n shutdown_worker()\n return\n except Full:\n \n \n pass\n executor=None\n \n_system_limits_checked=False\n_system_limited=None\ndef _check_system_limits():\n global _system_limits_checked,_system_limited\n if _system_limits_checked:\n if _system_limited:\n raise NotImplementedError(_system_limited)\n _system_limits_checked=True\n try:\n nsems_max=os.sysconf("SC_SEM_NSEMS_MAX")\n except(AttributeError,ValueError):\n \n return\n if nsems_max ==-1:\n \n \n return\n if nsems_max >=256:\n \n \n return\n _system_limited="system provides too few semaphores (%d available, 256 necessary)"%nsems_max\n raise NotImplementedError(_system_limited)\n \n \nclass BrokenProcessPool(RuntimeError):\n \'\'\n\n\n \n \n \nclass WebWorkerExecutor(_base.Executor):\n def __init__(self,max_workers=None):\n \'\'\n\n\n\n\n\n \n _check_system_limits()\n \n if max_workers is None:\n self._max_workers=os.cpu_count()or 1\n else:\n self._max_workers=max_workers\n \n \n \n \n self._call_queue=multiprocessing.Queue(self._max_workers+\n EXTRA_QUEUED_CALLS)\n \n \n \n self._call_queue._ignore_epipe=True\n self._result_queue=SimpleQueue()\n self._work_ids=queue.Queue()\n self._queue_management_thread=None\n \n self._webworkers={}\n \n \n self._shutdown_thread=False\n self._shutdown_lock=threading.Lock()\n self._broken=False\n self._queue_count=0\n self._pending_work_items={}\n \n def _start_queue_management_thread(self):\n \n \n def weakref_cb(_,q=self._result_queue):\n q.put(None)\n if self._queue_management_thread is None:\n \n self._adjust_process_count()\n self._queue_management_thread=threading.Thread(\n target=_queue_management_worker,\n args=(weakref.ref(self,weakref_cb),\n self._webworkers,\n self._pending_work_items,\n self._work_ids,\n self._call_queue,\n self._result_queue))\n self._queue_management_thread.daemon=True\n self._queue_management_thread.start()\n _threads_queues[self._queue_management_thread]=self._result_queue\n \n def _adjust_process_count(self):\n for _ in range(len(self._webworkers),self._max_workers):\n p=multiprocessing.Process(\n target=_web_worker,\n args=(self._call_queue,\n self._result_queue))\n p.start()\n self._webworkers[p.pid]=p\n \n def submit(self,fn,*args,**kwargs):\n with self._shutdown_lock:\n if self._broken:\n raise BrokenProcessPool(\'A child process terminated \'\n \'abruptly, the process pool is not usable anymore\')\n if self._shutdown_thread:\n raise RuntimeError(\'cannot schedule new futures after shutdown\')\n \n f=_base.Future()\n w=_WorkItem(f,fn,args,kwargs)\n \n self._pending_work_items[self._queue_count]=w\n self._work_ids.put(self._queue_count)\n self._queue_count +=1\n \n self._result_queue.put(None)\n \n self._start_queue_management_thread()\n return f\n submit.__doc__=_base.Executor.submit.__doc__\n \n def shutdown(self,wait=True):\n with self._shutdown_lock:\n self._shutdown_thread=True\n if self._queue_management_thread:\n \n self._result_queue.put(None)\n if wait:\n self._queue_management_thread.join()\n \n \n self._queue_management_thread=None\n self._call_queue=None\n self._result_queue=None\n self._webworkers=None\n shutdown.__doc__=_base.Executor.shutdown.__doc__\n \natexit.register(_python_exit)\n',["atexit","concurrent.futures","concurrent.futures._base","multiprocessing","os","queue","threading","weakref"]],"concurrent.futures._base":[".py","\n\n\n__author__='Brian Quinlan (brian@sweetapp.com)'\n\nimport collections\nimport logging\nimport threading\nimport time\nimport types\n\nFIRST_COMPLETED='FIRST_COMPLETED'\nFIRST_EXCEPTION='FIRST_EXCEPTION'\nALL_COMPLETED='ALL_COMPLETED'\n_AS_COMPLETED='_AS_COMPLETED'\n\n\nPENDING='PENDING'\nRUNNING='RUNNING'\n\nCANCELLED='CANCELLED'\n\nCANCELLED_AND_NOTIFIED='CANCELLED_AND_NOTIFIED'\nFINISHED='FINISHED'\n\n_FUTURE_STATES=[\nPENDING,\nRUNNING,\nCANCELLED,\nCANCELLED_AND_NOTIFIED,\nFINISHED\n]\n\n_STATE_TO_DESCRIPTION_MAP={\nPENDING:\"pending\",\nRUNNING:\"running\",\nCANCELLED:\"cancelled\",\nCANCELLED_AND_NOTIFIED:\"cancelled\",\nFINISHED:\"finished\"\n}\n\n\nLOGGER=logging.getLogger(\"concurrent.futures\")\n\nclass Error(Exception):\n ''\n pass\n \nclass CancelledError(Error):\n ''\n pass\n \nTimeoutError=TimeoutError\n\nclass InvalidStateError(Error):\n ''\n pass\n \nclass _Waiter(object):\n ''\n def __init__(self):\n self.event=threading.Event()\n self.finished_futures=[]\n \n def add_result(self,future):\n self.finished_futures.append(future)\n \n def add_exception(self,future):\n self.finished_futures.append(future)\n \n def add_cancelled(self,future):\n self.finished_futures.append(future)\n \nclass _AsCompletedWaiter(_Waiter):\n ''\n \n def __init__(self):\n super(_AsCompletedWaiter,self).__init__()\n self.lock=threading.Lock()\n \n def add_result(self,future):\n with self.lock:\n super(_AsCompletedWaiter,self).add_result(future)\n self.event.set()\n \n def add_exception(self,future):\n with self.lock:\n super(_AsCompletedWaiter,self).add_exception(future)\n self.event.set()\n \n def add_cancelled(self,future):\n with self.lock:\n super(_AsCompletedWaiter,self).add_cancelled(future)\n self.event.set()\n \nclass _FirstCompletedWaiter(_Waiter):\n ''\n \n def add_result(self,future):\n super().add_result(future)\n self.event.set()\n \n def add_exception(self,future):\n super().add_exception(future)\n self.event.set()\n \n def add_cancelled(self,future):\n super().add_cancelled(future)\n self.event.set()\n \nclass _AllCompletedWaiter(_Waiter):\n ''\n \n def __init__(self,num_pending_calls,stop_on_exception):\n self.num_pending_calls=num_pending_calls\n self.stop_on_exception=stop_on_exception\n self.lock=threading.Lock()\n super().__init__()\n \n def _decrement_pending_calls(self):\n with self.lock:\n self.num_pending_calls -=1\n if not self.num_pending_calls:\n self.event.set()\n \n def add_result(self,future):\n super().add_result(future)\n self._decrement_pending_calls()\n \n def add_exception(self,future):\n super().add_exception(future)\n if self.stop_on_exception:\n self.event.set()\n else:\n self._decrement_pending_calls()\n \n def add_cancelled(self,future):\n super().add_cancelled(future)\n self._decrement_pending_calls()\n \nclass _AcquireFutures(object):\n ''\n \n def __init__(self,futures):\n self.futures=sorted(futures,key=id)\n \n def __enter__(self):\n for future in self.futures:\n future._condition.acquire()\n \n def __exit__(self,*args):\n for future in self.futures:\n future._condition.release()\n \ndef _create_and_install_waiters(fs,return_when):\n if return_when ==_AS_COMPLETED:\n waiter=_AsCompletedWaiter()\n elif return_when ==FIRST_COMPLETED:\n waiter=_FirstCompletedWaiter()\n else:\n pending_count=sum(\n f._state not in[CANCELLED_AND_NOTIFIED,FINISHED]for f in fs)\n \n if return_when ==FIRST_EXCEPTION:\n waiter=_AllCompletedWaiter(pending_count,stop_on_exception=True)\n elif return_when ==ALL_COMPLETED:\n waiter=_AllCompletedWaiter(pending_count,stop_on_exception=False)\n else:\n raise ValueError(\"Invalid return condition: %r\"%return_when)\n \n for f in fs:\n f._waiters.append(waiter)\n \n return waiter\n \n \ndef _yield_finished_futures(fs,waiter,ref_collect):\n ''\n\n\n\n\n\n\n\n\n \n while fs:\n f=fs[-1]\n for futures_set in ref_collect:\n futures_set.remove(f)\n with f._condition:\n f._waiters.remove(waiter)\n del f\n \n yield fs.pop()\n \n \ndef as_completed(fs,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if timeout is not None:\n end_time=timeout+time.monotonic()\n \n fs=set(fs)\n total_futures=len(fs)\n with _AcquireFutures(fs):\n finished=set(\n f for f in fs\n if f._state in[CANCELLED_AND_NOTIFIED,FINISHED])\n pending=fs -finished\n waiter=_create_and_install_waiters(fs,_AS_COMPLETED)\n finished=list(finished)\n try:\n yield from _yield_finished_futures(finished,waiter,\n ref_collect=(fs,))\n \n while pending:\n if timeout is None:\n wait_timeout=None\n else:\n wait_timeout=end_time -time.monotonic()\n if wait_timeout <0:\n raise TimeoutError(\n '%d (of %d) futures unfinished'%(\n len(pending),total_futures))\n \n waiter.event.wait(wait_timeout)\n \n with waiter.lock:\n finished=waiter.finished_futures\n waiter.finished_futures=[]\n waiter.event.clear()\n \n \n finished.reverse()\n yield from _yield_finished_futures(finished,waiter,\n ref_collect=(fs,pending))\n \n finally:\n \n for f in fs:\n with f._condition:\n f._waiters.remove(waiter)\n \nDoneAndNotDoneFutures=collections.namedtuple(\n'DoneAndNotDoneFutures','done not_done')\ndef wait(fs,timeout=None,return_when=ALL_COMPLETED):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n fs=set(fs)\n with _AcquireFutures(fs):\n done={f for f in fs\n if f._state in[CANCELLED_AND_NOTIFIED,FINISHED]}\n not_done=fs -done\n if(return_when ==FIRST_COMPLETED)and done:\n return DoneAndNotDoneFutures(done,not_done)\n elif(return_when ==FIRST_EXCEPTION)and done:\n if any(f for f in done\n if not f.cancelled()and f.exception()is not None):\n return DoneAndNotDoneFutures(done,not_done)\n \n if len(done)==len(fs):\n return DoneAndNotDoneFutures(done,not_done)\n \n waiter=_create_and_install_waiters(fs,return_when)\n \n waiter.event.wait(timeout)\n for f in fs:\n with f._condition:\n f._waiters.remove(waiter)\n \n done.update(waiter.finished_futures)\n return DoneAndNotDoneFutures(done,fs -done)\n \n \ndef _result_or_cancel(fut,timeout=None):\n try:\n try:\n return fut.result(timeout)\n finally:\n fut.cancel()\n finally:\n \n del fut\n \n \nclass Future(object):\n ''\n \n def __init__(self):\n ''\n self._condition=threading.Condition()\n self._state=PENDING\n self._result=None\n self._exception=None\n self._waiters=[]\n self._done_callbacks=[]\n \n def _invoke_callbacks(self):\n for callback in self._done_callbacks:\n try:\n callback(self)\n except Exception:\n LOGGER.exception('exception calling callback for %r',self)\n \n def __repr__(self):\n with self._condition:\n if self._state ==FINISHED:\n if self._exception:\n return '<%s at %#x state=%s raised %s>'%(\n self.__class__.__name__,\n id(self),\n _STATE_TO_DESCRIPTION_MAP[self._state],\n self._exception.__class__.__name__)\n else:\n return '<%s at %#x state=%s returned %s>'%(\n self.__class__.__name__,\n id(self),\n _STATE_TO_DESCRIPTION_MAP[self._state],\n self._result.__class__.__name__)\n return '<%s at %#x state=%s>'%(\n self.__class__.__name__,\n id(self),\n _STATE_TO_DESCRIPTION_MAP[self._state])\n \n def cancel(self):\n ''\n\n\n\n \n with self._condition:\n if self._state in[RUNNING,FINISHED]:\n return False\n \n if self._state in[CANCELLED,CANCELLED_AND_NOTIFIED]:\n return True\n \n self._state=CANCELLED\n self._condition.notify_all()\n \n self._invoke_callbacks()\n return True\n \n def cancelled(self):\n ''\n with self._condition:\n return self._state in[CANCELLED,CANCELLED_AND_NOTIFIED]\n \n def running(self):\n ''\n with self._condition:\n return self._state ==RUNNING\n \n def done(self):\n ''\n with self._condition:\n return self._state in[CANCELLED,CANCELLED_AND_NOTIFIED,FINISHED]\n \n def __get_result(self):\n if self._exception:\n try:\n raise self._exception\n finally:\n \n self=None\n else:\n return self._result\n \n def add_done_callback(self,fn):\n ''\n\n\n\n\n\n\n\n\n \n with self._condition:\n if self._state not in[CANCELLED,CANCELLED_AND_NOTIFIED,FINISHED]:\n self._done_callbacks.append(fn)\n return\n try:\n fn(self)\n except Exception:\n LOGGER.exception('exception calling callback for %r',self)\n \n def result(self,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n try:\n with self._condition:\n if self._state in[CANCELLED,CANCELLED_AND_NOTIFIED]:\n raise CancelledError()\n elif self._state ==FINISHED:\n return self.__get_result()\n \n self._condition.wait(timeout)\n \n if self._state in[CANCELLED,CANCELLED_AND_NOTIFIED]:\n raise CancelledError()\n elif self._state ==FINISHED:\n return self.__get_result()\n else:\n raise TimeoutError()\n finally:\n \n self=None\n \n def exception(self,timeout=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n with self._condition:\n if self._state in[CANCELLED,CANCELLED_AND_NOTIFIED]:\n raise CancelledError()\n elif self._state ==FINISHED:\n return self._exception\n \n self._condition.wait(timeout)\n \n if self._state in[CANCELLED,CANCELLED_AND_NOTIFIED]:\n raise CancelledError()\n elif self._state ==FINISHED:\n return self._exception\n else:\n raise TimeoutError()\n \n \n def set_running_or_notify_cancel(self):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n with self._condition:\n if self._state ==CANCELLED:\n self._state=CANCELLED_AND_NOTIFIED\n for waiter in self._waiters:\n waiter.add_cancelled(self)\n \n \n return False\n elif self._state ==PENDING:\n self._state=RUNNING\n return True\n else:\n LOGGER.critical('Future %s in unexpected state: %s',\n id(self),\n self._state)\n raise RuntimeError('Future in unexpected state')\n \n def set_result(self,result):\n ''\n\n\n \n with self._condition:\n if self._state in{CANCELLED,CANCELLED_AND_NOTIFIED,FINISHED}:\n raise InvalidStateError('{}: {!r}'.format(self._state,self))\n self._result=result\n self._state=FINISHED\n for waiter in self._waiters:\n waiter.add_result(self)\n self._condition.notify_all()\n self._invoke_callbacks()\n \n def set_exception(self,exception):\n ''\n\n\n \n with self._condition:\n if self._state in{CANCELLED,CANCELLED_AND_NOTIFIED,FINISHED}:\n raise InvalidStateError('{}: {!r}'.format(self._state,self))\n self._exception=exception\n self._state=FINISHED\n for waiter in self._waiters:\n waiter.add_exception(self)\n self._condition.notify_all()\n self._invoke_callbacks()\n \n __class_getitem__=classmethod(types.GenericAlias)\n \nclass Executor(object):\n ''\n \n def submit(self,fn,/,*args,**kwargs):\n ''\n\n\n\n\n\n\n \n raise NotImplementedError()\n \n def map(self,fn,*iterables,timeout=None,chunksize=1):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if timeout is not None:\n end_time=timeout+time.monotonic()\n \n fs=[self.submit(fn,*args)for args in zip(*iterables)]\n \n \n \n def result_iterator():\n try:\n \n fs.reverse()\n while fs:\n \n if timeout is None:\n yield _result_or_cancel(fs.pop())\n else:\n yield _result_or_cancel(fs.pop(),end_time -time.monotonic())\n finally:\n for future in fs:\n future.cancel()\n return result_iterator()\n \n def shutdown(self,wait=True,*,cancel_futures=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n pass\n \n def __enter__(self):\n return self\n \n def __exit__(self,exc_type,exc_val,exc_tb):\n self.shutdown(wait=True)\n return False\n \n \nclass BrokenExecutor(RuntimeError):\n ''\n\n \n",["collections","logging","threading","time","types"]],"concurrent.futures":[".py","\n\n\n\"\"\"Execute computations asynchronously using threads or processes.\"\"\"\n\n__author__='Brian Quinlan (brian@sweetapp.com)'\n\nfrom concurrent.futures._base import(FIRST_COMPLETED,\nFIRST_EXCEPTION,\nALL_COMPLETED,\nCancelledError,\nTimeoutError,\nInvalidStateError,\nBrokenExecutor,\nFuture,\nExecutor,\nwait,\nas_completed)\n\n__all__=(\n'FIRST_COMPLETED',\n'FIRST_EXCEPTION',\n'ALL_COMPLETED',\n'CancelledError',\n'TimeoutError',\n'BrokenExecutor',\n'Future',\n'Executor',\n'wait',\n'as_completed',\n'ProcessPoolExecutor',\n'ThreadPoolExecutor',\n)\n\n\ndef __dir__():\n return __all__+('__author__','__doc__')\n \n \ndef __getattr__(name):\n global ProcessPoolExecutor,ThreadPoolExecutor\n \n if name =='ProcessPoolExecutor':\n from.process import ProcessPoolExecutor as pe\n ProcessPoolExecutor=pe\n return pe\n \n if name =='ThreadPoolExecutor':\n from.thread import ThreadPoolExecutor as te\n ThreadPoolExecutor=te\n return te\n \n raise AttributeError(f\"module {__name__ !r} has no attribute {name !r}\")\n",["concurrent.futures._base","concurrent.futures.process","concurrent.futures.thread"],1],"email.base64mime":[".py","\n\n\n\n\"\"\"Base64 content transfer encoding per RFCs 2045-2047.\n\nThis module handles the content transfer encoding method defined in RFC 2045\nto encode arbitrary 8-bit data using the three 8-bit bytes in four 7-bit\ncharacters encoding known as Base64.\n\nIt is used in the MIME standards for email to attach images, audio, and text\nusing some 8-bit character sets to messages.\n\nThis module provides an interface to encode and decode both headers and bodies\nwith Base64 encoding.\n\nRFC 2045 defines a method for including character set information in an\n`encoded-word' in a header. This method is commonly used for 8-bit real names\nin To:, From:, Cc:, etc. fields, as well as Subject: lines.\n\nThis module does not do the line wrapping or end-of-line character conversion\nnecessary for proper internationalized headers; it only does dumb encoding and\ndecoding. To deal with the various line wrapping issues, use the email.header\nmodule.\n\"\"\"\n\n__all__=[\n'body_decode',\n'body_encode',\n'decode',\n'decodestring',\n'header_encode',\n'header_length',\n]\n\n\nfrom base64 import b64encode\nfrom binascii import b2a_base64,a2b_base64\n\nCRLF='\\r\\n'\nNL='\\n'\nEMPTYSTRING=''\n\n\nMISC_LEN=7\n\n\n\ndef header_length(bytearray):\n ''\n groups_of_3,leftover=divmod(len(bytearray),3)\n \n n=groups_of_3 *4\n if leftover:\n n +=4\n return n\n \n \ndef header_encode(header_bytes,charset='iso-8859-1'):\n ''\n\n\n\n \n if not header_bytes:\n return \"\"\n if isinstance(header_bytes,str):\n header_bytes=header_bytes.encode(charset)\n encoded=b64encode(header_bytes).decode(\"ascii\")\n return '=?%s?b?%s?='%(charset,encoded)\n \n \ndef body_encode(s,maxlinelen=76,eol=NL):\n ''\n\n\n\n\n\n\n\n \n if not s:\n return \"\"\n \n encvec=[]\n max_unencoded=maxlinelen *3 //4\n for i in range(0,len(s),max_unencoded):\n \n \n enc=b2a_base64(s[i:i+max_unencoded]).decode(\"ascii\")\n if enc.endswith(NL)and eol !=NL:\n enc=enc[:-1]+eol\n encvec.append(enc)\n return EMPTYSTRING.join(encvec)\n \n \ndef decode(string):\n ''\n\n\n\n\n \n if not string:\n return bytes()\n elif isinstance(string,str):\n return a2b_base64(string.encode('raw-unicode-escape'))\n else:\n return a2b_base64(string)\n \n \n \nbody_decode=decode\ndecodestring=decode\n",["base64","binascii"]],"email.charset":[".py","\n\n\n\n__all__=[\n'Charset',\n'add_alias',\n'add_charset',\n'add_codec',\n]\n\nfrom functools import partial\n\nimport email.base64mime\nimport email.quoprimime\n\nfrom email import errors\nfrom email.encoders import encode_7or8bit\n\n\n\nQP=1\nBASE64=2\nSHORTEST=3\n\n\nRFC2047_CHROME_LEN=7\n\nDEFAULT_CHARSET='us-ascii'\nUNKNOWN8BIT='unknown-8bit'\nEMPTYSTRING=''\n\n\n\nCHARSETS={\n\n'iso-8859-1':(QP,QP,None),\n'iso-8859-2':(QP,QP,None),\n'iso-8859-3':(QP,QP,None),\n'iso-8859-4':(QP,QP,None),\n\n\n\n\n'iso-8859-9':(QP,QP,None),\n'iso-8859-10':(QP,QP,None),\n\n'iso-8859-13':(QP,QP,None),\n'iso-8859-14':(QP,QP,None),\n'iso-8859-15':(QP,QP,None),\n'iso-8859-16':(QP,QP,None),\n'windows-1252':(QP,QP,None),\n'viscii':(QP,QP,None),\n'us-ascii':(None,None,None),\n'big5':(BASE64,BASE64,None),\n'gb2312':(BASE64,BASE64,None),\n'euc-jp':(BASE64,None,'iso-2022-jp'),\n'shift_jis':(BASE64,None,'iso-2022-jp'),\n'iso-2022-jp':(BASE64,None,None),\n'koi8-r':(BASE64,BASE64,None),\n'utf-8':(SHORTEST,BASE64,'utf-8'),\n}\n\n\n\nALIASES={\n'latin_1':'iso-8859-1',\n'latin-1':'iso-8859-1',\n'latin_2':'iso-8859-2',\n'latin-2':'iso-8859-2',\n'latin_3':'iso-8859-3',\n'latin-3':'iso-8859-3',\n'latin_4':'iso-8859-4',\n'latin-4':'iso-8859-4',\n'latin_5':'iso-8859-9',\n'latin-5':'iso-8859-9',\n'latin_6':'iso-8859-10',\n'latin-6':'iso-8859-10',\n'latin_7':'iso-8859-13',\n'latin-7':'iso-8859-13',\n'latin_8':'iso-8859-14',\n'latin-8':'iso-8859-14',\n'latin_9':'iso-8859-15',\n'latin-9':'iso-8859-15',\n'latin_10':'iso-8859-16',\n'latin-10':'iso-8859-16',\n'cp949':'ks_c_5601-1987',\n'euc_jp':'euc-jp',\n'euc_kr':'euc-kr',\n'ascii':'us-ascii',\n}\n\n\n\nCODEC_MAP={\n'gb2312':'eucgb2312_cn',\n'big5':'big5_tw',\n\n\n\n'us-ascii':None,\n}\n\n\n\ndef add_charset(charset,header_enc=None,body_enc=None,output_charset=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if body_enc ==SHORTEST:\n raise ValueError('SHORTEST not allowed for body_enc')\n CHARSETS[charset]=(header_enc,body_enc,output_charset)\n \n \ndef add_alias(alias,canonical):\n ''\n\n\n\n \n ALIASES[alias]=canonical\n \n \ndef add_codec(charset,codecname):\n ''\n\n\n\n\n \n CODEC_MAP[charset]=codecname\n \n \n \n \ndef _encode(string,codec):\n if codec ==UNKNOWN8BIT:\n return string.encode('ascii','surrogateescape')\n else:\n return string.encode(codec)\n \n \nclass Charset:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n def __init__(self,input_charset=DEFAULT_CHARSET):\n \n \n \n \n try:\n if isinstance(input_charset,str):\n input_charset.encode('ascii')\n else:\n input_charset=str(input_charset,'ascii')\n except UnicodeError:\n raise errors.CharsetError(input_charset)\n input_charset=input_charset.lower()\n \n self.input_charset=ALIASES.get(input_charset,input_charset)\n \n \n \n henc,benc,conv=CHARSETS.get(self.input_charset,\n (SHORTEST,BASE64,None))\n if not conv:\n conv=self.input_charset\n \n self.header_encoding=henc\n self.body_encoding=benc\n self.output_charset=ALIASES.get(conv,conv)\n \n \n self.input_codec=CODEC_MAP.get(self.input_charset,\n self.input_charset)\n self.output_codec=CODEC_MAP.get(self.output_charset,\n self.output_charset)\n \n def __repr__(self):\n return self.input_charset.lower()\n \n def __eq__(self,other):\n return str(self)==str(other).lower()\n \n def get_body_encoding(self):\n ''\n\n\n\n\n\n\n\n\n\n\n \n assert self.body_encoding !=SHORTEST\n if self.body_encoding ==QP:\n return 'quoted-printable'\n elif self.body_encoding ==BASE64:\n return 'base64'\n else:\n return encode_7or8bit\n \n def get_output_charset(self):\n ''\n\n\n\n \n return self.output_charset or self.input_charset\n \n def header_encode(self,string):\n ''\n\n\n\n\n\n\n\n\n \n codec=self.output_codec or 'us-ascii'\n header_bytes=_encode(string,codec)\n \n encoder_module=self._get_encoder(header_bytes)\n if encoder_module is None:\n return string\n return encoder_module.header_encode(header_bytes,codec)\n \n def header_encode_lines(self,string,maxlengths):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n codec=self.output_codec or 'us-ascii'\n header_bytes=_encode(string,codec)\n encoder_module=self._get_encoder(header_bytes)\n encoder=partial(encoder_module.header_encode,charset=codec)\n \n \n charset=self.get_output_charset()\n extra=len(charset)+RFC2047_CHROME_LEN\n \n \n \n \n \n \n \n \n \n \n \n lines=[]\n current_line=[]\n maxlen=next(maxlengths)-extra\n for character in string:\n current_line.append(character)\n this_line=EMPTYSTRING.join(current_line)\n length=encoder_module.header_length(_encode(this_line,charset))\n if length >maxlen:\n \n current_line.pop()\n \n if not lines and not current_line:\n lines.append(None)\n else:\n joined_line=EMPTYSTRING.join(current_line)\n header_bytes=_encode(joined_line,codec)\n lines.append(encoder(header_bytes))\n current_line=[character]\n maxlen=next(maxlengths)-extra\n joined_line=EMPTYSTRING.join(current_line)\n header_bytes=_encode(joined_line,codec)\n lines.append(encoder(header_bytes))\n return lines\n \n def _get_encoder(self,header_bytes):\n if self.header_encoding ==BASE64:\n return email.base64mime\n elif self.header_encoding ==QP:\n return email.quoprimime\n elif self.header_encoding ==SHORTEST:\n len64=email.base64mime.header_length(header_bytes)\n lenqp=email.quoprimime.header_length(header_bytes)\n if len64 len(sniff_base64):\n cte='base64'\n else:\n cte='quoted-printable'\n if len(lines)<=10:\n return cte,sniff_qp\n if cte =='7bit':\n data=normal_body(lines).decode('ascii')\n elif cte =='8bit':\n data=normal_body(lines).decode('ascii','surrogateescape')\n elif cte =='quoted-printable':\n data=quoprimime.body_encode(normal_body(lines).decode('latin-1'),\n policy.max_line_length)\n elif cte =='base64':\n data=_encode_base64(embedded_body(lines),policy.max_line_length)\n else:\n raise ValueError(\"Unknown content transfer encoding {}\".format(cte))\n return cte,data\n \n \ndef set_text_content(msg,string,subtype=\"plain\",charset='utf-8',cte=None,\ndisposition=None,filename=None,cid=None,\nparams=None,headers=None):\n _prepare_set(msg,'text',subtype,headers)\n cte,payload=_encode_text(string,charset,cte,msg.policy)\n msg.set_payload(payload)\n msg.set_param('charset',\n email.charset.ALIASES.get(charset,charset),\n replace=True)\n msg['Content-Transfer-Encoding']=cte\n _finalize_set(msg,disposition,filename,cid,params)\nraw_data_manager.add_set_handler(str,set_text_content)\n\n\ndef set_message_content(msg,message,subtype=\"rfc822\",cte=None,\ndisposition=None,filename=None,cid=None,\nparams=None,headers=None):\n if subtype =='partial':\n raise ValueError(\"message/partial is not supported for Message objects\")\n if subtype =='rfc822':\n if cte not in(None,'7bit','8bit','binary'):\n \n raise ValueError(\n \"message/rfc822 parts do not support cte={}\".format(cte))\n \n \n \n \n \n cte='8bit'if cte is None else cte\n elif subtype =='external-body':\n if cte not in(None,'7bit'):\n \n raise ValueError(\n \"message/external-body parts do not support cte={}\".format(cte))\n cte='7bit'\n elif cte is None:\n \n \n cte='7bit'\n _prepare_set(msg,'message',subtype,headers)\n msg.set_payload([message])\n msg['Content-Transfer-Encoding']=cte\n _finalize_set(msg,disposition,filename,cid,params)\nraw_data_manager.add_set_handler(email.message.Message,set_message_content)\n\n\ndef set_bytes_content(msg,data,maintype,subtype,cte='base64',\ndisposition=None,filename=None,cid=None,\nparams=None,headers=None):\n _prepare_set(msg,maintype,subtype,headers)\n if cte =='base64':\n data=_encode_base64(data,max_line_length=msg.policy.max_line_length)\n elif cte =='quoted-printable':\n \n \n \n data=binascii.b2a_qp(data,istext=False,header=False,quotetabs=True)\n data=data.decode('ascii')\n elif cte =='7bit':\n data=data.decode('ascii')\n elif cte in('8bit','binary'):\n data=data.decode('ascii','surrogateescape')\n msg.set_payload(data)\n msg['Content-Transfer-Encoding']=cte\n _finalize_set(msg,disposition,filename,cid,params)\nfor typ in(bytes,bytearray,memoryview):\n raw_data_manager.add_set_handler(typ,set_bytes_content)\ndel typ\n",["binascii","email","email.charset","email.errors","email.message","email.quoprimime"]],"email.encoders":[".py","\n\n\n\n\"\"\"Encodings and related functions.\"\"\"\n\n__all__=[\n'encode_7or8bit',\n'encode_base64',\n'encode_noop',\n'encode_quopri',\n]\n\n\nfrom base64 import encodebytes as _bencode\nfrom quopri import encodestring as _encodestring\n\n\ndef _qencode(s):\n enc=_encodestring(s,quotetabs=True)\n \n return enc.replace(b' ',b'=20')\n \n \ndef encode_base64(msg):\n ''\n\n\n \n orig=msg.get_payload(decode=True)\n encdata=str(_bencode(orig),'ascii')\n msg.set_payload(encdata)\n msg['Content-Transfer-Encoding']='base64'\n \n \ndef encode_quopri(msg):\n ''\n\n\n \n orig=msg.get_payload(decode=True)\n encdata=_qencode(orig)\n msg.set_payload(encdata)\n msg['Content-Transfer-Encoding']='quoted-printable'\n \n \ndef encode_7or8bit(msg):\n ''\n orig=msg.get_payload(decode=True)\n if orig is None:\n \n msg['Content-Transfer-Encoding']='7bit'\n return\n \n \n try:\n orig.decode('ascii')\n except UnicodeError:\n msg['Content-Transfer-Encoding']='8bit'\n else:\n msg['Content-Transfer-Encoding']='7bit'\n \n \ndef encode_noop(msg):\n ''\n",["base64","quopri"]],"email.errors":[".py","\n\n\n\n\"\"\"email package exception classes.\"\"\"\n\n\nclass MessageError(Exception):\n ''\n \n \nclass MessageParseError(MessageError):\n ''\n \n \nclass HeaderParseError(MessageParseError):\n ''\n \n \nclass BoundaryError(MessageParseError):\n ''\n \n \nclass MultipartConversionError(MessageError,TypeError):\n ''\n \n \nclass CharsetError(MessageError):\n ''\n \n \n \nclass MessageDefect(ValueError):\n ''\n \n def __init__(self,line=None):\n if line is not None:\n super().__init__(line)\n self.line=line\n \nclass NoBoundaryInMultipartDefect(MessageDefect):\n ''\n \nclass StartBoundaryNotFoundDefect(MessageDefect):\n ''\n \nclass CloseBoundaryNotFoundDefect(MessageDefect):\n ''\n \nclass FirstHeaderLineIsContinuationDefect(MessageDefect):\n ''\n \nclass MisplacedEnvelopeHeaderDefect(MessageDefect):\n ''\n \nclass MissingHeaderBodySeparatorDefect(MessageDefect):\n ''\n \nMalformedHeaderDefect=MissingHeaderBodySeparatorDefect\n\nclass MultipartInvariantViolationDefect(MessageDefect):\n ''\n \nclass InvalidMultipartContentTransferEncodingDefect(MessageDefect):\n ''\n \nclass UndecodableBytesDefect(MessageDefect):\n ''\n \nclass InvalidBase64PaddingDefect(MessageDefect):\n ''\n \nclass InvalidBase64CharactersDefect(MessageDefect):\n ''\n \nclass InvalidBase64LengthDefect(MessageDefect):\n ''\n \n \n \nclass HeaderDefect(MessageDefect):\n ''\n \n def __init__(self,*args,**kw):\n super().__init__(*args,**kw)\n \nclass InvalidHeaderDefect(HeaderDefect):\n ''\n \nclass HeaderMissingRequiredValue(HeaderDefect):\n ''\n \nclass NonPrintableDefect(HeaderDefect):\n ''\n \n def __init__(self,non_printables):\n super().__init__(non_printables)\n self.non_printables=non_printables\n \n def __str__(self):\n return(\"the following ASCII non-printables found in header: \"\n \"{}\".format(self.non_printables))\n \nclass ObsoleteHeaderDefect(HeaderDefect):\n ''\n \nclass NonASCIILocalPartDefect(HeaderDefect):\n ''\n \n \n \nclass InvalidDateDefect(HeaderDefect):\n ''\n",[]],"email.feedparser":[".py","\n\n\n\n\"\"\"FeedParser - An email feed parser.\n\nThe feed parser implements an interface for incrementally parsing an email\nmessage, line by line. This has advantages for certain applications, such as\nthose reading email messages off a socket.\n\nFeedParser.feed() is the primary interface for pushing new data into the\nparser. It returns when there's nothing more it can do with the available\ndata. When you have no more data to push into the parser, call .close().\nThis completes the parsing and returns the root message object.\n\nThe other advantage of this parser is that it will never raise a parsing\nexception. Instead, when it finds something unexpected, it adds a 'defect' to\nthe current message. Defects are just instances that live on the message\nobject's .defects attribute.\n\"\"\"\n\n__all__=['FeedParser','BytesFeedParser']\n\nimport re\n\nfrom email import errors\nfrom email._policybase import compat32\nfrom collections import deque\nfrom io import StringIO\n\nNLCRE=re.compile(r'\\r\\n|\\r|\\n')\nNLCRE_bol=re.compile(r'(\\r\\n|\\r|\\n)')\nNLCRE_eol=re.compile(r'(\\r\\n|\\r|\\n)\\Z')\nNLCRE_crack=re.compile(r'(\\r\\n|\\r|\\n)')\n\n\nheaderRE=re.compile(r'^(From |[\\041-\\071\\073-\\176]*:|[\\t ])')\nEMPTYSTRING=''\nNL='\\n'\n\nNeedMoreData=object()\n\n\nclass BufferedSubFile(object):\n ''\n\n\n\n\n\n \n def __init__(self):\n \n \n self._partial=StringIO(newline='')\n \n self._lines=deque()\n \n self._eofstack=[]\n \n self._closed=False\n \n def push_eof_matcher(self,pred):\n self._eofstack.append(pred)\n \n def pop_eof_matcher(self):\n return self._eofstack.pop()\n \n def close(self):\n \n self._partial.seek(0)\n self.pushlines(self._partial.readlines())\n self._partial.seek(0)\n self._partial.truncate()\n self._closed=True\n \n def readline(self):\n if not self._lines:\n if self._closed:\n return ''\n return NeedMoreData\n \n \n line=self._lines.popleft()\n \n \n \n for ateof in reversed(self._eofstack):\n if ateof(line):\n \n self._lines.appendleft(line)\n return ''\n return line\n \n def unreadline(self,line):\n \n assert line is not NeedMoreData\n self._lines.appendleft(line)\n \n def push(self,data):\n ''\n self._partial.write(data)\n if '\\n'not in data and '\\r'not in data:\n \n return\n \n \n self._partial.seek(0)\n parts=self._partial.readlines()\n self._partial.seek(0)\n self._partial.truncate()\n \n \n \n \n \n if not parts[-1].endswith('\\n'):\n self._partial.write(parts.pop())\n self.pushlines(parts)\n \n def pushlines(self,lines):\n self._lines.extend(lines)\n \n def __iter__(self):\n return self\n \n def __next__(self):\n line=self.readline()\n if line =='':\n raise StopIteration\n return line\n \n \nclass FeedParser:\n ''\n \n def __init__(self,_factory=None,*,policy=compat32):\n ''\n\n\n\n\n\n \n self.policy=policy\n self._old_style_factory=False\n if _factory is None:\n if policy.message_factory is None:\n from email.message import Message\n self._factory=Message\n else:\n self._factory=policy.message_factory\n else:\n self._factory=_factory\n try:\n _factory(policy=self.policy)\n except TypeError:\n \n self._old_style_factory=True\n self._input=BufferedSubFile()\n self._msgstack=[]\n self._parse=self._parsegen().__next__\n self._cur=None\n self._last=None\n self._headersonly=False\n \n \n def _set_headersonly(self):\n self._headersonly=True\n \n def feed(self,data):\n ''\n self._input.push(data)\n self._call_parse()\n \n def _call_parse(self):\n try:\n self._parse()\n except StopIteration:\n pass\n \n def close(self):\n ''\n self._input.close()\n self._call_parse()\n root=self._pop_message()\n assert not self._msgstack\n \n if root.get_content_maintype()=='multipart'\\\n and not root.is_multipart()and not self._headersonly:\n defect=errors.MultipartInvariantViolationDefect()\n self.policy.handle_defect(root,defect)\n return root\n \n def _new_message(self):\n if self._old_style_factory:\n msg=self._factory()\n else:\n msg=self._factory(policy=self.policy)\n if self._cur and self._cur.get_content_type()=='multipart/digest':\n msg.set_default_type('message/rfc822')\n if self._msgstack:\n self._msgstack[-1].attach(msg)\n self._msgstack.append(msg)\n self._cur=msg\n self._last=msg\n \n def _pop_message(self):\n retval=self._msgstack.pop()\n if self._msgstack:\n self._cur=self._msgstack[-1]\n else:\n self._cur=None\n return retval\n \n def _parsegen(self):\n \n self._new_message()\n headers=[]\n \n \n for line in self._input:\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n if not headerRE.match(line):\n \n \n \n if not NLCRE.match(line):\n defect=errors.MissingHeaderBodySeparatorDefect()\n self.policy.handle_defect(self._cur,defect)\n self._input.unreadline(line)\n break\n headers.append(line)\n \n \n self._parse_headers(headers)\n \n \n \n if self._headersonly:\n lines=[]\n while True:\n line=self._input.readline()\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n if line =='':\n break\n lines.append(line)\n self._cur.set_payload(EMPTYSTRING.join(lines))\n return\n if self._cur.get_content_type()=='message/delivery-status':\n \n \n \n \n \n while True:\n self._input.push_eof_matcher(NLCRE.match)\n for retval in self._parsegen():\n if retval is NeedMoreData:\n yield NeedMoreData\n continue\n break\n self._pop_message()\n \n \n \n self._input.pop_eof_matcher()\n \n \n \n \n while True:\n line=self._input.readline()\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n break\n while True:\n line=self._input.readline()\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n break\n if line =='':\n break\n \n self._input.unreadline(line)\n return\n if self._cur.get_content_maintype()=='message':\n \n \n for retval in self._parsegen():\n if retval is NeedMoreData:\n yield NeedMoreData\n continue\n break\n self._pop_message()\n return\n if self._cur.get_content_maintype()=='multipart':\n boundary=self._cur.get_boundary()\n if boundary is None:\n \n \n \n \n defect=errors.NoBoundaryInMultipartDefect()\n self.policy.handle_defect(self._cur,defect)\n lines=[]\n for line in self._input:\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n lines.append(line)\n self._cur.set_payload(EMPTYSTRING.join(lines))\n return\n \n if(str(self._cur.get('content-transfer-encoding','8bit')).lower()\n not in('7bit','8bit','binary')):\n defect=errors.InvalidMultipartContentTransferEncodingDefect()\n self.policy.handle_defect(self._cur,defect)\n \n \n \n \n separator='--'+boundary\n boundaryre=re.compile(\n '(?P'+re.escape(separator)+\n r')(?P--)?(?P[ \\t]*)(?P\\r\\n|\\r|\\n)?$')\n capturing_preamble=True\n preamble=[]\n linesep=False\n close_boundary_seen=False\n while True:\n line=self._input.readline()\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n if line =='':\n break\n mo=boundaryre.match(line)\n if mo:\n \n \n \n \n if mo.group('end'):\n close_boundary_seen=True\n linesep=mo.group('linesep')\n break\n \n if capturing_preamble:\n if preamble:\n \n \n lastline=preamble[-1]\n eolmo=NLCRE_eol.search(lastline)\n if eolmo:\n preamble[-1]=lastline[:-len(eolmo.group(0))]\n self._cur.preamble=EMPTYSTRING.join(preamble)\n capturing_preamble=False\n self._input.unreadline(line)\n continue\n \n \n \n \n while True:\n line=self._input.readline()\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n mo=boundaryre.match(line)\n if not mo:\n self._input.unreadline(line)\n break\n \n \n self._input.push_eof_matcher(boundaryre.match)\n for retval in self._parsegen():\n if retval is NeedMoreData:\n yield NeedMoreData\n continue\n break\n \n \n \n \n if self._last.get_content_maintype()=='multipart':\n epilogue=self._last.epilogue\n if epilogue =='':\n self._last.epilogue=None\n elif epilogue is not None:\n mo=NLCRE_eol.search(epilogue)\n if mo:\n end=len(mo.group(0))\n self._last.epilogue=epilogue[:-end]\n else:\n payload=self._last._payload\n if isinstance(payload,str):\n mo=NLCRE_eol.search(payload)\n if mo:\n payload=payload[:-len(mo.group(0))]\n self._last._payload=payload\n self._input.pop_eof_matcher()\n self._pop_message()\n \n \n self._last=self._cur\n else:\n \n assert capturing_preamble\n preamble.append(line)\n \n \n \n if capturing_preamble:\n defect=errors.StartBoundaryNotFoundDefect()\n self.policy.handle_defect(self._cur,defect)\n self._cur.set_payload(EMPTYSTRING.join(preamble))\n epilogue=[]\n for line in self._input:\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n self._cur.epilogue=EMPTYSTRING.join(epilogue)\n return\n \n \n if not close_boundary_seen:\n defect=errors.CloseBoundaryNotFoundDefect()\n self.policy.handle_defect(self._cur,defect)\n return\n \n \n \n if linesep:\n epilogue=['']\n else:\n epilogue=[]\n for line in self._input:\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n epilogue.append(line)\n \n \n \n if epilogue:\n firstline=epilogue[0]\n bolmo=NLCRE_bol.match(firstline)\n if bolmo:\n epilogue[0]=firstline[len(bolmo.group(0)):]\n self._cur.epilogue=EMPTYSTRING.join(epilogue)\n return\n \n \n lines=[]\n for line in self._input:\n if line is NeedMoreData:\n yield NeedMoreData\n continue\n lines.append(line)\n self._cur.set_payload(EMPTYSTRING.join(lines))\n \n def _parse_headers(self,lines):\n \n lastheader=''\n lastvalue=[]\n for lineno,line in enumerate(lines):\n \n if line[0]in ' \\t':\n if not lastheader:\n \n \n \n defect=errors.FirstHeaderLineIsContinuationDefect(line)\n self.policy.handle_defect(self._cur,defect)\n continue\n lastvalue.append(line)\n continue\n if lastheader:\n self._cur.set_raw(*self.policy.header_source_parse(lastvalue))\n lastheader,lastvalue='',[]\n \n if line.startswith('From '):\n if lineno ==0:\n \n mo=NLCRE_eol.search(line)\n if mo:\n line=line[:-len(mo.group(0))]\n self._cur.set_unixfrom(line)\n continue\n elif lineno ==len(lines)-1:\n \n \n \n self._input.unreadline(line)\n return\n else:\n \n \n defect=errors.MisplacedEnvelopeHeaderDefect(line)\n self._cur.defects.append(defect)\n continue\n \n \n \n i=line.find(':')\n \n \n \n \n if i ==0:\n defect=errors.InvalidHeaderDefect(\"Missing header name.\")\n self._cur.defects.append(defect)\n continue\n \n assert i >0,\"_parse_headers fed line with no : and no leading WS\"\n lastheader=line[:i]\n lastvalue=[line]\n \n if lastheader:\n self._cur.set_raw(*self.policy.header_source_parse(lastvalue))\n \n \nclass BytesFeedParser(FeedParser):\n ''\n \n def feed(self,data):\n super().feed(data.decode('ascii','surrogateescape'))\n",["collections","email","email._policybase","email.errors","email.message","io","re"]],"email.generator":[".py","\n\n\n\n\"\"\"Classes to generate plain text from a message object tree.\"\"\"\n\n__all__=['Generator','DecodedGenerator','BytesGenerator']\n\nimport re\nimport sys\nimport time\nimport random\n\nfrom copy import deepcopy\nfrom io import StringIO,BytesIO\nfrom email.utils import _has_surrogates\n\nUNDERSCORE='_'\nNL='\\n'\n\nNLCRE=re.compile(r'\\r\\n|\\r|\\n')\nfcre=re.compile(r'^From ',re.MULTILINE)\n\n\nclass Generator:\n ''\n\n\n\n \n \n \n \n \n def __init__(self,outfp,mangle_from_=None,maxheaderlen=None,*,\n policy=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if mangle_from_ is None:\n mangle_from_=True if policy is None else policy.mangle_from_\n self._fp=outfp\n self._mangle_from_=mangle_from_\n self.maxheaderlen=maxheaderlen\n self.policy=policy\n \n def write(self,s):\n \n self._fp.write(s)\n \n def flatten(self,msg,unixfrom=False,linesep=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n policy=msg.policy if self.policy is None else self.policy\n if linesep is not None:\n policy=policy.clone(linesep=linesep)\n if self.maxheaderlen is not None:\n policy=policy.clone(max_line_length=self.maxheaderlen)\n self._NL=policy.linesep\n self._encoded_NL=self._encode(self._NL)\n self._EMPTY=''\n self._encoded_EMPTY=self._encode(self._EMPTY)\n \n \n \n \n old_gen_policy=self.policy\n old_msg_policy=msg.policy\n try:\n self.policy=policy\n msg.policy=policy\n if unixfrom:\n ufrom=msg.get_unixfrom()\n if not ufrom:\n ufrom='From nobody '+time.ctime(time.time())\n self.write(ufrom+self._NL)\n self._write(msg)\n finally:\n self.policy=old_gen_policy\n msg.policy=old_msg_policy\n \n def clone(self,fp):\n ''\n return self.__class__(fp,\n self._mangle_from_,\n None,\n policy=self.policy)\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n def _new_buffer(self):\n \n return StringIO()\n \n def _encode(self,s):\n \n return s\n \n def _write_lines(self,lines):\n \n if not lines:\n return\n lines=NLCRE.split(lines)\n for line in lines[:-1]:\n self.write(line)\n self.write(self._NL)\n if lines[-1]:\n self.write(lines[-1])\n \n \n \n \n \n \n def _write(self,msg):\n \n \n \n \n \n \n \n \n \n \n \n oldfp=self._fp\n try:\n self._munge_cte=None\n self._fp=sfp=self._new_buffer()\n self._dispatch(msg)\n finally:\n self._fp=oldfp\n munge_cte=self._munge_cte\n del self._munge_cte\n \n if munge_cte:\n msg=deepcopy(msg)\n \n if msg.get('content-transfer-encoding')is None:\n msg['Content-Transfer-Encoding']=munge_cte[0]\n else:\n msg.replace_header('content-transfer-encoding',munge_cte[0])\n msg.replace_header('content-type',munge_cte[1])\n \n \n meth=getattr(msg,'_write_headers',None)\n if meth is None:\n self._write_headers(msg)\n else:\n meth(self)\n self._fp.write(sfp.getvalue())\n \n def _dispatch(self,msg):\n \n \n \n \n main=msg.get_content_maintype()\n sub=msg.get_content_subtype()\n specific=UNDERSCORE.join((main,sub)).replace('-','_')\n meth=getattr(self,'_handle_'+specific,None)\n if meth is None:\n generic=main.replace('-','_')\n meth=getattr(self,'_handle_'+generic,None)\n if meth is None:\n meth=self._writeBody\n meth(msg)\n \n \n \n \n \n def _write_headers(self,msg):\n for h,v in msg.raw_items():\n self.write(self.policy.fold(h,v))\n \n self.write(self._NL)\n \n \n \n \n \n def _handle_text(self,msg):\n payload=msg.get_payload()\n if payload is None:\n return\n if not isinstance(payload,str):\n raise TypeError('string payload expected: %s'%type(payload))\n if _has_surrogates(msg._payload):\n charset=msg.get_param('charset')\n if charset is not None:\n \n \n msg=deepcopy(msg)\n del msg['content-transfer-encoding']\n msg.set_payload(payload,charset)\n payload=msg.get_payload()\n self._munge_cte=(msg['content-transfer-encoding'],\n msg['content-type'])\n if self._mangle_from_:\n payload=fcre.sub('>From ',payload)\n self._write_lines(payload)\n \n \n _writeBody=_handle_text\n \n def _handle_multipart(self,msg):\n \n \n \n msgtexts=[]\n subparts=msg.get_payload()\n if subparts is None:\n subparts=[]\n elif isinstance(subparts,str):\n \n self.write(subparts)\n return\n elif not isinstance(subparts,list):\n \n subparts=[subparts]\n for part in subparts:\n s=self._new_buffer()\n g=self.clone(s)\n g.flatten(part,unixfrom=False,linesep=self._NL)\n msgtexts.append(s.getvalue())\n \n boundary=msg.get_boundary()\n if not boundary:\n \n \n alltext=self._encoded_NL.join(msgtexts)\n boundary=self._make_boundary(alltext)\n msg.set_boundary(boundary)\n \n if msg.preamble is not None:\n if self._mangle_from_:\n preamble=fcre.sub('>From ',msg.preamble)\n else:\n preamble=msg.preamble\n self._write_lines(preamble)\n self.write(self._NL)\n \n self.write('--'+boundary+self._NL)\n \n if msgtexts:\n self._fp.write(msgtexts.pop(0))\n \n \n \n for body_part in msgtexts:\n \n self.write(self._NL+'--'+boundary+self._NL)\n \n self._fp.write(body_part)\n \n self.write(self._NL+'--'+boundary+'--'+self._NL)\n if msg.epilogue is not None:\n if self._mangle_from_:\n epilogue=fcre.sub('>From ',msg.epilogue)\n else:\n epilogue=msg.epilogue\n self._write_lines(epilogue)\n \n def _handle_multipart_signed(self,msg):\n \n \n \n p=self.policy\n self.policy=p.clone(max_line_length=0)\n try:\n self._handle_multipart(msg)\n finally:\n self.policy=p\n \n def _handle_message_delivery_status(self,msg):\n \n \n \n blocks=[]\n for part in msg.get_payload():\n s=self._new_buffer()\n g=self.clone(s)\n g.flatten(part,unixfrom=False,linesep=self._NL)\n text=s.getvalue()\n lines=text.split(self._encoded_NL)\n \n if lines and lines[-1]==self._encoded_EMPTY:\n blocks.append(self._encoded_NL.join(lines[:-1]))\n else:\n blocks.append(text)\n \n \n \n self._fp.write(self._encoded_NL.join(blocks))\n \n def _handle_message(self,msg):\n s=self._new_buffer()\n g=self.clone(s)\n \n \n \n \n \n \n \n \n \n payload=msg._payload\n if isinstance(payload,list):\n g.flatten(msg.get_payload(0),unixfrom=False,linesep=self._NL)\n payload=s.getvalue()\n else:\n payload=self._encode(payload)\n self._fp.write(payload)\n \n \n \n \n \n \n @classmethod\n def _make_boundary(cls,text=None):\n \n \n token=random.randrange(sys.maxsize)\n boundary=('='*15)+(_fmt %token)+'=='\n if text is None:\n return boundary\n b=boundary\n counter=0\n while True:\n cre=cls._compile_re('^--'+re.escape(b)+'(--)?$',re.MULTILINE)\n if not cre.search(text):\n break\n b=boundary+'.'+str(counter)\n counter +=1\n return b\n \n @classmethod\n def _compile_re(cls,s,flags):\n return re.compile(s,flags)\n \n \nclass BytesGenerator(Generator):\n ''\n\n\n\n\n\n\n\n\n\n \n \n def write(self,s):\n self._fp.write(s.encode('ascii','surrogateescape'))\n \n def _new_buffer(self):\n return BytesIO()\n \n def _encode(self,s):\n return s.encode('ascii')\n \n def _write_headers(self,msg):\n \n \n for h,v in msg.raw_items():\n self._fp.write(self.policy.fold_binary(h,v))\n \n self.write(self._NL)\n \n def _handle_text(self,msg):\n \n \n if msg._payload is None:\n return\n if _has_surrogates(msg._payload)and not self.policy.cte_type =='7bit':\n if self._mangle_from_:\n msg._payload=fcre.sub(\">From \",msg._payload)\n self._write_lines(msg._payload)\n else:\n super(BytesGenerator,self)._handle_text(msg)\n \n \n _writeBody=_handle_text\n \n @classmethod\n def _compile_re(cls,s,flags):\n return re.compile(s.encode('ascii'),flags)\n \n \n_FMT='[Non-text (%(type)s) part of message omitted, filename %(filename)s]'\n\nclass DecodedGenerator(Generator):\n ''\n\n\n\n \n def __init__(self,outfp,mangle_from_=None,maxheaderlen=None,fmt=None,*,\n policy=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Generator.__init__(self,outfp,mangle_from_,maxheaderlen,\n policy=policy)\n if fmt is None:\n self._fmt=_FMT\n else:\n self._fmt=fmt\n \n def _dispatch(self,msg):\n for part in msg.walk():\n maintype=part.get_content_maintype()\n if maintype =='text':\n print(part.get_payload(decode=False),file=self)\n elif maintype =='multipart':\n \n pass\n else:\n print(self._fmt %{\n 'type':part.get_content_type(),\n 'maintype':part.get_content_maintype(),\n 'subtype':part.get_content_subtype(),\n 'filename':part.get_filename('[no filename]'),\n 'description':part.get('Content-Description',\n '[no description]'),\n 'encoding':part.get('Content-Transfer-Encoding',\n '[no encoding]'),\n },file=self)\n \n \n \n_width=len(repr(sys.maxsize -1))\n_fmt='%%0%dd'%_width\n\n\n_make_boundary=Generator._make_boundary\n",["copy","email.utils","io","random","re","sys","time"]],"email.header":[".py","\n\n\n\n\"\"\"Header encoding and decoding functionality.\"\"\"\n\n__all__=[\n'Header',\n'decode_header',\n'make_header',\n]\n\nimport re\nimport binascii\n\nimport email.quoprimime\nimport email.base64mime\n\nfrom email.errors import HeaderParseError\nfrom email import charset as _charset\nCharset=_charset.Charset\n\nNL='\\n'\nSPACE=' '\nBSPACE=b' '\nSPACE8=' '*8\nEMPTYSTRING=''\nMAXLINELEN=78\nFWS=' \\t'\n\nUSASCII=Charset('us-ascii')\nUTF8=Charset('utf-8')\n\n\necre=re.compile(r'''\n =\\? # literal =?\n (?P[^?]*?) # non-greedy up to the next ? is the charset\n \\? # literal ?\n (?P[qQbB]) # either a \"q\" or a \"b\", case insensitive\n \\? # literal ?\n (?P.*?) # non-greedy up to the next ?= is the encoded string\n \\?= # literal ?=\n ''',re.VERBOSE |re.MULTILINE)\n\n\n\n\nfcre=re.compile(r'[\\041-\\176]+:$')\n\n\n\n_embedded_header=re.compile(r'\\n[^ \\t]+:')\n\n\n\n_max_append=email.quoprimime._max_append\n\n\ndef decode_header(header):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n \n if hasattr(header,'_chunks'):\n return[(_charset._encode(string,str(charset)),str(charset))\n for string,charset in header._chunks]\n \n if not ecre.search(header):\n return[(header,None)]\n \n \n \n words=[]\n for line in header.splitlines():\n parts=ecre.split(line)\n first=True\n while parts:\n unencoded=parts.pop(0)\n if first:\n unencoded=unencoded.lstrip()\n first=False\n if unencoded:\n words.append((unencoded,None,None))\n if parts:\n charset=parts.pop(0).lower()\n encoding=parts.pop(0).lower()\n encoded=parts.pop(0)\n words.append((encoded,encoding,charset))\n \n \n droplist=[]\n for n,w in enumerate(words):\n if n >1 and w[1]and words[n -2][1]and words[n -1][0].isspace():\n droplist.append(n -1)\n for d in reversed(droplist):\n del words[d]\n \n \n \n \n decoded_words=[]\n for encoded_string,encoding,charset in words:\n if encoding is None:\n \n decoded_words.append((encoded_string,charset))\n elif encoding =='q':\n word=email.quoprimime.header_decode(encoded_string)\n decoded_words.append((word,charset))\n elif encoding =='b':\n paderr=len(encoded_string)%4\n if paderr:\n encoded_string +='==='[:4 -paderr]\n try:\n word=email.base64mime.decode(encoded_string)\n except binascii.Error:\n raise HeaderParseError('Base64 decoding error')\n else:\n decoded_words.append((word,charset))\n else:\n raise AssertionError('Unexpected encoding: '+encoding)\n \n \n collapsed=[]\n last_word=last_charset=None\n for word,charset in decoded_words:\n if isinstance(word,str):\n word=bytes(word,'raw-unicode-escape')\n if last_word is None:\n last_word=word\n last_charset=charset\n elif charset !=last_charset:\n collapsed.append((last_word,last_charset))\n last_word=word\n last_charset=charset\n elif last_charset is None:\n last_word +=BSPACE+word\n else:\n last_word +=word\n collapsed.append((last_word,last_charset))\n return collapsed\n \n \ndef make_header(decoded_seq,maxlinelen=None,header_name=None,\ncontinuation_ws=' '):\n ''\n\n\n\n\n\n\n\n\n \n h=Header(maxlinelen=maxlinelen,header_name=header_name,\n continuation_ws=continuation_ws)\n for s,charset in decoded_seq:\n \n if charset is not None and not isinstance(charset,Charset):\n charset=Charset(charset)\n h.append(s,charset)\n return h\n \n \nclass Header:\n def __init__(self,s=None,charset=None,\n maxlinelen=None,header_name=None,\n continuation_ws=' ',errors='strict'):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if charset is None:\n charset=USASCII\n elif not isinstance(charset,Charset):\n charset=Charset(charset)\n self._charset=charset\n self._continuation_ws=continuation_ws\n self._chunks=[]\n if s is not None:\n self.append(s,charset,errors)\n if maxlinelen is None:\n maxlinelen=MAXLINELEN\n self._maxlinelen=maxlinelen\n if header_name is None:\n self._headerlen=0\n else:\n \n self._headerlen=len(header_name)+2\n \n def __str__(self):\n ''\n self._normalize()\n uchunks=[]\n lastcs=None\n lastspace=None\n for string,charset in self._chunks:\n \n \n \n \n \n \n nextcs=charset\n if nextcs ==_charset.UNKNOWN8BIT:\n original_bytes=string.encode('ascii','surrogateescape')\n string=original_bytes.decode('ascii','replace')\n if uchunks:\n hasspace=string and self._nonctext(string[0])\n if lastcs not in(None,'us-ascii'):\n if nextcs in(None,'us-ascii')and not hasspace:\n uchunks.append(SPACE)\n nextcs=None\n elif nextcs not in(None,'us-ascii')and not lastspace:\n uchunks.append(SPACE)\n lastspace=string and self._nonctext(string[-1])\n lastcs=nextcs\n uchunks.append(string)\n return EMPTYSTRING.join(uchunks)\n \n \n \n def __eq__(self,other):\n \n \n \n return other ==str(self)\n \n def append(self,s,charset=None,errors='strict'):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if charset is None:\n charset=self._charset\n elif not isinstance(charset,Charset):\n charset=Charset(charset)\n if not isinstance(s,str):\n input_charset=charset.input_codec or 'us-ascii'\n if input_charset ==_charset.UNKNOWN8BIT:\n s=s.decode('us-ascii','surrogateescape')\n else:\n s=s.decode(input_charset,errors)\n \n \n output_charset=charset.output_codec or 'us-ascii'\n if output_charset !=_charset.UNKNOWN8BIT:\n try:\n s.encode(output_charset,errors)\n except UnicodeEncodeError:\n if output_charset !='us-ascii':\n raise\n charset=UTF8\n self._chunks.append((s,charset))\n \n def _nonctext(self,s):\n ''\n \n return s.isspace()or s in('(',')','\\\\')\n \n def encode(self,splitchars=';, \\t',maxlinelen=None,linesep='\\n'):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n self._normalize()\n if maxlinelen is None:\n maxlinelen=self._maxlinelen\n \n \n \n if maxlinelen ==0:\n maxlinelen=1000000\n formatter=_ValueFormatter(self._headerlen,maxlinelen,\n self._continuation_ws,splitchars)\n lastcs=None\n hasspace=lastspace=None\n for string,charset in self._chunks:\n if hasspace is not None:\n hasspace=string and self._nonctext(string[0])\n if lastcs not in(None,'us-ascii'):\n if not hasspace or charset not in(None,'us-ascii'):\n formatter.add_transition()\n elif charset not in(None,'us-ascii')and not lastspace:\n formatter.add_transition()\n lastspace=string and self._nonctext(string[-1])\n lastcs=charset\n hasspace=False\n lines=string.splitlines()\n if lines:\n formatter.feed('',lines[0],charset)\n else:\n formatter.feed('','',charset)\n for line in lines[1:]:\n formatter.newline()\n if charset.header_encoding is not None:\n formatter.feed(self._continuation_ws,' '+line.lstrip(),\n charset)\n else:\n sline=line.lstrip()\n fws=line[:len(line)-len(sline)]\n formatter.feed(fws,sline,charset)\n if len(lines)>1:\n formatter.newline()\n if self._chunks:\n formatter.add_transition()\n value=formatter._str(linesep)\n if _embedded_header.search(value):\n raise HeaderParseError(\"header value appears to contain \"\n \"an embedded header: {!r}\".format(value))\n return value\n \n def _normalize(self):\n \n \n chunks=[]\n last_charset=None\n last_chunk=[]\n for string,charset in self._chunks:\n if charset ==last_charset:\n last_chunk.append(string)\n else:\n if last_charset is not None:\n chunks.append((SPACE.join(last_chunk),last_charset))\n last_chunk=[string]\n last_charset=charset\n if last_chunk:\n chunks.append((SPACE.join(last_chunk),last_charset))\n self._chunks=chunks\n \n \nclass _ValueFormatter:\n def __init__(self,headerlen,maxlen,continuation_ws,splitchars):\n self._maxlen=maxlen\n self._continuation_ws=continuation_ws\n self._continuation_ws_len=len(continuation_ws)\n self._splitchars=splitchars\n self._lines=[]\n self._current_line=_Accumulator(headerlen)\n \n def _str(self,linesep):\n self.newline()\n return linesep.join(self._lines)\n \n def __str__(self):\n return self._str(NL)\n \n def newline(self):\n end_of_line=self._current_line.pop()\n if end_of_line !=(' ',''):\n self._current_line.push(*end_of_line)\n if len(self._current_line)>0:\n if self._current_line.is_onlyws()and self._lines:\n self._lines[-1]+=str(self._current_line)\n else:\n self._lines.append(str(self._current_line))\n self._current_line.reset()\n \n def add_transition(self):\n self._current_line.push(' ','')\n \n def feed(self,fws,string,charset):\n \n \n \n \n \n if charset.header_encoding is None:\n self._ascii_split(fws,string,self._splitchars)\n return\n \n \n \n \n \n \n \n encoded_lines=charset.header_encode_lines(string,self._maxlengths())\n \n \n try:\n first_line=encoded_lines.pop(0)\n except IndexError:\n \n return\n if first_line is not None:\n self._append_chunk(fws,first_line)\n try:\n last_line=encoded_lines.pop()\n except IndexError:\n \n return\n self.newline()\n self._current_line.push(self._continuation_ws,last_line)\n \n for line in encoded_lines:\n self._lines.append(self._continuation_ws+line)\n \n def _maxlengths(self):\n \n yield self._maxlen -len(self._current_line)\n while True:\n yield self._maxlen -self._continuation_ws_len\n \n def _ascii_split(self,fws,string,splitchars):\n \n \n \n \n \n \n \n \n \n \n \n \n \n parts=re.split(\"([\"+FWS+\"]+)\",fws+string)\n if parts[0]:\n parts[:0]=['']\n else:\n parts.pop(0)\n for fws,part in zip(*[iter(parts)]*2):\n self._append_chunk(fws,part)\n \n def _append_chunk(self,fws,string):\n self._current_line.push(fws,string)\n if len(self._current_line)>self._maxlen:\n \n \n for ch in self._splitchars:\n for i in range(self._current_line.part_count()-1,0,-1):\n if ch.isspace():\n fws=self._current_line[i][0]\n if fws and fws[0]==ch:\n break\n prevpart=self._current_line[i -1][1]\n if prevpart and prevpart[-1]==ch:\n break\n else:\n continue\n break\n else:\n fws,part=self._current_line.pop()\n if self._current_line._initial_size >0:\n \n self.newline()\n if not fws:\n \n \n fws=' '\n self._current_line.push(fws,part)\n return\n remainder=self._current_line.pop_from(i)\n self._lines.append(str(self._current_line))\n self._current_line.reset(remainder)\n \n \nclass _Accumulator(list):\n\n def __init__(self,initial_size=0):\n self._initial_size=initial_size\n super().__init__()\n \n def push(self,fws,string):\n self.append((fws,string))\n \n def pop_from(self,i=0):\n popped=self[i:]\n self[i:]=[]\n return popped\n \n def pop(self):\n if self.part_count()==0:\n return('','')\n return super().pop()\n \n def __len__(self):\n return sum((len(fws)+len(part)for fws,part in self),\n self._initial_size)\n \n def __str__(self):\n return EMPTYSTRING.join((EMPTYSTRING.join((fws,part))\n for fws,part in self))\n \n def reset(self,startval=None):\n if startval is None:\n startval=[]\n self[:]=startval\n self._initial_size=0\n \n def is_onlyws(self):\n return self._initial_size ==0 and(not self or str(self).isspace())\n \n def part_count(self):\n return super().__len__()\n",["binascii","email","email.base64mime","email.charset","email.errors","email.quoprimime","re"]],"email.headerregistry":[".py","''\n\n\n\n\nfrom types import MappingProxyType\n\nfrom email import utils\nfrom email import errors\nfrom email import _header_value_parser as parser\n\nclass Address:\n\n def __init__(self,display_name='',username='',domain='',addr_spec=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n inputs=''.join(filter(None,(display_name,username,domain,addr_spec)))\n if '\\r'in inputs or '\\n'in inputs:\n raise ValueError(\"invalid arguments; address parts cannot contain CR or LF\")\n \n \n \n \n \n if addr_spec is not None:\n if username or domain:\n raise TypeError(\"addrspec specified when username and/or \"\n \"domain also specified\")\n a_s,rest=parser.get_addr_spec(addr_spec)\n if rest:\n raise ValueError(\"Invalid addr_spec; only '{}' \"\n \"could be parsed from '{}'\".format(\n a_s,addr_spec))\n if a_s.all_defects:\n raise a_s.all_defects[0]\n username=a_s.local_part\n domain=a_s.domain\n self._display_name=display_name\n self._username=username\n self._domain=domain\n \n @property\n def display_name(self):\n return self._display_name\n \n @property\n def username(self):\n return self._username\n \n @property\n def domain(self):\n return self._domain\n \n @property\n def addr_spec(self):\n ''\n\n \n lp=self.username\n if not parser.DOT_ATOM_ENDS.isdisjoint(lp):\n lp=parser.quote_string(lp)\n if self.domain:\n return lp+'@'+self.domain\n if not lp:\n return '<>'\n return lp\n \n def __repr__(self):\n return \"{}(display_name={!r}, username={!r}, domain={!r})\".format(\n self.__class__.__name__,\n self.display_name,self.username,self.domain)\n \n def __str__(self):\n disp=self.display_name\n if not parser.SPECIALS.isdisjoint(disp):\n disp=parser.quote_string(disp)\n if disp:\n addr_spec=''if self.addr_spec =='<>'else self.addr_spec\n return \"{} <{}>\".format(disp,addr_spec)\n return self.addr_spec\n \n def __eq__(self,other):\n if not isinstance(other,Address):\n return NotImplemented\n return(self.display_name ==other.display_name and\n self.username ==other.username and\n self.domain ==other.domain)\n \n \nclass Group:\n\n def __init__(self,display_name=None,addresses=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n self._display_name=display_name\n self._addresses=tuple(addresses)if addresses else tuple()\n \n @property\n def display_name(self):\n return self._display_name\n \n @property\n def addresses(self):\n return self._addresses\n \n def __repr__(self):\n return \"{}(display_name={!r}, addresses={!r}\".format(\n self.__class__.__name__,\n self.display_name,self.addresses)\n \n def __str__(self):\n if self.display_name is None and len(self.addresses)==1:\n return str(self.addresses[0])\n disp=self.display_name\n if disp is not None and not parser.SPECIALS.isdisjoint(disp):\n disp=parser.quote_string(disp)\n adrstr=\", \".join(str(x)for x in self.addresses)\n adrstr=' '+adrstr if adrstr else adrstr\n return \"{}:{};\".format(disp,adrstr)\n \n def __eq__(self,other):\n if not isinstance(other,Group):\n return NotImplemented\n return(self.display_name ==other.display_name and\n self.addresses ==other.addresses)\n \n \n \n \nclass BaseHeader(str):\n\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __new__(cls,name,value):\n kwds={'defects':[]}\n cls.parse(value,kwds)\n if utils._has_surrogates(kwds['decoded']):\n kwds['decoded']=utils._sanitize(kwds['decoded'])\n self=str.__new__(cls,kwds['decoded'])\n del kwds['decoded']\n self.init(name,**kwds)\n return self\n \n def init(self,name,*,parse_tree,defects):\n self._name=name\n self._parse_tree=parse_tree\n self._defects=defects\n \n @property\n def name(self):\n return self._name\n \n @property\n def defects(self):\n return tuple(self._defects)\n \n def __reduce__(self):\n return(\n _reconstruct_header,\n (\n self.__class__.__name__,\n self.__class__.__bases__,\n str(self),\n ),\n self.__getstate__())\n \n @classmethod\n def _reconstruct(cls,value):\n return str.__new__(cls,value)\n \n def fold(self,*,policy):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n header=parser.Header([\n parser.HeaderLabel([\n parser.ValueTerminal(self.name,'header-name'),\n parser.ValueTerminal(':','header-sep')]),\n ])\n if self._parse_tree:\n header.append(\n parser.CFWSList([parser.WhiteSpaceTerminal(' ','fws')]))\n header.append(self._parse_tree)\n return header.fold(policy=policy)\n \n \ndef _reconstruct_header(cls_name,bases,value):\n return type(cls_name,bases,{})._reconstruct(value)\n \n \nclass UnstructuredHeader:\n\n max_count=None\n value_parser=staticmethod(parser.get_unstructured)\n \n @classmethod\n def parse(cls,value,kwds):\n kwds['parse_tree']=cls.value_parser(value)\n kwds['decoded']=str(kwds['parse_tree'])\n \n \nclass UniqueUnstructuredHeader(UnstructuredHeader):\n\n max_count=1\n \n \nclass DateHeader:\n\n ''\n\n\n\n\n\n\n \n \n max_count=None\n \n \n value_parser=staticmethod(parser.get_unstructured)\n \n @classmethod\n def parse(cls,value,kwds):\n if not value:\n kwds['defects'].append(errors.HeaderMissingRequiredValue())\n kwds['datetime']=None\n kwds['decoded']=''\n kwds['parse_tree']=parser.TokenList()\n return\n if isinstance(value,str):\n kwds['decoded']=value\n try:\n value=utils.parsedate_to_datetime(value)\n except ValueError:\n kwds['defects'].append(errors.InvalidDateDefect('Invalid date value or format'))\n kwds['datetime']=None\n kwds['parse_tree']=parser.TokenList()\n return\n kwds['datetime']=value\n kwds['decoded']=utils.format_datetime(kwds['datetime'])\n kwds['parse_tree']=cls.value_parser(kwds['decoded'])\n \n def init(self,*args,**kw):\n self._datetime=kw.pop('datetime')\n super().init(*args,**kw)\n \n @property\n def datetime(self):\n return self._datetime\n \n \nclass UniqueDateHeader(DateHeader):\n\n max_count=1\n \n \nclass AddressHeader:\n\n max_count=None\n \n @staticmethod\n def value_parser(value):\n address_list,value=parser.get_address_list(value)\n assert not value,'this should not happen'\n return address_list\n \n @classmethod\n def parse(cls,value,kwds):\n if isinstance(value,str):\n \n \n kwds['parse_tree']=address_list=cls.value_parser(value)\n groups=[]\n for addr in address_list.addresses:\n groups.append(Group(addr.display_name,\n [Address(mb.display_name or '',\n mb.local_part or '',\n mb.domain or '')\n for mb in addr.all_mailboxes]))\n defects=list(address_list.all_defects)\n else:\n \n if not hasattr(value,'__iter__'):\n value=[value]\n groups=[Group(None,[item])if not hasattr(item,'addresses')\n else item\n for item in value]\n defects=[]\n kwds['groups']=groups\n kwds['defects']=defects\n kwds['decoded']=', '.join([str(item)for item in groups])\n if 'parse_tree'not in kwds:\n kwds['parse_tree']=cls.value_parser(kwds['decoded'])\n \n def init(self,*args,**kw):\n self._groups=tuple(kw.pop('groups'))\n self._addresses=None\n super().init(*args,**kw)\n \n @property\n def groups(self):\n return self._groups\n \n @property\n def addresses(self):\n if self._addresses is None:\n self._addresses=tuple(address for group in self._groups\n for address in group.addresses)\n return self._addresses\n \n \nclass UniqueAddressHeader(AddressHeader):\n\n max_count=1\n \n \nclass SingleAddressHeader(AddressHeader):\n\n @property\n def address(self):\n if len(self.addresses)!=1:\n raise ValueError((\"value of single address header {} is not \"\n \"a single address\").format(self.name))\n return self.addresses[0]\n \n \nclass UniqueSingleAddressHeader(SingleAddressHeader):\n\n max_count=1\n \n \nclass MIMEVersionHeader:\n\n max_count=1\n \n value_parser=staticmethod(parser.parse_mime_version)\n \n @classmethod\n def parse(cls,value,kwds):\n kwds['parse_tree']=parse_tree=cls.value_parser(value)\n kwds['decoded']=str(parse_tree)\n kwds['defects'].extend(parse_tree.all_defects)\n kwds['major']=None if parse_tree.minor is None else parse_tree.major\n kwds['minor']=parse_tree.minor\n if parse_tree.minor is not None:\n kwds['version']='{}.{}'.format(kwds['major'],kwds['minor'])\n else:\n kwds['version']=None\n \n def init(self,*args,**kw):\n self._version=kw.pop('version')\n self._major=kw.pop('major')\n self._minor=kw.pop('minor')\n super().init(*args,**kw)\n \n @property\n def major(self):\n return self._major\n \n @property\n def minor(self):\n return self._minor\n \n @property\n def version(self):\n return self._version\n \n \nclass ParameterizedMIMEHeader:\n\n\n\n\n max_count=1\n \n @classmethod\n def parse(cls,value,kwds):\n kwds['parse_tree']=parse_tree=cls.value_parser(value)\n kwds['decoded']=str(parse_tree)\n kwds['defects'].extend(parse_tree.all_defects)\n if parse_tree.params is None:\n kwds['params']={}\n else:\n \n kwds['params']={utils._sanitize(name).lower():\n utils._sanitize(value)\n for name,value in parse_tree.params}\n \n def init(self,*args,**kw):\n self._params=kw.pop('params')\n super().init(*args,**kw)\n \n @property\n def params(self):\n return MappingProxyType(self._params)\n \n \nclass ContentTypeHeader(ParameterizedMIMEHeader):\n\n value_parser=staticmethod(parser.parse_content_type_header)\n \n def init(self,*args,**kw):\n super().init(*args,**kw)\n self._maintype=utils._sanitize(self._parse_tree.maintype)\n self._subtype=utils._sanitize(self._parse_tree.subtype)\n \n @property\n def maintype(self):\n return self._maintype\n \n @property\n def subtype(self):\n return self._subtype\n \n @property\n def content_type(self):\n return self.maintype+'/'+self.subtype\n \n \nclass ContentDispositionHeader(ParameterizedMIMEHeader):\n\n value_parser=staticmethod(parser.parse_content_disposition_header)\n \n def init(self,*args,**kw):\n super().init(*args,**kw)\n cd=self._parse_tree.content_disposition\n self._content_disposition=cd if cd is None else utils._sanitize(cd)\n \n @property\n def content_disposition(self):\n return self._content_disposition\n \n \nclass ContentTransferEncodingHeader:\n\n max_count=1\n \n value_parser=staticmethod(parser.parse_content_transfer_encoding_header)\n \n @classmethod\n def parse(cls,value,kwds):\n kwds['parse_tree']=parse_tree=cls.value_parser(value)\n kwds['decoded']=str(parse_tree)\n kwds['defects'].extend(parse_tree.all_defects)\n \n def init(self,*args,**kw):\n super().init(*args,**kw)\n self._cte=utils._sanitize(self._parse_tree.cte)\n \n @property\n def cte(self):\n return self._cte\n \n \nclass MessageIDHeader:\n\n max_count=1\n value_parser=staticmethod(parser.parse_message_id)\n \n @classmethod\n def parse(cls,value,kwds):\n kwds['parse_tree']=parse_tree=cls.value_parser(value)\n kwds['decoded']=str(parse_tree)\n kwds['defects'].extend(parse_tree.all_defects)\n \n \n \n \n_default_header_map={\n'subject':UniqueUnstructuredHeader,\n'date':UniqueDateHeader,\n'resent-date':DateHeader,\n'orig-date':UniqueDateHeader,\n'sender':UniqueSingleAddressHeader,\n'resent-sender':SingleAddressHeader,\n'to':UniqueAddressHeader,\n'resent-to':AddressHeader,\n'cc':UniqueAddressHeader,\n'resent-cc':AddressHeader,\n'bcc':UniqueAddressHeader,\n'resent-bcc':AddressHeader,\n'from':UniqueAddressHeader,\n'resent-from':AddressHeader,\n'reply-to':UniqueAddressHeader,\n'mime-version':MIMEVersionHeader,\n'content-type':ContentTypeHeader,\n'content-disposition':ContentDispositionHeader,\n'content-transfer-encoding':ContentTransferEncodingHeader,\n'message-id':MessageIDHeader,\n}\n\nclass HeaderRegistry:\n\n ''\n \n def __init__(self,base_class=BaseHeader,default_class=UnstructuredHeader,\n use_default_map=True):\n ''\n\n\n\n\n\n\n\n\n \n self.registry={}\n self.base_class=base_class\n self.default_class=default_class\n if use_default_map:\n self.registry.update(_default_header_map)\n \n def map_to_type(self,name,cls):\n ''\n\n \n self.registry[name.lower()]=cls\n \n def __getitem__(self,name):\n cls=self.registry.get(name.lower(),self.default_class)\n return type('_'+cls.__name__,(cls,self.base_class),{})\n \n def __call__(self,name,value):\n ''\n\n\n\n\n\n\n\n \n return self[name](name,value)\n",["email","email._header_value_parser","email.errors","email.utils","types"]],"email.iterators":[".py","\n\n\n\n\"\"\"Various types of useful iterators and generators.\"\"\"\n\n__all__=[\n'body_line_iterator',\n'typed_subpart_iterator',\n'walk',\n\n]\n\nimport sys\nfrom io import StringIO\n\n\n\ndef walk(self):\n ''\n\n\n\n \n yield self\n if self.is_multipart():\n for subpart in self.get_payload():\n yield from subpart.walk()\n \n \n \ndef body_line_iterator(msg,decode=False):\n ''\n\n\n \n for subpart in msg.walk():\n payload=subpart.get_payload(decode=decode)\n if isinstance(payload,str):\n yield from StringIO(payload)\n \n \ndef typed_subpart_iterator(msg,maintype='text',subtype=None):\n ''\n\n\n\n\n \n for subpart in msg.walk():\n if subpart.get_content_maintype()==maintype:\n if subtype is None or subpart.get_content_subtype()==subtype:\n yield subpart\n \n \ndef _structure(msg,fp=None,level=0,include_default=False):\n ''\n if fp is None:\n fp=sys.stdout\n tab=' '*(level *4)\n print(tab+msg.get_content_type(),end='',file=fp)\n if include_default:\n print(' [%s]'%msg.get_default_type(),file=fp)\n else:\n print(file=fp)\n if msg.is_multipart():\n for subpart in msg.get_payload():\n _structure(subpart,fp,level+1,include_default)\n",["io","sys"]],"email.message":[".py","\n\n\n\n\"\"\"Basic message object for the email package object model.\"\"\"\n\n__all__=['Message','EmailMessage']\n\nimport binascii\nimport re\nimport quopri\nfrom io import BytesIO,StringIO\n\n\nfrom email import utils\nfrom email import errors\nfrom email._policybase import compat32\nfrom email import charset as _charset\nfrom email._encoded_words import decode_b\nCharset=_charset.Charset\n\nSEMISPACE='; '\n\n\n\ntspecials=re.compile(r'[ \\(\\)<>@,;:\\\\\"/\\[\\]\\?=]')\n\n\ndef _splitparam(param):\n\n\n\n\n a,sep,b=str(param).partition(';')\n if not sep:\n return a.strip(),None\n return a.strip(),b.strip()\n \ndef _formatparam(param,value=None,quote=True):\n ''\n\n\n\n\n\n\n \n if value is not None and len(value)>0:\n \n \n \n if isinstance(value,tuple):\n \n param +='*'\n value=utils.encode_rfc2231(value[2],value[0],value[1])\n return '%s=%s'%(param,value)\n else:\n try:\n value.encode('ascii')\n except UnicodeEncodeError:\n param +='*'\n value=utils.encode_rfc2231(value,'utf-8','')\n return '%s=%s'%(param,value)\n \n \n if quote or tspecials.search(value):\n return '%s=\"%s\"'%(param,utils.quote(value))\n else:\n return '%s=%s'%(param,value)\n else:\n return param\n \ndef _parseparam(s):\n\n s=';'+str(s)\n plist=[]\n while s[:1]==';':\n s=s[1:]\n end=s.find(';')\n while end >0 and(s.count('\"',0,end)-s.count('\\\\\"',0,end))%2:\n end=s.find(';',end+1)\n if end <0:\n end=len(s)\n f=s[:end]\n if '='in f:\n i=f.index('=')\n f=f[:i].strip().lower()+'='+f[i+1:].strip()\n plist.append(f.strip())\n s=s[end:]\n return plist\n \n \ndef _unquotevalue(value):\n\n\n\n\n if isinstance(value,tuple):\n return value[0],value[1],utils.unquote(value[2])\n else:\n return utils.unquote(value)\n \n \ndef _decode_uu(encoded):\n ''\n decoded_lines=[]\n encoded_lines_iter=iter(encoded.splitlines())\n for line in encoded_lines_iter:\n if line.startswith(b\"begin \"):\n mode,_,path=line.removeprefix(b\"begin \").partition(b\" \")\n try:\n int(mode,base=8)\n except ValueError:\n continue\n else:\n break\n else:\n raise ValueError(\"`begin` line not found\")\n for line in encoded_lines_iter:\n if not line:\n raise ValueError(\"Truncated input\")\n elif line.strip(b' \\t\\r\\n\\f')==b'end':\n break\n try:\n decoded_line=binascii.a2b_uu(line)\n except binascii.Error:\n \n nbytes=(((line[0]-32)&63)*4+5)//3\n decoded_line=binascii.a2b_uu(line[:nbytes])\n decoded_lines.append(decoded_line)\n \n return b''.join(decoded_lines)\n \n \nclass Message:\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n def __init__(self,policy=compat32):\n self.policy=policy\n self._headers=[]\n self._unixfrom=None\n self._payload=None\n self._charset=None\n \n self.preamble=self.epilogue=None\n self.defects=[]\n \n self._default_type='text/plain'\n \n def __str__(self):\n ''\n \n return self.as_string()\n \n def as_string(self,unixfrom=False,maxheaderlen=0,policy=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n from email.generator import Generator\n policy=self.policy if policy is None else policy\n fp=StringIO()\n g=Generator(fp,\n mangle_from_=False,\n maxheaderlen=maxheaderlen,\n policy=policy)\n g.flatten(self,unixfrom=unixfrom)\n return fp.getvalue()\n \n def __bytes__(self):\n ''\n \n return self.as_bytes()\n \n def as_bytes(self,unixfrom=False,policy=None):\n ''\n\n\n\n\n\n \n from email.generator import BytesGenerator\n policy=self.policy if policy is None else policy\n fp=BytesIO()\n g=BytesGenerator(fp,mangle_from_=False,policy=policy)\n g.flatten(self,unixfrom=unixfrom)\n return fp.getvalue()\n \n def is_multipart(self):\n ''\n return isinstance(self._payload,list)\n \n \n \n \n def set_unixfrom(self,unixfrom):\n self._unixfrom=unixfrom\n \n def get_unixfrom(self):\n return self._unixfrom\n \n \n \n \n def attach(self,payload):\n ''\n\n\n\n\n \n if self._payload is None:\n self._payload=[payload]\n else:\n try:\n self._payload.append(payload)\n except AttributeError:\n raise TypeError(\"Attach is not valid on a message with a\"\n \" non-multipart payload\")\n \n def get_payload(self,i=None,decode=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n if self.is_multipart():\n if decode:\n return None\n if i is None:\n return self._payload\n else:\n return self._payload[i]\n \n \n if i is not None and not isinstance(self._payload,list):\n raise TypeError('Expected list, got %s'%type(self._payload))\n payload=self._payload\n \n cte=str(self.get('content-transfer-encoding','')).lower()\n \n if isinstance(payload,str):\n if utils._has_surrogates(payload):\n bpayload=payload.encode('ascii','surrogateescape')\n if not decode:\n try:\n payload=bpayload.decode(self.get_param('charset','ascii'),'replace')\n except LookupError:\n payload=bpayload.decode('ascii','replace')\n elif decode:\n try:\n bpayload=payload.encode('ascii')\n except UnicodeError:\n \n \n \n \n bpayload=payload.encode('raw-unicode-escape')\n if not decode:\n return payload\n if cte =='quoted-printable':\n return quopri.decodestring(bpayload)\n elif cte =='base64':\n \n \n value,defects=decode_b(b''.join(bpayload.splitlines()))\n for defect in defects:\n self.policy.handle_defect(self,defect)\n return value\n elif cte in('x-uuencode','uuencode','uue','x-uue'):\n try:\n return _decode_uu(bpayload)\n except ValueError:\n \n return bpayload\n if isinstance(payload,str):\n return bpayload\n return payload\n \n def set_payload(self,payload,charset=None):\n ''\n\n\n\n \n if hasattr(payload,'encode'):\n if charset is None:\n self._payload=payload\n return\n if not isinstance(charset,Charset):\n charset=Charset(charset)\n payload=payload.encode(charset.output_charset)\n if hasattr(payload,'decode'):\n self._payload=payload.decode('ascii','surrogateescape')\n else:\n self._payload=payload\n if charset is not None:\n self.set_charset(charset)\n \n def set_charset(self,charset):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n if charset is None:\n self.del_param('charset')\n self._charset=None\n return\n if not isinstance(charset,Charset):\n charset=Charset(charset)\n self._charset=charset\n if 'MIME-Version'not in self:\n self.add_header('MIME-Version','1.0')\n if 'Content-Type'not in self:\n self.add_header('Content-Type','text/plain',\n charset=charset.get_output_charset())\n else:\n self.set_param('charset',charset.get_output_charset())\n if charset !=charset.get_output_charset():\n self._payload=charset.body_encode(self._payload)\n if 'Content-Transfer-Encoding'not in self:\n cte=charset.get_body_encoding()\n try:\n cte(self)\n except TypeError:\n \n \n \n payload=self._payload\n if payload:\n try:\n payload=payload.encode('ascii','surrogateescape')\n except UnicodeError:\n payload=payload.encode(charset.output_charset)\n self._payload=charset.body_encode(payload)\n self.add_header('Content-Transfer-Encoding',cte)\n \n def get_charset(self):\n ''\n \n return self._charset\n \n \n \n \n def __len__(self):\n ''\n return len(self._headers)\n \n def __getitem__(self,name):\n ''\n\n\n\n\n\n\n \n return self.get(name)\n \n def __setitem__(self,name,val):\n ''\n\n\n\n \n max_count=self.policy.header_max_count(name)\n if max_count:\n lname=name.lower()\n found=0\n for k,v in self._headers:\n if k.lower()==lname:\n found +=1\n if found >=max_count:\n raise ValueError(\"There may be at most {} {} headers \"\n \"in a message\".format(max_count,name))\n self._headers.append(self.policy.header_store_parse(name,val))\n \n def __delitem__(self,name):\n ''\n\n\n \n name=name.lower()\n newheaders=[]\n for k,v in self._headers:\n if k.lower()!=name:\n newheaders.append((k,v))\n self._headers=newheaders\n \n def __contains__(self,name):\n name_lower=name.lower()\n for k,v in self._headers:\n if name_lower ==k.lower():\n return True\n return False\n \n def __iter__(self):\n for field,value in self._headers:\n yield field\n \n def keys(self):\n ''\n\n\n\n\n\n \n return[k for k,v in self._headers]\n \n def values(self):\n ''\n\n\n\n\n\n \n return[self.policy.header_fetch_parse(k,v)\n for k,v in self._headers]\n \n def items(self):\n ''\n\n\n\n\n\n \n return[(k,self.policy.header_fetch_parse(k,v))\n for k,v in self._headers]\n \n def get(self,name,failobj=None):\n ''\n\n\n\n \n name=name.lower()\n for k,v in self._headers:\n if k.lower()==name:\n return self.policy.header_fetch_parse(k,v)\n return failobj\n \n \n \n \n \n \n def set_raw(self,name,value):\n ''\n\n\n \n self._headers.append((name,value))\n \n def raw_items(self):\n ''\n\n\n \n return iter(self._headers.copy())\n \n \n \n \n \n def get_all(self,name,failobj=None):\n ''\n\n\n\n\n\n\n \n values=[]\n name=name.lower()\n for k,v in self._headers:\n if k.lower()==name:\n values.append(self.policy.header_fetch_parse(k,v))\n if not values:\n return failobj\n return values\n \n def add_header(self,_name,_value,**_params):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n parts=[]\n for k,v in _params.items():\n if v is None:\n parts.append(k.replace('_','-'))\n else:\n parts.append(_formatparam(k.replace('_','-'),v))\n if _value is not None:\n parts.insert(0,_value)\n self[_name]=SEMISPACE.join(parts)\n \n def replace_header(self,_name,_value):\n ''\n\n\n\n\n \n _name=_name.lower()\n for i,(k,v)in zip(range(len(self._headers)),self._headers):\n if k.lower()==_name:\n self._headers[i]=self.policy.header_store_parse(k,_value)\n break\n else:\n raise KeyError(_name)\n \n \n \n \n \n def get_content_type(self):\n ''\n\n\n\n\n\n\n\n\n\n\n \n missing=object()\n value=self.get('content-type',missing)\n if value is missing:\n \n return self.get_default_type()\n ctype=_splitparam(value)[0].lower()\n \n if ctype.count('/')!=1:\n return 'text/plain'\n return ctype\n \n def get_content_maintype(self):\n ''\n\n\n\n \n ctype=self.get_content_type()\n return ctype.split('/')[0]\n \n def get_content_subtype(self):\n ''\n\n\n\n \n ctype=self.get_content_type()\n return ctype.split('/')[1]\n \n def get_default_type(self):\n ''\n\n\n\n\n \n return self._default_type\n \n def set_default_type(self,ctype):\n ''\n\n\n\n\n \n self._default_type=ctype\n \n def _get_params_preserve(self,failobj,header):\n \n \n missing=object()\n value=self.get(header,missing)\n if value is missing:\n return failobj\n params=[]\n for p in _parseparam(value):\n try:\n name,val=p.split('=',1)\n name=name.strip()\n val=val.strip()\n except ValueError:\n \n name=p.strip()\n val=''\n params.append((name,val))\n params=utils.decode_params(params)\n return params\n \n def get_params(self,failobj=None,header='content-type',unquote=True):\n ''\n\n\n\n\n\n\n\n\n\n\n \n missing=object()\n params=self._get_params_preserve(missing,header)\n if params is missing:\n return failobj\n if unquote:\n return[(k,_unquotevalue(v))for k,v in params]\n else:\n return params\n \n def get_param(self,param,failobj=None,header='content-type',\n unquote=True):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if header not in self:\n return failobj\n for k,v in self._get_params_preserve(failobj,header):\n if k.lower()==param.lower():\n if unquote:\n return _unquotevalue(v)\n else:\n return v\n return failobj\n \n def set_param(self,param,value,header='Content-Type',requote=True,\n charset=None,language='',replace=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if not isinstance(value,tuple)and charset:\n value=(charset,language,value)\n \n if header not in self and header.lower()=='content-type':\n ctype='text/plain'\n else:\n ctype=self.get(header)\n if not self.get_param(param,header=header):\n if not ctype:\n ctype=_formatparam(param,value,requote)\n else:\n ctype=SEMISPACE.join(\n [ctype,_formatparam(param,value,requote)])\n else:\n ctype=''\n for old_param,old_value in self.get_params(header=header,\n unquote=requote):\n append_param=''\n if old_param.lower()==param.lower():\n append_param=_formatparam(param,value,requote)\n else:\n append_param=_formatparam(old_param,old_value,requote)\n if not ctype:\n ctype=append_param\n else:\n ctype=SEMISPACE.join([ctype,append_param])\n if ctype !=self.get(header):\n if replace:\n self.replace_header(header,ctype)\n else:\n del self[header]\n self[header]=ctype\n \n def del_param(self,param,header='content-type',requote=True):\n ''\n\n\n\n\n\n \n if header not in self:\n return\n new_ctype=''\n for p,v in self.get_params(header=header,unquote=requote):\n if p.lower()!=param.lower():\n if not new_ctype:\n new_ctype=_formatparam(p,v,requote)\n else:\n new_ctype=SEMISPACE.join([new_ctype,\n _formatparam(p,v,requote)])\n if new_ctype !=self.get(header):\n del self[header]\n self[header]=new_ctype\n \n def set_type(self,type,header='Content-Type',requote=True):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if not type.count('/')==1:\n raise ValueError\n \n if header.lower()=='content-type':\n del self['mime-version']\n self['MIME-Version']='1.0'\n if header not in self:\n self[header]=type\n return\n params=self.get_params(header=header,unquote=requote)\n del self[header]\n self[header]=type\n \n for p,v in params[1:]:\n self.set_param(p,v,header,requote)\n \n def get_filename(self,failobj=None):\n ''\n\n\n\n\n\n \n missing=object()\n filename=self.get_param('filename',missing,'content-disposition')\n if filename is missing:\n filename=self.get_param('name',missing,'content-type')\n if filename is missing:\n return failobj\n return utils.collapse_rfc2231_value(filename).strip()\n \n def get_boundary(self,failobj=None):\n ''\n\n\n\n \n missing=object()\n boundary=self.get_param('boundary',missing)\n if boundary is missing:\n return failobj\n \n return utils.collapse_rfc2231_value(boundary).rstrip()\n \n def set_boundary(self,boundary):\n ''\n\n\n\n\n\n\n\n \n missing=object()\n params=self._get_params_preserve(missing,'content-type')\n if params is missing:\n \n \n raise errors.HeaderParseError('No Content-Type header found')\n newparams=[]\n foundp=False\n for pk,pv in params:\n if pk.lower()=='boundary':\n newparams.append(('boundary','\"%s\"'%boundary))\n foundp=True\n else:\n newparams.append((pk,pv))\n if not foundp:\n \n \n \n newparams.append(('boundary','\"%s\"'%boundary))\n \n newheaders=[]\n for h,v in self._headers:\n if h.lower()=='content-type':\n parts=[]\n for k,v in newparams:\n if v =='':\n parts.append(k)\n else:\n parts.append('%s=%s'%(k,v))\n val=SEMISPACE.join(parts)\n newheaders.append(self.policy.header_store_parse(h,val))\n \n else:\n newheaders.append((h,v))\n self._headers=newheaders\n \n def get_content_charset(self,failobj=None):\n ''\n\n\n\n\n \n missing=object()\n charset=self.get_param('charset',missing)\n if charset is missing:\n return failobj\n if isinstance(charset,tuple):\n \n pcharset=charset[0]or 'us-ascii'\n try:\n \n \n \n as_bytes=charset[2].encode('raw-unicode-escape')\n charset=str(as_bytes,pcharset)\n except(LookupError,UnicodeError):\n charset=charset[2]\n \n try:\n charset.encode('us-ascii')\n except UnicodeError:\n return failobj\n \n return charset.lower()\n \n def get_charsets(self,failobj=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return[part.get_content_charset(failobj)for part in self.walk()]\n \n def get_content_disposition(self):\n ''\n\n\n\n \n value=self.get('content-disposition')\n if value is None:\n return None\n c_d=_splitparam(value)[0].lower()\n return c_d\n \n \n from email.iterators import walk\n \n \nclass MIMEPart(Message):\n\n def __init__(self,policy=None):\n if policy is None:\n from email.policy import default\n policy=default\n super().__init__(policy)\n \n \n def as_string(self,unixfrom=False,maxheaderlen=None,policy=None):\n ''\n\n\n\n\n\n\n\n\n \n policy=self.policy if policy is None else policy\n if maxheaderlen is None:\n maxheaderlen=policy.max_line_length\n return super().as_string(unixfrom,maxheaderlen,policy)\n \n def __str__(self):\n return self.as_string(policy=self.policy.clone(utf8=True))\n \n def is_attachment(self):\n c_d=self.get('content-disposition')\n return False if c_d is None else c_d.content_disposition =='attachment'\n \n def _find_body(self,part,preferencelist):\n if part.is_attachment():\n return\n maintype,subtype=part.get_content_type().split('/')\n if maintype =='text':\n if subtype in preferencelist:\n yield(preferencelist.index(subtype),part)\n return\n if maintype !='multipart'or not self.is_multipart():\n return\n if subtype !='related':\n for subpart in part.iter_parts():\n yield from self._find_body(subpart,preferencelist)\n return\n if 'related'in preferencelist:\n yield(preferencelist.index('related'),part)\n candidate=None\n start=part.get_param('start')\n if start:\n for subpart in part.iter_parts():\n if subpart['content-id']==start:\n candidate=subpart\n break\n if candidate is None:\n subparts=part.get_payload()\n candidate=subparts[0]if subparts else None\n if candidate is not None:\n yield from self._find_body(candidate,preferencelist)\n \n def get_body(self,preferencelist=('related','html','plain')):\n ''\n\n\n\n\n\n\n\n \n best_prio=len(preferencelist)\n body=None\n for prio,part in self._find_body(self,preferencelist):\n if prio 1:\n \n \n raise ValueError(\"Header values may not contain linefeed \"\n \"or carriage return characters\")\n return(name,self.header_factory(name,value))\n \n def header_fetch_parse(self,name,value):\n ''\n\n\n\n\n\n\n \n if hasattr(value,'name'):\n return value\n \n value=''.join(linesep_splitter.split(value))\n return self.header_factory(name,value)\n \n def fold(self,name,value):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return self._fold(name,value,refold_binary=True)\n \n def fold_binary(self,name,value):\n ''\n\n\n\n\n\n\n\n\n\n\n\n \n folded=self._fold(name,value,refold_binary=self.cte_type =='7bit')\n charset='utf8'if self.utf8 else 'ascii'\n return folded.encode(charset,'surrogateescape')\n \n def _fold(self,name,value,refold_binary=False):\n if hasattr(value,'name'):\n return value.fold(policy=self)\n maxlen=self.max_line_length if self.max_line_length else sys.maxsize\n lines=value.splitlines()\n refold=(self.refold_source =='all'or\n self.refold_source =='long'and\n (lines and len(lines[0])+len(name)+2 >maxlen or\n any(len(x)>maxlen for x in lines[1:])))\n if refold or refold_binary and _has_surrogates(value):\n return self.header_factory(name,''.join(lines)).fold(policy=self)\n return name+': '+self.linesep.join(lines)+self.linesep\n \n \ndefault=EmailPolicy()\n\ndel default.header_factory\nstrict=default.clone(raise_on_defect=True)\nSMTP=default.clone(linesep='\\r\\n')\nHTTP=default.clone(linesep='\\r\\n',max_line_length=None)\nSMTPUTF8=SMTP.clone(utf8=True)\n",["email._policybase","email.contentmanager","email.headerregistry","email.message","email.utils","re","sys"]],"email.quoprimime":[".py","\n\n\n\n\"\"\"Quoted-printable content transfer encoding per RFCs 2045-2047.\n\nThis module handles the content transfer encoding method defined in RFC 2045\nto encode US ASCII-like 8-bit data called `quoted-printable'. It is used to\nsafely encode text that is in a character set similar to the 7-bit US ASCII\ncharacter set, but that includes some 8-bit characters that are normally not\nallowed in email bodies or headers.\n\nQuoted-printable is very space-inefficient for encoding binary files; use the\nemail.base64mime module for that instead.\n\nThis module provides an interface to encode and decode both headers and bodies\nwith quoted-printable encoding.\n\nRFC 2045 defines a method for including character set information in an\n`encoded-word' in a header. This method is commonly used for 8-bit real names\nin To:/From:/Cc: etc. fields, as well as Subject: lines.\n\nThis module does not do the line wrapping or end-of-line character\nconversion necessary for proper internationalized headers; it only\ndoes dumb encoding and decoding. To deal with the various line\nwrapping issues, use the email.header module.\n\"\"\"\n\n__all__=[\n'body_decode',\n'body_encode',\n'body_length',\n'decode',\n'decodestring',\n'header_decode',\n'header_encode',\n'header_length',\n'quote',\n'unquote',\n]\n\nimport re\n\nfrom string import ascii_letters,digits,hexdigits\n\nCRLF='\\r\\n'\nNL='\\n'\nEMPTYSTRING=''\n\n\n\n\n\n\n_QUOPRI_MAP=['=%02X'%c for c in range(256)]\n_QUOPRI_HEADER_MAP=_QUOPRI_MAP[:]\n_QUOPRI_BODY_MAP=_QUOPRI_MAP[:]\n\n\nfor c in b'-!*+/'+ascii_letters.encode('ascii')+digits.encode('ascii'):\n _QUOPRI_HEADER_MAP[c]=chr(c)\n \n_QUOPRI_HEADER_MAP[ord(' ')]='_'\n\n\nfor c in(b' !\"#$%&\\'()*+,-./0123456789:;<>'\nb'?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`'\nb'abcdefghijklmnopqrstuvwxyz{|}~\\t'):\n _QUOPRI_BODY_MAP[c]=chr(c)\n \n \n \n \ndef header_check(octet):\n ''\n return chr(octet)!=_QUOPRI_HEADER_MAP[octet]\n \n \ndef body_check(octet):\n ''\n return chr(octet)!=_QUOPRI_BODY_MAP[octet]\n \n \ndef header_length(bytearray):\n ''\n\n\n\n\n\n\n\n \n return sum(len(_QUOPRI_HEADER_MAP[octet])for octet in bytearray)\n \n \ndef body_length(bytearray):\n ''\n\n\n\n\n \n return sum(len(_QUOPRI_BODY_MAP[octet])for octet in bytearray)\n \n \ndef _max_append(L,s,maxlen,extra=''):\n if not isinstance(s,str):\n s=chr(s)\n if not L:\n L.append(s.lstrip())\n elif len(L[-1])+len(s)<=maxlen:\n L[-1]+=extra+s\n else:\n L.append(s.lstrip())\n \n \ndef unquote(s):\n ''\n return chr(int(s[1:3],16))\n \n \ndef quote(c):\n return _QUOPRI_MAP[ord(c)]\n \n \ndef header_encode(header_bytes,charset='iso-8859-1'):\n ''\n\n\n\n\n\n\n\n\n \n \n if not header_bytes:\n return ''\n \n encoded=header_bytes.decode('latin1').translate(_QUOPRI_HEADER_MAP)\n \n \n return '=?%s?q?%s?='%(charset,encoded)\n \n \n_QUOPRI_BODY_ENCODE_MAP=_QUOPRI_BODY_MAP[:]\nfor c in b'\\r\\n':\n _QUOPRI_BODY_ENCODE_MAP[c]=chr(c)\ndel c\n\ndef body_encode(body,maxlinelen=76,eol=NL):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if maxlinelen <4:\n raise ValueError(\"maxlinelen must be at least 4\")\n if not body:\n return body\n \n \n body=body.translate(_QUOPRI_BODY_ENCODE_MAP)\n \n soft_break='='+eol\n \n maxlinelen1=maxlinelen -1\n \n encoded_body=[]\n append=encoded_body.append\n \n for line in body.splitlines():\n \n start=0\n laststart=len(line)-1 -maxlinelen\n while start <=laststart:\n stop=start+maxlinelen1\n \n if line[stop -2]=='=':\n append(line[start:stop -1])\n start=stop -2\n elif line[stop -1]=='=':\n append(line[start:stop])\n start=stop -1\n else:\n append(line[start:stop]+'=')\n start=stop\n \n \n if line and line[-1]in ' \\t':\n room=start -laststart\n if room >=3:\n \n \n q=quote(line[-1])\n elif room ==2:\n \n q=line[-1]+soft_break\n else:\n \n \n q=soft_break+quote(line[-1])\n append(line[start:-1]+q)\n else:\n append(line[start:])\n \n \n if body[-1]in CRLF:\n append('')\n \n return eol.join(encoded_body)\n \n \n \n \n \ndef decode(encoded,eol=NL):\n ''\n\n\n \n if not encoded:\n return encoded\n \n \n \n decoded=''\n \n for line in encoded.splitlines():\n line=line.rstrip()\n if not line:\n decoded +=eol\n continue\n \n i=0\n n=len(line)\n while i @,:;\".]')\nescapesre=re.compile(r'[\\\\\"]')\n\ndef _has_surrogates(s):\n ''\n \n \n \n try:\n s.encode()\n return False\n except UnicodeEncodeError:\n return True\n \n \n \ndef _sanitize(string):\n\n\n\n\n original_bytes=string.encode('utf-8','surrogateescape')\n return original_bytes.decode('utf-8','replace')\n \n \n \n \n \ndef formataddr(pair,charset='utf-8'):\n ''\n\n\n\n\n\n\n\n\n\n\n \n name,address=pair\n \n address.encode('ascii')\n if name:\n try:\n name.encode('ascii')\n except UnicodeEncodeError:\n if isinstance(charset,str):\n charset=Charset(charset)\n encoded_name=charset.header_encode(name)\n return \"%s <%s>\"%(encoded_name,address)\n else:\n quotes=''\n if specialsre.search(name):\n quotes='\"'\n name=escapesre.sub(r'\\\\\\g<0>',name)\n return '%s%s%s <%s>'%(quotes,name,quotes,address)\n return address\n \n \n \ndef getaddresses(fieldvalues):\n ''\n all=COMMASPACE.join(str(v)for v in fieldvalues)\n a=_AddressList(all)\n return a.addresslist\n \n \ndef _format_timetuple_and_zone(timetuple,zone):\n return '%s, %02d %s %04d %02d:%02d:%02d %s'%(\n ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'][timetuple[6]],\n timetuple[2],\n ['Jan','Feb','Mar','Apr','May','Jun',\n 'Jul','Aug','Sep','Oct','Nov','Dec'][timetuple[1]-1],\n timetuple[0],timetuple[3],timetuple[4],timetuple[5],\n zone)\n \ndef formatdate(timeval=None,localtime=False,usegmt=False):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n if timeval is None:\n timeval=time.time()\n dt=datetime.datetime.fromtimestamp(timeval,datetime.timezone.utc)\n \n if localtime:\n dt=dt.astimezone()\n usegmt=False\n elif not usegmt:\n dt=dt.replace(tzinfo=None)\n return format_datetime(dt,usegmt)\n \ndef format_datetime(dt,usegmt=False):\n ''\n\n\n\n\n \n now=dt.timetuple()\n if usegmt:\n if dt.tzinfo is None or dt.tzinfo !=datetime.timezone.utc:\n raise ValueError(\"usegmt option requires a UTC datetime\")\n zone='GMT'\n elif dt.tzinfo is None:\n zone='-0000'\n else:\n zone=dt.strftime(\"%z\")\n return _format_timetuple_and_zone(now,zone)\n \n \ndef make_msgid(idstring=None,domain=None):\n ''\n\n\n\n\n\n\n\n \n timeval=int(time.time()*100)\n pid=os.getpid()\n randint=random.getrandbits(64)\n if idstring is None:\n idstring=''\n else:\n idstring='.'+idstring\n if domain is None:\n domain=socket.getfqdn()\n msgid='<%d.%d.%d%s@%s>'%(timeval,pid,randint,idstring,domain)\n return msgid\n \n \ndef parsedate_to_datetime(data):\n parsed_date_tz=_parsedate_tz(data)\n if parsed_date_tz is None:\n raise ValueError('Invalid date value or format \"%s\"'%str(data))\n *dtuple,tz=parsed_date_tz\n if tz is None:\n return datetime.datetime(*dtuple[:6])\n return datetime.datetime(*dtuple[:6],\n tzinfo=datetime.timezone(datetime.timedelta(seconds=tz)))\n \n \ndef parseaddr(addr):\n ''\n\n\n\n\n \n addrs=_AddressList(addr).addresslist\n if not addrs:\n return '',''\n return addrs[0]\n \n \n \ndef unquote(str):\n ''\n if len(str)>1:\n if str.startswith('\"')and str.endswith('\"'):\n return str[1:-1].replace('\\\\\\\\','\\\\').replace('\\\\\"','\"')\n if str.startswith('<')and str.endswith('>'):\n return str[1:-1]\n return str\n \n \n \n \ndef decode_rfc2231(s):\n ''\n parts=s.split(TICK,2)\n if len(parts)<=2:\n return None,None,s\n return parts\n \n \ndef encode_rfc2231(s,charset=None,language=None):\n ''\n\n\n\n\n \n s=urllib.parse.quote(s,safe='',encoding=charset or 'ascii')\n if charset is None and language is None:\n return s\n if language is None:\n language=''\n return \"%s'%s'%s\"%(charset,language,s)\n \n \nrfc2231_continuation=re.compile(r'^(?P\\w+)\\*((?P[0-9]+)\\*?)?$',\nre.ASCII)\n\ndef decode_params(params):\n ''\n\n\n \n new_params=[params[0]]\n \n \n \n rfc2231_params={}\n for name,value in params[1:]:\n encoded=name.endswith('*')\n value=unquote(value)\n mo=rfc2231_continuation.match(name)\n if mo:\n name,num=mo.group('name','num')\n if num is not None:\n num=int(num)\n rfc2231_params.setdefault(name,[]).append((num,value,encoded))\n else:\n new_params.append((name,'\"%s\"'%quote(value)))\n if rfc2231_params:\n for name,continuations in rfc2231_params.items():\n value=[]\n extended=False\n \n continuations.sort()\n \n \n \n \n \n for num,s,encoded in continuations:\n if encoded:\n \n \n \n s=urllib.parse.unquote(s,encoding=\"latin-1\")\n extended=True\n value.append(s)\n value=quote(EMPTYSTRING.join(value))\n if extended:\n charset,language,value=decode_rfc2231(value)\n new_params.append((name,(charset,language,'\"%s\"'%value)))\n else:\n new_params.append((name,'\"%s\"'%value))\n return new_params\n \ndef collapse_rfc2231_value(value,errors='replace',\nfallback_charset='us-ascii'):\n if not isinstance(value,tuple)or len(value)!=3:\n return unquote(value)\n \n \n \n charset,language,text=value\n if charset is None:\n \n \n charset=fallback_charset\n rawbytes=bytes(text,'raw-unicode-escape')\n try:\n return str(rawbytes,charset,errors)\n except LookupError:\n \n return unquote(text)\n \n \n \n \n \n \n \n \ndef localtime(dt=None,isdst=None):\n ''\n\n\n\n\n\n\n\n \n if isdst is not None:\n import warnings\n warnings._deprecated(\n \"The 'isdst' parameter to 'localtime'\",\n message='{name} is deprecated and slated for removal in Python {remove}',\n remove=(3,14),\n )\n if dt is None:\n dt=datetime.datetime.now()\n return dt.astimezone()\n",["datetime","email._parseaddr","email.charset","os","random","re","socket","time","urllib.parse","warnings"]],"email._encoded_words":[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport re\nimport base64\nimport binascii\nimport functools\nfrom string import ascii_letters,digits\nfrom email import errors\n\n__all__=['decode_q',\n'encode_q',\n'decode_b',\n'encode_b',\n'len_q',\n'len_b',\n'decode',\n'encode',\n]\n\n\n\n\n\n\n_q_byte_subber=functools.partial(re.compile(br'=([a-fA-F0-9]{2})').sub,\nlambda m:bytes.fromhex(m.group(1).decode()))\n\ndef decode_q(encoded):\n encoded=encoded.replace(b'_',b' ')\n return _q_byte_subber(encoded),[]\n \n \n \nclass _QByteMap(dict):\n\n safe=b'-!*+/'+ascii_letters.encode('ascii')+digits.encode('ascii')\n \n def __missing__(self,key):\n if key in self.safe:\n self[key]=chr(key)\n else:\n self[key]=\"={:02X}\".format(key)\n return self[key]\n \n_q_byte_map=_QByteMap()\n\n\n_q_byte_map[ord(' ')]='_'\n\ndef encode_q(bstring):\n return ''.join(_q_byte_map[x]for x in bstring)\n \ndef len_q(bstring):\n return sum(len(_q_byte_map[x])for x in bstring)\n \n \n \n \n \n \ndef decode_b(encoded):\n\n\n pad_err=len(encoded)%4\n missing_padding=b'==='[:4 -pad_err]if pad_err else b''\n try:\n return(\n base64.b64decode(encoded+missing_padding,validate=True),\n [errors.InvalidBase64PaddingDefect()]if pad_err else[],\n )\n except binascii.Error:\n \n \n \n \n \n try:\n return(\n base64.b64decode(encoded,validate=False),\n [errors.InvalidBase64CharactersDefect()],\n )\n except binascii.Error:\n \n \n try:\n return(\n base64.b64decode(encoded+b'==',validate=False),\n [errors.InvalidBase64CharactersDefect(),\n errors.InvalidBase64PaddingDefect()],\n )\n except binascii.Error:\n \n \n \n \n \n return encoded,[errors.InvalidBase64LengthDefect()]\n \ndef encode_b(bstring):\n return base64.b64encode(bstring).decode('ascii')\n \ndef len_b(bstring):\n groups_of_3,leftover=divmod(len(bstring),3)\n \n return groups_of_3 *4+(4 if leftover else 0)\n \n \n_cte_decoders={\n'q':decode_q,\n'b':decode_b,\n}\n\ndef decode(ew):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n _,charset,cte,cte_string,_=ew.split('?')\n charset,_,lang=charset.partition('*')\n cte=cte.lower()\n \n bstring=cte_string.encode('ascii','surrogateescape')\n bstring,defects=_cte_decoders[cte](bstring)\n \n try:\n string=bstring.decode(charset)\n except UnicodeDecodeError:\n defects.append(errors.UndecodableBytesDefect(\"Encoded word \"\n f\"contains bytes not decodable using {charset !r} charset\"))\n string=bstring.decode(charset,'surrogateescape')\n except(LookupError,UnicodeEncodeError):\n string=bstring.decode('ascii','surrogateescape')\n if charset.lower()!='unknown-8bit':\n defects.append(errors.CharsetError(f\"Unknown charset {charset !r} \"\n f\"in encoded word; decoded as unknown bytes\"))\n return string,charset,lang,defects\n \n \n_cte_encoders={\n'q':encode_q,\n'b':encode_b,\n}\n\n_cte_encode_length={\n'q':len_q,\n'b':len_b,\n}\n\ndef encode(string,charset='utf-8',encoding=None,lang=''):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if charset =='unknown-8bit':\n bstring=string.encode('ascii','surrogateescape')\n else:\n bstring=string.encode(charset)\n if encoding is None:\n qlen=_cte_encode_length['q'](bstring)\n blen=_cte_encode_length['b'](bstring)\n \n encoding='q'if qlen -blen <5 else 'b'\n encoded=_cte_encoders[encoding](bstring)\n if lang:\n lang='*'+lang\n return \"=?{}{}?{}?{}?=\".format(charset,lang,encoding,encoded)\n",["base64","binascii","email","email.errors","functools","re","string"]],"email._header_value_parser":[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport re\nimport sys\nimport urllib\nfrom string import hexdigits\nfrom operator import itemgetter\nfrom email import _encoded_words as _ew\nfrom email import errors\nfrom email import utils\n\n\n\n\n\nWSP=set(' \\t')\nCFWS_LEADER=WSP |set('(')\nSPECIALS=set(r'()<>@,:;.\\\"[]')\nATOM_ENDS=SPECIALS |WSP\nDOT_ATOM_ENDS=ATOM_ENDS -set('.')\n\nPHRASE_ENDS=SPECIALS -set('.\"(')\nTSPECIALS=(SPECIALS |set('/?='))-set('.')\nTOKEN_ENDS=TSPECIALS |WSP\nASPECIALS=TSPECIALS |set(\"*'%\")\nATTRIBUTE_ENDS=ASPECIALS |WSP\nEXTENDED_ATTRIBUTE_ENDS=ATTRIBUTE_ENDS -set('%')\n\ndef quote_string(value):\n return '\"'+str(value).replace('\\\\','\\\\\\\\').replace('\"',r'\\\"')+'\"'\n \n \nrfc2047_matcher=re.compile(r'''\n =\\? # literal =?\n [^?]* # charset\n \\? # literal ?\n [qQbB] # literal 'q' or 'b', case insensitive\n \\? # literal ?\n .*? # encoded word\n \\?= # literal ?=\n''',re.VERBOSE |re.MULTILINE)\n\n\n\n\n\n\nclass TokenList(list):\n\n token_type=None\n syntactic_break=True\n ew_combine_allowed=True\n \n def __init__(self,*args,**kw):\n super().__init__(*args,**kw)\n self.defects=[]\n \n def __str__(self):\n return ''.join(str(x)for x in self)\n \n def __repr__(self):\n return '{}({})'.format(self.__class__.__name__,\n super().__repr__())\n \n @property\n def value(self):\n return ''.join(x.value for x in self if x.value)\n \n @property\n def all_defects(self):\n return sum((x.all_defects for x in self),self.defects)\n \n def startswith_fws(self):\n return self[0].startswith_fws()\n \n @property\n def as_ew_allowed(self):\n ''\n return all(part.as_ew_allowed for part in self)\n \n @property\n def comments(self):\n comments=[]\n for token in self:\n comments.extend(token.comments)\n return comments\n \n def fold(self,*,policy):\n return _refold_parse_tree(self,policy=policy)\n \n def pprint(self,indent=''):\n print(self.ppstr(indent=indent))\n \n def ppstr(self,indent=''):\n return '\\n'.join(self._pp(indent=indent))\n \n def _pp(self,indent=''):\n yield '{}{}/{}('.format(\n indent,\n self.__class__.__name__,\n self.token_type)\n for token in self:\n if not hasattr(token,'_pp'):\n yield(indent+' !! invalid element in token '\n 'list: {!r}'.format(token))\n else:\n yield from token._pp(indent+' ')\n if self.defects:\n extra=' Defects: {}'.format(self.defects)\n else:\n extra=''\n yield '{}){}'.format(indent,extra)\n \n \nclass WhiteSpaceTokenList(TokenList):\n\n @property\n def value(self):\n return ' '\n \n @property\n def comments(self):\n return[x.content for x in self if x.token_type =='comment']\n \n \nclass UnstructuredTokenList(TokenList):\n token_type='unstructured'\n \n \nclass Phrase(TokenList):\n token_type='phrase'\n \nclass Word(TokenList):\n token_type='word'\n \n \nclass CFWSList(WhiteSpaceTokenList):\n token_type='cfws'\n \n \nclass Atom(TokenList):\n token_type='atom'\n \n \nclass Token(TokenList):\n token_type='token'\n encode_as_ew=False\n \n \nclass EncodedWord(TokenList):\n token_type='encoded-word'\n cte=None\n charset=None\n lang=None\n \n \nclass QuotedString(TokenList):\n\n token_type='quoted-string'\n \n @property\n def content(self):\n for x in self:\n if x.token_type =='bare-quoted-string':\n return x.value\n \n @property\n def quoted_value(self):\n res=[]\n for x in self:\n if x.token_type =='bare-quoted-string':\n res.append(str(x))\n else:\n res.append(x.value)\n return ''.join(res)\n \n @property\n def stripped_value(self):\n for token in self:\n if token.token_type =='bare-quoted-string':\n return token.value\n \n \nclass BareQuotedString(QuotedString):\n\n token_type='bare-quoted-string'\n \n def __str__(self):\n return quote_string(''.join(str(x)for x in self))\n \n @property\n def value(self):\n return ''.join(str(x)for x in self)\n \n \nclass Comment(WhiteSpaceTokenList):\n\n token_type='comment'\n \n def __str__(self):\n return ''.join(sum([\n [\"(\"],\n [self.quote(x)for x in self],\n [\")\"],\n ],[]))\n \n def quote(self,value):\n if value.token_type =='comment':\n return str(value)\n return str(value).replace('\\\\','\\\\\\\\').replace(\n '(',r'\\(').replace(\n ')',r'\\)')\n \n @property\n def content(self):\n return ''.join(str(x)for x in self)\n \n @property\n def comments(self):\n return[self.content]\n \nclass AddressList(TokenList):\n\n token_type='address-list'\n \n @property\n def addresses(self):\n return[x for x in self if x.token_type =='address']\n \n @property\n def mailboxes(self):\n return sum((x.mailboxes\n for x in self if x.token_type =='address'),[])\n \n @property\n def all_mailboxes(self):\n return sum((x.all_mailboxes\n for x in self if x.token_type =='address'),[])\n \n \nclass Address(TokenList):\n\n token_type='address'\n \n @property\n def display_name(self):\n if self[0].token_type =='group':\n return self[0].display_name\n \n @property\n def mailboxes(self):\n if self[0].token_type =='mailbox':\n return[self[0]]\n elif self[0].token_type =='invalid-mailbox':\n return[]\n return self[0].mailboxes\n \n @property\n def all_mailboxes(self):\n if self[0].token_type =='mailbox':\n return[self[0]]\n elif self[0].token_type =='invalid-mailbox':\n return[self[0]]\n return self[0].all_mailboxes\n \nclass MailboxList(TokenList):\n\n token_type='mailbox-list'\n \n @property\n def mailboxes(self):\n return[x for x in self if x.token_type =='mailbox']\n \n @property\n def all_mailboxes(self):\n return[x for x in self\n if x.token_type in('mailbox','invalid-mailbox')]\n \n \nclass GroupList(TokenList):\n\n token_type='group-list'\n \n @property\n def mailboxes(self):\n if not self or self[0].token_type !='mailbox-list':\n return[]\n return self[0].mailboxes\n \n @property\n def all_mailboxes(self):\n if not self or self[0].token_type !='mailbox-list':\n return[]\n return self[0].all_mailboxes\n \n \nclass Group(TokenList):\n\n token_type=\"group\"\n \n @property\n def mailboxes(self):\n if self[2].token_type !='group-list':\n return[]\n return self[2].mailboxes\n \n @property\n def all_mailboxes(self):\n if self[2].token_type !='group-list':\n return[]\n return self[2].all_mailboxes\n \n @property\n def display_name(self):\n return self[0].display_name\n \n \nclass NameAddr(TokenList):\n\n token_type='name-addr'\n \n @property\n def display_name(self):\n if len(self)==1:\n return None\n return self[0].display_name\n \n @property\n def local_part(self):\n return self[-1].local_part\n \n @property\n def domain(self):\n return self[-1].domain\n \n @property\n def route(self):\n return self[-1].route\n \n @property\n def addr_spec(self):\n return self[-1].addr_spec\n \n \nclass AngleAddr(TokenList):\n\n token_type='angle-addr'\n \n @property\n def local_part(self):\n for x in self:\n if x.token_type =='addr-spec':\n return x.local_part\n \n @property\n def domain(self):\n for x in self:\n if x.token_type =='addr-spec':\n return x.domain\n \n @property\n def route(self):\n for x in self:\n if x.token_type =='obs-route':\n return x.domains\n \n @property\n def addr_spec(self):\n for x in self:\n if x.token_type =='addr-spec':\n if x.local_part:\n return x.addr_spec\n else:\n return quote_string(x.local_part)+x.addr_spec\n else:\n return '<>'\n \n \nclass ObsRoute(TokenList):\n\n token_type='obs-route'\n \n @property\n def domains(self):\n return[x.domain for x in self if x.token_type =='domain']\n \n \nclass Mailbox(TokenList):\n\n token_type='mailbox'\n \n @property\n def display_name(self):\n if self[0].token_type =='name-addr':\n return self[0].display_name\n \n @property\n def local_part(self):\n return self[0].local_part\n \n @property\n def domain(self):\n return self[0].domain\n \n @property\n def route(self):\n if self[0].token_type =='name-addr':\n return self[0].route\n \n @property\n def addr_spec(self):\n return self[0].addr_spec\n \n \nclass InvalidMailbox(TokenList):\n\n token_type='invalid-mailbox'\n \n @property\n def display_name(self):\n return None\n \n local_part=domain=route=addr_spec=display_name\n \n \nclass Domain(TokenList):\n\n token_type='domain'\n as_ew_allowed=False\n \n @property\n def domain(self):\n return ''.join(super().value.split())\n \n \nclass DotAtom(TokenList):\n token_type='dot-atom'\n \n \nclass DotAtomText(TokenList):\n token_type='dot-atom-text'\n as_ew_allowed=True\n \n \nclass NoFoldLiteral(TokenList):\n token_type='no-fold-literal'\n as_ew_allowed=False\n \n \nclass AddrSpec(TokenList):\n\n token_type='addr-spec'\n as_ew_allowed=False\n \n @property\n def local_part(self):\n return self[0].local_part\n \n @property\n def domain(self):\n if len(self)<3:\n return None\n return self[-1].domain\n \n @property\n def value(self):\n if len(self)<3:\n return self[0].value\n return self[0].value.rstrip()+self[1].value+self[2].value.lstrip()\n \n @property\n def addr_spec(self):\n nameset=set(self.local_part)\n if len(nameset)>len(nameset -DOT_ATOM_ENDS):\n lp=quote_string(self.local_part)\n else:\n lp=self.local_part\n if self.domain is not None:\n return lp+'@'+self.domain\n return lp\n \n \nclass ObsLocalPart(TokenList):\n\n token_type='obs-local-part'\n as_ew_allowed=False\n \n \nclass DisplayName(Phrase):\n\n token_type='display-name'\n ew_combine_allowed=False\n \n @property\n def display_name(self):\n res=TokenList(self)\n if len(res)==0:\n return res.value\n if res[0].token_type =='cfws':\n res.pop(0)\n else:\n if res[0][0].token_type =='cfws':\n res[0]=TokenList(res[0][1:])\n if res[-1].token_type =='cfws':\n res.pop()\n else:\n if res[-1][-1].token_type =='cfws':\n res[-1]=TokenList(res[-1][:-1])\n return res.value\n \n @property\n def value(self):\n quote=False\n if self.defects:\n quote=True\n else:\n for x in self:\n if x.token_type =='quoted-string':\n quote=True\n if len(self)!=0 and quote:\n pre=post=''\n if self[0].token_type =='cfws'or self[0][0].token_type =='cfws':\n pre=' '\n if self[-1].token_type =='cfws'or self[-1][-1].token_type =='cfws':\n post=' '\n return pre+quote_string(self.display_name)+post\n else:\n return super().value\n \n \nclass LocalPart(TokenList):\n\n token_type='local-part'\n as_ew_allowed=False\n \n @property\n def value(self):\n if self[0].token_type ==\"quoted-string\":\n return self[0].quoted_value\n else:\n return self[0].value\n \n @property\n def local_part(self):\n \n res=[DOT]\n last=DOT\n last_is_tl=False\n for tok in self[0]+[DOT]:\n if tok.token_type =='cfws':\n continue\n if(last_is_tl and tok.token_type =='dot'and\n last[-1].token_type =='cfws'):\n res[-1]=TokenList(last[:-1])\n is_tl=isinstance(tok,TokenList)\n if(is_tl and last.token_type =='dot'and\n tok[0].token_type =='cfws'):\n res.append(TokenList(tok[1:]))\n else:\n res.append(tok)\n last=res[-1]\n last_is_tl=is_tl\n res=TokenList(res[1:-1])\n return res.value\n \n \nclass DomainLiteral(TokenList):\n\n token_type='domain-literal'\n as_ew_allowed=False\n \n @property\n def domain(self):\n return ''.join(super().value.split())\n \n @property\n def ip(self):\n for x in self:\n if x.token_type =='ptext':\n return x.value\n \n \nclass MIMEVersion(TokenList):\n\n token_type='mime-version'\n major=None\n minor=None\n \n \nclass Parameter(TokenList):\n\n token_type='parameter'\n sectioned=False\n extended=False\n charset='us-ascii'\n \n @property\n def section_number(self):\n \n \n return self[1].number if self.sectioned else 0\n \n @property\n def param_value(self):\n \n for token in self:\n if token.token_type =='value':\n return token.stripped_value\n if token.token_type =='quoted-string':\n for token in token:\n if token.token_type =='bare-quoted-string':\n for token in token:\n if token.token_type =='value':\n return token.stripped_value\n return ''\n \n \nclass InvalidParameter(Parameter):\n\n token_type='invalid-parameter'\n \n \nclass Attribute(TokenList):\n\n token_type='attribute'\n \n @property\n def stripped_value(self):\n for token in self:\n if token.token_type.endswith('attrtext'):\n return token.value\n \nclass Section(TokenList):\n\n token_type='section'\n number=None\n \n \nclass Value(TokenList):\n\n token_type='value'\n \n @property\n def stripped_value(self):\n token=self[0]\n if token.token_type =='cfws':\n token=self[1]\n if token.token_type.endswith(\n ('quoted-string','attribute','extended-attribute')):\n return token.stripped_value\n return self.value\n \n \nclass MimeParameters(TokenList):\n\n token_type='mime-parameters'\n syntactic_break=False\n \n @property\n def params(self):\n \n \n \n \n \n params={}\n for token in self:\n if not token.token_type.endswith('parameter'):\n continue\n if token[0].token_type !='attribute':\n continue\n name=token[0].value.strip()\n if name not in params:\n params[name]=[]\n params[name].append((token.section_number,token))\n for name,parts in params.items():\n parts=sorted(parts,key=itemgetter(0))\n first_param=parts[0][1]\n charset=first_param.charset\n \n \n \n if not first_param.extended and len(parts)>1:\n if parts[1][0]==0:\n parts[1][1].defects.append(errors.InvalidHeaderDefect(\n 'duplicate parameter name; duplicate(s) ignored'))\n parts=parts[:1]\n \n \n value_parts=[]\n i=0\n for section_number,param in parts:\n if section_number !=i:\n \n \n \n if not param.extended:\n param.defects.append(errors.InvalidHeaderDefect(\n 'duplicate parameter name; duplicate ignored'))\n continue\n else:\n param.defects.append(errors.InvalidHeaderDefect(\n \"inconsistent RFC2231 parameter numbering\"))\n i +=1\n value=param.param_value\n if param.extended:\n try:\n value=urllib.parse.unquote_to_bytes(value)\n except UnicodeEncodeError:\n \n \n \n value=urllib.parse.unquote(value,encoding='latin-1')\n else:\n try:\n value=value.decode(charset,'surrogateescape')\n except(LookupError,UnicodeEncodeError):\n \n \n \n \n value=value.decode('us-ascii','surrogateescape')\n if utils._has_surrogates(value):\n param.defects.append(errors.UndecodableBytesDefect())\n value_parts.append(value)\n value=''.join(value_parts)\n yield name,value\n \n def __str__(self):\n params=[]\n for name,value in self.params:\n if value:\n params.append('{}={}'.format(name,quote_string(value)))\n else:\n params.append(name)\n params='; '.join(params)\n return ' '+params if params else ''\n \n \nclass ParameterizedHeaderValue(TokenList):\n\n\n\n syntactic_break=False\n \n @property\n def params(self):\n for token in reversed(self):\n if token.token_type =='mime-parameters':\n return token.params\n return{}\n \n \nclass ContentType(ParameterizedHeaderValue):\n token_type='content-type'\n as_ew_allowed=False\n maintype='text'\n subtype='plain'\n \n \nclass ContentDisposition(ParameterizedHeaderValue):\n token_type='content-disposition'\n as_ew_allowed=False\n content_disposition=None\n \n \nclass ContentTransferEncoding(TokenList):\n token_type='content-transfer-encoding'\n as_ew_allowed=False\n cte='7bit'\n \n \nclass HeaderLabel(TokenList):\n token_type='header-label'\n as_ew_allowed=False\n \n \nclass MsgID(TokenList):\n token_type='msg-id'\n as_ew_allowed=False\n \n def fold(self,policy):\n \n return str(self)+policy.linesep\n \n \nclass MessageID(MsgID):\n token_type='message-id'\n \n \nclass InvalidMessageID(MessageID):\n token_type='invalid-message-id'\n \n \nclass Header(TokenList):\n token_type='header'\n \n \n \n \n \n \nclass Terminal(str):\n\n as_ew_allowed=True\n ew_combine_allowed=True\n syntactic_break=True\n \n def __new__(cls,value,token_type):\n self=super().__new__(cls,value)\n self.token_type=token_type\n self.defects=[]\n return self\n \n def __repr__(self):\n return \"{}({})\".format(self.__class__.__name__,super().__repr__())\n \n def pprint(self):\n print(self.__class__.__name__+'/'+self.token_type)\n \n @property\n def all_defects(self):\n return list(self.defects)\n \n def _pp(self,indent=''):\n return[\"{}{}/{}({}){}\".format(\n indent,\n self.__class__.__name__,\n self.token_type,\n super().__repr__(),\n ''if not self.defects else ' {}'.format(self.defects),\n )]\n \n def pop_trailing_ws(self):\n \n return None\n \n @property\n def comments(self):\n return[]\n \n def __getnewargs__(self):\n return(str(self),self.token_type)\n \n \nclass WhiteSpaceTerminal(Terminal):\n\n @property\n def value(self):\n return ' '\n \n def startswith_fws(self):\n return True\n \n \nclass ValueTerminal(Terminal):\n\n @property\n def value(self):\n return self\n \n def startswith_fws(self):\n return False\n \n \nclass EWWhiteSpaceTerminal(WhiteSpaceTerminal):\n\n @property\n def value(self):\n return ''\n \n def __str__(self):\n return ''\n \n \nclass _InvalidEwError(errors.HeaderParseError):\n ''\n \n \n \n \n \nDOT=ValueTerminal('.','dot')\nListSeparator=ValueTerminal(',','list-separator')\nRouteComponentMarker=ValueTerminal('@','route-component-marker')\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_wsp_splitter=re.compile(r'([{}]+)'.format(''.join(WSP))).split\n_non_atom_end_matcher=re.compile(r\"[^{}]+\".format(\nre.escape(''.join(ATOM_ENDS)))).match\n_non_printable_finder=re.compile(r\"[\\x00-\\x20\\x7F]\").findall\n_non_token_end_matcher=re.compile(r\"[^{}]+\".format(\nre.escape(''.join(TOKEN_ENDS)))).match\n_non_attribute_end_matcher=re.compile(r\"[^{}]+\".format(\nre.escape(''.join(ATTRIBUTE_ENDS)))).match\n_non_extended_attribute_end_matcher=re.compile(r\"[^{}]+\".format(\nre.escape(''.join(EXTENDED_ATTRIBUTE_ENDS)))).match\n\ndef _validate_xtext(xtext):\n ''\n \n non_printables=_non_printable_finder(xtext)\n if non_printables:\n xtext.defects.append(errors.NonPrintableDefect(non_printables))\n if utils._has_surrogates(xtext):\n xtext.defects.append(errors.UndecodableBytesDefect(\n \"Non-ASCII characters found in header token\"))\n \ndef _get_ptext_to_endchars(value,endchars):\n ''\n\n\n\n\n\n\n \n fragment,*remainder=_wsp_splitter(value,1)\n vchars=[]\n escape=False\n had_qp=False\n for pos in range(len(fragment)):\n if fragment[pos]=='\\\\':\n if escape:\n escape=False\n had_qp=True\n else:\n escape=True\n continue\n if escape:\n escape=False\n elif fragment[pos]in endchars:\n break\n vchars.append(fragment[pos])\n else:\n pos=pos+1\n return ''.join(vchars),''.join([fragment[pos:]]+remainder),had_qp\n \ndef get_fws(value):\n ''\n\n\n\n\n\n \n newvalue=value.lstrip()\n fws=WhiteSpaceTerminal(value[:len(value)-len(newvalue)],'fws')\n return fws,newvalue\n \ndef get_encoded_word(value):\n ''\n\n \n ew=EncodedWord()\n if not value.startswith('=?'):\n raise errors.HeaderParseError(\n \"expected encoded word but found {}\".format(value))\n tok,*remainder=value[2:].split('?=',1)\n if tok ==value[2:]:\n raise errors.HeaderParseError(\n \"expected encoded word but found {}\".format(value))\n remstr=''.join(remainder)\n if(len(remstr)>1 and\n remstr[0]in hexdigits and\n remstr[1]in hexdigits and\n tok.count('?')<2):\n \n rest,*remainder=remstr.split('?=',1)\n tok=tok+'?='+rest\n if len(tok.split())>1:\n ew.defects.append(errors.InvalidHeaderDefect(\n \"whitespace inside encoded word\"))\n ew.cte=value\n value=''.join(remainder)\n try:\n text,charset,lang,defects=_ew.decode('=?'+tok+'?=')\n except(ValueError,KeyError):\n raise _InvalidEwError(\n \"encoded word format invalid: '{}'\".format(ew.cte))\n ew.charset=charset\n ew.lang=lang\n ew.defects.extend(defects)\n while text:\n if text[0]in WSP:\n token,text=get_fws(text)\n ew.append(token)\n continue\n chars,*remainder=_wsp_splitter(text,1)\n vtext=ValueTerminal(chars,'vtext')\n _validate_xtext(vtext)\n ew.append(vtext)\n text=''.join(remainder)\n \n if value and value[0]not in WSP:\n ew.defects.append(errors.InvalidHeaderDefect(\n \"missing trailing whitespace after encoded-word\"))\n return ew,value\n \ndef get_unstructured(value):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n \n unstructured=UnstructuredTokenList()\n while value:\n if value[0]in WSP:\n token,value=get_fws(value)\n unstructured.append(token)\n continue\n valid_ew=True\n if value.startswith('=?'):\n try:\n token,value=get_encoded_word(value)\n except _InvalidEwError:\n valid_ew=False\n except errors.HeaderParseError:\n \n \n pass\n else:\n have_ws=True\n if len(unstructured)>0:\n if unstructured[-1].token_type !='fws':\n unstructured.defects.append(errors.InvalidHeaderDefect(\n \"missing whitespace before encoded word\"))\n have_ws=False\n if have_ws and len(unstructured)>1:\n if unstructured[-2].token_type =='encoded-word':\n unstructured[-1]=EWWhiteSpaceTerminal(\n unstructured[-1],'fws')\n unstructured.append(token)\n continue\n tok,*remainder=_wsp_splitter(value,1)\n \n \n \n \n \n \n if valid_ew and rfc2047_matcher.search(tok):\n tok,*remainder=value.partition('=?')\n vtext=ValueTerminal(tok,'vtext')\n _validate_xtext(vtext)\n unstructured.append(vtext)\n value=''.join(remainder)\n return unstructured\n \ndef get_qp_ctext(value):\n ''\n\n\n\n\n\n\n\n\n\n \n ptext,value,_=_get_ptext_to_endchars(value,'()')\n ptext=WhiteSpaceTerminal(ptext,'ptext')\n _validate_xtext(ptext)\n return ptext,value\n \ndef get_qcontent(value):\n ''\n\n\n\n\n\n\n\n \n ptext,value,_=_get_ptext_to_endchars(value,'\"')\n ptext=ValueTerminal(ptext,'ptext')\n _validate_xtext(ptext)\n return ptext,value\n \ndef get_atext(value):\n ''\n\n\n\n \n m=_non_atom_end_matcher(value)\n if not m:\n raise errors.HeaderParseError(\n \"expected atext but found '{}'\".format(value))\n atext=m.group()\n value=value[len(atext):]\n atext=ValueTerminal(atext,'atext')\n _validate_xtext(atext)\n return atext,value\n \ndef get_bare_quoted_string(value):\n ''\n\n\n\n\n \n if value[0]!='\"':\n raise errors.HeaderParseError(\n \"expected '\\\"' but found '{}'\".format(value))\n bare_quoted_string=BareQuotedString()\n value=value[1:]\n if value and value[0]=='\"':\n token,value=get_qcontent(value)\n bare_quoted_string.append(token)\n while value and value[0]!='\"':\n if value[0]in WSP:\n token,value=get_fws(value)\n elif value[:2]=='=?':\n valid_ew=False\n try:\n token,value=get_encoded_word(value)\n bare_quoted_string.defects.append(errors.InvalidHeaderDefect(\n \"encoded word inside quoted string\"))\n valid_ew=True\n except errors.HeaderParseError:\n token,value=get_qcontent(value)\n \n \n if valid_ew and len(bare_quoted_string)>1:\n if(bare_quoted_string[-1].token_type =='fws'and\n bare_quoted_string[-2].token_type =='encoded-word'):\n bare_quoted_string[-1]=EWWhiteSpaceTerminal(\n bare_quoted_string[-1],'fws')\n else:\n token,value=get_qcontent(value)\n bare_quoted_string.append(token)\n if not value:\n bare_quoted_string.defects.append(errors.InvalidHeaderDefect(\n \"end of header inside quoted string\"))\n return bare_quoted_string,value\n return bare_quoted_string,value[1:]\n \ndef get_comment(value):\n ''\n\n\n\n \n if value and value[0]!='(':\n raise errors.HeaderParseError(\n \"expected '(' but found '{}'\".format(value))\n comment=Comment()\n value=value[1:]\n while value and value[0]!=\")\":\n if value[0]in WSP:\n token,value=get_fws(value)\n elif value[0]=='(':\n token,value=get_comment(value)\n else:\n token,value=get_qp_ctext(value)\n comment.append(token)\n if not value:\n comment.defects.append(errors.InvalidHeaderDefect(\n \"end of header inside comment\"))\n return comment,value\n return comment,value[1:]\n \ndef get_cfws(value):\n ''\n\n \n cfws=CFWSList()\n while value and value[0]in CFWS_LEADER:\n if value[0]in WSP:\n token,value=get_fws(value)\n else:\n token,value=get_comment(value)\n cfws.append(token)\n return cfws,value\n \ndef get_quoted_string(value):\n ''\n\n\n\n\n \n quoted_string=QuotedString()\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n quoted_string.append(token)\n token,value=get_bare_quoted_string(value)\n quoted_string.append(token)\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n quoted_string.append(token)\n return quoted_string,value\n \ndef get_atom(value):\n ''\n\n\n \n atom=Atom()\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n atom.append(token)\n if value and value[0]in ATOM_ENDS:\n raise errors.HeaderParseError(\n \"expected atom but found '{}'\".format(value))\n if value.startswith('=?'):\n try:\n token,value=get_encoded_word(value)\n except errors.HeaderParseError:\n \n \n token,value=get_atext(value)\n else:\n token,value=get_atext(value)\n atom.append(token)\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n atom.append(token)\n return atom,value\n \ndef get_dot_atom_text(value):\n ''\n\n \n dot_atom_text=DotAtomText()\n if not value or value[0]in ATOM_ENDS:\n raise errors.HeaderParseError(\"expected atom at a start of \"\n \"dot-atom-text but found '{}'\".format(value))\n while value and value[0]not in ATOM_ENDS:\n token,value=get_atext(value)\n dot_atom_text.append(token)\n if value and value[0]=='.':\n dot_atom_text.append(DOT)\n value=value[1:]\n if dot_atom_text[-1]is DOT:\n raise errors.HeaderParseError(\"expected atom at end of dot-atom-text \"\n \"but found '{}'\".format('.'+value))\n return dot_atom_text,value\n \ndef get_dot_atom(value):\n ''\n\n\n\n \n dot_atom=DotAtom()\n if value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n dot_atom.append(token)\n if value.startswith('=?'):\n try:\n token,value=get_encoded_word(value)\n except errors.HeaderParseError:\n \n \n token,value=get_dot_atom_text(value)\n else:\n token,value=get_dot_atom_text(value)\n dot_atom.append(token)\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n dot_atom.append(token)\n return dot_atom,value\n \ndef get_word(value):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n if value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n else:\n leader=None\n if not value:\n raise errors.HeaderParseError(\n \"Expected 'atom' or 'quoted-string' but found nothing.\")\n if value[0]=='\"':\n token,value=get_quoted_string(value)\n elif value[0]in SPECIALS:\n raise errors.HeaderParseError(\"Expected 'atom' or 'quoted-string' \"\n \"but found '{}'\".format(value))\n else:\n token,value=get_atom(value)\n if leader is not None:\n token[:0]=[leader]\n return token,value\n \ndef get_phrase(value):\n ''\n\n\n\n\n\n\n\n\n\n \n phrase=Phrase()\n try:\n token,value=get_word(value)\n phrase.append(token)\n except errors.HeaderParseError:\n phrase.defects.append(errors.InvalidHeaderDefect(\n \"phrase does not start with word\"))\n while value and value[0]not in PHRASE_ENDS:\n if value[0]=='.':\n phrase.append(DOT)\n phrase.defects.append(errors.ObsoleteHeaderDefect(\n \"period in 'phrase'\"))\n value=value[1:]\n else:\n try:\n token,value=get_word(value)\n except errors.HeaderParseError:\n if value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n phrase.defects.append(errors.ObsoleteHeaderDefect(\n \"comment found without atom\"))\n else:\n raise\n phrase.append(token)\n return phrase,value\n \ndef get_local_part(value):\n ''\n\n \n local_part=LocalPart()\n leader=None\n if value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n if not value:\n raise errors.HeaderParseError(\n \"expected local-part but found '{}'\".format(value))\n try:\n token,value=get_dot_atom(value)\n except errors.HeaderParseError:\n try:\n token,value=get_word(value)\n except errors.HeaderParseError:\n if value[0]!='\\\\'and value[0]in PHRASE_ENDS:\n raise\n token=TokenList()\n if leader is not None:\n token[:0]=[leader]\n local_part.append(token)\n if value and(value[0]=='\\\\'or value[0]not in PHRASE_ENDS):\n obs_local_part,value=get_obs_local_part(str(local_part)+value)\n if obs_local_part.token_type =='invalid-obs-local-part':\n local_part.defects.append(errors.InvalidHeaderDefect(\n \"local-part is not dot-atom, quoted-string, or obs-local-part\"))\n else:\n local_part.defects.append(errors.ObsoleteHeaderDefect(\n \"local-part is not a dot-atom (contains CFWS)\"))\n local_part[0]=obs_local_part\n try:\n local_part.value.encode('ascii')\n except UnicodeEncodeError:\n local_part.defects.append(errors.NonASCIILocalPartDefect(\n \"local-part contains non-ASCII characters)\"))\n return local_part,value\n \ndef get_obs_local_part(value):\n ''\n \n obs_local_part=ObsLocalPart()\n last_non_ws_was_dot=False\n while value and(value[0]=='\\\\'or value[0]not in PHRASE_ENDS):\n if value[0]=='.':\n if last_non_ws_was_dot:\n obs_local_part.defects.append(errors.InvalidHeaderDefect(\n \"invalid repeated '.'\"))\n obs_local_part.append(DOT)\n last_non_ws_was_dot=True\n value=value[1:]\n continue\n elif value[0]=='\\\\':\n obs_local_part.append(ValueTerminal(value[0],\n 'misplaced-special'))\n value=value[1:]\n obs_local_part.defects.append(errors.InvalidHeaderDefect(\n \"'\\\\' character outside of quoted-string/ccontent\"))\n last_non_ws_was_dot=False\n continue\n if obs_local_part and obs_local_part[-1].token_type !='dot':\n obs_local_part.defects.append(errors.InvalidHeaderDefect(\n \"missing '.' between words\"))\n try:\n token,value=get_word(value)\n last_non_ws_was_dot=False\n except errors.HeaderParseError:\n if value[0]not in CFWS_LEADER:\n raise\n token,value=get_cfws(value)\n obs_local_part.append(token)\n if(obs_local_part[0].token_type =='dot'or\n obs_local_part[0].token_type =='cfws'and\n obs_local_part[1].token_type =='dot'):\n obs_local_part.defects.append(errors.InvalidHeaderDefect(\n \"Invalid leading '.' in local part\"))\n if(obs_local_part[-1].token_type =='dot'or\n obs_local_part[-1].token_type =='cfws'and\n obs_local_part[-2].token_type =='dot'):\n obs_local_part.defects.append(errors.InvalidHeaderDefect(\n \"Invalid trailing '.' in local part\"))\n if obs_local_part.defects:\n obs_local_part.token_type='invalid-obs-local-part'\n return obs_local_part,value\n \ndef get_dtext(value):\n ''\n\n\n\n\n\n\n\n\n\n \n ptext,value,had_qp=_get_ptext_to_endchars(value,'[]')\n ptext=ValueTerminal(ptext,'ptext')\n if had_qp:\n ptext.defects.append(errors.ObsoleteHeaderDefect(\n \"quoted printable found in domain-literal\"))\n _validate_xtext(ptext)\n return ptext,value\n \ndef _check_for_early_dl_end(value,domain_literal):\n if value:\n return False\n domain_literal.append(errors.InvalidHeaderDefect(\n \"end of input inside domain-literal\"))\n domain_literal.append(ValueTerminal(']','domain-literal-end'))\n return True\n \ndef get_domain_literal(value):\n ''\n\n \n domain_literal=DomainLiteral()\n if value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n domain_literal.append(token)\n if not value:\n raise errors.HeaderParseError(\"expected domain-literal\")\n if value[0]!='[':\n raise errors.HeaderParseError(\"expected '[' at start of domain-literal \"\n \"but found '{}'\".format(value))\n value=value[1:]\n if _check_for_early_dl_end(value,domain_literal):\n return domain_literal,value\n domain_literal.append(ValueTerminal('[','domain-literal-start'))\n if value[0]in WSP:\n token,value=get_fws(value)\n domain_literal.append(token)\n token,value=get_dtext(value)\n domain_literal.append(token)\n if _check_for_early_dl_end(value,domain_literal):\n return domain_literal,value\n if value[0]in WSP:\n token,value=get_fws(value)\n domain_literal.append(token)\n if _check_for_early_dl_end(value,domain_literal):\n return domain_literal,value\n if value[0]!=']':\n raise errors.HeaderParseError(\"expected ']' at end of domain-literal \"\n \"but found '{}'\".format(value))\n domain_literal.append(ValueTerminal(']','domain-literal-end'))\n value=value[1:]\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n domain_literal.append(token)\n return domain_literal,value\n \ndef get_domain(value):\n ''\n\n\n \n domain=Domain()\n leader=None\n if value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n if not value:\n raise errors.HeaderParseError(\n \"expected domain but found '{}'\".format(value))\n if value[0]=='[':\n token,value=get_domain_literal(value)\n if leader is not None:\n token[:0]=[leader]\n domain.append(token)\n return domain,value\n try:\n token,value=get_dot_atom(value)\n except errors.HeaderParseError:\n token,value=get_atom(value)\n if value and value[0]=='@':\n raise errors.HeaderParseError('Invalid Domain')\n if leader is not None:\n token[:0]=[leader]\n domain.append(token)\n if value and value[0]=='.':\n domain.defects.append(errors.ObsoleteHeaderDefect(\n \"domain is not a dot-atom (contains CFWS)\"))\n if domain[0].token_type =='dot-atom':\n domain[:]=domain[0]\n while value and value[0]=='.':\n domain.append(DOT)\n token,value=get_atom(value[1:])\n domain.append(token)\n return domain,value\n \ndef get_addr_spec(value):\n ''\n\n \n addr_spec=AddrSpec()\n token,value=get_local_part(value)\n addr_spec.append(token)\n if not value or value[0]!='@':\n addr_spec.defects.append(errors.InvalidHeaderDefect(\n \"addr-spec local part with no domain\"))\n return addr_spec,value\n addr_spec.append(ValueTerminal('@','address-at-symbol'))\n token,value=get_domain(value[1:])\n addr_spec.append(token)\n return addr_spec,value\n \ndef get_obs_route(value):\n ''\n\n\n\n\n \n obs_route=ObsRoute()\n while value and(value[0]==','or value[0]in CFWS_LEADER):\n if value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n obs_route.append(token)\n elif value[0]==',':\n obs_route.append(ListSeparator)\n value=value[1:]\n if not value or value[0]!='@':\n raise errors.HeaderParseError(\n \"expected obs-route domain but found '{}'\".format(value))\n obs_route.append(RouteComponentMarker)\n token,value=get_domain(value[1:])\n obs_route.append(token)\n while value and value[0]==',':\n obs_route.append(ListSeparator)\n value=value[1:]\n if not value:\n break\n if value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n obs_route.append(token)\n if value[0]=='@':\n obs_route.append(RouteComponentMarker)\n token,value=get_domain(value[1:])\n obs_route.append(token)\n if not value:\n raise errors.HeaderParseError(\"end of header while parsing obs-route\")\n if value[0]!=':':\n raise errors.HeaderParseError(\"expected ':' marking end of \"\n \"obs-route but found '{}'\".format(value))\n obs_route.append(ValueTerminal(':','end-of-obs-route-marker'))\n return obs_route,value[1:]\n \ndef get_angle_addr(value):\n ''\n\n\n \n angle_addr=AngleAddr()\n if value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n angle_addr.append(token)\n if not value or value[0]!='<':\n raise errors.HeaderParseError(\n \"expected angle-addr but found '{}'\".format(value))\n angle_addr.append(ValueTerminal('<','angle-addr-start'))\n value=value[1:]\n \n \n if value[0]=='>':\n angle_addr.append(ValueTerminal('>','angle-addr-end'))\n angle_addr.defects.append(errors.InvalidHeaderDefect(\n \"null addr-spec in angle-addr\"))\n value=value[1:]\n return angle_addr,value\n try:\n token,value=get_addr_spec(value)\n except errors.HeaderParseError:\n try:\n token,value=get_obs_route(value)\n angle_addr.defects.append(errors.ObsoleteHeaderDefect(\n \"obsolete route specification in angle-addr\"))\n except errors.HeaderParseError:\n raise errors.HeaderParseError(\n \"expected addr-spec or obs-route but found '{}'\".format(value))\n angle_addr.append(token)\n token,value=get_addr_spec(value)\n angle_addr.append(token)\n if value and value[0]=='>':\n value=value[1:]\n else:\n angle_addr.defects.append(errors.InvalidHeaderDefect(\n \"missing trailing '>' on angle-addr\"))\n angle_addr.append(ValueTerminal('>','angle-addr-end'))\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n angle_addr.append(token)\n return angle_addr,value\n \ndef get_display_name(value):\n ''\n\n\n\n\n\n \n display_name=DisplayName()\n token,value=get_phrase(value)\n display_name.extend(token[:])\n display_name.defects=token.defects[:]\n return display_name,value\n \n \ndef get_name_addr(value):\n ''\n\n \n name_addr=NameAddr()\n \n leader=None\n if value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n if not value:\n raise errors.HeaderParseError(\n \"expected name-addr but found '{}'\".format(leader))\n if value[0]!='<':\n if value[0]in PHRASE_ENDS:\n raise errors.HeaderParseError(\n \"expected name-addr but found '{}'\".format(value))\n token,value=get_display_name(value)\n if not value:\n raise errors.HeaderParseError(\n \"expected name-addr but found '{}'\".format(token))\n if leader is not None:\n token[0][:0]=[leader]\n leader=None\n name_addr.append(token)\n token,value=get_angle_addr(value)\n if leader is not None:\n token[:0]=[leader]\n name_addr.append(token)\n return name_addr,value\n \ndef get_mailbox(value):\n ''\n\n \n \n \n mailbox=Mailbox()\n try:\n token,value=get_name_addr(value)\n except errors.HeaderParseError:\n try:\n token,value=get_addr_spec(value)\n except errors.HeaderParseError:\n raise errors.HeaderParseError(\n \"expected mailbox but found '{}'\".format(value))\n if any(isinstance(x,errors.InvalidHeaderDefect)\n for x in token.all_defects):\n mailbox.token_type='invalid-mailbox'\n mailbox.append(token)\n return mailbox,value\n \ndef get_invalid_mailbox(value,endchars):\n ''\n\n\n\n\n \n invalid_mailbox=InvalidMailbox()\n while value and value[0]not in endchars:\n if value[0]in PHRASE_ENDS:\n invalid_mailbox.append(ValueTerminal(value[0],\n 'misplaced-special'))\n value=value[1:]\n else:\n token,value=get_phrase(value)\n invalid_mailbox.append(token)\n return invalid_mailbox,value\n \ndef get_mailbox_list(value):\n ''\n\n\n\n\n\n\n\n\n\n \n mailbox_list=MailboxList()\n while value and value[0]!=';':\n try:\n token,value=get_mailbox(value)\n mailbox_list.append(token)\n except errors.HeaderParseError:\n leader=None\n if value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n if not value or value[0]in ',;':\n mailbox_list.append(leader)\n mailbox_list.defects.append(errors.ObsoleteHeaderDefect(\n \"empty element in mailbox-list\"))\n else:\n token,value=get_invalid_mailbox(value,',;')\n if leader is not None:\n token[:0]=[leader]\n mailbox_list.append(token)\n mailbox_list.defects.append(errors.InvalidHeaderDefect(\n \"invalid mailbox in mailbox-list\"))\n elif value[0]==',':\n mailbox_list.defects.append(errors.ObsoleteHeaderDefect(\n \"empty element in mailbox-list\"))\n else:\n token,value=get_invalid_mailbox(value,',;')\n if leader is not None:\n token[:0]=[leader]\n mailbox_list.append(token)\n mailbox_list.defects.append(errors.InvalidHeaderDefect(\n \"invalid mailbox in mailbox-list\"))\n if value and value[0]not in ',;':\n \n \n mailbox=mailbox_list[-1]\n mailbox.token_type='invalid-mailbox'\n token,value=get_invalid_mailbox(value,',;')\n mailbox.extend(token)\n mailbox_list.defects.append(errors.InvalidHeaderDefect(\n \"invalid mailbox in mailbox-list\"))\n if value and value[0]==',':\n mailbox_list.append(ListSeparator)\n value=value[1:]\n return mailbox_list,value\n \n \ndef get_group_list(value):\n ''\n\n\n \n group_list=GroupList()\n if not value:\n group_list.defects.append(errors.InvalidHeaderDefect(\n \"end of header before group-list\"))\n return group_list,value\n leader=None\n if value and value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n if not value:\n \n \n \n group_list.defects.append(errors.InvalidHeaderDefect(\n \"end of header in group-list\"))\n group_list.append(leader)\n return group_list,value\n if value[0]==';':\n group_list.append(leader)\n return group_list,value\n token,value=get_mailbox_list(value)\n if len(token.all_mailboxes)==0:\n if leader is not None:\n group_list.append(leader)\n group_list.extend(token)\n group_list.defects.append(errors.ObsoleteHeaderDefect(\n \"group-list with empty entries\"))\n return group_list,value\n if leader is not None:\n token[:0]=[leader]\n group_list.append(token)\n return group_list,value\n \ndef get_group(value):\n ''\n\n \n group=Group()\n token,value=get_display_name(value)\n if not value or value[0]!=':':\n raise errors.HeaderParseError(\"expected ':' at end of group \"\n \"display name but found '{}'\".format(value))\n group.append(token)\n group.append(ValueTerminal(':','group-display-name-terminator'))\n value=value[1:]\n if value and value[0]==';':\n group.append(ValueTerminal(';','group-terminator'))\n return group,value[1:]\n token,value=get_group_list(value)\n group.append(token)\n if not value:\n group.defects.append(errors.InvalidHeaderDefect(\n \"end of header in group\"))\n elif value[0]!=';':\n raise errors.HeaderParseError(\n \"expected ';' at end of group but found {}\".format(value))\n group.append(ValueTerminal(';','group-terminator'))\n value=value[1:]\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n group.append(token)\n return group,value\n \ndef get_address(value):\n ''\n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n address=Address()\n try:\n token,value=get_group(value)\n except errors.HeaderParseError:\n try:\n token,value=get_mailbox(value)\n except errors.HeaderParseError:\n raise errors.HeaderParseError(\n \"expected address but found '{}'\".format(value))\n address.append(token)\n return address,value\n \ndef get_address_list(value):\n ''\n\n\n\n\n\n\n\n \n address_list=AddressList()\n while value:\n try:\n token,value=get_address(value)\n address_list.append(token)\n except errors.HeaderParseError:\n leader=None\n if value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n if not value or value[0]==',':\n address_list.append(leader)\n address_list.defects.append(errors.ObsoleteHeaderDefect(\n \"address-list entry with no content\"))\n else:\n token,value=get_invalid_mailbox(value,',')\n if leader is not None:\n token[:0]=[leader]\n address_list.append(Address([token]))\n address_list.defects.append(errors.InvalidHeaderDefect(\n \"invalid address in address-list\"))\n elif value[0]==',':\n address_list.defects.append(errors.ObsoleteHeaderDefect(\n \"empty element in address-list\"))\n else:\n token,value=get_invalid_mailbox(value,',')\n if leader is not None:\n token[:0]=[leader]\n address_list.append(Address([token]))\n address_list.defects.append(errors.InvalidHeaderDefect(\n \"invalid address in address-list\"))\n if value and value[0]!=',':\n \n \n mailbox=address_list[-1][0]\n mailbox.token_type='invalid-mailbox'\n token,value=get_invalid_mailbox(value,',')\n mailbox.extend(token)\n address_list.defects.append(errors.InvalidHeaderDefect(\n \"invalid address in address-list\"))\n if value:\n address_list.append(ValueTerminal(',','list-separator'))\n value=value[1:]\n return address_list,value\n \n \ndef get_no_fold_literal(value):\n ''\n \n no_fold_literal=NoFoldLiteral()\n if not value:\n raise errors.HeaderParseError(\n \"expected no-fold-literal but found '{}'\".format(value))\n if value[0]!='[':\n raise errors.HeaderParseError(\n \"expected '[' at the start of no-fold-literal \"\n \"but found '{}'\".format(value))\n no_fold_literal.append(ValueTerminal('[','no-fold-literal-start'))\n value=value[1:]\n token,value=get_dtext(value)\n no_fold_literal.append(token)\n if not value or value[0]!=']':\n raise errors.HeaderParseError(\n \"expected ']' at the end of no-fold-literal \"\n \"but found '{}'\".format(value))\n no_fold_literal.append(ValueTerminal(']','no-fold-literal-end'))\n return no_fold_literal,value[1:]\n \ndef get_msg_id(value):\n ''\n\n\n\n \n msg_id=MsgID()\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n msg_id.append(token)\n if not value or value[0]!='<':\n raise errors.HeaderParseError(\n \"expected msg-id but found '{}'\".format(value))\n msg_id.append(ValueTerminal('<','msg-id-start'))\n value=value[1:]\n \n try:\n token,value=get_dot_atom_text(value)\n except errors.HeaderParseError:\n try:\n \n token,value=get_obs_local_part(value)\n msg_id.defects.append(errors.ObsoleteHeaderDefect(\n \"obsolete id-left in msg-id\"))\n except errors.HeaderParseError:\n raise errors.HeaderParseError(\n \"expected dot-atom-text or obs-id-left\"\n \" but found '{}'\".format(value))\n msg_id.append(token)\n if not value or value[0]!='@':\n msg_id.defects.append(errors.InvalidHeaderDefect(\n \"msg-id with no id-right\"))\n \n \n \n if value and value[0]=='>':\n msg_id.append(ValueTerminal('>','msg-id-end'))\n value=value[1:]\n return msg_id,value\n msg_id.append(ValueTerminal('@','address-at-symbol'))\n value=value[1:]\n \n try:\n token,value=get_dot_atom_text(value)\n except errors.HeaderParseError:\n try:\n token,value=get_no_fold_literal(value)\n except errors.HeaderParseError:\n try:\n token,value=get_domain(value)\n msg_id.defects.append(errors.ObsoleteHeaderDefect(\n \"obsolete id-right in msg-id\"))\n except errors.HeaderParseError:\n raise errors.HeaderParseError(\n \"expected dot-atom-text, no-fold-literal or obs-id-right\"\n \" but found '{}'\".format(value))\n msg_id.append(token)\n if value and value[0]=='>':\n value=value[1:]\n else:\n msg_id.defects.append(errors.InvalidHeaderDefect(\n \"missing trailing '>' on msg-id\"))\n msg_id.append(ValueTerminal('>','msg-id-end'))\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n msg_id.append(token)\n return msg_id,value\n \n \ndef parse_message_id(value):\n ''\n \n message_id=MessageID()\n try:\n token,value=get_msg_id(value)\n message_id.append(token)\n except errors.HeaderParseError as ex:\n token=get_unstructured(value)\n message_id=InvalidMessageID(token)\n message_id.defects.append(\n errors.InvalidHeaderDefect(\"Invalid msg-id: {!r}\".format(ex)))\n else:\n \n if value:\n message_id.defects.append(errors.InvalidHeaderDefect(\n \"Unexpected {!r}\".format(value)))\n \n return message_id\n \n \n \n \n \n \n \n \n \ndef parse_mime_version(value):\n ''\n\n \n \n \n mime_version=MIMEVersion()\n if not value:\n mime_version.defects.append(errors.HeaderMissingRequiredValue(\n \"Missing MIME version number (eg: 1.0)\"))\n return mime_version\n if value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n mime_version.append(token)\n if not value:\n mime_version.defects.append(errors.HeaderMissingRequiredValue(\n \"Expected MIME version number but found only CFWS\"))\n digits=''\n while value and value[0]!='.'and value[0]not in CFWS_LEADER:\n digits +=value[0]\n value=value[1:]\n if not digits.isdigit():\n mime_version.defects.append(errors.InvalidHeaderDefect(\n \"Expected MIME major version number but found {!r}\".format(digits)))\n mime_version.append(ValueTerminal(digits,'xtext'))\n else:\n mime_version.major=int(digits)\n mime_version.append(ValueTerminal(digits,'digits'))\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n mime_version.append(token)\n if not value or value[0]!='.':\n if mime_version.major is not None:\n mime_version.defects.append(errors.InvalidHeaderDefect(\n \"Incomplete MIME version; found only major number\"))\n if value:\n mime_version.append(ValueTerminal(value,'xtext'))\n return mime_version\n mime_version.append(ValueTerminal('.','version-separator'))\n value=value[1:]\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n mime_version.append(token)\n if not value:\n if mime_version.major is not None:\n mime_version.defects.append(errors.InvalidHeaderDefect(\n \"Incomplete MIME version; found only major number\"))\n return mime_version\n digits=''\n while value and value[0]not in CFWS_LEADER:\n digits +=value[0]\n value=value[1:]\n if not digits.isdigit():\n mime_version.defects.append(errors.InvalidHeaderDefect(\n \"Expected MIME minor version number but found {!r}\".format(digits)))\n mime_version.append(ValueTerminal(digits,'xtext'))\n else:\n mime_version.minor=int(digits)\n mime_version.append(ValueTerminal(digits,'digits'))\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n mime_version.append(token)\n if value:\n mime_version.defects.append(errors.InvalidHeaderDefect(\n \"Excess non-CFWS text after MIME version\"))\n mime_version.append(ValueTerminal(value,'xtext'))\n return mime_version\n \ndef get_invalid_parameter(value):\n ''\n\n\n\n\n \n invalid_parameter=InvalidParameter()\n while value and value[0]!=';':\n if value[0]in PHRASE_ENDS:\n invalid_parameter.append(ValueTerminal(value[0],\n 'misplaced-special'))\n value=value[1:]\n else:\n token,value=get_phrase(value)\n invalid_parameter.append(token)\n return invalid_parameter,value\n \ndef get_ttext(value):\n ''\n\n\n\n\n\n\n \n m=_non_token_end_matcher(value)\n if not m:\n raise errors.HeaderParseError(\n \"expected ttext but found '{}'\".format(value))\n ttext=m.group()\n value=value[len(ttext):]\n ttext=ValueTerminal(ttext,'ttext')\n _validate_xtext(ttext)\n return ttext,value\n \ndef get_token(value):\n ''\n\n\n\n\n\n\n \n mtoken=Token()\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n mtoken.append(token)\n if value and value[0]in TOKEN_ENDS:\n raise errors.HeaderParseError(\n \"expected token but found '{}'\".format(value))\n token,value=get_ttext(value)\n mtoken.append(token)\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n mtoken.append(token)\n return mtoken,value\n \ndef get_attrtext(value):\n ''\n\n\n\n\n\n\n \n m=_non_attribute_end_matcher(value)\n if not m:\n raise errors.HeaderParseError(\n \"expected attrtext but found {!r}\".format(value))\n attrtext=m.group()\n value=value[len(attrtext):]\n attrtext=ValueTerminal(attrtext,'attrtext')\n _validate_xtext(attrtext)\n return attrtext,value\n \ndef get_attribute(value):\n ''\n\n\n\n\n\n\n \n attribute=Attribute()\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n attribute.append(token)\n if value and value[0]in ATTRIBUTE_ENDS:\n raise errors.HeaderParseError(\n \"expected token but found '{}'\".format(value))\n token,value=get_attrtext(value)\n attribute.append(token)\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n attribute.append(token)\n return attribute,value\n \ndef get_extended_attrtext(value):\n ''\n\n\n\n\n\n \n m=_non_extended_attribute_end_matcher(value)\n if not m:\n raise errors.HeaderParseError(\n \"expected extended attrtext but found {!r}\".format(value))\n attrtext=m.group()\n value=value[len(attrtext):]\n attrtext=ValueTerminal(attrtext,'extended-attrtext')\n _validate_xtext(attrtext)\n return attrtext,value\n \ndef get_extended_attribute(value):\n ''\n\n\n\n\n \n \n attribute=Attribute()\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n attribute.append(token)\n if value and value[0]in EXTENDED_ATTRIBUTE_ENDS:\n raise errors.HeaderParseError(\n \"expected token but found '{}'\".format(value))\n token,value=get_extended_attrtext(value)\n attribute.append(token)\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n attribute.append(token)\n return attribute,value\n \ndef get_section(value):\n ''\n\n\n\n\n\n\n \n section=Section()\n if not value or value[0]!='*':\n raise errors.HeaderParseError(\"Expected section but found {}\".format(\n value))\n section.append(ValueTerminal('*','section-marker'))\n value=value[1:]\n if not value or not value[0].isdigit():\n raise errors.HeaderParseError(\"Expected section number but \"\n \"found {}\".format(value))\n digits=''\n while value and value[0].isdigit():\n digits +=value[0]\n value=value[1:]\n if digits[0]=='0'and digits !='0':\n section.defects.append(errors.InvalidHeaderDefect(\n \"section number has an invalid leading 0\"))\n section.number=int(digits)\n section.append(ValueTerminal(digits,'digits'))\n return section,value\n \n \ndef get_value(value):\n ''\n\n \n v=Value()\n if not value:\n raise errors.HeaderParseError(\"Expected value but found end of string\")\n leader=None\n if value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n if not value:\n raise errors.HeaderParseError(\"Expected value but found \"\n \"only {}\".format(leader))\n if value[0]=='\"':\n token,value=get_quoted_string(value)\n else:\n token,value=get_extended_attribute(value)\n if leader is not None:\n token[:0]=[leader]\n v.append(token)\n return v,value\n \ndef get_parameter(value):\n ''\n\n\n\n\n\n \n \n \n \n param=Parameter()\n token,value=get_attribute(value)\n param.append(token)\n if not value or value[0]==';':\n param.defects.append(errors.InvalidHeaderDefect(\"Parameter contains \"\n \"name ({}) but no value\".format(token)))\n return param,value\n if value[0]=='*':\n try:\n token,value=get_section(value)\n param.sectioned=True\n param.append(token)\n except errors.HeaderParseError:\n pass\n if not value:\n raise errors.HeaderParseError(\"Incomplete parameter\")\n if value[0]=='*':\n param.append(ValueTerminal('*','extended-parameter-marker'))\n value=value[1:]\n param.extended=True\n if value[0]!='=':\n raise errors.HeaderParseError(\"Parameter not followed by '='\")\n param.append(ValueTerminal('=','parameter-separator'))\n value=value[1:]\n if value and value[0]in CFWS_LEADER:\n token,value=get_cfws(value)\n param.append(token)\n remainder=None\n appendto=param\n if param.extended and value and value[0]=='\"':\n \n \n \n qstring,remainder=get_quoted_string(value)\n inner_value=qstring.stripped_value\n semi_valid=False\n if param.section_number ==0:\n if inner_value and inner_value[0]==\"'\":\n semi_valid=True\n else:\n token,rest=get_attrtext(inner_value)\n if rest and rest[0]==\"'\":\n semi_valid=True\n else:\n try:\n token,rest=get_extended_attrtext(inner_value)\n except:\n pass\n else:\n if not rest:\n semi_valid=True\n if semi_valid:\n param.defects.append(errors.InvalidHeaderDefect(\n \"Quoted string value for extended parameter is invalid\"))\n param.append(qstring)\n for t in qstring:\n if t.token_type =='bare-quoted-string':\n t[:]=[]\n appendto=t\n break\n value=inner_value\n else:\n remainder=None\n param.defects.append(errors.InvalidHeaderDefect(\n \"Parameter marked as extended but appears to have a \"\n \"quoted string value that is non-encoded\"))\n if value and value[0]==\"'\":\n token=None\n else:\n token,value=get_value(value)\n if not param.extended or param.section_number >0:\n if not value or value[0]!=\"'\":\n appendto.append(token)\n if remainder is not None:\n assert not value,value\n value=remainder\n return param,value\n param.defects.append(errors.InvalidHeaderDefect(\n \"Apparent initial-extended-value but attribute \"\n \"was not marked as extended or was not initial section\"))\n if not value:\n \n param.defects.append(errors.InvalidHeaderDefect(\n \"Missing required charset/lang delimiters\"))\n appendto.append(token)\n if remainder is None:\n return param,value\n else:\n if token is not None:\n for t in token:\n if t.token_type =='extended-attrtext':\n break\n t.token_type =='attrtext'\n appendto.append(t)\n param.charset=t.value\n if value[0]!=\"'\":\n raise errors.HeaderParseError(\"Expected RFC2231 char/lang encoding \"\n \"delimiter, but found {!r}\".format(value))\n appendto.append(ValueTerminal(\"'\",'RFC2231-delimiter'))\n value=value[1:]\n if value and value[0]!=\"'\":\n token,value=get_attrtext(value)\n appendto.append(token)\n param.lang=token.value\n if not value or value[0]!=\"'\":\n raise errors.HeaderParseError(\"Expected RFC2231 char/lang encoding \"\n \"delimiter, but found {}\".format(value))\n appendto.append(ValueTerminal(\"'\",'RFC2231-delimiter'))\n value=value[1:]\n if remainder is not None:\n \n v=Value()\n while value:\n if value[0]in WSP:\n token,value=get_fws(value)\n elif value[0]=='\"':\n token=ValueTerminal('\"','DQUOTE')\n value=value[1:]\n else:\n token,value=get_qcontent(value)\n v.append(token)\n token=v\n else:\n token,value=get_value(value)\n appendto.append(token)\n if remainder is not None:\n assert not value,value\n value=remainder\n return param,value\n \ndef parse_mime_parameters(value):\n ''\n\n\n\n\n\n\n\n\n\n\n \n mime_parameters=MimeParameters()\n while value:\n try:\n token,value=get_parameter(value)\n mime_parameters.append(token)\n except errors.HeaderParseError:\n leader=None\n if value[0]in CFWS_LEADER:\n leader,value=get_cfws(value)\n if not value:\n mime_parameters.append(leader)\n return mime_parameters\n if value[0]==';':\n if leader is not None:\n mime_parameters.append(leader)\n mime_parameters.defects.append(errors.InvalidHeaderDefect(\n \"parameter entry with no content\"))\n else:\n token,value=get_invalid_parameter(value)\n if leader:\n token[:0]=[leader]\n mime_parameters.append(token)\n mime_parameters.defects.append(errors.InvalidHeaderDefect(\n \"invalid parameter {!r}\".format(token)))\n if value and value[0]!=';':\n \n \n param=mime_parameters[-1]\n param.token_type='invalid-parameter'\n token,value=get_invalid_parameter(value)\n param.extend(token)\n mime_parameters.defects.append(errors.InvalidHeaderDefect(\n \"parameter with invalid trailing text {!r}\".format(token)))\n if value:\n \n mime_parameters.append(ValueTerminal(';','parameter-separator'))\n value=value[1:]\n return mime_parameters\n \ndef _find_mime_parameters(tokenlist,value):\n ''\n\n \n while value and value[0]!=';':\n if value[0]in PHRASE_ENDS:\n tokenlist.append(ValueTerminal(value[0],'misplaced-special'))\n value=value[1:]\n else:\n token,value=get_phrase(value)\n tokenlist.append(token)\n if not value:\n return\n tokenlist.append(ValueTerminal(';','parameter-separator'))\n tokenlist.append(parse_mime_parameters(value[1:]))\n \ndef parse_content_type_header(value):\n ''\n\n\n\n\n \n ctype=ContentType()\n if not value:\n ctype.defects.append(errors.HeaderMissingRequiredValue(\n \"Missing content type specification\"))\n return ctype\n try:\n token,value=get_token(value)\n except errors.HeaderParseError:\n ctype.defects.append(errors.InvalidHeaderDefect(\n \"Expected content maintype but found {!r}\".format(value)))\n _find_mime_parameters(ctype,value)\n return ctype\n ctype.append(token)\n \n \n if not value or value[0]!='/':\n ctype.defects.append(errors.InvalidHeaderDefect(\n \"Invalid content type\"))\n if value:\n _find_mime_parameters(ctype,value)\n return ctype\n ctype.maintype=token.value.strip().lower()\n ctype.append(ValueTerminal('/','content-type-separator'))\n value=value[1:]\n try:\n token,value=get_token(value)\n except errors.HeaderParseError:\n ctype.defects.append(errors.InvalidHeaderDefect(\n \"Expected content subtype but found {!r}\".format(value)))\n _find_mime_parameters(ctype,value)\n return ctype\n ctype.append(token)\n ctype.subtype=token.value.strip().lower()\n if not value:\n return ctype\n if value[0]!=';':\n ctype.defects.append(errors.InvalidHeaderDefect(\n \"Only parameters are valid after content type, but \"\n \"found {!r}\".format(value)))\n \n \n \n del ctype.maintype,ctype.subtype\n _find_mime_parameters(ctype,value)\n return ctype\n ctype.append(ValueTerminal(';','parameter-separator'))\n ctype.append(parse_mime_parameters(value[1:]))\n return ctype\n \ndef parse_content_disposition_header(value):\n ''\n\n \n disp_header=ContentDisposition()\n if not value:\n disp_header.defects.append(errors.HeaderMissingRequiredValue(\n \"Missing content disposition\"))\n return disp_header\n try:\n token,value=get_token(value)\n except errors.HeaderParseError:\n disp_header.defects.append(errors.InvalidHeaderDefect(\n \"Expected content disposition but found {!r}\".format(value)))\n _find_mime_parameters(disp_header,value)\n return disp_header\n disp_header.append(token)\n disp_header.content_disposition=token.value.strip().lower()\n if not value:\n return disp_header\n if value[0]!=';':\n disp_header.defects.append(errors.InvalidHeaderDefect(\n \"Only parameters are valid after content disposition, but \"\n \"found {!r}\".format(value)))\n _find_mime_parameters(disp_header,value)\n return disp_header\n disp_header.append(ValueTerminal(';','parameter-separator'))\n disp_header.append(parse_mime_parameters(value[1:]))\n return disp_header\n \ndef parse_content_transfer_encoding_header(value):\n ''\n\n \n \n cte_header=ContentTransferEncoding()\n if not value:\n cte_header.defects.append(errors.HeaderMissingRequiredValue(\n \"Missing content transfer encoding\"))\n return cte_header\n try:\n token,value=get_token(value)\n except errors.HeaderParseError:\n cte_header.defects.append(errors.InvalidHeaderDefect(\n \"Expected content transfer encoding but found {!r}\".format(value)))\n else:\n cte_header.append(token)\n cte_header.cte=token.value.strip().lower()\n if not value:\n return cte_header\n while value:\n cte_header.defects.append(errors.InvalidHeaderDefect(\n \"Extra text after content transfer encoding\"))\n if value[0]in PHRASE_ENDS:\n cte_header.append(ValueTerminal(value[0],'misplaced-special'))\n value=value[1:]\n else:\n token,value=get_phrase(value)\n cte_header.append(token)\n return cte_header\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \ndef _steal_trailing_WSP_if_exists(lines):\n wsp=''\n if lines and lines[-1]and lines[-1][-1]in WSP:\n wsp=lines[-1][-1]\n lines[-1]=lines[-1][:-1]\n return wsp\n \ndef _refold_parse_tree(parse_tree,*,policy):\n ''\n\n \n \n maxlen=policy.max_line_length or sys.maxsize\n encoding='utf-8'if policy.utf8 else 'us-ascii'\n lines=['']\n last_ew=None\n wrap_as_ew_blocked=0\n want_encoding=False\n end_ew_not_allowed=Terminal('','wrap_as_ew_blocked')\n parts=list(parse_tree)\n while parts:\n part=parts.pop(0)\n if part is end_ew_not_allowed:\n wrap_as_ew_blocked -=1\n continue\n tstr=str(part)\n if part.token_type =='ptext'and set(tstr)&SPECIALS:\n \n want_encoding=True\n try:\n tstr.encode(encoding)\n charset=encoding\n except UnicodeEncodeError:\n if any(isinstance(x,errors.UndecodableBytesDefect)\n for x in part.all_defects):\n charset='unknown-8bit'\n else:\n \n \n charset='utf-8'\n want_encoding=True\n if part.token_type =='mime-parameters':\n \n _fold_mime_parameters(part,lines,maxlen,encoding)\n continue\n if want_encoding and not wrap_as_ew_blocked:\n if not part.as_ew_allowed:\n want_encoding=False\n last_ew=None\n if part.syntactic_break:\n encoded_part=part.fold(policy=policy)[:-len(policy.linesep)]\n if policy.linesep not in encoded_part:\n \n if len(encoded_part)>maxlen -len(lines[-1]):\n \n newline=_steal_trailing_WSP_if_exists(lines)\n \n lines.append(newline)\n lines[-1]+=encoded_part\n continue\n \n \n \n \n if not hasattr(part,'encode'):\n \n parts=list(part)+parts\n else:\n \n \n last_ew=_fold_as_ew(tstr,lines,maxlen,last_ew,\n part.ew_combine_allowed,charset)\n want_encoding=False\n continue\n if len(tstr)<=maxlen -len(lines[-1]):\n lines[-1]+=tstr\n continue\n \n \n \n if(part.syntactic_break and\n len(tstr)+1 <=maxlen):\n newline=_steal_trailing_WSP_if_exists(lines)\n if newline or part.startswith_fws():\n lines.append(newline+tstr)\n last_ew=None\n continue\n if not hasattr(part,'encode'):\n \n newparts=list(part)\n if not part.as_ew_allowed:\n wrap_as_ew_blocked +=1\n newparts.append(end_ew_not_allowed)\n parts=newparts+parts\n continue\n if part.as_ew_allowed and not wrap_as_ew_blocked:\n \n \n parts.insert(0,part)\n want_encoding=True\n continue\n \n newline=_steal_trailing_WSP_if_exists(lines)\n if newline or part.startswith_fws():\n lines.append(newline+tstr)\n else:\n \n lines[-1]+=tstr\n return policy.linesep.join(lines)+policy.linesep\n \ndef _fold_as_ew(to_encode,lines,maxlen,last_ew,ew_combine_allowed,charset):\n ''\n\n\n\n\n\n\n\n\n \n if last_ew is not None and ew_combine_allowed:\n to_encode=str(\n get_unstructured(lines[-1][last_ew:]+to_encode))\n lines[-1]=lines[-1][:last_ew]\n if to_encode[0]in WSP:\n \n \n leading_wsp=to_encode[0]\n to_encode=to_encode[1:]\n if(len(lines[-1])==maxlen):\n lines.append(_steal_trailing_WSP_if_exists(lines))\n lines[-1]+=leading_wsp\n trailing_wsp=''\n if to_encode[-1]in WSP:\n \n trailing_wsp=to_encode[-1]\n to_encode=to_encode[:-1]\n new_last_ew=len(lines[-1])if last_ew is None else last_ew\n \n encode_as='utf-8'if charset =='us-ascii'else charset\n \n \n \n chrome_len=len(encode_as)+7\n \n if(chrome_len+1)>=maxlen:\n raise errors.HeaderParseError(\n \"max_line_length is too small to fit an encoded word\")\n \n while to_encode:\n remaining_space=maxlen -len(lines[-1])\n text_space=remaining_space -chrome_len\n if text_space <=0:\n lines.append(' ')\n continue\n \n to_encode_word=to_encode[:text_space]\n encoded_word=_ew.encode(to_encode_word,charset=encode_as)\n excess=len(encoded_word)-remaining_space\n while excess >0:\n \n \n to_encode_word=to_encode_word[:-1]\n encoded_word=_ew.encode(to_encode_word,charset=encode_as)\n excess=len(encoded_word)-remaining_space\n lines[-1]+=encoded_word\n to_encode=to_encode[len(to_encode_word):]\n \n if to_encode:\n lines.append(' ')\n new_last_ew=len(lines[-1])\n lines[-1]+=trailing_wsp\n return new_last_ew if ew_combine_allowed else None\n \ndef _fold_mime_parameters(part,lines,maxlen,encoding):\n ''\n\n\n\n\n\n\n \n \n \n \n \n \n \n for name,value in part.params:\n \n \n \n \n \n if not lines[-1].rstrip().endswith(';'):\n lines[-1]+=';'\n charset=encoding\n error_handler='strict'\n try:\n value.encode(encoding)\n encoding_required=False\n except UnicodeEncodeError:\n encoding_required=True\n if utils._has_surrogates(value):\n charset='unknown-8bit'\n error_handler='surrogateescape'\n else:\n charset='utf-8'\n if encoding_required:\n encoded_value=urllib.parse.quote(\n value,safe='',errors=error_handler)\n tstr=\"{}*={}''{}\".format(name,charset,encoded_value)\n else:\n tstr='{}={}'.format(name,quote_string(value))\n if len(lines[-1])+len(tstr)+1 =0:\n data[0]=data[0][i+1:]\n if len(data)==3:\n stuff=data[0].split('-')\n if len(stuff)==3:\n data=stuff+data[1:]\n if len(data)==4:\n s=data[3]\n i=s.find('+')\n if i ==-1:\n i=s.find('-')\n if i >0:\n data[3:]=[s[:i],s[i:]]\n else:\n data.append('')\n if len(data)<5:\n return None\n data=data[:5]\n [dd,mm,yy,tm,tz]=data\n if not(dd and mm and yy):\n return None\n mm=mm.lower()\n if mm not in _monthnames:\n dd,mm=mm,dd.lower()\n if mm not in _monthnames:\n return None\n mm=_monthnames.index(mm)+1\n if mm >12:\n mm -=12\n if dd[-1]==',':\n dd=dd[:-1]\n i=yy.find(':')\n if i >0:\n yy,tm=tm,yy\n if yy[-1]==',':\n yy=yy[:-1]\n if not yy:\n return None\n if not yy[0].isdigit():\n yy,tz=tz,yy\n if tm[-1]==',':\n tm=tm[:-1]\n tm=tm.split(':')\n if len(tm)==2:\n [thh,tmm]=tm\n tss='0'\n elif len(tm)==3:\n [thh,tmm,tss]=tm\n elif len(tm)==1 and '.'in tm[0]:\n \n tm=tm[0].split('.')\n if len(tm)==2:\n [thh,tmm]=tm\n tss=0\n elif len(tm)==3:\n [thh,tmm,tss]=tm\n else:\n return None\n else:\n return None\n try:\n yy=int(yy)\n dd=int(dd)\n thh=int(thh)\n tmm=int(tmm)\n tss=int(tss)\n except ValueError:\n return None\n \n \n \n \n \n if yy <100:\n \n if yy >68:\n yy +=1900\n \n else:\n yy +=2000\n tzoffset=None\n tz=tz.upper()\n if tz in _timezones:\n tzoffset=_timezones[tz]\n else:\n try:\n tzoffset=int(tz)\n except ValueError:\n pass\n if tzoffset ==0 and tz.startswith('-'):\n tzoffset=None\n \n if tzoffset:\n if tzoffset <0:\n tzsign=-1\n tzoffset=-tzoffset\n else:\n tzsign=1\n tzoffset=tzsign *((tzoffset //100)*3600+(tzoffset %100)*60)\n \n return[yy,mm,dd,thh,tmm,tss,0,1,-1,tzoffset]\n \n \ndef parsedate(data):\n ''\n t=parsedate_tz(data)\n if isinstance(t,tuple):\n return t[:9]\n else:\n return t\n \n \ndef mktime_tz(data):\n ''\n if data[9]is None:\n \n return time.mktime(data[:8]+(-1,))\n else:\n t=calendar.timegm(data)\n return t -data[9]\n \n \ndef quote(str):\n ''\n\n\n\n\n \n return str.replace('\\\\','\\\\\\\\').replace('\"','\\\\\"')\n \n \nclass AddrlistClass:\n ''\n\n\n\n\n\n\n \n \n def __init__(self,field):\n ''\n\n\n\n \n self.specials='()<>@,:;.\\\"[]'\n self.pos=0\n self.LWS=' \\t'\n self.CR='\\r\\n'\n self.FWS=self.LWS+self.CR\n self.atomends=self.specials+self.LWS+self.CR\n \n \n \n self.phraseends=self.atomends.replace('.','')\n self.field=field\n self.commentlist=[]\n \n def gotonext(self):\n ''\n wslist=[]\n while self.pos =len(self.field):\n \n if plist:\n returnlist=[(SPACE.join(self.commentlist),plist[0])]\n \n elif self.field[self.pos]in '.@':\n \n \n self.pos=oldpos\n self.commentlist=oldcl\n addrspec=self.getaddrspec()\n returnlist=[(SPACE.join(self.commentlist),addrspec)]\n \n elif self.field[self.pos]==':':\n \n returnlist=[]\n \n fieldlen=len(self.field)\n self.pos +=1\n while self.pos ':\n self.pos +=1\n break\n elif self.field[self.pos]=='@':\n self.pos +=1\n expectroute=True\n elif self.field[self.pos]==':':\n self.pos +=1\n else:\n adlist=self.getaddrspec()\n self.pos +=1\n break\n self.gotonext()\n \n return adlist\n \n def getaddrspec(self):\n ''\n aslist=[]\n \n self.gotonext()\n while self.pos =len(self.field)or self.field[self.pos]!='@':\n return EMPTYSTRING.join(aslist)\n \n aslist.append('@')\n self.pos +=1\n self.gotonext()\n domain=self.getdomain()\n if not domain:\n \n \n return EMPTYSTRING\n return EMPTYSTRING.join(aslist)+domain\n \n def getdomain(self):\n ''\n sdlist=[]\n while self.pos =3 and\\\n h[0]==ord(b'P')and h[1]in b'14'and h[2]in b' \\t\\n\\r':\n return 'pbm'\n \n \n@rule\ndef _pgm(h):\n ''\n if len(h)>=3 and\\\n h[0]==ord(b'P')and h[1]in b'25'and h[2]in b' \\t\\n\\r':\n return 'pgm'\n \n \n@rule\ndef _ppm(h):\n ''\n if len(h)>=3 and\\\n h[0]==ord(b'P')and h[1]in b'36'and h[2]in b' \\t\\n\\r':\n return 'ppm'\n \n \n@rule\ndef _rast(h):\n ''\n if h.startswith(b'\\x59\\xA6\\x6A\\x95'):\n return 'rast'\n \n \n@rule\ndef _xbm(h):\n ''\n if h.startswith(b'#define '):\n return 'xbm'\n \n \n@rule\ndef _bmp(h):\n if h.startswith(b'BM'):\n return 'bmp'\n \n \n@rule\ndef _webp(h):\n if h.startswith(b'RIFF')and h[8:12]==b'WEBP':\n return 'webp'\n \n \n@rule\ndef _exr(h):\n if h.startswith(b'\\x76\\x2f\\x31\\x01'):\n return 'exr'\n",["email","email.encoders","email.mime.nonmultipart"]],"email.mime.message":[".py","\n\n\n\n\"\"\"Class representing message/* MIME documents.\"\"\"\n\n__all__=['MIMEMessage']\n\nfrom email import message\nfrom email.mime.nonmultipart import MIMENonMultipart\n\n\nclass MIMEMessage(MIMENonMultipart):\n ''\n \n def __init__(self,_msg,_subtype='rfc822',*,policy=None):\n ''\n\n\n\n\n\n\n\n \n MIMENonMultipart.__init__(self,'message',_subtype,policy=policy)\n if not isinstance(_msg,message.Message):\n raise TypeError('Argument is not an instance of Message')\n \n \n message.Message.attach(self,_msg)\n \n self.set_default_type('message/rfc822')\n",["email","email.message","email.mime.nonmultipart"]],"email.mime.multipart":[".py","\n\n\n\n\"\"\"Base class for MIME multipart/* type messages.\"\"\"\n\n__all__=['MIMEMultipart']\n\nfrom email.mime.base import MIMEBase\n\n\nclass MIMEMultipart(MIMEBase):\n ''\n \n def __init__(self,_subtype='mixed',boundary=None,_subparts=None,\n *,policy=None,\n **_params):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n MIMEBase.__init__(self,'multipart',_subtype,policy=policy,**_params)\n \n \n \n \n self._payload=[]\n \n if _subparts:\n for p in _subparts:\n self.attach(p)\n if boundary:\n self.set_boundary(boundary)\n",["email.mime.base"]],"email.mime.nonmultipart":[".py","\n\n\n\n\"\"\"Base class for MIME type messages that are not multipart.\"\"\"\n\n__all__=['MIMENonMultipart']\n\nfrom email import errors\nfrom email.mime.base import MIMEBase\n\n\nclass MIMENonMultipart(MIMEBase):\n ''\n \n def attach(self,payload):\n \n \n \n raise errors.MultipartConversionError(\n 'Cannot attach additional subparts to non-multipart/*')\n",["email","email.errors","email.mime.base"]],"email.mime.text":[".py","\n\n\n\n\"\"\"Class representing text/* type MIME documents.\"\"\"\n\n__all__=['MIMEText']\n\nfrom email.mime.nonmultipart import MIMENonMultipart\n\n\nclass MIMEText(MIMENonMultipart):\n ''\n \n def __init__(self,_text,_subtype='plain',_charset=None,*,policy=None):\n ''\n\n\n\n\n\n\n\n\n \n \n \n \n \n if _charset is None:\n try:\n _text.encode('us-ascii')\n _charset='us-ascii'\n except UnicodeEncodeError:\n _charset='utf-8'\n \n MIMENonMultipart.__init__(self,'text',_subtype,policy=policy,\n charset=str(_charset))\n \n self.set_payload(_text,_charset)\n",["email.mime.nonmultipart"]],"email.mime":[".py","",[],1],"encodings.aliases":[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\naliases={\n\n\n\n\n'646':'ascii',\n'ansi_x3.4_1968':'ascii',\n'ansi_x3_4_1968':'ascii',\n'ansi_x3.4_1986':'ascii',\n'cp367':'ascii',\n'csascii':'ascii',\n'ibm367':'ascii',\n'iso646_us':'ascii',\n'iso_646.irv_1991':'ascii',\n'iso_ir_6':'ascii',\n'us':'ascii',\n'us_ascii':'ascii',\n\n\n'base64':'base64_codec',\n'base_64':'base64_codec',\n\n\n'big5_tw':'big5',\n'csbig5':'big5',\n\n\n'big5_hkscs':'big5hkscs',\n'hkscs':'big5hkscs',\n\n\n'bz2':'bz2_codec',\n\n\n'037':'cp037',\n'csibm037':'cp037',\n'ebcdic_cp_ca':'cp037',\n'ebcdic_cp_nl':'cp037',\n'ebcdic_cp_us':'cp037',\n'ebcdic_cp_wt':'cp037',\n'ibm037':'cp037',\n'ibm039':'cp037',\n\n\n'1026':'cp1026',\n'csibm1026':'cp1026',\n'ibm1026':'cp1026',\n\n\n'1125':'cp1125',\n'ibm1125':'cp1125',\n'cp866u':'cp1125',\n'ruscii':'cp1125',\n\n\n'1140':'cp1140',\n'ibm1140':'cp1140',\n\n\n'1250':'cp1250',\n'windows_1250':'cp1250',\n\n\n'1251':'cp1251',\n'windows_1251':'cp1251',\n\n\n'1252':'cp1252',\n'windows_1252':'cp1252',\n\n\n'1253':'cp1253',\n'windows_1253':'cp1253',\n\n\n'1254':'cp1254',\n'windows_1254':'cp1254',\n\n\n'1255':'cp1255',\n'windows_1255':'cp1255',\n\n\n'1256':'cp1256',\n'windows_1256':'cp1256',\n\n\n'1257':'cp1257',\n'windows_1257':'cp1257',\n\n\n'1258':'cp1258',\n'windows_1258':'cp1258',\n\n\n'273':'cp273',\n'ibm273':'cp273',\n'csibm273':'cp273',\n\n\n'424':'cp424',\n'csibm424':'cp424',\n'ebcdic_cp_he':'cp424',\n'ibm424':'cp424',\n\n\n'437':'cp437',\n'cspc8codepage437':'cp437',\n'ibm437':'cp437',\n\n\n'500':'cp500',\n'csibm500':'cp500',\n'ebcdic_cp_be':'cp500',\n'ebcdic_cp_ch':'cp500',\n'ibm500':'cp500',\n\n\n'775':'cp775',\n'cspc775baltic':'cp775',\n'ibm775':'cp775',\n\n\n'850':'cp850',\n'cspc850multilingual':'cp850',\n'ibm850':'cp850',\n\n\n'852':'cp852',\n'cspcp852':'cp852',\n'ibm852':'cp852',\n\n\n'855':'cp855',\n'csibm855':'cp855',\n'ibm855':'cp855',\n\n\n'857':'cp857',\n'csibm857':'cp857',\n'ibm857':'cp857',\n\n\n'858':'cp858',\n'csibm858':'cp858',\n'ibm858':'cp858',\n\n\n'860':'cp860',\n'csibm860':'cp860',\n'ibm860':'cp860',\n\n\n'861':'cp861',\n'cp_is':'cp861',\n'csibm861':'cp861',\n'ibm861':'cp861',\n\n\n'862':'cp862',\n'cspc862latinhebrew':'cp862',\n'ibm862':'cp862',\n\n\n'863':'cp863',\n'csibm863':'cp863',\n'ibm863':'cp863',\n\n\n'864':'cp864',\n'csibm864':'cp864',\n'ibm864':'cp864',\n\n\n'865':'cp865',\n'csibm865':'cp865',\n'ibm865':'cp865',\n\n\n'866':'cp866',\n'csibm866':'cp866',\n'ibm866':'cp866',\n\n\n'869':'cp869',\n'cp_gr':'cp869',\n'csibm869':'cp869',\n'ibm869':'cp869',\n\n\n'932':'cp932',\n'ms932':'cp932',\n'mskanji':'cp932',\n'ms_kanji':'cp932',\n\n\n'949':'cp949',\n'ms949':'cp949',\n'uhc':'cp949',\n\n\n'950':'cp950',\n'ms950':'cp950',\n\n\n'jisx0213':'euc_jis_2004',\n'eucjis2004':'euc_jis_2004',\n'euc_jis2004':'euc_jis_2004',\n\n\n'eucjisx0213':'euc_jisx0213',\n\n\n'eucjp':'euc_jp',\n'ujis':'euc_jp',\n'u_jis':'euc_jp',\n\n\n'euckr':'euc_kr',\n'korean':'euc_kr',\n'ksc5601':'euc_kr',\n'ks_c_5601':'euc_kr',\n'ks_c_5601_1987':'euc_kr',\n'ksx1001':'euc_kr',\n'ks_x_1001':'euc_kr',\n\n\n'gb18030_2000':'gb18030',\n\n\n'chinese':'gb2312',\n'csiso58gb231280':'gb2312',\n'euc_cn':'gb2312',\n'euccn':'gb2312',\n'eucgb2312_cn':'gb2312',\n'gb2312_1980':'gb2312',\n'gb2312_80':'gb2312',\n'iso_ir_58':'gb2312',\n\n\n'936':'gbk',\n'cp936':'gbk',\n'ms936':'gbk',\n\n\n'hex':'hex_codec',\n\n\n'roman8':'hp_roman8',\n'r8':'hp_roman8',\n'csHPRoman8':'hp_roman8',\n'cp1051':'hp_roman8',\n'ibm1051':'hp_roman8',\n\n\n'hzgb':'hz',\n'hz_gb':'hz',\n'hz_gb_2312':'hz',\n\n\n'csiso2022jp':'iso2022_jp',\n'iso2022jp':'iso2022_jp',\n'iso_2022_jp':'iso2022_jp',\n\n\n'iso2022jp_1':'iso2022_jp_1',\n'iso_2022_jp_1':'iso2022_jp_1',\n\n\n'iso2022jp_2':'iso2022_jp_2',\n'iso_2022_jp_2':'iso2022_jp_2',\n\n\n'iso_2022_jp_2004':'iso2022_jp_2004',\n'iso2022jp_2004':'iso2022_jp_2004',\n\n\n'iso2022jp_3':'iso2022_jp_3',\n'iso_2022_jp_3':'iso2022_jp_3',\n\n\n'iso2022jp_ext':'iso2022_jp_ext',\n'iso_2022_jp_ext':'iso2022_jp_ext',\n\n\n'csiso2022kr':'iso2022_kr',\n'iso2022kr':'iso2022_kr',\n'iso_2022_kr':'iso2022_kr',\n\n\n'csisolatin6':'iso8859_10',\n'iso_8859_10':'iso8859_10',\n'iso_8859_10_1992':'iso8859_10',\n'iso_ir_157':'iso8859_10',\n'l6':'iso8859_10',\n'latin6':'iso8859_10',\n\n\n'thai':'iso8859_11',\n'iso_8859_11':'iso8859_11',\n'iso_8859_11_2001':'iso8859_11',\n\n\n'iso_8859_13':'iso8859_13',\n'l7':'iso8859_13',\n'latin7':'iso8859_13',\n\n\n'iso_8859_14':'iso8859_14',\n'iso_8859_14_1998':'iso8859_14',\n'iso_celtic':'iso8859_14',\n'iso_ir_199':'iso8859_14',\n'l8':'iso8859_14',\n'latin8':'iso8859_14',\n\n\n'iso_8859_15':'iso8859_15',\n'l9':'iso8859_15',\n'latin9':'iso8859_15',\n\n\n'iso_8859_16':'iso8859_16',\n'iso_8859_16_2001':'iso8859_16',\n'iso_ir_226':'iso8859_16',\n'l10':'iso8859_16',\n'latin10':'iso8859_16',\n\n\n'csisolatin2':'iso8859_2',\n'iso_8859_2':'iso8859_2',\n'iso_8859_2_1987':'iso8859_2',\n'iso_ir_101':'iso8859_2',\n'l2':'iso8859_2',\n'latin2':'iso8859_2',\n\n\n'csisolatin3':'iso8859_3',\n'iso_8859_3':'iso8859_3',\n'iso_8859_3_1988':'iso8859_3',\n'iso_ir_109':'iso8859_3',\n'l3':'iso8859_3',\n'latin3':'iso8859_3',\n\n\n'csisolatin4':'iso8859_4',\n'iso_8859_4':'iso8859_4',\n'iso_8859_4_1988':'iso8859_4',\n'iso_ir_110':'iso8859_4',\n'l4':'iso8859_4',\n'latin4':'iso8859_4',\n\n\n'csisolatincyrillic':'iso8859_5',\n'cyrillic':'iso8859_5',\n'iso_8859_5':'iso8859_5',\n'iso_8859_5_1988':'iso8859_5',\n'iso_ir_144':'iso8859_5',\n\n\n'arabic':'iso8859_6',\n'asmo_708':'iso8859_6',\n'csisolatinarabic':'iso8859_6',\n'ecma_114':'iso8859_6',\n'iso_8859_6':'iso8859_6',\n'iso_8859_6_1987':'iso8859_6',\n'iso_ir_127':'iso8859_6',\n\n\n'csisolatingreek':'iso8859_7',\n'ecma_118':'iso8859_7',\n'elot_928':'iso8859_7',\n'greek':'iso8859_7',\n'greek8':'iso8859_7',\n'iso_8859_7':'iso8859_7',\n'iso_8859_7_1987':'iso8859_7',\n'iso_ir_126':'iso8859_7',\n\n\n'csisolatinhebrew':'iso8859_8',\n'hebrew':'iso8859_8',\n'iso_8859_8':'iso8859_8',\n'iso_8859_8_1988':'iso8859_8',\n'iso_ir_138':'iso8859_8',\n\n\n'csisolatin5':'iso8859_9',\n'iso_8859_9':'iso8859_9',\n'iso_8859_9_1989':'iso8859_9',\n'iso_ir_148':'iso8859_9',\n'l5':'iso8859_9',\n'latin5':'iso8859_9',\n\n\n'cp1361':'johab',\n'ms1361':'johab',\n\n\n'cskoi8r':'koi8_r',\n\n\n'kz_1048':'kz1048',\n'rk1048':'kz1048',\n'strk1048_2002':'kz1048',\n\n\n\n\n\n\n\n\n'8859':'latin_1',\n'cp819':'latin_1',\n'csisolatin1':'latin_1',\n'ibm819':'latin_1',\n'iso8859':'latin_1',\n'iso8859_1':'latin_1',\n'iso_8859_1':'latin_1',\n'iso_8859_1_1987':'latin_1',\n'iso_ir_100':'latin_1',\n'l1':'latin_1',\n'latin':'latin_1',\n'latin1':'latin_1',\n\n\n'maccyrillic':'mac_cyrillic',\n\n\n'macgreek':'mac_greek',\n\n\n'maciceland':'mac_iceland',\n\n\n'maccentraleurope':'mac_latin2',\n'mac_centeuro':'mac_latin2',\n'maclatin2':'mac_latin2',\n\n\n'macintosh':'mac_roman',\n'macroman':'mac_roman',\n\n\n'macturkish':'mac_turkish',\n\n\n'ansi':'mbcs',\n'dbcs':'mbcs',\n\n\n'csptcp154':'ptcp154',\n'pt154':'ptcp154',\n'cp154':'ptcp154',\n'cyrillic_asian':'ptcp154',\n\n\n'quopri':'quopri_codec',\n'quoted_printable':'quopri_codec',\n'quotedprintable':'quopri_codec',\n\n\n'rot13':'rot_13',\n\n\n'csshiftjis':'shift_jis',\n'shiftjis':'shift_jis',\n'sjis':'shift_jis',\n's_jis':'shift_jis',\n\n\n'shiftjis2004':'shift_jis_2004',\n'sjis_2004':'shift_jis_2004',\n's_jis_2004':'shift_jis_2004',\n\n\n'shiftjisx0213':'shift_jisx0213',\n'sjisx0213':'shift_jisx0213',\n's_jisx0213':'shift_jisx0213',\n\n\n'tis620':'tis_620',\n'tis_620_0':'tis_620',\n'tis_620_2529_0':'tis_620',\n'tis_620_2529_1':'tis_620',\n'iso_ir_166':'tis_620',\n\n\n'u16':'utf_16',\n'utf16':'utf_16',\n\n\n'unicodebigunmarked':'utf_16_be',\n'utf_16be':'utf_16_be',\n\n\n'unicodelittleunmarked':'utf_16_le',\n'utf_16le':'utf_16_le',\n\n\n'u32':'utf_32',\n'utf32':'utf_32',\n\n\n'utf_32be':'utf_32_be',\n\n\n'utf_32le':'utf_32_le',\n\n\n'u7':'utf_7',\n'utf7':'utf_7',\n'unicode_1_1_utf_7':'utf_7',\n\n\n'u8':'utf_8',\n'utf':'utf_8',\n'utf8':'utf_8',\n'utf8_ucs2':'utf_8',\n'utf8_ucs4':'utf_8',\n'cp65001':'utf_8',\n\n\n'uu':'uu_codec',\n\n\n'zip':'zlib_codec',\n'zlib':'zlib_codec',\n\n\n'x_mac_japanese':'shift_jis',\n'x_mac_korean':'euc_kr',\n'x_mac_simp_chinese':'gb2312',\n'x_mac_trad_chinese':'big5',\n}\n",[]],"encodings.ascii":[".py","''\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n\n\n encode=codecs.ascii_encode\n decode=codecs.ascii_decode\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.ascii_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.ascii_decode(input,self.errors)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \nclass StreamConverter(StreamWriter,StreamReader):\n\n encode=codecs.ascii_decode\n decode=codecs.ascii_encode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='ascii',\n encode=Codec.encode,\n decode=Codec.decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n )\n",["codecs"]],"encodings.base64_codec":[".py","''\n\n\n\n\n\n\nimport codecs\nimport base64\n\n\n\ndef base64_encode(input,errors='strict'):\n assert errors =='strict'\n return(base64.encodebytes(input),len(input))\n \ndef base64_decode(input,errors='strict'):\n assert errors =='strict'\n return(base64.decodebytes(input),len(input))\n \nclass Codec(codecs.Codec):\n def encode(self,input,errors='strict'):\n return base64_encode(input,errors)\n def decode(self,input,errors='strict'):\n return base64_decode(input,errors)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n assert self.errors =='strict'\n return base64.encodebytes(input)\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n assert self.errors =='strict'\n return base64.decodebytes(input)\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n charbuffertype=bytes\n \nclass StreamReader(Codec,codecs.StreamReader):\n charbuffertype=bytes\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='base64',\n encode=base64_encode,\n decode=base64_decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n _is_text_encoding=False,\n )\n",["base64","codecs"]],"encodings.big5":[".py","\n\n\n\n\n\nimport _codecs_tw,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_tw.getcodec('big5')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='big5',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_tw","_multibytecodec","codecs"]],"encodings.big5hkscs":[".py","\n\n\n\n\n\nimport _codecs_hk,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_hk.getcodec('big5hkscs')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='big5hkscs',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_hk","_multibytecodec","codecs"]],"encodings.bz2_codec":[".py","''\n\n\n\n\n\n\n\n\nimport codecs\nimport bz2\n\n\n\ndef bz2_encode(input,errors='strict'):\n assert errors =='strict'\n return(bz2.compress(input),len(input))\n \ndef bz2_decode(input,errors='strict'):\n assert errors =='strict'\n return(bz2.decompress(input),len(input))\n \nclass Codec(codecs.Codec):\n def encode(self,input,errors='strict'):\n return bz2_encode(input,errors)\n def decode(self,input,errors='strict'):\n return bz2_decode(input,errors)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def __init__(self,errors='strict'):\n assert errors =='strict'\n self.errors=errors\n self.compressobj=bz2.BZ2Compressor()\n \n def encode(self,input,final=False):\n if final:\n c=self.compressobj.compress(input)\n return c+self.compressobj.flush()\n else:\n return self.compressobj.compress(input)\n \n def reset(self):\n self.compressobj=bz2.BZ2Compressor()\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def __init__(self,errors='strict'):\n assert errors =='strict'\n self.errors=errors\n self.decompressobj=bz2.BZ2Decompressor()\n \n def decode(self,input,final=False):\n try:\n return self.decompressobj.decompress(input)\n except EOFError:\n return ''\n \n def reset(self):\n self.decompressobj=bz2.BZ2Decompressor()\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n charbuffertype=bytes\n \nclass StreamReader(Codec,codecs.StreamReader):\n charbuffertype=bytes\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name=\"bz2\",\n encode=bz2_encode,\n decode=bz2_decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n _is_text_encoding=False,\n )\n",["bz2","codecs"]],"encodings.charmap":[".py","''\n\n\n\n\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n\n\n encode=codecs.charmap_encode\n decode=codecs.charmap_decode\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def __init__(self,errors='strict',mapping=None):\n codecs.IncrementalEncoder.__init__(self,errors)\n self.mapping=mapping\n \n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,self.mapping)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def __init__(self,errors='strict',mapping=None):\n codecs.IncrementalDecoder.__init__(self,errors)\n self.mapping=mapping\n \n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,self.mapping)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n\n def __init__(self,stream,errors='strict',mapping=None):\n codecs.StreamWriter.__init__(self,stream,errors)\n self.mapping=mapping\n \n def encode(self,input,errors='strict'):\n return Codec.encode(input,errors,self.mapping)\n \nclass StreamReader(Codec,codecs.StreamReader):\n\n def __init__(self,stream,errors='strict',mapping=None):\n codecs.StreamReader.__init__(self,stream,errors)\n self.mapping=mapping\n \n def decode(self,input,errors='strict'):\n return Codec.decode(input,errors,self.mapping)\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='charmap',\n encode=Codec.encode,\n decode=Codec.decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n )\n",["codecs"]],"encodings.cp037":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp037',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x9c'\n'\\t'\n'\\x86'\n'\\x7f'\n'\\x97'\n'\\x8d'\n'\\x8e'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x9d'\n'\\x85'\n'\\x08'\n'\\x87'\n'\\x18'\n'\\x19'\n'\\x92'\n'\\x8f'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\n'\n'\\x17'\n'\\x1b'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x90'\n'\\x91'\n'\\x16'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x04'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x14'\n'\\x15'\n'\\x9e'\n'\\x1a'\n' '\n'\\xa0'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe1'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xf1'\n'\\xa2'\n'.'\n'<'\n'('\n'+'\n'|'\n'&'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xec'\n'\\xdf'\n'!'\n'$'\n'*'\n')'\n';'\n'\\xac'\n'-'\n'/'\n'\\xc2'\n'\\xc4'\n'\\xc0'\n'\\xc1'\n'\\xc3'\n'\\xc5'\n'\\xc7'\n'\\xd1'\n'\\xa6'\n','\n'%'\n'_'\n'>'\n'?'\n'\\xf8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'`'\n':'\n'#'\n'@'\n\"'\"\n'='\n'\"'\n'\\xd8'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'\\xab'\n'\\xbb'\n'\\xf0'\n'\\xfd'\n'\\xfe'\n'\\xb1'\n'\\xb0'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n'\\xaa'\n'\\xba'\n'\\xe6'\n'\\xb8'\n'\\xc6'\n'\\xa4'\n'\\xb5'\n'~'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'\\xa1'\n'\\xbf'\n'\\xd0'\n'\\xdd'\n'\\xde'\n'\\xae'\n'^'\n'\\xa3'\n'\\xa5'\n'\\xb7'\n'\\xa9'\n'\\xa7'\n'\\xb6'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'['\n']'\n'\\xaf'\n'\\xa8'\n'\\xb4'\n'\\xd7'\n'{'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'\\xad'\n'\\xf4'\n'\\xf6'\n'\\xf2'\n'\\xf3'\n'\\xf5'\n'}'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'\\xb9'\n'\\xfb'\n'\\xfc'\n'\\xf9'\n'\\xfa'\n'\\xff'\n'\\\\'\n'\\xf7'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'\\xb2'\n'\\xd4'\n'\\xd6'\n'\\xd2'\n'\\xd3'\n'\\xd5'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n'\\xb3'\n'\\xdb'\n'\\xdc'\n'\\xd9'\n'\\xda'\n'\\x9f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1006":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1006',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u06f0'\n'\\u06f1'\n'\\u06f2'\n'\\u06f3'\n'\\u06f4'\n'\\u06f5'\n'\\u06f6'\n'\\u06f7'\n'\\u06f8'\n'\\u06f9'\n'\\u060c'\n'\\u061b'\n'\\xad'\n'\\u061f'\n'\\ufe81'\n'\\ufe8d'\n'\\ufe8e'\n'\\ufe8e'\n'\\ufe8f'\n'\\ufe91'\n'\\ufb56'\n'\\ufb58'\n'\\ufe93'\n'\\ufe95'\n'\\ufe97'\n'\\ufb66'\n'\\ufb68'\n'\\ufe99'\n'\\ufe9b'\n'\\ufe9d'\n'\\ufe9f'\n'\\ufb7a'\n'\\ufb7c'\n'\\ufea1'\n'\\ufea3'\n'\\ufea5'\n'\\ufea7'\n'\\ufea9'\n'\\ufb84'\n'\\ufeab'\n'\\ufead'\n'\\ufb8c'\n'\\ufeaf'\n'\\ufb8a'\n'\\ufeb1'\n'\\ufeb3'\n'\\ufeb5'\n'\\ufeb7'\n'\\ufeb9'\n'\\ufebb'\n'\\ufebd'\n'\\ufebf'\n'\\ufec1'\n'\\ufec5'\n'\\ufec9'\n'\\ufeca'\n'\\ufecb'\n'\\ufecc'\n'\\ufecd'\n'\\ufece'\n'\\ufecf'\n'\\ufed0'\n'\\ufed1'\n'\\ufed3'\n'\\ufed5'\n'\\ufed7'\n'\\ufed9'\n'\\ufedb'\n'\\ufb92'\n'\\ufb94'\n'\\ufedd'\n'\\ufedf'\n'\\ufee0'\n'\\ufee1'\n'\\ufee3'\n'\\ufb9e'\n'\\ufee5'\n'\\ufee7'\n'\\ufe85'\n'\\ufeed'\n'\\ufba6'\n'\\ufba8'\n'\\ufba9'\n'\\ufbaa'\n'\\ufe80'\n'\\ufe89'\n'\\ufe8a'\n'\\ufe8b'\n'\\ufef1'\n'\\ufef2'\n'\\ufef3'\n'\\ufbb0'\n'\\ufbae'\n'\\ufe7c'\n'\\ufe7d'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1026":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1026',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x9c'\n'\\t'\n'\\x86'\n'\\x7f'\n'\\x97'\n'\\x8d'\n'\\x8e'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x9d'\n'\\x85'\n'\\x08'\n'\\x87'\n'\\x18'\n'\\x19'\n'\\x92'\n'\\x8f'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\n'\n'\\x17'\n'\\x1b'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x90'\n'\\x91'\n'\\x16'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x04'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x14'\n'\\x15'\n'\\x9e'\n'\\x1a'\n' '\n'\\xa0'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe1'\n'\\xe3'\n'\\xe5'\n'{'\n'\\xf1'\n'\\xc7'\n'.'\n'<'\n'('\n'+'\n'!'\n'&'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xec'\n'\\xdf'\n'\\u011e'\n'\\u0130'\n'*'\n')'\n';'\n'^'\n'-'\n'/'\n'\\xc2'\n'\\xc4'\n'\\xc0'\n'\\xc1'\n'\\xc3'\n'\\xc5'\n'['\n'\\xd1'\n'\\u015f'\n','\n'%'\n'_'\n'>'\n'?'\n'\\xf8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'\\u0131'\n':'\n'\\xd6'\n'\\u015e'\n\"'\"\n'='\n'\\xdc'\n'\\xd8'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'\\xab'\n'\\xbb'\n'}'\n'`'\n'\\xa6'\n'\\xb1'\n'\\xb0'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n'\\xaa'\n'\\xba'\n'\\xe6'\n'\\xb8'\n'\\xc6'\n'\\xa4'\n'\\xb5'\n'\\xf6'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'\\xa1'\n'\\xbf'\n']'\n'$'\n'@'\n'\\xae'\n'\\xa2'\n'\\xa3'\n'\\xa5'\n'\\xb7'\n'\\xa9'\n'\\xa7'\n'\\xb6'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xac'\n'|'\n'\\xaf'\n'\\xa8'\n'\\xb4'\n'\\xd7'\n'\\xe7'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'\\xad'\n'\\xf4'\n'~'\n'\\xf2'\n'\\xf3'\n'\\xf5'\n'\\u011f'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'\\xb9'\n'\\xfb'\n'\\\\'\n'\\xf9'\n'\\xfa'\n'\\xff'\n'\\xfc'\n'\\xf7'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'\\xb2'\n'\\xd4'\n'#'\n'\\xd2'\n'\\xd3'\n'\\xd5'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n'\\xb3'\n'\\xdb'\n'\"'\n'\\xd9'\n'\\xda'\n'\\x9f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1125":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1125',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x0410,\n0x0081:0x0411,\n0x0082:0x0412,\n0x0083:0x0413,\n0x0084:0x0414,\n0x0085:0x0415,\n0x0086:0x0416,\n0x0087:0x0417,\n0x0088:0x0418,\n0x0089:0x0419,\n0x008a:0x041a,\n0x008b:0x041b,\n0x008c:0x041c,\n0x008d:0x041d,\n0x008e:0x041e,\n0x008f:0x041f,\n0x0090:0x0420,\n0x0091:0x0421,\n0x0092:0x0422,\n0x0093:0x0423,\n0x0094:0x0424,\n0x0095:0x0425,\n0x0096:0x0426,\n0x0097:0x0427,\n0x0098:0x0428,\n0x0099:0x0429,\n0x009a:0x042a,\n0x009b:0x042b,\n0x009c:0x042c,\n0x009d:0x042d,\n0x009e:0x042e,\n0x009f:0x042f,\n0x00a0:0x0430,\n0x00a1:0x0431,\n0x00a2:0x0432,\n0x00a3:0x0433,\n0x00a4:0x0434,\n0x00a5:0x0435,\n0x00a6:0x0436,\n0x00a7:0x0437,\n0x00a8:0x0438,\n0x00a9:0x0439,\n0x00aa:0x043a,\n0x00ab:0x043b,\n0x00ac:0x043c,\n0x00ad:0x043d,\n0x00ae:0x043e,\n0x00af:0x043f,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x0440,\n0x00e1:0x0441,\n0x00e2:0x0442,\n0x00e3:0x0443,\n0x00e4:0x0444,\n0x00e5:0x0445,\n0x00e6:0x0446,\n0x00e7:0x0447,\n0x00e8:0x0448,\n0x00e9:0x0449,\n0x00ea:0x044a,\n0x00eb:0x044b,\n0x00ec:0x044c,\n0x00ed:0x044d,\n0x00ee:0x044e,\n0x00ef:0x044f,\n0x00f0:0x0401,\n0x00f1:0x0451,\n0x00f2:0x0490,\n0x00f3:0x0491,\n0x00f4:0x0404,\n0x00f5:0x0454,\n0x00f6:0x0406,\n0x00f7:0x0456,\n0x00f8:0x0407,\n0x00f9:0x0457,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x2116,\n0x00fd:0x00a4,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0410'\n'\\u0411'\n'\\u0412'\n'\\u0413'\n'\\u0414'\n'\\u0415'\n'\\u0416'\n'\\u0417'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0424'\n'\\u0425'\n'\\u0426'\n'\\u0427'\n'\\u0428'\n'\\u0429'\n'\\u042a'\n'\\u042b'\n'\\u042c'\n'\\u042d'\n'\\u042e'\n'\\u042f'\n'\\u0430'\n'\\u0431'\n'\\u0432'\n'\\u0433'\n'\\u0434'\n'\\u0435'\n'\\u0436'\n'\\u0437'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0444'\n'\\u0445'\n'\\u0446'\n'\\u0447'\n'\\u0448'\n'\\u0449'\n'\\u044a'\n'\\u044b'\n'\\u044c'\n'\\u044d'\n'\\u044e'\n'\\u044f'\n'\\u0401'\n'\\u0451'\n'\\u0490'\n'\\u0491'\n'\\u0404'\n'\\u0454'\n'\\u0406'\n'\\u0456'\n'\\u0407'\n'\\u0457'\n'\\xb7'\n'\\u221a'\n'\\u2116'\n'\\xa4'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a4:0x00fd,\n0x00b7:0x00fa,\n0x0401:0x00f0,\n0x0404:0x00f4,\n0x0406:0x00f6,\n0x0407:0x00f8,\n0x0410:0x0080,\n0x0411:0x0081,\n0x0412:0x0082,\n0x0413:0x0083,\n0x0414:0x0084,\n0x0415:0x0085,\n0x0416:0x0086,\n0x0417:0x0087,\n0x0418:0x0088,\n0x0419:0x0089,\n0x041a:0x008a,\n0x041b:0x008b,\n0x041c:0x008c,\n0x041d:0x008d,\n0x041e:0x008e,\n0x041f:0x008f,\n0x0420:0x0090,\n0x0421:0x0091,\n0x0422:0x0092,\n0x0423:0x0093,\n0x0424:0x0094,\n0x0425:0x0095,\n0x0426:0x0096,\n0x0427:0x0097,\n0x0428:0x0098,\n0x0429:0x0099,\n0x042a:0x009a,\n0x042b:0x009b,\n0x042c:0x009c,\n0x042d:0x009d,\n0x042e:0x009e,\n0x042f:0x009f,\n0x0430:0x00a0,\n0x0431:0x00a1,\n0x0432:0x00a2,\n0x0433:0x00a3,\n0x0434:0x00a4,\n0x0435:0x00a5,\n0x0436:0x00a6,\n0x0437:0x00a7,\n0x0438:0x00a8,\n0x0439:0x00a9,\n0x043a:0x00aa,\n0x043b:0x00ab,\n0x043c:0x00ac,\n0x043d:0x00ad,\n0x043e:0x00ae,\n0x043f:0x00af,\n0x0440:0x00e0,\n0x0441:0x00e1,\n0x0442:0x00e2,\n0x0443:0x00e3,\n0x0444:0x00e4,\n0x0445:0x00e5,\n0x0446:0x00e6,\n0x0447:0x00e7,\n0x0448:0x00e8,\n0x0449:0x00e9,\n0x044a:0x00ea,\n0x044b:0x00eb,\n0x044c:0x00ec,\n0x044d:0x00ed,\n0x044e:0x00ee,\n0x044f:0x00ef,\n0x0451:0x00f1,\n0x0454:0x00f5,\n0x0456:0x00f7,\n0x0457:0x00f9,\n0x0490:0x00f2,\n0x0491:0x00f3,\n0x2116:0x00fc,\n0x221a:0x00fb,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp1140":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1140',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x9c'\n'\\t'\n'\\x86'\n'\\x7f'\n'\\x97'\n'\\x8d'\n'\\x8e'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x9d'\n'\\x85'\n'\\x08'\n'\\x87'\n'\\x18'\n'\\x19'\n'\\x92'\n'\\x8f'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\n'\n'\\x17'\n'\\x1b'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x90'\n'\\x91'\n'\\x16'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x04'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x14'\n'\\x15'\n'\\x9e'\n'\\x1a'\n' '\n'\\xa0'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe1'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xf1'\n'\\xa2'\n'.'\n'<'\n'('\n'+'\n'|'\n'&'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xec'\n'\\xdf'\n'!'\n'$'\n'*'\n')'\n';'\n'\\xac'\n'-'\n'/'\n'\\xc2'\n'\\xc4'\n'\\xc0'\n'\\xc1'\n'\\xc3'\n'\\xc5'\n'\\xc7'\n'\\xd1'\n'\\xa6'\n','\n'%'\n'_'\n'>'\n'?'\n'\\xf8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'`'\n':'\n'#'\n'@'\n\"'\"\n'='\n'\"'\n'\\xd8'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'\\xab'\n'\\xbb'\n'\\xf0'\n'\\xfd'\n'\\xfe'\n'\\xb1'\n'\\xb0'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n'\\xaa'\n'\\xba'\n'\\xe6'\n'\\xb8'\n'\\xc6'\n'\\u20ac'\n'\\xb5'\n'~'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'\\xa1'\n'\\xbf'\n'\\xd0'\n'\\xdd'\n'\\xde'\n'\\xae'\n'^'\n'\\xa3'\n'\\xa5'\n'\\xb7'\n'\\xa9'\n'\\xa7'\n'\\xb6'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'['\n']'\n'\\xaf'\n'\\xa8'\n'\\xb4'\n'\\xd7'\n'{'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'\\xad'\n'\\xf4'\n'\\xf6'\n'\\xf2'\n'\\xf3'\n'\\xf5'\n'}'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'\\xb9'\n'\\xfb'\n'\\xfc'\n'\\xf9'\n'\\xfa'\n'\\xff'\n'\\\\'\n'\\xf7'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'\\xb2'\n'\\xd4'\n'\\xd6'\n'\\xd2'\n'\\xd3'\n'\\xd5'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n'\\xb3'\n'\\xdb'\n'\\xdc'\n'\\xd9'\n'\\xda'\n'\\x9f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1250":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1250',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\ufffe'\n'\\u201a'\n'\\ufffe'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\ufffe'\n'\\u2030'\n'\\u0160'\n'\\u2039'\n'\\u015a'\n'\\u0164'\n'\\u017d'\n'\\u0179'\n'\\ufffe'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\ufffe'\n'\\u2122'\n'\\u0161'\n'\\u203a'\n'\\u015b'\n'\\u0165'\n'\\u017e'\n'\\u017a'\n'\\xa0'\n'\\u02c7'\n'\\u02d8'\n'\\u0141'\n'\\xa4'\n'\\u0104'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\u015e'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\u017b'\n'\\xb0'\n'\\xb1'\n'\\u02db'\n'\\u0142'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\u0105'\n'\\u015f'\n'\\xbb'\n'\\u013d'\n'\\u02dd'\n'\\u013e'\n'\\u017c'\n'\\u0154'\n'\\xc1'\n'\\xc2'\n'\\u0102'\n'\\xc4'\n'\\u0139'\n'\\u0106'\n'\\xc7'\n'\\u010c'\n'\\xc9'\n'\\u0118'\n'\\xcb'\n'\\u011a'\n'\\xcd'\n'\\xce'\n'\\u010e'\n'\\u0110'\n'\\u0143'\n'\\u0147'\n'\\xd3'\n'\\xd4'\n'\\u0150'\n'\\xd6'\n'\\xd7'\n'\\u0158'\n'\\u016e'\n'\\xda'\n'\\u0170'\n'\\xdc'\n'\\xdd'\n'\\u0162'\n'\\xdf'\n'\\u0155'\n'\\xe1'\n'\\xe2'\n'\\u0103'\n'\\xe4'\n'\\u013a'\n'\\u0107'\n'\\xe7'\n'\\u010d'\n'\\xe9'\n'\\u0119'\n'\\xeb'\n'\\u011b'\n'\\xed'\n'\\xee'\n'\\u010f'\n'\\u0111'\n'\\u0144'\n'\\u0148'\n'\\xf3'\n'\\xf4'\n'\\u0151'\n'\\xf6'\n'\\xf7'\n'\\u0159'\n'\\u016f'\n'\\xfa'\n'\\u0171'\n'\\xfc'\n'\\xfd'\n'\\u0163'\n'\\u02d9'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1251":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1251',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0402'\n'\\u0403'\n'\\u201a'\n'\\u0453'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\u20ac'\n'\\u2030'\n'\\u0409'\n'\\u2039'\n'\\u040a'\n'\\u040c'\n'\\u040b'\n'\\u040f'\n'\\u0452'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\ufffe'\n'\\u2122'\n'\\u0459'\n'\\u203a'\n'\\u045a'\n'\\u045c'\n'\\u045b'\n'\\u045f'\n'\\xa0'\n'\\u040e'\n'\\u045e'\n'\\u0408'\n'\\xa4'\n'\\u0490'\n'\\xa6'\n'\\xa7'\n'\\u0401'\n'\\xa9'\n'\\u0404'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\u0407'\n'\\xb0'\n'\\xb1'\n'\\u0406'\n'\\u0456'\n'\\u0491'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\u0451'\n'\\u2116'\n'\\u0454'\n'\\xbb'\n'\\u0458'\n'\\u0405'\n'\\u0455'\n'\\u0457'\n'\\u0410'\n'\\u0411'\n'\\u0412'\n'\\u0413'\n'\\u0414'\n'\\u0415'\n'\\u0416'\n'\\u0417'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0424'\n'\\u0425'\n'\\u0426'\n'\\u0427'\n'\\u0428'\n'\\u0429'\n'\\u042a'\n'\\u042b'\n'\\u042c'\n'\\u042d'\n'\\u042e'\n'\\u042f'\n'\\u0430'\n'\\u0431'\n'\\u0432'\n'\\u0433'\n'\\u0434'\n'\\u0435'\n'\\u0436'\n'\\u0437'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0444'\n'\\u0445'\n'\\u0446'\n'\\u0447'\n'\\u0448'\n'\\u0449'\n'\\u044a'\n'\\u044b'\n'\\u044c'\n'\\u044d'\n'\\u044e'\n'\\u044f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1252":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1252',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\ufffe'\n'\\u201a'\n'\\u0192'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\u02c6'\n'\\u2030'\n'\\u0160'\n'\\u2039'\n'\\u0152'\n'\\ufffe'\n'\\u017d'\n'\\ufffe'\n'\\ufffe'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\u02dc'\n'\\u2122'\n'\\u0161'\n'\\u203a'\n'\\u0153'\n'\\ufffe'\n'\\u017e'\n'\\u0178'\n'\\xa0'\n'\\xa1'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\xaa'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\xba'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xbf'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xd0'\n'\\xd1'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\xd8'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\xdd'\n'\\xde'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xf0'\n'\\xf1'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\xf8'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\xfd'\n'\\xfe'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1253":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1253',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\ufffe'\n'\\u201a'\n'\\u0192'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\ufffe'\n'\\u2030'\n'\\ufffe'\n'\\u2039'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\ufffe'\n'\\u2122'\n'\\ufffe'\n'\\u203a'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xa0'\n'\\u0385'\n'\\u0386'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\ufffe'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\u2015'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\u0384'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\u0388'\n'\\u0389'\n'\\u038a'\n'\\xbb'\n'\\u038c'\n'\\xbd'\n'\\u038e'\n'\\u038f'\n'\\u0390'\n'\\u0391'\n'\\u0392'\n'\\u0393'\n'\\u0394'\n'\\u0395'\n'\\u0396'\n'\\u0397'\n'\\u0398'\n'\\u0399'\n'\\u039a'\n'\\u039b'\n'\\u039c'\n'\\u039d'\n'\\u039e'\n'\\u039f'\n'\\u03a0'\n'\\u03a1'\n'\\ufffe'\n'\\u03a3'\n'\\u03a4'\n'\\u03a5'\n'\\u03a6'\n'\\u03a7'\n'\\u03a8'\n'\\u03a9'\n'\\u03aa'\n'\\u03ab'\n'\\u03ac'\n'\\u03ad'\n'\\u03ae'\n'\\u03af'\n'\\u03b0'\n'\\u03b1'\n'\\u03b2'\n'\\u03b3'\n'\\u03b4'\n'\\u03b5'\n'\\u03b6'\n'\\u03b7'\n'\\u03b8'\n'\\u03b9'\n'\\u03ba'\n'\\u03bb'\n'\\u03bc'\n'\\u03bd'\n'\\u03be'\n'\\u03bf'\n'\\u03c0'\n'\\u03c1'\n'\\u03c2'\n'\\u03c3'\n'\\u03c4'\n'\\u03c5'\n'\\u03c6'\n'\\u03c7'\n'\\u03c8'\n'\\u03c9'\n'\\u03ca'\n'\\u03cb'\n'\\u03cc'\n'\\u03cd'\n'\\u03ce'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1254":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1254',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\ufffe'\n'\\u201a'\n'\\u0192'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\u02c6'\n'\\u2030'\n'\\u0160'\n'\\u2039'\n'\\u0152'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\u02dc'\n'\\u2122'\n'\\u0161'\n'\\u203a'\n'\\u0153'\n'\\ufffe'\n'\\ufffe'\n'\\u0178'\n'\\xa0'\n'\\xa1'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\xaa'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\xba'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xbf'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\u011e'\n'\\xd1'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\xd8'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\u0130'\n'\\u015e'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\u011f'\n'\\xf1'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\xf8'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\u0131'\n'\\u015f'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1255":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1255',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\ufffe'\n'\\u201a'\n'\\u0192'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\u02c6'\n'\\u2030'\n'\\ufffe'\n'\\u2039'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\u02dc'\n'\\u2122'\n'\\ufffe'\n'\\u203a'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xa0'\n'\\xa1'\n'\\xa2'\n'\\xa3'\n'\\u20aa'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\xd7'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\xf7'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xbf'\n'\\u05b0'\n'\\u05b1'\n'\\u05b2'\n'\\u05b3'\n'\\u05b4'\n'\\u05b5'\n'\\u05b6'\n'\\u05b7'\n'\\u05b8'\n'\\u05b9'\n'\\ufffe'\n'\\u05bb'\n'\\u05bc'\n'\\u05bd'\n'\\u05be'\n'\\u05bf'\n'\\u05c0'\n'\\u05c1'\n'\\u05c2'\n'\\u05c3'\n'\\u05f0'\n'\\u05f1'\n'\\u05f2'\n'\\u05f3'\n'\\u05f4'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u05d0'\n'\\u05d1'\n'\\u05d2'\n'\\u05d3'\n'\\u05d4'\n'\\u05d5'\n'\\u05d6'\n'\\u05d7'\n'\\u05d8'\n'\\u05d9'\n'\\u05da'\n'\\u05db'\n'\\u05dc'\n'\\u05dd'\n'\\u05de'\n'\\u05df'\n'\\u05e0'\n'\\u05e1'\n'\\u05e2'\n'\\u05e3'\n'\\u05e4'\n'\\u05e5'\n'\\u05e6'\n'\\u05e7'\n'\\u05e8'\n'\\u05e9'\n'\\u05ea'\n'\\ufffe'\n'\\ufffe'\n'\\u200e'\n'\\u200f'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1256":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1256',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\u067e'\n'\\u201a'\n'\\u0192'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\u02c6'\n'\\u2030'\n'\\u0679'\n'\\u2039'\n'\\u0152'\n'\\u0686'\n'\\u0698'\n'\\u0688'\n'\\u06af'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\u06a9'\n'\\u2122'\n'\\u0691'\n'\\u203a'\n'\\u0153'\n'\\u200c'\n'\\u200d'\n'\\u06ba'\n'\\xa0'\n'\\u060c'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\u06be'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\u061b'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\u061f'\n'\\u06c1'\n'\\u0621'\n'\\u0622'\n'\\u0623'\n'\\u0624'\n'\\u0625'\n'\\u0626'\n'\\u0627'\n'\\u0628'\n'\\u0629'\n'\\u062a'\n'\\u062b'\n'\\u062c'\n'\\u062d'\n'\\u062e'\n'\\u062f'\n'\\u0630'\n'\\u0631'\n'\\u0632'\n'\\u0633'\n'\\u0634'\n'\\u0635'\n'\\u0636'\n'\\xd7'\n'\\u0637'\n'\\u0638'\n'\\u0639'\n'\\u063a'\n'\\u0640'\n'\\u0641'\n'\\u0642'\n'\\u0643'\n'\\xe0'\n'\\u0644'\n'\\xe2'\n'\\u0645'\n'\\u0646'\n'\\u0647'\n'\\u0648'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\u0649'\n'\\u064a'\n'\\xee'\n'\\xef'\n'\\u064b'\n'\\u064c'\n'\\u064d'\n'\\u064e'\n'\\xf4'\n'\\u064f'\n'\\u0650'\n'\\xf7'\n'\\u0651'\n'\\xf9'\n'\\u0652'\n'\\xfb'\n'\\xfc'\n'\\u200e'\n'\\u200f'\n'\\u06d2'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1257":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1257',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\ufffe'\n'\\u201a'\n'\\ufffe'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\ufffe'\n'\\u2030'\n'\\ufffe'\n'\\u2039'\n'\\ufffe'\n'\\xa8'\n'\\u02c7'\n'\\xb8'\n'\\ufffe'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\ufffe'\n'\\u2122'\n'\\ufffe'\n'\\u203a'\n'\\ufffe'\n'\\xaf'\n'\\u02db'\n'\\ufffe'\n'\\xa0'\n'\\ufffe'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\ufffe'\n'\\xa6'\n'\\xa7'\n'\\xd8'\n'\\xa9'\n'\\u0156'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xc6'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xf8'\n'\\xb9'\n'\\u0157'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xe6'\n'\\u0104'\n'\\u012e'\n'\\u0100'\n'\\u0106'\n'\\xc4'\n'\\xc5'\n'\\u0118'\n'\\u0112'\n'\\u010c'\n'\\xc9'\n'\\u0179'\n'\\u0116'\n'\\u0122'\n'\\u0136'\n'\\u012a'\n'\\u013b'\n'\\u0160'\n'\\u0143'\n'\\u0145'\n'\\xd3'\n'\\u014c'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\u0172'\n'\\u0141'\n'\\u015a'\n'\\u016a'\n'\\xdc'\n'\\u017b'\n'\\u017d'\n'\\xdf'\n'\\u0105'\n'\\u012f'\n'\\u0101'\n'\\u0107'\n'\\xe4'\n'\\xe5'\n'\\u0119'\n'\\u0113'\n'\\u010d'\n'\\xe9'\n'\\u017a'\n'\\u0117'\n'\\u0123'\n'\\u0137'\n'\\u012b'\n'\\u013c'\n'\\u0161'\n'\\u0144'\n'\\u0146'\n'\\xf3'\n'\\u014d'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\u0173'\n'\\u0142'\n'\\u015b'\n'\\u016b'\n'\\xfc'\n'\\u017c'\n'\\u017e'\n'\\u02d9'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp1258":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp1258',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\ufffe'\n'\\u201a'\n'\\u0192'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\u02c6'\n'\\u2030'\n'\\ufffe'\n'\\u2039'\n'\\u0152'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\u02dc'\n'\\u2122'\n'\\ufffe'\n'\\u203a'\n'\\u0153'\n'\\ufffe'\n'\\ufffe'\n'\\u0178'\n'\\xa0'\n'\\xa1'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\xaa'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\xba'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xbf'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\u0102'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\u0300'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\u0110'\n'\\xd1'\n'\\u0309'\n'\\xd3'\n'\\xd4'\n'\\u01a0'\n'\\xd6'\n'\\xd7'\n'\\xd8'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\u01af'\n'\\u0303'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\u0103'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\u0301'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\u0111'\n'\\xf1'\n'\\u0323'\n'\\xf3'\n'\\xf4'\n'\\u01a1'\n'\\xf6'\n'\\xf7'\n'\\xf8'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\u01b0'\n'\\u20ab'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp273":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp273',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x9c'\n'\\t'\n'\\x86'\n'\\x7f'\n'\\x97'\n'\\x8d'\n'\\x8e'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x9d'\n'\\x85'\n'\\x08'\n'\\x87'\n'\\x18'\n'\\x19'\n'\\x92'\n'\\x8f'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\n'\n'\\x17'\n'\\x1b'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x90'\n'\\x91'\n'\\x16'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x04'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x14'\n'\\x15'\n'\\x9e'\n'\\x1a'\n' '\n'\\xa0'\n'\\xe2'\n'{'\n'\\xe0'\n'\\xe1'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xf1'\n'\\xc4'\n'.'\n'<'\n'('\n'+'\n'!'\n'&'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xec'\n'~'\n'\\xdc'\n'$'\n'*'\n')'\n';'\n'^'\n'-'\n'/'\n'\\xc2'\n'['\n'\\xc0'\n'\\xc1'\n'\\xc3'\n'\\xc5'\n'\\xc7'\n'\\xd1'\n'\\xf6'\n','\n'%'\n'_'\n'>'\n'?'\n'\\xf8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'`'\n':'\n'#'\n'\\xa7'\n\"'\"\n'='\n'\"'\n'\\xd8'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'\\xab'\n'\\xbb'\n'\\xf0'\n'\\xfd'\n'\\xfe'\n'\\xb1'\n'\\xb0'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n'\\xaa'\n'\\xba'\n'\\xe6'\n'\\xb8'\n'\\xc6'\n'\\xa4'\n'\\xb5'\n'\\xdf'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'\\xa1'\n'\\xbf'\n'\\xd0'\n'\\xdd'\n'\\xde'\n'\\xae'\n'\\xa2'\n'\\xa3'\n'\\xa5'\n'\\xb7'\n'\\xa9'\n'@'\n'\\xb6'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xac'\n'|'\n'\\u203e'\n'\\xa8'\n'\\xb4'\n'\\xd7'\n'\\xe4'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'\\xad'\n'\\xf4'\n'\\xa6'\n'\\xf2'\n'\\xf3'\n'\\xf5'\n'\\xfc'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'\\xb9'\n'\\xfb'\n'}'\n'\\xf9'\n'\\xfa'\n'\\xff'\n'\\xd6'\n'\\xf7'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'\\xb2'\n'\\xd4'\n'\\\\'\n'\\xd2'\n'\\xd3'\n'\\xd5'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n'\\xb3'\n'\\xdb'\n']'\n'\\xd9'\n'\\xda'\n'\\x9f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp424":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp424',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x9c'\n'\\t'\n'\\x86'\n'\\x7f'\n'\\x97'\n'\\x8d'\n'\\x8e'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x9d'\n'\\x85'\n'\\x08'\n'\\x87'\n'\\x18'\n'\\x19'\n'\\x92'\n'\\x8f'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\n'\n'\\x17'\n'\\x1b'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x90'\n'\\x91'\n'\\x16'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x04'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x14'\n'\\x15'\n'\\x9e'\n'\\x1a'\n' '\n'\\u05d0'\n'\\u05d1'\n'\\u05d2'\n'\\u05d3'\n'\\u05d4'\n'\\u05d5'\n'\\u05d6'\n'\\u05d7'\n'\\u05d8'\n'\\xa2'\n'.'\n'<'\n'('\n'+'\n'|'\n'&'\n'\\u05d9'\n'\\u05da'\n'\\u05db'\n'\\u05dc'\n'\\u05dd'\n'\\u05de'\n'\\u05df'\n'\\u05e0'\n'\\u05e1'\n'!'\n'$'\n'*'\n')'\n';'\n'\\xac'\n'-'\n'/'\n'\\u05e2'\n'\\u05e3'\n'\\u05e4'\n'\\u05e5'\n'\\u05e6'\n'\\u05e7'\n'\\u05e8'\n'\\u05e9'\n'\\xa6'\n','\n'%'\n'_'\n'>'\n'?'\n'\\ufffe'\n'\\u05ea'\n'\\ufffe'\n'\\ufffe'\n'\\xa0'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2017'\n'`'\n':'\n'#'\n'@'\n\"'\"\n'='\n'\"'\n'\\ufffe'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'\\xab'\n'\\xbb'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xb1'\n'\\xb0'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xb8'\n'\\ufffe'\n'\\xa4'\n'\\xb5'\n'~'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xae'\n'^'\n'\\xa3'\n'\\xa5'\n'\\xb7'\n'\\xa9'\n'\\xa7'\n'\\xb6'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'['\n']'\n'\\xaf'\n'\\xa8'\n'\\xb4'\n'\\xd7'\n'{'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'\\xad'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'}'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'\\xb9'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\\\'\n'\\xf7'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'\\xb2'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n'\\xb3'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\x9f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp437":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp437',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00e4,\n0x0085:0x00e0,\n0x0086:0x00e5,\n0x0087:0x00e7,\n0x0088:0x00ea,\n0x0089:0x00eb,\n0x008a:0x00e8,\n0x008b:0x00ef,\n0x008c:0x00ee,\n0x008d:0x00ec,\n0x008e:0x00c4,\n0x008f:0x00c5,\n0x0090:0x00c9,\n0x0091:0x00e6,\n0x0092:0x00c6,\n0x0093:0x00f4,\n0x0094:0x00f6,\n0x0095:0x00f2,\n0x0096:0x00fb,\n0x0097:0x00f9,\n0x0098:0x00ff,\n0x0099:0x00d6,\n0x009a:0x00dc,\n0x009b:0x00a2,\n0x009c:0x00a3,\n0x009d:0x00a5,\n0x009e:0x20a7,\n0x009f:0x0192,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00f1,\n0x00a5:0x00d1,\n0x00a6:0x00aa,\n0x00a7:0x00ba,\n0x00a8:0x00bf,\n0x00a9:0x2310,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00a1,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x03b1,\n0x00e1:0x00df,\n0x00e2:0x0393,\n0x00e3:0x03c0,\n0x00e4:0x03a3,\n0x00e5:0x03c3,\n0x00e6:0x00b5,\n0x00e7:0x03c4,\n0x00e8:0x03a6,\n0x00e9:0x0398,\n0x00ea:0x03a9,\n0x00eb:0x03b4,\n0x00ec:0x221e,\n0x00ed:0x03c6,\n0x00ee:0x03b5,\n0x00ef:0x2229,\n0x00f0:0x2261,\n0x00f1:0x00b1,\n0x00f2:0x2265,\n0x00f3:0x2264,\n0x00f4:0x2320,\n0x00f5:0x2321,\n0x00f6:0x00f7,\n0x00f7:0x2248,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x207f,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe5'\n'\\xe7'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xef'\n'\\xee'\n'\\xec'\n'\\xc4'\n'\\xc5'\n'\\xc9'\n'\\xe6'\n'\\xc6'\n'\\xf4'\n'\\xf6'\n'\\xf2'\n'\\xfb'\n'\\xf9'\n'\\xff'\n'\\xd6'\n'\\xdc'\n'\\xa2'\n'\\xa3'\n'\\xa5'\n'\\u20a7'\n'\\u0192'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\xf1'\n'\\xd1'\n'\\xaa'\n'\\xba'\n'\\xbf'\n'\\u2310'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xa1'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u03b1'\n'\\xdf'\n'\\u0393'\n'\\u03c0'\n'\\u03a3'\n'\\u03c3'\n'\\xb5'\n'\\u03c4'\n'\\u03a6'\n'\\u0398'\n'\\u03a9'\n'\\u03b4'\n'\\u221e'\n'\\u03c6'\n'\\u03b5'\n'\\u2229'\n'\\u2261'\n'\\xb1'\n'\\u2265'\n'\\u2264'\n'\\u2320'\n'\\u2321'\n'\\xf7'\n'\\u2248'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u207f'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a1:0x00ad,\n0x00a2:0x009b,\n0x00a3:0x009c,\n0x00a5:0x009d,\n0x00aa:0x00a6,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b5:0x00e6,\n0x00b7:0x00fa,\n0x00ba:0x00a7,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00bf:0x00a8,\n0x00c4:0x008e,\n0x00c5:0x008f,\n0x00c6:0x0092,\n0x00c7:0x0080,\n0x00c9:0x0090,\n0x00d1:0x00a5,\n0x00d6:0x0099,\n0x00dc:0x009a,\n0x00df:0x00e1,\n0x00e0:0x0085,\n0x00e1:0x00a0,\n0x00e2:0x0083,\n0x00e4:0x0084,\n0x00e5:0x0086,\n0x00e6:0x0091,\n0x00e7:0x0087,\n0x00e8:0x008a,\n0x00e9:0x0082,\n0x00ea:0x0088,\n0x00eb:0x0089,\n0x00ec:0x008d,\n0x00ed:0x00a1,\n0x00ee:0x008c,\n0x00ef:0x008b,\n0x00f1:0x00a4,\n0x00f2:0x0095,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f6:0x0094,\n0x00f7:0x00f6,\n0x00f9:0x0097,\n0x00fa:0x00a3,\n0x00fb:0x0096,\n0x00fc:0x0081,\n0x00ff:0x0098,\n0x0192:0x009f,\n0x0393:0x00e2,\n0x0398:0x00e9,\n0x03a3:0x00e4,\n0x03a6:0x00e8,\n0x03a9:0x00ea,\n0x03b1:0x00e0,\n0x03b4:0x00eb,\n0x03b5:0x00ee,\n0x03c0:0x00e3,\n0x03c3:0x00e5,\n0x03c4:0x00e7,\n0x03c6:0x00ed,\n0x207f:0x00fc,\n0x20a7:0x009e,\n0x2219:0x00f9,\n0x221a:0x00fb,\n0x221e:0x00ec,\n0x2229:0x00ef,\n0x2248:0x00f7,\n0x2261:0x00f0,\n0x2264:0x00f3,\n0x2265:0x00f2,\n0x2310:0x00a9,\n0x2320:0x00f4,\n0x2321:0x00f5,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp500":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp500',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x9c'\n'\\t'\n'\\x86'\n'\\x7f'\n'\\x97'\n'\\x8d'\n'\\x8e'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x9d'\n'\\x85'\n'\\x08'\n'\\x87'\n'\\x18'\n'\\x19'\n'\\x92'\n'\\x8f'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\n'\n'\\x17'\n'\\x1b'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x90'\n'\\x91'\n'\\x16'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x04'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x14'\n'\\x15'\n'\\x9e'\n'\\x1a'\n' '\n'\\xa0'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe1'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xf1'\n'['\n'.'\n'<'\n'('\n'+'\n'!'\n'&'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xec'\n'\\xdf'\n']'\n'$'\n'*'\n')'\n';'\n'^'\n'-'\n'/'\n'\\xc2'\n'\\xc4'\n'\\xc0'\n'\\xc1'\n'\\xc3'\n'\\xc5'\n'\\xc7'\n'\\xd1'\n'\\xa6'\n','\n'%'\n'_'\n'>'\n'?'\n'\\xf8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'`'\n':'\n'#'\n'@'\n\"'\"\n'='\n'\"'\n'\\xd8'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'\\xab'\n'\\xbb'\n'\\xf0'\n'\\xfd'\n'\\xfe'\n'\\xb1'\n'\\xb0'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n'\\xaa'\n'\\xba'\n'\\xe6'\n'\\xb8'\n'\\xc6'\n'\\xa4'\n'\\xb5'\n'~'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'\\xa1'\n'\\xbf'\n'\\xd0'\n'\\xdd'\n'\\xde'\n'\\xae'\n'\\xa2'\n'\\xa3'\n'\\xa5'\n'\\xb7'\n'\\xa9'\n'\\xa7'\n'\\xb6'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xac'\n'|'\n'\\xaf'\n'\\xa8'\n'\\xb4'\n'\\xd7'\n'{'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'\\xad'\n'\\xf4'\n'\\xf6'\n'\\xf2'\n'\\xf3'\n'\\xf5'\n'}'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'\\xb9'\n'\\xfb'\n'\\xfc'\n'\\xf9'\n'\\xfa'\n'\\xff'\n'\\\\'\n'\\xf7'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'\\xb2'\n'\\xd4'\n'\\xd6'\n'\\xd2'\n'\\xd3'\n'\\xd5'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n'\\xb3'\n'\\xdb'\n'\\xdc'\n'\\xd9'\n'\\xda'\n'\\x9f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp720":[".py","''\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp720',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\xe9'\n'\\xe2'\n'\\x84'\n'\\xe0'\n'\\x86'\n'\\xe7'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xef'\n'\\xee'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\u0651'\n'\\u0652'\n'\\xf4'\n'\\xa4'\n'\\u0640'\n'\\xfb'\n'\\xf9'\n'\\u0621'\n'\\u0622'\n'\\u0623'\n'\\u0624'\n'\\xa3'\n'\\u0625'\n'\\u0626'\n'\\u0627'\n'\\u0628'\n'\\u0629'\n'\\u062a'\n'\\u062b'\n'\\u062c'\n'\\u062d'\n'\\u062e'\n'\\u062f'\n'\\u0630'\n'\\u0631'\n'\\u0632'\n'\\u0633'\n'\\u0634'\n'\\u0635'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u0636'\n'\\u0637'\n'\\u0638'\n'\\u0639'\n'\\u063a'\n'\\u0641'\n'\\xb5'\n'\\u0642'\n'\\u0643'\n'\\u0644'\n'\\u0645'\n'\\u0646'\n'\\u0647'\n'\\u0648'\n'\\u0649'\n'\\u064a'\n'\\u2261'\n'\\u064b'\n'\\u064c'\n'\\u064d'\n'\\u064e'\n'\\u064f'\n'\\u0650'\n'\\u2248'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u207f'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp737":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp737',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x0391,\n0x0081:0x0392,\n0x0082:0x0393,\n0x0083:0x0394,\n0x0084:0x0395,\n0x0085:0x0396,\n0x0086:0x0397,\n0x0087:0x0398,\n0x0088:0x0399,\n0x0089:0x039a,\n0x008a:0x039b,\n0x008b:0x039c,\n0x008c:0x039d,\n0x008d:0x039e,\n0x008e:0x039f,\n0x008f:0x03a0,\n0x0090:0x03a1,\n0x0091:0x03a3,\n0x0092:0x03a4,\n0x0093:0x03a5,\n0x0094:0x03a6,\n0x0095:0x03a7,\n0x0096:0x03a8,\n0x0097:0x03a9,\n0x0098:0x03b1,\n0x0099:0x03b2,\n0x009a:0x03b3,\n0x009b:0x03b4,\n0x009c:0x03b5,\n0x009d:0x03b6,\n0x009e:0x03b7,\n0x009f:0x03b8,\n0x00a0:0x03b9,\n0x00a1:0x03ba,\n0x00a2:0x03bb,\n0x00a3:0x03bc,\n0x00a4:0x03bd,\n0x00a5:0x03be,\n0x00a6:0x03bf,\n0x00a7:0x03c0,\n0x00a8:0x03c1,\n0x00a9:0x03c3,\n0x00aa:0x03c2,\n0x00ab:0x03c4,\n0x00ac:0x03c5,\n0x00ad:0x03c6,\n0x00ae:0x03c7,\n0x00af:0x03c8,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x03c9,\n0x00e1:0x03ac,\n0x00e2:0x03ad,\n0x00e3:0x03ae,\n0x00e4:0x03ca,\n0x00e5:0x03af,\n0x00e6:0x03cc,\n0x00e7:0x03cd,\n0x00e8:0x03cb,\n0x00e9:0x03ce,\n0x00ea:0x0386,\n0x00eb:0x0388,\n0x00ec:0x0389,\n0x00ed:0x038a,\n0x00ee:0x038c,\n0x00ef:0x038e,\n0x00f0:0x038f,\n0x00f1:0x00b1,\n0x00f2:0x2265,\n0x00f3:0x2264,\n0x00f4:0x03aa,\n0x00f5:0x03ab,\n0x00f6:0x00f7,\n0x00f7:0x2248,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x207f,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0391'\n'\\u0392'\n'\\u0393'\n'\\u0394'\n'\\u0395'\n'\\u0396'\n'\\u0397'\n'\\u0398'\n'\\u0399'\n'\\u039a'\n'\\u039b'\n'\\u039c'\n'\\u039d'\n'\\u039e'\n'\\u039f'\n'\\u03a0'\n'\\u03a1'\n'\\u03a3'\n'\\u03a4'\n'\\u03a5'\n'\\u03a6'\n'\\u03a7'\n'\\u03a8'\n'\\u03a9'\n'\\u03b1'\n'\\u03b2'\n'\\u03b3'\n'\\u03b4'\n'\\u03b5'\n'\\u03b6'\n'\\u03b7'\n'\\u03b8'\n'\\u03b9'\n'\\u03ba'\n'\\u03bb'\n'\\u03bc'\n'\\u03bd'\n'\\u03be'\n'\\u03bf'\n'\\u03c0'\n'\\u03c1'\n'\\u03c3'\n'\\u03c2'\n'\\u03c4'\n'\\u03c5'\n'\\u03c6'\n'\\u03c7'\n'\\u03c8'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u03c9'\n'\\u03ac'\n'\\u03ad'\n'\\u03ae'\n'\\u03ca'\n'\\u03af'\n'\\u03cc'\n'\\u03cd'\n'\\u03cb'\n'\\u03ce'\n'\\u0386'\n'\\u0388'\n'\\u0389'\n'\\u038a'\n'\\u038c'\n'\\u038e'\n'\\u038f'\n'\\xb1'\n'\\u2265'\n'\\u2264'\n'\\u03aa'\n'\\u03ab'\n'\\xf7'\n'\\u2248'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u207f'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b7:0x00fa,\n0x00f7:0x00f6,\n0x0386:0x00ea,\n0x0388:0x00eb,\n0x0389:0x00ec,\n0x038a:0x00ed,\n0x038c:0x00ee,\n0x038e:0x00ef,\n0x038f:0x00f0,\n0x0391:0x0080,\n0x0392:0x0081,\n0x0393:0x0082,\n0x0394:0x0083,\n0x0395:0x0084,\n0x0396:0x0085,\n0x0397:0x0086,\n0x0398:0x0087,\n0x0399:0x0088,\n0x039a:0x0089,\n0x039b:0x008a,\n0x039c:0x008b,\n0x039d:0x008c,\n0x039e:0x008d,\n0x039f:0x008e,\n0x03a0:0x008f,\n0x03a1:0x0090,\n0x03a3:0x0091,\n0x03a4:0x0092,\n0x03a5:0x0093,\n0x03a6:0x0094,\n0x03a7:0x0095,\n0x03a8:0x0096,\n0x03a9:0x0097,\n0x03aa:0x00f4,\n0x03ab:0x00f5,\n0x03ac:0x00e1,\n0x03ad:0x00e2,\n0x03ae:0x00e3,\n0x03af:0x00e5,\n0x03b1:0x0098,\n0x03b2:0x0099,\n0x03b3:0x009a,\n0x03b4:0x009b,\n0x03b5:0x009c,\n0x03b6:0x009d,\n0x03b7:0x009e,\n0x03b8:0x009f,\n0x03b9:0x00a0,\n0x03ba:0x00a1,\n0x03bb:0x00a2,\n0x03bc:0x00a3,\n0x03bd:0x00a4,\n0x03be:0x00a5,\n0x03bf:0x00a6,\n0x03c0:0x00a7,\n0x03c1:0x00a8,\n0x03c2:0x00aa,\n0x03c3:0x00a9,\n0x03c4:0x00ab,\n0x03c5:0x00ac,\n0x03c6:0x00ad,\n0x03c7:0x00ae,\n0x03c8:0x00af,\n0x03c9:0x00e0,\n0x03ca:0x00e4,\n0x03cb:0x00e8,\n0x03cc:0x00e6,\n0x03cd:0x00e7,\n0x03ce:0x00e9,\n0x207f:0x00fc,\n0x2219:0x00f9,\n0x221a:0x00fb,\n0x2248:0x00f7,\n0x2264:0x00f3,\n0x2265:0x00f2,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp775":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp775',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x0106,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x0101,\n0x0084:0x00e4,\n0x0085:0x0123,\n0x0086:0x00e5,\n0x0087:0x0107,\n0x0088:0x0142,\n0x0089:0x0113,\n0x008a:0x0156,\n0x008b:0x0157,\n0x008c:0x012b,\n0x008d:0x0179,\n0x008e:0x00c4,\n0x008f:0x00c5,\n0x0090:0x00c9,\n0x0091:0x00e6,\n0x0092:0x00c6,\n0x0093:0x014d,\n0x0094:0x00f6,\n0x0095:0x0122,\n0x0096:0x00a2,\n0x0097:0x015a,\n0x0098:0x015b,\n0x0099:0x00d6,\n0x009a:0x00dc,\n0x009b:0x00f8,\n0x009c:0x00a3,\n0x009d:0x00d8,\n0x009e:0x00d7,\n0x009f:0x00a4,\n0x00a0:0x0100,\n0x00a1:0x012a,\n0x00a2:0x00f3,\n0x00a3:0x017b,\n0x00a4:0x017c,\n0x00a5:0x017a,\n0x00a6:0x201d,\n0x00a7:0x00a6,\n0x00a8:0x00a9,\n0x00a9:0x00ae,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x0141,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x0104,\n0x00b6:0x010c,\n0x00b7:0x0118,\n0x00b8:0x0116,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x012e,\n0x00be:0x0160,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x0172,\n0x00c7:0x016a,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x017d,\n0x00d0:0x0105,\n0x00d1:0x010d,\n0x00d2:0x0119,\n0x00d3:0x0117,\n0x00d4:0x012f,\n0x00d5:0x0161,\n0x00d6:0x0173,\n0x00d7:0x016b,\n0x00d8:0x017e,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x00d3,\n0x00e1:0x00df,\n0x00e2:0x014c,\n0x00e3:0x0143,\n0x00e4:0x00f5,\n0x00e5:0x00d5,\n0x00e6:0x00b5,\n0x00e7:0x0144,\n0x00e8:0x0136,\n0x00e9:0x0137,\n0x00ea:0x013b,\n0x00eb:0x013c,\n0x00ec:0x0146,\n0x00ed:0x0112,\n0x00ee:0x0145,\n0x00ef:0x2019,\n0x00f0:0x00ad,\n0x00f1:0x00b1,\n0x00f2:0x201c,\n0x00f3:0x00be,\n0x00f4:0x00b6,\n0x00f5:0x00a7,\n0x00f6:0x00f7,\n0x00f7:0x201e,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x00b9,\n0x00fc:0x00b3,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0106'\n'\\xfc'\n'\\xe9'\n'\\u0101'\n'\\xe4'\n'\\u0123'\n'\\xe5'\n'\\u0107'\n'\\u0142'\n'\\u0113'\n'\\u0156'\n'\\u0157'\n'\\u012b'\n'\\u0179'\n'\\xc4'\n'\\xc5'\n'\\xc9'\n'\\xe6'\n'\\xc6'\n'\\u014d'\n'\\xf6'\n'\\u0122'\n'\\xa2'\n'\\u015a'\n'\\u015b'\n'\\xd6'\n'\\xdc'\n'\\xf8'\n'\\xa3'\n'\\xd8'\n'\\xd7'\n'\\xa4'\n'\\u0100'\n'\\u012a'\n'\\xf3'\n'\\u017b'\n'\\u017c'\n'\\u017a'\n'\\u201d'\n'\\xa6'\n'\\xa9'\n'\\xae'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\u0141'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u0104'\n'\\u010c'\n'\\u0118'\n'\\u0116'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u012e'\n'\\u0160'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u0172'\n'\\u016a'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u017d'\n'\\u0105'\n'\\u010d'\n'\\u0119'\n'\\u0117'\n'\\u012f'\n'\\u0161'\n'\\u0173'\n'\\u016b'\n'\\u017e'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\xd3'\n'\\xdf'\n'\\u014c'\n'\\u0143'\n'\\xf5'\n'\\xd5'\n'\\xb5'\n'\\u0144'\n'\\u0136'\n'\\u0137'\n'\\u013b'\n'\\u013c'\n'\\u0146'\n'\\u0112'\n'\\u0145'\n'\\u2019'\n'\\xad'\n'\\xb1'\n'\\u201c'\n'\\xbe'\n'\\xb6'\n'\\xa7'\n'\\xf7'\n'\\u201e'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\xb9'\n'\\xb3'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a2:0x0096,\n0x00a3:0x009c,\n0x00a4:0x009f,\n0x00a6:0x00a7,\n0x00a7:0x00f5,\n0x00a9:0x00a8,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00ad:0x00f0,\n0x00ae:0x00a9,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b3:0x00fc,\n0x00b5:0x00e6,\n0x00b6:0x00f4,\n0x00b7:0x00fa,\n0x00b9:0x00fb,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00be:0x00f3,\n0x00c4:0x008e,\n0x00c5:0x008f,\n0x00c6:0x0092,\n0x00c9:0x0090,\n0x00d3:0x00e0,\n0x00d5:0x00e5,\n0x00d6:0x0099,\n0x00d7:0x009e,\n0x00d8:0x009d,\n0x00dc:0x009a,\n0x00df:0x00e1,\n0x00e4:0x0084,\n0x00e5:0x0086,\n0x00e6:0x0091,\n0x00e9:0x0082,\n0x00f3:0x00a2,\n0x00f5:0x00e4,\n0x00f6:0x0094,\n0x00f7:0x00f6,\n0x00f8:0x009b,\n0x00fc:0x0081,\n0x0100:0x00a0,\n0x0101:0x0083,\n0x0104:0x00b5,\n0x0105:0x00d0,\n0x0106:0x0080,\n0x0107:0x0087,\n0x010c:0x00b6,\n0x010d:0x00d1,\n0x0112:0x00ed,\n0x0113:0x0089,\n0x0116:0x00b8,\n0x0117:0x00d3,\n0x0118:0x00b7,\n0x0119:0x00d2,\n0x0122:0x0095,\n0x0123:0x0085,\n0x012a:0x00a1,\n0x012b:0x008c,\n0x012e:0x00bd,\n0x012f:0x00d4,\n0x0136:0x00e8,\n0x0137:0x00e9,\n0x013b:0x00ea,\n0x013c:0x00eb,\n0x0141:0x00ad,\n0x0142:0x0088,\n0x0143:0x00e3,\n0x0144:0x00e7,\n0x0145:0x00ee,\n0x0146:0x00ec,\n0x014c:0x00e2,\n0x014d:0x0093,\n0x0156:0x008a,\n0x0157:0x008b,\n0x015a:0x0097,\n0x015b:0x0098,\n0x0160:0x00be,\n0x0161:0x00d5,\n0x016a:0x00c7,\n0x016b:0x00d7,\n0x0172:0x00c6,\n0x0173:0x00d6,\n0x0179:0x008d,\n0x017a:0x00a5,\n0x017b:0x00a3,\n0x017c:0x00a4,\n0x017d:0x00cf,\n0x017e:0x00d8,\n0x2019:0x00ef,\n0x201c:0x00f2,\n0x201d:0x00a6,\n0x201e:0x00f7,\n0x2219:0x00f9,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2554:0x00c9,\n0x2557:0x00bb,\n0x255a:0x00c8,\n0x255d:0x00bc,\n0x2560:0x00cc,\n0x2563:0x00b9,\n0x2566:0x00cb,\n0x2569:0x00ca,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp850":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp850',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00e4,\n0x0085:0x00e0,\n0x0086:0x00e5,\n0x0087:0x00e7,\n0x0088:0x00ea,\n0x0089:0x00eb,\n0x008a:0x00e8,\n0x008b:0x00ef,\n0x008c:0x00ee,\n0x008d:0x00ec,\n0x008e:0x00c4,\n0x008f:0x00c5,\n0x0090:0x00c9,\n0x0091:0x00e6,\n0x0092:0x00c6,\n0x0093:0x00f4,\n0x0094:0x00f6,\n0x0095:0x00f2,\n0x0096:0x00fb,\n0x0097:0x00f9,\n0x0098:0x00ff,\n0x0099:0x00d6,\n0x009a:0x00dc,\n0x009b:0x00f8,\n0x009c:0x00a3,\n0x009d:0x00d8,\n0x009e:0x00d7,\n0x009f:0x0192,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00f1,\n0x00a5:0x00d1,\n0x00a6:0x00aa,\n0x00a7:0x00ba,\n0x00a8:0x00bf,\n0x00a9:0x00ae,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00a1,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x00c1,\n0x00b6:0x00c2,\n0x00b7:0x00c0,\n0x00b8:0x00a9,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x00a2,\n0x00be:0x00a5,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x00e3,\n0x00c7:0x00c3,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x00a4,\n0x00d0:0x00f0,\n0x00d1:0x00d0,\n0x00d2:0x00ca,\n0x00d3:0x00cb,\n0x00d4:0x00c8,\n0x00d5:0x0131,\n0x00d6:0x00cd,\n0x00d7:0x00ce,\n0x00d8:0x00cf,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x00a6,\n0x00de:0x00cc,\n0x00df:0x2580,\n0x00e0:0x00d3,\n0x00e1:0x00df,\n0x00e2:0x00d4,\n0x00e3:0x00d2,\n0x00e4:0x00f5,\n0x00e5:0x00d5,\n0x00e6:0x00b5,\n0x00e7:0x00fe,\n0x00e8:0x00de,\n0x00e9:0x00da,\n0x00ea:0x00db,\n0x00eb:0x00d9,\n0x00ec:0x00fd,\n0x00ed:0x00dd,\n0x00ee:0x00af,\n0x00ef:0x00b4,\n0x00f0:0x00ad,\n0x00f1:0x00b1,\n0x00f2:0x2017,\n0x00f3:0x00be,\n0x00f4:0x00b6,\n0x00f5:0x00a7,\n0x00f6:0x00f7,\n0x00f7:0x00b8,\n0x00f8:0x00b0,\n0x00f9:0x00a8,\n0x00fa:0x00b7,\n0x00fb:0x00b9,\n0x00fc:0x00b3,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe5'\n'\\xe7'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xef'\n'\\xee'\n'\\xec'\n'\\xc4'\n'\\xc5'\n'\\xc9'\n'\\xe6'\n'\\xc6'\n'\\xf4'\n'\\xf6'\n'\\xf2'\n'\\xfb'\n'\\xf9'\n'\\xff'\n'\\xd6'\n'\\xdc'\n'\\xf8'\n'\\xa3'\n'\\xd8'\n'\\xd7'\n'\\u0192'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\xf1'\n'\\xd1'\n'\\xaa'\n'\\xba'\n'\\xbf'\n'\\xae'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xa1'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\xc1'\n'\\xc2'\n'\\xc0'\n'\\xa9'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\xa2'\n'\\xa5'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\xe3'\n'\\xc3'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\xa4'\n'\\xf0'\n'\\xd0'\n'\\xca'\n'\\xcb'\n'\\xc8'\n'\\u0131'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\xa6'\n'\\xcc'\n'\\u2580'\n'\\xd3'\n'\\xdf'\n'\\xd4'\n'\\xd2'\n'\\xf5'\n'\\xd5'\n'\\xb5'\n'\\xfe'\n'\\xde'\n'\\xda'\n'\\xdb'\n'\\xd9'\n'\\xfd'\n'\\xdd'\n'\\xaf'\n'\\xb4'\n'\\xad'\n'\\xb1'\n'\\u2017'\n'\\xbe'\n'\\xb6'\n'\\xa7'\n'\\xf7'\n'\\xb8'\n'\\xb0'\n'\\xa8'\n'\\xb7'\n'\\xb9'\n'\\xb3'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a1:0x00ad,\n0x00a2:0x00bd,\n0x00a3:0x009c,\n0x00a4:0x00cf,\n0x00a5:0x00be,\n0x00a6:0x00dd,\n0x00a7:0x00f5,\n0x00a8:0x00f9,\n0x00a9:0x00b8,\n0x00aa:0x00a6,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00ad:0x00f0,\n0x00ae:0x00a9,\n0x00af:0x00ee,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b3:0x00fc,\n0x00b4:0x00ef,\n0x00b5:0x00e6,\n0x00b6:0x00f4,\n0x00b7:0x00fa,\n0x00b8:0x00f7,\n0x00b9:0x00fb,\n0x00ba:0x00a7,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00be:0x00f3,\n0x00bf:0x00a8,\n0x00c0:0x00b7,\n0x00c1:0x00b5,\n0x00c2:0x00b6,\n0x00c3:0x00c7,\n0x00c4:0x008e,\n0x00c5:0x008f,\n0x00c6:0x0092,\n0x00c7:0x0080,\n0x00c8:0x00d4,\n0x00c9:0x0090,\n0x00ca:0x00d2,\n0x00cb:0x00d3,\n0x00cc:0x00de,\n0x00cd:0x00d6,\n0x00ce:0x00d7,\n0x00cf:0x00d8,\n0x00d0:0x00d1,\n0x00d1:0x00a5,\n0x00d2:0x00e3,\n0x00d3:0x00e0,\n0x00d4:0x00e2,\n0x00d5:0x00e5,\n0x00d6:0x0099,\n0x00d7:0x009e,\n0x00d8:0x009d,\n0x00d9:0x00eb,\n0x00da:0x00e9,\n0x00db:0x00ea,\n0x00dc:0x009a,\n0x00dd:0x00ed,\n0x00de:0x00e8,\n0x00df:0x00e1,\n0x00e0:0x0085,\n0x00e1:0x00a0,\n0x00e2:0x0083,\n0x00e3:0x00c6,\n0x00e4:0x0084,\n0x00e5:0x0086,\n0x00e6:0x0091,\n0x00e7:0x0087,\n0x00e8:0x008a,\n0x00e9:0x0082,\n0x00ea:0x0088,\n0x00eb:0x0089,\n0x00ec:0x008d,\n0x00ed:0x00a1,\n0x00ee:0x008c,\n0x00ef:0x008b,\n0x00f0:0x00d0,\n0x00f1:0x00a4,\n0x00f2:0x0095,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f5:0x00e4,\n0x00f6:0x0094,\n0x00f7:0x00f6,\n0x00f8:0x009b,\n0x00f9:0x0097,\n0x00fa:0x00a3,\n0x00fb:0x0096,\n0x00fc:0x0081,\n0x00fd:0x00ec,\n0x00fe:0x00e7,\n0x00ff:0x0098,\n0x0131:0x00d5,\n0x0192:0x009f,\n0x2017:0x00f2,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2554:0x00c9,\n0x2557:0x00bb,\n0x255a:0x00c8,\n0x255d:0x00bc,\n0x2560:0x00cc,\n0x2563:0x00b9,\n0x2566:0x00cb,\n0x2569:0x00ca,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp852":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp852',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00e4,\n0x0085:0x016f,\n0x0086:0x0107,\n0x0087:0x00e7,\n0x0088:0x0142,\n0x0089:0x00eb,\n0x008a:0x0150,\n0x008b:0x0151,\n0x008c:0x00ee,\n0x008d:0x0179,\n0x008e:0x00c4,\n0x008f:0x0106,\n0x0090:0x00c9,\n0x0091:0x0139,\n0x0092:0x013a,\n0x0093:0x00f4,\n0x0094:0x00f6,\n0x0095:0x013d,\n0x0096:0x013e,\n0x0097:0x015a,\n0x0098:0x015b,\n0x0099:0x00d6,\n0x009a:0x00dc,\n0x009b:0x0164,\n0x009c:0x0165,\n0x009d:0x0141,\n0x009e:0x00d7,\n0x009f:0x010d,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x0104,\n0x00a5:0x0105,\n0x00a6:0x017d,\n0x00a7:0x017e,\n0x00a8:0x0118,\n0x00a9:0x0119,\n0x00aa:0x00ac,\n0x00ab:0x017a,\n0x00ac:0x010c,\n0x00ad:0x015f,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x00c1,\n0x00b6:0x00c2,\n0x00b7:0x011a,\n0x00b8:0x015e,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x017b,\n0x00be:0x017c,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x0102,\n0x00c7:0x0103,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x00a4,\n0x00d0:0x0111,\n0x00d1:0x0110,\n0x00d2:0x010e,\n0x00d3:0x00cb,\n0x00d4:0x010f,\n0x00d5:0x0147,\n0x00d6:0x00cd,\n0x00d7:0x00ce,\n0x00d8:0x011b,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x0162,\n0x00de:0x016e,\n0x00df:0x2580,\n0x00e0:0x00d3,\n0x00e1:0x00df,\n0x00e2:0x00d4,\n0x00e3:0x0143,\n0x00e4:0x0144,\n0x00e5:0x0148,\n0x00e6:0x0160,\n0x00e7:0x0161,\n0x00e8:0x0154,\n0x00e9:0x00da,\n0x00ea:0x0155,\n0x00eb:0x0170,\n0x00ec:0x00fd,\n0x00ed:0x00dd,\n0x00ee:0x0163,\n0x00ef:0x00b4,\n0x00f0:0x00ad,\n0x00f1:0x02dd,\n0x00f2:0x02db,\n0x00f3:0x02c7,\n0x00f4:0x02d8,\n0x00f5:0x00a7,\n0x00f6:0x00f7,\n0x00f7:0x00b8,\n0x00f8:0x00b0,\n0x00f9:0x00a8,\n0x00fa:0x02d9,\n0x00fb:0x0171,\n0x00fc:0x0158,\n0x00fd:0x0159,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xe4'\n'\\u016f'\n'\\u0107'\n'\\xe7'\n'\\u0142'\n'\\xeb'\n'\\u0150'\n'\\u0151'\n'\\xee'\n'\\u0179'\n'\\xc4'\n'\\u0106'\n'\\xc9'\n'\\u0139'\n'\\u013a'\n'\\xf4'\n'\\xf6'\n'\\u013d'\n'\\u013e'\n'\\u015a'\n'\\u015b'\n'\\xd6'\n'\\xdc'\n'\\u0164'\n'\\u0165'\n'\\u0141'\n'\\xd7'\n'\\u010d'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\u0104'\n'\\u0105'\n'\\u017d'\n'\\u017e'\n'\\u0118'\n'\\u0119'\n'\\xac'\n'\\u017a'\n'\\u010c'\n'\\u015f'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\xc1'\n'\\xc2'\n'\\u011a'\n'\\u015e'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u017b'\n'\\u017c'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u0102'\n'\\u0103'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\xa4'\n'\\u0111'\n'\\u0110'\n'\\u010e'\n'\\xcb'\n'\\u010f'\n'\\u0147'\n'\\xcd'\n'\\xce'\n'\\u011b'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u0162'\n'\\u016e'\n'\\u2580'\n'\\xd3'\n'\\xdf'\n'\\xd4'\n'\\u0143'\n'\\u0144'\n'\\u0148'\n'\\u0160'\n'\\u0161'\n'\\u0154'\n'\\xda'\n'\\u0155'\n'\\u0170'\n'\\xfd'\n'\\xdd'\n'\\u0163'\n'\\xb4'\n'\\xad'\n'\\u02dd'\n'\\u02db'\n'\\u02c7'\n'\\u02d8'\n'\\xa7'\n'\\xf7'\n'\\xb8'\n'\\xb0'\n'\\xa8'\n'\\u02d9'\n'\\u0171'\n'\\u0158'\n'\\u0159'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a4:0x00cf,\n0x00a7:0x00f5,\n0x00a8:0x00f9,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00ad:0x00f0,\n0x00b0:0x00f8,\n0x00b4:0x00ef,\n0x00b8:0x00f7,\n0x00bb:0x00af,\n0x00c1:0x00b5,\n0x00c2:0x00b6,\n0x00c4:0x008e,\n0x00c7:0x0080,\n0x00c9:0x0090,\n0x00cb:0x00d3,\n0x00cd:0x00d6,\n0x00ce:0x00d7,\n0x00d3:0x00e0,\n0x00d4:0x00e2,\n0x00d6:0x0099,\n0x00d7:0x009e,\n0x00da:0x00e9,\n0x00dc:0x009a,\n0x00dd:0x00ed,\n0x00df:0x00e1,\n0x00e1:0x00a0,\n0x00e2:0x0083,\n0x00e4:0x0084,\n0x00e7:0x0087,\n0x00e9:0x0082,\n0x00eb:0x0089,\n0x00ed:0x00a1,\n0x00ee:0x008c,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f6:0x0094,\n0x00f7:0x00f6,\n0x00fa:0x00a3,\n0x00fc:0x0081,\n0x00fd:0x00ec,\n0x0102:0x00c6,\n0x0103:0x00c7,\n0x0104:0x00a4,\n0x0105:0x00a5,\n0x0106:0x008f,\n0x0107:0x0086,\n0x010c:0x00ac,\n0x010d:0x009f,\n0x010e:0x00d2,\n0x010f:0x00d4,\n0x0110:0x00d1,\n0x0111:0x00d0,\n0x0118:0x00a8,\n0x0119:0x00a9,\n0x011a:0x00b7,\n0x011b:0x00d8,\n0x0139:0x0091,\n0x013a:0x0092,\n0x013d:0x0095,\n0x013e:0x0096,\n0x0141:0x009d,\n0x0142:0x0088,\n0x0143:0x00e3,\n0x0144:0x00e4,\n0x0147:0x00d5,\n0x0148:0x00e5,\n0x0150:0x008a,\n0x0151:0x008b,\n0x0154:0x00e8,\n0x0155:0x00ea,\n0x0158:0x00fc,\n0x0159:0x00fd,\n0x015a:0x0097,\n0x015b:0x0098,\n0x015e:0x00b8,\n0x015f:0x00ad,\n0x0160:0x00e6,\n0x0161:0x00e7,\n0x0162:0x00dd,\n0x0163:0x00ee,\n0x0164:0x009b,\n0x0165:0x009c,\n0x016e:0x00de,\n0x016f:0x0085,\n0x0170:0x00eb,\n0x0171:0x00fb,\n0x0179:0x008d,\n0x017a:0x00ab,\n0x017b:0x00bd,\n0x017c:0x00be,\n0x017d:0x00a6,\n0x017e:0x00a7,\n0x02c7:0x00f3,\n0x02d8:0x00f4,\n0x02d9:0x00fa,\n0x02db:0x00f2,\n0x02dd:0x00f1,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2554:0x00c9,\n0x2557:0x00bb,\n0x255a:0x00c8,\n0x255d:0x00bc,\n0x2560:0x00cc,\n0x2563:0x00b9,\n0x2566:0x00cb,\n0x2569:0x00ca,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp855":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp855',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x0452,\n0x0081:0x0402,\n0x0082:0x0453,\n0x0083:0x0403,\n0x0084:0x0451,\n0x0085:0x0401,\n0x0086:0x0454,\n0x0087:0x0404,\n0x0088:0x0455,\n0x0089:0x0405,\n0x008a:0x0456,\n0x008b:0x0406,\n0x008c:0x0457,\n0x008d:0x0407,\n0x008e:0x0458,\n0x008f:0x0408,\n0x0090:0x0459,\n0x0091:0x0409,\n0x0092:0x045a,\n0x0093:0x040a,\n0x0094:0x045b,\n0x0095:0x040b,\n0x0096:0x045c,\n0x0097:0x040c,\n0x0098:0x045e,\n0x0099:0x040e,\n0x009a:0x045f,\n0x009b:0x040f,\n0x009c:0x044e,\n0x009d:0x042e,\n0x009e:0x044a,\n0x009f:0x042a,\n0x00a0:0x0430,\n0x00a1:0x0410,\n0x00a2:0x0431,\n0x00a3:0x0411,\n0x00a4:0x0446,\n0x00a5:0x0426,\n0x00a6:0x0434,\n0x00a7:0x0414,\n0x00a8:0x0435,\n0x00a9:0x0415,\n0x00aa:0x0444,\n0x00ab:0x0424,\n0x00ac:0x0433,\n0x00ad:0x0413,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x0445,\n0x00b6:0x0425,\n0x00b7:0x0438,\n0x00b8:0x0418,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x0439,\n0x00be:0x0419,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x043a,\n0x00c7:0x041a,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x00a4,\n0x00d0:0x043b,\n0x00d1:0x041b,\n0x00d2:0x043c,\n0x00d3:0x041c,\n0x00d4:0x043d,\n0x00d5:0x041d,\n0x00d6:0x043e,\n0x00d7:0x041e,\n0x00d8:0x043f,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x041f,\n0x00de:0x044f,\n0x00df:0x2580,\n0x00e0:0x042f,\n0x00e1:0x0440,\n0x00e2:0x0420,\n0x00e3:0x0441,\n0x00e4:0x0421,\n0x00e5:0x0442,\n0x00e6:0x0422,\n0x00e7:0x0443,\n0x00e8:0x0423,\n0x00e9:0x0436,\n0x00ea:0x0416,\n0x00eb:0x0432,\n0x00ec:0x0412,\n0x00ed:0x044c,\n0x00ee:0x042c,\n0x00ef:0x2116,\n0x00f0:0x00ad,\n0x00f1:0x044b,\n0x00f2:0x042b,\n0x00f3:0x0437,\n0x00f4:0x0417,\n0x00f5:0x0448,\n0x00f6:0x0428,\n0x00f7:0x044d,\n0x00f8:0x042d,\n0x00f9:0x0449,\n0x00fa:0x0429,\n0x00fb:0x0447,\n0x00fc:0x0427,\n0x00fd:0x00a7,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0452'\n'\\u0402'\n'\\u0453'\n'\\u0403'\n'\\u0451'\n'\\u0401'\n'\\u0454'\n'\\u0404'\n'\\u0455'\n'\\u0405'\n'\\u0456'\n'\\u0406'\n'\\u0457'\n'\\u0407'\n'\\u0458'\n'\\u0408'\n'\\u0459'\n'\\u0409'\n'\\u045a'\n'\\u040a'\n'\\u045b'\n'\\u040b'\n'\\u045c'\n'\\u040c'\n'\\u045e'\n'\\u040e'\n'\\u045f'\n'\\u040f'\n'\\u044e'\n'\\u042e'\n'\\u044a'\n'\\u042a'\n'\\u0430'\n'\\u0410'\n'\\u0431'\n'\\u0411'\n'\\u0446'\n'\\u0426'\n'\\u0434'\n'\\u0414'\n'\\u0435'\n'\\u0415'\n'\\u0444'\n'\\u0424'\n'\\u0433'\n'\\u0413'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u0445'\n'\\u0425'\n'\\u0438'\n'\\u0418'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u0439'\n'\\u0419'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u043a'\n'\\u041a'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\xa4'\n'\\u043b'\n'\\u041b'\n'\\u043c'\n'\\u041c'\n'\\u043d'\n'\\u041d'\n'\\u043e'\n'\\u041e'\n'\\u043f'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u041f'\n'\\u044f'\n'\\u2580'\n'\\u042f'\n'\\u0440'\n'\\u0420'\n'\\u0441'\n'\\u0421'\n'\\u0442'\n'\\u0422'\n'\\u0443'\n'\\u0423'\n'\\u0436'\n'\\u0416'\n'\\u0432'\n'\\u0412'\n'\\u044c'\n'\\u042c'\n'\\u2116'\n'\\xad'\n'\\u044b'\n'\\u042b'\n'\\u0437'\n'\\u0417'\n'\\u0448'\n'\\u0428'\n'\\u044d'\n'\\u042d'\n'\\u0449'\n'\\u0429'\n'\\u0447'\n'\\u0427'\n'\\xa7'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a4:0x00cf,\n0x00a7:0x00fd,\n0x00ab:0x00ae,\n0x00ad:0x00f0,\n0x00bb:0x00af,\n0x0401:0x0085,\n0x0402:0x0081,\n0x0403:0x0083,\n0x0404:0x0087,\n0x0405:0x0089,\n0x0406:0x008b,\n0x0407:0x008d,\n0x0408:0x008f,\n0x0409:0x0091,\n0x040a:0x0093,\n0x040b:0x0095,\n0x040c:0x0097,\n0x040e:0x0099,\n0x040f:0x009b,\n0x0410:0x00a1,\n0x0411:0x00a3,\n0x0412:0x00ec,\n0x0413:0x00ad,\n0x0414:0x00a7,\n0x0415:0x00a9,\n0x0416:0x00ea,\n0x0417:0x00f4,\n0x0418:0x00b8,\n0x0419:0x00be,\n0x041a:0x00c7,\n0x041b:0x00d1,\n0x041c:0x00d3,\n0x041d:0x00d5,\n0x041e:0x00d7,\n0x041f:0x00dd,\n0x0420:0x00e2,\n0x0421:0x00e4,\n0x0422:0x00e6,\n0x0423:0x00e8,\n0x0424:0x00ab,\n0x0425:0x00b6,\n0x0426:0x00a5,\n0x0427:0x00fc,\n0x0428:0x00f6,\n0x0429:0x00fa,\n0x042a:0x009f,\n0x042b:0x00f2,\n0x042c:0x00ee,\n0x042d:0x00f8,\n0x042e:0x009d,\n0x042f:0x00e0,\n0x0430:0x00a0,\n0x0431:0x00a2,\n0x0432:0x00eb,\n0x0433:0x00ac,\n0x0434:0x00a6,\n0x0435:0x00a8,\n0x0436:0x00e9,\n0x0437:0x00f3,\n0x0438:0x00b7,\n0x0439:0x00bd,\n0x043a:0x00c6,\n0x043b:0x00d0,\n0x043c:0x00d2,\n0x043d:0x00d4,\n0x043e:0x00d6,\n0x043f:0x00d8,\n0x0440:0x00e1,\n0x0441:0x00e3,\n0x0442:0x00e5,\n0x0443:0x00e7,\n0x0444:0x00aa,\n0x0445:0x00b5,\n0x0446:0x00a4,\n0x0447:0x00fb,\n0x0448:0x00f5,\n0x0449:0x00f9,\n0x044a:0x009e,\n0x044b:0x00f1,\n0x044c:0x00ed,\n0x044d:0x00f7,\n0x044e:0x009c,\n0x044f:0x00de,\n0x0451:0x0084,\n0x0452:0x0080,\n0x0453:0x0082,\n0x0454:0x0086,\n0x0455:0x0088,\n0x0456:0x008a,\n0x0457:0x008c,\n0x0458:0x008e,\n0x0459:0x0090,\n0x045a:0x0092,\n0x045b:0x0094,\n0x045c:0x0096,\n0x045e:0x0098,\n0x045f:0x009a,\n0x2116:0x00ef,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2554:0x00c9,\n0x2557:0x00bb,\n0x255a:0x00c8,\n0x255d:0x00bc,\n0x2560:0x00cc,\n0x2563:0x00b9,\n0x2566:0x00cb,\n0x2569:0x00ca,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp856":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp856',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u05d0'\n'\\u05d1'\n'\\u05d2'\n'\\u05d3'\n'\\u05d4'\n'\\u05d5'\n'\\u05d6'\n'\\u05d7'\n'\\u05d8'\n'\\u05d9'\n'\\u05da'\n'\\u05db'\n'\\u05dc'\n'\\u05dd'\n'\\u05de'\n'\\u05df'\n'\\u05e0'\n'\\u05e1'\n'\\u05e2'\n'\\u05e3'\n'\\u05e4'\n'\\u05e5'\n'\\u05e6'\n'\\u05e7'\n'\\u05e8'\n'\\u05e9'\n'\\u05ea'\n'\\ufffe'\n'\\xa3'\n'\\ufffe'\n'\\xd7'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xae'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\ufffe'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xa9'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\xa2'\n'\\xa5'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\ufffe'\n'\\ufffe'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\xa4'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\xa6'\n'\\ufffe'\n'\\u2580'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xb5'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xaf'\n'\\xb4'\n'\\xad'\n'\\xb1'\n'\\u2017'\n'\\xbe'\n'\\xb6'\n'\\xa7'\n'\\xf7'\n'\\xb8'\n'\\xb0'\n'\\xa8'\n'\\xb7'\n'\\xb9'\n'\\xb3'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp857":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp857',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00e4,\n0x0085:0x00e0,\n0x0086:0x00e5,\n0x0087:0x00e7,\n0x0088:0x00ea,\n0x0089:0x00eb,\n0x008a:0x00e8,\n0x008b:0x00ef,\n0x008c:0x00ee,\n0x008d:0x0131,\n0x008e:0x00c4,\n0x008f:0x00c5,\n0x0090:0x00c9,\n0x0091:0x00e6,\n0x0092:0x00c6,\n0x0093:0x00f4,\n0x0094:0x00f6,\n0x0095:0x00f2,\n0x0096:0x00fb,\n0x0097:0x00f9,\n0x0098:0x0130,\n0x0099:0x00d6,\n0x009a:0x00dc,\n0x009b:0x00f8,\n0x009c:0x00a3,\n0x009d:0x00d8,\n0x009e:0x015e,\n0x009f:0x015f,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00f1,\n0x00a5:0x00d1,\n0x00a6:0x011e,\n0x00a7:0x011f,\n0x00a8:0x00bf,\n0x00a9:0x00ae,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00a1,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x00c1,\n0x00b6:0x00c2,\n0x00b7:0x00c0,\n0x00b8:0x00a9,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x00a2,\n0x00be:0x00a5,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x00e3,\n0x00c7:0x00c3,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x00a4,\n0x00d0:0x00ba,\n0x00d1:0x00aa,\n0x00d2:0x00ca,\n0x00d3:0x00cb,\n0x00d4:0x00c8,\n0x00d5:None,\n0x00d6:0x00cd,\n0x00d7:0x00ce,\n0x00d8:0x00cf,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x00a6,\n0x00de:0x00cc,\n0x00df:0x2580,\n0x00e0:0x00d3,\n0x00e1:0x00df,\n0x00e2:0x00d4,\n0x00e3:0x00d2,\n0x00e4:0x00f5,\n0x00e5:0x00d5,\n0x00e6:0x00b5,\n0x00e7:None,\n0x00e8:0x00d7,\n0x00e9:0x00da,\n0x00ea:0x00db,\n0x00eb:0x00d9,\n0x00ed:0x00ff,\n0x00ee:0x00af,\n0x00ef:0x00b4,\n0x00f0:0x00ad,\n0x00f1:0x00b1,\n0x00f2:None,\n0x00f3:0x00be,\n0x00f4:0x00b6,\n0x00f5:0x00a7,\n0x00f6:0x00f7,\n0x00f7:0x00b8,\n0x00f8:0x00b0,\n0x00f9:0x00a8,\n0x00fa:0x00b7,\n0x00fb:0x00b9,\n0x00fc:0x00b3,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe5'\n'\\xe7'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xef'\n'\\xee'\n'\\u0131'\n'\\xc4'\n'\\xc5'\n'\\xc9'\n'\\xe6'\n'\\xc6'\n'\\xf4'\n'\\xf6'\n'\\xf2'\n'\\xfb'\n'\\xf9'\n'\\u0130'\n'\\xd6'\n'\\xdc'\n'\\xf8'\n'\\xa3'\n'\\xd8'\n'\\u015e'\n'\\u015f'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\xf1'\n'\\xd1'\n'\\u011e'\n'\\u011f'\n'\\xbf'\n'\\xae'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xa1'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\xc1'\n'\\xc2'\n'\\xc0'\n'\\xa9'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\xa2'\n'\\xa5'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\xe3'\n'\\xc3'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\xa4'\n'\\xba'\n'\\xaa'\n'\\xca'\n'\\xcb'\n'\\xc8'\n'\\ufffe'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\xa6'\n'\\xcc'\n'\\u2580'\n'\\xd3'\n'\\xdf'\n'\\xd4'\n'\\xd2'\n'\\xf5'\n'\\xd5'\n'\\xb5'\n'\\ufffe'\n'\\xd7'\n'\\xda'\n'\\xdb'\n'\\xd9'\n'\\xec'\n'\\xff'\n'\\xaf'\n'\\xb4'\n'\\xad'\n'\\xb1'\n'\\ufffe'\n'\\xbe'\n'\\xb6'\n'\\xa7'\n'\\xf7'\n'\\xb8'\n'\\xb0'\n'\\xa8'\n'\\xb7'\n'\\xb9'\n'\\xb3'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a1:0x00ad,\n0x00a2:0x00bd,\n0x00a3:0x009c,\n0x00a4:0x00cf,\n0x00a5:0x00be,\n0x00a6:0x00dd,\n0x00a7:0x00f5,\n0x00a8:0x00f9,\n0x00a9:0x00b8,\n0x00aa:0x00d1,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00ad:0x00f0,\n0x00ae:0x00a9,\n0x00af:0x00ee,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b3:0x00fc,\n0x00b4:0x00ef,\n0x00b5:0x00e6,\n0x00b6:0x00f4,\n0x00b7:0x00fa,\n0x00b8:0x00f7,\n0x00b9:0x00fb,\n0x00ba:0x00d0,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00be:0x00f3,\n0x00bf:0x00a8,\n0x00c0:0x00b7,\n0x00c1:0x00b5,\n0x00c2:0x00b6,\n0x00c3:0x00c7,\n0x00c4:0x008e,\n0x00c5:0x008f,\n0x00c6:0x0092,\n0x00c7:0x0080,\n0x00c8:0x00d4,\n0x00c9:0x0090,\n0x00ca:0x00d2,\n0x00cb:0x00d3,\n0x00cc:0x00de,\n0x00cd:0x00d6,\n0x00ce:0x00d7,\n0x00cf:0x00d8,\n0x00d1:0x00a5,\n0x00d2:0x00e3,\n0x00d3:0x00e0,\n0x00d4:0x00e2,\n0x00d5:0x00e5,\n0x00d6:0x0099,\n0x00d7:0x00e8,\n0x00d8:0x009d,\n0x00d9:0x00eb,\n0x00da:0x00e9,\n0x00db:0x00ea,\n0x00dc:0x009a,\n0x00df:0x00e1,\n0x00e0:0x0085,\n0x00e1:0x00a0,\n0x00e2:0x0083,\n0x00e3:0x00c6,\n0x00e4:0x0084,\n0x00e5:0x0086,\n0x00e6:0x0091,\n0x00e7:0x0087,\n0x00e8:0x008a,\n0x00e9:0x0082,\n0x00ea:0x0088,\n0x00eb:0x0089,\n0x00ec:0x00ec,\n0x00ed:0x00a1,\n0x00ee:0x008c,\n0x00ef:0x008b,\n0x00f1:0x00a4,\n0x00f2:0x0095,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f5:0x00e4,\n0x00f6:0x0094,\n0x00f7:0x00f6,\n0x00f8:0x009b,\n0x00f9:0x0097,\n0x00fa:0x00a3,\n0x00fb:0x0096,\n0x00fc:0x0081,\n0x00ff:0x00ed,\n0x011e:0x00a6,\n0x011f:0x00a7,\n0x0130:0x0098,\n0x0131:0x008d,\n0x015e:0x009e,\n0x015f:0x009f,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2554:0x00c9,\n0x2557:0x00bb,\n0x255a:0x00c8,\n0x255d:0x00bc,\n0x2560:0x00cc,\n0x2563:0x00b9,\n0x2566:0x00cb,\n0x2569:0x00ca,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp858":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp858',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00e4,\n0x0085:0x00e0,\n0x0086:0x00e5,\n0x0087:0x00e7,\n0x0088:0x00ea,\n0x0089:0x00eb,\n0x008a:0x00e8,\n0x008b:0x00ef,\n0x008c:0x00ee,\n0x008d:0x00ec,\n0x008e:0x00c4,\n0x008f:0x00c5,\n0x0090:0x00c9,\n0x0091:0x00e6,\n0x0092:0x00c6,\n0x0093:0x00f4,\n0x0094:0x00f6,\n0x0095:0x00f2,\n0x0096:0x00fb,\n0x0097:0x00f9,\n0x0098:0x00ff,\n0x0099:0x00d6,\n0x009a:0x00dc,\n0x009b:0x00f8,\n0x009c:0x00a3,\n0x009d:0x00d8,\n0x009e:0x00d7,\n0x009f:0x0192,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00f1,\n0x00a5:0x00d1,\n0x00a6:0x00aa,\n0x00a7:0x00ba,\n0x00a8:0x00bf,\n0x00a9:0x00ae,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00a1,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x00c1,\n0x00b6:0x00c2,\n0x00b7:0x00c0,\n0x00b8:0x00a9,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x00a2,\n0x00be:0x00a5,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x00e3,\n0x00c7:0x00c3,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x00a4,\n0x00d0:0x00f0,\n0x00d1:0x00d0,\n0x00d2:0x00ca,\n0x00d3:0x00cb,\n0x00d4:0x00c8,\n0x00d5:0x20ac,\n0x00d6:0x00cd,\n0x00d7:0x00ce,\n0x00d8:0x00cf,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x00a6,\n0x00de:0x00cc,\n0x00df:0x2580,\n0x00e0:0x00d3,\n0x00e1:0x00df,\n0x00e2:0x00d4,\n0x00e3:0x00d2,\n0x00e4:0x00f5,\n0x00e5:0x00d5,\n0x00e6:0x00b5,\n0x00e7:0x00fe,\n0x00e8:0x00de,\n0x00e9:0x00da,\n0x00ea:0x00db,\n0x00eb:0x00d9,\n0x00ec:0x00fd,\n0x00ed:0x00dd,\n0x00ee:0x00af,\n0x00ef:0x00b4,\n0x00f0:0x00ad,\n0x00f1:0x00b1,\n0x00f2:0x2017,\n0x00f3:0x00be,\n0x00f4:0x00b6,\n0x00f5:0x00a7,\n0x00f6:0x00f7,\n0x00f7:0x00b8,\n0x00f8:0x00b0,\n0x00f9:0x00a8,\n0x00fa:0x00b7,\n0x00fb:0x00b9,\n0x00fc:0x00b3,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe5'\n'\\xe7'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xef'\n'\\xee'\n'\\xec'\n'\\xc4'\n'\\xc5'\n'\\xc9'\n'\\xe6'\n'\\xc6'\n'\\xf4'\n'\\xf6'\n'\\xf2'\n'\\xfb'\n'\\xf9'\n'\\xff'\n'\\xd6'\n'\\xdc'\n'\\xf8'\n'\\xa3'\n'\\xd8'\n'\\xd7'\n'\\u0192'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\xf1'\n'\\xd1'\n'\\xaa'\n'\\xba'\n'\\xbf'\n'\\xae'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xa1'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\xc1'\n'\\xc2'\n'\\xc0'\n'\\xa9'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\xa2'\n'\\xa5'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\xe3'\n'\\xc3'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\xa4'\n'\\xf0'\n'\\xd0'\n'\\xca'\n'\\xcb'\n'\\xc8'\n'\\u20ac'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\xa6'\n'\\xcc'\n'\\u2580'\n'\\xd3'\n'\\xdf'\n'\\xd4'\n'\\xd2'\n'\\xf5'\n'\\xd5'\n'\\xb5'\n'\\xfe'\n'\\xde'\n'\\xda'\n'\\xdb'\n'\\xd9'\n'\\xfd'\n'\\xdd'\n'\\xaf'\n'\\xb4'\n'\\xad'\n'\\xb1'\n'\\u2017'\n'\\xbe'\n'\\xb6'\n'\\xa7'\n'\\xf7'\n'\\xb8'\n'\\xb0'\n'\\xa8'\n'\\xb7'\n'\\xb9'\n'\\xb3'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a1:0x00ad,\n0x00a2:0x00bd,\n0x00a3:0x009c,\n0x00a4:0x00cf,\n0x00a5:0x00be,\n0x00a6:0x00dd,\n0x00a7:0x00f5,\n0x00a8:0x00f9,\n0x00a9:0x00b8,\n0x00aa:0x00a6,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00ad:0x00f0,\n0x00ae:0x00a9,\n0x00af:0x00ee,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b3:0x00fc,\n0x00b4:0x00ef,\n0x00b5:0x00e6,\n0x00b6:0x00f4,\n0x00b7:0x00fa,\n0x00b8:0x00f7,\n0x00b9:0x00fb,\n0x00ba:0x00a7,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00be:0x00f3,\n0x00bf:0x00a8,\n0x00c0:0x00b7,\n0x00c1:0x00b5,\n0x00c2:0x00b6,\n0x00c3:0x00c7,\n0x00c4:0x008e,\n0x00c5:0x008f,\n0x00c6:0x0092,\n0x00c7:0x0080,\n0x00c8:0x00d4,\n0x00c9:0x0090,\n0x00ca:0x00d2,\n0x00cb:0x00d3,\n0x00cc:0x00de,\n0x00cd:0x00d6,\n0x00ce:0x00d7,\n0x00cf:0x00d8,\n0x00d0:0x00d1,\n0x00d1:0x00a5,\n0x00d2:0x00e3,\n0x00d3:0x00e0,\n0x00d4:0x00e2,\n0x00d5:0x00e5,\n0x00d6:0x0099,\n0x00d7:0x009e,\n0x00d8:0x009d,\n0x00d9:0x00eb,\n0x00da:0x00e9,\n0x00db:0x00ea,\n0x00dc:0x009a,\n0x00dd:0x00ed,\n0x00de:0x00e8,\n0x00df:0x00e1,\n0x00e0:0x0085,\n0x00e1:0x00a0,\n0x00e2:0x0083,\n0x00e3:0x00c6,\n0x00e4:0x0084,\n0x00e5:0x0086,\n0x00e6:0x0091,\n0x00e7:0x0087,\n0x00e8:0x008a,\n0x00e9:0x0082,\n0x00ea:0x0088,\n0x00eb:0x0089,\n0x00ec:0x008d,\n0x00ed:0x00a1,\n0x00ee:0x008c,\n0x00ef:0x008b,\n0x00f0:0x00d0,\n0x00f1:0x00a4,\n0x00f2:0x0095,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f5:0x00e4,\n0x00f6:0x0094,\n0x00f7:0x00f6,\n0x00f8:0x009b,\n0x00f9:0x0097,\n0x00fa:0x00a3,\n0x00fb:0x0096,\n0x00fc:0x0081,\n0x00fd:0x00ec,\n0x00fe:0x00e7,\n0x00ff:0x0098,\n0x20ac:0x00d5,\n0x0192:0x009f,\n0x2017:0x00f2,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2554:0x00c9,\n0x2557:0x00bb,\n0x255a:0x00c8,\n0x255d:0x00bc,\n0x2560:0x00cc,\n0x2563:0x00b9,\n0x2566:0x00cb,\n0x2569:0x00ca,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp860":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp860',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00e3,\n0x0085:0x00e0,\n0x0086:0x00c1,\n0x0087:0x00e7,\n0x0088:0x00ea,\n0x0089:0x00ca,\n0x008a:0x00e8,\n0x008b:0x00cd,\n0x008c:0x00d4,\n0x008d:0x00ec,\n0x008e:0x00c3,\n0x008f:0x00c2,\n0x0090:0x00c9,\n0x0091:0x00c0,\n0x0092:0x00c8,\n0x0093:0x00f4,\n0x0094:0x00f5,\n0x0095:0x00f2,\n0x0096:0x00da,\n0x0097:0x00f9,\n0x0098:0x00cc,\n0x0099:0x00d5,\n0x009a:0x00dc,\n0x009b:0x00a2,\n0x009c:0x00a3,\n0x009d:0x00d9,\n0x009e:0x20a7,\n0x009f:0x00d3,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00f1,\n0x00a5:0x00d1,\n0x00a6:0x00aa,\n0x00a7:0x00ba,\n0x00a8:0x00bf,\n0x00a9:0x00d2,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00a1,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x03b1,\n0x00e1:0x00df,\n0x00e2:0x0393,\n0x00e3:0x03c0,\n0x00e4:0x03a3,\n0x00e5:0x03c3,\n0x00e6:0x00b5,\n0x00e7:0x03c4,\n0x00e8:0x03a6,\n0x00e9:0x0398,\n0x00ea:0x03a9,\n0x00eb:0x03b4,\n0x00ec:0x221e,\n0x00ed:0x03c6,\n0x00ee:0x03b5,\n0x00ef:0x2229,\n0x00f0:0x2261,\n0x00f1:0x00b1,\n0x00f2:0x2265,\n0x00f3:0x2264,\n0x00f4:0x2320,\n0x00f5:0x2321,\n0x00f6:0x00f7,\n0x00f7:0x2248,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x207f,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xe3'\n'\\xe0'\n'\\xc1'\n'\\xe7'\n'\\xea'\n'\\xca'\n'\\xe8'\n'\\xcd'\n'\\xd4'\n'\\xec'\n'\\xc3'\n'\\xc2'\n'\\xc9'\n'\\xc0'\n'\\xc8'\n'\\xf4'\n'\\xf5'\n'\\xf2'\n'\\xda'\n'\\xf9'\n'\\xcc'\n'\\xd5'\n'\\xdc'\n'\\xa2'\n'\\xa3'\n'\\xd9'\n'\\u20a7'\n'\\xd3'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\xf1'\n'\\xd1'\n'\\xaa'\n'\\xba'\n'\\xbf'\n'\\xd2'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xa1'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u03b1'\n'\\xdf'\n'\\u0393'\n'\\u03c0'\n'\\u03a3'\n'\\u03c3'\n'\\xb5'\n'\\u03c4'\n'\\u03a6'\n'\\u0398'\n'\\u03a9'\n'\\u03b4'\n'\\u221e'\n'\\u03c6'\n'\\u03b5'\n'\\u2229'\n'\\u2261'\n'\\xb1'\n'\\u2265'\n'\\u2264'\n'\\u2320'\n'\\u2321'\n'\\xf7'\n'\\u2248'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u207f'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a1:0x00ad,\n0x00a2:0x009b,\n0x00a3:0x009c,\n0x00aa:0x00a6,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b5:0x00e6,\n0x00b7:0x00fa,\n0x00ba:0x00a7,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00bf:0x00a8,\n0x00c0:0x0091,\n0x00c1:0x0086,\n0x00c2:0x008f,\n0x00c3:0x008e,\n0x00c7:0x0080,\n0x00c8:0x0092,\n0x00c9:0x0090,\n0x00ca:0x0089,\n0x00cc:0x0098,\n0x00cd:0x008b,\n0x00d1:0x00a5,\n0x00d2:0x00a9,\n0x00d3:0x009f,\n0x00d4:0x008c,\n0x00d5:0x0099,\n0x00d9:0x009d,\n0x00da:0x0096,\n0x00dc:0x009a,\n0x00df:0x00e1,\n0x00e0:0x0085,\n0x00e1:0x00a0,\n0x00e2:0x0083,\n0x00e3:0x0084,\n0x00e7:0x0087,\n0x00e8:0x008a,\n0x00e9:0x0082,\n0x00ea:0x0088,\n0x00ec:0x008d,\n0x00ed:0x00a1,\n0x00f1:0x00a4,\n0x00f2:0x0095,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f5:0x0094,\n0x00f7:0x00f6,\n0x00f9:0x0097,\n0x00fa:0x00a3,\n0x00fc:0x0081,\n0x0393:0x00e2,\n0x0398:0x00e9,\n0x03a3:0x00e4,\n0x03a6:0x00e8,\n0x03a9:0x00ea,\n0x03b1:0x00e0,\n0x03b4:0x00eb,\n0x03b5:0x00ee,\n0x03c0:0x00e3,\n0x03c3:0x00e5,\n0x03c4:0x00e7,\n0x03c6:0x00ed,\n0x207f:0x00fc,\n0x20a7:0x009e,\n0x2219:0x00f9,\n0x221a:0x00fb,\n0x221e:0x00ec,\n0x2229:0x00ef,\n0x2248:0x00f7,\n0x2261:0x00f0,\n0x2264:0x00f3,\n0x2265:0x00f2,\n0x2320:0x00f4,\n0x2321:0x00f5,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp861":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp861',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00e4,\n0x0085:0x00e0,\n0x0086:0x00e5,\n0x0087:0x00e7,\n0x0088:0x00ea,\n0x0089:0x00eb,\n0x008a:0x00e8,\n0x008b:0x00d0,\n0x008c:0x00f0,\n0x008d:0x00de,\n0x008e:0x00c4,\n0x008f:0x00c5,\n0x0090:0x00c9,\n0x0091:0x00e6,\n0x0092:0x00c6,\n0x0093:0x00f4,\n0x0094:0x00f6,\n0x0095:0x00fe,\n0x0096:0x00fb,\n0x0097:0x00dd,\n0x0098:0x00fd,\n0x0099:0x00d6,\n0x009a:0x00dc,\n0x009b:0x00f8,\n0x009c:0x00a3,\n0x009d:0x00d8,\n0x009e:0x20a7,\n0x009f:0x0192,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00c1,\n0x00a5:0x00cd,\n0x00a6:0x00d3,\n0x00a7:0x00da,\n0x00a8:0x00bf,\n0x00a9:0x2310,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00a1,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x03b1,\n0x00e1:0x00df,\n0x00e2:0x0393,\n0x00e3:0x03c0,\n0x00e4:0x03a3,\n0x00e5:0x03c3,\n0x00e6:0x00b5,\n0x00e7:0x03c4,\n0x00e8:0x03a6,\n0x00e9:0x0398,\n0x00ea:0x03a9,\n0x00eb:0x03b4,\n0x00ec:0x221e,\n0x00ed:0x03c6,\n0x00ee:0x03b5,\n0x00ef:0x2229,\n0x00f0:0x2261,\n0x00f1:0x00b1,\n0x00f2:0x2265,\n0x00f3:0x2264,\n0x00f4:0x2320,\n0x00f5:0x2321,\n0x00f6:0x00f7,\n0x00f7:0x2248,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x207f,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe5'\n'\\xe7'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xd0'\n'\\xf0'\n'\\xde'\n'\\xc4'\n'\\xc5'\n'\\xc9'\n'\\xe6'\n'\\xc6'\n'\\xf4'\n'\\xf6'\n'\\xfe'\n'\\xfb'\n'\\xdd'\n'\\xfd'\n'\\xd6'\n'\\xdc'\n'\\xf8'\n'\\xa3'\n'\\xd8'\n'\\u20a7'\n'\\u0192'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\xc1'\n'\\xcd'\n'\\xd3'\n'\\xda'\n'\\xbf'\n'\\u2310'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xa1'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u03b1'\n'\\xdf'\n'\\u0393'\n'\\u03c0'\n'\\u03a3'\n'\\u03c3'\n'\\xb5'\n'\\u03c4'\n'\\u03a6'\n'\\u0398'\n'\\u03a9'\n'\\u03b4'\n'\\u221e'\n'\\u03c6'\n'\\u03b5'\n'\\u2229'\n'\\u2261'\n'\\xb1'\n'\\u2265'\n'\\u2264'\n'\\u2320'\n'\\u2321'\n'\\xf7'\n'\\u2248'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u207f'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a1:0x00ad,\n0x00a3:0x009c,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b5:0x00e6,\n0x00b7:0x00fa,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00bf:0x00a8,\n0x00c1:0x00a4,\n0x00c4:0x008e,\n0x00c5:0x008f,\n0x00c6:0x0092,\n0x00c7:0x0080,\n0x00c9:0x0090,\n0x00cd:0x00a5,\n0x00d0:0x008b,\n0x00d3:0x00a6,\n0x00d6:0x0099,\n0x00d8:0x009d,\n0x00da:0x00a7,\n0x00dc:0x009a,\n0x00dd:0x0097,\n0x00de:0x008d,\n0x00df:0x00e1,\n0x00e0:0x0085,\n0x00e1:0x00a0,\n0x00e2:0x0083,\n0x00e4:0x0084,\n0x00e5:0x0086,\n0x00e6:0x0091,\n0x00e7:0x0087,\n0x00e8:0x008a,\n0x00e9:0x0082,\n0x00ea:0x0088,\n0x00eb:0x0089,\n0x00ed:0x00a1,\n0x00f0:0x008c,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f6:0x0094,\n0x00f7:0x00f6,\n0x00f8:0x009b,\n0x00fa:0x00a3,\n0x00fb:0x0096,\n0x00fc:0x0081,\n0x00fd:0x0098,\n0x00fe:0x0095,\n0x0192:0x009f,\n0x0393:0x00e2,\n0x0398:0x00e9,\n0x03a3:0x00e4,\n0x03a6:0x00e8,\n0x03a9:0x00ea,\n0x03b1:0x00e0,\n0x03b4:0x00eb,\n0x03b5:0x00ee,\n0x03c0:0x00e3,\n0x03c3:0x00e5,\n0x03c4:0x00e7,\n0x03c6:0x00ed,\n0x207f:0x00fc,\n0x20a7:0x009e,\n0x2219:0x00f9,\n0x221a:0x00fb,\n0x221e:0x00ec,\n0x2229:0x00ef,\n0x2248:0x00f7,\n0x2261:0x00f0,\n0x2264:0x00f3,\n0x2265:0x00f2,\n0x2310:0x00a9,\n0x2320:0x00f4,\n0x2321:0x00f5,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp862":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp862',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x05d0,\n0x0081:0x05d1,\n0x0082:0x05d2,\n0x0083:0x05d3,\n0x0084:0x05d4,\n0x0085:0x05d5,\n0x0086:0x05d6,\n0x0087:0x05d7,\n0x0088:0x05d8,\n0x0089:0x05d9,\n0x008a:0x05da,\n0x008b:0x05db,\n0x008c:0x05dc,\n0x008d:0x05dd,\n0x008e:0x05de,\n0x008f:0x05df,\n0x0090:0x05e0,\n0x0091:0x05e1,\n0x0092:0x05e2,\n0x0093:0x05e3,\n0x0094:0x05e4,\n0x0095:0x05e5,\n0x0096:0x05e6,\n0x0097:0x05e7,\n0x0098:0x05e8,\n0x0099:0x05e9,\n0x009a:0x05ea,\n0x009b:0x00a2,\n0x009c:0x00a3,\n0x009d:0x00a5,\n0x009e:0x20a7,\n0x009f:0x0192,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00f1,\n0x00a5:0x00d1,\n0x00a6:0x00aa,\n0x00a7:0x00ba,\n0x00a8:0x00bf,\n0x00a9:0x2310,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00a1,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x03b1,\n0x00e1:0x00df,\n0x00e2:0x0393,\n0x00e3:0x03c0,\n0x00e4:0x03a3,\n0x00e5:0x03c3,\n0x00e6:0x00b5,\n0x00e7:0x03c4,\n0x00e8:0x03a6,\n0x00e9:0x0398,\n0x00ea:0x03a9,\n0x00eb:0x03b4,\n0x00ec:0x221e,\n0x00ed:0x03c6,\n0x00ee:0x03b5,\n0x00ef:0x2229,\n0x00f0:0x2261,\n0x00f1:0x00b1,\n0x00f2:0x2265,\n0x00f3:0x2264,\n0x00f4:0x2320,\n0x00f5:0x2321,\n0x00f6:0x00f7,\n0x00f7:0x2248,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x207f,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u05d0'\n'\\u05d1'\n'\\u05d2'\n'\\u05d3'\n'\\u05d4'\n'\\u05d5'\n'\\u05d6'\n'\\u05d7'\n'\\u05d8'\n'\\u05d9'\n'\\u05da'\n'\\u05db'\n'\\u05dc'\n'\\u05dd'\n'\\u05de'\n'\\u05df'\n'\\u05e0'\n'\\u05e1'\n'\\u05e2'\n'\\u05e3'\n'\\u05e4'\n'\\u05e5'\n'\\u05e6'\n'\\u05e7'\n'\\u05e8'\n'\\u05e9'\n'\\u05ea'\n'\\xa2'\n'\\xa3'\n'\\xa5'\n'\\u20a7'\n'\\u0192'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\xf1'\n'\\xd1'\n'\\xaa'\n'\\xba'\n'\\xbf'\n'\\u2310'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xa1'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u03b1'\n'\\xdf'\n'\\u0393'\n'\\u03c0'\n'\\u03a3'\n'\\u03c3'\n'\\xb5'\n'\\u03c4'\n'\\u03a6'\n'\\u0398'\n'\\u03a9'\n'\\u03b4'\n'\\u221e'\n'\\u03c6'\n'\\u03b5'\n'\\u2229'\n'\\u2261'\n'\\xb1'\n'\\u2265'\n'\\u2264'\n'\\u2320'\n'\\u2321'\n'\\xf7'\n'\\u2248'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u207f'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a1:0x00ad,\n0x00a2:0x009b,\n0x00a3:0x009c,\n0x00a5:0x009d,\n0x00aa:0x00a6,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b5:0x00e6,\n0x00b7:0x00fa,\n0x00ba:0x00a7,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00bf:0x00a8,\n0x00d1:0x00a5,\n0x00df:0x00e1,\n0x00e1:0x00a0,\n0x00ed:0x00a1,\n0x00f1:0x00a4,\n0x00f3:0x00a2,\n0x00f7:0x00f6,\n0x00fa:0x00a3,\n0x0192:0x009f,\n0x0393:0x00e2,\n0x0398:0x00e9,\n0x03a3:0x00e4,\n0x03a6:0x00e8,\n0x03a9:0x00ea,\n0x03b1:0x00e0,\n0x03b4:0x00eb,\n0x03b5:0x00ee,\n0x03c0:0x00e3,\n0x03c3:0x00e5,\n0x03c4:0x00e7,\n0x03c6:0x00ed,\n0x05d0:0x0080,\n0x05d1:0x0081,\n0x05d2:0x0082,\n0x05d3:0x0083,\n0x05d4:0x0084,\n0x05d5:0x0085,\n0x05d6:0x0086,\n0x05d7:0x0087,\n0x05d8:0x0088,\n0x05d9:0x0089,\n0x05da:0x008a,\n0x05db:0x008b,\n0x05dc:0x008c,\n0x05dd:0x008d,\n0x05de:0x008e,\n0x05df:0x008f,\n0x05e0:0x0090,\n0x05e1:0x0091,\n0x05e2:0x0092,\n0x05e3:0x0093,\n0x05e4:0x0094,\n0x05e5:0x0095,\n0x05e6:0x0096,\n0x05e7:0x0097,\n0x05e8:0x0098,\n0x05e9:0x0099,\n0x05ea:0x009a,\n0x207f:0x00fc,\n0x20a7:0x009e,\n0x2219:0x00f9,\n0x221a:0x00fb,\n0x221e:0x00ec,\n0x2229:0x00ef,\n0x2248:0x00f7,\n0x2261:0x00f0,\n0x2264:0x00f3,\n0x2265:0x00f2,\n0x2310:0x00a9,\n0x2320:0x00f4,\n0x2321:0x00f5,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp863":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp863',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00c2,\n0x0085:0x00e0,\n0x0086:0x00b6,\n0x0087:0x00e7,\n0x0088:0x00ea,\n0x0089:0x00eb,\n0x008a:0x00e8,\n0x008b:0x00ef,\n0x008c:0x00ee,\n0x008d:0x2017,\n0x008e:0x00c0,\n0x008f:0x00a7,\n0x0090:0x00c9,\n0x0091:0x00c8,\n0x0092:0x00ca,\n0x0093:0x00f4,\n0x0094:0x00cb,\n0x0095:0x00cf,\n0x0096:0x00fb,\n0x0097:0x00f9,\n0x0098:0x00a4,\n0x0099:0x00d4,\n0x009a:0x00dc,\n0x009b:0x00a2,\n0x009c:0x00a3,\n0x009d:0x00d9,\n0x009e:0x00db,\n0x009f:0x0192,\n0x00a0:0x00a6,\n0x00a1:0x00b4,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00a8,\n0x00a5:0x00b8,\n0x00a6:0x00b3,\n0x00a7:0x00af,\n0x00a8:0x00ce,\n0x00a9:0x2310,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00be,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x03b1,\n0x00e1:0x00df,\n0x00e2:0x0393,\n0x00e3:0x03c0,\n0x00e4:0x03a3,\n0x00e5:0x03c3,\n0x00e6:0x00b5,\n0x00e7:0x03c4,\n0x00e8:0x03a6,\n0x00e9:0x0398,\n0x00ea:0x03a9,\n0x00eb:0x03b4,\n0x00ec:0x221e,\n0x00ed:0x03c6,\n0x00ee:0x03b5,\n0x00ef:0x2229,\n0x00f0:0x2261,\n0x00f1:0x00b1,\n0x00f2:0x2265,\n0x00f3:0x2264,\n0x00f4:0x2320,\n0x00f5:0x2321,\n0x00f6:0x00f7,\n0x00f7:0x2248,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x207f,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xc2'\n'\\xe0'\n'\\xb6'\n'\\xe7'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xef'\n'\\xee'\n'\\u2017'\n'\\xc0'\n'\\xa7'\n'\\xc9'\n'\\xc8'\n'\\xca'\n'\\xf4'\n'\\xcb'\n'\\xcf'\n'\\xfb'\n'\\xf9'\n'\\xa4'\n'\\xd4'\n'\\xdc'\n'\\xa2'\n'\\xa3'\n'\\xd9'\n'\\xdb'\n'\\u0192'\n'\\xa6'\n'\\xb4'\n'\\xf3'\n'\\xfa'\n'\\xa8'\n'\\xb8'\n'\\xb3'\n'\\xaf'\n'\\xce'\n'\\u2310'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xbe'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u03b1'\n'\\xdf'\n'\\u0393'\n'\\u03c0'\n'\\u03a3'\n'\\u03c3'\n'\\xb5'\n'\\u03c4'\n'\\u03a6'\n'\\u0398'\n'\\u03a9'\n'\\u03b4'\n'\\u221e'\n'\\u03c6'\n'\\u03b5'\n'\\u2229'\n'\\u2261'\n'\\xb1'\n'\\u2265'\n'\\u2264'\n'\\u2320'\n'\\u2321'\n'\\xf7'\n'\\u2248'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u207f'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a2:0x009b,\n0x00a3:0x009c,\n0x00a4:0x0098,\n0x00a6:0x00a0,\n0x00a7:0x008f,\n0x00a8:0x00a4,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00af:0x00a7,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b3:0x00a6,\n0x00b4:0x00a1,\n0x00b5:0x00e6,\n0x00b6:0x0086,\n0x00b7:0x00fa,\n0x00b8:0x00a5,\n0x00bb:0x00af,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00be:0x00ad,\n0x00c0:0x008e,\n0x00c2:0x0084,\n0x00c7:0x0080,\n0x00c8:0x0091,\n0x00c9:0x0090,\n0x00ca:0x0092,\n0x00cb:0x0094,\n0x00ce:0x00a8,\n0x00cf:0x0095,\n0x00d4:0x0099,\n0x00d9:0x009d,\n0x00db:0x009e,\n0x00dc:0x009a,\n0x00df:0x00e1,\n0x00e0:0x0085,\n0x00e2:0x0083,\n0x00e7:0x0087,\n0x00e8:0x008a,\n0x00e9:0x0082,\n0x00ea:0x0088,\n0x00eb:0x0089,\n0x00ee:0x008c,\n0x00ef:0x008b,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f7:0x00f6,\n0x00f9:0x0097,\n0x00fa:0x00a3,\n0x00fb:0x0096,\n0x00fc:0x0081,\n0x0192:0x009f,\n0x0393:0x00e2,\n0x0398:0x00e9,\n0x03a3:0x00e4,\n0x03a6:0x00e8,\n0x03a9:0x00ea,\n0x03b1:0x00e0,\n0x03b4:0x00eb,\n0x03b5:0x00ee,\n0x03c0:0x00e3,\n0x03c3:0x00e5,\n0x03c4:0x00e7,\n0x03c6:0x00ed,\n0x2017:0x008d,\n0x207f:0x00fc,\n0x2219:0x00f9,\n0x221a:0x00fb,\n0x221e:0x00ec,\n0x2229:0x00ef,\n0x2248:0x00f7,\n0x2261:0x00f0,\n0x2264:0x00f3,\n0x2265:0x00f2,\n0x2310:0x00a9,\n0x2320:0x00f4,\n0x2321:0x00f5,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp864":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp864',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0025:0x066a,\n0x0080:0x00b0,\n0x0081:0x00b7,\n0x0082:0x2219,\n0x0083:0x221a,\n0x0084:0x2592,\n0x0085:0x2500,\n0x0086:0x2502,\n0x0087:0x253c,\n0x0088:0x2524,\n0x0089:0x252c,\n0x008a:0x251c,\n0x008b:0x2534,\n0x008c:0x2510,\n0x008d:0x250c,\n0x008e:0x2514,\n0x008f:0x2518,\n0x0090:0x03b2,\n0x0091:0x221e,\n0x0092:0x03c6,\n0x0093:0x00b1,\n0x0094:0x00bd,\n0x0095:0x00bc,\n0x0096:0x2248,\n0x0097:0x00ab,\n0x0098:0x00bb,\n0x0099:0xfef7,\n0x009a:0xfef8,\n0x009b:None,\n0x009c:None,\n0x009d:0xfefb,\n0x009e:0xfefc,\n0x009f:None,\n0x00a1:0x00ad,\n0x00a2:0xfe82,\n0x00a5:0xfe84,\n0x00a6:None,\n0x00a7:None,\n0x00a8:0xfe8e,\n0x00a9:0xfe8f,\n0x00aa:0xfe95,\n0x00ab:0xfe99,\n0x00ac:0x060c,\n0x00ad:0xfe9d,\n0x00ae:0xfea1,\n0x00af:0xfea5,\n0x00b0:0x0660,\n0x00b1:0x0661,\n0x00b2:0x0662,\n0x00b3:0x0663,\n0x00b4:0x0664,\n0x00b5:0x0665,\n0x00b6:0x0666,\n0x00b7:0x0667,\n0x00b8:0x0668,\n0x00b9:0x0669,\n0x00ba:0xfed1,\n0x00bb:0x061b,\n0x00bc:0xfeb1,\n0x00bd:0xfeb5,\n0x00be:0xfeb9,\n0x00bf:0x061f,\n0x00c0:0x00a2,\n0x00c1:0xfe80,\n0x00c2:0xfe81,\n0x00c3:0xfe83,\n0x00c4:0xfe85,\n0x00c5:0xfeca,\n0x00c6:0xfe8b,\n0x00c7:0xfe8d,\n0x00c8:0xfe91,\n0x00c9:0xfe93,\n0x00ca:0xfe97,\n0x00cb:0xfe9b,\n0x00cc:0xfe9f,\n0x00cd:0xfea3,\n0x00ce:0xfea7,\n0x00cf:0xfea9,\n0x00d0:0xfeab,\n0x00d1:0xfead,\n0x00d2:0xfeaf,\n0x00d3:0xfeb3,\n0x00d4:0xfeb7,\n0x00d5:0xfebb,\n0x00d6:0xfebf,\n0x00d7:0xfec1,\n0x00d8:0xfec5,\n0x00d9:0xfecb,\n0x00da:0xfecf,\n0x00db:0x00a6,\n0x00dc:0x00ac,\n0x00dd:0x00f7,\n0x00de:0x00d7,\n0x00df:0xfec9,\n0x00e0:0x0640,\n0x00e1:0xfed3,\n0x00e2:0xfed7,\n0x00e3:0xfedb,\n0x00e4:0xfedf,\n0x00e5:0xfee3,\n0x00e6:0xfee7,\n0x00e7:0xfeeb,\n0x00e8:0xfeed,\n0x00e9:0xfeef,\n0x00ea:0xfef3,\n0x00eb:0xfebd,\n0x00ec:0xfecc,\n0x00ed:0xfece,\n0x00ee:0xfecd,\n0x00ef:0xfee1,\n0x00f0:0xfe7d,\n0x00f1:0x0651,\n0x00f2:0xfee5,\n0x00f3:0xfee9,\n0x00f4:0xfeec,\n0x00f5:0xfef0,\n0x00f6:0xfef2,\n0x00f7:0xfed0,\n0x00f8:0xfed5,\n0x00f9:0xfef5,\n0x00fa:0xfef6,\n0x00fb:0xfedd,\n0x00fc:0xfed9,\n0x00fd:0xfef1,\n0x00fe:0x25a0,\n0x00ff:None,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'\\u066a'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xb0'\n'\\xb7'\n'\\u2219'\n'\\u221a'\n'\\u2592'\n'\\u2500'\n'\\u2502'\n'\\u253c'\n'\\u2524'\n'\\u252c'\n'\\u251c'\n'\\u2534'\n'\\u2510'\n'\\u250c'\n'\\u2514'\n'\\u2518'\n'\\u03b2'\n'\\u221e'\n'\\u03c6'\n'\\xb1'\n'\\xbd'\n'\\xbc'\n'\\u2248'\n'\\xab'\n'\\xbb'\n'\\ufef7'\n'\\ufef8'\n'\\ufffe'\n'\\ufffe'\n'\\ufefb'\n'\\ufefc'\n'\\ufffe'\n'\\xa0'\n'\\xad'\n'\\ufe82'\n'\\xa3'\n'\\xa4'\n'\\ufe84'\n'\\ufffe'\n'\\ufffe'\n'\\ufe8e'\n'\\ufe8f'\n'\\ufe95'\n'\\ufe99'\n'\\u060c'\n'\\ufe9d'\n'\\ufea1'\n'\\ufea5'\n'\\u0660'\n'\\u0661'\n'\\u0662'\n'\\u0663'\n'\\u0664'\n'\\u0665'\n'\\u0666'\n'\\u0667'\n'\\u0668'\n'\\u0669'\n'\\ufed1'\n'\\u061b'\n'\\ufeb1'\n'\\ufeb5'\n'\\ufeb9'\n'\\u061f'\n'\\xa2'\n'\\ufe80'\n'\\ufe81'\n'\\ufe83'\n'\\ufe85'\n'\\ufeca'\n'\\ufe8b'\n'\\ufe8d'\n'\\ufe91'\n'\\ufe93'\n'\\ufe97'\n'\\ufe9b'\n'\\ufe9f'\n'\\ufea3'\n'\\ufea7'\n'\\ufea9'\n'\\ufeab'\n'\\ufead'\n'\\ufeaf'\n'\\ufeb3'\n'\\ufeb7'\n'\\ufebb'\n'\\ufebf'\n'\\ufec1'\n'\\ufec5'\n'\\ufecb'\n'\\ufecf'\n'\\xa6'\n'\\xac'\n'\\xf7'\n'\\xd7'\n'\\ufec9'\n'\\u0640'\n'\\ufed3'\n'\\ufed7'\n'\\ufedb'\n'\\ufedf'\n'\\ufee3'\n'\\ufee7'\n'\\ufeeb'\n'\\ufeed'\n'\\ufeef'\n'\\ufef3'\n'\\ufebd'\n'\\ufecc'\n'\\ufece'\n'\\ufecd'\n'\\ufee1'\n'\\ufe7d'\n'\\u0651'\n'\\ufee5'\n'\\ufee9'\n'\\ufeec'\n'\\ufef0'\n'\\ufef2'\n'\\ufed0'\n'\\ufed5'\n'\\ufef5'\n'\\ufef6'\n'\\ufedd'\n'\\ufed9'\n'\\ufef1'\n'\\u25a0'\n'\\ufffe'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00a0,\n0x00a2:0x00c0,\n0x00a3:0x00a3,\n0x00a4:0x00a4,\n0x00a6:0x00db,\n0x00ab:0x0097,\n0x00ac:0x00dc,\n0x00ad:0x00a1,\n0x00b0:0x0080,\n0x00b1:0x0093,\n0x00b7:0x0081,\n0x00bb:0x0098,\n0x00bc:0x0095,\n0x00bd:0x0094,\n0x00d7:0x00de,\n0x00f7:0x00dd,\n0x03b2:0x0090,\n0x03c6:0x0092,\n0x060c:0x00ac,\n0x061b:0x00bb,\n0x061f:0x00bf,\n0x0640:0x00e0,\n0x0651:0x00f1,\n0x0660:0x00b0,\n0x0661:0x00b1,\n0x0662:0x00b2,\n0x0663:0x00b3,\n0x0664:0x00b4,\n0x0665:0x00b5,\n0x0666:0x00b6,\n0x0667:0x00b7,\n0x0668:0x00b8,\n0x0669:0x00b9,\n0x066a:0x0025,\n0x2219:0x0082,\n0x221a:0x0083,\n0x221e:0x0091,\n0x2248:0x0096,\n0x2500:0x0085,\n0x2502:0x0086,\n0x250c:0x008d,\n0x2510:0x008c,\n0x2514:0x008e,\n0x2518:0x008f,\n0x251c:0x008a,\n0x2524:0x0088,\n0x252c:0x0089,\n0x2534:0x008b,\n0x253c:0x0087,\n0x2592:0x0084,\n0x25a0:0x00fe,\n0xfe7d:0x00f0,\n0xfe80:0x00c1,\n0xfe81:0x00c2,\n0xfe82:0x00a2,\n0xfe83:0x00c3,\n0xfe84:0x00a5,\n0xfe85:0x00c4,\n0xfe8b:0x00c6,\n0xfe8d:0x00c7,\n0xfe8e:0x00a8,\n0xfe8f:0x00a9,\n0xfe91:0x00c8,\n0xfe93:0x00c9,\n0xfe95:0x00aa,\n0xfe97:0x00ca,\n0xfe99:0x00ab,\n0xfe9b:0x00cb,\n0xfe9d:0x00ad,\n0xfe9f:0x00cc,\n0xfea1:0x00ae,\n0xfea3:0x00cd,\n0xfea5:0x00af,\n0xfea7:0x00ce,\n0xfea9:0x00cf,\n0xfeab:0x00d0,\n0xfead:0x00d1,\n0xfeaf:0x00d2,\n0xfeb1:0x00bc,\n0xfeb3:0x00d3,\n0xfeb5:0x00bd,\n0xfeb7:0x00d4,\n0xfeb9:0x00be,\n0xfebb:0x00d5,\n0xfebd:0x00eb,\n0xfebf:0x00d6,\n0xfec1:0x00d7,\n0xfec5:0x00d8,\n0xfec9:0x00df,\n0xfeca:0x00c5,\n0xfecb:0x00d9,\n0xfecc:0x00ec,\n0xfecd:0x00ee,\n0xfece:0x00ed,\n0xfecf:0x00da,\n0xfed0:0x00f7,\n0xfed1:0x00ba,\n0xfed3:0x00e1,\n0xfed5:0x00f8,\n0xfed7:0x00e2,\n0xfed9:0x00fc,\n0xfedb:0x00e3,\n0xfedd:0x00fb,\n0xfedf:0x00e4,\n0xfee1:0x00ef,\n0xfee3:0x00e5,\n0xfee5:0x00f2,\n0xfee7:0x00e6,\n0xfee9:0x00f3,\n0xfeeb:0x00e7,\n0xfeec:0x00f4,\n0xfeed:0x00e8,\n0xfeef:0x00e9,\n0xfef0:0x00f5,\n0xfef1:0x00fd,\n0xfef2:0x00f6,\n0xfef3:0x00ea,\n0xfef5:0x00f9,\n0xfef6:0x00fa,\n0xfef7:0x0099,\n0xfef8:0x009a,\n0xfefb:0x009d,\n0xfefc:0x009e,\n}\n",["codecs"]],"encodings.cp865":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp865',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c7,\n0x0081:0x00fc,\n0x0082:0x00e9,\n0x0083:0x00e2,\n0x0084:0x00e4,\n0x0085:0x00e0,\n0x0086:0x00e5,\n0x0087:0x00e7,\n0x0088:0x00ea,\n0x0089:0x00eb,\n0x008a:0x00e8,\n0x008b:0x00ef,\n0x008c:0x00ee,\n0x008d:0x00ec,\n0x008e:0x00c4,\n0x008f:0x00c5,\n0x0090:0x00c9,\n0x0091:0x00e6,\n0x0092:0x00c6,\n0x0093:0x00f4,\n0x0094:0x00f6,\n0x0095:0x00f2,\n0x0096:0x00fb,\n0x0097:0x00f9,\n0x0098:0x00ff,\n0x0099:0x00d6,\n0x009a:0x00dc,\n0x009b:0x00f8,\n0x009c:0x00a3,\n0x009d:0x00d8,\n0x009e:0x20a7,\n0x009f:0x0192,\n0x00a0:0x00e1,\n0x00a1:0x00ed,\n0x00a2:0x00f3,\n0x00a3:0x00fa,\n0x00a4:0x00f1,\n0x00a5:0x00d1,\n0x00a6:0x00aa,\n0x00a7:0x00ba,\n0x00a8:0x00bf,\n0x00a9:0x2310,\n0x00aa:0x00ac,\n0x00ab:0x00bd,\n0x00ac:0x00bc,\n0x00ad:0x00a1,\n0x00ae:0x00ab,\n0x00af:0x00a4,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x03b1,\n0x00e1:0x00df,\n0x00e2:0x0393,\n0x00e3:0x03c0,\n0x00e4:0x03a3,\n0x00e5:0x03c3,\n0x00e6:0x00b5,\n0x00e7:0x03c4,\n0x00e8:0x03a6,\n0x00e9:0x0398,\n0x00ea:0x03a9,\n0x00eb:0x03b4,\n0x00ec:0x221e,\n0x00ed:0x03c6,\n0x00ee:0x03b5,\n0x00ef:0x2229,\n0x00f0:0x2261,\n0x00f1:0x00b1,\n0x00f2:0x2265,\n0x00f3:0x2264,\n0x00f4:0x2320,\n0x00f5:0x2321,\n0x00f6:0x00f7,\n0x00f7:0x2248,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x207f,\n0x00fd:0x00b2,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc7'\n'\\xfc'\n'\\xe9'\n'\\xe2'\n'\\xe4'\n'\\xe0'\n'\\xe5'\n'\\xe7'\n'\\xea'\n'\\xeb'\n'\\xe8'\n'\\xef'\n'\\xee'\n'\\xec'\n'\\xc4'\n'\\xc5'\n'\\xc9'\n'\\xe6'\n'\\xc6'\n'\\xf4'\n'\\xf6'\n'\\xf2'\n'\\xfb'\n'\\xf9'\n'\\xff'\n'\\xd6'\n'\\xdc'\n'\\xf8'\n'\\xa3'\n'\\xd8'\n'\\u20a7'\n'\\u0192'\n'\\xe1'\n'\\xed'\n'\\xf3'\n'\\xfa'\n'\\xf1'\n'\\xd1'\n'\\xaa'\n'\\xba'\n'\\xbf'\n'\\u2310'\n'\\xac'\n'\\xbd'\n'\\xbc'\n'\\xa1'\n'\\xab'\n'\\xa4'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u03b1'\n'\\xdf'\n'\\u0393'\n'\\u03c0'\n'\\u03a3'\n'\\u03c3'\n'\\xb5'\n'\\u03c4'\n'\\u03a6'\n'\\u0398'\n'\\u03a9'\n'\\u03b4'\n'\\u221e'\n'\\u03c6'\n'\\u03b5'\n'\\u2229'\n'\\u2261'\n'\\xb1'\n'\\u2265'\n'\\u2264'\n'\\u2320'\n'\\u2321'\n'\\xf7'\n'\\u2248'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u207f'\n'\\xb2'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a1:0x00ad,\n0x00a3:0x009c,\n0x00a4:0x00af,\n0x00aa:0x00a6,\n0x00ab:0x00ae,\n0x00ac:0x00aa,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x00fd,\n0x00b5:0x00e6,\n0x00b7:0x00fa,\n0x00ba:0x00a7,\n0x00bc:0x00ac,\n0x00bd:0x00ab,\n0x00bf:0x00a8,\n0x00c4:0x008e,\n0x00c5:0x008f,\n0x00c6:0x0092,\n0x00c7:0x0080,\n0x00c9:0x0090,\n0x00d1:0x00a5,\n0x00d6:0x0099,\n0x00d8:0x009d,\n0x00dc:0x009a,\n0x00df:0x00e1,\n0x00e0:0x0085,\n0x00e1:0x00a0,\n0x00e2:0x0083,\n0x00e4:0x0084,\n0x00e5:0x0086,\n0x00e6:0x0091,\n0x00e7:0x0087,\n0x00e8:0x008a,\n0x00e9:0x0082,\n0x00ea:0x0088,\n0x00eb:0x0089,\n0x00ec:0x008d,\n0x00ed:0x00a1,\n0x00ee:0x008c,\n0x00ef:0x008b,\n0x00f1:0x00a4,\n0x00f2:0x0095,\n0x00f3:0x00a2,\n0x00f4:0x0093,\n0x00f6:0x0094,\n0x00f7:0x00f6,\n0x00f8:0x009b,\n0x00f9:0x0097,\n0x00fa:0x00a3,\n0x00fb:0x0096,\n0x00fc:0x0081,\n0x00ff:0x0098,\n0x0192:0x009f,\n0x0393:0x00e2,\n0x0398:0x00e9,\n0x03a3:0x00e4,\n0x03a6:0x00e8,\n0x03a9:0x00ea,\n0x03b1:0x00e0,\n0x03b4:0x00eb,\n0x03b5:0x00ee,\n0x03c0:0x00e3,\n0x03c3:0x00e5,\n0x03c4:0x00e7,\n0x03c6:0x00ed,\n0x207f:0x00fc,\n0x20a7:0x009e,\n0x2219:0x00f9,\n0x221a:0x00fb,\n0x221e:0x00ec,\n0x2229:0x00ef,\n0x2248:0x00f7,\n0x2261:0x00f0,\n0x2264:0x00f3,\n0x2265:0x00f2,\n0x2310:0x00a9,\n0x2320:0x00f4,\n0x2321:0x00f5,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp866":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp866',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x0410,\n0x0081:0x0411,\n0x0082:0x0412,\n0x0083:0x0413,\n0x0084:0x0414,\n0x0085:0x0415,\n0x0086:0x0416,\n0x0087:0x0417,\n0x0088:0x0418,\n0x0089:0x0419,\n0x008a:0x041a,\n0x008b:0x041b,\n0x008c:0x041c,\n0x008d:0x041d,\n0x008e:0x041e,\n0x008f:0x041f,\n0x0090:0x0420,\n0x0091:0x0421,\n0x0092:0x0422,\n0x0093:0x0423,\n0x0094:0x0424,\n0x0095:0x0425,\n0x0096:0x0426,\n0x0097:0x0427,\n0x0098:0x0428,\n0x0099:0x0429,\n0x009a:0x042a,\n0x009b:0x042b,\n0x009c:0x042c,\n0x009d:0x042d,\n0x009e:0x042e,\n0x009f:0x042f,\n0x00a0:0x0430,\n0x00a1:0x0431,\n0x00a2:0x0432,\n0x00a3:0x0433,\n0x00a4:0x0434,\n0x00a5:0x0435,\n0x00a6:0x0436,\n0x00a7:0x0437,\n0x00a8:0x0438,\n0x00a9:0x0439,\n0x00aa:0x043a,\n0x00ab:0x043b,\n0x00ac:0x043c,\n0x00ad:0x043d,\n0x00ae:0x043e,\n0x00af:0x043f,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x2561,\n0x00b6:0x2562,\n0x00b7:0x2556,\n0x00b8:0x2555,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x255c,\n0x00be:0x255b,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x255e,\n0x00c7:0x255f,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x2567,\n0x00d0:0x2568,\n0x00d1:0x2564,\n0x00d2:0x2565,\n0x00d3:0x2559,\n0x00d4:0x2558,\n0x00d5:0x2552,\n0x00d6:0x2553,\n0x00d7:0x256b,\n0x00d8:0x256a,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x258c,\n0x00de:0x2590,\n0x00df:0x2580,\n0x00e0:0x0440,\n0x00e1:0x0441,\n0x00e2:0x0442,\n0x00e3:0x0443,\n0x00e4:0x0444,\n0x00e5:0x0445,\n0x00e6:0x0446,\n0x00e7:0x0447,\n0x00e8:0x0448,\n0x00e9:0x0449,\n0x00ea:0x044a,\n0x00eb:0x044b,\n0x00ec:0x044c,\n0x00ed:0x044d,\n0x00ee:0x044e,\n0x00ef:0x044f,\n0x00f0:0x0401,\n0x00f1:0x0451,\n0x00f2:0x0404,\n0x00f3:0x0454,\n0x00f4:0x0407,\n0x00f5:0x0457,\n0x00f6:0x040e,\n0x00f7:0x045e,\n0x00f8:0x00b0,\n0x00f9:0x2219,\n0x00fa:0x00b7,\n0x00fb:0x221a,\n0x00fc:0x2116,\n0x00fd:0x00a4,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0410'\n'\\u0411'\n'\\u0412'\n'\\u0413'\n'\\u0414'\n'\\u0415'\n'\\u0416'\n'\\u0417'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0424'\n'\\u0425'\n'\\u0426'\n'\\u0427'\n'\\u0428'\n'\\u0429'\n'\\u042a'\n'\\u042b'\n'\\u042c'\n'\\u042d'\n'\\u042e'\n'\\u042f'\n'\\u0430'\n'\\u0431'\n'\\u0432'\n'\\u0433'\n'\\u0434'\n'\\u0435'\n'\\u0436'\n'\\u0437'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u2561'\n'\\u2562'\n'\\u2556'\n'\\u2555'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u255c'\n'\\u255b'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u255e'\n'\\u255f'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u2567'\n'\\u2568'\n'\\u2564'\n'\\u2565'\n'\\u2559'\n'\\u2558'\n'\\u2552'\n'\\u2553'\n'\\u256b'\n'\\u256a'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u258c'\n'\\u2590'\n'\\u2580'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0444'\n'\\u0445'\n'\\u0446'\n'\\u0447'\n'\\u0448'\n'\\u0449'\n'\\u044a'\n'\\u044b'\n'\\u044c'\n'\\u044d'\n'\\u044e'\n'\\u044f'\n'\\u0401'\n'\\u0451'\n'\\u0404'\n'\\u0454'\n'\\u0407'\n'\\u0457'\n'\\u040e'\n'\\u045e'\n'\\xb0'\n'\\u2219'\n'\\xb7'\n'\\u221a'\n'\\u2116'\n'\\xa4'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a4:0x00fd,\n0x00b0:0x00f8,\n0x00b7:0x00fa,\n0x0401:0x00f0,\n0x0404:0x00f2,\n0x0407:0x00f4,\n0x040e:0x00f6,\n0x0410:0x0080,\n0x0411:0x0081,\n0x0412:0x0082,\n0x0413:0x0083,\n0x0414:0x0084,\n0x0415:0x0085,\n0x0416:0x0086,\n0x0417:0x0087,\n0x0418:0x0088,\n0x0419:0x0089,\n0x041a:0x008a,\n0x041b:0x008b,\n0x041c:0x008c,\n0x041d:0x008d,\n0x041e:0x008e,\n0x041f:0x008f,\n0x0420:0x0090,\n0x0421:0x0091,\n0x0422:0x0092,\n0x0423:0x0093,\n0x0424:0x0094,\n0x0425:0x0095,\n0x0426:0x0096,\n0x0427:0x0097,\n0x0428:0x0098,\n0x0429:0x0099,\n0x042a:0x009a,\n0x042b:0x009b,\n0x042c:0x009c,\n0x042d:0x009d,\n0x042e:0x009e,\n0x042f:0x009f,\n0x0430:0x00a0,\n0x0431:0x00a1,\n0x0432:0x00a2,\n0x0433:0x00a3,\n0x0434:0x00a4,\n0x0435:0x00a5,\n0x0436:0x00a6,\n0x0437:0x00a7,\n0x0438:0x00a8,\n0x0439:0x00a9,\n0x043a:0x00aa,\n0x043b:0x00ab,\n0x043c:0x00ac,\n0x043d:0x00ad,\n0x043e:0x00ae,\n0x043f:0x00af,\n0x0440:0x00e0,\n0x0441:0x00e1,\n0x0442:0x00e2,\n0x0443:0x00e3,\n0x0444:0x00e4,\n0x0445:0x00e5,\n0x0446:0x00e6,\n0x0447:0x00e7,\n0x0448:0x00e8,\n0x0449:0x00e9,\n0x044a:0x00ea,\n0x044b:0x00eb,\n0x044c:0x00ec,\n0x044d:0x00ed,\n0x044e:0x00ee,\n0x044f:0x00ef,\n0x0451:0x00f1,\n0x0454:0x00f3,\n0x0457:0x00f5,\n0x045e:0x00f7,\n0x2116:0x00fc,\n0x2219:0x00f9,\n0x221a:0x00fb,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2552:0x00d5,\n0x2553:0x00d6,\n0x2554:0x00c9,\n0x2555:0x00b8,\n0x2556:0x00b7,\n0x2557:0x00bb,\n0x2558:0x00d4,\n0x2559:0x00d3,\n0x255a:0x00c8,\n0x255b:0x00be,\n0x255c:0x00bd,\n0x255d:0x00bc,\n0x255e:0x00c6,\n0x255f:0x00c7,\n0x2560:0x00cc,\n0x2561:0x00b5,\n0x2562:0x00b6,\n0x2563:0x00b9,\n0x2564:0x00d1,\n0x2565:0x00d2,\n0x2566:0x00cb,\n0x2567:0x00cf,\n0x2568:0x00d0,\n0x2569:0x00ca,\n0x256a:0x00d8,\n0x256b:0x00d7,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x258c:0x00dd,\n0x2590:0x00de,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp869":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp869',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:None,\n0x0081:None,\n0x0082:None,\n0x0083:None,\n0x0084:None,\n0x0085:None,\n0x0086:0x0386,\n0x0087:None,\n0x0088:0x00b7,\n0x0089:0x00ac,\n0x008a:0x00a6,\n0x008b:0x2018,\n0x008c:0x2019,\n0x008d:0x0388,\n0x008e:0x2015,\n0x008f:0x0389,\n0x0090:0x038a,\n0x0091:0x03aa,\n0x0092:0x038c,\n0x0093:None,\n0x0094:None,\n0x0095:0x038e,\n0x0096:0x03ab,\n0x0097:0x00a9,\n0x0098:0x038f,\n0x0099:0x00b2,\n0x009a:0x00b3,\n0x009b:0x03ac,\n0x009c:0x00a3,\n0x009d:0x03ad,\n0x009e:0x03ae,\n0x009f:0x03af,\n0x00a0:0x03ca,\n0x00a1:0x0390,\n0x00a2:0x03cc,\n0x00a3:0x03cd,\n0x00a4:0x0391,\n0x00a5:0x0392,\n0x00a6:0x0393,\n0x00a7:0x0394,\n0x00a8:0x0395,\n0x00a9:0x0396,\n0x00aa:0x0397,\n0x00ab:0x00bd,\n0x00ac:0x0398,\n0x00ad:0x0399,\n0x00ae:0x00ab,\n0x00af:0x00bb,\n0x00b0:0x2591,\n0x00b1:0x2592,\n0x00b2:0x2593,\n0x00b3:0x2502,\n0x00b4:0x2524,\n0x00b5:0x039a,\n0x00b6:0x039b,\n0x00b7:0x039c,\n0x00b8:0x039d,\n0x00b9:0x2563,\n0x00ba:0x2551,\n0x00bb:0x2557,\n0x00bc:0x255d,\n0x00bd:0x039e,\n0x00be:0x039f,\n0x00bf:0x2510,\n0x00c0:0x2514,\n0x00c1:0x2534,\n0x00c2:0x252c,\n0x00c3:0x251c,\n0x00c4:0x2500,\n0x00c5:0x253c,\n0x00c6:0x03a0,\n0x00c7:0x03a1,\n0x00c8:0x255a,\n0x00c9:0x2554,\n0x00ca:0x2569,\n0x00cb:0x2566,\n0x00cc:0x2560,\n0x00cd:0x2550,\n0x00ce:0x256c,\n0x00cf:0x03a3,\n0x00d0:0x03a4,\n0x00d1:0x03a5,\n0x00d2:0x03a6,\n0x00d3:0x03a7,\n0x00d4:0x03a8,\n0x00d5:0x03a9,\n0x00d6:0x03b1,\n0x00d7:0x03b2,\n0x00d8:0x03b3,\n0x00d9:0x2518,\n0x00da:0x250c,\n0x00db:0x2588,\n0x00dc:0x2584,\n0x00dd:0x03b4,\n0x00de:0x03b5,\n0x00df:0x2580,\n0x00e0:0x03b6,\n0x00e1:0x03b7,\n0x00e2:0x03b8,\n0x00e3:0x03b9,\n0x00e4:0x03ba,\n0x00e5:0x03bb,\n0x00e6:0x03bc,\n0x00e7:0x03bd,\n0x00e8:0x03be,\n0x00e9:0x03bf,\n0x00ea:0x03c0,\n0x00eb:0x03c1,\n0x00ec:0x03c3,\n0x00ed:0x03c2,\n0x00ee:0x03c4,\n0x00ef:0x0384,\n0x00f0:0x00ad,\n0x00f1:0x00b1,\n0x00f2:0x03c5,\n0x00f3:0x03c6,\n0x00f4:0x03c7,\n0x00f5:0x00a7,\n0x00f6:0x03c8,\n0x00f7:0x0385,\n0x00f8:0x00b0,\n0x00f9:0x00a8,\n0x00fa:0x03c9,\n0x00fb:0x03cb,\n0x00fc:0x03b0,\n0x00fd:0x03ce,\n0x00fe:0x25a0,\n0x00ff:0x00a0,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u0386'\n'\\ufffe'\n'\\xb7'\n'\\xac'\n'\\xa6'\n'\\u2018'\n'\\u2019'\n'\\u0388'\n'\\u2015'\n'\\u0389'\n'\\u038a'\n'\\u03aa'\n'\\u038c'\n'\\ufffe'\n'\\ufffe'\n'\\u038e'\n'\\u03ab'\n'\\xa9'\n'\\u038f'\n'\\xb2'\n'\\xb3'\n'\\u03ac'\n'\\xa3'\n'\\u03ad'\n'\\u03ae'\n'\\u03af'\n'\\u03ca'\n'\\u0390'\n'\\u03cc'\n'\\u03cd'\n'\\u0391'\n'\\u0392'\n'\\u0393'\n'\\u0394'\n'\\u0395'\n'\\u0396'\n'\\u0397'\n'\\xbd'\n'\\u0398'\n'\\u0399'\n'\\xab'\n'\\xbb'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2502'\n'\\u2524'\n'\\u039a'\n'\\u039b'\n'\\u039c'\n'\\u039d'\n'\\u2563'\n'\\u2551'\n'\\u2557'\n'\\u255d'\n'\\u039e'\n'\\u039f'\n'\\u2510'\n'\\u2514'\n'\\u2534'\n'\\u252c'\n'\\u251c'\n'\\u2500'\n'\\u253c'\n'\\u03a0'\n'\\u03a1'\n'\\u255a'\n'\\u2554'\n'\\u2569'\n'\\u2566'\n'\\u2560'\n'\\u2550'\n'\\u256c'\n'\\u03a3'\n'\\u03a4'\n'\\u03a5'\n'\\u03a6'\n'\\u03a7'\n'\\u03a8'\n'\\u03a9'\n'\\u03b1'\n'\\u03b2'\n'\\u03b3'\n'\\u2518'\n'\\u250c'\n'\\u2588'\n'\\u2584'\n'\\u03b4'\n'\\u03b5'\n'\\u2580'\n'\\u03b6'\n'\\u03b7'\n'\\u03b8'\n'\\u03b9'\n'\\u03ba'\n'\\u03bb'\n'\\u03bc'\n'\\u03bd'\n'\\u03be'\n'\\u03bf'\n'\\u03c0'\n'\\u03c1'\n'\\u03c3'\n'\\u03c2'\n'\\u03c4'\n'\\u0384'\n'\\xad'\n'\\xb1'\n'\\u03c5'\n'\\u03c6'\n'\\u03c7'\n'\\xa7'\n'\\u03c8'\n'\\u0385'\n'\\xb0'\n'\\xa8'\n'\\u03c9'\n'\\u03cb'\n'\\u03b0'\n'\\u03ce'\n'\\u25a0'\n'\\xa0'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0021:0x0021,\n0x0022:0x0022,\n0x0023:0x0023,\n0x0024:0x0024,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0027:0x0027,\n0x0028:0x0028,\n0x0029:0x0029,\n0x002a:0x002a,\n0x002b:0x002b,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002e:0x002e,\n0x002f:0x002f,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003d:0x003d,\n0x003e:0x003e,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005c:0x005c,\n0x005d:0x005d,\n0x005e:0x005e,\n0x005f:0x005f,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007c:0x007c,\n0x007d:0x007d,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x00ff,\n0x00a3:0x009c,\n0x00a6:0x008a,\n0x00a7:0x00f5,\n0x00a8:0x00f9,\n0x00a9:0x0097,\n0x00ab:0x00ae,\n0x00ac:0x0089,\n0x00ad:0x00f0,\n0x00b0:0x00f8,\n0x00b1:0x00f1,\n0x00b2:0x0099,\n0x00b3:0x009a,\n0x00b7:0x0088,\n0x00bb:0x00af,\n0x00bd:0x00ab,\n0x0384:0x00ef,\n0x0385:0x00f7,\n0x0386:0x0086,\n0x0388:0x008d,\n0x0389:0x008f,\n0x038a:0x0090,\n0x038c:0x0092,\n0x038e:0x0095,\n0x038f:0x0098,\n0x0390:0x00a1,\n0x0391:0x00a4,\n0x0392:0x00a5,\n0x0393:0x00a6,\n0x0394:0x00a7,\n0x0395:0x00a8,\n0x0396:0x00a9,\n0x0397:0x00aa,\n0x0398:0x00ac,\n0x0399:0x00ad,\n0x039a:0x00b5,\n0x039b:0x00b6,\n0x039c:0x00b7,\n0x039d:0x00b8,\n0x039e:0x00bd,\n0x039f:0x00be,\n0x03a0:0x00c6,\n0x03a1:0x00c7,\n0x03a3:0x00cf,\n0x03a4:0x00d0,\n0x03a5:0x00d1,\n0x03a6:0x00d2,\n0x03a7:0x00d3,\n0x03a8:0x00d4,\n0x03a9:0x00d5,\n0x03aa:0x0091,\n0x03ab:0x0096,\n0x03ac:0x009b,\n0x03ad:0x009d,\n0x03ae:0x009e,\n0x03af:0x009f,\n0x03b0:0x00fc,\n0x03b1:0x00d6,\n0x03b2:0x00d7,\n0x03b3:0x00d8,\n0x03b4:0x00dd,\n0x03b5:0x00de,\n0x03b6:0x00e0,\n0x03b7:0x00e1,\n0x03b8:0x00e2,\n0x03b9:0x00e3,\n0x03ba:0x00e4,\n0x03bb:0x00e5,\n0x03bc:0x00e6,\n0x03bd:0x00e7,\n0x03be:0x00e8,\n0x03bf:0x00e9,\n0x03c0:0x00ea,\n0x03c1:0x00eb,\n0x03c2:0x00ed,\n0x03c3:0x00ec,\n0x03c4:0x00ee,\n0x03c5:0x00f2,\n0x03c6:0x00f3,\n0x03c7:0x00f4,\n0x03c8:0x00f6,\n0x03c9:0x00fa,\n0x03ca:0x00a0,\n0x03cb:0x00fb,\n0x03cc:0x00a2,\n0x03cd:0x00a3,\n0x03ce:0x00fd,\n0x2015:0x008e,\n0x2018:0x008b,\n0x2019:0x008c,\n0x2500:0x00c4,\n0x2502:0x00b3,\n0x250c:0x00da,\n0x2510:0x00bf,\n0x2514:0x00c0,\n0x2518:0x00d9,\n0x251c:0x00c3,\n0x2524:0x00b4,\n0x252c:0x00c2,\n0x2534:0x00c1,\n0x253c:0x00c5,\n0x2550:0x00cd,\n0x2551:0x00ba,\n0x2554:0x00c9,\n0x2557:0x00bb,\n0x255a:0x00c8,\n0x255d:0x00bc,\n0x2560:0x00cc,\n0x2563:0x00b9,\n0x2566:0x00cb,\n0x2569:0x00ca,\n0x256c:0x00ce,\n0x2580:0x00df,\n0x2584:0x00dc,\n0x2588:0x00db,\n0x2591:0x00b0,\n0x2592:0x00b1,\n0x2593:0x00b2,\n0x25a0:0x00fe,\n}\n",["codecs"]],"encodings.cp874":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp874',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2026'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xa0'\n'\\u0e01'\n'\\u0e02'\n'\\u0e03'\n'\\u0e04'\n'\\u0e05'\n'\\u0e06'\n'\\u0e07'\n'\\u0e08'\n'\\u0e09'\n'\\u0e0a'\n'\\u0e0b'\n'\\u0e0c'\n'\\u0e0d'\n'\\u0e0e'\n'\\u0e0f'\n'\\u0e10'\n'\\u0e11'\n'\\u0e12'\n'\\u0e13'\n'\\u0e14'\n'\\u0e15'\n'\\u0e16'\n'\\u0e17'\n'\\u0e18'\n'\\u0e19'\n'\\u0e1a'\n'\\u0e1b'\n'\\u0e1c'\n'\\u0e1d'\n'\\u0e1e'\n'\\u0e1f'\n'\\u0e20'\n'\\u0e21'\n'\\u0e22'\n'\\u0e23'\n'\\u0e24'\n'\\u0e25'\n'\\u0e26'\n'\\u0e27'\n'\\u0e28'\n'\\u0e29'\n'\\u0e2a'\n'\\u0e2b'\n'\\u0e2c'\n'\\u0e2d'\n'\\u0e2e'\n'\\u0e2f'\n'\\u0e30'\n'\\u0e31'\n'\\u0e32'\n'\\u0e33'\n'\\u0e34'\n'\\u0e35'\n'\\u0e36'\n'\\u0e37'\n'\\u0e38'\n'\\u0e39'\n'\\u0e3a'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u0e3f'\n'\\u0e40'\n'\\u0e41'\n'\\u0e42'\n'\\u0e43'\n'\\u0e44'\n'\\u0e45'\n'\\u0e46'\n'\\u0e47'\n'\\u0e48'\n'\\u0e49'\n'\\u0e4a'\n'\\u0e4b'\n'\\u0e4c'\n'\\u0e4d'\n'\\u0e4e'\n'\\u0e4f'\n'\\u0e50'\n'\\u0e51'\n'\\u0e52'\n'\\u0e53'\n'\\u0e54'\n'\\u0e55'\n'\\u0e56'\n'\\u0e57'\n'\\u0e58'\n'\\u0e59'\n'\\u0e5a'\n'\\u0e5b'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp875":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp875',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x9c'\n'\\t'\n'\\x86'\n'\\x7f'\n'\\x97'\n'\\x8d'\n'\\x8e'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x9d'\n'\\x85'\n'\\x08'\n'\\x87'\n'\\x18'\n'\\x19'\n'\\x92'\n'\\x8f'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\n'\n'\\x17'\n'\\x1b'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x90'\n'\\x91'\n'\\x16'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x04'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x14'\n'\\x15'\n'\\x9e'\n'\\x1a'\n' '\n'\\u0391'\n'\\u0392'\n'\\u0393'\n'\\u0394'\n'\\u0395'\n'\\u0396'\n'\\u0397'\n'\\u0398'\n'\\u0399'\n'['\n'.'\n'<'\n'('\n'+'\n'!'\n'&'\n'\\u039a'\n'\\u039b'\n'\\u039c'\n'\\u039d'\n'\\u039e'\n'\\u039f'\n'\\u03a0'\n'\\u03a1'\n'\\u03a3'\n']'\n'$'\n'*'\n')'\n';'\n'^'\n'-'\n'/'\n'\\u03a4'\n'\\u03a5'\n'\\u03a6'\n'\\u03a7'\n'\\u03a8'\n'\\u03a9'\n'\\u03aa'\n'\\u03ab'\n'|'\n','\n'%'\n'_'\n'>'\n'?'\n'\\xa8'\n'\\u0386'\n'\\u0388'\n'\\u0389'\n'\\xa0'\n'\\u038a'\n'\\u038c'\n'\\u038e'\n'\\u038f'\n'`'\n':'\n'#'\n'@'\n\"'\"\n'='\n'\"'\n'\\u0385'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'\\u03b1'\n'\\u03b2'\n'\\u03b3'\n'\\u03b4'\n'\\u03b5'\n'\\u03b6'\n'\\xb0'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n'\\u03b7'\n'\\u03b8'\n'\\u03b9'\n'\\u03ba'\n'\\u03bb'\n'\\u03bc'\n'\\xb4'\n'~'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'\\u03bd'\n'\\u03be'\n'\\u03bf'\n'\\u03c0'\n'\\u03c1'\n'\\u03c3'\n'\\xa3'\n'\\u03ac'\n'\\u03ad'\n'\\u03ae'\n'\\u03ca'\n'\\u03af'\n'\\u03cc'\n'\\u03cd'\n'\\u03cb'\n'\\u03ce'\n'\\u03c2'\n'\\u03c4'\n'\\u03c5'\n'\\u03c6'\n'\\u03c7'\n'\\u03c8'\n'{'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'\\xad'\n'\\u03c9'\n'\\u0390'\n'\\u03b0'\n'\\u2018'\n'\\u2015'\n'}'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'\\xb1'\n'\\xbd'\n'\\x1a'\n'\\u0387'\n'\\u2019'\n'\\xa6'\n'\\\\'\n'\\x1a'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'\\xb2'\n'\\xa7'\n'\\x1a'\n'\\x1a'\n'\\xab'\n'\\xac'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n'\\xb3'\n'\\xa9'\n'\\x1a'\n'\\x1a'\n'\\xbb'\n'\\x9f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.cp932":[".py","\n\n\n\n\n\nimport _codecs_jp,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_jp.getcodec('cp932')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp932',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_jp","_multibytecodec","codecs"]],"encodings.cp949":[".py","\n\n\n\n\n\nimport _codecs_kr,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_kr.getcodec('cp949')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp949',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_kr","_multibytecodec","codecs"]],"encodings.cp950":[".py","\n\n\n\n\n\nimport _codecs_tw,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_tw.getcodec('cp950')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='cp950',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_tw","_multibytecodec","codecs"]],"encodings.euc_jisx0213":[".py","\n\n\n\n\n\nimport _codecs_jp,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_jp.getcodec('euc_jisx0213')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='euc_jisx0213',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_jp","_multibytecodec","codecs"]],"encodings.euc_jis_2004":[".py","\n\n\n\n\n\nimport _codecs_jp,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_jp.getcodec('euc_jis_2004')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='euc_jis_2004',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_jp","_multibytecodec","codecs"]],"encodings.euc_jp":[".py","\n\n\n\n\n\nimport _codecs_jp,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_jp.getcodec('euc_jp')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='euc_jp',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_jp","_multibytecodec","codecs"]],"encodings.euc_kr":[".py","\n\n\n\n\n\nimport _codecs_kr,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_kr.getcodec('euc_kr')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='euc_kr',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_kr","_multibytecodec","codecs"]],"encodings.gb18030":[".py","\n\n\n\n\n\nimport _codecs_cn,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_cn.getcodec('gb18030')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='gb18030',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_cn","_multibytecodec","codecs"]],"encodings.gb2312":[".py","\n\n\n\n\n\nimport _codecs_cn,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_cn.getcodec('gb2312')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='gb2312',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_cn","_multibytecodec","codecs"]],"encodings.gbk":[".py","\n\n\n\n\n\nimport _codecs_cn,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_cn.getcodec('gbk')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='gbk',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_cn","_multibytecodec","codecs"]],"encodings.hex_codec":[".py","''\n\n\n\n\n\n\nimport codecs\nimport binascii\n\n\n\ndef hex_encode(input,errors='strict'):\n assert errors =='strict'\n return(binascii.b2a_hex(input),len(input))\n \ndef hex_decode(input,errors='strict'):\n assert errors =='strict'\n return(binascii.a2b_hex(input),len(input))\n \nclass Codec(codecs.Codec):\n def encode(self,input,errors='strict'):\n return hex_encode(input,errors)\n def decode(self,input,errors='strict'):\n return hex_decode(input,errors)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n assert self.errors =='strict'\n return binascii.b2a_hex(input)\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n assert self.errors =='strict'\n return binascii.a2b_hex(input)\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n charbuffertype=bytes\n \nclass StreamReader(Codec,codecs.StreamReader):\n charbuffertype=bytes\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='hex',\n encode=hex_encode,\n decode=hex_decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n _is_text_encoding=False,\n )\n",["binascii","codecs"]],"encodings.hp_roman8":[".py","''\n\n\n\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='hp-roman8',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\xc0'\n'\\xc2'\n'\\xc8'\n'\\xca'\n'\\xcb'\n'\\xce'\n'\\xcf'\n'\\xb4'\n'\\u02cb'\n'\\u02c6'\n'\\xa8'\n'\\u02dc'\n'\\xd9'\n'\\xdb'\n'\\u20a4'\n'\\xaf'\n'\\xdd'\n'\\xfd'\n'\\xb0'\n'\\xc7'\n'\\xe7'\n'\\xd1'\n'\\xf1'\n'\\xa1'\n'\\xbf'\n'\\xa4'\n'\\xa3'\n'\\xa5'\n'\\xa7'\n'\\u0192'\n'\\xa2'\n'\\xe2'\n'\\xea'\n'\\xf4'\n'\\xfb'\n'\\xe1'\n'\\xe9'\n'\\xf3'\n'\\xfa'\n'\\xe0'\n'\\xe8'\n'\\xf2'\n'\\xf9'\n'\\xe4'\n'\\xeb'\n'\\xf6'\n'\\xfc'\n'\\xc5'\n'\\xee'\n'\\xd8'\n'\\xc6'\n'\\xe5'\n'\\xed'\n'\\xf8'\n'\\xe6'\n'\\xc4'\n'\\xec'\n'\\xd6'\n'\\xdc'\n'\\xc9'\n'\\xef'\n'\\xdf'\n'\\xd4'\n'\\xc1'\n'\\xc3'\n'\\xe3'\n'\\xd0'\n'\\xf0'\n'\\xcd'\n'\\xcc'\n'\\xd3'\n'\\xd2'\n'\\xd5'\n'\\xf5'\n'\\u0160'\n'\\u0161'\n'\\xda'\n'\\u0178'\n'\\xff'\n'\\xde'\n'\\xfe'\n'\\xb7'\n'\\xb5'\n'\\xb6'\n'\\xbe'\n'\\u2014'\n'\\xbc'\n'\\xbd'\n'\\xaa'\n'\\xba'\n'\\xab'\n'\\u25a0'\n'\\xbb'\n'\\xb1'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.hz":[".py","\n\n\n\n\n\nimport _codecs_cn,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_cn.getcodec('hz')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='hz',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_cn","_multibytecodec","codecs"]],"encodings.idna":[".py",'\n\nimport stringprep,re,codecs\nfrom unicodedata import ucd_3_2_0 as unicodedata\n\n\ndots=re.compile("[\\u002E\\u3002\\uFF0E\\uFF61]")\n\n\nace_prefix=b"xn--"\nsace_prefix="xn--"\n\n\ndef nameprep(label):\n\n newlabel=[]\n for c in label:\n if stringprep.in_table_b1(c):\n \n continue\n newlabel.append(stringprep.map_table_b2(c))\n label="".join(newlabel)\n \n \n label=unicodedata.normalize("NFKC",label)\n \n \n for c in label:\n if stringprep.in_table_c12(c)or\\\n stringprep.in_table_c22(c)or\\\n stringprep.in_table_c3(c)or\\\n stringprep.in_table_c4(c)or\\\n stringprep.in_table_c5(c)or\\\n stringprep.in_table_c6(c)or\\\n stringprep.in_table_c7(c)or\\\n stringprep.in_table_c8(c)or\\\n stringprep.in_table_c9(c):\n raise UnicodeError("Invalid character %r"%c)\n \n \n RandAL=[stringprep.in_table_d1(x)for x in label]\n for c in RandAL:\n if c:\n \n \n \n \n \n \n if any(stringprep.in_table_d2(x)for x in label):\n raise UnicodeError("Violation of BIDI requirement 2")\n \n \n \n \n \n if not RandAL[0]or not RandAL[-1]:\n raise UnicodeError("Violation of BIDI requirement 3")\n \n return label\n \ndef ToASCII(label):\n try:\n \n label=label.encode("ascii")\n except UnicodeError:\n pass\n else:\n \n \n if 0 =64:\n raise UnicodeError("label too long")\n return result,len(input)\n \n result=bytearray()\n labels=dots.split(input)\n if labels and not labels[-1]:\n trailing_dot=b\'.\'\n del labels[-1]\n else:\n trailing_dot=b\'\'\n for label in labels:\n if result:\n \n result.extend(b\'.\')\n result.extend(ToASCII(label))\n return bytes(result+trailing_dot),len(input)\n \n def decode(self,input,errors=\'strict\'):\n \n if errors !=\'strict\':\n raise UnicodeError("Unsupported error handling "+errors)\n \n if not input:\n return "",0\n \n \n if not isinstance(input,bytes):\n \n input=bytes(input)\n \n if ace_prefix not in input:\n \n try:\n return input.decode(\'ascii\'),len(input)\n except UnicodeDecodeError:\n pass\n \n labels=input.split(b".")\n \n if labels and len(labels[-1])==0:\n trailing_dot=\'.\'\n del labels[-1]\n else:\n trailing_dot=\'\'\n \n result=[]\n for label in labels:\n result.append(ToUnicode(label))\n \n return ".".join(result)+trailing_dot,len(input)\n \nclass IncrementalEncoder(codecs.BufferedIncrementalEncoder):\n def _buffer_encode(self,input,errors,final):\n if errors !=\'strict\':\n \n raise UnicodeError("unsupported error handling "+errors)\n \n if not input:\n return(b\'\',0)\n \n labels=dots.split(input)\n trailing_dot=b\'\'\n if labels:\n if not labels[-1]:\n trailing_dot=b\'.\'\n del labels[-1]\n elif not final:\n \n del labels[-1]\n if labels:\n trailing_dot=b\'.\'\n \n result=bytearray()\n size=0\n for label in labels:\n if size:\n \n result.extend(b\'.\')\n size +=1\n result.extend(ToASCII(label))\n size +=len(label)\n \n result +=trailing_dot\n size +=len(trailing_dot)\n return(bytes(result),size)\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n def _buffer_decode(self,input,errors,final):\n if errors !=\'strict\':\n raise UnicodeError("Unsupported error handling "+errors)\n \n if not input:\n return("",0)\n \n \n if isinstance(input,str):\n labels=dots.split(input)\n else:\n \n input=str(input,"ascii")\n labels=input.split(".")\n \n trailing_dot=\'\'\n if labels:\n if not labels[-1]:\n trailing_dot=\'.\'\n del labels[-1]\n elif not final:\n \n del labels[-1]\n if labels:\n trailing_dot=\'.\'\n \n result=[]\n size=0\n for label in labels:\n result.append(ToUnicode(label))\n if size:\n size +=1\n size +=len(label)\n \n result=".".join(result)+trailing_dot\n size +=len(trailing_dot)\n return(result,size)\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name=\'idna\',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n )\n',["codecs","re","stringprep","unicodedata"]],"encodings.iso2022_jp":[".py","\n\n\n\n\n\nimport _codecs_iso2022,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_iso2022.getcodec('iso2022_jp')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso2022_jp',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_iso2022","_multibytecodec","codecs"]],"encodings.iso2022_jp_1":[".py","\n\n\n\n\n\nimport _codecs_iso2022,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_iso2022.getcodec('iso2022_jp_1')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso2022_jp_1',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_iso2022","_multibytecodec","codecs"]],"encodings.iso2022_jp_2":[".py","\n\n\n\n\n\nimport _codecs_iso2022,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_iso2022.getcodec('iso2022_jp_2')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso2022_jp_2',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_iso2022","_multibytecodec","codecs"]],"encodings.iso2022_jp_2004":[".py","\n\n\n\n\n\nimport _codecs_iso2022,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_iso2022.getcodec('iso2022_jp_2004')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso2022_jp_2004',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_iso2022","_multibytecodec","codecs"]],"encodings.iso2022_jp_3":[".py","\n\n\n\n\n\nimport _codecs_iso2022,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_iso2022.getcodec('iso2022_jp_3')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso2022_jp_3',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_iso2022","_multibytecodec","codecs"]],"encodings.iso2022_jp_ext":[".py","\n\n\n\n\n\nimport _codecs_iso2022,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_iso2022.getcodec('iso2022_jp_ext')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso2022_jp_ext',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_iso2022","_multibytecodec","codecs"]],"encodings.iso2022_kr":[".py","\n\n\n\n\n\nimport _codecs_iso2022,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_iso2022.getcodec('iso2022_kr')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso2022_kr',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_iso2022","_multibytecodec","codecs"]],"encodings.iso8859_1":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-1',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\xa1'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\xaa'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\xba'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xbf'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xd0'\n'\\xd1'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\xd8'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\xdd'\n'\\xde'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xf0'\n'\\xf1'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\xf8'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\xfd'\n'\\xfe'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_10":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-10',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u0104'\n'\\u0112'\n'\\u0122'\n'\\u012a'\n'\\u0128'\n'\\u0136'\n'\\xa7'\n'\\u013b'\n'\\u0110'\n'\\u0160'\n'\\u0166'\n'\\u017d'\n'\\xad'\n'\\u016a'\n'\\u014a'\n'\\xb0'\n'\\u0105'\n'\\u0113'\n'\\u0123'\n'\\u012b'\n'\\u0129'\n'\\u0137'\n'\\xb7'\n'\\u013c'\n'\\u0111'\n'\\u0161'\n'\\u0167'\n'\\u017e'\n'\\u2015'\n'\\u016b'\n'\\u014b'\n'\\u0100'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\u012e'\n'\\u010c'\n'\\xc9'\n'\\u0118'\n'\\xcb'\n'\\u0116'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xd0'\n'\\u0145'\n'\\u014c'\n'\\xd3'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\u0168'\n'\\xd8'\n'\\u0172'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\xdd'\n'\\xde'\n'\\xdf'\n'\\u0101'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\u012f'\n'\\u010d'\n'\\xe9'\n'\\u0119'\n'\\xeb'\n'\\u0117'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xf0'\n'\\u0146'\n'\\u014d'\n'\\xf3'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\u0169'\n'\\xf8'\n'\\u0173'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\xfd'\n'\\xfe'\n'\\u0138'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_11":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-11',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u0e01'\n'\\u0e02'\n'\\u0e03'\n'\\u0e04'\n'\\u0e05'\n'\\u0e06'\n'\\u0e07'\n'\\u0e08'\n'\\u0e09'\n'\\u0e0a'\n'\\u0e0b'\n'\\u0e0c'\n'\\u0e0d'\n'\\u0e0e'\n'\\u0e0f'\n'\\u0e10'\n'\\u0e11'\n'\\u0e12'\n'\\u0e13'\n'\\u0e14'\n'\\u0e15'\n'\\u0e16'\n'\\u0e17'\n'\\u0e18'\n'\\u0e19'\n'\\u0e1a'\n'\\u0e1b'\n'\\u0e1c'\n'\\u0e1d'\n'\\u0e1e'\n'\\u0e1f'\n'\\u0e20'\n'\\u0e21'\n'\\u0e22'\n'\\u0e23'\n'\\u0e24'\n'\\u0e25'\n'\\u0e26'\n'\\u0e27'\n'\\u0e28'\n'\\u0e29'\n'\\u0e2a'\n'\\u0e2b'\n'\\u0e2c'\n'\\u0e2d'\n'\\u0e2e'\n'\\u0e2f'\n'\\u0e30'\n'\\u0e31'\n'\\u0e32'\n'\\u0e33'\n'\\u0e34'\n'\\u0e35'\n'\\u0e36'\n'\\u0e37'\n'\\u0e38'\n'\\u0e39'\n'\\u0e3a'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u0e3f'\n'\\u0e40'\n'\\u0e41'\n'\\u0e42'\n'\\u0e43'\n'\\u0e44'\n'\\u0e45'\n'\\u0e46'\n'\\u0e47'\n'\\u0e48'\n'\\u0e49'\n'\\u0e4a'\n'\\u0e4b'\n'\\u0e4c'\n'\\u0e4d'\n'\\u0e4e'\n'\\u0e4f'\n'\\u0e50'\n'\\u0e51'\n'\\u0e52'\n'\\u0e53'\n'\\u0e54'\n'\\u0e55'\n'\\u0e56'\n'\\u0e57'\n'\\u0e58'\n'\\u0e59'\n'\\u0e5a'\n'\\u0e5b'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_13":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-13',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u201d'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\u201e'\n'\\xa6'\n'\\xa7'\n'\\xd8'\n'\\xa9'\n'\\u0156'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xc6'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\u201c'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xf8'\n'\\xb9'\n'\\u0157'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xe6'\n'\\u0104'\n'\\u012e'\n'\\u0100'\n'\\u0106'\n'\\xc4'\n'\\xc5'\n'\\u0118'\n'\\u0112'\n'\\u010c'\n'\\xc9'\n'\\u0179'\n'\\u0116'\n'\\u0122'\n'\\u0136'\n'\\u012a'\n'\\u013b'\n'\\u0160'\n'\\u0143'\n'\\u0145'\n'\\xd3'\n'\\u014c'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\u0172'\n'\\u0141'\n'\\u015a'\n'\\u016a'\n'\\xdc'\n'\\u017b'\n'\\u017d'\n'\\xdf'\n'\\u0105'\n'\\u012f'\n'\\u0101'\n'\\u0107'\n'\\xe4'\n'\\xe5'\n'\\u0119'\n'\\u0113'\n'\\u010d'\n'\\xe9'\n'\\u017a'\n'\\u0117'\n'\\u0123'\n'\\u0137'\n'\\u012b'\n'\\u013c'\n'\\u0161'\n'\\u0144'\n'\\u0146'\n'\\xf3'\n'\\u014d'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\u0173'\n'\\u0142'\n'\\u015b'\n'\\u016b'\n'\\xfc'\n'\\u017c'\n'\\u017e'\n'\\u2019'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_14":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-14',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u1e02'\n'\\u1e03'\n'\\xa3'\n'\\u010a'\n'\\u010b'\n'\\u1e0a'\n'\\xa7'\n'\\u1e80'\n'\\xa9'\n'\\u1e82'\n'\\u1e0b'\n'\\u1ef2'\n'\\xad'\n'\\xae'\n'\\u0178'\n'\\u1e1e'\n'\\u1e1f'\n'\\u0120'\n'\\u0121'\n'\\u1e40'\n'\\u1e41'\n'\\xb6'\n'\\u1e56'\n'\\u1e81'\n'\\u1e57'\n'\\u1e83'\n'\\u1e60'\n'\\u1ef3'\n'\\u1e84'\n'\\u1e85'\n'\\u1e61'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\u0174'\n'\\xd1'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\u1e6a'\n'\\xd8'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\xdd'\n'\\u0176'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\u0175'\n'\\xf1'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\u1e6b'\n'\\xf8'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\xfd'\n'\\u0177'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_15":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-15',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\xa1'\n'\\xa2'\n'\\xa3'\n'\\u20ac'\n'\\xa5'\n'\\u0160'\n'\\xa7'\n'\\u0161'\n'\\xa9'\n'\\xaa'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\u017d'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\u017e'\n'\\xb9'\n'\\xba'\n'\\xbb'\n'\\u0152'\n'\\u0153'\n'\\u0178'\n'\\xbf'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xd0'\n'\\xd1'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\xd8'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\xdd'\n'\\xde'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xf0'\n'\\xf1'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\xf8'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\xfd'\n'\\xfe'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_16":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-16',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u0104'\n'\\u0105'\n'\\u0141'\n'\\u20ac'\n'\\u201e'\n'\\u0160'\n'\\xa7'\n'\\u0161'\n'\\xa9'\n'\\u0218'\n'\\xab'\n'\\u0179'\n'\\xad'\n'\\u017a'\n'\\u017b'\n'\\xb0'\n'\\xb1'\n'\\u010c'\n'\\u0142'\n'\\u017d'\n'\\u201d'\n'\\xb6'\n'\\xb7'\n'\\u017e'\n'\\u010d'\n'\\u0219'\n'\\xbb'\n'\\u0152'\n'\\u0153'\n'\\u0178'\n'\\u017c'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\u0102'\n'\\xc4'\n'\\u0106'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\u0110'\n'\\u0143'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\u0150'\n'\\xd6'\n'\\u015a'\n'\\u0170'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\u0118'\n'\\u021a'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\u0103'\n'\\xe4'\n'\\u0107'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\u0111'\n'\\u0144'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\u0151'\n'\\xf6'\n'\\u015b'\n'\\u0171'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\u0119'\n'\\u021b'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_2":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-2',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u0104'\n'\\u02d8'\n'\\u0141'\n'\\xa4'\n'\\u013d'\n'\\u015a'\n'\\xa7'\n'\\xa8'\n'\\u0160'\n'\\u015e'\n'\\u0164'\n'\\u0179'\n'\\xad'\n'\\u017d'\n'\\u017b'\n'\\xb0'\n'\\u0105'\n'\\u02db'\n'\\u0142'\n'\\xb4'\n'\\u013e'\n'\\u015b'\n'\\u02c7'\n'\\xb8'\n'\\u0161'\n'\\u015f'\n'\\u0165'\n'\\u017a'\n'\\u02dd'\n'\\u017e'\n'\\u017c'\n'\\u0154'\n'\\xc1'\n'\\xc2'\n'\\u0102'\n'\\xc4'\n'\\u0139'\n'\\u0106'\n'\\xc7'\n'\\u010c'\n'\\xc9'\n'\\u0118'\n'\\xcb'\n'\\u011a'\n'\\xcd'\n'\\xce'\n'\\u010e'\n'\\u0110'\n'\\u0143'\n'\\u0147'\n'\\xd3'\n'\\xd4'\n'\\u0150'\n'\\xd6'\n'\\xd7'\n'\\u0158'\n'\\u016e'\n'\\xda'\n'\\u0170'\n'\\xdc'\n'\\xdd'\n'\\u0162'\n'\\xdf'\n'\\u0155'\n'\\xe1'\n'\\xe2'\n'\\u0103'\n'\\xe4'\n'\\u013a'\n'\\u0107'\n'\\xe7'\n'\\u010d'\n'\\xe9'\n'\\u0119'\n'\\xeb'\n'\\u011b'\n'\\xed'\n'\\xee'\n'\\u010f'\n'\\u0111'\n'\\u0144'\n'\\u0148'\n'\\xf3'\n'\\xf4'\n'\\u0151'\n'\\xf6'\n'\\xf7'\n'\\u0159'\n'\\u016f'\n'\\xfa'\n'\\u0171'\n'\\xfc'\n'\\xfd'\n'\\u0163'\n'\\u02d9'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_3":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-3',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u0126'\n'\\u02d8'\n'\\xa3'\n'\\xa4'\n'\\ufffe'\n'\\u0124'\n'\\xa7'\n'\\xa8'\n'\\u0130'\n'\\u015e'\n'\\u011e'\n'\\u0134'\n'\\xad'\n'\\ufffe'\n'\\u017b'\n'\\xb0'\n'\\u0127'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\u0125'\n'\\xb7'\n'\\xb8'\n'\\u0131'\n'\\u015f'\n'\\u011f'\n'\\u0135'\n'\\xbd'\n'\\ufffe'\n'\\u017c'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\ufffe'\n'\\xc4'\n'\\u010a'\n'\\u0108'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\ufffe'\n'\\xd1'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\u0120'\n'\\xd6'\n'\\xd7'\n'\\u011c'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\u016c'\n'\\u015c'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\ufffe'\n'\\xe4'\n'\\u010b'\n'\\u0109'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\ufffe'\n'\\xf1'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\u0121'\n'\\xf6'\n'\\xf7'\n'\\u011d'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\u016d'\n'\\u015d'\n'\\u02d9'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_4":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-4',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u0104'\n'\\u0138'\n'\\u0156'\n'\\xa4'\n'\\u0128'\n'\\u013b'\n'\\xa7'\n'\\xa8'\n'\\u0160'\n'\\u0112'\n'\\u0122'\n'\\u0166'\n'\\xad'\n'\\u017d'\n'\\xaf'\n'\\xb0'\n'\\u0105'\n'\\u02db'\n'\\u0157'\n'\\xb4'\n'\\u0129'\n'\\u013c'\n'\\u02c7'\n'\\xb8'\n'\\u0161'\n'\\u0113'\n'\\u0123'\n'\\u0167'\n'\\u014a'\n'\\u017e'\n'\\u014b'\n'\\u0100'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\u012e'\n'\\u010c'\n'\\xc9'\n'\\u0118'\n'\\xcb'\n'\\u0116'\n'\\xcd'\n'\\xce'\n'\\u012a'\n'\\u0110'\n'\\u0145'\n'\\u014c'\n'\\u0136'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\xd8'\n'\\u0172'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\u0168'\n'\\u016a'\n'\\xdf'\n'\\u0101'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\u012f'\n'\\u010d'\n'\\xe9'\n'\\u0119'\n'\\xeb'\n'\\u0117'\n'\\xed'\n'\\xee'\n'\\u012b'\n'\\u0111'\n'\\u0146'\n'\\u014d'\n'\\u0137'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\xf8'\n'\\u0173'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\u0169'\n'\\u016b'\n'\\u02d9'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_5":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-5',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u0401'\n'\\u0402'\n'\\u0403'\n'\\u0404'\n'\\u0405'\n'\\u0406'\n'\\u0407'\n'\\u0408'\n'\\u0409'\n'\\u040a'\n'\\u040b'\n'\\u040c'\n'\\xad'\n'\\u040e'\n'\\u040f'\n'\\u0410'\n'\\u0411'\n'\\u0412'\n'\\u0413'\n'\\u0414'\n'\\u0415'\n'\\u0416'\n'\\u0417'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0424'\n'\\u0425'\n'\\u0426'\n'\\u0427'\n'\\u0428'\n'\\u0429'\n'\\u042a'\n'\\u042b'\n'\\u042c'\n'\\u042d'\n'\\u042e'\n'\\u042f'\n'\\u0430'\n'\\u0431'\n'\\u0432'\n'\\u0433'\n'\\u0434'\n'\\u0435'\n'\\u0436'\n'\\u0437'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0444'\n'\\u0445'\n'\\u0446'\n'\\u0447'\n'\\u0448'\n'\\u0449'\n'\\u044a'\n'\\u044b'\n'\\u044c'\n'\\u044d'\n'\\u044e'\n'\\u044f'\n'\\u2116'\n'\\u0451'\n'\\u0452'\n'\\u0453'\n'\\u0454'\n'\\u0455'\n'\\u0456'\n'\\u0457'\n'\\u0458'\n'\\u0459'\n'\\u045a'\n'\\u045b'\n'\\u045c'\n'\\xa7'\n'\\u045e'\n'\\u045f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_6":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-6',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xa4'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u060c'\n'\\xad'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u061b'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u061f'\n'\\ufffe'\n'\\u0621'\n'\\u0622'\n'\\u0623'\n'\\u0624'\n'\\u0625'\n'\\u0626'\n'\\u0627'\n'\\u0628'\n'\\u0629'\n'\\u062a'\n'\\u062b'\n'\\u062c'\n'\\u062d'\n'\\u062e'\n'\\u062f'\n'\\u0630'\n'\\u0631'\n'\\u0632'\n'\\u0633'\n'\\u0634'\n'\\u0635'\n'\\u0636'\n'\\u0637'\n'\\u0638'\n'\\u0639'\n'\\u063a'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u0640'\n'\\u0641'\n'\\u0642'\n'\\u0643'\n'\\u0644'\n'\\u0645'\n'\\u0646'\n'\\u0647'\n'\\u0648'\n'\\u0649'\n'\\u064a'\n'\\u064b'\n'\\u064c'\n'\\u064d'\n'\\u064e'\n'\\u064f'\n'\\u0650'\n'\\u0651'\n'\\u0652'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_7":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-7',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\u2018'\n'\\u2019'\n'\\xa3'\n'\\u20ac'\n'\\u20af'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\u037a'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\ufffe'\n'\\u2015'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\u0384'\n'\\u0385'\n'\\u0386'\n'\\xb7'\n'\\u0388'\n'\\u0389'\n'\\u038a'\n'\\xbb'\n'\\u038c'\n'\\xbd'\n'\\u038e'\n'\\u038f'\n'\\u0390'\n'\\u0391'\n'\\u0392'\n'\\u0393'\n'\\u0394'\n'\\u0395'\n'\\u0396'\n'\\u0397'\n'\\u0398'\n'\\u0399'\n'\\u039a'\n'\\u039b'\n'\\u039c'\n'\\u039d'\n'\\u039e'\n'\\u039f'\n'\\u03a0'\n'\\u03a1'\n'\\ufffe'\n'\\u03a3'\n'\\u03a4'\n'\\u03a5'\n'\\u03a6'\n'\\u03a7'\n'\\u03a8'\n'\\u03a9'\n'\\u03aa'\n'\\u03ab'\n'\\u03ac'\n'\\u03ad'\n'\\u03ae'\n'\\u03af'\n'\\u03b0'\n'\\u03b1'\n'\\u03b2'\n'\\u03b3'\n'\\u03b4'\n'\\u03b5'\n'\\u03b6'\n'\\u03b7'\n'\\u03b8'\n'\\u03b9'\n'\\u03ba'\n'\\u03bb'\n'\\u03bc'\n'\\u03bd'\n'\\u03be'\n'\\u03bf'\n'\\u03c0'\n'\\u03c1'\n'\\u03c2'\n'\\u03c3'\n'\\u03c4'\n'\\u03c5'\n'\\u03c6'\n'\\u03c7'\n'\\u03c8'\n'\\u03c9'\n'\\u03ca'\n'\\u03cb'\n'\\u03cc'\n'\\u03cd'\n'\\u03ce'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_8":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-8',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\ufffe'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\xd7'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\xf7'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u2017'\n'\\u05d0'\n'\\u05d1'\n'\\u05d2'\n'\\u05d3'\n'\\u05d4'\n'\\u05d5'\n'\\u05d6'\n'\\u05d7'\n'\\u05d8'\n'\\u05d9'\n'\\u05da'\n'\\u05db'\n'\\u05dc'\n'\\u05dd'\n'\\u05de'\n'\\u05df'\n'\\u05e0'\n'\\u05e1'\n'\\u05e2'\n'\\u05e3'\n'\\u05e4'\n'\\u05e5'\n'\\u05e6'\n'\\u05e7'\n'\\u05e8'\n'\\u05e9'\n'\\u05ea'\n'\\ufffe'\n'\\ufffe'\n'\\u200e'\n'\\u200f'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.iso8859_9":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-9',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\xa0'\n'\\xa1'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\xaa'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\xba'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xbf'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\u011e'\n'\\xd1'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\xd8'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\u0130'\n'\\u015e'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\u011f'\n'\\xf1'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\xf8'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\u0131'\n'\\u015f'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.johab":[".py","\n\n\n\n\n\nimport _codecs_kr,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_kr.getcodec('johab')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='johab',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_kr","_multibytecodec","codecs"]],"encodings.koi8_r":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='koi8-r',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u2500'\n'\\u2502'\n'\\u250c'\n'\\u2510'\n'\\u2514'\n'\\u2518'\n'\\u251c'\n'\\u2524'\n'\\u252c'\n'\\u2534'\n'\\u253c'\n'\\u2580'\n'\\u2584'\n'\\u2588'\n'\\u258c'\n'\\u2590'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2320'\n'\\u25a0'\n'\\u2219'\n'\\u221a'\n'\\u2248'\n'\\u2264'\n'\\u2265'\n'\\xa0'\n'\\u2321'\n'\\xb0'\n'\\xb2'\n'\\xb7'\n'\\xf7'\n'\\u2550'\n'\\u2551'\n'\\u2552'\n'\\u0451'\n'\\u2553'\n'\\u2554'\n'\\u2555'\n'\\u2556'\n'\\u2557'\n'\\u2558'\n'\\u2559'\n'\\u255a'\n'\\u255b'\n'\\u255c'\n'\\u255d'\n'\\u255e'\n'\\u255f'\n'\\u2560'\n'\\u2561'\n'\\u0401'\n'\\u2562'\n'\\u2563'\n'\\u2564'\n'\\u2565'\n'\\u2566'\n'\\u2567'\n'\\u2568'\n'\\u2569'\n'\\u256a'\n'\\u256b'\n'\\u256c'\n'\\xa9'\n'\\u044e'\n'\\u0430'\n'\\u0431'\n'\\u0446'\n'\\u0434'\n'\\u0435'\n'\\u0444'\n'\\u0433'\n'\\u0445'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u044f'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0436'\n'\\u0432'\n'\\u044c'\n'\\u044b'\n'\\u0437'\n'\\u0448'\n'\\u044d'\n'\\u0449'\n'\\u0447'\n'\\u044a'\n'\\u042e'\n'\\u0410'\n'\\u0411'\n'\\u0426'\n'\\u0414'\n'\\u0415'\n'\\u0424'\n'\\u0413'\n'\\u0425'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u042f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0416'\n'\\u0412'\n'\\u042c'\n'\\u042b'\n'\\u0417'\n'\\u0428'\n'\\u042d'\n'\\u0429'\n'\\u0427'\n'\\u042a'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.koi8_t":[".py","''\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='koi8-t',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u049b'\n'\\u0493'\n'\\u201a'\n'\\u0492'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\ufffe'\n'\\u2030'\n'\\u04b3'\n'\\u2039'\n'\\u04b2'\n'\\u04b7'\n'\\u04b6'\n'\\ufffe'\n'\\u049a'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\ufffe'\n'\\u2122'\n'\\ufffe'\n'\\u203a'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u04ef'\n'\\u04ee'\n'\\u0451'\n'\\xa4'\n'\\u04e3'\n'\\xa6'\n'\\xa7'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\ufffe'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\u0401'\n'\\ufffe'\n'\\u04e2'\n'\\xb6'\n'\\xb7'\n'\\ufffe'\n'\\u2116'\n'\\ufffe'\n'\\xbb'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\xa9'\n'\\u044e'\n'\\u0430'\n'\\u0431'\n'\\u0446'\n'\\u0434'\n'\\u0435'\n'\\u0444'\n'\\u0433'\n'\\u0445'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u044f'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0436'\n'\\u0432'\n'\\u044c'\n'\\u044b'\n'\\u0437'\n'\\u0448'\n'\\u044d'\n'\\u0449'\n'\\u0447'\n'\\u044a'\n'\\u042e'\n'\\u0410'\n'\\u0411'\n'\\u0426'\n'\\u0414'\n'\\u0415'\n'\\u0424'\n'\\u0413'\n'\\u0425'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u042f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0416'\n'\\u0412'\n'\\u042c'\n'\\u042b'\n'\\u0417'\n'\\u0428'\n'\\u042d'\n'\\u0429'\n'\\u0427'\n'\\u042a'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.koi8_u":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='koi8-u',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u2500'\n'\\u2502'\n'\\u250c'\n'\\u2510'\n'\\u2514'\n'\\u2518'\n'\\u251c'\n'\\u2524'\n'\\u252c'\n'\\u2534'\n'\\u253c'\n'\\u2580'\n'\\u2584'\n'\\u2588'\n'\\u258c'\n'\\u2590'\n'\\u2591'\n'\\u2592'\n'\\u2593'\n'\\u2320'\n'\\u25a0'\n'\\u2219'\n'\\u221a'\n'\\u2248'\n'\\u2264'\n'\\u2265'\n'\\xa0'\n'\\u2321'\n'\\xb0'\n'\\xb2'\n'\\xb7'\n'\\xf7'\n'\\u2550'\n'\\u2551'\n'\\u2552'\n'\\u0451'\n'\\u0454'\n'\\u2554'\n'\\u0456'\n'\\u0457'\n'\\u2557'\n'\\u2558'\n'\\u2559'\n'\\u255a'\n'\\u255b'\n'\\u0491'\n'\\u255d'\n'\\u255e'\n'\\u255f'\n'\\u2560'\n'\\u2561'\n'\\u0401'\n'\\u0404'\n'\\u2563'\n'\\u0406'\n'\\u0407'\n'\\u2566'\n'\\u2567'\n'\\u2568'\n'\\u2569'\n'\\u256a'\n'\\u0490'\n'\\u256c'\n'\\xa9'\n'\\u044e'\n'\\u0430'\n'\\u0431'\n'\\u0446'\n'\\u0434'\n'\\u0435'\n'\\u0444'\n'\\u0433'\n'\\u0445'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u044f'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0436'\n'\\u0432'\n'\\u044c'\n'\\u044b'\n'\\u0437'\n'\\u0448'\n'\\u044d'\n'\\u0449'\n'\\u0447'\n'\\u044a'\n'\\u042e'\n'\\u0410'\n'\\u0411'\n'\\u0426'\n'\\u0414'\n'\\u0415'\n'\\u0424'\n'\\u0413'\n'\\u0425'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u042f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0416'\n'\\u0412'\n'\\u042c'\n'\\u042b'\n'\\u0417'\n'\\u0428'\n'\\u042d'\n'\\u0429'\n'\\u0427'\n'\\u042a'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.kz1048":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='kz1048',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0402'\n'\\u0403'\n'\\u201a'\n'\\u0453'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\u20ac'\n'\\u2030'\n'\\u0409'\n'\\u2039'\n'\\u040a'\n'\\u049a'\n'\\u04ba'\n'\\u040f'\n'\\u0452'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\ufffe'\n'\\u2122'\n'\\u0459'\n'\\u203a'\n'\\u045a'\n'\\u049b'\n'\\u04bb'\n'\\u045f'\n'\\xa0'\n'\\u04b0'\n'\\u04b1'\n'\\u04d8'\n'\\xa4'\n'\\u04e8'\n'\\xa6'\n'\\xa7'\n'\\u0401'\n'\\xa9'\n'\\u0492'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\u04ae'\n'\\xb0'\n'\\xb1'\n'\\u0406'\n'\\u0456'\n'\\u04e9'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\u0451'\n'\\u2116'\n'\\u0493'\n'\\xbb'\n'\\u04d9'\n'\\u04a2'\n'\\u04a3'\n'\\u04af'\n'\\u0410'\n'\\u0411'\n'\\u0412'\n'\\u0413'\n'\\u0414'\n'\\u0415'\n'\\u0416'\n'\\u0417'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0424'\n'\\u0425'\n'\\u0426'\n'\\u0427'\n'\\u0428'\n'\\u0429'\n'\\u042a'\n'\\u042b'\n'\\u042c'\n'\\u042d'\n'\\u042e'\n'\\u042f'\n'\\u0430'\n'\\u0431'\n'\\u0432'\n'\\u0433'\n'\\u0434'\n'\\u0435'\n'\\u0436'\n'\\u0437'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0444'\n'\\u0445'\n'\\u0446'\n'\\u0447'\n'\\u0448'\n'\\u0449'\n'\\u044a'\n'\\u044b'\n'\\u044c'\n'\\u044d'\n'\\u044e'\n'\\u044f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.latin_1":[".py","''\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n\n\n encode=codecs.latin_1_encode\n decode=codecs.latin_1_decode\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.latin_1_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.latin_1_decode(input,self.errors)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \nclass StreamConverter(StreamWriter,StreamReader):\n\n encode=codecs.latin_1_decode\n decode=codecs.latin_1_encode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='iso8859-1',\n encode=Codec.encode,\n decode=Codec.decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.mac_arabic":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_map)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_map)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-arabic',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \ndecoding_map=codecs.make_identity_dict(range(256))\ndecoding_map.update({\n0x0080:0x00c4,\n0x0081:0x00a0,\n0x0082:0x00c7,\n0x0083:0x00c9,\n0x0084:0x00d1,\n0x0085:0x00d6,\n0x0086:0x00dc,\n0x0087:0x00e1,\n0x0088:0x00e0,\n0x0089:0x00e2,\n0x008a:0x00e4,\n0x008b:0x06ba,\n0x008c:0x00ab,\n0x008d:0x00e7,\n0x008e:0x00e9,\n0x008f:0x00e8,\n0x0090:0x00ea,\n0x0091:0x00eb,\n0x0092:0x00ed,\n0x0093:0x2026,\n0x0094:0x00ee,\n0x0095:0x00ef,\n0x0096:0x00f1,\n0x0097:0x00f3,\n0x0098:0x00bb,\n0x0099:0x00f4,\n0x009a:0x00f6,\n0x009b:0x00f7,\n0x009c:0x00fa,\n0x009d:0x00f9,\n0x009e:0x00fb,\n0x009f:0x00fc,\n0x00a0:0x0020,\n0x00a1:0x0021,\n0x00a2:0x0022,\n0x00a3:0x0023,\n0x00a4:0x0024,\n0x00a5:0x066a,\n0x00a6:0x0026,\n0x00a7:0x0027,\n0x00a8:0x0028,\n0x00a9:0x0029,\n0x00aa:0x002a,\n0x00ab:0x002b,\n0x00ac:0x060c,\n0x00ad:0x002d,\n0x00ae:0x002e,\n0x00af:0x002f,\n0x00b0:0x0660,\n0x00b1:0x0661,\n0x00b2:0x0662,\n0x00b3:0x0663,\n0x00b4:0x0664,\n0x00b5:0x0665,\n0x00b6:0x0666,\n0x00b7:0x0667,\n0x00b8:0x0668,\n0x00b9:0x0669,\n0x00ba:0x003a,\n0x00bb:0x061b,\n0x00bc:0x003c,\n0x00bd:0x003d,\n0x00be:0x003e,\n0x00bf:0x061f,\n0x00c0:0x274a,\n0x00c1:0x0621,\n0x00c2:0x0622,\n0x00c3:0x0623,\n0x00c4:0x0624,\n0x00c5:0x0625,\n0x00c6:0x0626,\n0x00c7:0x0627,\n0x00c8:0x0628,\n0x00c9:0x0629,\n0x00ca:0x062a,\n0x00cb:0x062b,\n0x00cc:0x062c,\n0x00cd:0x062d,\n0x00ce:0x062e,\n0x00cf:0x062f,\n0x00d0:0x0630,\n0x00d1:0x0631,\n0x00d2:0x0632,\n0x00d3:0x0633,\n0x00d4:0x0634,\n0x00d5:0x0635,\n0x00d6:0x0636,\n0x00d7:0x0637,\n0x00d8:0x0638,\n0x00d9:0x0639,\n0x00da:0x063a,\n0x00db:0x005b,\n0x00dc:0x005c,\n0x00dd:0x005d,\n0x00de:0x005e,\n0x00df:0x005f,\n0x00e0:0x0640,\n0x00e1:0x0641,\n0x00e2:0x0642,\n0x00e3:0x0643,\n0x00e4:0x0644,\n0x00e5:0x0645,\n0x00e6:0x0646,\n0x00e7:0x0647,\n0x00e8:0x0648,\n0x00e9:0x0649,\n0x00ea:0x064a,\n0x00eb:0x064b,\n0x00ec:0x064c,\n0x00ed:0x064d,\n0x00ee:0x064e,\n0x00ef:0x064f,\n0x00f0:0x0650,\n0x00f1:0x0651,\n0x00f2:0x0652,\n0x00f3:0x067e,\n0x00f4:0x0679,\n0x00f5:0x0686,\n0x00f6:0x06d5,\n0x00f7:0x06a4,\n0x00f8:0x06af,\n0x00f9:0x0688,\n0x00fa:0x0691,\n0x00fb:0x007b,\n0x00fc:0x007c,\n0x00fd:0x007d,\n0x00fe:0x0698,\n0x00ff:0x06d2,\n})\n\n\n\ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\xa0'\n'\\xc7'\n'\\xc9'\n'\\xd1'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\xe0'\n'\\xe2'\n'\\xe4'\n'\\u06ba'\n'\\xab'\n'\\xe7'\n'\\xe9'\n'\\xe8'\n'\\xea'\n'\\xeb'\n'\\xed'\n'\\u2026'\n'\\xee'\n'\\xef'\n'\\xf1'\n'\\xf3'\n'\\xbb'\n'\\xf4'\n'\\xf6'\n'\\xf7'\n'\\xfa'\n'\\xf9'\n'\\xfb'\n'\\xfc'\n' '\n'!'\n'\"'\n'#'\n'$'\n'\\u066a'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n'\\u060c'\n'-'\n'.'\n'/'\n'\\u0660'\n'\\u0661'\n'\\u0662'\n'\\u0663'\n'\\u0664'\n'\\u0665'\n'\\u0666'\n'\\u0667'\n'\\u0668'\n'\\u0669'\n':'\n'\\u061b'\n'<'\n'='\n'>'\n'\\u061f'\n'\\u274a'\n'\\u0621'\n'\\u0622'\n'\\u0623'\n'\\u0624'\n'\\u0625'\n'\\u0626'\n'\\u0627'\n'\\u0628'\n'\\u0629'\n'\\u062a'\n'\\u062b'\n'\\u062c'\n'\\u062d'\n'\\u062e'\n'\\u062f'\n'\\u0630'\n'\\u0631'\n'\\u0632'\n'\\u0633'\n'\\u0634'\n'\\u0635'\n'\\u0636'\n'\\u0637'\n'\\u0638'\n'\\u0639'\n'\\u063a'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'\\u0640'\n'\\u0641'\n'\\u0642'\n'\\u0643'\n'\\u0644'\n'\\u0645'\n'\\u0646'\n'\\u0647'\n'\\u0648'\n'\\u0649'\n'\\u064a'\n'\\u064b'\n'\\u064c'\n'\\u064d'\n'\\u064e'\n'\\u064f'\n'\\u0650'\n'\\u0651'\n'\\u0652'\n'\\u067e'\n'\\u0679'\n'\\u0686'\n'\\u06d5'\n'\\u06a4'\n'\\u06af'\n'\\u0688'\n'\\u0691'\n'{'\n'|'\n'}'\n'\\u0698'\n'\\u06d2'\n)\n\n\n\nencoding_map={\n0x0000:0x0000,\n0x0001:0x0001,\n0x0002:0x0002,\n0x0003:0x0003,\n0x0004:0x0004,\n0x0005:0x0005,\n0x0006:0x0006,\n0x0007:0x0007,\n0x0008:0x0008,\n0x0009:0x0009,\n0x000a:0x000a,\n0x000b:0x000b,\n0x000c:0x000c,\n0x000d:0x000d,\n0x000e:0x000e,\n0x000f:0x000f,\n0x0010:0x0010,\n0x0011:0x0011,\n0x0012:0x0012,\n0x0013:0x0013,\n0x0014:0x0014,\n0x0015:0x0015,\n0x0016:0x0016,\n0x0017:0x0017,\n0x0018:0x0018,\n0x0019:0x0019,\n0x001a:0x001a,\n0x001b:0x001b,\n0x001c:0x001c,\n0x001d:0x001d,\n0x001e:0x001e,\n0x001f:0x001f,\n0x0020:0x0020,\n0x0020:0x00a0,\n0x0021:0x0021,\n0x0021:0x00a1,\n0x0022:0x0022,\n0x0022:0x00a2,\n0x0023:0x0023,\n0x0023:0x00a3,\n0x0024:0x0024,\n0x0024:0x00a4,\n0x0025:0x0025,\n0x0026:0x0026,\n0x0026:0x00a6,\n0x0027:0x0027,\n0x0027:0x00a7,\n0x0028:0x0028,\n0x0028:0x00a8,\n0x0029:0x0029,\n0x0029:0x00a9,\n0x002a:0x002a,\n0x002a:0x00aa,\n0x002b:0x002b,\n0x002b:0x00ab,\n0x002c:0x002c,\n0x002d:0x002d,\n0x002d:0x00ad,\n0x002e:0x002e,\n0x002e:0x00ae,\n0x002f:0x002f,\n0x002f:0x00af,\n0x0030:0x0030,\n0x0031:0x0031,\n0x0032:0x0032,\n0x0033:0x0033,\n0x0034:0x0034,\n0x0035:0x0035,\n0x0036:0x0036,\n0x0037:0x0037,\n0x0038:0x0038,\n0x0039:0x0039,\n0x003a:0x003a,\n0x003a:0x00ba,\n0x003b:0x003b,\n0x003c:0x003c,\n0x003c:0x00bc,\n0x003d:0x003d,\n0x003d:0x00bd,\n0x003e:0x003e,\n0x003e:0x00be,\n0x003f:0x003f,\n0x0040:0x0040,\n0x0041:0x0041,\n0x0042:0x0042,\n0x0043:0x0043,\n0x0044:0x0044,\n0x0045:0x0045,\n0x0046:0x0046,\n0x0047:0x0047,\n0x0048:0x0048,\n0x0049:0x0049,\n0x004a:0x004a,\n0x004b:0x004b,\n0x004c:0x004c,\n0x004d:0x004d,\n0x004e:0x004e,\n0x004f:0x004f,\n0x0050:0x0050,\n0x0051:0x0051,\n0x0052:0x0052,\n0x0053:0x0053,\n0x0054:0x0054,\n0x0055:0x0055,\n0x0056:0x0056,\n0x0057:0x0057,\n0x0058:0x0058,\n0x0059:0x0059,\n0x005a:0x005a,\n0x005b:0x005b,\n0x005b:0x00db,\n0x005c:0x005c,\n0x005c:0x00dc,\n0x005d:0x005d,\n0x005d:0x00dd,\n0x005e:0x005e,\n0x005e:0x00de,\n0x005f:0x005f,\n0x005f:0x00df,\n0x0060:0x0060,\n0x0061:0x0061,\n0x0062:0x0062,\n0x0063:0x0063,\n0x0064:0x0064,\n0x0065:0x0065,\n0x0066:0x0066,\n0x0067:0x0067,\n0x0068:0x0068,\n0x0069:0x0069,\n0x006a:0x006a,\n0x006b:0x006b,\n0x006c:0x006c,\n0x006d:0x006d,\n0x006e:0x006e,\n0x006f:0x006f,\n0x0070:0x0070,\n0x0071:0x0071,\n0x0072:0x0072,\n0x0073:0x0073,\n0x0074:0x0074,\n0x0075:0x0075,\n0x0076:0x0076,\n0x0077:0x0077,\n0x0078:0x0078,\n0x0079:0x0079,\n0x007a:0x007a,\n0x007b:0x007b,\n0x007b:0x00fb,\n0x007c:0x007c,\n0x007c:0x00fc,\n0x007d:0x007d,\n0x007d:0x00fd,\n0x007e:0x007e,\n0x007f:0x007f,\n0x00a0:0x0081,\n0x00ab:0x008c,\n0x00bb:0x0098,\n0x00c4:0x0080,\n0x00c7:0x0082,\n0x00c9:0x0083,\n0x00d1:0x0084,\n0x00d6:0x0085,\n0x00dc:0x0086,\n0x00e0:0x0088,\n0x00e1:0x0087,\n0x00e2:0x0089,\n0x00e4:0x008a,\n0x00e7:0x008d,\n0x00e8:0x008f,\n0x00e9:0x008e,\n0x00ea:0x0090,\n0x00eb:0x0091,\n0x00ed:0x0092,\n0x00ee:0x0094,\n0x00ef:0x0095,\n0x00f1:0x0096,\n0x00f3:0x0097,\n0x00f4:0x0099,\n0x00f6:0x009a,\n0x00f7:0x009b,\n0x00f9:0x009d,\n0x00fa:0x009c,\n0x00fb:0x009e,\n0x00fc:0x009f,\n0x060c:0x00ac,\n0x061b:0x00bb,\n0x061f:0x00bf,\n0x0621:0x00c1,\n0x0622:0x00c2,\n0x0623:0x00c3,\n0x0624:0x00c4,\n0x0625:0x00c5,\n0x0626:0x00c6,\n0x0627:0x00c7,\n0x0628:0x00c8,\n0x0629:0x00c9,\n0x062a:0x00ca,\n0x062b:0x00cb,\n0x062c:0x00cc,\n0x062d:0x00cd,\n0x062e:0x00ce,\n0x062f:0x00cf,\n0x0630:0x00d0,\n0x0631:0x00d1,\n0x0632:0x00d2,\n0x0633:0x00d3,\n0x0634:0x00d4,\n0x0635:0x00d5,\n0x0636:0x00d6,\n0x0637:0x00d7,\n0x0638:0x00d8,\n0x0639:0x00d9,\n0x063a:0x00da,\n0x0640:0x00e0,\n0x0641:0x00e1,\n0x0642:0x00e2,\n0x0643:0x00e3,\n0x0644:0x00e4,\n0x0645:0x00e5,\n0x0646:0x00e6,\n0x0647:0x00e7,\n0x0648:0x00e8,\n0x0649:0x00e9,\n0x064a:0x00ea,\n0x064b:0x00eb,\n0x064c:0x00ec,\n0x064d:0x00ed,\n0x064e:0x00ee,\n0x064f:0x00ef,\n0x0650:0x00f0,\n0x0651:0x00f1,\n0x0652:0x00f2,\n0x0660:0x00b0,\n0x0661:0x00b1,\n0x0662:0x00b2,\n0x0663:0x00b3,\n0x0664:0x00b4,\n0x0665:0x00b5,\n0x0666:0x00b6,\n0x0667:0x00b7,\n0x0668:0x00b8,\n0x0669:0x00b9,\n0x066a:0x00a5,\n0x0679:0x00f4,\n0x067e:0x00f3,\n0x0686:0x00f5,\n0x0688:0x00f9,\n0x0691:0x00fa,\n0x0698:0x00fe,\n0x06a4:0x00f7,\n0x06af:0x00f8,\n0x06ba:0x008b,\n0x06d2:0x00ff,\n0x06d5:0x00f6,\n0x2026:0x0093,\n0x274a:0x00c0,\n}\n",["codecs"]],"encodings.mac_centeuro":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-centeuro',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\u0100'\n'\\u0101'\n'\\xc9'\n'\\u0104'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\u0105'\n'\\u010c'\n'\\xe4'\n'\\u010d'\n'\\u0106'\n'\\u0107'\n'\\xe9'\n'\\u0179'\n'\\u017a'\n'\\u010e'\n'\\xed'\n'\\u010f'\n'\\u0112'\n'\\u0113'\n'\\u0116'\n'\\xf3'\n'\\u0117'\n'\\xf4'\n'\\xf6'\n'\\xf5'\n'\\xfa'\n'\\u011a'\n'\\u011b'\n'\\xfc'\n'\\u2020'\n'\\xb0'\n'\\u0118'\n'\\xa3'\n'\\xa7'\n'\\u2022'\n'\\xb6'\n'\\xdf'\n'\\xae'\n'\\xa9'\n'\\u2122'\n'\\u0119'\n'\\xa8'\n'\\u2260'\n'\\u0123'\n'\\u012e'\n'\\u012f'\n'\\u012a'\n'\\u2264'\n'\\u2265'\n'\\u012b'\n'\\u0136'\n'\\u2202'\n'\\u2211'\n'\\u0142'\n'\\u013b'\n'\\u013c'\n'\\u013d'\n'\\u013e'\n'\\u0139'\n'\\u013a'\n'\\u0145'\n'\\u0146'\n'\\u0143'\n'\\xac'\n'\\u221a'\n'\\u0144'\n'\\u0147'\n'\\u2206'\n'\\xab'\n'\\xbb'\n'\\u2026'\n'\\xa0'\n'\\u0148'\n'\\u0150'\n'\\xd5'\n'\\u0151'\n'\\u014c'\n'\\u2013'\n'\\u2014'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u25ca'\n'\\u014d'\n'\\u0154'\n'\\u0155'\n'\\u0158'\n'\\u2039'\n'\\u203a'\n'\\u0159'\n'\\u0156'\n'\\u0157'\n'\\u0160'\n'\\u201a'\n'\\u201e'\n'\\u0161'\n'\\u015a'\n'\\u015b'\n'\\xc1'\n'\\u0164'\n'\\u0165'\n'\\xcd'\n'\\u017d'\n'\\u017e'\n'\\u016a'\n'\\xd3'\n'\\xd4'\n'\\u016b'\n'\\u016e'\n'\\xda'\n'\\u016f'\n'\\u0170'\n'\\u0171'\n'\\u0172'\n'\\u0173'\n'\\xdd'\n'\\xfd'\n'\\u0137'\n'\\u017b'\n'\\u0141'\n'\\u017c'\n'\\u0122'\n'\\u02c7'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_croatian":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-croatian',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\xc5'\n'\\xc7'\n'\\xc9'\n'\\xd1'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\xe0'\n'\\xe2'\n'\\xe4'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xe9'\n'\\xe8'\n'\\xea'\n'\\xeb'\n'\\xed'\n'\\xec'\n'\\xee'\n'\\xef'\n'\\xf1'\n'\\xf3'\n'\\xf2'\n'\\xf4'\n'\\xf6'\n'\\xf5'\n'\\xfa'\n'\\xf9'\n'\\xfb'\n'\\xfc'\n'\\u2020'\n'\\xb0'\n'\\xa2'\n'\\xa3'\n'\\xa7'\n'\\u2022'\n'\\xb6'\n'\\xdf'\n'\\xae'\n'\\u0160'\n'\\u2122'\n'\\xb4'\n'\\xa8'\n'\\u2260'\n'\\u017d'\n'\\xd8'\n'\\u221e'\n'\\xb1'\n'\\u2264'\n'\\u2265'\n'\\u2206'\n'\\xb5'\n'\\u2202'\n'\\u2211'\n'\\u220f'\n'\\u0161'\n'\\u222b'\n'\\xaa'\n'\\xba'\n'\\u03a9'\n'\\u017e'\n'\\xf8'\n'\\xbf'\n'\\xa1'\n'\\xac'\n'\\u221a'\n'\\u0192'\n'\\u2248'\n'\\u0106'\n'\\xab'\n'\\u010c'\n'\\u2026'\n'\\xa0'\n'\\xc0'\n'\\xc3'\n'\\xd5'\n'\\u0152'\n'\\u0153'\n'\\u0110'\n'\\u2014'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u25ca'\n'\\uf8ff'\n'\\xa9'\n'\\u2044'\n'\\u20ac'\n'\\u2039'\n'\\u203a'\n'\\xc6'\n'\\xbb'\n'\\u2013'\n'\\xb7'\n'\\u201a'\n'\\u201e'\n'\\u2030'\n'\\xc2'\n'\\u0107'\n'\\xc1'\n'\\u010d'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'\\xd3'\n'\\xd4'\n'\\u0111'\n'\\xd2'\n'\\xda'\n'\\xdb'\n'\\xd9'\n'\\u0131'\n'\\u02c6'\n'\\u02dc'\n'\\xaf'\n'\\u03c0'\n'\\xcb'\n'\\u02da'\n'\\xb8'\n'\\xca'\n'\\xe6'\n'\\u02c7'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_cyrillic":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-cyrillic',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0410'\n'\\u0411'\n'\\u0412'\n'\\u0413'\n'\\u0414'\n'\\u0415'\n'\\u0416'\n'\\u0417'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0424'\n'\\u0425'\n'\\u0426'\n'\\u0427'\n'\\u0428'\n'\\u0429'\n'\\u042a'\n'\\u042b'\n'\\u042c'\n'\\u042d'\n'\\u042e'\n'\\u042f'\n'\\u2020'\n'\\xb0'\n'\\u0490'\n'\\xa3'\n'\\xa7'\n'\\u2022'\n'\\xb6'\n'\\u0406'\n'\\xae'\n'\\xa9'\n'\\u2122'\n'\\u0402'\n'\\u0452'\n'\\u2260'\n'\\u0403'\n'\\u0453'\n'\\u221e'\n'\\xb1'\n'\\u2264'\n'\\u2265'\n'\\u0456'\n'\\xb5'\n'\\u0491'\n'\\u0408'\n'\\u0404'\n'\\u0454'\n'\\u0407'\n'\\u0457'\n'\\u0409'\n'\\u0459'\n'\\u040a'\n'\\u045a'\n'\\u0458'\n'\\u0405'\n'\\xac'\n'\\u221a'\n'\\u0192'\n'\\u2248'\n'\\u2206'\n'\\xab'\n'\\xbb'\n'\\u2026'\n'\\xa0'\n'\\u040b'\n'\\u045b'\n'\\u040c'\n'\\u045c'\n'\\u0455'\n'\\u2013'\n'\\u2014'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u201e'\n'\\u040e'\n'\\u045e'\n'\\u040f'\n'\\u045f'\n'\\u2116'\n'\\u0401'\n'\\u0451'\n'\\u044f'\n'\\u0430'\n'\\u0431'\n'\\u0432'\n'\\u0433'\n'\\u0434'\n'\\u0435'\n'\\u0436'\n'\\u0437'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0444'\n'\\u0445'\n'\\u0446'\n'\\u0447'\n'\\u0448'\n'\\u0449'\n'\\u044a'\n'\\u044b'\n'\\u044c'\n'\\u044d'\n'\\u044e'\n'\\u20ac'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_farsi":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-farsi',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\xa0'\n'\\xc7'\n'\\xc9'\n'\\xd1'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\xe0'\n'\\xe2'\n'\\xe4'\n'\\u06ba'\n'\\xab'\n'\\xe7'\n'\\xe9'\n'\\xe8'\n'\\xea'\n'\\xeb'\n'\\xed'\n'\\u2026'\n'\\xee'\n'\\xef'\n'\\xf1'\n'\\xf3'\n'\\xbb'\n'\\xf4'\n'\\xf6'\n'\\xf7'\n'\\xfa'\n'\\xf9'\n'\\xfb'\n'\\xfc'\n' '\n'!'\n'\"'\n'#'\n'$'\n'\\u066a'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n'\\u060c'\n'-'\n'.'\n'/'\n'\\u06f0'\n'\\u06f1'\n'\\u06f2'\n'\\u06f3'\n'\\u06f4'\n'\\u06f5'\n'\\u06f6'\n'\\u06f7'\n'\\u06f8'\n'\\u06f9'\n':'\n'\\u061b'\n'<'\n'='\n'>'\n'\\u061f'\n'\\u274a'\n'\\u0621'\n'\\u0622'\n'\\u0623'\n'\\u0624'\n'\\u0625'\n'\\u0626'\n'\\u0627'\n'\\u0628'\n'\\u0629'\n'\\u062a'\n'\\u062b'\n'\\u062c'\n'\\u062d'\n'\\u062e'\n'\\u062f'\n'\\u0630'\n'\\u0631'\n'\\u0632'\n'\\u0633'\n'\\u0634'\n'\\u0635'\n'\\u0636'\n'\\u0637'\n'\\u0638'\n'\\u0639'\n'\\u063a'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'\\u0640'\n'\\u0641'\n'\\u0642'\n'\\u0643'\n'\\u0644'\n'\\u0645'\n'\\u0646'\n'\\u0647'\n'\\u0648'\n'\\u0649'\n'\\u064a'\n'\\u064b'\n'\\u064c'\n'\\u064d'\n'\\u064e'\n'\\u064f'\n'\\u0650'\n'\\u0651'\n'\\u0652'\n'\\u067e'\n'\\u0679'\n'\\u0686'\n'\\u06d5'\n'\\u06a4'\n'\\u06af'\n'\\u0688'\n'\\u0691'\n'{'\n'|'\n'}'\n'\\u0698'\n'\\u06d2'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_greek":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-greek',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\xb9'\n'\\xb2'\n'\\xc9'\n'\\xb3'\n'\\xd6'\n'\\xdc'\n'\\u0385'\n'\\xe0'\n'\\xe2'\n'\\xe4'\n'\\u0384'\n'\\xa8'\n'\\xe7'\n'\\xe9'\n'\\xe8'\n'\\xea'\n'\\xeb'\n'\\xa3'\n'\\u2122'\n'\\xee'\n'\\xef'\n'\\u2022'\n'\\xbd'\n'\\u2030'\n'\\xf4'\n'\\xf6'\n'\\xa6'\n'\\u20ac'\n'\\xf9'\n'\\xfb'\n'\\xfc'\n'\\u2020'\n'\\u0393'\n'\\u0394'\n'\\u0398'\n'\\u039b'\n'\\u039e'\n'\\u03a0'\n'\\xdf'\n'\\xae'\n'\\xa9'\n'\\u03a3'\n'\\u03aa'\n'\\xa7'\n'\\u2260'\n'\\xb0'\n'\\xb7'\n'\\u0391'\n'\\xb1'\n'\\u2264'\n'\\u2265'\n'\\xa5'\n'\\u0392'\n'\\u0395'\n'\\u0396'\n'\\u0397'\n'\\u0399'\n'\\u039a'\n'\\u039c'\n'\\u03a6'\n'\\u03ab'\n'\\u03a8'\n'\\u03a9'\n'\\u03ac'\n'\\u039d'\n'\\xac'\n'\\u039f'\n'\\u03a1'\n'\\u2248'\n'\\u03a4'\n'\\xab'\n'\\xbb'\n'\\u2026'\n'\\xa0'\n'\\u03a5'\n'\\u03a7'\n'\\u0386'\n'\\u0388'\n'\\u0153'\n'\\u2013'\n'\\u2015'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u0389'\n'\\u038a'\n'\\u038c'\n'\\u038e'\n'\\u03ad'\n'\\u03ae'\n'\\u03af'\n'\\u03cc'\n'\\u038f'\n'\\u03cd'\n'\\u03b1'\n'\\u03b2'\n'\\u03c8'\n'\\u03b4'\n'\\u03b5'\n'\\u03c6'\n'\\u03b3'\n'\\u03b7'\n'\\u03b9'\n'\\u03be'\n'\\u03ba'\n'\\u03bb'\n'\\u03bc'\n'\\u03bd'\n'\\u03bf'\n'\\u03c0'\n'\\u03ce'\n'\\u03c1'\n'\\u03c3'\n'\\u03c4'\n'\\u03b8'\n'\\u03c9'\n'\\u03c2'\n'\\u03c7'\n'\\u03c5'\n'\\u03b6'\n'\\u03ca'\n'\\u03cb'\n'\\u0390'\n'\\u03b0'\n'\\xad'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_iceland":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-iceland',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\xc5'\n'\\xc7'\n'\\xc9'\n'\\xd1'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\xe0'\n'\\xe2'\n'\\xe4'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xe9'\n'\\xe8'\n'\\xea'\n'\\xeb'\n'\\xed'\n'\\xec'\n'\\xee'\n'\\xef'\n'\\xf1'\n'\\xf3'\n'\\xf2'\n'\\xf4'\n'\\xf6'\n'\\xf5'\n'\\xfa'\n'\\xf9'\n'\\xfb'\n'\\xfc'\n'\\xdd'\n'\\xb0'\n'\\xa2'\n'\\xa3'\n'\\xa7'\n'\\u2022'\n'\\xb6'\n'\\xdf'\n'\\xae'\n'\\xa9'\n'\\u2122'\n'\\xb4'\n'\\xa8'\n'\\u2260'\n'\\xc6'\n'\\xd8'\n'\\u221e'\n'\\xb1'\n'\\u2264'\n'\\u2265'\n'\\xa5'\n'\\xb5'\n'\\u2202'\n'\\u2211'\n'\\u220f'\n'\\u03c0'\n'\\u222b'\n'\\xaa'\n'\\xba'\n'\\u03a9'\n'\\xe6'\n'\\xf8'\n'\\xbf'\n'\\xa1'\n'\\xac'\n'\\u221a'\n'\\u0192'\n'\\u2248'\n'\\u2206'\n'\\xab'\n'\\xbb'\n'\\u2026'\n'\\xa0'\n'\\xc0'\n'\\xc3'\n'\\xd5'\n'\\u0152'\n'\\u0153'\n'\\u2013'\n'\\u2014'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u25ca'\n'\\xff'\n'\\u0178'\n'\\u2044'\n'\\u20ac'\n'\\xd0'\n'\\xf0'\n'\\xde'\n'\\xfe'\n'\\xfd'\n'\\xb7'\n'\\u201a'\n'\\u201e'\n'\\u2030'\n'\\xc2'\n'\\xca'\n'\\xc1'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'\\xd3'\n'\\xd4'\n'\\uf8ff'\n'\\xd2'\n'\\xda'\n'\\xdb'\n'\\xd9'\n'\\u0131'\n'\\u02c6'\n'\\u02dc'\n'\\xaf'\n'\\u02d8'\n'\\u02d9'\n'\\u02da'\n'\\xb8'\n'\\u02dd'\n'\\u02db'\n'\\u02c7'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_latin2":[".py","''\n\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-latin2',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\u0100'\n'\\u0101'\n'\\xc9'\n'\\u0104'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\u0105'\n'\\u010c'\n'\\xe4'\n'\\u010d'\n'\\u0106'\n'\\u0107'\n'\\xe9'\n'\\u0179'\n'\\u017a'\n'\\u010e'\n'\\xed'\n'\\u010f'\n'\\u0112'\n'\\u0113'\n'\\u0116'\n'\\xf3'\n'\\u0117'\n'\\xf4'\n'\\xf6'\n'\\xf5'\n'\\xfa'\n'\\u011a'\n'\\u011b'\n'\\xfc'\n'\\u2020'\n'\\xb0'\n'\\u0118'\n'\\xa3'\n'\\xa7'\n'\\u2022'\n'\\xb6'\n'\\xdf'\n'\\xae'\n'\\xa9'\n'\\u2122'\n'\\u0119'\n'\\xa8'\n'\\u2260'\n'\\u0123'\n'\\u012e'\n'\\u012f'\n'\\u012a'\n'\\u2264'\n'\\u2265'\n'\\u012b'\n'\\u0136'\n'\\u2202'\n'\\u2211'\n'\\u0142'\n'\\u013b'\n'\\u013c'\n'\\u013d'\n'\\u013e'\n'\\u0139'\n'\\u013a'\n'\\u0145'\n'\\u0146'\n'\\u0143'\n'\\xac'\n'\\u221a'\n'\\u0144'\n'\\u0147'\n'\\u2206'\n'\\xab'\n'\\xbb'\n'\\u2026'\n'\\xa0'\n'\\u0148'\n'\\u0150'\n'\\xd5'\n'\\u0151'\n'\\u014c'\n'\\u2013'\n'\\u2014'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u25ca'\n'\\u014d'\n'\\u0154'\n'\\u0155'\n'\\u0158'\n'\\u2039'\n'\\u203a'\n'\\u0159'\n'\\u0156'\n'\\u0157'\n'\\u0160'\n'\\u201a'\n'\\u201e'\n'\\u0161'\n'\\u015a'\n'\\u015b'\n'\\xc1'\n'\\u0164'\n'\\u0165'\n'\\xcd'\n'\\u017d'\n'\\u017e'\n'\\u016a'\n'\\xd3'\n'\\xd4'\n'\\u016b'\n'\\u016e'\n'\\xda'\n'\\u016f'\n'\\u0170'\n'\\u0171'\n'\\u0172'\n'\\u0173'\n'\\xdd'\n'\\xfd'\n'\\u0137'\n'\\u017b'\n'\\u0141'\n'\\u017c'\n'\\u0122'\n'\\u02c7'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_roman":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-roman',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\xc5'\n'\\xc7'\n'\\xc9'\n'\\xd1'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\xe0'\n'\\xe2'\n'\\xe4'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xe9'\n'\\xe8'\n'\\xea'\n'\\xeb'\n'\\xed'\n'\\xec'\n'\\xee'\n'\\xef'\n'\\xf1'\n'\\xf3'\n'\\xf2'\n'\\xf4'\n'\\xf6'\n'\\xf5'\n'\\xfa'\n'\\xf9'\n'\\xfb'\n'\\xfc'\n'\\u2020'\n'\\xb0'\n'\\xa2'\n'\\xa3'\n'\\xa7'\n'\\u2022'\n'\\xb6'\n'\\xdf'\n'\\xae'\n'\\xa9'\n'\\u2122'\n'\\xb4'\n'\\xa8'\n'\\u2260'\n'\\xc6'\n'\\xd8'\n'\\u221e'\n'\\xb1'\n'\\u2264'\n'\\u2265'\n'\\xa5'\n'\\xb5'\n'\\u2202'\n'\\u2211'\n'\\u220f'\n'\\u03c0'\n'\\u222b'\n'\\xaa'\n'\\xba'\n'\\u03a9'\n'\\xe6'\n'\\xf8'\n'\\xbf'\n'\\xa1'\n'\\xac'\n'\\u221a'\n'\\u0192'\n'\\u2248'\n'\\u2206'\n'\\xab'\n'\\xbb'\n'\\u2026'\n'\\xa0'\n'\\xc0'\n'\\xc3'\n'\\xd5'\n'\\u0152'\n'\\u0153'\n'\\u2013'\n'\\u2014'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u25ca'\n'\\xff'\n'\\u0178'\n'\\u2044'\n'\\u20ac'\n'\\u2039'\n'\\u203a'\n'\\ufb01'\n'\\ufb02'\n'\\u2021'\n'\\xb7'\n'\\u201a'\n'\\u201e'\n'\\u2030'\n'\\xc2'\n'\\xca'\n'\\xc1'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'\\xd3'\n'\\xd4'\n'\\uf8ff'\n'\\xd2'\n'\\xda'\n'\\xdb'\n'\\xd9'\n'\\u0131'\n'\\u02c6'\n'\\u02dc'\n'\\xaf'\n'\\u02d8'\n'\\u02d9'\n'\\u02da'\n'\\xb8'\n'\\u02dd'\n'\\u02db'\n'\\u02c7'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_romanian":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-romanian',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\xc5'\n'\\xc7'\n'\\xc9'\n'\\xd1'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\xe0'\n'\\xe2'\n'\\xe4'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xe9'\n'\\xe8'\n'\\xea'\n'\\xeb'\n'\\xed'\n'\\xec'\n'\\xee'\n'\\xef'\n'\\xf1'\n'\\xf3'\n'\\xf2'\n'\\xf4'\n'\\xf6'\n'\\xf5'\n'\\xfa'\n'\\xf9'\n'\\xfb'\n'\\xfc'\n'\\u2020'\n'\\xb0'\n'\\xa2'\n'\\xa3'\n'\\xa7'\n'\\u2022'\n'\\xb6'\n'\\xdf'\n'\\xae'\n'\\xa9'\n'\\u2122'\n'\\xb4'\n'\\xa8'\n'\\u2260'\n'\\u0102'\n'\\u0218'\n'\\u221e'\n'\\xb1'\n'\\u2264'\n'\\u2265'\n'\\xa5'\n'\\xb5'\n'\\u2202'\n'\\u2211'\n'\\u220f'\n'\\u03c0'\n'\\u222b'\n'\\xaa'\n'\\xba'\n'\\u03a9'\n'\\u0103'\n'\\u0219'\n'\\xbf'\n'\\xa1'\n'\\xac'\n'\\u221a'\n'\\u0192'\n'\\u2248'\n'\\u2206'\n'\\xab'\n'\\xbb'\n'\\u2026'\n'\\xa0'\n'\\xc0'\n'\\xc3'\n'\\xd5'\n'\\u0152'\n'\\u0153'\n'\\u2013'\n'\\u2014'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u25ca'\n'\\xff'\n'\\u0178'\n'\\u2044'\n'\\u20ac'\n'\\u2039'\n'\\u203a'\n'\\u021a'\n'\\u021b'\n'\\u2021'\n'\\xb7'\n'\\u201a'\n'\\u201e'\n'\\u2030'\n'\\xc2'\n'\\xca'\n'\\xc1'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'\\xd3'\n'\\xd4'\n'\\uf8ff'\n'\\xd2'\n'\\xda'\n'\\xdb'\n'\\xd9'\n'\\u0131'\n'\\u02c6'\n'\\u02dc'\n'\\xaf'\n'\\u02d8'\n'\\u02d9'\n'\\u02da'\n'\\xb8'\n'\\u02dd'\n'\\u02db'\n'\\u02c7'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mac_turkish":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mac-turkish',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\xc4'\n'\\xc5'\n'\\xc7'\n'\\xc9'\n'\\xd1'\n'\\xd6'\n'\\xdc'\n'\\xe1'\n'\\xe0'\n'\\xe2'\n'\\xe4'\n'\\xe3'\n'\\xe5'\n'\\xe7'\n'\\xe9'\n'\\xe8'\n'\\xea'\n'\\xeb'\n'\\xed'\n'\\xec'\n'\\xee'\n'\\xef'\n'\\xf1'\n'\\xf3'\n'\\xf2'\n'\\xf4'\n'\\xf6'\n'\\xf5'\n'\\xfa'\n'\\xf9'\n'\\xfb'\n'\\xfc'\n'\\u2020'\n'\\xb0'\n'\\xa2'\n'\\xa3'\n'\\xa7'\n'\\u2022'\n'\\xb6'\n'\\xdf'\n'\\xae'\n'\\xa9'\n'\\u2122'\n'\\xb4'\n'\\xa8'\n'\\u2260'\n'\\xc6'\n'\\xd8'\n'\\u221e'\n'\\xb1'\n'\\u2264'\n'\\u2265'\n'\\xa5'\n'\\xb5'\n'\\u2202'\n'\\u2211'\n'\\u220f'\n'\\u03c0'\n'\\u222b'\n'\\xaa'\n'\\xba'\n'\\u03a9'\n'\\xe6'\n'\\xf8'\n'\\xbf'\n'\\xa1'\n'\\xac'\n'\\u221a'\n'\\u0192'\n'\\u2248'\n'\\u2206'\n'\\xab'\n'\\xbb'\n'\\u2026'\n'\\xa0'\n'\\xc0'\n'\\xc3'\n'\\xd5'\n'\\u0152'\n'\\u0153'\n'\\u2013'\n'\\u2014'\n'\\u201c'\n'\\u201d'\n'\\u2018'\n'\\u2019'\n'\\xf7'\n'\\u25ca'\n'\\xff'\n'\\u0178'\n'\\u011e'\n'\\u011f'\n'\\u0130'\n'\\u0131'\n'\\u015e'\n'\\u015f'\n'\\u2021'\n'\\xb7'\n'\\u201a'\n'\\u201e'\n'\\u2030'\n'\\xc2'\n'\\xca'\n'\\xc1'\n'\\xcb'\n'\\xc8'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xcc'\n'\\xd3'\n'\\xd4'\n'\\uf8ff'\n'\\xd2'\n'\\xda'\n'\\xdb'\n'\\xd9'\n'\\uf8a0'\n'\\u02c6'\n'\\u02dc'\n'\\xaf'\n'\\u02d8'\n'\\u02d9'\n'\\u02da'\n'\\xb8'\n'\\u02dd'\n'\\u02db'\n'\\u02c7'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.mbcs":[".py","''\n\n\n\n\n\n\n\n\n\n\nfrom codecs import mbcs_encode,mbcs_decode\n\nimport codecs\n\n\n\nencode=mbcs_encode\n\ndef decode(input,errors='strict'):\n return mbcs_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return mbcs_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n _buffer_decode=mbcs_decode\n \nclass StreamWriter(codecs.StreamWriter):\n encode=mbcs_encode\n \nclass StreamReader(codecs.StreamReader):\n decode=mbcs_decode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='mbcs',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.oem":[".py","''\n\n\n\n\nfrom codecs import oem_encode,oem_decode\n\nimport codecs\n\n\n\nencode=oem_encode\n\ndef decode(input,errors='strict'):\n return oem_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return oem_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n _buffer_decode=oem_decode\n \nclass StreamWriter(codecs.StreamWriter):\n encode=oem_encode\n \nclass StreamReader(codecs.StreamReader):\n decode=oem_decode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='oem',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.palmos":[".py","''\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='palmos',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u20ac'\n'\\x81'\n'\\u201a'\n'\\u0192'\n'\\u201e'\n'\\u2026'\n'\\u2020'\n'\\u2021'\n'\\u02c6'\n'\\u2030'\n'\\u0160'\n'\\u2039'\n'\\u0152'\n'\\u2666'\n'\\u2663'\n'\\u2665'\n'\\u2660'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\u02dc'\n'\\u2122'\n'\\u0161'\n'\\x9b'\n'\\u0153'\n'\\x9d'\n'\\x9e'\n'\\u0178'\n'\\xa0'\n'\\xa1'\n'\\xa2'\n'\\xa3'\n'\\xa4'\n'\\xa5'\n'\\xa6'\n'\\xa7'\n'\\xa8'\n'\\xa9'\n'\\xaa'\n'\\xab'\n'\\xac'\n'\\xad'\n'\\xae'\n'\\xaf'\n'\\xb0'\n'\\xb1'\n'\\xb2'\n'\\xb3'\n'\\xb4'\n'\\xb5'\n'\\xb6'\n'\\xb7'\n'\\xb8'\n'\\xb9'\n'\\xba'\n'\\xbb'\n'\\xbc'\n'\\xbd'\n'\\xbe'\n'\\xbf'\n'\\xc0'\n'\\xc1'\n'\\xc2'\n'\\xc3'\n'\\xc4'\n'\\xc5'\n'\\xc6'\n'\\xc7'\n'\\xc8'\n'\\xc9'\n'\\xca'\n'\\xcb'\n'\\xcc'\n'\\xcd'\n'\\xce'\n'\\xcf'\n'\\xd0'\n'\\xd1'\n'\\xd2'\n'\\xd3'\n'\\xd4'\n'\\xd5'\n'\\xd6'\n'\\xd7'\n'\\xd8'\n'\\xd9'\n'\\xda'\n'\\xdb'\n'\\xdc'\n'\\xdd'\n'\\xde'\n'\\xdf'\n'\\xe0'\n'\\xe1'\n'\\xe2'\n'\\xe3'\n'\\xe4'\n'\\xe5'\n'\\xe6'\n'\\xe7'\n'\\xe8'\n'\\xe9'\n'\\xea'\n'\\xeb'\n'\\xec'\n'\\xed'\n'\\xee'\n'\\xef'\n'\\xf0'\n'\\xf1'\n'\\xf2'\n'\\xf3'\n'\\xf4'\n'\\xf5'\n'\\xf6'\n'\\xf7'\n'\\xf8'\n'\\xf9'\n'\\xfa'\n'\\xfb'\n'\\xfc'\n'\\xfd'\n'\\xfe'\n'\\xff'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.ptcp154":[".py","''\n\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='ptcp154',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\u0496'\n'\\u0492'\n'\\u04ee'\n'\\u0493'\n'\\u201e'\n'\\u2026'\n'\\u04b6'\n'\\u04ae'\n'\\u04b2'\n'\\u04af'\n'\\u04a0'\n'\\u04e2'\n'\\u04a2'\n'\\u049a'\n'\\u04ba'\n'\\u04b8'\n'\\u0497'\n'\\u2018'\n'\\u2019'\n'\\u201c'\n'\\u201d'\n'\\u2022'\n'\\u2013'\n'\\u2014'\n'\\u04b3'\n'\\u04b7'\n'\\u04a1'\n'\\u04e3'\n'\\u04a3'\n'\\u049b'\n'\\u04bb'\n'\\u04b9'\n'\\xa0'\n'\\u040e'\n'\\u045e'\n'\\u0408'\n'\\u04e8'\n'\\u0498'\n'\\u04b0'\n'\\xa7'\n'\\u0401'\n'\\xa9'\n'\\u04d8'\n'\\xab'\n'\\xac'\n'\\u04ef'\n'\\xae'\n'\\u049c'\n'\\xb0'\n'\\u04b1'\n'\\u0406'\n'\\u0456'\n'\\u0499'\n'\\u04e9'\n'\\xb6'\n'\\xb7'\n'\\u0451'\n'\\u2116'\n'\\u04d9'\n'\\xbb'\n'\\u0458'\n'\\u04aa'\n'\\u04ab'\n'\\u049d'\n'\\u0410'\n'\\u0411'\n'\\u0412'\n'\\u0413'\n'\\u0414'\n'\\u0415'\n'\\u0416'\n'\\u0417'\n'\\u0418'\n'\\u0419'\n'\\u041a'\n'\\u041b'\n'\\u041c'\n'\\u041d'\n'\\u041e'\n'\\u041f'\n'\\u0420'\n'\\u0421'\n'\\u0422'\n'\\u0423'\n'\\u0424'\n'\\u0425'\n'\\u0426'\n'\\u0427'\n'\\u0428'\n'\\u0429'\n'\\u042a'\n'\\u042b'\n'\\u042c'\n'\\u042d'\n'\\u042e'\n'\\u042f'\n'\\u0430'\n'\\u0431'\n'\\u0432'\n'\\u0433'\n'\\u0434'\n'\\u0435'\n'\\u0436'\n'\\u0437'\n'\\u0438'\n'\\u0439'\n'\\u043a'\n'\\u043b'\n'\\u043c'\n'\\u043d'\n'\\u043e'\n'\\u043f'\n'\\u0440'\n'\\u0441'\n'\\u0442'\n'\\u0443'\n'\\u0444'\n'\\u0445'\n'\\u0446'\n'\\u0447'\n'\\u0448'\n'\\u0449'\n'\\u044a'\n'\\u044b'\n'\\u044c'\n'\\u044d'\n'\\u044e'\n'\\u044f'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.punycode":[".py","''\n\n\n\n\nimport codecs\n\n\n\ndef segregate(str):\n ''\n base=bytearray()\n extended=set()\n for c in str:\n if ord(c)<128:\n base.append(ord(c))\n else:\n extended.add(c)\n extended=sorted(extended)\n return bytes(base),extended\n \ndef selective_len(str,max):\n ''\n res=0\n for c in str:\n if ord(c)26:return 26\n return res\n \ndigits=b\"abcdefghijklmnopqrstuvwxyz0123456789\"\ndef generate_generalized_integer(N,bias):\n ''\n result=bytearray()\n j=0\n while 1:\n t=T(j,bias)\n if N 455:\n delta=delta //35\n divisions +=36\n bias=divisions+(36 *delta //(delta+38))\n return bias\n \n \ndef generate_integers(baselen,deltas):\n ''\n \n result=bytearray()\n bias=72\n for points,delta in enumerate(deltas):\n s=generate_generalized_integer(delta,bias)\n result.extend(s)\n bias=adapt(delta,points ==0,baselen+points+1)\n return bytes(result)\n \ndef punycode_encode(text):\n base,extended=segregate(text)\n deltas=insertion_unsort(text,extended)\n extended=generate_integers(len(base),deltas)\n if base:\n return base+b\"-\"+extended\n return extended\n \n \n \ndef decode_generalized_number(extended,extpos,bias,errors):\n ''\n result=0\n w=1\n j=0\n while 1:\n try:\n char=ord(extended[extpos])\n except IndexError:\n if errors ==\"strict\":\n raise UnicodeError(\"incomplete punicode string\")\n return extpos+1,None\n extpos +=1\n if 0x41 <=char <=0x5A:\n digit=char -0x41\n elif 0x30 <=char <=0x39:\n digit=char -22\n elif errors ==\"strict\":\n raise UnicodeError(\"Invalid extended code point '%s'\"\n %extended[extpos -1])\n else:\n return extpos,None\n t=T(j,bias)\n result +=digit *w\n if digit 0x10FFFF:\n if errors ==\"strict\":\n raise UnicodeError(\"Invalid character U+%x\"%char)\n char=ord('?')\n pos=pos %(len(base)+1)\n base=base[:pos]+chr(char)+base[pos:]\n bias=adapt(delta,(extpos ==0),len(base))\n extpos=newpos\n return base\n \ndef punycode_decode(text,errors):\n if isinstance(text,str):\n text=text.encode(\"ascii\")\n if isinstance(text,memoryview):\n text=bytes(text)\n pos=text.rfind(b\"-\")\n if pos ==-1:\n base=\"\"\n extended=str(text,\"ascii\").upper()\n else:\n base=str(text[:pos],\"ascii\",errors)\n extended=str(text[pos+1:],\"ascii\").upper()\n return insertion_sort(base,extended,errors)\n \n \n \nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n res=punycode_encode(input)\n return res,len(input)\n \n def decode(self,input,errors='strict'):\n if errors not in('strict','replace','ignore'):\n raise UnicodeError(\"Unsupported error handling \"+errors)\n res=punycode_decode(input,errors)\n return res,len(input)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return punycode_encode(input)\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n if self.errors not in('strict','replace','ignore'):\n raise UnicodeError(\"Unsupported error handling \"+self.errors)\n return punycode_decode(input,self.errors)\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='punycode',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n )\n",["codecs"]],"encodings.quopri_codec":[".py","''\n\n\n\n\nimport codecs\nimport quopri\nfrom io import BytesIO\n\ndef quopri_encode(input,errors='strict'):\n assert errors =='strict'\n f=BytesIO(input)\n g=BytesIO()\n quopri.encode(f,g,quotetabs=True)\n return(g.getvalue(),len(input))\n \ndef quopri_decode(input,errors='strict'):\n assert errors =='strict'\n f=BytesIO(input)\n g=BytesIO()\n quopri.decode(f,g)\n return(g.getvalue(),len(input))\n \nclass Codec(codecs.Codec):\n def encode(self,input,errors='strict'):\n return quopri_encode(input,errors)\n def decode(self,input,errors='strict'):\n return quopri_decode(input,errors)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return quopri_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return quopri_decode(input,self.errors)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n charbuffertype=bytes\n \nclass StreamReader(Codec,codecs.StreamReader):\n charbuffertype=bytes\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='quopri',\n encode=quopri_encode,\n decode=quopri_decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n _is_text_encoding=False,\n )\n",["codecs","io","quopri"]],"encodings.raw_unicode_escape":[".py","''\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n\n\n encode=codecs.raw_unicode_escape_encode\n decode=codecs.raw_unicode_escape_decode\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.raw_unicode_escape_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n def _buffer_decode(self,input,errors,final):\n return codecs.raw_unicode_escape_decode(input,errors,final)\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n def decode(self,input,errors='strict'):\n return codecs.raw_unicode_escape_decode(input,errors,False)\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='raw-unicode-escape',\n encode=Codec.encode,\n decode=Codec.decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n )\n",["codecs"]],"encodings.rot_13":[".py","#!/usr/bin/env python\n''\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n def encode(self,input,errors='strict'):\n return(str.translate(input,rot13_map),len(input))\n \n def decode(self,input,errors='strict'):\n return(str.translate(input,rot13_map),len(input))\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return str.translate(input,rot13_map)\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return str.translate(input,rot13_map)\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='rot-13',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n _is_text_encoding=False,\n )\n \n \n \nrot13_map=codecs.make_identity_dict(range(256))\nrot13_map.update({\n0x0041:0x004e,\n0x0042:0x004f,\n0x0043:0x0050,\n0x0044:0x0051,\n0x0045:0x0052,\n0x0046:0x0053,\n0x0047:0x0054,\n0x0048:0x0055,\n0x0049:0x0056,\n0x004a:0x0057,\n0x004b:0x0058,\n0x004c:0x0059,\n0x004d:0x005a,\n0x004e:0x0041,\n0x004f:0x0042,\n0x0050:0x0043,\n0x0051:0x0044,\n0x0052:0x0045,\n0x0053:0x0046,\n0x0054:0x0047,\n0x0055:0x0048,\n0x0056:0x0049,\n0x0057:0x004a,\n0x0058:0x004b,\n0x0059:0x004c,\n0x005a:0x004d,\n0x0061:0x006e,\n0x0062:0x006f,\n0x0063:0x0070,\n0x0064:0x0071,\n0x0065:0x0072,\n0x0066:0x0073,\n0x0067:0x0074,\n0x0068:0x0075,\n0x0069:0x0076,\n0x006a:0x0077,\n0x006b:0x0078,\n0x006c:0x0079,\n0x006d:0x007a,\n0x006e:0x0061,\n0x006f:0x0062,\n0x0070:0x0063,\n0x0071:0x0064,\n0x0072:0x0065,\n0x0073:0x0066,\n0x0074:0x0067,\n0x0075:0x0068,\n0x0076:0x0069,\n0x0077:0x006a,\n0x0078:0x006b,\n0x0079:0x006c,\n0x007a:0x006d,\n})\n\n\n\ndef rot13(infile,outfile):\n outfile.write(codecs.encode(infile.read(),'rot-13'))\n \nif __name__ =='__main__':\n import sys\n rot13(sys.stdin,sys.stdout)\n",["codecs","sys"]],"encodings.shift_jis":[".py","\n\n\n\n\n\nimport _codecs_jp,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_jp.getcodec('shift_jis')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='shift_jis',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_jp","_multibytecodec","codecs"]],"encodings.shift_jisx0213":[".py","\n\n\n\n\n\nimport _codecs_jp,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_jp.getcodec('shift_jisx0213')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='shift_jisx0213',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_jp","_multibytecodec","codecs"]],"encodings.shift_jis_2004":[".py","\n\n\n\n\n\nimport _codecs_jp,codecs\nimport _multibytecodec as mbc\n\ncodec=_codecs_jp.getcodec('shift_jis_2004')\n\nclass Codec(codecs.Codec):\n encode=codec.encode\n decode=codec.decode\n \nclass IncrementalEncoder(mbc.MultibyteIncrementalEncoder,\ncodecs.IncrementalEncoder):\n codec=codec\n \nclass IncrementalDecoder(mbc.MultibyteIncrementalDecoder,\ncodecs.IncrementalDecoder):\n codec=codec\n \nclass StreamReader(Codec,mbc.MultibyteStreamReader,codecs.StreamReader):\n codec=codec\n \nclass StreamWriter(Codec,mbc.MultibyteStreamWriter,codecs.StreamWriter):\n codec=codec\n \ndef getregentry():\n return codecs.CodecInfo(\n name='shift_jis_2004',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["_codecs_jp","_multibytecodec","codecs"]],"encodings.tis_620":[".py","''\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n return codecs.charmap_encode(input,errors,encoding_table)\n \n def decode(self,input,errors='strict'):\n return codecs.charmap_decode(input,errors,decoding_table)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.charmap_encode(input,self.errors,encoding_table)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='tis-620',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n \n \n \n \ndecoding_table=(\n'\\x00'\n'\\x01'\n'\\x02'\n'\\x03'\n'\\x04'\n'\\x05'\n'\\x06'\n'\\x07'\n'\\x08'\n'\\t'\n'\\n'\n'\\x0b'\n'\\x0c'\n'\\r'\n'\\x0e'\n'\\x0f'\n'\\x10'\n'\\x11'\n'\\x12'\n'\\x13'\n'\\x14'\n'\\x15'\n'\\x16'\n'\\x17'\n'\\x18'\n'\\x19'\n'\\x1a'\n'\\x1b'\n'\\x1c'\n'\\x1d'\n'\\x1e'\n'\\x1f'\n' '\n'!'\n'\"'\n'#'\n'$'\n'%'\n'&'\n\"'\"\n'('\n')'\n'*'\n'+'\n','\n'-'\n'.'\n'/'\n'0'\n'1'\n'2'\n'3'\n'4'\n'5'\n'6'\n'7'\n'8'\n'9'\n':'\n';'\n'<'\n'='\n'>'\n'?'\n'@'\n'A'\n'B'\n'C'\n'D'\n'E'\n'F'\n'G'\n'H'\n'I'\n'J'\n'K'\n'L'\n'M'\n'N'\n'O'\n'P'\n'Q'\n'R'\n'S'\n'T'\n'U'\n'V'\n'W'\n'X'\n'Y'\n'Z'\n'['\n'\\\\'\n']'\n'^'\n'_'\n'`'\n'a'\n'b'\n'c'\n'd'\n'e'\n'f'\n'g'\n'h'\n'i'\n'j'\n'k'\n'l'\n'm'\n'n'\n'o'\n'p'\n'q'\n'r'\n's'\n't'\n'u'\n'v'\n'w'\n'x'\n'y'\n'z'\n'{'\n'|'\n'}'\n'~'\n'\\x7f'\n'\\x80'\n'\\x81'\n'\\x82'\n'\\x83'\n'\\x84'\n'\\x85'\n'\\x86'\n'\\x87'\n'\\x88'\n'\\x89'\n'\\x8a'\n'\\x8b'\n'\\x8c'\n'\\x8d'\n'\\x8e'\n'\\x8f'\n'\\x90'\n'\\x91'\n'\\x92'\n'\\x93'\n'\\x94'\n'\\x95'\n'\\x96'\n'\\x97'\n'\\x98'\n'\\x99'\n'\\x9a'\n'\\x9b'\n'\\x9c'\n'\\x9d'\n'\\x9e'\n'\\x9f'\n'\\ufffe'\n'\\u0e01'\n'\\u0e02'\n'\\u0e03'\n'\\u0e04'\n'\\u0e05'\n'\\u0e06'\n'\\u0e07'\n'\\u0e08'\n'\\u0e09'\n'\\u0e0a'\n'\\u0e0b'\n'\\u0e0c'\n'\\u0e0d'\n'\\u0e0e'\n'\\u0e0f'\n'\\u0e10'\n'\\u0e11'\n'\\u0e12'\n'\\u0e13'\n'\\u0e14'\n'\\u0e15'\n'\\u0e16'\n'\\u0e17'\n'\\u0e18'\n'\\u0e19'\n'\\u0e1a'\n'\\u0e1b'\n'\\u0e1c'\n'\\u0e1d'\n'\\u0e1e'\n'\\u0e1f'\n'\\u0e20'\n'\\u0e21'\n'\\u0e22'\n'\\u0e23'\n'\\u0e24'\n'\\u0e25'\n'\\u0e26'\n'\\u0e27'\n'\\u0e28'\n'\\u0e29'\n'\\u0e2a'\n'\\u0e2b'\n'\\u0e2c'\n'\\u0e2d'\n'\\u0e2e'\n'\\u0e2f'\n'\\u0e30'\n'\\u0e31'\n'\\u0e32'\n'\\u0e33'\n'\\u0e34'\n'\\u0e35'\n'\\u0e36'\n'\\u0e37'\n'\\u0e38'\n'\\u0e39'\n'\\u0e3a'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\u0e3f'\n'\\u0e40'\n'\\u0e41'\n'\\u0e42'\n'\\u0e43'\n'\\u0e44'\n'\\u0e45'\n'\\u0e46'\n'\\u0e47'\n'\\u0e48'\n'\\u0e49'\n'\\u0e4a'\n'\\u0e4b'\n'\\u0e4c'\n'\\u0e4d'\n'\\u0e4e'\n'\\u0e4f'\n'\\u0e50'\n'\\u0e51'\n'\\u0e52'\n'\\u0e53'\n'\\u0e54'\n'\\u0e55'\n'\\u0e56'\n'\\u0e57'\n'\\u0e58'\n'\\u0e59'\n'\\u0e5a'\n'\\u0e5b'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n'\\ufffe'\n)\n\n\nencoding_table=codecs.charmap_build(decoding_table)\n",["codecs"]],"encodings.undefined":[".py","''\n\n\n\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n def encode(self,input,errors='strict'):\n raise UnicodeError(\"undefined encoding\")\n \n def decode(self,input,errors='strict'):\n raise UnicodeError(\"undefined encoding\")\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n raise UnicodeError(\"undefined encoding\")\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n raise UnicodeError(\"undefined encoding\")\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n pass\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='undefined',\n encode=Codec().encode,\n decode=Codec().decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n )\n",["codecs"]],"encodings.unicode_escape":[".py","''\n\n\n\n\n\n\n\nimport codecs\n\n\n\nclass Codec(codecs.Codec):\n\n\n\n encode=codecs.unicode_escape_encode\n decode=codecs.unicode_escape_decode\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.unicode_escape_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n def _buffer_decode(self,input,errors,final):\n return codecs.unicode_escape_decode(input,errors,final)\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n pass\n \nclass StreamReader(Codec,codecs.StreamReader):\n def decode(self,input,errors='strict'):\n return codecs.unicode_escape_decode(input,errors,False)\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='unicode-escape',\n encode=Codec.encode,\n decode=Codec.decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamwriter=StreamWriter,\n streamreader=StreamReader,\n )\n",["codecs"]],"encodings.utf_16":[".py","''\n\n\n\n\n\n\n\nimport codecs,sys\n\n\n\nencode=codecs.utf_16_encode\n\ndef decode(input,errors='strict'):\n return codecs.utf_16_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def __init__(self,errors='strict'):\n codecs.IncrementalEncoder.__init__(self,errors)\n self.encoder=None\n \n def encode(self,input,final=False):\n if self.encoder is None:\n result=codecs.utf_16_encode(input,self.errors)[0]\n if sys.byteorder =='little':\n self.encoder=codecs.utf_16_le_encode\n else:\n self.encoder=codecs.utf_16_be_encode\n return result\n return self.encoder(input,self.errors)[0]\n \n def reset(self):\n codecs.IncrementalEncoder.reset(self)\n self.encoder=None\n \n def getstate(self):\n \n \n \n \n return(2 if self.encoder is None else 0)\n \n def setstate(self,state):\n if state:\n self.encoder=None\n else:\n if sys.byteorder =='little':\n self.encoder=codecs.utf_16_le_encode\n else:\n self.encoder=codecs.utf_16_be_encode\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n def __init__(self,errors='strict'):\n codecs.BufferedIncrementalDecoder.__init__(self,errors)\n self.decoder=None\n \n def _buffer_decode(self,input,errors,final):\n if self.decoder is None:\n (output,consumed,byteorder)=\\\n codecs.utf_16_ex_decode(input,errors,0,final)\n if byteorder ==-1:\n self.decoder=codecs.utf_16_le_decode\n elif byteorder ==1:\n self.decoder=codecs.utf_16_be_decode\n elif consumed >=2:\n raise UnicodeError(\"UTF-16 stream does not start with BOM\")\n return(output,consumed)\n return self.decoder(input,self.errors,final)\n \n def reset(self):\n codecs.BufferedIncrementalDecoder.reset(self)\n self.decoder=None\n \n def getstate(self):\n \n \n state=codecs.BufferedIncrementalDecoder.getstate(self)[0]\n \n \n \n \n if self.decoder is None:\n return(state,2)\n addstate=int((sys.byteorder ==\"big\")!=\n (self.decoder is codecs.utf_16_be_decode))\n return(state,addstate)\n \n def setstate(self,state):\n \n codecs.BufferedIncrementalDecoder.setstate(self,state)\n state=state[1]\n if state ==0:\n self.decoder=(codecs.utf_16_be_decode\n if sys.byteorder ==\"big\"\n else codecs.utf_16_le_decode)\n elif state ==1:\n self.decoder=(codecs.utf_16_le_decode\n if sys.byteorder ==\"big\"\n else codecs.utf_16_be_decode)\n else:\n self.decoder=None\n \nclass StreamWriter(codecs.StreamWriter):\n def __init__(self,stream,errors='strict'):\n codecs.StreamWriter.__init__(self,stream,errors)\n self.encoder=None\n \n def reset(self):\n codecs.StreamWriter.reset(self)\n self.encoder=None\n \n def encode(self,input,errors='strict'):\n if self.encoder is None:\n result=codecs.utf_16_encode(input,errors)\n if sys.byteorder =='little':\n self.encoder=codecs.utf_16_le_encode\n else:\n self.encoder=codecs.utf_16_be_encode\n return result\n else:\n return self.encoder(input,errors)\n \nclass StreamReader(codecs.StreamReader):\n\n def reset(self):\n codecs.StreamReader.reset(self)\n try:\n del self.decode\n except AttributeError:\n pass\n \n def decode(self,input,errors='strict'):\n (object,consumed,byteorder)=\\\n codecs.utf_16_ex_decode(input,errors,0,False)\n if byteorder ==-1:\n self.decode=codecs.utf_16_le_decode\n elif byteorder ==1:\n self.decode=codecs.utf_16_be_decode\n elif consumed >=2:\n raise UnicodeError(\"UTF-16 stream does not start with BOM\")\n return(object,consumed)\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-16',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs","sys"]],"encodings.utf_16_be":[".py","''\n\n\n\n\n\n\n\nimport codecs\n\n\n\nencode=codecs.utf_16_be_encode\n\ndef decode(input,errors='strict'):\n return codecs.utf_16_be_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.utf_16_be_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n _buffer_decode=codecs.utf_16_be_decode\n \nclass StreamWriter(codecs.StreamWriter):\n encode=codecs.utf_16_be_encode\n \nclass StreamReader(codecs.StreamReader):\n decode=codecs.utf_16_be_decode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-16-be',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.utf_16_le":[".py","''\n\n\n\n\n\n\n\nimport codecs\n\n\n\nencode=codecs.utf_16_le_encode\n\ndef decode(input,errors='strict'):\n return codecs.utf_16_le_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.utf_16_le_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n _buffer_decode=codecs.utf_16_le_decode\n \nclass StreamWriter(codecs.StreamWriter):\n encode=codecs.utf_16_le_encode\n \nclass StreamReader(codecs.StreamReader):\n decode=codecs.utf_16_le_decode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-16-le',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.utf_32":[".py","''\n\n\nimport codecs,sys\n\n\n\nencode=codecs.utf_32_encode\n\ndef decode(input,errors='strict'):\n return codecs.utf_32_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def __init__(self,errors='strict'):\n codecs.IncrementalEncoder.__init__(self,errors)\n self.encoder=None\n \n def encode(self,input,final=False):\n if self.encoder is None:\n result=codecs.utf_32_encode(input,self.errors)[0]\n if sys.byteorder =='little':\n self.encoder=codecs.utf_32_le_encode\n else:\n self.encoder=codecs.utf_32_be_encode\n return result\n return self.encoder(input,self.errors)[0]\n \n def reset(self):\n codecs.IncrementalEncoder.reset(self)\n self.encoder=None\n \n def getstate(self):\n \n \n \n \n return(2 if self.encoder is None else 0)\n \n def setstate(self,state):\n if state:\n self.encoder=None\n else:\n if sys.byteorder =='little':\n self.encoder=codecs.utf_32_le_encode\n else:\n self.encoder=codecs.utf_32_be_encode\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n def __init__(self,errors='strict'):\n codecs.BufferedIncrementalDecoder.__init__(self,errors)\n self.decoder=None\n \n def _buffer_decode(self,input,errors,final):\n if self.decoder is None:\n (output,consumed,byteorder)=\\\n codecs.utf_32_ex_decode(input,errors,0,final)\n if byteorder ==-1:\n self.decoder=codecs.utf_32_le_decode\n elif byteorder ==1:\n self.decoder=codecs.utf_32_be_decode\n elif consumed >=4:\n raise UnicodeError(\"UTF-32 stream does not start with BOM\")\n return(output,consumed)\n return self.decoder(input,self.errors,final)\n \n def reset(self):\n codecs.BufferedIncrementalDecoder.reset(self)\n self.decoder=None\n \n def getstate(self):\n \n \n state=codecs.BufferedIncrementalDecoder.getstate(self)[0]\n \n \n \n \n if self.decoder is None:\n return(state,2)\n addstate=int((sys.byteorder ==\"big\")!=\n (self.decoder is codecs.utf_32_be_decode))\n return(state,addstate)\n \n def setstate(self,state):\n \n codecs.BufferedIncrementalDecoder.setstate(self,state)\n state=state[1]\n if state ==0:\n self.decoder=(codecs.utf_32_be_decode\n if sys.byteorder ==\"big\"\n else codecs.utf_32_le_decode)\n elif state ==1:\n self.decoder=(codecs.utf_32_le_decode\n if sys.byteorder ==\"big\"\n else codecs.utf_32_be_decode)\n else:\n self.decoder=None\n \nclass StreamWriter(codecs.StreamWriter):\n def __init__(self,stream,errors='strict'):\n self.encoder=None\n codecs.StreamWriter.__init__(self,stream,errors)\n \n def reset(self):\n codecs.StreamWriter.reset(self)\n self.encoder=None\n \n def encode(self,input,errors='strict'):\n if self.encoder is None:\n result=codecs.utf_32_encode(input,errors)\n if sys.byteorder =='little':\n self.encoder=codecs.utf_32_le_encode\n else:\n self.encoder=codecs.utf_32_be_encode\n return result\n else:\n return self.encoder(input,errors)\n \nclass StreamReader(codecs.StreamReader):\n\n def reset(self):\n codecs.StreamReader.reset(self)\n try:\n del self.decode\n except AttributeError:\n pass\n \n def decode(self,input,errors='strict'):\n (object,consumed,byteorder)=\\\n codecs.utf_32_ex_decode(input,errors,0,False)\n if byteorder ==-1:\n self.decode=codecs.utf_32_le_decode\n elif byteorder ==1:\n self.decode=codecs.utf_32_be_decode\n elif consumed >=4:\n raise UnicodeError(\"UTF-32 stream does not start with BOM\")\n return(object,consumed)\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-32',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs","sys"]],"encodings.utf_32_be":[".py","''\n\n\nimport codecs\n\n\n\nencode=codecs.utf_32_be_encode\n\ndef decode(input,errors='strict'):\n return codecs.utf_32_be_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.utf_32_be_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n _buffer_decode=codecs.utf_32_be_decode\n \nclass StreamWriter(codecs.StreamWriter):\n encode=codecs.utf_32_be_encode\n \nclass StreamReader(codecs.StreamReader):\n decode=codecs.utf_32_be_decode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-32-be',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.utf_32_le":[".py","''\n\n\nimport codecs\n\n\n\nencode=codecs.utf_32_le_encode\n\ndef decode(input,errors='strict'):\n return codecs.utf_32_le_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.utf_32_le_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n _buffer_decode=codecs.utf_32_le_decode\n \nclass StreamWriter(codecs.StreamWriter):\n encode=codecs.utf_32_le_encode\n \nclass StreamReader(codecs.StreamReader):\n decode=codecs.utf_32_le_decode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-32-le',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.utf_7":[".py","''\n\n\n\nimport codecs\n\n\n\nencode=codecs.utf_7_encode\n\ndef decode(input,errors='strict'):\n return codecs.utf_7_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.utf_7_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n _buffer_decode=codecs.utf_7_decode\n \nclass StreamWriter(codecs.StreamWriter):\n encode=codecs.utf_7_encode\n \nclass StreamReader(codecs.StreamReader):\n decode=codecs.utf_7_decode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-7',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.utf_8":[".py","''\n\n\n\n\n\n\n\nimport codecs\n\n\n\nencode=codecs.utf_8_encode\n\ndef decode(input,errors='strict'):\n return codecs.utf_8_decode(input,errors,True)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return codecs.utf_8_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n _buffer_decode=codecs.utf_8_decode\n \nclass StreamWriter(codecs.StreamWriter):\n encode=codecs.utf_8_encode\n \nclass StreamReader(codecs.StreamReader):\n decode=codecs.utf_8_decode\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-8',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.utf_8_sig":[".py","''\n\n\n\n\n\n\n\n\nimport codecs\n\n\n\ndef encode(input,errors='strict'):\n return(codecs.BOM_UTF8+codecs.utf_8_encode(input,errors)[0],\n len(input))\n \ndef decode(input,errors='strict'):\n prefix=0\n if input[:3]==codecs.BOM_UTF8:\n input=input[3:]\n prefix=3\n (output,consumed)=codecs.utf_8_decode(input,errors,True)\n return(output,consumed+prefix)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def __init__(self,errors='strict'):\n codecs.IncrementalEncoder.__init__(self,errors)\n self.first=1\n \n def encode(self,input,final=False):\n if self.first:\n self.first=0\n return codecs.BOM_UTF8+\\\n codecs.utf_8_encode(input,self.errors)[0]\n else:\n return codecs.utf_8_encode(input,self.errors)[0]\n \n def reset(self):\n codecs.IncrementalEncoder.reset(self)\n self.first=1\n \n def getstate(self):\n return self.first\n \n def setstate(self,state):\n self.first=state\n \nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n def __init__(self,errors='strict'):\n codecs.BufferedIncrementalDecoder.__init__(self,errors)\n self.first=1\n \n def _buffer_decode(self,input,errors,final):\n if self.first:\n if len(input)<3:\n if codecs.BOM_UTF8.startswith(input):\n \n \n return(\"\",0)\n else:\n self.first=0\n else:\n self.first=0\n if input[:3]==codecs.BOM_UTF8:\n (output,consumed)=\\\n codecs.utf_8_decode(input[3:],errors,final)\n return(output,consumed+3)\n return codecs.utf_8_decode(input,errors,final)\n \n def reset(self):\n codecs.BufferedIncrementalDecoder.reset(self)\n self.first=1\n \n def getstate(self):\n state=codecs.BufferedIncrementalDecoder.getstate(self)\n \n return(state[0],self.first)\n \n def setstate(self,state):\n \n codecs.BufferedIncrementalDecoder.setstate(self,state)\n self.first=state[1]\n \nclass StreamWriter(codecs.StreamWriter):\n def reset(self):\n codecs.StreamWriter.reset(self)\n try:\n del self.encode\n except AttributeError:\n pass\n \n def encode(self,input,errors='strict'):\n self.encode=codecs.utf_8_encode\n return encode(input,errors)\n \nclass StreamReader(codecs.StreamReader):\n def reset(self):\n codecs.StreamReader.reset(self)\n try:\n del self.decode\n except AttributeError:\n pass\n \n def decode(self,input,errors='strict'):\n if len(input)<3:\n if codecs.BOM_UTF8.startswith(input):\n \n \n return(\"\",0)\n elif input[:3]==codecs.BOM_UTF8:\n self.decode=codecs.utf_8_decode\n (output,consumed)=codecs.utf_8_decode(input[3:],errors)\n return(output,consumed+3)\n \n self.decode=codecs.utf_8_decode\n return codecs.utf_8_decode(input,errors)\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='utf-8-sig',\n encode=encode,\n decode=decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n )\n",["codecs"]],"encodings.uu_codec":[".py","''\n\n\n\n\n\n\n\n\nimport codecs\nimport binascii\nfrom io import BytesIO\n\n\n\ndef uu_encode(input,errors='strict',filename='',mode=0o666):\n assert errors =='strict'\n infile=BytesIO(input)\n outfile=BytesIO()\n read=infile.read\n write=outfile.write\n \n \n filename=filename.replace('\\n','\\\\n')\n filename=filename.replace('\\r','\\\\r')\n \n \n write(('begin %o %s\\n'%(mode&0o777,filename)).encode('ascii'))\n chunk=read(45)\n while chunk:\n write(binascii.b2a_uu(chunk))\n chunk=read(45)\n write(b' \\nend\\n')\n \n return(outfile.getvalue(),len(input))\n \ndef uu_decode(input,errors='strict'):\n assert errors =='strict'\n infile=BytesIO(input)\n outfile=BytesIO()\n readline=infile.readline\n write=outfile.write\n \n \n while 1:\n s=readline()\n if not s:\n raise ValueError('Missing \"begin\" line in input data')\n if s[:5]==b'begin':\n break\n \n \n while True:\n s=readline()\n if not s or s ==b'end\\n':\n break\n try:\n data=binascii.a2b_uu(s)\n except binascii.Error as v:\n \n nbytes=(((s[0]-32)&63)*4+5)//3\n data=binascii.a2b_uu(s[:nbytes])\n \n write(data)\n if not s:\n raise ValueError('Truncated input data')\n \n return(outfile.getvalue(),len(input))\n \nclass Codec(codecs.Codec):\n def encode(self,input,errors='strict'):\n return uu_encode(input,errors)\n \n def decode(self,input,errors='strict'):\n return uu_decode(input,errors)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self,input,final=False):\n return uu_encode(input,self.errors)[0]\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def decode(self,input,final=False):\n return uu_decode(input,self.errors)[0]\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n charbuffertype=bytes\n \nclass StreamReader(Codec,codecs.StreamReader):\n charbuffertype=bytes\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='uu',\n encode=uu_encode,\n decode=uu_decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n _is_text_encoding=False,\n )\n",["binascii","codecs","io"]],"encodings.zlib_codec":[".py","''\n\n\n\n\n\n\nimport codecs\nimport zlib\n\n\n\ndef zlib_encode(input,errors='strict'):\n assert errors =='strict'\n return(zlib.compress(input),len(input))\n \ndef zlib_decode(input,errors='strict'):\n assert errors =='strict'\n return(zlib.decompress(input),len(input))\n \nclass Codec(codecs.Codec):\n def encode(self,input,errors='strict'):\n return zlib_encode(input,errors)\n def decode(self,input,errors='strict'):\n return zlib_decode(input,errors)\n \nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def __init__(self,errors='strict'):\n assert errors =='strict'\n self.errors=errors\n self.compressobj=zlib.compressobj()\n \n def encode(self,input,final=False):\n if final:\n c=self.compressobj.compress(input)\n return c+self.compressobj.flush()\n else:\n return self.compressobj.compress(input)\n \n def reset(self):\n self.compressobj=zlib.compressobj()\n \nclass IncrementalDecoder(codecs.IncrementalDecoder):\n def __init__(self,errors='strict'):\n assert errors =='strict'\n self.errors=errors\n self.decompressobj=zlib.decompressobj()\n \n def decode(self,input,final=False):\n if final:\n c=self.decompressobj.decompress(input)\n return c+self.decompressobj.flush()\n else:\n return self.decompressobj.decompress(input)\n \n def reset(self):\n self.decompressobj=zlib.decompressobj()\n \nclass StreamWriter(Codec,codecs.StreamWriter):\n charbuffertype=bytes\n \nclass StreamReader(Codec,codecs.StreamReader):\n charbuffertype=bytes\n \n \n \ndef getregentry():\n return codecs.CodecInfo(\n name='zlib',\n encode=zlib_encode,\n decode=zlib_decode,\n incrementalencoder=IncrementalEncoder,\n incrementaldecoder=IncrementalDecoder,\n streamreader=StreamReader,\n streamwriter=StreamWriter,\n _is_text_encoding=False,\n )\n",["codecs","zlib"]],encodings:[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport codecs\nimport sys\nfrom. import aliases\n\n_cache={}\n_unknown='--unknown--'\n_import_tail=['*']\n_aliases=aliases.aliases\n\nclass CodecRegistryError(LookupError,SystemError):\n pass\n \ndef normalize_encoding(encoding):\n\n ''\n\n\n\n\n\n\n\n\n \n if isinstance(encoding,bytes):\n encoding=str(encoding,\"ascii\")\n \n chars=[]\n punct=False\n for c in encoding:\n if c.isalnum()or c =='.':\n if punct and chars:\n chars.append('_')\n if c.isascii():\n chars.append(c)\n punct=False\n else:\n punct=True\n return ''.join(chars)\n \ndef search_function(encoding):\n\n\n entry=_cache.get(encoding,_unknown)\n if entry is not _unknown:\n return entry\n \n \n \n \n \n \n \n \n norm_encoding=normalize_encoding(encoding)\n aliased_encoding=_aliases.get(norm_encoding)or\\\n _aliases.get(norm_encoding.replace('.','_'))\n if aliased_encoding is not None:\n modnames=[aliased_encoding,\n norm_encoding]\n else:\n modnames=[norm_encoding]\n for modname in modnames:\n if not modname or '.'in modname:\n continue\n try:\n \n \n mod=__import__('encodings.'+modname,fromlist=_import_tail,\n level=0)\n except ImportError:\n \n \n pass\n else:\n break\n else:\n mod=None\n \n try:\n getregentry=mod.getregentry\n except AttributeError:\n \n mod=None\n \n if mod is None:\n \n _cache[encoding]=None\n return None\n \n \n entry=getregentry()\n if not isinstance(entry,codecs.CodecInfo):\n if not 4 <=len(entry)<=7:\n raise CodecRegistryError('module \"%s\" (%s) failed to register'\n %(mod.__name__,mod.__file__))\n if not callable(entry[0])or not callable(entry[1])or\\\n (entry[2]is not None and not callable(entry[2]))or\\\n (entry[3]is not None and not callable(entry[3]))or\\\n (len(entry)>4 and entry[4]is not None and not callable(entry[4]))or\\\n (len(entry)>5 and entry[5]is not None and not callable(entry[5])):\n raise CodecRegistryError('incompatible codecs in module \"%s\" (%s)'\n %(mod.__name__,mod.__file__))\n if len(entry)<7 or entry[6]is None:\n entry +=(None,)*(6 -len(entry))+(mod.__name__.split(\".\",1)[1],)\n entry=codecs.CodecInfo(*entry)\n \n \n _cache[encoding]=entry\n \n \n \n try:\n codecaliases=mod.getaliases()\n except AttributeError:\n pass\n else:\n for alias in codecaliases:\n if alias not in _aliases:\n _aliases[alias]=modname\n \n \n return entry\n \n \ncodecs.register(search_function)\n\nif sys.platform =='win32':\n\n\n\n\n def _alias_mbcs(encoding):\n try:\n import _winapi\n ansi_code_page=\"cp%s\"%_winapi.GetACP()\n if encoding ==ansi_code_page:\n import encodings.mbcs\n return encodings.mbcs.getregentry()\n except ImportError:\n \n pass\n \n codecs.register(_alias_mbcs)\n",["_winapi","codecs","encodings","encodings.aliases","encodings.mbcs","sys"],1],"html.entities":[".py","''\n\n__all__=['html5','name2codepoint','codepoint2name','entitydefs']\n\n\n\nname2codepoint={\n'AElig':0x00c6,\n'Aacute':0x00c1,\n'Acirc':0x00c2,\n'Agrave':0x00c0,\n'Alpha':0x0391,\n'Aring':0x00c5,\n'Atilde':0x00c3,\n'Auml':0x00c4,\n'Beta':0x0392,\n'Ccedil':0x00c7,\n'Chi':0x03a7,\n'Dagger':0x2021,\n'Delta':0x0394,\n'ETH':0x00d0,\n'Eacute':0x00c9,\n'Ecirc':0x00ca,\n'Egrave':0x00c8,\n'Epsilon':0x0395,\n'Eta':0x0397,\n'Euml':0x00cb,\n'Gamma':0x0393,\n'Iacute':0x00cd,\n'Icirc':0x00ce,\n'Igrave':0x00cc,\n'Iota':0x0399,\n'Iuml':0x00cf,\n'Kappa':0x039a,\n'Lambda':0x039b,\n'Mu':0x039c,\n'Ntilde':0x00d1,\n'Nu':0x039d,\n'OElig':0x0152,\n'Oacute':0x00d3,\n'Ocirc':0x00d4,\n'Ograve':0x00d2,\n'Omega':0x03a9,\n'Omicron':0x039f,\n'Oslash':0x00d8,\n'Otilde':0x00d5,\n'Ouml':0x00d6,\n'Phi':0x03a6,\n'Pi':0x03a0,\n'Prime':0x2033,\n'Psi':0x03a8,\n'Rho':0x03a1,\n'Scaron':0x0160,\n'Sigma':0x03a3,\n'THORN':0x00de,\n'Tau':0x03a4,\n'Theta':0x0398,\n'Uacute':0x00da,\n'Ucirc':0x00db,\n'Ugrave':0x00d9,\n'Upsilon':0x03a5,\n'Uuml':0x00dc,\n'Xi':0x039e,\n'Yacute':0x00dd,\n'Yuml':0x0178,\n'Zeta':0x0396,\n'aacute':0x00e1,\n'acirc':0x00e2,\n'acute':0x00b4,\n'aelig':0x00e6,\n'agrave':0x00e0,\n'alefsym':0x2135,\n'alpha':0x03b1,\n'amp':0x0026,\n'and':0x2227,\n'ang':0x2220,\n'aring':0x00e5,\n'asymp':0x2248,\n'atilde':0x00e3,\n'auml':0x00e4,\n'bdquo':0x201e,\n'beta':0x03b2,\n'brvbar':0x00a6,\n'bull':0x2022,\n'cap':0x2229,\n'ccedil':0x00e7,\n'cedil':0x00b8,\n'cent':0x00a2,\n'chi':0x03c7,\n'circ':0x02c6,\n'clubs':0x2663,\n'cong':0x2245,\n'copy':0x00a9,\n'crarr':0x21b5,\n'cup':0x222a,\n'curren':0x00a4,\n'dArr':0x21d3,\n'dagger':0x2020,\n'darr':0x2193,\n'deg':0x00b0,\n'delta':0x03b4,\n'diams':0x2666,\n'divide':0x00f7,\n'eacute':0x00e9,\n'ecirc':0x00ea,\n'egrave':0x00e8,\n'empty':0x2205,\n'emsp':0x2003,\n'ensp':0x2002,\n'epsilon':0x03b5,\n'equiv':0x2261,\n'eta':0x03b7,\n'eth':0x00f0,\n'euml':0x00eb,\n'euro':0x20ac,\n'exist':0x2203,\n'fnof':0x0192,\n'forall':0x2200,\n'frac12':0x00bd,\n'frac14':0x00bc,\n'frac34':0x00be,\n'frasl':0x2044,\n'gamma':0x03b3,\n'ge':0x2265,\n'gt':0x003e,\n'hArr':0x21d4,\n'harr':0x2194,\n'hearts':0x2665,\n'hellip':0x2026,\n'iacute':0x00ed,\n'icirc':0x00ee,\n'iexcl':0x00a1,\n'igrave':0x00ec,\n'image':0x2111,\n'infin':0x221e,\n'int':0x222b,\n'iota':0x03b9,\n'iquest':0x00bf,\n'isin':0x2208,\n'iuml':0x00ef,\n'kappa':0x03ba,\n'lArr':0x21d0,\n'lambda':0x03bb,\n'lang':0x2329,\n'laquo':0x00ab,\n'larr':0x2190,\n'lceil':0x2308,\n'ldquo':0x201c,\n'le':0x2264,\n'lfloor':0x230a,\n'lowast':0x2217,\n'loz':0x25ca,\n'lrm':0x200e,\n'lsaquo':0x2039,\n'lsquo':0x2018,\n'lt':0x003c,\n'macr':0x00af,\n'mdash':0x2014,\n'micro':0x00b5,\n'middot':0x00b7,\n'minus':0x2212,\n'mu':0x03bc,\n'nabla':0x2207,\n'nbsp':0x00a0,\n'ndash':0x2013,\n'ne':0x2260,\n'ni':0x220b,\n'not':0x00ac,\n'notin':0x2209,\n'nsub':0x2284,\n'ntilde':0x00f1,\n'nu':0x03bd,\n'oacute':0x00f3,\n'ocirc':0x00f4,\n'oelig':0x0153,\n'ograve':0x00f2,\n'oline':0x203e,\n'omega':0x03c9,\n'omicron':0x03bf,\n'oplus':0x2295,\n'or':0x2228,\n'ordf':0x00aa,\n'ordm':0x00ba,\n'oslash':0x00f8,\n'otilde':0x00f5,\n'otimes':0x2297,\n'ouml':0x00f6,\n'para':0x00b6,\n'part':0x2202,\n'permil':0x2030,\n'perp':0x22a5,\n'phi':0x03c6,\n'pi':0x03c0,\n'piv':0x03d6,\n'plusmn':0x00b1,\n'pound':0x00a3,\n'prime':0x2032,\n'prod':0x220f,\n'prop':0x221d,\n'psi':0x03c8,\n'quot':0x0022,\n'rArr':0x21d2,\n'radic':0x221a,\n'rang':0x232a,\n'raquo':0x00bb,\n'rarr':0x2192,\n'rceil':0x2309,\n'rdquo':0x201d,\n'real':0x211c,\n'reg':0x00ae,\n'rfloor':0x230b,\n'rho':0x03c1,\n'rlm':0x200f,\n'rsaquo':0x203a,\n'rsquo':0x2019,\n'sbquo':0x201a,\n'scaron':0x0161,\n'sdot':0x22c5,\n'sect':0x00a7,\n'shy':0x00ad,\n'sigma':0x03c3,\n'sigmaf':0x03c2,\n'sim':0x223c,\n'spades':0x2660,\n'sub':0x2282,\n'sube':0x2286,\n'sum':0x2211,\n'sup':0x2283,\n'sup1':0x00b9,\n'sup2':0x00b2,\n'sup3':0x00b3,\n'supe':0x2287,\n'szlig':0x00df,\n'tau':0x03c4,\n'there4':0x2234,\n'theta':0x03b8,\n'thetasym':0x03d1,\n'thinsp':0x2009,\n'thorn':0x00fe,\n'tilde':0x02dc,\n'times':0x00d7,\n'trade':0x2122,\n'uArr':0x21d1,\n'uacute':0x00fa,\n'uarr':0x2191,\n'ucirc':0x00fb,\n'ugrave':0x00f9,\n'uml':0x00a8,\n'upsih':0x03d2,\n'upsilon':0x03c5,\n'uuml':0x00fc,\n'weierp':0x2118,\n'xi':0x03be,\n'yacute':0x00fd,\n'yen':0x00a5,\n'yuml':0x00ff,\n'zeta':0x03b6,\n'zwj':0x200d,\n'zwnj':0x200c,\n}\n\n\n\n\n\n\n\nhtml5={\n'Aacute':'\\xc1',\n'aacute':'\\xe1',\n'Aacute;':'\\xc1',\n'aacute;':'\\xe1',\n'Abreve;':'\\u0102',\n'abreve;':'\\u0103',\n'ac;':'\\u223e',\n'acd;':'\\u223f',\n'acE;':'\\u223e\\u0333',\n'Acirc':'\\xc2',\n'acirc':'\\xe2',\n'Acirc;':'\\xc2',\n'acirc;':'\\xe2',\n'acute':'\\xb4',\n'acute;':'\\xb4',\n'Acy;':'\\u0410',\n'acy;':'\\u0430',\n'AElig':'\\xc6',\n'aelig':'\\xe6',\n'AElig;':'\\xc6',\n'aelig;':'\\xe6',\n'af;':'\\u2061',\n'Afr;':'\\U0001d504',\n'afr;':'\\U0001d51e',\n'Agrave':'\\xc0',\n'agrave':'\\xe0',\n'Agrave;':'\\xc0',\n'agrave;':'\\xe0',\n'alefsym;':'\\u2135',\n'aleph;':'\\u2135',\n'Alpha;':'\\u0391',\n'alpha;':'\\u03b1',\n'Amacr;':'\\u0100',\n'amacr;':'\\u0101',\n'amalg;':'\\u2a3f',\n'AMP':'&',\n'amp':'&',\n'AMP;':'&',\n'amp;':'&',\n'And;':'\\u2a53',\n'and;':'\\u2227',\n'andand;':'\\u2a55',\n'andd;':'\\u2a5c',\n'andslope;':'\\u2a58',\n'andv;':'\\u2a5a',\n'ang;':'\\u2220',\n'ange;':'\\u29a4',\n'angle;':'\\u2220',\n'angmsd;':'\\u2221',\n'angmsdaa;':'\\u29a8',\n'angmsdab;':'\\u29a9',\n'angmsdac;':'\\u29aa',\n'angmsdad;':'\\u29ab',\n'angmsdae;':'\\u29ac',\n'angmsdaf;':'\\u29ad',\n'angmsdag;':'\\u29ae',\n'angmsdah;':'\\u29af',\n'angrt;':'\\u221f',\n'angrtvb;':'\\u22be',\n'angrtvbd;':'\\u299d',\n'angsph;':'\\u2222',\n'angst;':'\\xc5',\n'angzarr;':'\\u237c',\n'Aogon;':'\\u0104',\n'aogon;':'\\u0105',\n'Aopf;':'\\U0001d538',\n'aopf;':'\\U0001d552',\n'ap;':'\\u2248',\n'apacir;':'\\u2a6f',\n'apE;':'\\u2a70',\n'ape;':'\\u224a',\n'apid;':'\\u224b',\n'apos;':\"'\",\n'ApplyFunction;':'\\u2061',\n'approx;':'\\u2248',\n'approxeq;':'\\u224a',\n'Aring':'\\xc5',\n'aring':'\\xe5',\n'Aring;':'\\xc5',\n'aring;':'\\xe5',\n'Ascr;':'\\U0001d49c',\n'ascr;':'\\U0001d4b6',\n'Assign;':'\\u2254',\n'ast;':'*',\n'asymp;':'\\u2248',\n'asympeq;':'\\u224d',\n'Atilde':'\\xc3',\n'atilde':'\\xe3',\n'Atilde;':'\\xc3',\n'atilde;':'\\xe3',\n'Auml':'\\xc4',\n'auml':'\\xe4',\n'Auml;':'\\xc4',\n'auml;':'\\xe4',\n'awconint;':'\\u2233',\n'awint;':'\\u2a11',\n'backcong;':'\\u224c',\n'backepsilon;':'\\u03f6',\n'backprime;':'\\u2035',\n'backsim;':'\\u223d',\n'backsimeq;':'\\u22cd',\n'Backslash;':'\\u2216',\n'Barv;':'\\u2ae7',\n'barvee;':'\\u22bd',\n'Barwed;':'\\u2306',\n'barwed;':'\\u2305',\n'barwedge;':'\\u2305',\n'bbrk;':'\\u23b5',\n'bbrktbrk;':'\\u23b6',\n'bcong;':'\\u224c',\n'Bcy;':'\\u0411',\n'bcy;':'\\u0431',\n'bdquo;':'\\u201e',\n'becaus;':'\\u2235',\n'Because;':'\\u2235',\n'because;':'\\u2235',\n'bemptyv;':'\\u29b0',\n'bepsi;':'\\u03f6',\n'bernou;':'\\u212c',\n'Bernoullis;':'\\u212c',\n'Beta;':'\\u0392',\n'beta;':'\\u03b2',\n'beth;':'\\u2136',\n'between;':'\\u226c',\n'Bfr;':'\\U0001d505',\n'bfr;':'\\U0001d51f',\n'bigcap;':'\\u22c2',\n'bigcirc;':'\\u25ef',\n'bigcup;':'\\u22c3',\n'bigodot;':'\\u2a00',\n'bigoplus;':'\\u2a01',\n'bigotimes;':'\\u2a02',\n'bigsqcup;':'\\u2a06',\n'bigstar;':'\\u2605',\n'bigtriangledown;':'\\u25bd',\n'bigtriangleup;':'\\u25b3',\n'biguplus;':'\\u2a04',\n'bigvee;':'\\u22c1',\n'bigwedge;':'\\u22c0',\n'bkarow;':'\\u290d',\n'blacklozenge;':'\\u29eb',\n'blacksquare;':'\\u25aa',\n'blacktriangle;':'\\u25b4',\n'blacktriangledown;':'\\u25be',\n'blacktriangleleft;':'\\u25c2',\n'blacktriangleright;':'\\u25b8',\n'blank;':'\\u2423',\n'blk12;':'\\u2592',\n'blk14;':'\\u2591',\n'blk34;':'\\u2593',\n'block;':'\\u2588',\n'bne;':'=\\u20e5',\n'bnequiv;':'\\u2261\\u20e5',\n'bNot;':'\\u2aed',\n'bnot;':'\\u2310',\n'Bopf;':'\\U0001d539',\n'bopf;':'\\U0001d553',\n'bot;':'\\u22a5',\n'bottom;':'\\u22a5',\n'bowtie;':'\\u22c8',\n'boxbox;':'\\u29c9',\n'boxDL;':'\\u2557',\n'boxDl;':'\\u2556',\n'boxdL;':'\\u2555',\n'boxdl;':'\\u2510',\n'boxDR;':'\\u2554',\n'boxDr;':'\\u2553',\n'boxdR;':'\\u2552',\n'boxdr;':'\\u250c',\n'boxH;':'\\u2550',\n'boxh;':'\\u2500',\n'boxHD;':'\\u2566',\n'boxHd;':'\\u2564',\n'boxhD;':'\\u2565',\n'boxhd;':'\\u252c',\n'boxHU;':'\\u2569',\n'boxHu;':'\\u2567',\n'boxhU;':'\\u2568',\n'boxhu;':'\\u2534',\n'boxminus;':'\\u229f',\n'boxplus;':'\\u229e',\n'boxtimes;':'\\u22a0',\n'boxUL;':'\\u255d',\n'boxUl;':'\\u255c',\n'boxuL;':'\\u255b',\n'boxul;':'\\u2518',\n'boxUR;':'\\u255a',\n'boxUr;':'\\u2559',\n'boxuR;':'\\u2558',\n'boxur;':'\\u2514',\n'boxV;':'\\u2551',\n'boxv;':'\\u2502',\n'boxVH;':'\\u256c',\n'boxVh;':'\\u256b',\n'boxvH;':'\\u256a',\n'boxvh;':'\\u253c',\n'boxVL;':'\\u2563',\n'boxVl;':'\\u2562',\n'boxvL;':'\\u2561',\n'boxvl;':'\\u2524',\n'boxVR;':'\\u2560',\n'boxVr;':'\\u255f',\n'boxvR;':'\\u255e',\n'boxvr;':'\\u251c',\n'bprime;':'\\u2035',\n'Breve;':'\\u02d8',\n'breve;':'\\u02d8',\n'brvbar':'\\xa6',\n'brvbar;':'\\xa6',\n'Bscr;':'\\u212c',\n'bscr;':'\\U0001d4b7',\n'bsemi;':'\\u204f',\n'bsim;':'\\u223d',\n'bsime;':'\\u22cd',\n'bsol;':'\\\\',\n'bsolb;':'\\u29c5',\n'bsolhsub;':'\\u27c8',\n'bull;':'\\u2022',\n'bullet;':'\\u2022',\n'bump;':'\\u224e',\n'bumpE;':'\\u2aae',\n'bumpe;':'\\u224f',\n'Bumpeq;':'\\u224e',\n'bumpeq;':'\\u224f',\n'Cacute;':'\\u0106',\n'cacute;':'\\u0107',\n'Cap;':'\\u22d2',\n'cap;':'\\u2229',\n'capand;':'\\u2a44',\n'capbrcup;':'\\u2a49',\n'capcap;':'\\u2a4b',\n'capcup;':'\\u2a47',\n'capdot;':'\\u2a40',\n'CapitalDifferentialD;':'\\u2145',\n'caps;':'\\u2229\\ufe00',\n'caret;':'\\u2041',\n'caron;':'\\u02c7',\n'Cayleys;':'\\u212d',\n'ccaps;':'\\u2a4d',\n'Ccaron;':'\\u010c',\n'ccaron;':'\\u010d',\n'Ccedil':'\\xc7',\n'ccedil':'\\xe7',\n'Ccedil;':'\\xc7',\n'ccedil;':'\\xe7',\n'Ccirc;':'\\u0108',\n'ccirc;':'\\u0109',\n'Cconint;':'\\u2230',\n'ccups;':'\\u2a4c',\n'ccupssm;':'\\u2a50',\n'Cdot;':'\\u010a',\n'cdot;':'\\u010b',\n'cedil':'\\xb8',\n'cedil;':'\\xb8',\n'Cedilla;':'\\xb8',\n'cemptyv;':'\\u29b2',\n'cent':'\\xa2',\n'cent;':'\\xa2',\n'CenterDot;':'\\xb7',\n'centerdot;':'\\xb7',\n'Cfr;':'\\u212d',\n'cfr;':'\\U0001d520',\n'CHcy;':'\\u0427',\n'chcy;':'\\u0447',\n'check;':'\\u2713',\n'checkmark;':'\\u2713',\n'Chi;':'\\u03a7',\n'chi;':'\\u03c7',\n'cir;':'\\u25cb',\n'circ;':'\\u02c6',\n'circeq;':'\\u2257',\n'circlearrowleft;':'\\u21ba',\n'circlearrowright;':'\\u21bb',\n'circledast;':'\\u229b',\n'circledcirc;':'\\u229a',\n'circleddash;':'\\u229d',\n'CircleDot;':'\\u2299',\n'circledR;':'\\xae',\n'circledS;':'\\u24c8',\n'CircleMinus;':'\\u2296',\n'CirclePlus;':'\\u2295',\n'CircleTimes;':'\\u2297',\n'cirE;':'\\u29c3',\n'cire;':'\\u2257',\n'cirfnint;':'\\u2a10',\n'cirmid;':'\\u2aef',\n'cirscir;':'\\u29c2',\n'ClockwiseContourIntegral;':'\\u2232',\n'CloseCurlyDoubleQuote;':'\\u201d',\n'CloseCurlyQuote;':'\\u2019',\n'clubs;':'\\u2663',\n'clubsuit;':'\\u2663',\n'Colon;':'\\u2237',\n'colon;':':',\n'Colone;':'\\u2a74',\n'colone;':'\\u2254',\n'coloneq;':'\\u2254',\n'comma;':',',\n'commat;':'@',\n'comp;':'\\u2201',\n'compfn;':'\\u2218',\n'complement;':'\\u2201',\n'complexes;':'\\u2102',\n'cong;':'\\u2245',\n'congdot;':'\\u2a6d',\n'Congruent;':'\\u2261',\n'Conint;':'\\u222f',\n'conint;':'\\u222e',\n'ContourIntegral;':'\\u222e',\n'Copf;':'\\u2102',\n'copf;':'\\U0001d554',\n'coprod;':'\\u2210',\n'Coproduct;':'\\u2210',\n'COPY':'\\xa9',\n'copy':'\\xa9',\n'COPY;':'\\xa9',\n'copy;':'\\xa9',\n'copysr;':'\\u2117',\n'CounterClockwiseContourIntegral;':'\\u2233',\n'crarr;':'\\u21b5',\n'Cross;':'\\u2a2f',\n'cross;':'\\u2717',\n'Cscr;':'\\U0001d49e',\n'cscr;':'\\U0001d4b8',\n'csub;':'\\u2acf',\n'csube;':'\\u2ad1',\n'csup;':'\\u2ad0',\n'csupe;':'\\u2ad2',\n'ctdot;':'\\u22ef',\n'cudarrl;':'\\u2938',\n'cudarrr;':'\\u2935',\n'cuepr;':'\\u22de',\n'cuesc;':'\\u22df',\n'cularr;':'\\u21b6',\n'cularrp;':'\\u293d',\n'Cup;':'\\u22d3',\n'cup;':'\\u222a',\n'cupbrcap;':'\\u2a48',\n'CupCap;':'\\u224d',\n'cupcap;':'\\u2a46',\n'cupcup;':'\\u2a4a',\n'cupdot;':'\\u228d',\n'cupor;':'\\u2a45',\n'cups;':'\\u222a\\ufe00',\n'curarr;':'\\u21b7',\n'curarrm;':'\\u293c',\n'curlyeqprec;':'\\u22de',\n'curlyeqsucc;':'\\u22df',\n'curlyvee;':'\\u22ce',\n'curlywedge;':'\\u22cf',\n'curren':'\\xa4',\n'curren;':'\\xa4',\n'curvearrowleft;':'\\u21b6',\n'curvearrowright;':'\\u21b7',\n'cuvee;':'\\u22ce',\n'cuwed;':'\\u22cf',\n'cwconint;':'\\u2232',\n'cwint;':'\\u2231',\n'cylcty;':'\\u232d',\n'Dagger;':'\\u2021',\n'dagger;':'\\u2020',\n'daleth;':'\\u2138',\n'Darr;':'\\u21a1',\n'dArr;':'\\u21d3',\n'darr;':'\\u2193',\n'dash;':'\\u2010',\n'Dashv;':'\\u2ae4',\n'dashv;':'\\u22a3',\n'dbkarow;':'\\u290f',\n'dblac;':'\\u02dd',\n'Dcaron;':'\\u010e',\n'dcaron;':'\\u010f',\n'Dcy;':'\\u0414',\n'dcy;':'\\u0434',\n'DD;':'\\u2145',\n'dd;':'\\u2146',\n'ddagger;':'\\u2021',\n'ddarr;':'\\u21ca',\n'DDotrahd;':'\\u2911',\n'ddotseq;':'\\u2a77',\n'deg':'\\xb0',\n'deg;':'\\xb0',\n'Del;':'\\u2207',\n'Delta;':'\\u0394',\n'delta;':'\\u03b4',\n'demptyv;':'\\u29b1',\n'dfisht;':'\\u297f',\n'Dfr;':'\\U0001d507',\n'dfr;':'\\U0001d521',\n'dHar;':'\\u2965',\n'dharl;':'\\u21c3',\n'dharr;':'\\u21c2',\n'DiacriticalAcute;':'\\xb4',\n'DiacriticalDot;':'\\u02d9',\n'DiacriticalDoubleAcute;':'\\u02dd',\n'DiacriticalGrave;':'`',\n'DiacriticalTilde;':'\\u02dc',\n'diam;':'\\u22c4',\n'Diamond;':'\\u22c4',\n'diamond;':'\\u22c4',\n'diamondsuit;':'\\u2666',\n'diams;':'\\u2666',\n'die;':'\\xa8',\n'DifferentialD;':'\\u2146',\n'digamma;':'\\u03dd',\n'disin;':'\\u22f2',\n'div;':'\\xf7',\n'divide':'\\xf7',\n'divide;':'\\xf7',\n'divideontimes;':'\\u22c7',\n'divonx;':'\\u22c7',\n'DJcy;':'\\u0402',\n'djcy;':'\\u0452',\n'dlcorn;':'\\u231e',\n'dlcrop;':'\\u230d',\n'dollar;':'$',\n'Dopf;':'\\U0001d53b',\n'dopf;':'\\U0001d555',\n'Dot;':'\\xa8',\n'dot;':'\\u02d9',\n'DotDot;':'\\u20dc',\n'doteq;':'\\u2250',\n'doteqdot;':'\\u2251',\n'DotEqual;':'\\u2250',\n'dotminus;':'\\u2238',\n'dotplus;':'\\u2214',\n'dotsquare;':'\\u22a1',\n'doublebarwedge;':'\\u2306',\n'DoubleContourIntegral;':'\\u222f',\n'DoubleDot;':'\\xa8',\n'DoubleDownArrow;':'\\u21d3',\n'DoubleLeftArrow;':'\\u21d0',\n'DoubleLeftRightArrow;':'\\u21d4',\n'DoubleLeftTee;':'\\u2ae4',\n'DoubleLongLeftArrow;':'\\u27f8',\n'DoubleLongLeftRightArrow;':'\\u27fa',\n'DoubleLongRightArrow;':'\\u27f9',\n'DoubleRightArrow;':'\\u21d2',\n'DoubleRightTee;':'\\u22a8',\n'DoubleUpArrow;':'\\u21d1',\n'DoubleUpDownArrow;':'\\u21d5',\n'DoubleVerticalBar;':'\\u2225',\n'DownArrow;':'\\u2193',\n'Downarrow;':'\\u21d3',\n'downarrow;':'\\u2193',\n'DownArrowBar;':'\\u2913',\n'DownArrowUpArrow;':'\\u21f5',\n'DownBreve;':'\\u0311',\n'downdownarrows;':'\\u21ca',\n'downharpoonleft;':'\\u21c3',\n'downharpoonright;':'\\u21c2',\n'DownLeftRightVector;':'\\u2950',\n'DownLeftTeeVector;':'\\u295e',\n'DownLeftVector;':'\\u21bd',\n'DownLeftVectorBar;':'\\u2956',\n'DownRightTeeVector;':'\\u295f',\n'DownRightVector;':'\\u21c1',\n'DownRightVectorBar;':'\\u2957',\n'DownTee;':'\\u22a4',\n'DownTeeArrow;':'\\u21a7',\n'drbkarow;':'\\u2910',\n'drcorn;':'\\u231f',\n'drcrop;':'\\u230c',\n'Dscr;':'\\U0001d49f',\n'dscr;':'\\U0001d4b9',\n'DScy;':'\\u0405',\n'dscy;':'\\u0455',\n'dsol;':'\\u29f6',\n'Dstrok;':'\\u0110',\n'dstrok;':'\\u0111',\n'dtdot;':'\\u22f1',\n'dtri;':'\\u25bf',\n'dtrif;':'\\u25be',\n'duarr;':'\\u21f5',\n'duhar;':'\\u296f',\n'dwangle;':'\\u29a6',\n'DZcy;':'\\u040f',\n'dzcy;':'\\u045f',\n'dzigrarr;':'\\u27ff',\n'Eacute':'\\xc9',\n'eacute':'\\xe9',\n'Eacute;':'\\xc9',\n'eacute;':'\\xe9',\n'easter;':'\\u2a6e',\n'Ecaron;':'\\u011a',\n'ecaron;':'\\u011b',\n'ecir;':'\\u2256',\n'Ecirc':'\\xca',\n'ecirc':'\\xea',\n'Ecirc;':'\\xca',\n'ecirc;':'\\xea',\n'ecolon;':'\\u2255',\n'Ecy;':'\\u042d',\n'ecy;':'\\u044d',\n'eDDot;':'\\u2a77',\n'Edot;':'\\u0116',\n'eDot;':'\\u2251',\n'edot;':'\\u0117',\n'ee;':'\\u2147',\n'efDot;':'\\u2252',\n'Efr;':'\\U0001d508',\n'efr;':'\\U0001d522',\n'eg;':'\\u2a9a',\n'Egrave':'\\xc8',\n'egrave':'\\xe8',\n'Egrave;':'\\xc8',\n'egrave;':'\\xe8',\n'egs;':'\\u2a96',\n'egsdot;':'\\u2a98',\n'el;':'\\u2a99',\n'Element;':'\\u2208',\n'elinters;':'\\u23e7',\n'ell;':'\\u2113',\n'els;':'\\u2a95',\n'elsdot;':'\\u2a97',\n'Emacr;':'\\u0112',\n'emacr;':'\\u0113',\n'empty;':'\\u2205',\n'emptyset;':'\\u2205',\n'EmptySmallSquare;':'\\u25fb',\n'emptyv;':'\\u2205',\n'EmptyVerySmallSquare;':'\\u25ab',\n'emsp13;':'\\u2004',\n'emsp14;':'\\u2005',\n'emsp;':'\\u2003',\n'ENG;':'\\u014a',\n'eng;':'\\u014b',\n'ensp;':'\\u2002',\n'Eogon;':'\\u0118',\n'eogon;':'\\u0119',\n'Eopf;':'\\U0001d53c',\n'eopf;':'\\U0001d556',\n'epar;':'\\u22d5',\n'eparsl;':'\\u29e3',\n'eplus;':'\\u2a71',\n'epsi;':'\\u03b5',\n'Epsilon;':'\\u0395',\n'epsilon;':'\\u03b5',\n'epsiv;':'\\u03f5',\n'eqcirc;':'\\u2256',\n'eqcolon;':'\\u2255',\n'eqsim;':'\\u2242',\n'eqslantgtr;':'\\u2a96',\n'eqslantless;':'\\u2a95',\n'Equal;':'\\u2a75',\n'equals;':'=',\n'EqualTilde;':'\\u2242',\n'equest;':'\\u225f',\n'Equilibrium;':'\\u21cc',\n'equiv;':'\\u2261',\n'equivDD;':'\\u2a78',\n'eqvparsl;':'\\u29e5',\n'erarr;':'\\u2971',\n'erDot;':'\\u2253',\n'Escr;':'\\u2130',\n'escr;':'\\u212f',\n'esdot;':'\\u2250',\n'Esim;':'\\u2a73',\n'esim;':'\\u2242',\n'Eta;':'\\u0397',\n'eta;':'\\u03b7',\n'ETH':'\\xd0',\n'eth':'\\xf0',\n'ETH;':'\\xd0',\n'eth;':'\\xf0',\n'Euml':'\\xcb',\n'euml':'\\xeb',\n'Euml;':'\\xcb',\n'euml;':'\\xeb',\n'euro;':'\\u20ac',\n'excl;':'!',\n'exist;':'\\u2203',\n'Exists;':'\\u2203',\n'expectation;':'\\u2130',\n'ExponentialE;':'\\u2147',\n'exponentiale;':'\\u2147',\n'fallingdotseq;':'\\u2252',\n'Fcy;':'\\u0424',\n'fcy;':'\\u0444',\n'female;':'\\u2640',\n'ffilig;':'\\ufb03',\n'fflig;':'\\ufb00',\n'ffllig;':'\\ufb04',\n'Ffr;':'\\U0001d509',\n'ffr;':'\\U0001d523',\n'filig;':'\\ufb01',\n'FilledSmallSquare;':'\\u25fc',\n'FilledVerySmallSquare;':'\\u25aa',\n'fjlig;':'fj',\n'flat;':'\\u266d',\n'fllig;':'\\ufb02',\n'fltns;':'\\u25b1',\n'fnof;':'\\u0192',\n'Fopf;':'\\U0001d53d',\n'fopf;':'\\U0001d557',\n'ForAll;':'\\u2200',\n'forall;':'\\u2200',\n'fork;':'\\u22d4',\n'forkv;':'\\u2ad9',\n'Fouriertrf;':'\\u2131',\n'fpartint;':'\\u2a0d',\n'frac12':'\\xbd',\n'frac12;':'\\xbd',\n'frac13;':'\\u2153',\n'frac14':'\\xbc',\n'frac14;':'\\xbc',\n'frac15;':'\\u2155',\n'frac16;':'\\u2159',\n'frac18;':'\\u215b',\n'frac23;':'\\u2154',\n'frac25;':'\\u2156',\n'frac34':'\\xbe',\n'frac34;':'\\xbe',\n'frac35;':'\\u2157',\n'frac38;':'\\u215c',\n'frac45;':'\\u2158',\n'frac56;':'\\u215a',\n'frac58;':'\\u215d',\n'frac78;':'\\u215e',\n'frasl;':'\\u2044',\n'frown;':'\\u2322',\n'Fscr;':'\\u2131',\n'fscr;':'\\U0001d4bb',\n'gacute;':'\\u01f5',\n'Gamma;':'\\u0393',\n'gamma;':'\\u03b3',\n'Gammad;':'\\u03dc',\n'gammad;':'\\u03dd',\n'gap;':'\\u2a86',\n'Gbreve;':'\\u011e',\n'gbreve;':'\\u011f',\n'Gcedil;':'\\u0122',\n'Gcirc;':'\\u011c',\n'gcirc;':'\\u011d',\n'Gcy;':'\\u0413',\n'gcy;':'\\u0433',\n'Gdot;':'\\u0120',\n'gdot;':'\\u0121',\n'gE;':'\\u2267',\n'ge;':'\\u2265',\n'gEl;':'\\u2a8c',\n'gel;':'\\u22db',\n'geq;':'\\u2265',\n'geqq;':'\\u2267',\n'geqslant;':'\\u2a7e',\n'ges;':'\\u2a7e',\n'gescc;':'\\u2aa9',\n'gesdot;':'\\u2a80',\n'gesdoto;':'\\u2a82',\n'gesdotol;':'\\u2a84',\n'gesl;':'\\u22db\\ufe00',\n'gesles;':'\\u2a94',\n'Gfr;':'\\U0001d50a',\n'gfr;':'\\U0001d524',\n'Gg;':'\\u22d9',\n'gg;':'\\u226b',\n'ggg;':'\\u22d9',\n'gimel;':'\\u2137',\n'GJcy;':'\\u0403',\n'gjcy;':'\\u0453',\n'gl;':'\\u2277',\n'gla;':'\\u2aa5',\n'glE;':'\\u2a92',\n'glj;':'\\u2aa4',\n'gnap;':'\\u2a8a',\n'gnapprox;':'\\u2a8a',\n'gnE;':'\\u2269',\n'gne;':'\\u2a88',\n'gneq;':'\\u2a88',\n'gneqq;':'\\u2269',\n'gnsim;':'\\u22e7',\n'Gopf;':'\\U0001d53e',\n'gopf;':'\\U0001d558',\n'grave;':'`',\n'GreaterEqual;':'\\u2265',\n'GreaterEqualLess;':'\\u22db',\n'GreaterFullEqual;':'\\u2267',\n'GreaterGreater;':'\\u2aa2',\n'GreaterLess;':'\\u2277',\n'GreaterSlantEqual;':'\\u2a7e',\n'GreaterTilde;':'\\u2273',\n'Gscr;':'\\U0001d4a2',\n'gscr;':'\\u210a',\n'gsim;':'\\u2273',\n'gsime;':'\\u2a8e',\n'gsiml;':'\\u2a90',\n'GT':'>',\n'gt':'>',\n'GT;':'>',\n'Gt;':'\\u226b',\n'gt;':'>',\n'gtcc;':'\\u2aa7',\n'gtcir;':'\\u2a7a',\n'gtdot;':'\\u22d7',\n'gtlPar;':'\\u2995',\n'gtquest;':'\\u2a7c',\n'gtrapprox;':'\\u2a86',\n'gtrarr;':'\\u2978',\n'gtrdot;':'\\u22d7',\n'gtreqless;':'\\u22db',\n'gtreqqless;':'\\u2a8c',\n'gtrless;':'\\u2277',\n'gtrsim;':'\\u2273',\n'gvertneqq;':'\\u2269\\ufe00',\n'gvnE;':'\\u2269\\ufe00',\n'Hacek;':'\\u02c7',\n'hairsp;':'\\u200a',\n'half;':'\\xbd',\n'hamilt;':'\\u210b',\n'HARDcy;':'\\u042a',\n'hardcy;':'\\u044a',\n'hArr;':'\\u21d4',\n'harr;':'\\u2194',\n'harrcir;':'\\u2948',\n'harrw;':'\\u21ad',\n'Hat;':'^',\n'hbar;':'\\u210f',\n'Hcirc;':'\\u0124',\n'hcirc;':'\\u0125',\n'hearts;':'\\u2665',\n'heartsuit;':'\\u2665',\n'hellip;':'\\u2026',\n'hercon;':'\\u22b9',\n'Hfr;':'\\u210c',\n'hfr;':'\\U0001d525',\n'HilbertSpace;':'\\u210b',\n'hksearow;':'\\u2925',\n'hkswarow;':'\\u2926',\n'hoarr;':'\\u21ff',\n'homtht;':'\\u223b',\n'hookleftarrow;':'\\u21a9',\n'hookrightarrow;':'\\u21aa',\n'Hopf;':'\\u210d',\n'hopf;':'\\U0001d559',\n'horbar;':'\\u2015',\n'HorizontalLine;':'\\u2500',\n'Hscr;':'\\u210b',\n'hscr;':'\\U0001d4bd',\n'hslash;':'\\u210f',\n'Hstrok;':'\\u0126',\n'hstrok;':'\\u0127',\n'HumpDownHump;':'\\u224e',\n'HumpEqual;':'\\u224f',\n'hybull;':'\\u2043',\n'hyphen;':'\\u2010',\n'Iacute':'\\xcd',\n'iacute':'\\xed',\n'Iacute;':'\\xcd',\n'iacute;':'\\xed',\n'ic;':'\\u2063',\n'Icirc':'\\xce',\n'icirc':'\\xee',\n'Icirc;':'\\xce',\n'icirc;':'\\xee',\n'Icy;':'\\u0418',\n'icy;':'\\u0438',\n'Idot;':'\\u0130',\n'IEcy;':'\\u0415',\n'iecy;':'\\u0435',\n'iexcl':'\\xa1',\n'iexcl;':'\\xa1',\n'iff;':'\\u21d4',\n'Ifr;':'\\u2111',\n'ifr;':'\\U0001d526',\n'Igrave':'\\xcc',\n'igrave':'\\xec',\n'Igrave;':'\\xcc',\n'igrave;':'\\xec',\n'ii;':'\\u2148',\n'iiiint;':'\\u2a0c',\n'iiint;':'\\u222d',\n'iinfin;':'\\u29dc',\n'iiota;':'\\u2129',\n'IJlig;':'\\u0132',\n'ijlig;':'\\u0133',\n'Im;':'\\u2111',\n'Imacr;':'\\u012a',\n'imacr;':'\\u012b',\n'image;':'\\u2111',\n'ImaginaryI;':'\\u2148',\n'imagline;':'\\u2110',\n'imagpart;':'\\u2111',\n'imath;':'\\u0131',\n'imof;':'\\u22b7',\n'imped;':'\\u01b5',\n'Implies;':'\\u21d2',\n'in;':'\\u2208',\n'incare;':'\\u2105',\n'infin;':'\\u221e',\n'infintie;':'\\u29dd',\n'inodot;':'\\u0131',\n'Int;':'\\u222c',\n'int;':'\\u222b',\n'intcal;':'\\u22ba',\n'integers;':'\\u2124',\n'Integral;':'\\u222b',\n'intercal;':'\\u22ba',\n'Intersection;':'\\u22c2',\n'intlarhk;':'\\u2a17',\n'intprod;':'\\u2a3c',\n'InvisibleComma;':'\\u2063',\n'InvisibleTimes;':'\\u2062',\n'IOcy;':'\\u0401',\n'iocy;':'\\u0451',\n'Iogon;':'\\u012e',\n'iogon;':'\\u012f',\n'Iopf;':'\\U0001d540',\n'iopf;':'\\U0001d55a',\n'Iota;':'\\u0399',\n'iota;':'\\u03b9',\n'iprod;':'\\u2a3c',\n'iquest':'\\xbf',\n'iquest;':'\\xbf',\n'Iscr;':'\\u2110',\n'iscr;':'\\U0001d4be',\n'isin;':'\\u2208',\n'isindot;':'\\u22f5',\n'isinE;':'\\u22f9',\n'isins;':'\\u22f4',\n'isinsv;':'\\u22f3',\n'isinv;':'\\u2208',\n'it;':'\\u2062',\n'Itilde;':'\\u0128',\n'itilde;':'\\u0129',\n'Iukcy;':'\\u0406',\n'iukcy;':'\\u0456',\n'Iuml':'\\xcf',\n'iuml':'\\xef',\n'Iuml;':'\\xcf',\n'iuml;':'\\xef',\n'Jcirc;':'\\u0134',\n'jcirc;':'\\u0135',\n'Jcy;':'\\u0419',\n'jcy;':'\\u0439',\n'Jfr;':'\\U0001d50d',\n'jfr;':'\\U0001d527',\n'jmath;':'\\u0237',\n'Jopf;':'\\U0001d541',\n'jopf;':'\\U0001d55b',\n'Jscr;':'\\U0001d4a5',\n'jscr;':'\\U0001d4bf',\n'Jsercy;':'\\u0408',\n'jsercy;':'\\u0458',\n'Jukcy;':'\\u0404',\n'jukcy;':'\\u0454',\n'Kappa;':'\\u039a',\n'kappa;':'\\u03ba',\n'kappav;':'\\u03f0',\n'Kcedil;':'\\u0136',\n'kcedil;':'\\u0137',\n'Kcy;':'\\u041a',\n'kcy;':'\\u043a',\n'Kfr;':'\\U0001d50e',\n'kfr;':'\\U0001d528',\n'kgreen;':'\\u0138',\n'KHcy;':'\\u0425',\n'khcy;':'\\u0445',\n'KJcy;':'\\u040c',\n'kjcy;':'\\u045c',\n'Kopf;':'\\U0001d542',\n'kopf;':'\\U0001d55c',\n'Kscr;':'\\U0001d4a6',\n'kscr;':'\\U0001d4c0',\n'lAarr;':'\\u21da',\n'Lacute;':'\\u0139',\n'lacute;':'\\u013a',\n'laemptyv;':'\\u29b4',\n'lagran;':'\\u2112',\n'Lambda;':'\\u039b',\n'lambda;':'\\u03bb',\n'Lang;':'\\u27ea',\n'lang;':'\\u27e8',\n'langd;':'\\u2991',\n'langle;':'\\u27e8',\n'lap;':'\\u2a85',\n'Laplacetrf;':'\\u2112',\n'laquo':'\\xab',\n'laquo;':'\\xab',\n'Larr;':'\\u219e',\n'lArr;':'\\u21d0',\n'larr;':'\\u2190',\n'larrb;':'\\u21e4',\n'larrbfs;':'\\u291f',\n'larrfs;':'\\u291d',\n'larrhk;':'\\u21a9',\n'larrlp;':'\\u21ab',\n'larrpl;':'\\u2939',\n'larrsim;':'\\u2973',\n'larrtl;':'\\u21a2',\n'lat;':'\\u2aab',\n'lAtail;':'\\u291b',\n'latail;':'\\u2919',\n'late;':'\\u2aad',\n'lates;':'\\u2aad\\ufe00',\n'lBarr;':'\\u290e',\n'lbarr;':'\\u290c',\n'lbbrk;':'\\u2772',\n'lbrace;':'{',\n'lbrack;':'[',\n'lbrke;':'\\u298b',\n'lbrksld;':'\\u298f',\n'lbrkslu;':'\\u298d',\n'Lcaron;':'\\u013d',\n'lcaron;':'\\u013e',\n'Lcedil;':'\\u013b',\n'lcedil;':'\\u013c',\n'lceil;':'\\u2308',\n'lcub;':'{',\n'Lcy;':'\\u041b',\n'lcy;':'\\u043b',\n'ldca;':'\\u2936',\n'ldquo;':'\\u201c',\n'ldquor;':'\\u201e',\n'ldrdhar;':'\\u2967',\n'ldrushar;':'\\u294b',\n'ldsh;':'\\u21b2',\n'lE;':'\\u2266',\n'le;':'\\u2264',\n'LeftAngleBracket;':'\\u27e8',\n'LeftArrow;':'\\u2190',\n'Leftarrow;':'\\u21d0',\n'leftarrow;':'\\u2190',\n'LeftArrowBar;':'\\u21e4',\n'LeftArrowRightArrow;':'\\u21c6',\n'leftarrowtail;':'\\u21a2',\n'LeftCeiling;':'\\u2308',\n'LeftDoubleBracket;':'\\u27e6',\n'LeftDownTeeVector;':'\\u2961',\n'LeftDownVector;':'\\u21c3',\n'LeftDownVectorBar;':'\\u2959',\n'LeftFloor;':'\\u230a',\n'leftharpoondown;':'\\u21bd',\n'leftharpoonup;':'\\u21bc',\n'leftleftarrows;':'\\u21c7',\n'LeftRightArrow;':'\\u2194',\n'Leftrightarrow;':'\\u21d4',\n'leftrightarrow;':'\\u2194',\n'leftrightarrows;':'\\u21c6',\n'leftrightharpoons;':'\\u21cb',\n'leftrightsquigarrow;':'\\u21ad',\n'LeftRightVector;':'\\u294e',\n'LeftTee;':'\\u22a3',\n'LeftTeeArrow;':'\\u21a4',\n'LeftTeeVector;':'\\u295a',\n'leftthreetimes;':'\\u22cb',\n'LeftTriangle;':'\\u22b2',\n'LeftTriangleBar;':'\\u29cf',\n'LeftTriangleEqual;':'\\u22b4',\n'LeftUpDownVector;':'\\u2951',\n'LeftUpTeeVector;':'\\u2960',\n'LeftUpVector;':'\\u21bf',\n'LeftUpVectorBar;':'\\u2958',\n'LeftVector;':'\\u21bc',\n'LeftVectorBar;':'\\u2952',\n'lEg;':'\\u2a8b',\n'leg;':'\\u22da',\n'leq;':'\\u2264',\n'leqq;':'\\u2266',\n'leqslant;':'\\u2a7d',\n'les;':'\\u2a7d',\n'lescc;':'\\u2aa8',\n'lesdot;':'\\u2a7f',\n'lesdoto;':'\\u2a81',\n'lesdotor;':'\\u2a83',\n'lesg;':'\\u22da\\ufe00',\n'lesges;':'\\u2a93',\n'lessapprox;':'\\u2a85',\n'lessdot;':'\\u22d6',\n'lesseqgtr;':'\\u22da',\n'lesseqqgtr;':'\\u2a8b',\n'LessEqualGreater;':'\\u22da',\n'LessFullEqual;':'\\u2266',\n'LessGreater;':'\\u2276',\n'lessgtr;':'\\u2276',\n'LessLess;':'\\u2aa1',\n'lesssim;':'\\u2272',\n'LessSlantEqual;':'\\u2a7d',\n'LessTilde;':'\\u2272',\n'lfisht;':'\\u297c',\n'lfloor;':'\\u230a',\n'Lfr;':'\\U0001d50f',\n'lfr;':'\\U0001d529',\n'lg;':'\\u2276',\n'lgE;':'\\u2a91',\n'lHar;':'\\u2962',\n'lhard;':'\\u21bd',\n'lharu;':'\\u21bc',\n'lharul;':'\\u296a',\n'lhblk;':'\\u2584',\n'LJcy;':'\\u0409',\n'ljcy;':'\\u0459',\n'Ll;':'\\u22d8',\n'll;':'\\u226a',\n'llarr;':'\\u21c7',\n'llcorner;':'\\u231e',\n'Lleftarrow;':'\\u21da',\n'llhard;':'\\u296b',\n'lltri;':'\\u25fa',\n'Lmidot;':'\\u013f',\n'lmidot;':'\\u0140',\n'lmoust;':'\\u23b0',\n'lmoustache;':'\\u23b0',\n'lnap;':'\\u2a89',\n'lnapprox;':'\\u2a89',\n'lnE;':'\\u2268',\n'lne;':'\\u2a87',\n'lneq;':'\\u2a87',\n'lneqq;':'\\u2268',\n'lnsim;':'\\u22e6',\n'loang;':'\\u27ec',\n'loarr;':'\\u21fd',\n'lobrk;':'\\u27e6',\n'LongLeftArrow;':'\\u27f5',\n'Longleftarrow;':'\\u27f8',\n'longleftarrow;':'\\u27f5',\n'LongLeftRightArrow;':'\\u27f7',\n'Longleftrightarrow;':'\\u27fa',\n'longleftrightarrow;':'\\u27f7',\n'longmapsto;':'\\u27fc',\n'LongRightArrow;':'\\u27f6',\n'Longrightarrow;':'\\u27f9',\n'longrightarrow;':'\\u27f6',\n'looparrowleft;':'\\u21ab',\n'looparrowright;':'\\u21ac',\n'lopar;':'\\u2985',\n'Lopf;':'\\U0001d543',\n'lopf;':'\\U0001d55d',\n'loplus;':'\\u2a2d',\n'lotimes;':'\\u2a34',\n'lowast;':'\\u2217',\n'lowbar;':'_',\n'LowerLeftArrow;':'\\u2199',\n'LowerRightArrow;':'\\u2198',\n'loz;':'\\u25ca',\n'lozenge;':'\\u25ca',\n'lozf;':'\\u29eb',\n'lpar;':'(',\n'lparlt;':'\\u2993',\n'lrarr;':'\\u21c6',\n'lrcorner;':'\\u231f',\n'lrhar;':'\\u21cb',\n'lrhard;':'\\u296d',\n'lrm;':'\\u200e',\n'lrtri;':'\\u22bf',\n'lsaquo;':'\\u2039',\n'Lscr;':'\\u2112',\n'lscr;':'\\U0001d4c1',\n'Lsh;':'\\u21b0',\n'lsh;':'\\u21b0',\n'lsim;':'\\u2272',\n'lsime;':'\\u2a8d',\n'lsimg;':'\\u2a8f',\n'lsqb;':'[',\n'lsquo;':'\\u2018',\n'lsquor;':'\\u201a',\n'Lstrok;':'\\u0141',\n'lstrok;':'\\u0142',\n'LT':'<',\n'lt':'<',\n'LT;':'<',\n'Lt;':'\\u226a',\n'lt;':'<',\n'ltcc;':'\\u2aa6',\n'ltcir;':'\\u2a79',\n'ltdot;':'\\u22d6',\n'lthree;':'\\u22cb',\n'ltimes;':'\\u22c9',\n'ltlarr;':'\\u2976',\n'ltquest;':'\\u2a7b',\n'ltri;':'\\u25c3',\n'ltrie;':'\\u22b4',\n'ltrif;':'\\u25c2',\n'ltrPar;':'\\u2996',\n'lurdshar;':'\\u294a',\n'luruhar;':'\\u2966',\n'lvertneqq;':'\\u2268\\ufe00',\n'lvnE;':'\\u2268\\ufe00',\n'macr':'\\xaf',\n'macr;':'\\xaf',\n'male;':'\\u2642',\n'malt;':'\\u2720',\n'maltese;':'\\u2720',\n'Map;':'\\u2905',\n'map;':'\\u21a6',\n'mapsto;':'\\u21a6',\n'mapstodown;':'\\u21a7',\n'mapstoleft;':'\\u21a4',\n'mapstoup;':'\\u21a5',\n'marker;':'\\u25ae',\n'mcomma;':'\\u2a29',\n'Mcy;':'\\u041c',\n'mcy;':'\\u043c',\n'mdash;':'\\u2014',\n'mDDot;':'\\u223a',\n'measuredangle;':'\\u2221',\n'MediumSpace;':'\\u205f',\n'Mellintrf;':'\\u2133',\n'Mfr;':'\\U0001d510',\n'mfr;':'\\U0001d52a',\n'mho;':'\\u2127',\n'micro':'\\xb5',\n'micro;':'\\xb5',\n'mid;':'\\u2223',\n'midast;':'*',\n'midcir;':'\\u2af0',\n'middot':'\\xb7',\n'middot;':'\\xb7',\n'minus;':'\\u2212',\n'minusb;':'\\u229f',\n'minusd;':'\\u2238',\n'minusdu;':'\\u2a2a',\n'MinusPlus;':'\\u2213',\n'mlcp;':'\\u2adb',\n'mldr;':'\\u2026',\n'mnplus;':'\\u2213',\n'models;':'\\u22a7',\n'Mopf;':'\\U0001d544',\n'mopf;':'\\U0001d55e',\n'mp;':'\\u2213',\n'Mscr;':'\\u2133',\n'mscr;':'\\U0001d4c2',\n'mstpos;':'\\u223e',\n'Mu;':'\\u039c',\n'mu;':'\\u03bc',\n'multimap;':'\\u22b8',\n'mumap;':'\\u22b8',\n'nabla;':'\\u2207',\n'Nacute;':'\\u0143',\n'nacute;':'\\u0144',\n'nang;':'\\u2220\\u20d2',\n'nap;':'\\u2249',\n'napE;':'\\u2a70\\u0338',\n'napid;':'\\u224b\\u0338',\n'napos;':'\\u0149',\n'napprox;':'\\u2249',\n'natur;':'\\u266e',\n'natural;':'\\u266e',\n'naturals;':'\\u2115',\n'nbsp':'\\xa0',\n'nbsp;':'\\xa0',\n'nbump;':'\\u224e\\u0338',\n'nbumpe;':'\\u224f\\u0338',\n'ncap;':'\\u2a43',\n'Ncaron;':'\\u0147',\n'ncaron;':'\\u0148',\n'Ncedil;':'\\u0145',\n'ncedil;':'\\u0146',\n'ncong;':'\\u2247',\n'ncongdot;':'\\u2a6d\\u0338',\n'ncup;':'\\u2a42',\n'Ncy;':'\\u041d',\n'ncy;':'\\u043d',\n'ndash;':'\\u2013',\n'ne;':'\\u2260',\n'nearhk;':'\\u2924',\n'neArr;':'\\u21d7',\n'nearr;':'\\u2197',\n'nearrow;':'\\u2197',\n'nedot;':'\\u2250\\u0338',\n'NegativeMediumSpace;':'\\u200b',\n'NegativeThickSpace;':'\\u200b',\n'NegativeThinSpace;':'\\u200b',\n'NegativeVeryThinSpace;':'\\u200b',\n'nequiv;':'\\u2262',\n'nesear;':'\\u2928',\n'nesim;':'\\u2242\\u0338',\n'NestedGreaterGreater;':'\\u226b',\n'NestedLessLess;':'\\u226a',\n'NewLine;':'\\n',\n'nexist;':'\\u2204',\n'nexists;':'\\u2204',\n'Nfr;':'\\U0001d511',\n'nfr;':'\\U0001d52b',\n'ngE;':'\\u2267\\u0338',\n'nge;':'\\u2271',\n'ngeq;':'\\u2271',\n'ngeqq;':'\\u2267\\u0338',\n'ngeqslant;':'\\u2a7e\\u0338',\n'nges;':'\\u2a7e\\u0338',\n'nGg;':'\\u22d9\\u0338',\n'ngsim;':'\\u2275',\n'nGt;':'\\u226b\\u20d2',\n'ngt;':'\\u226f',\n'ngtr;':'\\u226f',\n'nGtv;':'\\u226b\\u0338',\n'nhArr;':'\\u21ce',\n'nharr;':'\\u21ae',\n'nhpar;':'\\u2af2',\n'ni;':'\\u220b',\n'nis;':'\\u22fc',\n'nisd;':'\\u22fa',\n'niv;':'\\u220b',\n'NJcy;':'\\u040a',\n'njcy;':'\\u045a',\n'nlArr;':'\\u21cd',\n'nlarr;':'\\u219a',\n'nldr;':'\\u2025',\n'nlE;':'\\u2266\\u0338',\n'nle;':'\\u2270',\n'nLeftarrow;':'\\u21cd',\n'nleftarrow;':'\\u219a',\n'nLeftrightarrow;':'\\u21ce',\n'nleftrightarrow;':'\\u21ae',\n'nleq;':'\\u2270',\n'nleqq;':'\\u2266\\u0338',\n'nleqslant;':'\\u2a7d\\u0338',\n'nles;':'\\u2a7d\\u0338',\n'nless;':'\\u226e',\n'nLl;':'\\u22d8\\u0338',\n'nlsim;':'\\u2274',\n'nLt;':'\\u226a\\u20d2',\n'nlt;':'\\u226e',\n'nltri;':'\\u22ea',\n'nltrie;':'\\u22ec',\n'nLtv;':'\\u226a\\u0338',\n'nmid;':'\\u2224',\n'NoBreak;':'\\u2060',\n'NonBreakingSpace;':'\\xa0',\n'Nopf;':'\\u2115',\n'nopf;':'\\U0001d55f',\n'not':'\\xac',\n'Not;':'\\u2aec',\n'not;':'\\xac',\n'NotCongruent;':'\\u2262',\n'NotCupCap;':'\\u226d',\n'NotDoubleVerticalBar;':'\\u2226',\n'NotElement;':'\\u2209',\n'NotEqual;':'\\u2260',\n'NotEqualTilde;':'\\u2242\\u0338',\n'NotExists;':'\\u2204',\n'NotGreater;':'\\u226f',\n'NotGreaterEqual;':'\\u2271',\n'NotGreaterFullEqual;':'\\u2267\\u0338',\n'NotGreaterGreater;':'\\u226b\\u0338',\n'NotGreaterLess;':'\\u2279',\n'NotGreaterSlantEqual;':'\\u2a7e\\u0338',\n'NotGreaterTilde;':'\\u2275',\n'NotHumpDownHump;':'\\u224e\\u0338',\n'NotHumpEqual;':'\\u224f\\u0338',\n'notin;':'\\u2209',\n'notindot;':'\\u22f5\\u0338',\n'notinE;':'\\u22f9\\u0338',\n'notinva;':'\\u2209',\n'notinvb;':'\\u22f7',\n'notinvc;':'\\u22f6',\n'NotLeftTriangle;':'\\u22ea',\n'NotLeftTriangleBar;':'\\u29cf\\u0338',\n'NotLeftTriangleEqual;':'\\u22ec',\n'NotLess;':'\\u226e',\n'NotLessEqual;':'\\u2270',\n'NotLessGreater;':'\\u2278',\n'NotLessLess;':'\\u226a\\u0338',\n'NotLessSlantEqual;':'\\u2a7d\\u0338',\n'NotLessTilde;':'\\u2274',\n'NotNestedGreaterGreater;':'\\u2aa2\\u0338',\n'NotNestedLessLess;':'\\u2aa1\\u0338',\n'notni;':'\\u220c',\n'notniva;':'\\u220c',\n'notnivb;':'\\u22fe',\n'notnivc;':'\\u22fd',\n'NotPrecedes;':'\\u2280',\n'NotPrecedesEqual;':'\\u2aaf\\u0338',\n'NotPrecedesSlantEqual;':'\\u22e0',\n'NotReverseElement;':'\\u220c',\n'NotRightTriangle;':'\\u22eb',\n'NotRightTriangleBar;':'\\u29d0\\u0338',\n'NotRightTriangleEqual;':'\\u22ed',\n'NotSquareSubset;':'\\u228f\\u0338',\n'NotSquareSubsetEqual;':'\\u22e2',\n'NotSquareSuperset;':'\\u2290\\u0338',\n'NotSquareSupersetEqual;':'\\u22e3',\n'NotSubset;':'\\u2282\\u20d2',\n'NotSubsetEqual;':'\\u2288',\n'NotSucceeds;':'\\u2281',\n'NotSucceedsEqual;':'\\u2ab0\\u0338',\n'NotSucceedsSlantEqual;':'\\u22e1',\n'NotSucceedsTilde;':'\\u227f\\u0338',\n'NotSuperset;':'\\u2283\\u20d2',\n'NotSupersetEqual;':'\\u2289',\n'NotTilde;':'\\u2241',\n'NotTildeEqual;':'\\u2244',\n'NotTildeFullEqual;':'\\u2247',\n'NotTildeTilde;':'\\u2249',\n'NotVerticalBar;':'\\u2224',\n'npar;':'\\u2226',\n'nparallel;':'\\u2226',\n'nparsl;':'\\u2afd\\u20e5',\n'npart;':'\\u2202\\u0338',\n'npolint;':'\\u2a14',\n'npr;':'\\u2280',\n'nprcue;':'\\u22e0',\n'npre;':'\\u2aaf\\u0338',\n'nprec;':'\\u2280',\n'npreceq;':'\\u2aaf\\u0338',\n'nrArr;':'\\u21cf',\n'nrarr;':'\\u219b',\n'nrarrc;':'\\u2933\\u0338',\n'nrarrw;':'\\u219d\\u0338',\n'nRightarrow;':'\\u21cf',\n'nrightarrow;':'\\u219b',\n'nrtri;':'\\u22eb',\n'nrtrie;':'\\u22ed',\n'nsc;':'\\u2281',\n'nsccue;':'\\u22e1',\n'nsce;':'\\u2ab0\\u0338',\n'Nscr;':'\\U0001d4a9',\n'nscr;':'\\U0001d4c3',\n'nshortmid;':'\\u2224',\n'nshortparallel;':'\\u2226',\n'nsim;':'\\u2241',\n'nsime;':'\\u2244',\n'nsimeq;':'\\u2244',\n'nsmid;':'\\u2224',\n'nspar;':'\\u2226',\n'nsqsube;':'\\u22e2',\n'nsqsupe;':'\\u22e3',\n'nsub;':'\\u2284',\n'nsubE;':'\\u2ac5\\u0338',\n'nsube;':'\\u2288',\n'nsubset;':'\\u2282\\u20d2',\n'nsubseteq;':'\\u2288',\n'nsubseteqq;':'\\u2ac5\\u0338',\n'nsucc;':'\\u2281',\n'nsucceq;':'\\u2ab0\\u0338',\n'nsup;':'\\u2285',\n'nsupE;':'\\u2ac6\\u0338',\n'nsupe;':'\\u2289',\n'nsupset;':'\\u2283\\u20d2',\n'nsupseteq;':'\\u2289',\n'nsupseteqq;':'\\u2ac6\\u0338',\n'ntgl;':'\\u2279',\n'Ntilde':'\\xd1',\n'ntilde':'\\xf1',\n'Ntilde;':'\\xd1',\n'ntilde;':'\\xf1',\n'ntlg;':'\\u2278',\n'ntriangleleft;':'\\u22ea',\n'ntrianglelefteq;':'\\u22ec',\n'ntriangleright;':'\\u22eb',\n'ntrianglerighteq;':'\\u22ed',\n'Nu;':'\\u039d',\n'nu;':'\\u03bd',\n'num;':'#',\n'numero;':'\\u2116',\n'numsp;':'\\u2007',\n'nvap;':'\\u224d\\u20d2',\n'nVDash;':'\\u22af',\n'nVdash;':'\\u22ae',\n'nvDash;':'\\u22ad',\n'nvdash;':'\\u22ac',\n'nvge;':'\\u2265\\u20d2',\n'nvgt;':'>\\u20d2',\n'nvHarr;':'\\u2904',\n'nvinfin;':'\\u29de',\n'nvlArr;':'\\u2902',\n'nvle;':'\\u2264\\u20d2',\n'nvlt;':'<\\u20d2',\n'nvltrie;':'\\u22b4\\u20d2',\n'nvrArr;':'\\u2903',\n'nvrtrie;':'\\u22b5\\u20d2',\n'nvsim;':'\\u223c\\u20d2',\n'nwarhk;':'\\u2923',\n'nwArr;':'\\u21d6',\n'nwarr;':'\\u2196',\n'nwarrow;':'\\u2196',\n'nwnear;':'\\u2927',\n'Oacute':'\\xd3',\n'oacute':'\\xf3',\n'Oacute;':'\\xd3',\n'oacute;':'\\xf3',\n'oast;':'\\u229b',\n'ocir;':'\\u229a',\n'Ocirc':'\\xd4',\n'ocirc':'\\xf4',\n'Ocirc;':'\\xd4',\n'ocirc;':'\\xf4',\n'Ocy;':'\\u041e',\n'ocy;':'\\u043e',\n'odash;':'\\u229d',\n'Odblac;':'\\u0150',\n'odblac;':'\\u0151',\n'odiv;':'\\u2a38',\n'odot;':'\\u2299',\n'odsold;':'\\u29bc',\n'OElig;':'\\u0152',\n'oelig;':'\\u0153',\n'ofcir;':'\\u29bf',\n'Ofr;':'\\U0001d512',\n'ofr;':'\\U0001d52c',\n'ogon;':'\\u02db',\n'Ograve':'\\xd2',\n'ograve':'\\xf2',\n'Ograve;':'\\xd2',\n'ograve;':'\\xf2',\n'ogt;':'\\u29c1',\n'ohbar;':'\\u29b5',\n'ohm;':'\\u03a9',\n'oint;':'\\u222e',\n'olarr;':'\\u21ba',\n'olcir;':'\\u29be',\n'olcross;':'\\u29bb',\n'oline;':'\\u203e',\n'olt;':'\\u29c0',\n'Omacr;':'\\u014c',\n'omacr;':'\\u014d',\n'Omega;':'\\u03a9',\n'omega;':'\\u03c9',\n'Omicron;':'\\u039f',\n'omicron;':'\\u03bf',\n'omid;':'\\u29b6',\n'ominus;':'\\u2296',\n'Oopf;':'\\U0001d546',\n'oopf;':'\\U0001d560',\n'opar;':'\\u29b7',\n'OpenCurlyDoubleQuote;':'\\u201c',\n'OpenCurlyQuote;':'\\u2018',\n'operp;':'\\u29b9',\n'oplus;':'\\u2295',\n'Or;':'\\u2a54',\n'or;':'\\u2228',\n'orarr;':'\\u21bb',\n'ord;':'\\u2a5d',\n'order;':'\\u2134',\n'orderof;':'\\u2134',\n'ordf':'\\xaa',\n'ordf;':'\\xaa',\n'ordm':'\\xba',\n'ordm;':'\\xba',\n'origof;':'\\u22b6',\n'oror;':'\\u2a56',\n'orslope;':'\\u2a57',\n'orv;':'\\u2a5b',\n'oS;':'\\u24c8',\n'Oscr;':'\\U0001d4aa',\n'oscr;':'\\u2134',\n'Oslash':'\\xd8',\n'oslash':'\\xf8',\n'Oslash;':'\\xd8',\n'oslash;':'\\xf8',\n'osol;':'\\u2298',\n'Otilde':'\\xd5',\n'otilde':'\\xf5',\n'Otilde;':'\\xd5',\n'otilde;':'\\xf5',\n'Otimes;':'\\u2a37',\n'otimes;':'\\u2297',\n'otimesas;':'\\u2a36',\n'Ouml':'\\xd6',\n'ouml':'\\xf6',\n'Ouml;':'\\xd6',\n'ouml;':'\\xf6',\n'ovbar;':'\\u233d',\n'OverBar;':'\\u203e',\n'OverBrace;':'\\u23de',\n'OverBracket;':'\\u23b4',\n'OverParenthesis;':'\\u23dc',\n'par;':'\\u2225',\n'para':'\\xb6',\n'para;':'\\xb6',\n'parallel;':'\\u2225',\n'parsim;':'\\u2af3',\n'parsl;':'\\u2afd',\n'part;':'\\u2202',\n'PartialD;':'\\u2202',\n'Pcy;':'\\u041f',\n'pcy;':'\\u043f',\n'percnt;':'%',\n'period;':'.',\n'permil;':'\\u2030',\n'perp;':'\\u22a5',\n'pertenk;':'\\u2031',\n'Pfr;':'\\U0001d513',\n'pfr;':'\\U0001d52d',\n'Phi;':'\\u03a6',\n'phi;':'\\u03c6',\n'phiv;':'\\u03d5',\n'phmmat;':'\\u2133',\n'phone;':'\\u260e',\n'Pi;':'\\u03a0',\n'pi;':'\\u03c0',\n'pitchfork;':'\\u22d4',\n'piv;':'\\u03d6',\n'planck;':'\\u210f',\n'planckh;':'\\u210e',\n'plankv;':'\\u210f',\n'plus;':'+',\n'plusacir;':'\\u2a23',\n'plusb;':'\\u229e',\n'pluscir;':'\\u2a22',\n'plusdo;':'\\u2214',\n'plusdu;':'\\u2a25',\n'pluse;':'\\u2a72',\n'PlusMinus;':'\\xb1',\n'plusmn':'\\xb1',\n'plusmn;':'\\xb1',\n'plussim;':'\\u2a26',\n'plustwo;':'\\u2a27',\n'pm;':'\\xb1',\n'Poincareplane;':'\\u210c',\n'pointint;':'\\u2a15',\n'Popf;':'\\u2119',\n'popf;':'\\U0001d561',\n'pound':'\\xa3',\n'pound;':'\\xa3',\n'Pr;':'\\u2abb',\n'pr;':'\\u227a',\n'prap;':'\\u2ab7',\n'prcue;':'\\u227c',\n'prE;':'\\u2ab3',\n'pre;':'\\u2aaf',\n'prec;':'\\u227a',\n'precapprox;':'\\u2ab7',\n'preccurlyeq;':'\\u227c',\n'Precedes;':'\\u227a',\n'PrecedesEqual;':'\\u2aaf',\n'PrecedesSlantEqual;':'\\u227c',\n'PrecedesTilde;':'\\u227e',\n'preceq;':'\\u2aaf',\n'precnapprox;':'\\u2ab9',\n'precneqq;':'\\u2ab5',\n'precnsim;':'\\u22e8',\n'precsim;':'\\u227e',\n'Prime;':'\\u2033',\n'prime;':'\\u2032',\n'primes;':'\\u2119',\n'prnap;':'\\u2ab9',\n'prnE;':'\\u2ab5',\n'prnsim;':'\\u22e8',\n'prod;':'\\u220f',\n'Product;':'\\u220f',\n'profalar;':'\\u232e',\n'profline;':'\\u2312',\n'profsurf;':'\\u2313',\n'prop;':'\\u221d',\n'Proportion;':'\\u2237',\n'Proportional;':'\\u221d',\n'propto;':'\\u221d',\n'prsim;':'\\u227e',\n'prurel;':'\\u22b0',\n'Pscr;':'\\U0001d4ab',\n'pscr;':'\\U0001d4c5',\n'Psi;':'\\u03a8',\n'psi;':'\\u03c8',\n'puncsp;':'\\u2008',\n'Qfr;':'\\U0001d514',\n'qfr;':'\\U0001d52e',\n'qint;':'\\u2a0c',\n'Qopf;':'\\u211a',\n'qopf;':'\\U0001d562',\n'qprime;':'\\u2057',\n'Qscr;':'\\U0001d4ac',\n'qscr;':'\\U0001d4c6',\n'quaternions;':'\\u210d',\n'quatint;':'\\u2a16',\n'quest;':'?',\n'questeq;':'\\u225f',\n'QUOT':'\"',\n'quot':'\"',\n'QUOT;':'\"',\n'quot;':'\"',\n'rAarr;':'\\u21db',\n'race;':'\\u223d\\u0331',\n'Racute;':'\\u0154',\n'racute;':'\\u0155',\n'radic;':'\\u221a',\n'raemptyv;':'\\u29b3',\n'Rang;':'\\u27eb',\n'rang;':'\\u27e9',\n'rangd;':'\\u2992',\n'range;':'\\u29a5',\n'rangle;':'\\u27e9',\n'raquo':'\\xbb',\n'raquo;':'\\xbb',\n'Rarr;':'\\u21a0',\n'rArr;':'\\u21d2',\n'rarr;':'\\u2192',\n'rarrap;':'\\u2975',\n'rarrb;':'\\u21e5',\n'rarrbfs;':'\\u2920',\n'rarrc;':'\\u2933',\n'rarrfs;':'\\u291e',\n'rarrhk;':'\\u21aa',\n'rarrlp;':'\\u21ac',\n'rarrpl;':'\\u2945',\n'rarrsim;':'\\u2974',\n'Rarrtl;':'\\u2916',\n'rarrtl;':'\\u21a3',\n'rarrw;':'\\u219d',\n'rAtail;':'\\u291c',\n'ratail;':'\\u291a',\n'ratio;':'\\u2236',\n'rationals;':'\\u211a',\n'RBarr;':'\\u2910',\n'rBarr;':'\\u290f',\n'rbarr;':'\\u290d',\n'rbbrk;':'\\u2773',\n'rbrace;':'}',\n'rbrack;':']',\n'rbrke;':'\\u298c',\n'rbrksld;':'\\u298e',\n'rbrkslu;':'\\u2990',\n'Rcaron;':'\\u0158',\n'rcaron;':'\\u0159',\n'Rcedil;':'\\u0156',\n'rcedil;':'\\u0157',\n'rceil;':'\\u2309',\n'rcub;':'}',\n'Rcy;':'\\u0420',\n'rcy;':'\\u0440',\n'rdca;':'\\u2937',\n'rdldhar;':'\\u2969',\n'rdquo;':'\\u201d',\n'rdquor;':'\\u201d',\n'rdsh;':'\\u21b3',\n'Re;':'\\u211c',\n'real;':'\\u211c',\n'realine;':'\\u211b',\n'realpart;':'\\u211c',\n'reals;':'\\u211d',\n'rect;':'\\u25ad',\n'REG':'\\xae',\n'reg':'\\xae',\n'REG;':'\\xae',\n'reg;':'\\xae',\n'ReverseElement;':'\\u220b',\n'ReverseEquilibrium;':'\\u21cb',\n'ReverseUpEquilibrium;':'\\u296f',\n'rfisht;':'\\u297d',\n'rfloor;':'\\u230b',\n'Rfr;':'\\u211c',\n'rfr;':'\\U0001d52f',\n'rHar;':'\\u2964',\n'rhard;':'\\u21c1',\n'rharu;':'\\u21c0',\n'rharul;':'\\u296c',\n'Rho;':'\\u03a1',\n'rho;':'\\u03c1',\n'rhov;':'\\u03f1',\n'RightAngleBracket;':'\\u27e9',\n'RightArrow;':'\\u2192',\n'Rightarrow;':'\\u21d2',\n'rightarrow;':'\\u2192',\n'RightArrowBar;':'\\u21e5',\n'RightArrowLeftArrow;':'\\u21c4',\n'rightarrowtail;':'\\u21a3',\n'RightCeiling;':'\\u2309',\n'RightDoubleBracket;':'\\u27e7',\n'RightDownTeeVector;':'\\u295d',\n'RightDownVector;':'\\u21c2',\n'RightDownVectorBar;':'\\u2955',\n'RightFloor;':'\\u230b',\n'rightharpoondown;':'\\u21c1',\n'rightharpoonup;':'\\u21c0',\n'rightleftarrows;':'\\u21c4',\n'rightleftharpoons;':'\\u21cc',\n'rightrightarrows;':'\\u21c9',\n'rightsquigarrow;':'\\u219d',\n'RightTee;':'\\u22a2',\n'RightTeeArrow;':'\\u21a6',\n'RightTeeVector;':'\\u295b',\n'rightthreetimes;':'\\u22cc',\n'RightTriangle;':'\\u22b3',\n'RightTriangleBar;':'\\u29d0',\n'RightTriangleEqual;':'\\u22b5',\n'RightUpDownVector;':'\\u294f',\n'RightUpTeeVector;':'\\u295c',\n'RightUpVector;':'\\u21be',\n'RightUpVectorBar;':'\\u2954',\n'RightVector;':'\\u21c0',\n'RightVectorBar;':'\\u2953',\n'ring;':'\\u02da',\n'risingdotseq;':'\\u2253',\n'rlarr;':'\\u21c4',\n'rlhar;':'\\u21cc',\n'rlm;':'\\u200f',\n'rmoust;':'\\u23b1',\n'rmoustache;':'\\u23b1',\n'rnmid;':'\\u2aee',\n'roang;':'\\u27ed',\n'roarr;':'\\u21fe',\n'robrk;':'\\u27e7',\n'ropar;':'\\u2986',\n'Ropf;':'\\u211d',\n'ropf;':'\\U0001d563',\n'roplus;':'\\u2a2e',\n'rotimes;':'\\u2a35',\n'RoundImplies;':'\\u2970',\n'rpar;':')',\n'rpargt;':'\\u2994',\n'rppolint;':'\\u2a12',\n'rrarr;':'\\u21c9',\n'Rrightarrow;':'\\u21db',\n'rsaquo;':'\\u203a',\n'Rscr;':'\\u211b',\n'rscr;':'\\U0001d4c7',\n'Rsh;':'\\u21b1',\n'rsh;':'\\u21b1',\n'rsqb;':']',\n'rsquo;':'\\u2019',\n'rsquor;':'\\u2019',\n'rthree;':'\\u22cc',\n'rtimes;':'\\u22ca',\n'rtri;':'\\u25b9',\n'rtrie;':'\\u22b5',\n'rtrif;':'\\u25b8',\n'rtriltri;':'\\u29ce',\n'RuleDelayed;':'\\u29f4',\n'ruluhar;':'\\u2968',\n'rx;':'\\u211e',\n'Sacute;':'\\u015a',\n'sacute;':'\\u015b',\n'sbquo;':'\\u201a',\n'Sc;':'\\u2abc',\n'sc;':'\\u227b',\n'scap;':'\\u2ab8',\n'Scaron;':'\\u0160',\n'scaron;':'\\u0161',\n'sccue;':'\\u227d',\n'scE;':'\\u2ab4',\n'sce;':'\\u2ab0',\n'Scedil;':'\\u015e',\n'scedil;':'\\u015f',\n'Scirc;':'\\u015c',\n'scirc;':'\\u015d',\n'scnap;':'\\u2aba',\n'scnE;':'\\u2ab6',\n'scnsim;':'\\u22e9',\n'scpolint;':'\\u2a13',\n'scsim;':'\\u227f',\n'Scy;':'\\u0421',\n'scy;':'\\u0441',\n'sdot;':'\\u22c5',\n'sdotb;':'\\u22a1',\n'sdote;':'\\u2a66',\n'searhk;':'\\u2925',\n'seArr;':'\\u21d8',\n'searr;':'\\u2198',\n'searrow;':'\\u2198',\n'sect':'\\xa7',\n'sect;':'\\xa7',\n'semi;':';',\n'seswar;':'\\u2929',\n'setminus;':'\\u2216',\n'setmn;':'\\u2216',\n'sext;':'\\u2736',\n'Sfr;':'\\U0001d516',\n'sfr;':'\\U0001d530',\n'sfrown;':'\\u2322',\n'sharp;':'\\u266f',\n'SHCHcy;':'\\u0429',\n'shchcy;':'\\u0449',\n'SHcy;':'\\u0428',\n'shcy;':'\\u0448',\n'ShortDownArrow;':'\\u2193',\n'ShortLeftArrow;':'\\u2190',\n'shortmid;':'\\u2223',\n'shortparallel;':'\\u2225',\n'ShortRightArrow;':'\\u2192',\n'ShortUpArrow;':'\\u2191',\n'shy':'\\xad',\n'shy;':'\\xad',\n'Sigma;':'\\u03a3',\n'sigma;':'\\u03c3',\n'sigmaf;':'\\u03c2',\n'sigmav;':'\\u03c2',\n'sim;':'\\u223c',\n'simdot;':'\\u2a6a',\n'sime;':'\\u2243',\n'simeq;':'\\u2243',\n'simg;':'\\u2a9e',\n'simgE;':'\\u2aa0',\n'siml;':'\\u2a9d',\n'simlE;':'\\u2a9f',\n'simne;':'\\u2246',\n'simplus;':'\\u2a24',\n'simrarr;':'\\u2972',\n'slarr;':'\\u2190',\n'SmallCircle;':'\\u2218',\n'smallsetminus;':'\\u2216',\n'smashp;':'\\u2a33',\n'smeparsl;':'\\u29e4',\n'smid;':'\\u2223',\n'smile;':'\\u2323',\n'smt;':'\\u2aaa',\n'smte;':'\\u2aac',\n'smtes;':'\\u2aac\\ufe00',\n'SOFTcy;':'\\u042c',\n'softcy;':'\\u044c',\n'sol;':'/',\n'solb;':'\\u29c4',\n'solbar;':'\\u233f',\n'Sopf;':'\\U0001d54a',\n'sopf;':'\\U0001d564',\n'spades;':'\\u2660',\n'spadesuit;':'\\u2660',\n'spar;':'\\u2225',\n'sqcap;':'\\u2293',\n'sqcaps;':'\\u2293\\ufe00',\n'sqcup;':'\\u2294',\n'sqcups;':'\\u2294\\ufe00',\n'Sqrt;':'\\u221a',\n'sqsub;':'\\u228f',\n'sqsube;':'\\u2291',\n'sqsubset;':'\\u228f',\n'sqsubseteq;':'\\u2291',\n'sqsup;':'\\u2290',\n'sqsupe;':'\\u2292',\n'sqsupset;':'\\u2290',\n'sqsupseteq;':'\\u2292',\n'squ;':'\\u25a1',\n'Square;':'\\u25a1',\n'square;':'\\u25a1',\n'SquareIntersection;':'\\u2293',\n'SquareSubset;':'\\u228f',\n'SquareSubsetEqual;':'\\u2291',\n'SquareSuperset;':'\\u2290',\n'SquareSupersetEqual;':'\\u2292',\n'SquareUnion;':'\\u2294',\n'squarf;':'\\u25aa',\n'squf;':'\\u25aa',\n'srarr;':'\\u2192',\n'Sscr;':'\\U0001d4ae',\n'sscr;':'\\U0001d4c8',\n'ssetmn;':'\\u2216',\n'ssmile;':'\\u2323',\n'sstarf;':'\\u22c6',\n'Star;':'\\u22c6',\n'star;':'\\u2606',\n'starf;':'\\u2605',\n'straightepsilon;':'\\u03f5',\n'straightphi;':'\\u03d5',\n'strns;':'\\xaf',\n'Sub;':'\\u22d0',\n'sub;':'\\u2282',\n'subdot;':'\\u2abd',\n'subE;':'\\u2ac5',\n'sube;':'\\u2286',\n'subedot;':'\\u2ac3',\n'submult;':'\\u2ac1',\n'subnE;':'\\u2acb',\n'subne;':'\\u228a',\n'subplus;':'\\u2abf',\n'subrarr;':'\\u2979',\n'Subset;':'\\u22d0',\n'subset;':'\\u2282',\n'subseteq;':'\\u2286',\n'subseteqq;':'\\u2ac5',\n'SubsetEqual;':'\\u2286',\n'subsetneq;':'\\u228a',\n'subsetneqq;':'\\u2acb',\n'subsim;':'\\u2ac7',\n'subsub;':'\\u2ad5',\n'subsup;':'\\u2ad3',\n'succ;':'\\u227b',\n'succapprox;':'\\u2ab8',\n'succcurlyeq;':'\\u227d',\n'Succeeds;':'\\u227b',\n'SucceedsEqual;':'\\u2ab0',\n'SucceedsSlantEqual;':'\\u227d',\n'SucceedsTilde;':'\\u227f',\n'succeq;':'\\u2ab0',\n'succnapprox;':'\\u2aba',\n'succneqq;':'\\u2ab6',\n'succnsim;':'\\u22e9',\n'succsim;':'\\u227f',\n'SuchThat;':'\\u220b',\n'Sum;':'\\u2211',\n'sum;':'\\u2211',\n'sung;':'\\u266a',\n'sup1':'\\xb9',\n'sup1;':'\\xb9',\n'sup2':'\\xb2',\n'sup2;':'\\xb2',\n'sup3':'\\xb3',\n'sup3;':'\\xb3',\n'Sup;':'\\u22d1',\n'sup;':'\\u2283',\n'supdot;':'\\u2abe',\n'supdsub;':'\\u2ad8',\n'supE;':'\\u2ac6',\n'supe;':'\\u2287',\n'supedot;':'\\u2ac4',\n'Superset;':'\\u2283',\n'SupersetEqual;':'\\u2287',\n'suphsol;':'\\u27c9',\n'suphsub;':'\\u2ad7',\n'suplarr;':'\\u297b',\n'supmult;':'\\u2ac2',\n'supnE;':'\\u2acc',\n'supne;':'\\u228b',\n'supplus;':'\\u2ac0',\n'Supset;':'\\u22d1',\n'supset;':'\\u2283',\n'supseteq;':'\\u2287',\n'supseteqq;':'\\u2ac6',\n'supsetneq;':'\\u228b',\n'supsetneqq;':'\\u2acc',\n'supsim;':'\\u2ac8',\n'supsub;':'\\u2ad4',\n'supsup;':'\\u2ad6',\n'swarhk;':'\\u2926',\n'swArr;':'\\u21d9',\n'swarr;':'\\u2199',\n'swarrow;':'\\u2199',\n'swnwar;':'\\u292a',\n'szlig':'\\xdf',\n'szlig;':'\\xdf',\n'Tab;':'\\t',\n'target;':'\\u2316',\n'Tau;':'\\u03a4',\n'tau;':'\\u03c4',\n'tbrk;':'\\u23b4',\n'Tcaron;':'\\u0164',\n'tcaron;':'\\u0165',\n'Tcedil;':'\\u0162',\n'tcedil;':'\\u0163',\n'Tcy;':'\\u0422',\n'tcy;':'\\u0442',\n'tdot;':'\\u20db',\n'telrec;':'\\u2315',\n'Tfr;':'\\U0001d517',\n'tfr;':'\\U0001d531',\n'there4;':'\\u2234',\n'Therefore;':'\\u2234',\n'therefore;':'\\u2234',\n'Theta;':'\\u0398',\n'theta;':'\\u03b8',\n'thetasym;':'\\u03d1',\n'thetav;':'\\u03d1',\n'thickapprox;':'\\u2248',\n'thicksim;':'\\u223c',\n'ThickSpace;':'\\u205f\\u200a',\n'thinsp;':'\\u2009',\n'ThinSpace;':'\\u2009',\n'thkap;':'\\u2248',\n'thksim;':'\\u223c',\n'THORN':'\\xde',\n'thorn':'\\xfe',\n'THORN;':'\\xde',\n'thorn;':'\\xfe',\n'Tilde;':'\\u223c',\n'tilde;':'\\u02dc',\n'TildeEqual;':'\\u2243',\n'TildeFullEqual;':'\\u2245',\n'TildeTilde;':'\\u2248',\n'times':'\\xd7',\n'times;':'\\xd7',\n'timesb;':'\\u22a0',\n'timesbar;':'\\u2a31',\n'timesd;':'\\u2a30',\n'tint;':'\\u222d',\n'toea;':'\\u2928',\n'top;':'\\u22a4',\n'topbot;':'\\u2336',\n'topcir;':'\\u2af1',\n'Topf;':'\\U0001d54b',\n'topf;':'\\U0001d565',\n'topfork;':'\\u2ada',\n'tosa;':'\\u2929',\n'tprime;':'\\u2034',\n'TRADE;':'\\u2122',\n'trade;':'\\u2122',\n'triangle;':'\\u25b5',\n'triangledown;':'\\u25bf',\n'triangleleft;':'\\u25c3',\n'trianglelefteq;':'\\u22b4',\n'triangleq;':'\\u225c',\n'triangleright;':'\\u25b9',\n'trianglerighteq;':'\\u22b5',\n'tridot;':'\\u25ec',\n'trie;':'\\u225c',\n'triminus;':'\\u2a3a',\n'TripleDot;':'\\u20db',\n'triplus;':'\\u2a39',\n'trisb;':'\\u29cd',\n'tritime;':'\\u2a3b',\n'trpezium;':'\\u23e2',\n'Tscr;':'\\U0001d4af',\n'tscr;':'\\U0001d4c9',\n'TScy;':'\\u0426',\n'tscy;':'\\u0446',\n'TSHcy;':'\\u040b',\n'tshcy;':'\\u045b',\n'Tstrok;':'\\u0166',\n'tstrok;':'\\u0167',\n'twixt;':'\\u226c',\n'twoheadleftarrow;':'\\u219e',\n'twoheadrightarrow;':'\\u21a0',\n'Uacute':'\\xda',\n'uacute':'\\xfa',\n'Uacute;':'\\xda',\n'uacute;':'\\xfa',\n'Uarr;':'\\u219f',\n'uArr;':'\\u21d1',\n'uarr;':'\\u2191',\n'Uarrocir;':'\\u2949',\n'Ubrcy;':'\\u040e',\n'ubrcy;':'\\u045e',\n'Ubreve;':'\\u016c',\n'ubreve;':'\\u016d',\n'Ucirc':'\\xdb',\n'ucirc':'\\xfb',\n'Ucirc;':'\\xdb',\n'ucirc;':'\\xfb',\n'Ucy;':'\\u0423',\n'ucy;':'\\u0443',\n'udarr;':'\\u21c5',\n'Udblac;':'\\u0170',\n'udblac;':'\\u0171',\n'udhar;':'\\u296e',\n'ufisht;':'\\u297e',\n'Ufr;':'\\U0001d518',\n'ufr;':'\\U0001d532',\n'Ugrave':'\\xd9',\n'ugrave':'\\xf9',\n'Ugrave;':'\\xd9',\n'ugrave;':'\\xf9',\n'uHar;':'\\u2963',\n'uharl;':'\\u21bf',\n'uharr;':'\\u21be',\n'uhblk;':'\\u2580',\n'ulcorn;':'\\u231c',\n'ulcorner;':'\\u231c',\n'ulcrop;':'\\u230f',\n'ultri;':'\\u25f8',\n'Umacr;':'\\u016a',\n'umacr;':'\\u016b',\n'uml':'\\xa8',\n'uml;':'\\xa8',\n'UnderBar;':'_',\n'UnderBrace;':'\\u23df',\n'UnderBracket;':'\\u23b5',\n'UnderParenthesis;':'\\u23dd',\n'Union;':'\\u22c3',\n'UnionPlus;':'\\u228e',\n'Uogon;':'\\u0172',\n'uogon;':'\\u0173',\n'Uopf;':'\\U0001d54c',\n'uopf;':'\\U0001d566',\n'UpArrow;':'\\u2191',\n'Uparrow;':'\\u21d1',\n'uparrow;':'\\u2191',\n'UpArrowBar;':'\\u2912',\n'UpArrowDownArrow;':'\\u21c5',\n'UpDownArrow;':'\\u2195',\n'Updownarrow;':'\\u21d5',\n'updownarrow;':'\\u2195',\n'UpEquilibrium;':'\\u296e',\n'upharpoonleft;':'\\u21bf',\n'upharpoonright;':'\\u21be',\n'uplus;':'\\u228e',\n'UpperLeftArrow;':'\\u2196',\n'UpperRightArrow;':'\\u2197',\n'Upsi;':'\\u03d2',\n'upsi;':'\\u03c5',\n'upsih;':'\\u03d2',\n'Upsilon;':'\\u03a5',\n'upsilon;':'\\u03c5',\n'UpTee;':'\\u22a5',\n'UpTeeArrow;':'\\u21a5',\n'upuparrows;':'\\u21c8',\n'urcorn;':'\\u231d',\n'urcorner;':'\\u231d',\n'urcrop;':'\\u230e',\n'Uring;':'\\u016e',\n'uring;':'\\u016f',\n'urtri;':'\\u25f9',\n'Uscr;':'\\U0001d4b0',\n'uscr;':'\\U0001d4ca',\n'utdot;':'\\u22f0',\n'Utilde;':'\\u0168',\n'utilde;':'\\u0169',\n'utri;':'\\u25b5',\n'utrif;':'\\u25b4',\n'uuarr;':'\\u21c8',\n'Uuml':'\\xdc',\n'uuml':'\\xfc',\n'Uuml;':'\\xdc',\n'uuml;':'\\xfc',\n'uwangle;':'\\u29a7',\n'vangrt;':'\\u299c',\n'varepsilon;':'\\u03f5',\n'varkappa;':'\\u03f0',\n'varnothing;':'\\u2205',\n'varphi;':'\\u03d5',\n'varpi;':'\\u03d6',\n'varpropto;':'\\u221d',\n'vArr;':'\\u21d5',\n'varr;':'\\u2195',\n'varrho;':'\\u03f1',\n'varsigma;':'\\u03c2',\n'varsubsetneq;':'\\u228a\\ufe00',\n'varsubsetneqq;':'\\u2acb\\ufe00',\n'varsupsetneq;':'\\u228b\\ufe00',\n'varsupsetneqq;':'\\u2acc\\ufe00',\n'vartheta;':'\\u03d1',\n'vartriangleleft;':'\\u22b2',\n'vartriangleright;':'\\u22b3',\n'Vbar;':'\\u2aeb',\n'vBar;':'\\u2ae8',\n'vBarv;':'\\u2ae9',\n'Vcy;':'\\u0412',\n'vcy;':'\\u0432',\n'VDash;':'\\u22ab',\n'Vdash;':'\\u22a9',\n'vDash;':'\\u22a8',\n'vdash;':'\\u22a2',\n'Vdashl;':'\\u2ae6',\n'Vee;':'\\u22c1',\n'vee;':'\\u2228',\n'veebar;':'\\u22bb',\n'veeeq;':'\\u225a',\n'vellip;':'\\u22ee',\n'Verbar;':'\\u2016',\n'verbar;':'|',\n'Vert;':'\\u2016',\n'vert;':'|',\n'VerticalBar;':'\\u2223',\n'VerticalLine;':'|',\n'VerticalSeparator;':'\\u2758',\n'VerticalTilde;':'\\u2240',\n'VeryThinSpace;':'\\u200a',\n'Vfr;':'\\U0001d519',\n'vfr;':'\\U0001d533',\n'vltri;':'\\u22b2',\n'vnsub;':'\\u2282\\u20d2',\n'vnsup;':'\\u2283\\u20d2',\n'Vopf;':'\\U0001d54d',\n'vopf;':'\\U0001d567',\n'vprop;':'\\u221d',\n'vrtri;':'\\u22b3',\n'Vscr;':'\\U0001d4b1',\n'vscr;':'\\U0001d4cb',\n'vsubnE;':'\\u2acb\\ufe00',\n'vsubne;':'\\u228a\\ufe00',\n'vsupnE;':'\\u2acc\\ufe00',\n'vsupne;':'\\u228b\\ufe00',\n'Vvdash;':'\\u22aa',\n'vzigzag;':'\\u299a',\n'Wcirc;':'\\u0174',\n'wcirc;':'\\u0175',\n'wedbar;':'\\u2a5f',\n'Wedge;':'\\u22c0',\n'wedge;':'\\u2227',\n'wedgeq;':'\\u2259',\n'weierp;':'\\u2118',\n'Wfr;':'\\U0001d51a',\n'wfr;':'\\U0001d534',\n'Wopf;':'\\U0001d54e',\n'wopf;':'\\U0001d568',\n'wp;':'\\u2118',\n'wr;':'\\u2240',\n'wreath;':'\\u2240',\n'Wscr;':'\\U0001d4b2',\n'wscr;':'\\U0001d4cc',\n'xcap;':'\\u22c2',\n'xcirc;':'\\u25ef',\n'xcup;':'\\u22c3',\n'xdtri;':'\\u25bd',\n'Xfr;':'\\U0001d51b',\n'xfr;':'\\U0001d535',\n'xhArr;':'\\u27fa',\n'xharr;':'\\u27f7',\n'Xi;':'\\u039e',\n'xi;':'\\u03be',\n'xlArr;':'\\u27f8',\n'xlarr;':'\\u27f5',\n'xmap;':'\\u27fc',\n'xnis;':'\\u22fb',\n'xodot;':'\\u2a00',\n'Xopf;':'\\U0001d54f',\n'xopf;':'\\U0001d569',\n'xoplus;':'\\u2a01',\n'xotime;':'\\u2a02',\n'xrArr;':'\\u27f9',\n'xrarr;':'\\u27f6',\n'Xscr;':'\\U0001d4b3',\n'xscr;':'\\U0001d4cd',\n'xsqcup;':'\\u2a06',\n'xuplus;':'\\u2a04',\n'xutri;':'\\u25b3',\n'xvee;':'\\u22c1',\n'xwedge;':'\\u22c0',\n'Yacute':'\\xdd',\n'yacute':'\\xfd',\n'Yacute;':'\\xdd',\n'yacute;':'\\xfd',\n'YAcy;':'\\u042f',\n'yacy;':'\\u044f',\n'Ycirc;':'\\u0176',\n'ycirc;':'\\u0177',\n'Ycy;':'\\u042b',\n'ycy;':'\\u044b',\n'yen':'\\xa5',\n'yen;':'\\xa5',\n'Yfr;':'\\U0001d51c',\n'yfr;':'\\U0001d536',\n'YIcy;':'\\u0407',\n'yicy;':'\\u0457',\n'Yopf;':'\\U0001d550',\n'yopf;':'\\U0001d56a',\n'Yscr;':'\\U0001d4b4',\n'yscr;':'\\U0001d4ce',\n'YUcy;':'\\u042e',\n'yucy;':'\\u044e',\n'yuml':'\\xff',\n'Yuml;':'\\u0178',\n'yuml;':'\\xff',\n'Zacute;':'\\u0179',\n'zacute;':'\\u017a',\n'Zcaron;':'\\u017d',\n'zcaron;':'\\u017e',\n'Zcy;':'\\u0417',\n'zcy;':'\\u0437',\n'Zdot;':'\\u017b',\n'zdot;':'\\u017c',\n'zeetrf;':'\\u2128',\n'ZeroWidthSpace;':'\\u200b',\n'Zeta;':'\\u0396',\n'zeta;':'\\u03b6',\n'Zfr;':'\\u2128',\n'zfr;':'\\U0001d537',\n'ZHcy;':'\\u0416',\n'zhcy;':'\\u0436',\n'zigrarr;':'\\u21dd',\n'Zopf;':'\\u2124',\n'zopf;':'\\U0001d56b',\n'Zscr;':'\\U0001d4b5',\n'zscr;':'\\U0001d4cf',\n'zwj;':'\\u200d',\n'zwnj;':'\\u200c',\n}\n\n\ncodepoint2name={}\n\n\n\nentitydefs={}\n\nfor(name,codepoint)in name2codepoint.items():\n codepoint2name[codepoint]=name\n entitydefs[name]=chr(codepoint)\n \ndel name,codepoint\n",[]],"html.parser":[".py","''\n\n\n\n\n\n\n\n\n\nimport re\nimport _markupbase\n\nfrom html import unescape\n\n\n__all__=['HTMLParser']\n\n\n\ninteresting_normal=re.compile('[&<]')\nincomplete=re.compile('&[a-zA-Z#]')\n\nentityref=re.compile('&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]')\ncharref=re.compile('&#(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]')\n\nstarttagopen=re.compile('<[a-zA-Z]')\npiclose=re.compile('>')\ncommentclose=re.compile(r'--\\s*>')\n\n\n\n\n\n\ntagfind_tolerant=re.compile(r'([a-zA-Z][^\\t\\n\\r\\f />\\x00]*)(?:\\s|/(?!>))*')\nattrfind_tolerant=re.compile(\nr'((?<=[\\'\"\\s/])[^\\s/>][^\\s/=>]*)(\\s*=+\\s*'\nr'(\\'[^\\']*\\'|\"[^\"]*\"|(?![\\'\"])[^>\\s]*))?(?:\\s|/(?!>))*')\nlocatestarttagend_tolerant=re.compile(r\"\"\"\n <[a-zA-Z][^\\t\\n\\r\\f />\\x00]* # tag name\n (?:[\\s/]* # optional whitespace before attribute name\n (?:(?<=['\"\\s/])[^\\s/>][^\\s/=>]* # attribute name\n (?:\\s*=+\\s* # value indicator\n (?:'[^']*' # LITA-enclosed value\n |\"[^\"]*\" # LIT-enclosed value\n |(?!['\"])[^>\\s]* # bare value\n )\n \\s* # possibly followed by a space\n )?(?:\\s|/(?!>))*\n )*\n )?\n \\s* # trailing whitespace\n\"\"\",re.VERBOSE)\nendendtag=re.compile('>')\n\n\nendtagfind=re.compile(r'')\n\n\n\nclass HTMLParser(_markupbase.ParserBase):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n CDATA_CONTENT_ELEMENTS=(\"script\",\"style\")\n \n def __init__(self,*,convert_charrefs=True):\n ''\n\n\n\n \n super().__init__()\n self.convert_charrefs=convert_charrefs\n self.reset()\n \n def reset(self):\n ''\n self.rawdata=''\n self.lasttag='???'\n self.interesting=interesting_normal\n self.cdata_elem=None\n super().reset()\n \n def feed(self,data):\n ''\n\n\n\n \n self.rawdata=self.rawdata+data\n self.goahead(0)\n \n def close(self):\n ''\n self.goahead(1)\n \n __starttag_text=None\n \n def get_starttag_text(self):\n ''\n return self.__starttag_text\n \n def set_cdata_mode(self,elem):\n self.cdata_elem=elem.lower()\n self.interesting=re.compile(r''%self.cdata_elem,re.I)\n \n def clear_cdata_mode(self):\n self.interesting=interesting_normal\n self.cdata_elem=None\n \n \n \n \n def goahead(self,end):\n rawdata=self.rawdata\n i=0\n n=len(rawdata)\n while i =0 and\n not re.compile(r'[\\s;]').search(rawdata,amppos)):\n break\n j=n\n else:\n match=self.interesting.search(rawdata,i)\n if match:\n j=match.start()\n else:\n if self.cdata_elem:\n break\n j=n\n if i ',i+1)\n if k <0:\n k=rawdata.find('<',i+1)\n if k <0:\n k=i+1\n else:\n k +=1\n if self.convert_charrefs and not self.cdata_elem:\n self.handle_data(unescape(rawdata[i:k]))\n else:\n self.handle_data(rawdata[i:k])\n i=self.updatepos(i,k)\n elif startswith(\"&#\",i):\n match=charref.match(rawdata,i)\n if match:\n name=match.group()[2:-1]\n self.handle_charref(name)\n k=match.end()\n if not startswith(';',k -1):\n k=k -1\n i=self.updatepos(i,k)\n continue\n else:\n if \";\"in rawdata[i:]:\n self.handle_data(rawdata[i:i+2])\n i=self.updatepos(i,i+2)\n break\n elif startswith('&',i):\n match=entityref.match(rawdata,i)\n if match:\n name=match.group(1)\n self.handle_entityref(name)\n k=match.end()\n if not startswith(';',k -1):\n k=k -1\n i=self.updatepos(i,k)\n continue\n match=incomplete.match(rawdata,i)\n if match:\n \n if end and match.group()==rawdata[i:]:\n k=match.end()\n if k <=i:\n k=n\n i=self.updatepos(i,i+1)\n \n break\n elif(i+1)',i+9)\n if gtpos ==-1:\n return -1\n self.handle_decl(rawdata[i+2:gtpos])\n return gtpos+1\n else:\n return self.parse_bogus_comment(i)\n \n \n \n def parse_bogus_comment(self,i,report=1):\n rawdata=self.rawdata\n assert rawdata[i:i+2]in('',i+2)\n if pos ==-1:\n return -1\n if report:\n self.handle_comment(rawdata[i+2:pos])\n return pos+1\n \n \n def parse_pi(self,i):\n rawdata=self.rawdata\n assert rawdata[i:i+2]=='\",\"/>\"):\n self.handle_data(rawdata[i:endpos])\n return endpos\n if end.endswith('/>'):\n \n self.handle_startendtag(tag,attrs)\n else:\n self.handle_starttag(tag,attrs)\n if tag in self.CDATA_CONTENT_ELEMENTS:\n self.set_cdata_mode(tag)\n return endpos\n \n \n \n def check_for_whole_start_tag(self,i):\n rawdata=self.rawdata\n m=locatestarttagend_tolerant.match(rawdata,i)\n if m:\n j=m.end()\n next=rawdata[j:j+1]\n if next ==\">\":\n return j+1\n if next ==\"/\":\n if rawdata.startswith(\"/>\",j):\n return j+2\n if rawdata.startswith(\"/\",j):\n \n return -1\n \n if j >i:\n return j\n else:\n return i+1\n if next ==\"\":\n \n return -1\n if next in(\"abcdefghijklmnopqrstuvwxyz=/\"\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"):\n \n \n return -1\n if j >i:\n return j\n else:\n return i+1\n raise AssertionError(\"we should not get here!\")\n \n \n def parse_endtag(self,i):\n rawdata=self.rawdata\n assert rawdata[i:i+2]==\"':\n return i+3\n else:\n return self.parse_bogus_comment(i)\n tagname=namematch.group(1).lower()\n \n \n \n \n gtpos=rawdata.find('>',namematch.end())\n self.handle_endtag(tagname)\n return gtpos+1\n \n elem=match.group(1).lower()\n if self.cdata_elem is not None:\n if elem !=self.cdata_elem:\n self.handle_data(rawdata[i:gtpos])\n return gtpos\n \n self.handle_endtag(elem)\n self.clear_cdata_mode()\n return gtpos\n \n \n def handle_startendtag(self,tag,attrs):\n self.handle_starttag(tag,attrs)\n self.handle_endtag(tag)\n \n \n def handle_starttag(self,tag,attrs):\n pass\n \n \n def handle_endtag(self,tag):\n pass\n \n \n def handle_charref(self,name):\n pass\n \n \n def handle_entityref(self,name):\n pass\n \n \n def handle_data(self,data):\n pass\n \n \n def handle_comment(self,data):\n pass\n \n \n def handle_decl(self,decl):\n pass\n \n \n def handle_pi(self,data):\n pass\n \n def unknown_decl(self,data):\n pass\n",["_markupbase","html","re"]],html:[".py","''\n\n\n\nimport re as _re\nfrom html.entities import html5 as _html5\n\n\n__all__=['escape','unescape']\n\n\ndef escape(s,quote=True):\n ''\n\n\n\n\n \n s=s.replace(\"&\",\"&\")\n s=s.replace(\"<\",\"<\")\n s=s.replace(\">\",\">\")\n if quote:\n s=s.replace('\"',\""\")\n s=s.replace('\\'',\"'\")\n return s\n \n \n \n \n_invalid_charrefs={\n0x00:'\\ufffd',\n0x0d:'\\r',\n0x80:'\\u20ac',\n0x81:'\\x81',\n0x82:'\\u201a',\n0x83:'\\u0192',\n0x84:'\\u201e',\n0x85:'\\u2026',\n0x86:'\\u2020',\n0x87:'\\u2021',\n0x88:'\\u02c6',\n0x89:'\\u2030',\n0x8a:'\\u0160',\n0x8b:'\\u2039',\n0x8c:'\\u0152',\n0x8d:'\\x8d',\n0x8e:'\\u017d',\n0x8f:'\\x8f',\n0x90:'\\x90',\n0x91:'\\u2018',\n0x92:'\\u2019',\n0x93:'\\u201c',\n0x94:'\\u201d',\n0x95:'\\u2022',\n0x96:'\\u2013',\n0x97:'\\u2014',\n0x98:'\\u02dc',\n0x99:'\\u2122',\n0x9a:'\\u0161',\n0x9b:'\\u203a',\n0x9c:'\\u0153',\n0x9d:'\\x9d',\n0x9e:'\\u017e',\n0x9f:'\\u0178',\n}\n\n_invalid_codepoints={\n\n0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,\n\n0xe,0xf,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,\n0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,\n\n0x7f,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,\n0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x96,\n0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,\n\n0xfdd0,0xfdd1,0xfdd2,0xfdd3,0xfdd4,0xfdd5,0xfdd6,0xfdd7,0xfdd8,\n0xfdd9,0xfdda,0xfddb,0xfddc,0xfddd,0xfdde,0xfddf,0xfde0,0xfde1,\n0xfde2,0xfde3,0xfde4,0xfde5,0xfde6,0xfde7,0xfde8,0xfde9,0xfdea,\n0xfdeb,0xfdec,0xfded,0xfdee,0xfdef,\n\n0xb,0xfffe,0xffff,0x1fffe,0x1ffff,0x2fffe,0x2ffff,0x3fffe,0x3ffff,\n0x4fffe,0x4ffff,0x5fffe,0x5ffff,0x6fffe,0x6ffff,0x7fffe,0x7ffff,\n0x8fffe,0x8ffff,0x9fffe,0x9ffff,0xafffe,0xaffff,0xbfffe,0xbffff,\n0xcfffe,0xcffff,0xdfffe,0xdffff,0xefffe,0xeffff,0xffffe,0xfffff,\n0x10fffe,0x10ffff\n}\n\n\ndef _replace_charref(s):\n s=s.group(1)\n if s[0]=='#':\n \n if s[1]in 'xX':\n num=int(s[2:].rstrip(';'),16)\n else:\n num=int(s[1:].rstrip(';'))\n if num in _invalid_charrefs:\n return _invalid_charrefs[num]\n if 0xD800 <=num <=0xDFFF or num >0x10FFFF:\n return '\\uFFFD'\n if num in _invalid_codepoints:\n return ''\n return chr(num)\n else:\n \n if s in _html5:\n return _html5[s]\n \n for x in range(len(s)-1,1,-1):\n if s[:x]in _html5:\n return _html5[s[:x]]+s[x:]\n else:\n return '&'+s\n \n \n_charref=_re.compile(r'&(#[0-9]+;?'\nr'|#[xX][0-9a-fA-F]+;?'\nr'|[^\\t\\n\\f <&#;]{1,32};?)')\n\ndef unescape(s):\n ''\n\n\n\n\n\n \n if '&'not in s:\n return s\n return _charref.sub(_replace_charref,s)\n",["html.entities","re"],1],"http.client":[".py","''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport email.parser\nimport email.message\nimport errno\nimport http\nimport io\nimport re\nimport socket\nimport sys\nimport collections.abc\nfrom urllib.parse import urlsplit\n\n\n\n__all__=[\"HTTPResponse\",\"HTTPConnection\",\n\"HTTPException\",\"NotConnected\",\"UnknownProtocol\",\n\"UnknownTransferEncoding\",\"UnimplementedFileMode\",\n\"IncompleteRead\",\"InvalidURL\",\"ImproperConnectionState\",\n\"CannotSendRequest\",\"CannotSendHeader\",\"ResponseNotReady\",\n\"BadStatusLine\",\"LineTooLong\",\"RemoteDisconnected\",\"error\",\n\"responses\"]\n\nHTTP_PORT=80\nHTTPS_PORT=443\n\n_UNKNOWN='UNKNOWN'\n\n\n_CS_IDLE='Idle'\n_CS_REQ_STARTED='Request-started'\n_CS_REQ_SENT='Request-sent'\n\n\n\nglobals().update(http.HTTPStatus.__members__)\n\n\n\nresponses={v:v.phrase for v in http.HTTPStatus.__members__.values()}\n\n\n_MAXLINE=65536\n_MAXHEADERS=100\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_is_legal_header_name=re.compile(rb'[^:\\s][^:\\r\\n]*').fullmatch\n_is_illegal_header_value=re.compile(rb'\\n(?![ \\t])|\\r(?![ \\t\\n])').search\n\n\n\n\n\n\n_contains_disallowed_url_pchar_re=re.compile('[\\x00-\\x20\\x7f]')\n\n\n\n\n\n\n_contains_disallowed_method_pchar_re=re.compile('[\\x00-\\x1f]')\n\n\n\n_METHODS_EXPECTING_BODY={'PATCH','POST','PUT'}\n\n\ndef _encode(data,name='data'):\n ''\n try:\n return data.encode(\"latin-1\")\n except UnicodeEncodeError as err:\n raise UnicodeEncodeError(\n err.encoding,\n err.object,\n err.start,\n err.end,\n \"%s (%.20r) is not valid Latin-1. Use %s.encode('utf-8') \"\n \"if you want to send it encoded in UTF-8.\"%\n (name.title(),data[err.start:err.end],name))from None\n \n \nclass HTTPMessage(email.message.Message):\n\n\n\n\n\n\n def getallmatchingheaders(self,name):\n ''\n\n\n\n\n\n\n\n \n name=name.lower()+':'\n n=len(name)\n lst=[]\n hit=0\n for line in self.keys():\n if line[:n].lower()==name:\n hit=1\n elif not line[:1].isspace():\n hit=0\n if hit:\n lst.append(line)\n return lst\n \ndef _read_headers(fp):\n ''\n\n\n\n \n headers=[]\n while True:\n line=fp.readline(_MAXLINE+1)\n if len(line)>_MAXLINE:\n raise LineTooLong(\"header line\")\n headers.append(line)\n if len(headers)>_MAXHEADERS:\n raise HTTPException(\"got more than %d headers\"%_MAXHEADERS)\n if line in(b'\\r\\n',b'\\n',b''):\n break\n return headers\n \ndef _parse_header_lines(header_lines,_class=HTTPMessage):\n ''\n\n\n\n\n\n\n\n\n \n hstring=b''.join(header_lines).decode('iso-8859-1')\n return email.parser.Parser(_class=_class).parsestr(hstring)\n \ndef parse_headers(fp,_class=HTTPMessage):\n ''\n \n headers=_read_headers(fp)\n return _parse_header_lines(headers,_class)\n \n \nclass HTTPResponse(io.BufferedIOBase):\n\n\n\n\n\n\n\n\n def __init__(self,sock,debuglevel=0,method=None,url=None):\n \n \n \n \n \n \n \n self.fp=sock.makefile(\"rb\")\n self.debuglevel=debuglevel\n self._method=method\n \n \n \n \n \n \n \n self.headers=self.msg=None\n \n \n self.version=_UNKNOWN\n self.status=_UNKNOWN\n self.reason=_UNKNOWN\n \n self.chunked=_UNKNOWN\n self.chunk_left=_UNKNOWN\n self.length=_UNKNOWN\n self.will_close=_UNKNOWN\n \n def _read_status(self):\n line=str(self.fp.readline(_MAXLINE+1),\"iso-8859-1\")\n if len(line)>_MAXLINE:\n raise LineTooLong(\"status line\")\n if self.debuglevel >0:\n print(\"reply:\",repr(line))\n if not line:\n \n \n raise RemoteDisconnected(\"Remote end closed connection without\"\n \" response\")\n try:\n version,status,reason=line.split(None,2)\n except ValueError:\n try:\n version,status=line.split(None,1)\n reason=\"\"\n except ValueError:\n \n version=\"\"\n if not version.startswith(\"HTTP/\"):\n self._close_conn()\n raise BadStatusLine(line)\n \n \n try:\n status=int(status)\n if status <100 or status >999:\n raise BadStatusLine(line)\n except ValueError:\n raise BadStatusLine(line)\n return version,status,reason\n \n def begin(self):\n if self.headers is not None:\n \n return\n \n \n while True:\n version,status,reason=self._read_status()\n if status !=CONTINUE:\n break\n \n skipped_headers=_read_headers(self.fp)\n if self.debuglevel >0:\n print(\"headers:\",skipped_headers)\n del skipped_headers\n \n self.code=self.status=status\n self.reason=reason.strip()\n if version in(\"HTTP/1.0\",\"HTTP/0.9\"):\n \n self.version=10\n elif version.startswith(\"HTTP/1.\"):\n self.version=11\n else:\n raise UnknownProtocol(version)\n \n self.headers=self.msg=parse_headers(self.fp)\n \n if self.debuglevel >0:\n for hdr,val in self.headers.items():\n print(\"header:\",hdr+\":\",val)\n \n \n tr_enc=self.headers.get(\"transfer-encoding\")\n if tr_enc and tr_enc.lower()==\"chunked\":\n self.chunked=True\n self.chunk_left=None\n else:\n self.chunked=False\n \n \n self.will_close=self._check_close()\n \n \n \n self.length=None\n length=self.headers.get(\"content-length\")\n if length and not self.chunked:\n try:\n self.length=int(length)\n except ValueError:\n self.length=None\n else:\n if self.length <0:\n self.length=None\n else:\n self.length=None\n \n \n if(status ==NO_CONTENT or status ==NOT_MODIFIED or\n 100 <=status <200 or\n self._method ==\"HEAD\"):\n self.length=0\n \n \n \n \n if(not self.will_close and\n not self.chunked and\n self.length is None):\n self.will_close=True\n \n def _check_close(self):\n conn=self.headers.get(\"connection\")\n if self.version ==11:\n \n \n if conn and \"close\"in conn.lower():\n return True\n return False\n \n \n \n \n \n if self.headers.get(\"keep-alive\"):\n return False\n \n \n \n if conn and \"keep-alive\"in conn.lower():\n return False\n \n \n pconn=self.headers.get(\"proxy-connection\")\n if pconn and \"keep-alive\"in pconn.lower():\n return False\n \n \n return True\n \n def _close_conn(self):\n fp=self.fp\n self.fp=None\n fp.close()\n \n def close(self):\n try:\n super().close()\n finally:\n if self.fp:\n self._close_conn()\n \n \n \n \n \n \n def flush(self):\n super().flush()\n if self.fp:\n self.fp.flush()\n \n def readable(self):\n ''\n return True\n \n \n \n def isclosed(self):\n ''\n \n \n \n \n \n \n return self.fp is None\n \n def read(self,amt=None):\n ''\n if self.fp is None:\n return b\"\"\n \n if self._method ==\"HEAD\":\n self._close_conn()\n return b\"\"\n \n if self.chunked:\n return self._read_chunked(amt)\n \n if amt is not None:\n if self.length is not None and amt >self.length:\n \n amt=self.length\n s=self.fp.read(amt)\n if not s and amt:\n \n \n self._close_conn()\n elif self.length is not None:\n self.length -=len(s)\n if not self.length:\n self._close_conn()\n return s\n else:\n \n if self.length is None:\n s=self.fp.read()\n else:\n try:\n s=self._safe_read(self.length)\n except IncompleteRead:\n self._close_conn()\n raise\n self.length=0\n self._close_conn()\n return s\n \n def readinto(self,b):\n ''\n\n \n \n if self.fp is None:\n return 0\n \n if self._method ==\"HEAD\":\n self._close_conn()\n return 0\n \n if self.chunked:\n return self._readinto_chunked(b)\n \n if self.length is not None:\n if len(b)>self.length:\n \n b=memoryview(b)[0:self.length]\n \n \n \n \n n=self.fp.readinto(b)\n if not n and b:\n \n \n self._close_conn()\n elif self.length is not None:\n self.length -=n\n if not self.length:\n self._close_conn()\n return n\n \n def _read_next_chunk_size(self):\n \n line=self.fp.readline(_MAXLINE+1)\n if len(line)>_MAXLINE:\n raise LineTooLong(\"chunk size\")\n i=line.find(b\";\")\n if i >=0:\n line=line[:i]\n try:\n return int(line,16)\n except ValueError:\n \n \n self._close_conn()\n raise\n \n def _read_and_discard_trailer(self):\n \n \n while True:\n line=self.fp.readline(_MAXLINE+1)\n if len(line)>_MAXLINE:\n raise LineTooLong(\"trailer line\")\n if not line:\n \n \n break\n if line in(b'\\r\\n',b'\\n',b''):\n break\n \n def _get_chunk_left(self):\n \n \n \n \n \n chunk_left=self.chunk_left\n if not chunk_left:\n if chunk_left is not None:\n \n self._safe_read(2)\n try:\n chunk_left=self._read_next_chunk_size()\n except ValueError:\n raise IncompleteRead(b'')\n if chunk_left ==0:\n \n self._read_and_discard_trailer()\n \n self._close_conn()\n chunk_left=None\n self.chunk_left=chunk_left\n return chunk_left\n \n def _read_chunked(self,amt=None):\n assert self.chunked !=_UNKNOWN\n value=[]\n try:\n while(chunk_left :=self._get_chunk_left())is not None:\n if amt is not None and amt <=chunk_left:\n value.append(self._safe_read(amt))\n self.chunk_left=chunk_left -amt\n break\n \n value.append(self._safe_read(chunk_left))\n if amt is not None:\n amt -=chunk_left\n self.chunk_left=0\n return b''.join(value)\n except IncompleteRead as exc:\n raise IncompleteRead(b''.join(value))from exc\n \n def _readinto_chunked(self,b):\n assert self.chunked !=_UNKNOWN\n total_bytes=0\n mvb=memoryview(b)\n try:\n while True:\n chunk_left=self._get_chunk_left()\n if chunk_left is None:\n return total_bytes\n \n if len(mvb)<=chunk_left:\n n=self._safe_readinto(mvb)\n self.chunk_left=chunk_left -n\n return total_bytes+n\n \n temp_mvb=mvb[:chunk_left]\n n=self._safe_readinto(temp_mvb)\n mvb=mvb[n:]\n total_bytes +=n\n self.chunk_left=0\n \n except IncompleteRead:\n raise IncompleteRead(bytes(b[0:total_bytes]))\n \n def _safe_read(self,amt):\n ''\n\n\n\n\n \n data=self.fp.read(amt)\n if len(data)self.length):\n n=self.length\n result=self.fp.read1(n)\n if not result and n:\n self._close_conn()\n elif self.length is not None:\n self.length -=len(result)\n return result\n \n def peek(self,n=-1):\n \n \n if self.fp is None or self._method ==\"HEAD\":\n return b\"\"\n if self.chunked:\n return self._peek_chunked(n)\n return self.fp.peek(n)\n \n def readline(self,limit=-1):\n if self.fp is None or self._method ==\"HEAD\":\n return b\"\"\n if self.chunked:\n \n return super().readline(limit)\n if self.length is not None and(limit <0 or limit >self.length):\n limit=self.length\n result=self.fp.readline(limit)\n if not result and limit:\n self._close_conn()\n elif self.length is not None:\n self.length -=len(result)\n return result\n \n def _read1_chunked(self,n):\n \n \n chunk_left=self._get_chunk_left()\n if chunk_left is None or n ==0:\n return b''\n if not(0 <=n <=chunk_left):\n n=chunk_left\n read=self.fp.read1(n)\n self.chunk_left -=len(read)\n if not read:\n raise IncompleteRead(b\"\")\n return read\n \n def _peek_chunked(self,n):\n \n \n try:\n chunk_left=self._get_chunk_left()\n except IncompleteRead:\n return b''\n if chunk_left is None:\n return b''\n \n \n return self.fp.peek(chunk_left)[:chunk_left]\n \n def fileno(self):\n return self.fp.fileno()\n \n def getheader(self,name,default=None):\n ''\n\n\n\n\n\n\n\n\n\n \n if self.headers is None:\n raise ResponseNotReady()\n headers=self.headers.get_all(name)or default\n if isinstance(headers,str)or not hasattr(headers,'__iter__'):\n return headers\n else:\n return ', '.join(headers)\n \n def getheaders(self):\n ''\n if self.headers is None:\n raise ResponseNotReady()\n return list(self.headers.items())\n \n \n \n def __iter__(self):\n return self\n \n \n \n def info(self):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n return self.headers\n \n def geturl(self):\n ''\n\n\n\n\n\n\n\n \n return self.url\n \n def getcode(self):\n ''\n\n\n \n return self.status\n \n \ndef _create_https_context(http_version):\n\n\n context=ssl._create_default_https_context()\n \n if http_version ==11:\n context.set_alpn_protocols(['http/1.1'])\n \n if context.post_handshake_auth is not None:\n context.post_handshake_auth=True\n return context\n \n \nclass HTTPConnection:\n\n _http_vsn=11\n _http_vsn_str='HTTP/1.1'\n \n response_class=HTTPResponse\n default_port=HTTP_PORT\n auto_open=1\n debuglevel=0\n \n @staticmethod\n def _is_textIO(stream):\n ''\n \n return isinstance(stream,io.TextIOBase)\n \n @staticmethod\n def _get_content_length(body,method):\n ''\n\n\n\n\n \n if body is None:\n \n \n if method.upper()in _METHODS_EXPECTING_BODY:\n return 0\n else:\n return None\n \n if hasattr(body,'read'):\n \n return None\n \n try:\n \n mv=memoryview(body)\n return mv.nbytes\n except TypeError:\n pass\n \n if isinstance(body,str):\n return len(body)\n \n return None\n \n def __init__(self,host,port=None,timeout=socket._GLOBAL_DEFAULT_TIMEOUT,\n source_address=None,blocksize=8192):\n self.timeout=timeout\n self.source_address=source_address\n self.blocksize=blocksize\n self.sock=None\n self._buffer=[]\n self.__response=None\n self.__state=_CS_IDLE\n self._method=None\n self._tunnel_host=None\n self._tunnel_port=None\n self._tunnel_headers={}\n self._raw_proxy_headers=None\n \n (self.host,self.port)=self._get_hostport(host,port)\n \n self._validate_host(self.host)\n \n \n \n self._create_connection=socket.create_connection\n \n def set_tunnel(self,host,port=None,headers=None):\n ''\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n if self.sock:\n raise RuntimeError(\"Can't set up tunnel for established connection\")\n \n self._tunnel_host,self._tunnel_port=self._get_hostport(host,port)\n if headers:\n self._tunnel_headers=headers.copy()\n else:\n self._tunnel_headers.clear()\n \n if not any(header.lower()==\"host\"for header in self._tunnel_headers):\n encoded_host=self._tunnel_host.encode(\"idna\").decode(\"ascii\")\n self._tunnel_headers[\"Host\"]=\"%s:%d\"%(\n encoded_host,self._tunnel_port)\n \n def _get_hostport(self,host,port):\n if port is None:\n i=host.rfind(':')\n j=host.rfind(']')\n if i >j:\n try:\n port=int(host[i+1:])\n except ValueError:\n if host[i+1:]==\"\":\n port=self.default_port\n else:\n raise InvalidURL(\"nonnumeric port: '%s'\"%host[i+1:])\n host=host[:i]\n else:\n port=self.default_port\n if host and host[0]=='['and host[-1]==']':\n host=host[1:-1]\n \n return(host,port)\n \n def set_debuglevel(self,level):\n self.debuglevel=level\n \n def _tunnel(self):\n connect=b\"CONNECT %s:%d %s\\r\\n\"%(\n self._tunnel_host.encode(\"idna\"),self._tunnel_port,\n self._http_vsn_str.encode(\"ascii\"))\n headers=[connect]\n for header,value in self._tunnel_headers.items():\n headers.append(f\"{header}: {value}\\r\\n\".encode(\"latin-1\"))\n headers.append(b\"\\r\\n\")\n \n \n \n self.send(b\"\".join(headers))\n del headers\n \n response=self.response_class(self.sock,method=self._method)\n try:\n (version,code,message)=response._read_status()\n \n self._raw_proxy_headers=_read_headers(response.fp)\n \n if self.debuglevel >0:\n for header in self._raw_proxy_headers:\n print('header:',header.decode())\n \n if code !=http.HTTPStatus.OK:\n self.close()\n raise OSError(f\"Tunnel connection failed: {code} {message.strip()}\")\n \n finally:\n response.close()\n \n def get_proxy_response_headers(self):\n ''\n\n\n\n\n\n \n return(\n _parse_header_lines(self._raw_proxy_headers)\n if self._raw_proxy_headers is not None\n else None\n )\n \n def connect(self):\n ''\n sys.audit(\"http.client.connect\",self,self.host,self.port)\n self.sock=self._create_connection(\n (self.host,self.port),self.timeout,self.source_address)\n \n try:\n self.sock.setsockopt(socket.IPPROTO_TCP,socket.TCP_NODELAY,1)\n except OSError as e:\n if e.errno !=errno.ENOPROTOOPT:\n raise\n \n if self._tunnel_host:\n self._tunnel()\n \n def close(self):\n ''\n self.__state=_CS_IDLE\n try:\n sock=self.sock\n if sock:\n self.sock=None\n sock.close()\n finally:\n response=self.__response\n if response:\n self.__response=None\n response.close()\n \n def send(self,data):\n ''\n\n\n \n \n if self.sock is None:\n if self.auto_open:\n self.connect()\n else:\n raise NotConnected()\n \n if self.debuglevel >0:\n print(\"send:\",repr(data))\n if hasattr(data,\"read\"):\n if self.debuglevel >0:\n print(\"sending a readable\")\n encode=self._is_textIO(data)\n if encode and self.debuglevel >0:\n print(\"encoding file using iso-8859-1\")\n while datablock :=data.read(self.blocksize):\n if encode:\n datablock=datablock.encode(\"iso-8859-1\")\n sys.audit(\"http.client.send\",self,datablock)\n self.sock.sendall(datablock)\n return\n sys.audit(\"http.client.send\",self,data)\n try:\n self.sock.sendall(data)\n except TypeError:\n if isinstance(data,collections.abc.Iterable):\n for d in data:\n self.sock.sendall(d)\n else:\n raise TypeError(\"data should be a bytes-like object \"\n \"or an iterable, got %r\"%type(data))\n \n def _output(self,s):\n ''\n\n\n \n self._buffer.append(s)\n \n def _read_readable(self,readable):\n if self.debuglevel >0:\n print(\"reading a readable\")\n encode=self._is_textIO(readable)\n if encode and self.debuglevel >0:\n print(\"encoding file using iso-8859-1\")\n while datablock :=readable.read(self.blocksize):\n if encode:\n datablock=datablock.encode(\"iso-8859-1\")\n yield datablock\n \n def _send_output(self,message_body=None,encode_chunked=False):\n ''\n\n\n\n \n self._buffer.extend((b\"\",b\"\"))\n msg=b\"\\r\\n\".join(self._buffer)\n del self._buffer[:]\n self.send(msg)\n \n if message_body is not None:\n \n \n if hasattr(message_body,'read'):\n \n \n \n chunks=self._read_readable(message_body)\n else:\n try:\n \n \n \n \n memoryview(message_body)\n except TypeError:\n try:\n chunks=iter(message_body)\n except TypeError:\n raise TypeError(\"message_body should be a bytes-like \"\n \"object or an iterable, got %r\"\n %type(message_body))\n else:\n \n \n chunks=(message_body,)\n \n for chunk in chunks:\n if not chunk:\n if self.debuglevel >0:\n print('Zero length chunk ignored')\n continue\n \n if encode_chunked and self._http_vsn ==11:\n \n chunk=f'{len(chunk):X}\\r\\n'.encode('ascii')+chunk\\\n +b'\\r\\n'\n self.send(chunk)\n \n if encode_chunked and self._http_vsn ==11:\n \n self.send(b'0\\r\\n\\r\\n')\n \n def putrequest(self,method,url,skip_host=False,\n skip_accept_encoding=False):\n ''\n\n\n\n\n\n\n \n \n \n if self.__response and self.__response.isclosed():\n self.__response=None\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n if self.__state ==_CS_IDLE:\n self.__state=_CS_REQ_STARTED\n else:\n raise CannotSendRequest(self.__state)\n \n self._validate_method(method)\n \n \n self._method=method\n \n url=url or '/'\n self._validate_path(url)\n \n request='%s %s %s'%(method,url,self._http_vsn_str)\n \n self._output(self._encode_request(request))\n \n if self._http_vsn ==11:\n \n \n if not skip_host:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n netloc=''\n if url.startswith('http'):\n nil,netloc,nil,nil,nil=urlsplit(url)\n \n if netloc:\n try:\n netloc_enc=netloc.encode(\"ascii\")\n except UnicodeEncodeError:\n netloc_enc=netloc.encode(\"idna\")\n self.putheader('Host',netloc_enc)\n else:\n if self._tunnel_host:\n host=self._tunnel_host\n port=self._tunnel_port\n else:\n host=self.host\n port=self.port\n \n try:\n host_enc=host.encode(\"ascii\")\n except UnicodeEncodeError:\n host_enc=host.encode(\"idna\")\n \n \n \n \n if host.find(':')>=0:\n host_enc=b'['+host_enc+b']'\n \n if port ==self.default_port:\n self.putheader('Host',host_enc)\n else:\n host_enc=host_enc.decode(\"ascii\")\n self.putheader('Host',\"%s:%s\"%(host_enc,port))\n \n \n \n \n \n \n \n \n \n if not skip_accept_encoding:\n self.putheader('Accept-Encoding','identity')\n \n \n \n \n \n \n \n \n \n else:\n \n pass\n \n def _encode_request(self,request):\n \n return request.encode('ascii')\n \n def _validate_method(self,method):\n ''\n \n match=_contains_disallowed_method_pchar_re.search(method)\n if match:\n raise ValueError(\n f\"method can't contain control characters. {method !r} \"\n f\"(found at least {match.group()!r})\")\n \n def _validate_path(self,url):\n ''\n \n match=_contains_disallowed_url_pchar_re.search(url)\n if match:\n raise InvalidURL(f\"URL can't contain control characters. {url !r} \"\n f\"(found at least {match.group()!r})\")\n \n def _validate_host(self,host):\n ''\n \n match=_contains_disallowed_url_pchar_re.search(host)\n if match:\n raise InvalidURL(f\"URL can't contain control characters. {host !r} \"\n f\"(found at least {match.group()!r})\")\n \n def putheader(self,header,*values):\n ''\n\n\n \n if self.__state !=_CS_REQ_STARTED:\n raise CannotSendHeader()\n \n if hasattr(header,'encode'):\n header=header.encode('ascii')\n \n if not _is_legal_header_name(header):\n raise ValueError('Invalid header name %r'%(header,))\n \n values=list(values)\n for i,one_value in enumerate(values):\n if hasattr(one_value,'encode'):\n values[i]=one_value.encode('latin-1')\n elif isinstance(one_value,int):\n values[i]=str(one_value).encode('ascii')\n \n if _is_illegal_header_value(values[i]):\n raise ValueError('Invalid header value %r'%(values[i],))\n \n value=b'\\r\\n\\t'.join(values)\n header=header+b': '+value\n self._output(header)\n \n def endheaders(self,message_body=None,*,encode_chunked=False):\n ''\n\n\n\n\n \n if self.__state ==_CS_REQ_STARTED:\n self.__state=_CS_REQ_SENT\n else:\n raise CannotSendHeader()\n self._send_output(message_body,encode_chunked=encode_chunked)\n \n def request(self,method,url,body=None,headers={},*,\n encode_chunked=False):\n ''\n self._send_request(method,url,body,headers,encode_chunked)\n \n def _send_request(self,method,url,body,headers,encode_chunked):\n \n header_names=frozenset(k.lower()for k in headers)\n skips={}\n if 'host'in header_names:\n skips['skip_host']=1\n if 'accept-encoding'in header_names:\n skips['skip_accept_encoding']=1\n \n self.putrequest(method,url,**skips)\n \n \n \n \n \n \n \n \n if 'content-length'not in header_names:\n \n \n \n if 'transfer-encoding'not in header_names:\n \n \n encode_chunked=False\n content_length=self._get_content_length(body,method)\n if content_length is None:\n if body is not None:\n if self.debuglevel >0:\n print('Unable to determine size of %r'%body)\n encode_chunked=True\n self.putheader('Transfer-Encoding','chunked')\n else:\n self.putheader('Content-Length',str(content_length))\n else:\n encode_chunked=False\n \n for hdr,value in headers.items():\n self.putheader(hdr,value)\n if isinstance(body,str):\n \n \n body=_encode(body,'body')\n self.endheaders(body,encode_chunked=encode_chunked)\n \n def getresponse(self):\n ''\n\n\n\n\n\n\n\n\n\n\n \n \n \n if self.__response and self.__response.isclosed():\n self.__response=None\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n if self.__state !=_CS_REQ_SENT or self.__response:\n raise ResponseNotReady(self.__state)\n \n if self.debuglevel >0:\n response=self.response_class(self.sock,self.debuglevel,\n method=self._method)\n else:\n response=self.response_class(self.sock,method=self._method)\n \n try:\n try:\n response.begin()\n except ConnectionError:\n self.close()\n raise\n assert response.will_close !=_UNKNOWN\n self.__state=_CS_IDLE\n \n if response.will_close:\n \n self.close()\n else:\n \n self.__response=response\n \n return response\n except:\n response.close()\n raise\n \ntry:\n import ssl\nexcept ImportError:\n pass\nelse:\n class HTTPSConnection(HTTPConnection):\n ''\n \n default_port=HTTPS_PORT\n \n def __init__(self,host,port=None,\n *,timeout=socket._GLOBAL_DEFAULT_TIMEOUT,\n source_address=None,context=None,blocksize=8192):\n super(HTTPSConnection,self).__init__(host,port,timeout,\n source_address,\n blocksize=blocksize)\n if context is None:\n context=_create_https_context(self._http_vsn)\n self._context=context\n \n def connect(self):\n ''\n \n super().connect()\n \n if self._tunnel_host:\n server_hostname=self._tunnel_host\n else:\n server_hostname=self.host\n \n self.sock=self._context.wrap_socket(self.sock,\n server_hostname=server_hostname)\n \n __all__.append(\"HTTPSConnection\")\n \nclass HTTPException(Exception):\n\n\n pass\n \nclass NotConnected(HTTPException):\n pass\n \nclass InvalidURL(HTTPException):\n pass\n \nclass UnknownProtocol(HTTPException):\n def __init__(self,version):\n self.args=version,\n self.version=version\n \nclass UnknownTransferEncoding(HTTPException):\n pass\n \nclass UnimplementedFileMode(HTTPException):\n pass\n \nclass IncompleteRead(HTTPException):\n def __init__(self,partial,expected=None):\n self.args=partial,\n self.partial=partial\n self.expected=expected\n def __repr__(self):\n if self.expected is not None:\n e=', %i more expected'%self.expected\n else:\n e=''\n return '%s(%i bytes read%s)'%(self.__class__.__name__,\n len(self.partial),e)\n __str__=object.__str__\n \nclass ImproperConnectionState(HTTPException):\n pass\n \nclass CannotSendRequest(ImproperConnectionState):\n pass\n \nclass CannotSendHeader(ImproperConnectionState):\n pass\n \nclass ResponseNotReady(ImproperConnectionState):\n pass\n \nclass BadStatusLine(HTTPException):\n def __init__(self,line):\n if not line:\n line=repr(line)\n self.args=line,\n self.line=line\n \nclass LineTooLong(HTTPException):\n def __init__(self,line_type):\n HTTPException.__init__(self,\"got more than %d bytes when reading %s\"\n %(_MAXLINE,line_type))\n \nclass RemoteDisconnected(ConnectionResetError,BadStatusLine):\n def __init__(self,*pos,**kw):\n BadStatusLine.__init__(self,\"\")\n ConnectionResetError.__init__(self,*pos,**kw)\n \n \nerror=HTTPException\n",["collections.abc","email.message","email.parser","errno","http","io","re","socket","ssl","sys","urllib.parse"]],"http.cookiejar":[".py",'\'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n__all__=[\'Cookie\',\'CookieJar\',\'CookiePolicy\',\'DefaultCookiePolicy\',\n\'FileCookieJar\',\'LWPCookieJar\',\'LoadError\',\'MozillaCookieJar\']\n\nimport os\nimport copy\nimport datetime\nimport re\nimport time\nimport urllib.parse,urllib.request\nimport threading as _threading\nimport http.client\nfrom calendar import timegm\n\ndebug=False\nlogger=None\n\ndef _debug(*args):\n if not debug:\n return\n global logger\n if not logger:\n import logging\n logger=logging.getLogger("http.cookiejar")\n return logger.debug(*args)\n \nHTTPONLY_ATTR="HTTPOnly"\nHTTPONLY_PREFIX="#HttpOnly_"\nDEFAULT_HTTP_PORT=str(http.client.HTTP_PORT)\nNETSCAPE_MAGIC_RGX=re.compile("#( Netscape)? HTTP Cookie File")\nMISSING_FILENAME_TEXT=("a filename was not supplied (nor was the CookieJar "\n"instance initialised with one)")\nNETSCAPE_HEADER_TEXT="""\\\n# Netscape HTTP Cookie File\n# http://curl.haxx.se/rfc/cookie_spec.html\n# This is a generated file! Do not edit.\n\n"""\n\ndef _warn_unhandled_exception():\n\n\n\n import io,warnings,traceback\n f=io.StringIO()\n traceback.print_exc(None,f)\n msg=f.getvalue()\n warnings.warn("http.cookiejar bug!\\n%s"%msg,stacklevel=2)\n \n \n \n \n \nEPOCH_YEAR=1970\ndef _timegm(tt):\n year,month,mday,hour,min,sec=tt[:6]\n if((year >=EPOCH_YEAR)and(1 <=month <=12)and(1 <=mday <=31)and\n (0 <=hour <=24)and(0 <=min <=59)and(0 <=sec <=61)):\n return timegm(tt)\n else:\n return None\n \nDAYS=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]\nMONTHS=["Jan","Feb","Mar","Apr","May","Jun",\n"Jul","Aug","Sep","Oct","Nov","Dec"]\nMONTHS_LOWER=[month.lower()for month in MONTHS]\n\ndef time2isoz(t=None):\n \'\'\n\n\n\n\n\n\n\n\n\n \n if t is None:\n dt=datetime.datetime.now(tz=datetime.UTC)\n else:\n dt=datetime.datetime.fromtimestamp(t,tz=datetime.UTC)\n return "%04d-%02d-%02d %02d:%02d:%02dZ"%(\n dt.year,dt.month,dt.day,dt.hour,dt.minute,dt.second)\n \ndef time2netscape(t=None):\n \'\'\n\n\n\n\n\n\n\n\n \n if t is None:\n dt=datetime.datetime.now(tz=datetime.UTC)\n else:\n dt=datetime.datetime.fromtimestamp(t,tz=datetime.UTC)\n return "%s, %02d-%s-%04d %02d:%02d:%02d GMT"%(\n DAYS[dt.weekday()],dt.day,MONTHS[dt.month -1],\n dt.year,dt.hour,dt.minute,dt.second)\n \n \nUTC_ZONES={"GMT":None,"UTC":None,"UT":None,"Z":None}\n\nTIMEZONE_RE=re.compile(r"^([-+])?(\\d\\d?):?(\\d\\d)?$",re.ASCII)\ndef offset_from_tz_string(tz):\n offset=None\n if tz in UTC_ZONES:\n offset=0\n else:\n m=TIMEZONE_RE.search(tz)\n if m:\n offset=3600 *int(m.group(2))\n if m.group(3):\n offset=offset+60 *int(m.group(3))\n if m.group(1)==\'-\':\n offset=-offset\n return offset\n \ndef _str2time(day,mon,yr,hr,min,sec,tz):\n yr=int(yr)\n if yr >datetime.MAXYEAR:\n return None\n \n \n \n try:\n mon=MONTHS_LOWER.index(mon.lower())+1\n except ValueError:\n \n try:\n imon=int(mon)\n except ValueError:\n return None\n if 1 <=imon <=12:\n mon=imon\n else:\n return None\n \n \n if hr is None:hr=0\n if min is None:min=0\n if sec is None:sec=0\n \n day=int(day)\n hr=int(hr)\n min=int(min)\n sec=int(sec)\n \n if yr <1000:\n \n cur_yr=time.localtime(time.time())[0]\n m=cur_yr %100\n tmp=yr\n yr=yr+cur_yr -m\n m=m -tmp\n if abs(m)>50:\n if m >0:yr=yr+100\n else:yr=yr -100\n \n \n t=_timegm((yr,mon,day,hr,min,sec,tz))\n \n if t is not None:\n \n if tz is None:\n tz="UTC"\n tz=tz.upper()\n offset=offset_from_tz_string(tz)\n if offset is None:\n return None\n t=t -offset\n \n return t\n \nSTRICT_DATE_RE=re.compile(\nr"^[SMTWF][a-z][a-z], (\\d\\d) ([JFMASOND][a-z][a-z]) "\nr"(\\d\\d\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$",re.ASCII)\nWEEKDAY_RE=re.compile(\nr"^(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)[a-z]*,?\\s*",re.I |re.ASCII)\nLOOSE_HTTP_DATE_RE=re.compile(\nr"""^\n (\\d\\d?) # day\n (?:\\s+|[-\\/])\n (\\w+) # month\n (?:\\s+|[-\\/])\n (\\d+) # year\n (?:\n (?:\\s+|:) # separator before clock\n (\\d\\d?):(\\d\\d) # hour:min\n (?::(\\d\\d))? # optional seconds\n )? # optional clock\n \\s*\n (?:\n ([-+]?\\d{2,4}|(?![APap][Mm]\\b)[A-Za-z]+) # timezone\n \\s*\n )?\n (?:\n \\(\\w+\\) # ASCII representation of timezone in parens.\n \\s*\n )?$""",re.X |re.ASCII)\ndef http2time(text):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n m=STRICT_DATE_RE.search(text)\n if m:\n g=m.groups()\n mon=MONTHS_LOWER.index(g[1].lower())+1\n tt=(int(g[2]),mon,int(g[0]),\n int(g[3]),int(g[4]),float(g[5]))\n return _timegm(tt)\n \n \n \n \n text=text.lstrip()\n text=WEEKDAY_RE.sub("",text,1)\n \n \n day,mon,yr,hr,min,sec,tz=[None]*7\n \n \n m=LOOSE_HTTP_DATE_RE.search(text)\n if m is not None:\n day,mon,yr,hr,min,sec,tz=m.groups()\n else:\n return None\n \n return _str2time(day,mon,yr,hr,min,sec,tz)\n \nISO_DATE_RE=re.compile(\nr"""^\n (\\d{4}) # year\n [-\\/]?\n (\\d\\d?) # numerical month\n [-\\/]?\n (\\d\\d?) # day\n (?:\n (?:\\s+|[-:Tt]) # separator before clock\n (\\d\\d?):?(\\d\\d) # hour:min\n (?::?(\\d\\d(?:\\.\\d*)?))? # optional seconds (and fractional)\n )? # optional clock\n \\s*\n (?:\n ([-+]?\\d\\d?:?(:?\\d\\d)?\n |Z|z) # timezone (Z is "zero meridian", i.e. GMT)\n \\s*\n )?$""",re.X |re.ASCII)\ndef iso2time(text):\n \'\'\n\n\n\n\n\n\n\n\n\n \n \n text=text.lstrip()\n \n \n day,mon,yr,hr,min,sec,tz=[None]*7\n \n \n m=ISO_DATE_RE.search(text)\n if m is not None:\n \n \n yr,mon,day,hr,min,sec,tz,_=m.groups()\n else:\n return None\n \n return _str2time(day,mon,yr,hr,min,sec,tz)\n \n \n \n \n \ndef unmatched(match):\n \'\'\n start,end=match.span(0)\n return match.string[:start]+match.string[end:]\n \nHEADER_TOKEN_RE=re.compile(r"^\\s*([^=\\s;,]+)")\nHEADER_QUOTED_VALUE_RE=re.compile(r"^\\s*=\\s*\\"([^\\"\\\\]*(?:\\\\.[^\\"\\\\]*)*)\\"")\nHEADER_VALUE_RE=re.compile(r"^\\s*=\\s*([^\\s;,]*)")\nHEADER_ESCAPE_RE=re.compile(r"\\\\(.)")\ndef split_header_words(header_values):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n assert not isinstance(header_values,str)\n result=[]\n for text in header_values:\n orig_text=text\n pairs=[]\n while text:\n m=HEADER_TOKEN_RE.search(text)\n if m:\n text=unmatched(m)\n name=m.group(1)\n m=HEADER_QUOTED_VALUE_RE.search(text)\n if m:\n text=unmatched(m)\n value=m.group(1)\n value=HEADER_ESCAPE_RE.sub(r"\\1",value)\n else:\n m=HEADER_VALUE_RE.search(text)\n if m:\n text=unmatched(m)\n value=m.group(1)\n value=value.rstrip()\n else:\n \n value=None\n pairs.append((name,value))\n elif text.lstrip().startswith(","):\n \n text=text.lstrip()[1:]\n if pairs:result.append(pairs)\n pairs=[]\n else:\n \n non_junk,nr_junk_chars=re.subn(r"^[=\\s;]*","",text)\n assert nr_junk_chars >0,(\n "split_header_words bug: \'%s\', \'%s\', %s"%\n (orig_text,text,pairs))\n text=non_junk\n if pairs:result.append(pairs)\n return result\n \nHEADER_JOIN_ESCAPE_RE=re.compile(r"([\\"\\\\])")\ndef join_header_words(lists):\n \'\'\n\n\n\n\n\n\n\n\n\n \n headers=[]\n for pairs in lists:\n attr=[]\n for k,v in pairs:\n if v is not None:\n if not re.search(r"^\\w+$",v):\n v=HEADER_JOIN_ESCAPE_RE.sub(r"\\\\\\1",v)\n v=\'"%s"\'%v\n k="%s=%s"%(k,v)\n attr.append(k)\n if attr:headers.append("; ".join(attr))\n return ", ".join(headers)\n \ndef strip_quotes(text):\n if text.startswith(\'"\'):\n text=text[1:]\n if text.endswith(\'"\'):\n text=text[:-1]\n return text\n \ndef parse_ns_headers(ns_headers):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n \n known_attrs=("expires","domain","path","secure",\n \n "version","port","max-age")\n \n result=[]\n for ns_header in ns_headers:\n pairs=[]\n version_set=False\n \n \n \n \n \n for ii,param in enumerate(ns_header.split(\';\')):\n param=param.strip()\n \n key,sep,val=param.partition(\'=\')\n key=key.strip()\n \n if not key:\n if ii ==0:\n break\n else:\n continue\n \n \n \n val=val.strip()if sep else None\n \n if ii !=0:\n lc=key.lower()\n if lc in known_attrs:\n key=lc\n \n if key =="version":\n \n if val is not None:\n val=strip_quotes(val)\n version_set=True\n elif key =="expires":\n \n if val is not None:\n val=http2time(strip_quotes(val))\n pairs.append((key,val))\n \n if pairs:\n if not version_set:\n pairs.append(("version","0"))\n result.append(pairs)\n \n return result\n \n \nIPV4_RE=re.compile(r"\\.\\d+$",re.ASCII)\ndef is_HDN(text):\n \'\'\n \n \n \n \n \n if IPV4_RE.search(text):\n return False\n if text =="":\n return False\n if text[0]=="."or text[-1]==".":\n return False\n return True\n \ndef domain_match(A,B):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n A=A.lower()\n B=B.lower()\n if A ==B:\n return True\n if not is_HDN(A):\n return False\n i=A.rfind(B)\n if i ==-1 or i ==0:\n \n return False\n if not B.startswith("."):\n return False\n if not is_HDN(B[1:]):\n return False\n return True\n \ndef liberal_is_HDN(text):\n \'\'\n\n\n\n \n if IPV4_RE.search(text):\n return False\n return True\n \ndef user_domain_match(A,B):\n \'\'\n\n\n\n \n A=A.lower()\n B=B.lower()\n if not(liberal_is_HDN(A)and liberal_is_HDN(B)):\n if A ==B:\n \n return True\n return False\n initial_dot=B.startswith(".")\n if initial_dot and A.endswith(B):\n return True\n if not initial_dot and A ==B:\n return True\n return False\n \ncut_port_re=re.compile(r":\\d+$",re.ASCII)\ndef request_host(request):\n \'\'\n\n\n\n\n \n url=request.get_full_url()\n host=urllib.parse.urlparse(url)[1]\n if host =="":\n host=request.get_header("Host","")\n \n \n host=cut_port_re.sub("",host,1)\n return host.lower()\n \ndef eff_request_host(request):\n \'\'\n\n\n\n \n erhn=req_host=request_host(request)\n if "."not in req_host:\n erhn=req_host+".local"\n return req_host,erhn\n \ndef request_path(request):\n \'\'\n url=request.get_full_url()\n parts=urllib.parse.urlsplit(url)\n path=escape_path(parts.path)\n if not path.startswith("/"):\n \n path="/"+path\n return path\n \ndef request_port(request):\n host=request.host\n i=host.find(\':\')\n if i >=0:\n port=host[i+1:]\n try:\n int(port)\n except ValueError:\n _debug("nonnumeric port: \'%s\'",port)\n return None\n else:\n port=DEFAULT_HTTP_PORT\n return port\n \n \n \nHTTP_PATH_SAFE="%/;:@&=+$,!~*\'()"\nESCAPED_CHAR_RE=re.compile(r"%([0-9a-fA-F][0-9a-fA-F])")\ndef uppercase_escaped_char(match):\n return "%%%s"%match.group(1).upper()\ndef escape_path(path):\n \'\'\n \n \n \n \n \n \n \n \n path=urllib.parse.quote(path,HTTP_PATH_SAFE)\n path=ESCAPED_CHAR_RE.sub(uppercase_escaped_char,path)\n return path\n \ndef reach(h):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n i=h.find(".")\n if i >=0:\n \n b=h[i+1:]\n i=b.find(".")\n if is_HDN(h)and(i >=0 or b =="local"):\n return "."+b\n return h\n \ndef is_third_party(request):\n \'\'\n\n\n\n\n\n\n\n \n req_host=request_host(request)\n if not domain_match(req_host,reach(request.origin_req_host)):\n return True\n else:\n return False\n \n \nclass Cookie:\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def __init__(self,version,name,value,\n port,port_specified,\n domain,domain_specified,domain_initial_dot,\n path,path_specified,\n secure,\n expires,\n discard,\n comment,\n comment_url,\n rest,\n rfc2109=False,\n ):\n \n if version is not None:version=int(version)\n if expires is not None:expires=int(float(expires))\n if port is None and port_specified is True:\n raise ValueError("if port is None, port_specified must be false")\n \n self.version=version\n self.name=name\n self.value=value\n self.port=port\n self.port_specified=port_specified\n \n self.domain=domain.lower()\n self.domain_specified=domain_specified\n \n \n \n \n self.domain_initial_dot=domain_initial_dot\n self.path=path\n self.path_specified=path_specified\n self.secure=secure\n self.expires=expires\n self.discard=discard\n self.comment=comment\n self.comment_url=comment_url\n self.rfc2109=rfc2109\n \n self._rest=copy.copy(rest)\n \n def has_nonstandard_attr(self,name):\n return name in self._rest\n def get_nonstandard_attr(self,name,default=None):\n return self._rest.get(name,default)\n def set_nonstandard_attr(self,name,value):\n self._rest[name]=value\n \n def is_expired(self,now=None):\n if now is None:now=time.time()\n if(self.expires is not None)and(self.expires <=now):\n return True\n return False\n \n def __str__(self):\n if self.port is None:p=""\n else:p=":"+self.port\n limit=self.domain+p+self.path\n if self.value is not None:\n namevalue="%s=%s"%(self.name,self.value)\n else:\n namevalue=self.name\n return ""%(namevalue,limit)\n \n def __repr__(self):\n args=[]\n for name in("version","name","value",\n "port","port_specified",\n "domain","domain_specified","domain_initial_dot",\n "path","path_specified",\n "secure","expires","discard","comment","comment_url",\n ):\n attr=getattr(self,name)\n args.append("%s=%s"%(name,repr(attr)))\n args.append("rest=%s"%repr(self._rest))\n args.append("rfc2109=%s"%repr(self.rfc2109))\n return "%s(%s)"%(self.__class__.__name__,", ".join(args))\n \n \nclass CookiePolicy:\n \'\'\n\n\n\n\n\n\n \n def set_ok(self,cookie,request):\n \'\'\n\n\n\n\n \n raise NotImplementedError()\n \n def return_ok(self,cookie,request):\n \'\'\n raise NotImplementedError()\n \n def domain_return_ok(self,domain,request):\n \'\'\n \n return True\n \n def path_return_ok(self,path,request):\n \'\'\n \n return True\n \n \nclass DefaultCookiePolicy(CookiePolicy):\n \'\'\n \n DomainStrictNoDots=1\n DomainStrictNonDomain=2\n DomainRFC2965Match=4\n \n DomainLiberal=0\n DomainStrict=DomainStrictNoDots |DomainStrictNonDomain\n \n def __init__(self,\n blocked_domains=None,allowed_domains=None,\n netscape=True,rfc2965=False,\n rfc2109_as_netscape=None,\n hide_cookie2=False,\n strict_domain=False,\n strict_rfc2965_unverifiable=True,\n strict_ns_unverifiable=False,\n strict_ns_domain=DomainLiberal,\n strict_ns_set_initial_dollar=False,\n strict_ns_set_path=False,\n secure_protocols=("https","wss")\n ):\n \'\'\n self.netscape=netscape\n self.rfc2965=rfc2965\n self.rfc2109_as_netscape=rfc2109_as_netscape\n self.hide_cookie2=hide_cookie2\n self.strict_domain=strict_domain\n self.strict_rfc2965_unverifiable=strict_rfc2965_unverifiable\n self.strict_ns_unverifiable=strict_ns_unverifiable\n self.strict_ns_domain=strict_ns_domain\n self.strict_ns_set_initial_dollar=strict_ns_set_initial_dollar\n self.strict_ns_set_path=strict_ns_set_path\n self.secure_protocols=secure_protocols\n \n if blocked_domains is not None:\n self._blocked_domains=tuple(blocked_domains)\n else:\n self._blocked_domains=()\n \n if allowed_domains is not None:\n allowed_domains=tuple(allowed_domains)\n self._allowed_domains=allowed_domains\n \n def blocked_domains(self):\n \'\'\n return self._blocked_domains\n def set_blocked_domains(self,blocked_domains):\n \'\'\n self._blocked_domains=tuple(blocked_domains)\n \n def is_blocked(self,domain):\n for blocked_domain in self._blocked_domains:\n if user_domain_match(domain,blocked_domain):\n return True\n return False\n \n def allowed_domains(self):\n \'\'\n return self._allowed_domains\n def set_allowed_domains(self,allowed_domains):\n \'\'\n if allowed_domains is not None:\n allowed_domains=tuple(allowed_domains)\n self._allowed_domains=allowed_domains\n \n def is_not_allowed(self,domain):\n if self._allowed_domains is None:\n return False\n for allowed_domain in self._allowed_domains:\n if user_domain_match(domain,allowed_domain):\n return False\n return True\n \n def set_ok(self,cookie,request):\n \'\'\n\n\n\n\n \n _debug(" - checking cookie %s=%s",cookie.name,cookie.value)\n \n assert cookie.name is not None\n \n for n in "version","verifiability","name","path","domain","port":\n fn_name="set_ok_"+n\n fn=getattr(self,fn_name)\n if not fn(cookie,request):\n return False\n \n return True\n \n def set_ok_version(self,cookie,request):\n if cookie.version is None:\n \n \n _debug(" Set-Cookie2 without version attribute (%s=%s)",\n cookie.name,cookie.value)\n return False\n if cookie.version >0 and not self.rfc2965:\n _debug(" RFC 2965 cookies are switched off")\n return False\n elif cookie.version ==0 and not self.netscape:\n _debug(" Netscape cookies are switched off")\n return False\n return True\n \n def set_ok_verifiability(self,cookie,request):\n if request.unverifiable and is_third_party(request):\n if cookie.version >0 and self.strict_rfc2965_unverifiable:\n _debug(" third-party RFC 2965 cookie during "\n "unverifiable transaction")\n return False\n elif cookie.version ==0 and self.strict_ns_unverifiable:\n _debug(" third-party Netscape cookie during "\n "unverifiable transaction")\n return False\n return True\n \n def set_ok_name(self,cookie,request):\n \n \n if(cookie.version ==0 and self.strict_ns_set_initial_dollar and\n cookie.name.startswith("$")):\n _debug(" illegal name (starts with \'$\'): \'%s\'",cookie.name)\n return False\n return True\n \n def set_ok_path(self,cookie,request):\n if cookie.path_specified:\n req_path=request_path(request)\n if((cookie.version >0 or\n (cookie.version ==0 and self.strict_ns_set_path))and\n not self.path_return_ok(cookie.path,request)):\n _debug(" path attribute %s is not a prefix of request "\n "path %s",cookie.path,req_path)\n return False\n return True\n \n def set_ok_domain(self,cookie,request):\n if self.is_blocked(cookie.domain):\n _debug(" domain %s is in user block-list",cookie.domain)\n return False\n if self.is_not_allowed(cookie.domain):\n _debug(" domain %s is not in user allow-list",cookie.domain)\n return False\n if cookie.domain_specified:\n req_host,erhn=eff_request_host(request)\n domain=cookie.domain\n if self.strict_domain and(domain.count(".")>=2):\n \n \n \n i=domain.rfind(".")\n j=domain.rfind(".",0,i)\n if j ==0:\n tld=domain[i+1:]\n sld=domain[j+1:i]\n if sld.lower()in("co","ac","com","edu","org","net",\n "gov","mil","int","aero","biz","cat","coop",\n "info","jobs","mobi","museum","name","pro",\n "travel","eu")and len(tld)==2:\n \n _debug(" country-code second level domain %s",domain)\n return False\n if domain.startswith("."):\n undotted_domain=domain[1:]\n else:\n undotted_domain=domain\n embedded_dots=(undotted_domain.find(".")>=0)\n if not embedded_dots and not erhn.endswith(".local"):\n _debug(" non-local domain %s contains no embedded dot",\n domain)\n return False\n if cookie.version ==0:\n if(not(erhn.endswith(domain)or\n erhn.endswith(f"{undotted_domain}.local"))and\n (not erhn.startswith(".")and\n not("."+erhn).endswith(domain))):\n _debug(" effective request-host %s (even with added "\n "initial dot) does not end with %s",\n erhn,domain)\n return False\n if(cookie.version >0 or\n (self.strict_ns_domain&self.DomainRFC2965Match)):\n if not domain_match(erhn,domain):\n _debug(" effective request-host %s does not domain-match "\n "%s",erhn,domain)\n return False\n if(cookie.version >0 or\n (self.strict_ns_domain&self.DomainStrictNoDots)):\n host_prefix=req_host[:-len(domain)]\n if(host_prefix.find(".")>=0 and\n not IPV4_RE.search(req_host)):\n _debug(" host prefix %s for domain %s contains a dot",\n host_prefix,domain)\n return False\n return True\n \n def set_ok_port(self,cookie,request):\n if cookie.port_specified:\n req_port=request_port(request)\n if req_port is None:\n req_port="80"\n else:\n req_port=str(req_port)\n for p in cookie.port.split(","):\n try:\n int(p)\n except ValueError:\n _debug(" bad port %s (not numeric)",p)\n return False\n if p ==req_port:\n break\n else:\n _debug(" request port (%s) not found in %s",\n req_port,cookie.port)\n return False\n return True\n \n def return_ok(self,cookie,request):\n \'\'\n\n\n\n\n \n \n \n _debug(" - checking cookie %s=%s",cookie.name,cookie.value)\n \n for n in "version","verifiability","secure","expires","port","domain":\n fn_name="return_ok_"+n\n fn=getattr(self,fn_name)\n if not fn(cookie,request):\n return False\n return True\n \n def return_ok_version(self,cookie,request):\n if cookie.version >0 and not self.rfc2965:\n _debug(" RFC 2965 cookies are switched off")\n return False\n elif cookie.version ==0 and not self.netscape:\n _debug(" Netscape cookies are switched off")\n return False\n return True\n \n def return_ok_verifiability(self,cookie,request):\n if request.unverifiable and is_third_party(request):\n if cookie.version >0 and self.strict_rfc2965_unverifiable:\n _debug(" third-party RFC 2965 cookie during unverifiable "\n "transaction")\n return False\n elif cookie.version ==0 and self.strict_ns_unverifiable:\n _debug(" third-party Netscape cookie during unverifiable "\n "transaction")\n return False\n return True\n \n def return_ok_secure(self,cookie,request):\n if cookie.secure and request.type not in self.secure_protocols:\n _debug(" secure cookie with non-secure request")\n return False\n return True\n \n def return_ok_expires(self,cookie,request):\n if cookie.is_expired(self._now):\n _debug(" cookie expired")\n return False\n return True\n \n def return_ok_port(self,cookie,request):\n if cookie.port:\n req_port=request_port(request)\n if req_port is None:\n req_port="80"\n for p in cookie.port.split(","):\n if p ==req_port:\n break\n else:\n _debug(" request port %s does not match cookie port %s",\n req_port,cookie.port)\n return False\n return True\n \n def return_ok_domain(self,cookie,request):\n req_host,erhn=eff_request_host(request)\n domain=cookie.domain\n \n if domain and not domain.startswith("."):\n dotdomain="."+domain\n else:\n dotdomain=domain\n \n \n if(cookie.version ==0 and\n (self.strict_ns_domain&self.DomainStrictNonDomain)and\n not cookie.domain_specified and domain !=erhn):\n _debug(" cookie with unspecified domain does not string-compare "\n "equal to request domain")\n return False\n \n if cookie.version >0 and not domain_match(erhn,domain):\n _debug(" effective request-host name %s does not domain-match "\n "RFC 2965 cookie domain %s",erhn,domain)\n return False\n if cookie.version ==0 and not("."+erhn).endswith(dotdomain):\n _debug(" request-host %s does not match Netscape cookie domain "\n "%s",req_host,domain)\n return False\n return True\n \n def domain_return_ok(self,domain,request):\n \n \n req_host,erhn=eff_request_host(request)\n if not req_host.startswith("."):\n req_host="."+req_host\n if not erhn.startswith("."):\n erhn="."+erhn\n if domain and not domain.startswith("."):\n dotdomain="."+domain\n else:\n dotdomain=domain\n if not(req_host.endswith(dotdomain)or erhn.endswith(dotdomain)):\n \n \n return False\n \n if self.is_blocked(domain):\n _debug(" domain %s is in user block-list",domain)\n return False\n if self.is_not_allowed(domain):\n _debug(" domain %s is not in user allow-list",domain)\n return False\n \n return True\n \n def path_return_ok(self,path,request):\n _debug("- checking cookie path=%s",path)\n req_path=request_path(request)\n pathlen=len(path)\n if req_path ==path:\n return True\n elif(req_path.startswith(path)and\n (path.endswith("/")or req_path[pathlen:pathlen+1]=="/")):\n return True\n \n _debug(" %s does not path-match %s",req_path,path)\n return False\n \ndef deepvalues(mapping):\n \'\'\n for obj in list(mapping.values()):\n mapping=False\n try:\n obj.items\n except AttributeError:\n pass\n else:\n mapping=True\n yield from deepvalues(obj)\n if not mapping:\n yield obj\n \n \n \n \nclass Absent:pass\n\nclass CookieJar:\n \'\'\n\n\n\n \n \n non_word_re=re.compile(r"\\W")\n quote_re=re.compile(r"([\\"\\\\])")\n strict_domain_re=re.compile(r"\\.?[^.]*")\n domain_re=re.compile(r"[^.]*")\n dots_re=re.compile(r"^\\.+")\n \n magic_re=re.compile(r"^\\#LWP-Cookies-(\\d+\\.\\d+)",re.ASCII)\n \n def __init__(self,policy=None):\n if policy is None:\n policy=DefaultCookiePolicy()\n self._policy=policy\n \n self._cookies_lock=_threading.RLock()\n self._cookies={}\n \n def set_policy(self,policy):\n self._policy=policy\n \n def _cookies_for_domain(self,domain,request):\n cookies=[]\n if not self._policy.domain_return_ok(domain,request):\n return[]\n _debug("Checking %s for cookies to return",domain)\n cookies_by_path=self._cookies[domain]\n for path in cookies_by_path.keys():\n if not self._policy.path_return_ok(path,request):\n continue\n cookies_by_name=cookies_by_path[path]\n for cookie in cookies_by_name.values():\n if not self._policy.return_ok(cookie,request):\n _debug(" not returning cookie")\n continue\n _debug(" it\'s a match")\n cookies.append(cookie)\n return cookies\n \n def _cookies_for_request(self,request):\n \'\'\n cookies=[]\n for domain in self._cookies.keys():\n cookies.extend(self._cookies_for_domain(domain,request))\n return cookies\n \n def _cookie_attrs(self,cookies):\n \'\'\n\n\n\n\n\n\n \n \n cookies.sort(key=lambda a:len(a.path),reverse=True)\n \n version_set=False\n \n attrs=[]\n for cookie in cookies:\n \n \n \n \n \n \n version=cookie.version\n if not version_set:\n version_set=True\n if version >0:\n attrs.append("$Version=%s"%version)\n \n \n \n \n if((cookie.value is not None)and\n self.non_word_re.search(cookie.value)and version >0):\n value=self.quote_re.sub(r"\\\\\\1",cookie.value)\n else:\n value=cookie.value\n \n \n if cookie.value is None:\n attrs.append(cookie.name)\n else:\n attrs.append("%s=%s"%(cookie.name,value))\n if version >0:\n if cookie.path_specified:\n attrs.append(\'$Path="%s"\'%cookie.path)\n if cookie.domain.startswith("."):\n domain=cookie.domain\n if(not cookie.domain_initial_dot and\n domain.startswith(".")):\n domain=domain[1:]\n attrs.append(\'$Domain="%s"\'%domain)\n if cookie.port is not None:\n p="$Port"\n if cookie.port_specified:\n p=p+(\'="%s"\'%cookie.port)\n attrs.append(p)\n \n return attrs\n \n def add_cookie_header(self,request):\n \'\'\n\n\n\n \n _debug("add_cookie_header")\n self._cookies_lock.acquire()\n try:\n \n self._policy._now=self._now=int(time.time())\n \n cookies=self._cookies_for_request(request)\n \n attrs=self._cookie_attrs(cookies)\n if attrs:\n if not request.has_header("Cookie"):\n request.add_unredirected_header(\n "Cookie","; ".join(attrs))\n \n \n if(self._policy.rfc2965 and not self._policy.hide_cookie2 and\n not request.has_header("Cookie2")):\n for cookie in cookies:\n if cookie.version !=1:\n request.add_unredirected_header("Cookie2",\'$Version="1"\')\n break\n \n finally:\n self._cookies_lock.release()\n \n self.clear_expired_cookies()\n \n def _normalized_cookie_tuples(self,attrs_set):\n \'\'\n\n\n\n\n\n\n\n\n\n\n \n cookie_tuples=[]\n \n boolean_attrs="discard","secure"\n value_attrs=("version",\n "expires","max-age",\n "domain","path","port",\n "comment","commenturl")\n \n for cookie_attrs in attrs_set:\n name,value=cookie_attrs[0]\n \n \n \n \n \n \n \n \n \n max_age_set=False\n \n bad_cookie=False\n \n standard={}\n rest={}\n for k,v in cookie_attrs[1:]:\n lc=k.lower()\n \n if lc in value_attrs or lc in boolean_attrs:\n k=lc\n if k in boolean_attrs and v is None:\n \n \n v=True\n if k in standard:\n \n continue\n if k =="domain":\n if v is None:\n _debug(" missing value for domain attribute")\n bad_cookie=True\n break\n \n v=v.lower()\n if k =="expires":\n if max_age_set:\n \n continue\n if v is None:\n _debug(" missing or invalid value for expires "\n "attribute: treating as session cookie")\n continue\n if k =="max-age":\n max_age_set=True\n try:\n v=int(v)\n except ValueError:\n _debug(" missing or invalid (non-numeric) value for "\n "max-age attribute")\n bad_cookie=True\n break\n \n \n \n \n k="expires"\n v=self._now+v\n if(k in value_attrs)or(k in boolean_attrs):\n if(v is None and\n k not in("port","comment","commenturl")):\n _debug(" missing value for %s attribute"%k)\n bad_cookie=True\n break\n standard[k]=v\n else:\n rest[k]=v\n \n if bad_cookie:\n continue\n \n cookie_tuples.append((name,value,standard,rest))\n \n return cookie_tuples\n \n def _cookie_from_cookie_tuple(self,tup,request):\n \n \n name,value,standard,rest=tup\n \n domain=standard.get("domain",Absent)\n path=standard.get("path",Absent)\n port=standard.get("port",Absent)\n expires=standard.get("expires",Absent)\n \n \n version=standard.get("version",None)\n if version is not None:\n try:\n version=int(version)\n except ValueError:\n return None\n secure=standard.get("secure",False)\n \n discard=standard.get("discard",False)\n comment=standard.get("comment",None)\n comment_url=standard.get("commenturl",None)\n \n \n if path is not Absent and path !="":\n path_specified=True\n path=escape_path(path)\n else:\n path_specified=False\n path=request_path(request)\n i=path.rfind("/")\n if i !=-1:\n if version ==0:\n \n path=path[:i]\n else:\n path=path[:i+1]\n if len(path)==0:path="/"\n \n \n domain_specified=domain is not Absent\n \n domain_initial_dot=False\n if domain_specified:\n domain_initial_dot=bool(domain.startswith("."))\n if domain is Absent:\n req_host,erhn=eff_request_host(request)\n domain=erhn\n elif not domain.startswith("."):\n domain="."+domain\n \n \n port_specified=False\n if port is not Absent:\n if port is None:\n \n \n port=request_port(request)\n else:\n port_specified=True\n port=re.sub(r"\\s+","",port)\n else:\n \n port=None\n \n \n if expires is Absent:\n expires=None\n discard=True\n elif expires <=self._now:\n \n \n try:\n self.clear(domain,path,name)\n except KeyError:\n pass\n _debug("Expiring cookie, domain=\'%s\', path=\'%s\', name=\'%s\'",\n domain,path,name)\n return None\n \n return Cookie(version,\n name,value,\n port,port_specified,\n domain,domain_specified,domain_initial_dot,\n path,path_specified,\n secure,\n expires,\n discard,\n comment,\n comment_url,\n rest)\n \n def _cookies_from_attrs_set(self,attrs_set,request):\n cookie_tuples=self._normalized_cookie_tuples(attrs_set)\n \n cookies=[]\n for tup in cookie_tuples:\n cookie=self._cookie_from_cookie_tuple(tup,request)\n if cookie:cookies.append(cookie)\n return cookies\n \n def _process_rfc2109_cookies(self,cookies):\n rfc2109_as_ns=getattr(self._policy,\'rfc2109_as_netscape\',None)\n if rfc2109_as_ns is None:\n rfc2109_as_ns=not self._policy.rfc2965\n for cookie in cookies:\n if cookie.version ==1:\n cookie.rfc2109=True\n if rfc2109_as_ns:\n \n \n cookie.version=0\n \n def make_cookies(self,response,request):\n \'\'\n \n headers=response.info()\n rfc2965_hdrs=headers.get_all("Set-Cookie2",[])\n ns_hdrs=headers.get_all("Set-Cookie",[])\n self._policy._now=self._now=int(time.time())\n \n rfc2965=self._policy.rfc2965\n netscape=self._policy.netscape\n \n if((not rfc2965_hdrs and not ns_hdrs)or\n (not ns_hdrs and not rfc2965)or\n (not rfc2965_hdrs and not netscape)or\n (not netscape and not rfc2965)):\n return[]\n \n try:\n cookies=self._cookies_from_attrs_set(\n split_header_words(rfc2965_hdrs),request)\n except Exception:\n _warn_unhandled_exception()\n cookies=[]\n \n if ns_hdrs and netscape:\n try:\n \n ns_cookies=self._cookies_from_attrs_set(\n parse_ns_headers(ns_hdrs),request)\n except Exception:\n _warn_unhandled_exception()\n ns_cookies=[]\n self._process_rfc2109_cookies(ns_cookies)\n \n \n \n \n \n \n \n if rfc2965:\n lookup={}\n for cookie in cookies:\n lookup[(cookie.domain,cookie.path,cookie.name)]=None\n \n def no_matching_rfc2965(ns_cookie,lookup=lookup):\n key=ns_cookie.domain,ns_cookie.path,ns_cookie.name\n return key not in lookup\n ns_cookies=filter(no_matching_rfc2965,ns_cookies)\n \n if ns_cookies:\n cookies.extend(ns_cookies)\n \n return cookies\n \n def set_cookie_if_ok(self,cookie,request):\n \'\'\n self._cookies_lock.acquire()\n try:\n self._policy._now=self._now=int(time.time())\n \n if self._policy.set_ok(cookie,request):\n self.set_cookie(cookie)\n \n \n finally:\n self._cookies_lock.release()\n \n def set_cookie(self,cookie):\n \'\'\n c=self._cookies\n self._cookies_lock.acquire()\n try:\n if cookie.domain not in c:c[cookie.domain]={}\n c2=c[cookie.domain]\n if cookie.path not in c2:c2[cookie.path]={}\n c3=c2[cookie.path]\n c3[cookie.name]=cookie\n finally:\n self._cookies_lock.release()\n \n def extract_cookies(self,response,request):\n \'\'\n _debug("extract_cookies: %s",response.info())\n self._cookies_lock.acquire()\n try:\n for cookie in self.make_cookies(response,request):\n if self._policy.set_ok(cookie,request):\n _debug(" setting cookie: %s",cookie)\n self.set_cookie(cookie)\n finally:\n self._cookies_lock.release()\n \n def clear(self,domain=None,path=None,name=None):\n \'\'\n\n\n\n\n\n\n\n\n\n \n if name is not None:\n if(domain is None)or(path is None):\n raise ValueError(\n "domain and path must be given to remove a cookie by name")\n del self._cookies[domain][path][name]\n elif path is not None:\n if domain is None:\n raise ValueError(\n "domain must be given to remove cookies by path")\n del self._cookies[domain][path]\n elif domain is not None:\n del self._cookies[domain]\n else:\n self._cookies={}\n \n def clear_session_cookies(self):\n \'\'\n\n\n\n\n \n self._cookies_lock.acquire()\n try:\n for cookie in self:\n if cookie.discard:\n self.clear(cookie.domain,cookie.path,cookie.name)\n finally:\n self._cookies_lock.release()\n \n def clear_expired_cookies(self):\n \'\'\n\n\n\n\n\n\n\n \n self._cookies_lock.acquire()\n try:\n now=time.time()\n for cookie in self:\n if cookie.is_expired(now):\n self.clear(cookie.domain,cookie.path,cookie.name)\n finally:\n self._cookies_lock.release()\n \n def __iter__(self):\n return deepvalues(self._cookies)\n \n def __len__(self):\n \'\'\n i=0\n for cookie in self:i=i+1\n return i\n \n def __repr__(self):\n r=[]\n for cookie in self:r.append(repr(cookie))\n return "<%s[%s]>"%(self.__class__.__name__,", ".join(r))\n \n def __str__(self):\n r=[]\n for cookie in self:r.append(str(cookie))\n return "<%s[%s]>"%(self.__class__.__name__,", ".join(r))\n \n \n \nclass LoadError(OSError):pass\n\nclass FileCookieJar(CookieJar):\n \'\'\n \n def __init__(self,filename=None,delayload=False,policy=None):\n \'\'\n\n\n\n \n CookieJar.__init__(self,policy)\n if filename is not None:\n filename=os.fspath(filename)\n self.filename=filename\n self.delayload=bool(delayload)\n \n def save(self,filename=None,ignore_discard=False,ignore_expires=False):\n \'\'\n raise NotImplementedError()\n \n def load(self,filename=None,ignore_discard=False,ignore_expires=False):\n \'\'\n if filename is None:\n if self.filename is not None:filename=self.filename\n else:raise ValueError(MISSING_FILENAME_TEXT)\n \n with open(filename)as f:\n self._really_load(f,filename,ignore_discard,ignore_expires)\n \n def revert(self,filename=None,\n ignore_discard=False,ignore_expires=False):\n \'\'\n\n\n\n\n \n if filename is None:\n if self.filename is not None:filename=self.filename\n else:raise ValueError(MISSING_FILENAME_TEXT)\n \n self._cookies_lock.acquire()\n try:\n \n old_state=copy.deepcopy(self._cookies)\n self._cookies={}\n try:\n self.load(filename,ignore_discard,ignore_expires)\n except OSError:\n self._cookies=old_state\n raise\n \n finally:\n self._cookies_lock.release()\n \n \ndef lwp_cookie_str(cookie):\n \'\'\n\n\n\n \n h=[(cookie.name,cookie.value),\n ("path",cookie.path),\n ("domain",cookie.domain)]\n if cookie.port is not None:h.append(("port",cookie.port))\n if cookie.path_specified:h.append(("path_spec",None))\n if cookie.port_specified:h.append(("port_spec",None))\n if cookie.domain_initial_dot:h.append(("domain_dot",None))\n if cookie.secure:h.append(("secure",None))\n if cookie.expires:h.append(("expires",\n time2isoz(float(cookie.expires))))\n if cookie.discard:h.append(("discard",None))\n if cookie.comment:h.append(("comment",cookie.comment))\n if cookie.comment_url:h.append(("commenturl",cookie.comment_url))\n \n keys=sorted(cookie._rest.keys())\n for k in keys:\n h.append((k,str(cookie._rest[k])))\n \n h.append(("version",str(cookie.version)))\n \n return join_header_words([h])\n \nclass LWPCookieJar(FileCookieJar):\n \'\'\n\n\n\n\n\n\n\n\n\n \n \n def as_lwp_str(self,ignore_discard=True,ignore_expires=True):\n \'\'\n\n\n\n \n now=time.time()\n r=[]\n for cookie in self:\n if not ignore_discard and cookie.discard:\n continue\n if not ignore_expires and cookie.is_expired(now):\n continue\n r.append("Set-Cookie3: %s"%lwp_cookie_str(cookie))\n return "\\n".join(r+[""])\n \n def save(self,filename=None,ignore_discard=False,ignore_expires=False):\n if filename is None:\n if self.filename is not None:filename=self.filename\n else:raise ValueError(MISSING_FILENAME_TEXT)\n \n with os.fdopen(\n os.open(filename,os.O_CREAT |os.O_WRONLY |os.O_TRUNC,0o600),\n \'w\',\n )as f:\n \n \n \n f.write("#LWP-Cookies-2.0\\n")\n f.write(self.as_lwp_str(ignore_discard,ignore_expires))\n \n def _really_load(self,f,filename,ignore_discard,ignore_expires):\n magic=f.readline()\n if not self.magic_re.search(magic):\n msg=("%r does not look like a Set-Cookie3 (LWP) format "\n "file"%filename)\n raise LoadError(msg)\n \n now=time.time()\n \n header="Set-Cookie3:"\n boolean_attrs=("port_spec","path_spec","domain_dot",\n "secure","discard")\n value_attrs=("version",\n "port","path","domain",\n "expires",\n "comment","commenturl")\n \n try:\n while(line :=f.readline())!="":\n if not line.startswith(header):\n continue\n line=line[len(header):].strip()\n \n for data in split_header_words([line]):\n name,value=data[0]\n standard={}\n rest={}\n for k in boolean_attrs:\n standard[k]=False\n for k,v in data[1:]:\n if k is not None:\n lc=k.lower()\n else:\n lc=None\n \n if(lc in value_attrs)or(lc in boolean_attrs):\n k=lc\n if k in boolean_attrs:\n if v is None:v=True\n standard[k]=v\n elif k in value_attrs:\n standard[k]=v\n else:\n rest[k]=v\n \n h=standard.get\n expires=h("expires")\n discard=h("discard")\n if expires is not None:\n expires=iso2time(expires)\n if expires is None:\n discard=True\n domain=h("domain")\n domain_specified=domain.startswith(".")\n c=Cookie(h("version"),name,value,\n h("port"),h("port_spec"),\n domain,domain_specified,h("domain_dot"),\n h("path"),h("path_spec"),\n h("secure"),\n expires,\n discard,\n h("comment"),\n h("commenturl"),\n rest)\n if not ignore_discard and c.discard:\n continue\n if not ignore_expires and c.is_expired(now):\n continue\n self.set_cookie(c)\n except OSError:\n raise\n except Exception:\n _warn_unhandled_exception()\n raise LoadError("invalid Set-Cookie3 format file %r: %r"%\n (filename,line))\n \n \nclass MozillaCookieJar(FileCookieJar):\n \'\'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n def _really_load(self,f,filename,ignore_discard,ignore_expires):\n now=time.time()\n \n if not NETSCAPE_MAGIC_RGX.match(f.readline()):\n raise LoadError(\n "%r does not look like a Netscape format cookies file"%\n filename)\n \n try:\n while(line :=f.readline())!="":\n rest={}\n \n \n \n \n if line.startswith(HTTPONLY_PREFIX):\n rest[HTTPONLY_ATTR]=""\n line=line[len(HTTPONLY_PREFIX):]\n \n \n if line.endswith("\\n"):line=line[:-1]\n \n \n if(line.strip().startswith(("#","$"))or\n line.strip()==""):\n continue\n \n domain,domain_specified,path,secure,expires,name,value=\\\n line.split("\\t")\n secure=(secure =="TRUE")\n domain_specified=(domain_specified =="TRUE")\n if name =="":\n \n \n \n name=value\n value=None\n \n initial_dot=domain.startswith(".")\n assert domain_specified ==initial_dot\n \n discard=False\n if expires =="":\n expires=None\n discard=True\n \n \n c=Cookie(0,name,value,\n None,False,\n domain,domain_specified,initial_dot,\n path,False,\n secure,\n expires,\n discard,\n None,\n None,\n rest)\n if not ignore_discard and c.discard:\n continue\n if not ignore_expires and c.is_expired(now):\n continue\n self.set_cookie(c)\n \n except OSError:\n raise\n except Exception:\n _warn_unhandled_exception()\n raise LoadError("invalid Netscape format cookies file %r: %r"%\n (filename,line))\n \n def save(self,filename=None,ignore_discard=False,ignore_expires=False):\n if filename is None:\n if self.filename is not None:filename=self.filename\n else:raise ValueError(MISSING_FILENAME_TEXT)\n \n with os.fdopen(\n os.open(filename,os.O_CREAT |os.O_WRONLY |os.O_TRUNC,0o600),\n \'w\',\n )as f:\n f.write(NETSCAPE_HEADER_TEXT)\n now=time.time()\n for cookie in self:\n domain=cookie.domain\n if not ignore_discard and cookie.discard:\n continue\n if not ignore_expires and cookie.is_expired(now):\n continue\n if cookie.secure:secure="TRUE"\n else:secure="FALSE"\n if domain.startswith("."):initial_dot="TRUE"\n else:initial_dot="FALSE"\n if cookie.expires is not None:\n expires=str(cookie.expires)\n else:\n expires=""\n if cookie.value is None:\n \n \n \n name=""\n value=cookie.name\n else:\n name=cookie.name\n value=cookie.value\n if cookie.has_nonstandard_attr(HTTPONLY_ATTR):\n domain=HTTPONLY_PREFIX+domain\n f.write(\n "\\t".join([domain,initial_dot,cookie.path,\n secure,expires,name,value])+\n "\\n")\n',["calendar","copy","datetime","http.client","io","logging","os","re","threading","time","traceback","urllib.parse","urllib.request","warnings"]],"http.cookies":[".py",'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nr"""\nHere\'s a sample session to show how to use this module.\nAt the moment, this is the only documentation.\n\nThe Basics\n----------\n\nImporting is easy...\n\n >>> from http import cookies\n\nMost of the time you start by creating a cookie.\n\n >>> C = cookies.SimpleCookie()\n\nOnce you\'ve created your Cookie, you can add values just as if it were\na dictionary.\n\n >>> C = cookies.SimpleCookie()\n >>> C["fig"] = "newton"\n >>> C["sugar"] = "wafer"\n >>> C.output()\n \'Set-Cookie: fig=newton\\r\\nSet-Cookie: sugar=wafer\'\n\nNotice that the printable representation of a Cookie is the\nappropriate format for a Set-Cookie: header. This is the\ndefault behavior. You can change the header and printed\nattributes by using the .output() function\n\n >>> C = cookies.SimpleCookie()\n >>> C["rocky"] = "road"\n >>> C["rocky"]["path"] = "/cookie"\n >>> print(C.output(header="Cookie:"))\n Cookie: rocky=road; Path=/cookie\n >>> print(C.output(attrs=[], header="Cookie:"))\n Cookie: rocky=road\n\nThe load() method of a Cookie extracts cookies from a string. In a\nCGI script, you would use this method to extract the cookies from the\nHTTP_COOKIE environment variable.\n\n >>> C = cookies.SimpleCookie()\n >>> C.load("chips=ahoy; vienna=finger")\n >>> C.output()\n \'Set-Cookie: chips=ahoy\\r\\nSet-Cookie: vienna=finger\'\n\nThe load() method is darn-tootin smart about identifying cookies\nwithin a string. Escaped quotation marks, nested semicolons, and other\nsuch trickeries do not confuse it.\n\n >>> C = cookies.SimpleCookie()\n >>> C.load(\'keebler="E=everybody; L=\\\\"Loves\\\\"; fudge=\\\\012;";\')\n >>> print(C)\n Set-Cookie: keebler="E=everybody; L=\\"Loves\\"; fudge=\\012;"\n\nEach element of the Cookie also supports all of the RFC 2109\nCookie attributes. Here\'s an example which sets the Path\nattribute.\n\n >>> C = cookies.SimpleCookie()\n >>> C["oreo"] = "doublestuff"\n >>> C["oreo"]["path"] = "/"\n >>> print(C)\n Set-Cookie: oreo=doublestuff; Path=/\n\nEach dictionary element has a \'value\' attribute, which gives you\nback the value associated with the key.\n\n >>> C = cookies.SimpleCookie()\n >>> C["twix"] = "none for you"\n >>> C["twix"].value\n \'none for you\'\n\nThe SimpleCookie expects that all values should be standard strings.\nJust to be sure, SimpleCookie invokes the str() builtin to convert\nthe value to a string, when the values are set dictionary-style.\n\n >>> C = cookies.SimpleCookie()\n >>> C["number"] = 7\n >>> C["string"] = "seven"\n >>> C["number"].value\n \'7\'\n >>> C["string"].value\n \'seven\'\n >>> C.output()\n \'Set-Cookie: number=7\\r\\nSet-Cookie: string=seven\'\n\nFinis.\n"""\n\n\n\n\nimport re\nimport string\nimport types\n\n__all__=["CookieError","BaseCookie","SimpleCookie"]\n\n_nulljoin=\'\'.join\n_semispacejoin=\'; \'.join\n_spacejoin=\' \'.join\n\n\n\n\nclass CookieError(Exception):\n pass\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n_LegalChars=string.ascii_letters+string.digits+"!#$%&\'*+-.^_`|~:"\n_UnescapedChars=_LegalChars+\' ()/<=>?@[]{}\'\n\n_Translator={n:\'\\\\%03o\'%n\nfor n in set(range(256))-set(map(ord,_UnescapedChars))}\n_Translator.update({\nord(\'"\'):\'\\\\"\',\nord(\'\\\\\'):\'\\\\\\\\\',\n})\n\n_is_legal_key=re.compile(\'[%s]+\'%re.escape(_LegalChars)).fullmatch\n\ndef _quote(str):\n \'\'\n\n\n\n\n \n if str is None or _is_legal_key(str):\n return str\n else:\n return \'"\'+str.translate(_Translator)+\'"\'\n \n \n_OctalPatt=re.compile(r"\\\\[0-3][0-7][0-7]")\n_QuotePatt=re.compile(r"[\\\\].")\n\ndef _unquote(str):\n\n\n if str is None or len(str)<2:\n return str\n if str[0]!=\'"\'or str[-1]!=\'"\':\n return str\n \n \n \n \n \n str=str[1:-1]\n \n \n \n \n \n i=0\n n=len(str)\n res=[]\n while 0 <=i \'%(self.__class__.__name__,self.OutputString())\n \n def js_output(self,attrs=None):\n \n return """\n + + + + +
    + Prizes + + + +
    Image Designed by Freepik +
    + + + + \ No newline at end of file diff --git a/web/pryzes/replay_pid707914.log b/web/pryzes/replay_pid707914.log new file mode 100644 index 0000000..8cc1ed7 --- /dev/null +++ b/web/pryzes/replay_pid707914.log @@ -0,0 +1,22632 @@ +JvmtiExport can_access_local_variables 0 +JvmtiExport can_hotswap_or_post_breakpoint 1 +JvmtiExport can_post_on_exceptions 0 +# 170 ciObject found +ciInstanceKlass java/lang/AssertionError 0 0 79 10 100 12 1 1 1 10 12 1 10 100 12 1 1 1 10 100 1 100 1 10 12 1 1 10 12 1 10 12 1 10 12 1 10 12 1 10 12 1 10 12 1 10 12 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass com/intellij/psi/util/CachedValueProfiler$ValueTracker +instanceKlass org/intellij/markdown/ast/ASTUtilKt +instanceKlass org/intellij/markdown/flavours/gfm/table/GitHubTableMarkerBlock$Companion +instanceKlass java/util/prefs/FileSystemPreferences$11 +instanceKlass java/util/prefs/FileSystemPreferences$12 +instanceKlass java/util/prefs/FileSystemPreferences$10 +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSConditionalCompileVariableReference +instanceKlass com/intellij/lang/javascript/psi/impl/JSArrayLiteralExpressionImpl$ExpressionsIterator +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocTagType +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocTagNamepath +instanceKlass com/intellij/lang/javascript/psi/jsdoc/impl/JSDocCommentCachedDataBuilder +instanceKlass com/intellij/lang/javascript/psi/jsdoc/impl/JSDocCommentCachedData +instanceKlass com/intellij/psi/stubs/ObjectStubTree$1 +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocTag +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeVisitor +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocDescription +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocTagPart +instanceKlass com/intellij/lang/javascript/parsing/JSDocParsing +instanceKlass org/intellij/plugins/markdown/lang/psi/impl/MarkdownImage$Companion +instanceKlass com/intellij/lang/javascript/ecmascript6/types/JSTypeHashCodeUtil +instanceKlass com/intellij/lang/javascript/psi/JSEmptyExpression +instanceKlass com/intellij/openapi/util/Conditions$Or +instanceKlass com/intellij/lang/ecmascript6/psi/Es6MetaProperty +instanceKlass com/intellij/lang/javascript/types/JSEmbeddedBlockElementType$ExplicitHolder +instanceKlass com/intellij/lang/javascript/JavaScriptSupportLoader$MxmlFileTypeHolder +instanceKlass org/jetbrains/vuejs/index/VueFrameworkHandlerKt +instanceKlass com/intellij/psi/css/impl/stubs/index/CssIndexUtil +instanceKlass com/intellij/indentation/OperationParserHelper$CustomBinaryOperationParser +instanceKlass com/intellij/indentation/OperationParserHelper +instanceKlass com/intellij/icons/AllIcons$Xml +instanceKlass com/intellij/psi/css/CssSelectorSuffixType +instanceKlass com/intellij/lang/javascript/psi/JSEmptyStatement +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSSpreadExpressionStubImpl$Companion +instanceKlass com/intellij/lang/ecmascript6/psi/ES6NamedImports +instanceKlass com/intellij/lang/javascript/psi/resolve/JSReferenceUtil +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptImplicitModule +instanceKlass com/intellij/lang/javascript/validation/HighlightSeverityHolder +instanceKlass com/intellij/lang/javascript/psi/types/evaluable/JSStubBasedExpressionType$JSExpressionStubAnchor +instanceKlass com/intellij/lang/javascript/psi/types/evaluable/JSStubBasedExpressionType$JSExpressionPsiAnchor +instanceKlass com/intellij/lang/javascript/psi/resolve/complexity/JSEvaluationTask +instanceKlass com/intellij/lang/javascript/psi/types/evaluable/JSStubBasedExpressionType$JSExpressionAnchor +instanceKlass com/intellij/lang/javascript/psi/ecma6/ES6TaggedTemplateExpression +instanceKlass com/intellij/lang/javascript/index/JSLocalTypeEvaluatorBase +instanceKlass com/intellij/lang/javascript/evaluation/JSExpressionTypeFactory +instanceKlass com/intellij/lang/javascript/psi/JSDestructuringShorthandedProperty +instanceKlass com/intellij/lang/javascript/psi/JSDestructuringObject +instanceKlass com/intellij/lang/javascript/psi/JSLabeledStatement +instanceKlass com/intellij/lang/javascript/index/JSPragmaFlags +instanceKlass com/intellij/javascript/testFramework/qunit/QUnitFileStructureBuilder$Builder +instanceKlass com/intellij/javascript/testFramework/util/JsPsiUtils +instanceKlass com/intellij/javascript/testFramework/jasmine/JasmineSuiteNode +instanceKlass com/intellij/javascript/testFramework/jasmine/JasmineFileStructureBuilder$Builder +instanceKlass com/intellij/javascript/testFramework/AbstractTestFileStructure +instanceKlass com/intellij/lang/ecmascript6/ES6ScriptContentProvider +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportDeclaration +instanceKlass java/util/Spliterators$IntIteratorSpliterator +instanceKlass java/lang/CharSequence$1CharIterator +instanceKlass com/intellij/xml/util/HtmlUtil$4 +instanceKlass com/intellij/psi/impl/source/parsing/xml/XmlBuilderDriver +instanceKlass com/intellij/openapi/updateSettings/impl/ExternalPluginResults +instanceKlass com/intellij/ide/externalComponents/ExternalComponentSource +instanceKlass com/intellij/ide/externalComponents/ExternalComponentManager +instanceKlass com/intellij/openapi/updateSettings/impl/PluginUpdates +instanceKlass com/intellij/openapi/updateSettings/impl/InternalPluginResults +instanceKlass com/intellij/lang/css/linter/stylelint/StylelintState +instanceKlass com/intellij/application/options/emmet/EmmetOptions +instanceKlass com/intellij/vcsUtil/VcsSelection +instanceKlass com/intellij/database/debugger/SqlDebugSessionRunner$Handler +instanceKlass com/intellij/database/psi/DbRoutine +instanceKlass com/intellij/execution/actions/ConfigurationContext$ExistingConfiguration +instanceKlass com/intellij/execution/runners/RunConfigurationWithSuppressedDefaultRunAction +instanceKlass org/jetbrains/plugins/cucumber/psi/GherkinFile +instanceKlass com/jetbrains/python/testing/TestRunConfigurationReRunResponsible +instanceKlass javax/swing/AbstractListModel +instanceKlass com/jetbrains/python/run/DebugAwareConfiguration +instanceKlass com/intellij/ui/Expandable +instanceKlass com/intellij/openapi/ui/BrowseFolderRunnable +instanceKlass com/jetbrains/python/run/PythonRunConfigurationForm +instanceKlass com/jetbrains/python/run/targetBasedConfiguration/TargetWithVariant +instanceKlass com/jetbrains/python/testing/tox/PyToxTestLocator +instanceKlass com/intellij/util/PathMappingSettings$PathMapping +instanceKlass com/intellij/execution/configurations/ConfigurationInfoProvider +instanceKlass com/intellij/diagnostic/logging/LogConsole +instanceKlass com/intellij/execution/configurations/ConfigurationPerRunnerSettings +instanceKlass com/intellij/execution/configurations/RunnerSettings +instanceKlass com/intellij/execution/configurations/AdditionalTabComponentManager +instanceKlass com/intellij/execution/configurations/ParamsGroup +instanceKlass com/jetbrains/python/testing/AbstractPythonTestRunConfiguration$Companion +instanceKlass com/jetbrains/python/testing/doctest/PythonDocTestRunConfigurationParams +instanceKlass com/jetbrains/python/testing/AbstractPythonTestRunConfigurationParams +instanceKlass com/jetbrains/python/run/RunnableScriptFilter +instanceKlass com/intellij/ui/UserActivityListener +instanceKlass com/intellij/docker/remote/compose/run/configuration/DockerComposeSettings$Companion +instanceKlass com/intellij/docker/remote/compose/run/configuration/DockerComposeSettings +instanceKlass com/jetbrains/python/docker/compose/run/DockerComposeSettingsRunConfigurationExtension$Companion +instanceKlass com/intellij/docker/agent/settings/DockerVolumeBinding +instanceKlass com/intellij/docker/agent/settings/DockerEnvVar +instanceKlass com/intellij/docker/agent/settings/DockerLink +instanceKlass com/intellij/docker/remote/DockerContainerSettings +instanceKlass com/intellij/docker/agent/settings/DockerPortBinding +instanceKlass com/jetbrains/python/run/PythonCommandLineEnvironmentProvider +instanceKlass com/intellij/javascript/testing/vitest/coverage/VitestCoverageRunner$Companion +instanceKlass com/intellij/execution/configurations/WrappingRunConfiguration +instanceKlass com/jetbrains/python/psi/resolve/RootVisitor +instanceKlass com/intellij/coverage/CoverageLineMarkerRenderer +instanceKlass com/intellij/coverage/LineMarkerRendererWithErrorStripe +instanceKlass com/intellij/openapi/editor/markup/FillingLineMarkerRenderer +instanceKlass com/intellij/openapi/editor/markup/LineMarkerRendererEx +instanceKlass com/intellij/javascript/testing/vitest/coverage/VitestCoverageEngine$Companion +instanceKlass com/intellij/coverage/CoverageSuite +instanceKlass com/intellij/coverage/view/CoverageViewExtension +instanceKlass com/intellij/execution/configurations/coverage/CoverageEnabledConfiguration +instanceKlass com/intellij/coverage/CoverageHelper +instanceKlass com/jetbrains/python/run/PythonRunConfigurationExtensionsManager$Companion +instanceKlass com/intellij/openapi/util/JDOMExternalizerUtil +instanceKlass com/jetbrains/python/sdk/PythonEnvUtil +instanceKlass com/intellij/openapi/module/impl/ModulePointerImpl$Companion +instanceKlass com/intellij/openapi/module/impl/ModulePointerImpl +instanceKlass com/intellij/openapi/module/ModulePointer +instanceKlass com/intellij/openapi/module/impl/ModuleRenamingHistoryState +instanceKlass com/intellij/openapi/module/impl/ModulePointerManagerImpl$1 +instanceKlass com/intellij/execution/configurations/RunConfigurationModule +instanceKlass com/intellij/execution/InputRedirectAware$InputRedirectOptions +instanceKlass com/jetbrains/python/run/PyCommonOptionsFormData +instanceKlass com/intellij/execution/InputRedirectAware +instanceKlass com/jetbrains/python/run/PythonRunConfigurationParams +instanceKlass com/intellij/javascript/karma/execution/KarmaRunSettings +instanceKlass com/intellij/javascript/karma/scope/KarmaScopeView +instanceKlass com/intellij/javascript/karma/execution/KarmaRunSettings$Builder +instanceKlass com/jetbrains/nodejs/mocha/execution/MochaRunSettings +instanceKlass com/jetbrains/nodejs/mocha/execution/MochaTestKindView +instanceKlass com/jetbrains/nodejs/mocha/execution/MochaRunSettings$Builder +instanceKlass com/intellij/javascript/nodejs/execution/NodeRunConfigurationLocationFilter +instanceKlass com/intellij/javascript/nodejs/execution/NodeRunConfigurationLocationFilterKt +instanceKlass com/jetbrains/nodejs/run/profile/NodeProfilingRuntimeSettings +instanceKlass com/jetbrains/nodejs/run/profile/settings/NodeProfilingSettings +instanceKlass com/intellij/ide/browsers/StartBrowserSettings +instanceKlass com/intellij/execution/impl/statistics/FusAwareRunConfiguration +instanceKlass com/intellij/database/HSet$HSetBean +instanceKlass com/intellij/sql/psi/impl/SqlImplUtil$EmptyTable +instanceKlass com/intellij/sql/psi/impl/SqlImplUtil +instanceKlass com/intellij/ide/browsers/OpenInBrowserRequestKt +instanceKlass com/intellij/json/psi/JsonFile +instanceKlass com/intellij/javascript/protractor/scope/ProtractorScopeView +instanceKlass com/intellij/javascript/protractor/ProtractorRunSettings$Builder +instanceKlass com/intellij/javascript/protractor/ProtractorRunSettings +instanceKlass com/intellij/javascript/testing/vitest/VitestRunSettings +instanceKlass com/intellij/javascript/testing/vitest/VitestRunSettings$Builder +instanceKlass com/intellij/javascript/testing/vitest/VitestRunConfiguration$Companion +instanceKlass com/intellij/javascript/testing/JSTestRunnerManager +instanceKlass com/intellij/javascript/jest/JestRunSettings +instanceKlass com/intellij/javascript/testing/runScope/JsTestRunScope$Companion +instanceKlass com/intellij/javascript/testing/runScope/JsTestRunScope +instanceKlass com/intellij/javascript/testing/runScope/JsTestRunScope$Builder +instanceKlass com/intellij/javascript/jest/JestRunSettings$Builder +instanceKlass com/intellij/execution/testframework/sm/runner/SMTestLocator +instanceKlass com/intellij/execution/testframework/sm/SMCustomMessagesParsing +instanceKlass com/intellij/execution/testframework/sm/SMStacktraceParser +instanceKlass com/intellij/util/config/AbstractProperty$AbstractPropertyContainer +instanceKlass com/intellij/javascript/testFramework/PreferableRunConfiguration +instanceKlass org/jetbrains/plugins/notebooks/jupyter/actions/JupyterShutdownNotebookActionKt +instanceKlass com/intellij/prettierjs/PrettierConfiguration$State +instanceKlass org/jetbrains/qodana/actions/SarifFileReportActionKt +instanceKlass com/intellij/lang/javascript/service/protocol/LocalFilePath +instanceKlass com/intellij/lang/annotation/ExternalAnnotator +instanceKlass com/intellij/codeInspection/ex/PairedUnfairLocalInspectionTool +instanceKlass com/intellij/codeInspection/ex/UnfairLocalInspectionTool +instanceKlass nl/hannahsten/texifyidea/settings/sdk/DockerSdk$Availability +instanceKlass com/intellij/lang/javascript/linter/AutodetectLinterPackage +instanceKlass com/intellij/javascript/nodejs/util/JSLinterPackage +instanceKlass com/intellij/lang/javascript/linter/JSLinterFixAction$Helper +instanceKlass icons/JavaScriptLanguageIcons$BuildTools$Npm +instanceKlass icons/JavaScriptLanguageIcons$BuildTools +instanceKlass nl/hannahsten/texifyidea/run/compiler/LatexCompiler$Companion +instanceKlass icons/JavaScriptLanguageIcons$BuildTools$Grunt +instanceKlass nl/hannahsten/texifyidea/run/compiler/LatexCompiler$Format$Companion +instanceKlass nl/hannahsten/texifyidea/run/latex/LatexOutputPath$Companion +instanceKlass nl/hannahsten/texifyidea/run/latex/LatexOutputPath +instanceKlass nl/hannahsten/texifyidea/run/latex/LatexRunConfiguration$Companion +instanceKlass com/intellij/diagram/DiagramDataKeys +instanceKlass com/intellij/docker/DockerComposeUpOptionsImpl +instanceKlass com/intellij/docker/DockerComposeDownOptionsImpl +instanceKlass com/intellij/execution/configurations/LogFileOptions$Companion +instanceKlass com/intellij/execution/configuration/RunConfigurationExtensionBase +instanceKlass com/intellij/execution/configuration/RunConfigurationExtensionsManager +instanceKlass com/jetbrains/plugins/webDeployment/actions/PublishActionUtil +instanceKlass icons/WebideApiIcons +instanceKlass com/intellij/ide/projectView/actions/MarkRootActionBase$RootsSelection +instanceKlass com/intellij/openapi/roots/ui/configuration/ModuleSourceRootEditHandler +instanceKlass com/intellij/remoteServer/impl/configuration/deployment/DeployToServerRunConfiguration$ConfigurationState +instanceKlass com/intellij/remoteServer/configuration/deployment/ModuleDeploymentSource +instanceKlass com/intellij/webcore/WebCoreBundle +instanceKlass com/intellij/ide/actions/cache/FilesRecoveryScope +instanceKlass com/intellij/ide/actions/cache/ProjectRecoveryScope +instanceKlass com/intellij/ide/actions/cache/RecoveryScope$Companion +instanceKlass com/intellij/ide/actions/cache/RecoveryScope +instanceKlass com/intellij/indexing/shared/message/SharedIndexesBundle +instanceKlass com/intellij/ide/actions/cache/Saul$special$$inlined$sortedByDescending$1 +instanceKlass com/intellij/indexing/shared/platform/impl/DropSharedIndexesAction +instanceKlass com/intellij/util/indexing/RefreshIndexableFilesAction +instanceKlass com/intellij/util/indexing/ReindexAction +instanceKlass com/intellij/util/indexing/RescanIndexesAction +instanceKlass com/intellij/ide/actions/cache/RecoverVfsFromLogAction$Companion +instanceKlass com/intellij/swagger/core/codegen/SwCodegenDefaultSettingsKt +instanceKlass com/intellij/swagger/core/codegen/CodegenSettingsProxy +instanceKlass com/intellij/execution/CommonProgramRunConfigurationParameters +instanceKlass com/intellij/ide/actions/cache/RecoverVfsFromLogAction +instanceKlass com/intellij/ide/actions/cache/InvalidateCachesAndRestartAction +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelRecoveryAction +instanceKlass com/intellij/ide/actions/cache/RecoveryAction +instanceKlass com/intellij/ide/actions/cache/Saul$Companion +instanceKlass com/intellij/ide/actions/cache/Saul +instanceKlass com/intellij/ide/actions/cache/CallSaulActionKt +instanceKlass com/intellij/openapi/vcs/actions/VcsContextUtil +instanceKlass com/intellij/vcsUtil/VcsSelectionUtil +instanceKlass com/intellij/openapi/ui/FrameWrapper +instanceKlass com/intellij/httpClient/http/request/environment/HttpRequestEnvironment +instanceKlass com/intellij/httpClient/http/request/run/config/HttpRequestRunConfiguration$Settings +instanceKlass com/intellij/httpClient/http/request/run/config/HttpRequestExecutionSettings +instanceKlass com/intellij/httpClient/http/request/run/config/HttpRequestRunConfiguration$EnvironmentResult +instanceKlass com/intellij/httpClient/http/request/HttpRequestVariableSubstitutor +instanceKlass com/intellij/httpClient/http/request/run/config/HttpRequestExecutionConfig +instanceKlass com/jetbrains/lang/makefile/MakefileRunConfiguration$Companion +instanceKlass com/intellij/database/run/DeactivateBeforeRunTask$State +instanceKlass com/intellij/javascript/nodejs/util/NodePackageRef +instanceKlass com/intellij/javascript/nodejs/util/DefaultNodePackageRefResolver +instanceKlass com/intellij/javascript/nodejs/util/NodePackageRefResolver +instanceKlass com/intellij/javascript/nodejs/npm/NpmUtil +instanceKlass com/intellij/lang/javascript/buildTools/npm/rc/NpmRunSettings$Builder +instanceKlass com/intellij/lang/javascript/buildTools/npm/rc/NpmRunSettings +instanceKlass com/intellij/lang/javascript/buildTools/gulp/rc/GulpRunSettings +instanceKlass com/intellij/lang/javascript/buildTools/gulp/rc/GulpRunSettings$Builder +instanceKlass com/intellij/lang/javascript/buildTools/grunt/rc/GruntRunSettings +instanceKlass com/intellij/lang/javascript/buildTools/grunt/rc/GruntRunSettings$Builder +instanceKlass com/jetbrains/plugins/webDeployment/UploadableRunConfigurationsFilter +instanceKlass com/jetbrains/plugins/reactnative/ReactNativePackagerBeforeRunTaskProvider$Companion +instanceKlass com/intellij/ssh/interaction/ConnectionOwner +instanceKlass com/intellij/execution/BeforeRunTask +instanceKlass com/intellij/ide/browsers/LaunchBrowserBeforeRunTaskProvider$Companion +instanceKlass com/intellij/execution/impl/BeforeRunTaskHelperKt +instanceKlass com/intellij/execution/configurations/UnknownRunConfiguration +instanceKlass com/intellij/execution/configurations/WithoutOwnBeforeRunSteps +instanceKlass com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl$RunnerItem +instanceKlass com/intellij/execution/configuration/PersistentAwareRunConfiguration +instanceKlass com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl$Companion +instanceKlass com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl +instanceKlass com/intellij/execution/configuration/EnvironmentVariablesData +instanceKlass com/intellij/refactoring/listeners/RefactoringElementListener +instanceKlass com/intellij/configurationScript/providers/MyRunConfigurationTemplateProvider +instanceKlass com/intellij/execution/impl/RunConfigurationTemplateProvider +instanceKlass com/intellij/execution/impl/RunManagerImplKt +instanceKlass nl/hannahsten/texifyidea/run/latex/LatexRunConfigurationTypeKt +instanceKlass nl/hannahsten/texifyidea/run/latex/LatexConfigurationFactory$Companion +instanceKlass com/jetbrains/python/gherkin/behave/PyBehaveRunConfigurationType +instanceKlass com/jetbrains/rest/run/RestRunConfigurationType +instanceKlass com/jetbrains/appengine/run/AppEngineServerRunConfigurationType +instanceKlass org/jetbrains/plugins/notebooks/jupyter/execution/runConfiguration/JupyterServerRunConfigurationType$WhenMappings +instanceKlass org/jetbrains/plugins/notebooks/jupyter/server/ManagedServerKind$Companion +instanceKlass org/jetbrains/plugins/notebooks/jupyter/execution/runConfiguration/JupyterServerRunConfigurationType$Companion +instanceKlass com/jetbrains/pyramid/run/PyramidRunConfigurationType +instanceKlass com/jetbrains/django/run/DjangoServerRunConfigurationType +instanceKlass com/jetbrains/python/debugger/remote/PyRemoteDebugConfigurationType +instanceKlass com/jetbrains/python/testing/tox/PyToxConfigurationType +instanceKlass com/jetbrains/python/testing/PyNoseTestFactory$Companion +instanceKlass com/jetbrains/python/testing/PyTestFactory$Companion +instanceKlass com/jetbrains/python/testing/PyUnitTestFactory$Companion +instanceKlass com/jetbrains/python/testing/autoDetectTests/PyAutoDetectionConfigurationFactory$Companion +instanceKlass com/jetbrains/python/run/PythonConfigurationType +instanceKlass com/intellij/javascript/karma/KarmaBundle +instanceKlass com/jetbrains/nodejs/run/NodeJsRunConfigurationType$Companion +instanceKlass com/intellij/database/console/runConfiguration/DatabaseScriptRunConfigurationType$Companion +instanceKlass com/jetbrains/plugins/reactnative/ReactNativeRunConfigurationType$Holder +instanceKlass com/intellij/execution/configurations/VirtualConfigurationType +instanceKlass com/intellij/execution/RunConfigurationConverter +instanceKlass com/intellij/javascript/testing/vitest/VitestConfigurationType$Companion +instanceKlass nl/hannahsten/texifyidea/run/latex/externaltool/ExternalToolRunConfigurationType +instanceKlass nl/hannahsten/texifyidea/run/makeindex/MakeindexRunConfigurationType +instanceKlass nl/hannahsten/texifyidea/run/bibtex/BibtexRunConfigurationType +instanceKlass nl/hannahsten/texifyidea/run/latex/LatexRunConfigurationType +instanceKlass com/intellij/httpClient/http/request/run/config/HttpRequestRunConfigurationType +instanceKlass com/jetbrains/lang/makefile/MakefileRunConfigurationType$Companion +instanceKlass com/jetbrains/lang/makefile/MakefileRunConfigurationType +instanceKlass com/intellij/execution/configurations/ConfigurationTypeUtil +instanceKlass com/intellij/database/console/runConfiguration/DatabaseScriptRunConfigurationProducer$Companion +instanceKlass org/jetbrains/plugins/cucumber/steps/AbstractCucumberExtension +instanceKlass org/jetbrains/plugins/cucumber/OptionalStepDefinitionExtensionPoint +instanceKlass org/jetbrains/plugins/cucumber/CucumberJvmExtensionPoint +instanceKlass com/jetbrains/python/gherkin/PyBDDFramework +instanceKlass com/intellij/execution/configurations/ModuleRunConfiguration +instanceKlass com/intellij/execution/configurations/ModuleRunProfile +instanceKlass com/jetbrains/python/run/CommandLinePatcher +instanceKlass com/jetbrains/python/run/AbstractPythonRunConfigurationParams +instanceKlass com/intellij/execution/testframework/sm/runner/SMRunnerConsolePropertiesProvider +instanceKlass com/intellij/execution/testframework/actions/ConsolePropertiesProvider +instanceKlass com/intellij/execution/configurations/RefactoringListenerProvider +instanceKlass com/jetbrains/python/testing/PyRerunAwareConfiguration +instanceKlass com/jetbrains/python/testing/PyTestsConfigurationProducer$Companion +instanceKlass com/jetbrains/nodejs/mocha/MochaUtil +instanceKlass com/intellij/javascript/testing/vitest/VitestUtil +instanceKlass com/intellij/javascript/nodejs/util/NodePackage +instanceKlass com/intellij/javascript/jest/JestPkgInfo +instanceKlass com/intellij/javascript/jest/JestPackageProviderImpl +instanceKlass com/intellij/javascript/jest/JestPackageProvider +instanceKlass com/intellij/javascript/jest/JestUtil +instanceKlass com/intellij/javascript/jest/JestRunConfigurationProducer$Companion +instanceKlass com/intellij/docker/DockerComposeDownOptions +instanceKlass com/intellij/docker/DockerComposeUpOptions +instanceKlass com/intellij/remoteServer/configuration/deployment/DeploymentConfiguration +instanceKlass com/intellij/execution/RunConfigurationProducerService$State +instanceKlass com/intellij/execution/actions/RunConfigurationProducer +instanceKlass com/intellij/execution/junit/RuntimeConfigurationProducer$ProducerComparator +instanceKlass com/intellij/execution/junit/RuntimeConfigurationProducer +instanceKlass com/intellij/execution/actions/PreferredProducerFind +instanceKlass com/intellij/execution/actions/MultipleRunLocationsProvider$Companion +instanceKlass com/intellij/execution/actions/MultipleRunLocationsProvider +instanceKlass com/intellij/xdebugger/impl/ui/tree/XDebuggerTreeListener +instanceKlass com/intellij/xdebugger/frame/XValueModifier$XModificationCallback +instanceKlass com/intellij/xdebugger/impl/ui/BreakpointEditor$Delegate +instanceKlass com/intellij/xdebugger/impl/ui/DebuggerUIUtil$FullValueEvaluationCallbackImpl +instanceKlass com/intellij/xdebugger/frame/XFullValueEvaluator$XFullValueEvaluationCallback +instanceKlass com/intellij/xdebugger/frame/XValueCallback +instanceKlass com/intellij/xdebugger/impl/ui/DebuggerUIUtil +instanceKlass com/intellij/execution/util/ExecUtil +instanceKlass com/jetbrains/python/debugger/PyDebugSupportUtils +instanceKlass com/intellij/ide/actions/RevealFileAction$Holder +instanceKlass com/intellij/xdebugger/impl/evaluate/quick/common/AbstractValueHint +instanceKlass com/intellij/notification/NotificationListener$Adapter +instanceKlass com/intellij/database/console/evaluation/JdbcConsoleEvaluationSupport$MyEvaluableInfo +instanceKlass com/intellij/xdebugger/evaluation/XDebuggerEvaluator +instanceKlass com/intellij/database/console/evaluation/OwnerBasedExpressionEvaluator +instanceKlass com/intellij/database/console/evaluation/DatabaseExpressionEvaluator +instanceKlass com/intellij/xdebugger/XDebugSessionListener +instanceKlass com/intellij/database/dump/DumpHandler +instanceKlass com/intellij/database/run/actions/DumpSource +instanceKlass com/intellij/database/run/actions/DumpAction +instanceKlass com/intellij/xdebugger/impl/actions/DebuggerToggleActionHandler +instanceKlass com/intellij/xdebugger/impl/evaluate/quick/common/QuickEvaluateHandler +instanceKlass com/intellij/xdebugger/impl/breakpoints/ui/BreakpointPanelProvider +instanceKlass com/intellij/xdebugger/impl/DebuggerSupport +instanceKlass com/intellij/xdebugger/impl/actions/DebuggerActionHandler +instanceKlass com/intellij/database/actions/ToolActions +instanceKlass com/intellij/database/datagrid/GridDataHookUpBase +instanceKlass com/intellij/database/datagrid/CoreDatabaseGridDataHookUp +instanceKlass com/jetbrains/python/debugger/PySetNextStatementAction$Companion +instanceKlass icons/PlatformDebuggerImplIcons +instanceKlass icons/PlatformDebuggerImplIcons$Actions +instanceKlass com/intellij/database/datagrid/HookUpVirtualFileProvider +instanceKlass com/intellij/database/datagrid/DataRequest$CrossSessionOwner +instanceKlass com/intellij/htmltools/xml/actions/HtmlAddTableColumnAfterAction$1 +instanceKlass com/intellij/htmltools/xml/actions/HtmlAddTableColumnBeforeAction$1 +instanceKlass org/editorconfig/configmanagement/generate/EditorConfigGenerateLanguagePropertiesAction$LanguagePropertiesGenerator +instanceKlass com/intellij/database/run/actions/ExecuteRoutineActionBase$ActionData +instanceKlass com/intellij/database/script/generator/ScriptingTask +instanceKlass com/intellij/database/run/actions/ExecuteRoutineActionBase$RequestRunner +instanceKlass com/intellij/database/script/generator/ScriptingOptions +instanceKlass com/intellij/lang/javascript/generation/BaseJSGenerateHandler +instanceKlass com/intellij/lang/LanguageCodeInsightActionHandler +instanceKlass com/intellij/database/run/actions/ChooseSessionAction$ActionContext +instanceKlass com/jetbrains/python/debugger/concurrency/PythonConcurrencyVisualizerBundle +instanceKlass com/jetbrains/python/profiler/PythonProfilerBundle +instanceKlass com/jetbrains/python/profiler/ProfilerExecutor$Companion +instanceKlass com/intellij/database/model/UnparsedTypeHolder +instanceKlass com/intellij/profiler/ProfilerExecutorBase$Companion +instanceKlass com/intellij/database/schemaEditor/model/DeObject +instanceKlass com/intellij/database/view/ui/AbstractDbRefactoringDialog$ResultProcessor +instanceKlass com/intellij/ide/actions/OpenInRightSplitAction$Companion +instanceKlass com/intellij/codeInsight/actions/DirectoryFormattingOptions +instanceKlass com/intellij/codeInsight/TargetElementEvaluatorEx +instanceKlass com/jetbrains/python/codeInsight/PyTargetElementEvaluator +instanceKlass com/intellij/codeInsight/TargetElementEvaluator +instanceKlass com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor +instanceKlass com/intellij/codeInsight/TargetElementUtilBase +instanceKlass com/intellij/codeInsight/TargetElementUtil +instanceKlass com/intellij/codeInsight/actions/ReformatFilesOptions +instanceKlass com/intellij/codeInsight/actions/LayoutCodeOptions +instanceKlass com/intellij/codeInsight/actions/OptionalReformatActions +instanceKlass com/intellij/sql/SqlNavigationUtils +instanceKlass com/intellij/ide/bookmark/actions/ExtensionsKt +instanceKlass com/intellij/database/diagram/DbDiagramSelectInDbView +instanceKlass com/intellij/database/editor/DbElementSelectInProvider +instanceKlass com/intellij/sql/SqlSelectInDbView +instanceKlass com/intellij/database/view/SelectInDatabaseView$Extension +instanceKlass com/intellij/ide/FileEditorProvider +instanceKlass com/intellij/refactoring/util/CommonRefactoringUtil +instanceKlass com/intellij/ide/FileSelectInContext +instanceKlass com/intellij/database/view/DbContextElements +instanceKlass com/intellij/database/view/DbContextElementsKt +instanceKlass com/intellij/codeInsight/template/emmet/EmmetAbbreviationBalloon$EmmetContextHelp +instanceKlass com/intellij/codeInsight/template/CustomTemplateCallback +instanceKlass com/intellij/codeInsight/template/emmet/generators/ZenCodingGenerator +instanceKlass com/intellij/lang/typescript/refactoring/TypeScriptExtractNamedTypeHandler$ReplaceAllChooser +instanceKlass com/intellij/lang/javascript/refactoring/JSIntroduceTargetChooser +instanceKlass com/intellij/lang/javascript/refactoring/introduceVariable/JSCustomIntroduceVariableHandler +instanceKlass com/intellij/lang/typescript/refactoring/TypeScriptExtractNamedTypeHandler +instanceKlass com/intellij/openapi/util/Conditions$Not +instanceKlass com/intellij/database/util/common/CollectionFun +instanceKlass com/intellij/database/view/DatabaseContextFun +instanceKlass com/intellij/lang/javascript/modules/imports/JSImportedElementDescriptor +instanceKlass com/intellij/lang/javascript/modules/imports/JSImportExportType +instanceKlass com/intellij/lang/javascript/refactoring/react/extractComponent/ReactExtractComponentHandlerBase +instanceKlass com/intellij/lang/javascript/refactoring/react/ReactFunctionToClassComponentHandler +instanceKlass com/intellij/lang/javascript/refactoring/react/ReactClassToFunctionComponentHandler +instanceKlass com/intellij/database/view/ui/ResultProcessorProvider +instanceKlass com/intellij/database/actions/DbContextTemplateGroup$Companion +instanceKlass com/intellij/database/schemaEditor/DbEditorDialog +instanceKlass com/intellij/database/schemaEditor/DbObjectEditorDialogBase2$DialogBootstrapper +instanceKlass com/intellij/openapi/editor/actionSystem/EditorActionHandler$CaretTask +instanceKlass com/intellij/lang/refactoring/RefactoringSupportProvider +instanceKlass com/intellij/openapi/editor/actionSystem/EditorActionHandlerBean +instanceKlass com/intellij/refactoring/RefactoringActionHandler +instanceKlass com/intellij/httpClient/RestClientIcons +instanceKlass com/intellij/profile/codeInspection/ui/ErrorsConfigurable +instanceKlass com/intellij/find/actions/SearchTargetVariantsDataRuleKt +instanceKlass com/intellij/find/actions/ResolverKt +instanceKlass com/intellij/execution/actions/ConfigurationFromContext +instanceKlass com/intellij/execution/Location +instanceKlass com/intellij/execution/actions/ConfigurationContext +instanceKlass com/intellij/httpClient/http/request/notification/HttpClientNotificationPanelV2Kt +instanceKlass com/intellij/database/datagrid/GridRequestSource$RequestPlace +instanceKlass com/intellij/ide/actions/FqnUtil +instanceKlass com/intellij/ide/actions/CopyPathProvider$Companion +instanceKlass com/intellij/refactoring/copy/CopyHandler +instanceKlass org/jetbrains/vuejs/VuejsIcons +instanceKlass org/jetbrains/vuejs/CreateVueSingleFileComponentAction$Companion +instanceKlass icons/JupyterCoreIcons +instanceKlass org/jetbrains/plugins/notebooks/jupyter/actions/JupyterCreateFileAction$Companion +instanceKlass com/intellij/ide/actions/CreateFileFromTemplateDialog$Builder +instanceKlass com/intellij/codeInsight/navigation/CtrlMouseAction +instanceKlass com/intellij/openapi/actionSystem/ActionGroupUtil +instanceKlass com/intellij/ide/actions/CreateFileFromTemplateDialog$FileCreator +instanceKlass com/intellij/ide/actions/CreateDirectoryOrPackageHandler +instanceKlass com/intellij/javascript/nodejs/packageJson/NodePackageBasicInfo +instanceKlass org/intellij/plugins/markdown/MarkdownIcons +instanceKlass org/angular2/cli/actions/AngularCliAddDependencyAction$Companion +instanceKlass org/intellij/plugins/markdown/MarkdownIcons$EditorActions +instanceKlass org/intellij/plugins/markdown/editor/tables/actions/column/ColumnBasedTableAction$Companion +instanceKlass com/intellij/httpClient/actions/copyPaste/HttpRequestCopyAsCurlBaseActionImpl +instanceKlass com/intellij/httpClient/actions/copyPaste/HttpRequestCopyAsCurlBaseAction +instanceKlass com/intellij/ide/actions/CreateGroupHandler +instanceKlass com/intellij/openapi/editor/richcopy/settings/RichCopySettings +instanceKlass com/intellij/ide/scratch/ScratchFileActions +instanceKlass nl/hannahsten/texifyidea/action/NewLatexFileAction$Companion +instanceKlass com/intellij/openapi/ui/InputValidatorEx +instanceKlass com/intellij/clouds/docker/gateway/DockerGatewayIcons +instanceKlass com/intellij/clouds/docker/gateway/actions/DevcontainerCreateWithGitClone$Companion +instanceKlass com/intellij/util/FieldAccessor +instanceKlass com/intellij/prettierjs/ReformatWithPrettierAction$DefaultErrorHandler +instanceKlass com/intellij/prettierjs/ReformatWithPrettierAction$ErrorHandler +instanceKlass com/intellij/prettierjs/PrettierLanguageService +instanceKlass icons/MicroservicesIcons$Oas +instanceKlass com/intellij/javascript/debugger/sourcemap/visualizer/actions/BaseSourceMapAction$Companion +instanceKlass com/intellij/execution/target/ImplicitTargetAwareRunProfile +instanceKlass com/intellij/execution/impl/BeforeRunTaskAwareConfiguration +instanceKlass com/intellij/javascript/JSRunProfileWithCompileBeforeLaunchOption +instanceKlass com/intellij/execution/configurations/RunProfileWithCompileBeforeLaunchOption +instanceKlass com/intellij/javascript/nodejs/debug/NodeDebugRunConfiguration +instanceKlass icons/JavaScriptLanguageIcons$FileTypes +instanceKlass com/intellij/lang/javascript/linter/eslint/service/EslintLanguageServiceClient +instanceKlass sun/datatransfer/DataFlavorUtil$CharsetComparator +instanceKlass sun/datatransfer/DataFlavorUtil$StandardEncodingsHolder +instanceKlass com/intellij/copyright/CopyrightBundle +instanceKlass com/maddyhome/idea/copyright/actions/AbstractFileProcessor +instanceKlass com/intellij/ide/dnd/LinuxDragAndDropSupport +instanceKlass com/intellij/ide/dnd/FileCopyPasteUtil +instanceKlass com/intellij/lang/puppet/PuppetIcons +instanceKlass com/intellij/ide/actions/CopyReferenceFQNTransferable +instanceKlass com/intellij/find/actions/UsageVariantHandler +instanceKlass exa/language_server_pb/LanguageServer$ResetOnboardingResponseOrBuilder +instanceKlass exa/language_server_pb/LanguageServer$ResetOnboardingRequestOrBuilder +instanceKlass com/sangupta/murmur/Murmur3 +instanceKlass com/sangupta/murmur/MurmurConstants +instanceKlass com/silvercar/unleash/strategy/ConstraintUtil +instanceKlass okhttp3/internal/ws/WebSocketReader +instanceKlass okhttp3/internal/ws/WebSocketWriter +instanceKlass okhttp3/internal/ws/WebSocketExtensions$Companion +instanceKlass okhttp3/internal/ws/WebSocketExtensions +instanceKlass okhttp3/internal/ws/RealWebSocket$Streams +instanceKlass okhttp3/internal/http/HttpHeaders +instanceKlass okhttp3/Response +instanceKlass okhttp3/Response$Builder +instanceKlass okio/internal/_BufferKt +instanceKlass okhttp3/internal/http/StatusLine$Companion +instanceKlass okhttp3/internal/http/StatusLine +instanceKlass okhttp3/internal/http/HttpMethod +instanceKlass okhttp3/internal/http/RequestLine +instanceKlass okhttp3/internal/connection/Exchange +instanceKlass okhttp3/internal/http1/HeadersReader$Companion +instanceKlass okhttp3/internal/http1/HeadersReader +instanceKlass okhttp3/internal/http1/Http1ExchangeCodec$Companion +instanceKlass okhttp3/internal/http1/Http1ExchangeCodec +instanceKlass okhttp3/internal/http/ExchangeCodec +instanceKlass okio/RealBufferedSink +instanceKlass okio/AsyncTimeout$sink$1 +instanceKlass okio/OutputStreamSink +instanceKlass okio/RealBufferedSource +instanceKlass okio/Okio__OkioKt +instanceKlass okio/AsyncTimeout$source$1 +instanceKlass okio/InputStreamSource +instanceKlass okio/Okio__JvmOkioKt +instanceKlass okio/Okio +instanceKlass okhttp3/internal/connection/RealConnection$WhenMappings +instanceKlass okhttp3/internal/connection/ConnectionSpecSelector +instanceKlass okhttp3/internal/connection/RealConnection$Companion +instanceKlass com/intellij/ui/jcef/JBCefBrowserBase$LoadDeferrer +instanceKlass kotlin/ranges/RangesKt__RangesKt +instanceKlass okhttp3/internal/http2/Http2Connection$Listener$Companion +instanceKlass okhttp3/internal/http2/Http2Connection$Listener +instanceKlass okhttp3/Connection +instanceKlass com/codeium/intellij/chat_window/ChatViewerWindowKt +instanceKlass okhttp3/internal/connection/RouteSelector$Selection +instanceKlass okhttp3/Route +instanceKlass okhttp3/internal/connection/RouteSelector$Companion +instanceKlass okhttp3/internal/connection/RouteSelector +instanceKlass okhttp3/CacheControl$Builder +instanceKlass okhttp3/CacheControl$Companion +instanceKlass okhttp3/CacheControl +instanceKlass okhttp3/internal/cache/CacheStrategy$Companion +instanceKlass okhttp3/internal/cache/CacheStrategy +instanceKlass okhttp3/internal/cache/CacheStrategy$Factory +instanceKlass okhttp3/Address +instanceKlass okhttp3/internal/connection/ExchangeFinder +instanceKlass okhttp3/internal/http/RealInterceptorChain +instanceKlass okhttp3/Interceptor$Chain +instanceKlass okhttp3/internal/http/CallServerInterceptor +instanceKlass okhttp3/internal/connection/ConnectInterceptor +instanceKlass okhttp3/internal/cache/CacheInterceptor$Companion +instanceKlass okhttp3/internal/cache/CacheInterceptor +instanceKlass okhttp3/internal/http/BridgeInterceptor +instanceKlass okhttp3/internal/http/RetryAndFollowUpInterceptor$Companion +instanceKlass okhttp3/internal/http/RetryAndFollowUpInterceptor +instanceKlass okhttp3/Interceptor +instanceKlass okhttp3/internal/connection/RealCall$AsyncCall +instanceKlass okhttp3/internal/ws/RealWebSocket$connect$1 +instanceKlass okhttp3/Callback +instanceKlass okio/AsyncTimeout$Companion +instanceKlass okio/Timeout$Companion +instanceKlass okio/Timeout +instanceKlass okhttp3/internal/connection/RealCall +instanceKlass okio/_JvmPlatformKt +instanceKlass okio/_Base64Kt +instanceKlass okhttp3/internal/ws/RealWebSocket$Companion +instanceKlass okhttp3/internal/ws/RealWebSocket +instanceKlass okhttp3/internal/ws/WebSocketReader$FrameCallback +instanceKlass okhttp3/WebSocket +instanceKlass okhttp3/WebSocketListener +instanceKlass okhttp3/Request +instanceKlass okhttp3/internal/HostnamesKt +instanceKlass okhttp3/HttpUrl$Builder$Companion +instanceKlass okhttp3/HttpUrl$Builder +instanceKlass okhttp3/HttpUrl$Companion +instanceKlass okhttp3/HttpUrl +instanceKlass okhttp3/Headers$Builder +instanceKlass okhttp3/Request$Builder +instanceKlass okhttp3/internal/tls/BasicTrustRootIndex +instanceKlass okhttp3/internal/tls/TrustRootIndex +instanceKlass okhttp3/internal/tls/BasicCertificateChainCleaner$Companion +instanceKlass okhttp3/internal/tls/CertificateChainCleaner$Companion +instanceKlass okhttp3/internal/tls/CertificateChainCleaner +instanceKlass okhttp3/internal/platform/Jdk9Platform$Companion +instanceKlass okhttp3/internal/platform/Platform$Companion +instanceKlass okhttp3/internal/platform/Platform +instanceKlass okhttp3/internal/connection/RouteDatabase +instanceKlass okhttp3/CertificatePinner$Builder +instanceKlass okhttp3/CertificatePinner$Companion +instanceKlass okhttp3/CertificatePinner +instanceKlass okhttp3/internal/tls/OkHostnameVerifier +instanceKlass okhttp3/CookieJar$Companion$NoCookies +instanceKlass okhttp3/CookieJar$Companion +instanceKlass okhttp3/CookieJar +instanceKlass okhttp3/Dns$Companion$DnsSystem +instanceKlass okhttp3/Dns$Companion +instanceKlass okhttp3/Dns +instanceKlass okhttp3/internal/authenticator/JavaNetAuthenticator +instanceKlass okhttp3/Authenticator$Companion$AuthenticatorNone +instanceKlass okhttp3/Authenticator$Companion +instanceKlass okhttp3/Authenticator +instanceKlass okhttp3/Call +instanceKlass okhttp3/EventListener$Factory +instanceKlass okhttp3/EventListener$Companion +instanceKlass okhttp3/EventListener +instanceKlass okhttp3/internal/concurrent/Task +instanceKlass okhttp3/internal/concurrent/TaskQueue +instanceKlass okhttp3/internal/concurrent/TaskRunner$runnable$1 +instanceKlass okhttp3/internal/concurrent/TaskRunner$RealBackend +instanceKlass okhttp3/internal/concurrent/TaskRunner$Backend +instanceKlass okhttp3/internal/concurrent/TaskRunner$Companion +instanceKlass okhttp3/internal/concurrent/TaskRunner +instanceKlass okhttp3/internal/connection/RealConnectionPool$Companion +instanceKlass okhttp3/internal/connection/RealConnectionPool +instanceKlass okhttp3/ConnectionPool +instanceKlass okhttp3/Dispatcher +instanceKlass okhttp3/OkHttpClient$Builder +instanceKlass okhttp3/TlsVersion$Companion +instanceKlass okhttp3/ConnectionSpec$Builder +instanceKlass okhttp3/CipherSuite$Companion$ORDER_BY_NAME$1 +instanceKlass okhttp3/CipherSuite$Companion +instanceKlass okhttp3/CipherSuite +instanceKlass okhttp3/ConnectionSpec$Companion +instanceKlass okhttp3/ConnectionSpec +instanceKlass okio/Segment$Companion +instanceKlass okio/Segment +instanceKlass okio/SegmentPool +instanceKlass kotlin/comparisons/ComparisonsKt__ComparisonsKt +instanceKlass okio/internal/_ByteStringKt +instanceKlass okio/ByteString$Companion +instanceKlass okio/ByteString +instanceKlass okio/Options$Companion +instanceKlass okhttp3/RequestBody$Companion +instanceKlass okhttp3/RequestBody +instanceKlass okio/Buffer$UnsafeCursor +instanceKlass okio/_UtilKt +instanceKlass okio/Buffer +instanceKlass okio/BufferedSink +instanceKlass okio/Sink +instanceKlass okio/BufferedSource +instanceKlass okio/Source +instanceKlass okhttp3/ResponseBody$Companion +instanceKlass okhttp3/ResponseBody +instanceKlass kotlin/internal/ProgressionUtilKt +instanceKlass okhttp3/Headers$Companion +instanceKlass okhttp3/Headers +instanceKlass okhttp3/internal/Util +instanceKlass okhttp3/Protocol$Companion +instanceKlass okhttp3/OkHttpClient$Companion +instanceKlass okhttp3/OkHttpClient +instanceKlass okhttp3/WebSocket$Factory +instanceKlass okhttp3/Call$Factory +instanceKlass com/codeium/intellij/chat_server_client/ChatServerClient +instanceKlass com/codeium/intellij/chat_server_client/ChatServerClientMultiton$Companion +instanceKlass com/codeium/intellij/chat_server_client/ChatServerClientMultiton +instanceKlass com/google/protobuf/TextFormat$1 +instanceKlass com/google/protobuf/GeneratedMessageV3$FieldAccessorTable$SingularFieldAccessor$ReflectionInvoker +instanceKlass com/google/protobuf/GeneratedMessageV3$FieldAccessorTable$SingularFieldAccessor$MethodInvoker +instanceKlass com/google/protobuf/GeneratedMessageV3$FieldAccessorTable$SingularFieldAccessor +instanceKlass exa/context_module_pb/ContextModule +instanceKlass exa/code_edit/code_edit_pb/CodeEdit +instanceKlass exa/cortex_pb/Cortex +instanceKlass exa/index_pb/IndexOuterClass +instanceKlass exa/opensearch_clients_pb/OpensearchClients +instanceKlass exa/diff_action_pb/DiffAction +instanceKlass com/silvercar/unleash/event/UnleashReady +instanceKlass com/silvercar/unleash/repository/ToggleBackupHandlerFile$ToggleBackupWritten +instanceKlass com/google/gson/internal/LinkedTreeMap$LinkedTreeMapIterator +instanceKlass com/silvercar/unleash/repository/FeatureToggleResponse +instanceKlass exa/chat_pb/Chat +instanceKlass com/google/protobuf/TextFormat$TextGenerator +instanceKlass com/google/protobuf/TextFormat$Printer +instanceKlass com/google/protobuf/TypeRegistry$EmptyTypeRegistryHolder +instanceKlass com/google/protobuf/TypeRegistry +instanceKlass com/google/protobuf/TextFormat$Parser$Builder +instanceKlass com/google/protobuf/TextFormat$Parser +instanceKlass com/google/protobuf/TextFormat +instanceKlass com/silvercar/unleash/event/ToggleEvaluated +instanceKlass com/silvercar/unleash/metric/ToggleCount +instanceKlass com/silvercar/unleash/Unleash$DefaultImpls +instanceKlass com/silvercar/unleash/UnleashContext$Builder +instanceKlass com/silvercar/unleash/UnleashContext$Companion +instanceKlass com/silvercar/unleash/UnleashContext +instanceKlass exa/codeium_common_pb/CodeiumCommon$ExperimentKey$1 +instanceKlass com/silvercar/unleash/event/UnleashSubscriber$DefaultImpls +instanceKlass com/silvercar/unleash/event/EventDispatcher$dispatch$1 +instanceKlass com/google/gson/internal/LinkedTreeMap$Node +instanceKlass com/google/gson/internal/LinkedTreeMap$1 +instanceKlass com/google/gson/internal/UnsafeAllocator +instanceKlass com/silvercar/unleash/variant/VariantOverride +instanceKlass com/silvercar/unleash/variant/Payload +instanceKlass com/silvercar/unleash/variant/VariantDefinition +instanceKlass com/google/gson/internal/ConstructorConstructor$13 +instanceKlass com/google/gson/internal/bind/TypeAdapters$EnumTypeAdapter$1 +instanceKlass com/silvercar/unleash/Constraint +instanceKlass com/google/gson/internal/ConstructorConstructor$18 +instanceKlass com/silvercar/unleash/ActivationStrategy +instanceKlass com/silvercar/unleash/FeatureToggle +instanceKlass com/intellij/ui/jcef/JBCefFileSchemeHandlerFactory +instanceKlass com/google/gson/internal/JsonReaderInternalAccess +instanceKlass kotlin/text/Charsets +instanceKlass java/net/ContentHandler +instanceKlass sun/awt/www/content/MultimediaContentHandlers +instanceKlass java/net/ContentHandlerFactory +instanceKlass java/net/URLConnection$2 +instanceKlass org/cef/CefApp$CefVersion +instanceKlass org/cef/callback/CefNativeAdaperMulti$NativeItem +instanceKlass com/google/gson/internal/bind/ReflectiveTypeAdapterFactory$FieldsData +instanceKlass com/google/gson/internal/ConstructorConstructor$11 +instanceKlass com/google/gson/internal/$Gson$Types$ParameterizedTypeImpl +instanceKlass com/google/gson/internal/bind/TreeTypeAdapter$GsonContextImpl +instanceKlass com/google/gson/internal/Primitives +instanceKlass com/google/gson/annotations/SerializedName +instanceKlass com/google/gson/internal/ConstructorConstructor$19 +instanceKlass com/google/gson/internal/ReflectionAccessFilterHelper +instanceKlass com/google/gson/annotations/JsonAdapter +instanceKlass com/google/gson/internal/reflect/ReflectionHelper$RecordHelper +instanceKlass com/google/gson/internal/reflect/ReflectionHelper +instanceKlass com/google/gson/internal/Streams +instanceKlass exa/codeium_common_pb/CodeiumCommon$StatusOrBuilder +instanceKlass exa/language_server_pb/LanguageServer$GetStatusResponseOrBuilder +instanceKlass exa/language_server_pb/LanguageServer$GetStatusRequestOrBuilder +instanceKlass com/silvercar/unleash/metric/ClientRegistration +instanceKlass com/silvercar/unleash/metric/UnleashMetricService$sendMetrics$1 +instanceKlass com/silvercar/unleash/metric/MetricsBucket +instanceKlass com/silvercar/unleash/metric/AtomicLongSerializer +instanceKlass com/google/gson/JsonDeserializer +instanceKlass com/google/gson/internal/bind/TreeTypeAdapter$SingleTypeFactory +instanceKlass com/google/gson/JsonDeserializationContext +instanceKlass com/google/gson/JsonSerializationContext +instanceKlass com/google/gson/internal/$Gson$Types +instanceKlass com/google/gson/reflect/TypeToken +instanceKlass com/google/gson/InstanceCreator +instanceKlass com/google/gson/internal/$Gson$Preconditions +instanceKlass com/silvercar/unleash/metric/DateSerializer +instanceKlass com/google/gson/JsonSerializer +instanceKlass com/google/gson/GsonBuilder +instanceKlass com/silvercar/unleash/metric/UnleashMetricsSender$Companion +instanceKlass com/silvercar/unleash/metric/UnleashMetricsSender +instanceKlass com/silvercar/unleash/metric/UnleashMetricService +instanceKlass com/silvercar/unleash/event/UnleashEvent +instanceKlass com/silvercar/unleash/repository/FeatureToggleRepository$updateToggles$1 +instanceKlass com/silvercar/unleash/repository/ToggleCollection +instanceKlass com/silvercar/unleash/event/EventDispatcher +instanceKlass com/silvercar/unleash/repository/ToggleBackupHandlerFile$Companion +instanceKlass com/silvercar/unleash/repository/ToggleBackupHandlerFile +instanceKlass com/silvercar/unleash/repository/ToggleBackupHandler +instanceKlass com/google/gson/internal/bind/ReflectiveTypeAdapterFactory$BoundField +instanceKlass com/google/gson/internal/bind/ReflectiveTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory$DummyTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/MapTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/CollectionTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/ArrayTypeAdapter$1 +instanceKlass com/google/gson/internal/sql/SqlTimestampTypeAdapter$1 +instanceKlass com/google/gson/internal/sql/SqlTimeTypeAdapter$1 +instanceKlass com/google/gson/internal/sql/SqlDateTypeAdapter$1 +instanceKlass com/google/gson/internal/bind/DefaultDateTypeAdapter$DateType +instanceKlass com/google/gson/internal/sql/SqlTypesSupport +instanceKlass com/google/gson/internal/bind/DefaultDateTypeAdapter$1 +instanceKlass com/google/gson/internal/bind/NumberTypeAdapter$1 +instanceKlass com/google/gson/internal/bind/ObjectTypeAdapter$1 +instanceKlass com/google/gson/internal/bind/TypeAdapters$29 +instanceKlass com/google/gson/internal/bind/TypeAdapters$33 +instanceKlass com/google/gson/internal/bind/TypeAdapters$34 +instanceKlass com/google/gson/internal/bind/TypeAdapters$32 +instanceKlass com/google/gson/internal/bind/TypeAdapters$31 +instanceKlass com/google/gson/internal/bind/TypeAdapters +instanceKlass com/google/gson/internal/ObjectConstructor +instanceKlass com/google/gson/internal/ConstructorConstructor +instanceKlass com/google/gson/internal/Excluder +instanceKlass com/google/gson/FormattingStyle +instanceKlass com/google/gson/stream/JsonReader +instanceKlass com/google/gson/ToNumberStrategy +instanceKlass com/google/gson/FieldNamingStrategy +instanceKlass com/google/gson/JsonElement +instanceKlass com/google/gson/stream/JsonWriter +instanceKlass com/google/gson/TypeAdapterFactory +instanceKlass com/google/gson/TypeAdapter +instanceKlass com/google/gson/Gson +instanceKlass com/silvercar/unleash/repository/GsonFactory +instanceKlass com/silvercar/unleash/repository/JsonToggleParser +instanceKlass com/silvercar/unleash/repository/HttpToggleFetcher$Companion +instanceKlass com/silvercar/unleash/repository/HttpToggleFetcher +instanceKlass com/silvercar/unleash/repository/ToggleFetcher +instanceKlass com/silvercar/unleash/repository/FeatureToggleRepository +instanceKlass com/silvercar/unleash/repository/ToggleRepository +instanceKlass com/silvercar/unleash/strategy/UnknownStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/UnknownStrategy +instanceKlass kotlin/collections/ArraysUtilJVM +instanceKlass com/silvercar/unleash/strategy/RandomGenerator$Companion +instanceKlass com/silvercar/unleash/strategy/RandomGenerator +instanceKlass com/silvercar/unleash/strategy/FlexibleRolloutStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/FlexibleRolloutStrategy +instanceKlass com/silvercar/unleash/strategy/UserWithIdStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/UserWithIdStrategy +instanceKlass com/silvercar/unleash/strategy/RemoteAddressStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/RemoteAddressStrategy +instanceKlass com/silvercar/unleash/strategy/GradualRolloutUserIdStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/GradualRolloutUserIdStrategy +instanceKlass com/silvercar/unleash/strategy/GradualRolloutSessionIdStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/GradualRolloutSessionIdStrategy +instanceKlass com/silvercar/unleash/strategy/StrategyUtils$Companion +instanceKlass com/silvercar/unleash/strategy/StrategyUtils +instanceKlass com/silvercar/unleash/strategy/GradualRolloutRandomStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/GradualRolloutRandomStrategy +instanceKlass com/silvercar/unleash/strategy/ApplicationHostnameStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/ApplicationHostnameStrategy +instanceKlass com/silvercar/unleash/strategy/DefaultStrategy$Companion +instanceKlass com/silvercar/unleash/strategy/DefaultStrategy +instanceKlass com/silvercar/unleash/strategy/Strategy +instanceKlass com/silvercar/unleash/DefaultUnleash$Companion +instanceKlass com/silvercar/unleash/DefaultUnleash +instanceKlass com/silvercar/unleash/Unleash +instanceKlass com/silvercar/unleash/util/UnleashURLs +instanceKlass com/silvercar/unleash/event/NoOpSubscriber +instanceKlass com/silvercar/unleash/event/UnleashSubscriber +instanceKlass java/util/concurrent/Executors$DelegatedExecutorService +instanceKlass com/silvercar/unleash/util/UnleashScheduledExecutorImpl$threadFactory$1 +instanceKlass org/apache/logging/log4j/spi/LoggerRegistry$ConcurrentMapFactory +instanceKlass org/apache/logging/log4j/spi/LoggerRegistry$MapFactory +instanceKlass org/apache/logging/log4j/spi/LoggerRegistry +instanceKlass org/apache/logging/log4j/simple/SimpleLoggerContext +instanceKlass org/apache/logging/log4j/spi/LoggerContext +instanceKlass org/apache/logging/log4j/simple/SimpleLoggerContextFactory +instanceKlass org/apache/logging/log4j/message/Clearable +instanceKlass org/apache/logging/log4j/status/StatusData +instanceKlass org/apache/logging/log4j/message/SimpleMessage +instanceKlass org/apache/logging/log4j/spi/Provider +instanceKlass org/apache/logging/log4j/util/ProviderUtil +instanceKlass org/apache/logging/log4j/Level +instanceKlass org/apache/logging/log4j/util/Strings +instanceKlass org/apache/logging/log4j/message/ExitMessage +instanceKlass org/apache/logging/log4j/message/EntryMessage +instanceKlass org/apache/logging/log4j/message/FlowMessage +instanceKlass org/apache/logging/log4j/message/DefaultFlowMessageFactory +instanceKlass org/apache/logging/log4j/message/FlowMessageFactory +instanceKlass org/apache/logging/log4j/util/PropertySource$Util +instanceKlass org/apache/logging/log4j/util/PropertiesUtil$Environment$1 +instanceKlass org/apache/logging/log4j/util/SystemPropertiesPropertySource +instanceKlass org/apache/logging/log4j/util/EnvironmentPropertySource +instanceKlass org/apache/logging/log4j/util/PropertySource$Comparator +instanceKlass org/apache/logging/log4j/util/LoaderUtil$ThreadContextClassLoaderGetter +instanceKlass org/apache/logging/log4j/util/LoaderUtil +instanceKlass org/apache/logging/log4j/util/PropertiesPropertySource +instanceKlass org/apache/logging/log4j/util/BiConsumer +instanceKlass org/apache/logging/log4j/util/PropertiesUtil$Environment +instanceKlass org/apache/logging/log4j/util/PropertySource +instanceKlass org/apache/logging/log4j/util/PropertiesUtil +instanceKlass org/apache/logging/log4j/util/Constants +instanceKlass org/apache/logging/log4j/message/AbstractMessageFactory +instanceKlass org/apache/logging/log4j/message/ReusableMessageFactory +instanceKlass org/apache/logging/log4j/MarkerManager$Log4jMarker +instanceKlass org/apache/logging/log4j/util/StringBuilderFormattable +instanceKlass org/apache/logging/log4j/Marker +instanceKlass org/apache/logging/log4j/MarkerManager +instanceKlass org/apache/logging/log4j/message/MessageFactory2 +instanceKlass org/apache/logging/log4j/message/Message +instanceKlass org/apache/logging/log4j/spi/AbstractLogger +instanceKlass org/apache/logging/log4j/spi/ExtendedLogger +instanceKlass org/apache/logging/log4j/spi/LoggerContextFactory +instanceKlass org/apache/logging/log4j/Logger +instanceKlass org/apache/logging/log4j/message/MessageFactory +instanceKlass org/apache/logging/log4j/LogManager +instanceKlass com/silvercar/unleash/util/UnleashScheduledExecutorImpl$Companion +instanceKlass com/silvercar/unleash/util/UnleashScheduledExecutorImpl +instanceKlass com/silvercar/unleash/util/UnleashScheduledExecutor +instanceKlass com/silvercar/unleash/util/UnleashScheduledExecutorFactory +instanceKlass com/silvercar/unleash/util/UnleashConfig$Companion +instanceKlass com/silvercar/unleash/util/UnleashConfig +instanceKlass com/silvercar/unleash/util/UnleashConfigBuilder$contextProvider$1 +instanceKlass com/silvercar/unleash/UnleashContextProvider +instanceKlass kotlin/math/MathKt__MathHKt +instanceKlass java/lang/Math$RandomNumberGeneratorHolder +instanceKlass exa/language_server_pb/LanguageServer$RefreshContextForIdeActionResponseOrBuilder +instanceKlass kotlin/io/path/PathRelativizer +instanceKlass com/codeium/intellij/utilities/DocumentUtil +instanceKlass exa/codeium_common_pb/CodeiumCommon$Language$1 +instanceKlass com/codeium/intellij/UnifiedLanguage +instanceKlass com/codeium/intellij/LanguageKt +instanceKlass com/codeium/intellij/language_server/LanguageServerService$prepareContextRefreshRequest$$inlined$Runnable$1 +instanceKlass exa/codeium_common_pb/CodeiumCommon$DocumentPositionOrBuilder +instanceKlass exa/codeium_common_pb/CodeiumCommon$RangeOrBuilder +instanceKlass exa/codeium_common_pb/CodeiumCommon$DocumentOrBuilder +instanceKlass exa/language_server_pb/LanguageServer$RefreshContextForIdeActionRequestOrBuilder +instanceKlass exa/language_server_pb/LanguageServer$AddTrackedWorkspaceResponseOrBuilder +instanceKlass com/codeium/intellij/versioning/Version +instanceKlass exa/language_server_pb/LanguageServer$AddTrackedWorkspaceRequestOrBuilder +instanceKlass kotlin/collections/SetsKt__SetsJVMKt +instanceKlass com/codeium/intellij/versioning/VersionParser +instanceKlass kotlin/text/Regex$Companion +instanceKlass kotlin/text/Regex +instanceKlass com/codeium/intellij/chat_window/ChatViewerWindowService$maybeShowChatWindow$1$1 +instanceKlass org/cef/callback/CefSchemeRegistrar +instanceKlass org/cef/callback/CefCommandLine +instanceKlass com/silvercar/unleash/util/DefaultInstanceIdFactory +instanceKlass com/silvercar/unleash/util/UnleashConfigBuilder$customHttpHeadersProvider$1 +instanceKlass com/silvercar/unleash/CustomHttpHeadersProvider +instanceKlass com/silvercar/unleash/util/UnleashConfigBuilder$Companion +instanceKlass com/silvercar/unleash/util/UnleashConfigBuilder +instanceKlass com/silvercar/unleash/util/UnleashConfigBuilderKt +instanceKlass com/codeium/intellij/utilities/Unleash +instanceKlass com/codeium/intellij/utilities/ShortcutManager +instanceKlass com/codeium/intellij/chat_window/ChatViewLoader +instanceKlass com/codeium/intellij/InlineHintInlayRenderer$1 +instanceKlass com/codeium/intellij/utilities/SingleLineInlayTextRendererBase +instanceKlass com/codeium/intellij/HintInlayManager +instanceKlass org/cef/browser/CefMessageRouter$CefMessageRouterConfig +instanceKlass com/intellij/ui/jcef/JBCefJSQuery$JSQueryFunc +instanceKlass org/cef/handler/CefMessageRouterHandler +instanceKlass com/intellij/ui/jcef/JBCefJSQuery +instanceKlass com/intellij/ui/jcef/JBCefClient$9 +instanceKlass org/cef/handler/CefKeyboardHandlerAdapter +instanceKlass com/intellij/ui/jcef/JBCefClient$7 +instanceKlass org/cef/handler/CefFocusHandlerAdapter +instanceKlass com/intellij/ui/jcef/JBCefBrowserBase$4 +instanceKlass com/intellij/ui/jcef/JBCefClient$1 +instanceKlass org/cef/handler/CefContextMenuHandlerAdapter +instanceKlass com/intellij/ui/jcef/JBCefClient$12 +instanceKlass org/cef/handler/CefRequestHandlerAdapter +instanceKlass com/intellij/ui/jcef/JBCefClient$11 +instanceKlass org/cef/handler/CefLoadHandlerAdapter +instanceKlass com/intellij/ui/jcef/JBCefClient$10 +instanceKlass org/cef/handler/CefLifeSpanHandlerAdapter +instanceKlass org/cef/misc/CefRange +instanceKlass com/intellij/ui/jcef/JBCefFpsMeter +instanceKlass com/intellij/ui/jcef/JBCefOsrComponent$1 +instanceKlass com/intellij/ui/jcef/JBCefOsrComponent$MyScale +instanceKlass com/intellij/ui/jcef/JBCefOsrComponent$InputMethodAdapter +instanceKlass com/intellij/ui/jcef/JBCefOsrHandler +instanceKlass com/intellij/ui/jcef/JBCefOSRHandlerFactory$1 +instanceKlass com/intellij/ui/jcef/JBCefOSRHandlerFactory$2 +instanceKlass com/intellij/ui/jcef/JBCefOSRHandlerFactory +instanceKlass org/cef/CefApp$4 +instanceKlass org/cef/callback/CefNativeAdapter +instanceKlass org/cef/browser/CefBrowser +instanceKlass com/intellij/ui/jcef/JBCefBrowserBuilder +instanceKlass com/intellij/ui/jcef/JBCefClient$HandlerSupport +instanceKlass com/intellij/ui/jcef/DisposeHelper +instanceKlass com/intellij/ui/jcef/PropertiesHelper +instanceKlass org/cef/CefClient$1 +instanceKlass org/cef/callback/CefNativeAdaperMulti +instanceKlass org/cef/callback/CefNative +instanceKlass org/cef/handler/CefWindowHandler +instanceKlass org/cef/handler/CefRenderHandler +instanceKlass org/cef/handler/CefPrintHandler +instanceKlass org/cef/handler/CefContextMenuHandler +instanceKlass org/cef/handler/CefDialogHandler +instanceKlass org/cef/handler/CefDisplayHandler +instanceKlass org/cef/handler/CefDownloadHandler +instanceKlass org/cef/handler/CefDragHandler +instanceKlass org/cef/handler/CefPermissionHandler +instanceKlass org/cef/handler/CefFocusHandler +instanceKlass org/cef/handler/CefJSDialogHandler +instanceKlass org/cef/handler/CefKeyboardHandler +instanceKlass org/cef/handler/CefLifeSpanHandler +instanceKlass org/cef/handler/CefLoadHandler +instanceKlass org/cef/handler/CefRequestHandler +instanceKlass com/intellij/ui/jcef/JBCefClient +instanceKlass org/cef/CefApp$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/DefaultPromise$1 +instanceKlass exa/language_server_pb/LanguageServer$HeartbeatResponseOrBuilder +instanceKlass exa/codeium_common_pb/CodeiumCommon$ErrorTraceOrBuilder +instanceKlass exa/codeium_common_pb/CodeiumCommon$ExperimentConfigOrBuilder +instanceKlass exa/language_server_pb/LanguageServer$HeartbeatRequestOrBuilder +instanceKlass org/cef/misc/CefLog +instanceKlass com/intellij/ui/jcef/JBCefProxySettings$1 +instanceKlass com/intellij/ui/jcef/JBCefProxySettings$Credentials +instanceKlass com/intellij/ui/jcef/JBCefProxySettings +instanceKlass com/intellij/ui/jcef/JBCefAppRequiredArgumentsProvider$Companion +instanceKlass com/intellij/ui/jcef/JBCefAppRequiredArgumentsProvider +instanceKlass org/cef/misc/BoolRef +instanceKlass org/cef/SystemBootstrap$1 +instanceKlass org/cef/SystemBootstrap$Loader +instanceKlass org/cef/SystemBootstrap +instanceKlass com/intellij/ui/jcef/JBCefAppCache +instanceKlass exa/language_server_pb/LanguageServer$RecordEventResponseOrBuilder +instanceKlass com/intellij/ui/jcef/SettingsHelper +instanceKlass exa/language_server_pb/LanguageServer$RecordEventRequestOrBuilder +instanceKlass com/intellij/ui/jcef/JBCefApp$1 +instanceKlass exa/codeium_common_pb/CodeiumCommon$EventType$1 +instanceKlass org/cef/CefSettings +instanceKlass org/cef/OS +instanceKlass com/jetbrains/cef/JCefAppConfig$Holder +instanceKlass exa/codeium_common_pb/CodeiumCommon$EventOrBuilder +instanceKlass com/intellij/ui/jcef/JBCefApp$Holder +instanceKlass com/codeium/intellij/chat_window/ChatViewerWindow +instanceKlass com/codeium/intellij/chat_window/ChatViewerWindowService +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/RecyclableArrayList$1 +instanceKlass exa/language_server_pb/LanguageServerServiceGrpc$LanguageServerServiceBaseDescriptorSupplier +instanceKlass exa/language_server_pb/LanguageServer$GetProcessesResponseOrBuilder +instanceKlass exa/language_server_pb/LanguageServerServiceGrpc +instanceKlass exa/language_server_pb/LanguageServer$GetProcessesRequestOrBuilder +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ProtocolNegotiators$PlaintextProtocolNegotiator +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkUpdateCheckContributor +instanceKlass com/intellij/workspaceModel/ide/impl/CachedValuesDisposer$1 +instanceKlass com/intellij/workspaceModel/ide/impl/CachedValuesDisposer$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/CachedValuesDisposer +instanceKlass com/intellij/docker/kubernetes/KubernetesSuggestionProvider +instanceKlass org/jetbrains/yaml/swagger/OpenApiSuggestionProvider +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginSuggestionProvider +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserEditorNotificationProvider$AdvertiserSuggestion +instanceKlass com/jetbrains/python/psi/impl/PySubscriptionExpressionImpl$1 +instanceKlass kotlin/io/path/PathsKt__PathReadWriteKt +instanceKlass io/grpc/internal/InternalSubchannel$6 +instanceKlass io/grpc/internal/InternalSubchannel$TransportListener$3 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyClientHandler$3 +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractChannel$AbstractUnsafe$7 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslHandler$10 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/PromiseNotifier$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/PromiseNotifier +instanceKlass com/codeium/intellij/language_server/LanguageServerProcessHandler$1 +instanceKlass com/intellij/execution/process/WinRunnerMediator +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2ConnectionHandler$ClosingChannelFutureListener +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2ConnectionHandler$5 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection$1 +instanceKlass io/grpc/internal/InternalSubchannel$TransportListener$2 +instanceKlass exa/codeium_common_pb/CodeiumCommon$UserTeamStatus$1 +instanceKlass io/grpc/internal/ManagedChannelImpl$1CancelIdleTimer +instanceKlass io/grpc/internal/InternalSubchannel$5 +instanceKlass io/grpc/internal/DelayedClientTransport$4 +instanceKlass io/grpc/internal/ManagedChannelImpl$RealChannel$1RealChannelShutdown +instanceKlass io/grpc/internal/ManagedChannelImpl$1Shutdown +instanceKlass exa/codeium_common_pb/CodeiumCommon$UserStatus$3 +instanceKlass exa/codeium_common_pb/CodeiumCommon$UserStatus$2 +instanceKlass exa/codeium_common_pb/CodeiumCommon$UserStatus$1 +instanceKlass ini4idea/lang/psi/IniKey +instanceKlass ini4idea/lang/IniElementTypes$Factory +instanceKlass ini4idea/lang/parser/IniGeneratedParser$1 +instanceKlass ini4idea/lang/parser/IniGeneratedParser +instanceKlass ini4idea/lang/lexer/_IniLexer +instanceKlass exa/codeium_common_pb/CodeiumCommon$AuthSource$1 +instanceKlass com/intellij/openapi/ui/UiUtils +instanceKlass io/grpc/kotlin/Readiness +instanceKlass io/grpc/kotlin/HelpersKt$singleOrStatusFlow$1$1 +instanceKlass kotlin/jvm/internal/Ref$BooleanRef +instanceKlass kotlinx/coroutines/flow/FlowKt__ReduceKt$single$2 +instanceKlass io/grpc/kotlin/HelpersKt +instanceKlass io/grpc/kotlin/ClientCalls$Request +instanceKlass exa/seat_management_pb/SeatManagementServiceGrpc$SeatManagementServiceBaseDescriptorSupplier +instanceKlass exa/codeium_common_pb/CodeiumCommon$PlanInfoOrBuilder +instanceKlass exa/codeium_common_pb/CodeiumCommon$UserStatusOrBuilder +instanceKlass exa/seat_management_pb/SeatManagement$GetUserStatusResponseOrBuilder +instanceKlass exa/seat_management_pb/SeatManagementServiceGrpc +instanceKlass io/grpc/kotlin/ClientCalls +instanceKlass exa/seat_management_pb/SeatManagement +instanceKlass exa/seat_management_pb/SeatManagement$GetUserStatusRequestOrBuilder +instanceKlass kotlin/collections/ArrayAsCollection +instanceKlass kotlin/jvm/internal/StringCompanionObject +instanceKlass kotlin/collections/ArraysKt__ArraysJVMKt +instanceKlass com/codeium/intellij/network_test/NetworkTestUtils$CertificateInfo +instanceKlass com/codeium/intellij/network_test/NetworkTestUtils$NetworkTestResponse +instanceKlass com/codeium/intellij/network_test/NetworkTestUtils$HttpResponse +instanceKlass sun/net/www/protocol/http/HttpURLConnection$10 +instanceKlass com/codeium/intellij/network_test/NetworkTestUtils$SSLBypassFactory$getInsecureSocketFactory$1$1 +instanceKlass com/codeium/intellij/network_test/NetworkTestUtils$SSLBypassFactory +instanceKlass com/codeium/intellij/network_test/NetworkTestUtils +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImplKt$generalSettingFlow$$inlined$filter$1$2 +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImplKt$generalSettingFlow$$inlined$map$1$2 +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImpl$listenIdleAndActivate$$inlined$filter$1$2 +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImpl$listenIdleAndActivate$7 +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImpl$listenIdleAndActivate$$inlined$filter$1 +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImplKt$generalSettingFlow$$inlined$map$1 +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImplKt$generalSettingFlow$$inlined$filter$1 +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImpl$listenIdleAndActivate$2 +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImplKt +instanceKlass com/intellij/psi/css/impl/CssTermTypeImpl +instanceKlass com/intellij/psi/css/impl/CssTermTypes +instanceKlass com/intellij/css/util/CssConstants +instanceKlass com/intellij/psi/css/impl/util/table/CssElementDescriptorConstants +instanceKlass com/intellij/psi/css/impl/util/table/CssPropertyUtil +instanceKlass org/jetbrains/plugins/scss/psi/SassScssParameter +instanceKlass org/jetbrains/plugins/scss/psi/SassScssRuleset +instanceKlass org/jetbrains/plugins/scss/psi/SassScssVariableDeclaration +instanceKlass org/jetbrains/plugins/scss/psi/SassScssStatement +instanceKlass org/jetbrains/plugins/scss/psi/SassScssPlaceholderSelector +instanceKlass org/jetbrains/plugins/scss/psi/SassScssElement +instanceKlass org/jetbrains/plugins/scss/SCSSElementTypes +instanceKlass org/jetbrains/plugins/sass/psi/SASSElementTypes +instanceKlass org/jetbrains/plugins/less/lexer/LESSTokenTypes +instanceKlass org/jetbrains/plugins/less/LESSElementTypes +instanceKlass com/intellij/httpClient/js/http/request/language/HttpClientHandlerScriptElementTypeProvider +instanceKlass com/intellij/javascript/JSEmbeddedTokenTypesProvider +instanceKlass org/jetbrains/plugins/scss/ScssTokenTypesProvider +instanceKlass org/jetbrains/plugins/sass/SassTokenTypesProvider +instanceKlass org/intellij/plugins/postcss/PostCssEmbeddedTokenTypesProvider +instanceKlass org/jetbrains/plugins/less/LessTokenTypesProvider +instanceKlass com/intellij/psi/css/CssEmbeddedTokenTypesProvider +instanceKlass com/intellij/lexer/EmbeddedTokenTypesProvider +instanceKlass com/codeium/intellij/language_server/LanguageServerLauncherActivityKt +instanceKlass kotlin/text/CharsKt__CharJVMKt +instanceKlass org/intellij/markdown/lexer/GeneratedLexerKt +instanceKlass com/intellij/platform/backend/navigation/NavigationTarget +instanceKlass org/intellij/markdown/parser/sequentialparsers/LocalParsingResult +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/LinkParserUtil$Companion +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/LinkParserUtil +instanceKlass org/intellij/markdown/parser/sequentialparsers/DelimiterParser$Info +instanceKlass org/intellij/markdown/html/CommonDefsImplJvmKt +instanceKlass org/intellij/plugins/markdown/lang/psi/impl/MarkdownCompositePsiElement +instanceKlass org/intellij/plugins/markdown/lang/psi/impl/MarkdownLink +instanceKlass kotlin/sequences/DropWhileSequence$iterator$1 +instanceKlass kotlin/sequences/DropWhileSequence +instanceKlass com/intellij/psi/util/PsiTreeUtilKt +instanceKlass org/intellij/markdown/parser/sequentialparsers/RangesListBuilder +instanceKlass org/intellij/markdown/parser/sequentialparsers/SequentialParser$ParsingResultBuilder +instanceKlass org/intellij/markdown/parser/sequentialparsers/SequentialParser$ParsingResult +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/EmphStrongDelimiterParser$Companion +instanceKlass org/intellij/markdown/parser/sequentialparsers/DelimiterParser$Companion +instanceKlass org/intellij/markdown/parser/sequentialparsers/DelimiterParser +instanceKlass org/intellij/markdown/parser/sequentialparsers/EmphasisLikeParser +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/ReferenceLinkParser$Companion +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/ReferenceLinkParser +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/InlineLinkParser$Companion +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/InlineLinkParser +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/ImageParser +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/BacktickParser +instanceKlass org/intellij/markdown/parser/sequentialparsers/impl/AutolinkParser +instanceKlass org/intellij/markdown/parser/sequentialparsers/SequentialParser +instanceKlass org/intellij/markdown/parser/sequentialparsers/TokensCache$Iterator +instanceKlass org/intellij/markdown/parser/sequentialparsers/SequentialParserUtil$Companion +instanceKlass org/intellij/markdown/parser/sequentialparsers/SequentialParserUtil +instanceKlass org/intellij/markdown/parser/sequentialparsers/LexerBasedTokensCache$Companion$ResultOfCaching +instanceKlass org/intellij/plugins/markdown/lang/psi/impl/MarkdownCodeFence$Companion +instanceKlass org/intellij/markdown/lexer/TokenInfo +instanceKlass org/intellij/markdown/parser/sequentialparsers/LexerBasedTokensCache$Companion +instanceKlass org/intellij/markdown/parser/sequentialparsers/TokensCache +instanceKlass org/intellij/markdown/flavours/gfm/lexer/_GFMLexer$ParseDelimited +instanceKlass org/intellij/markdown/flavours/gfm/lexer/_GFMLexer$Companion +instanceKlass org/intellij/markdown/flavours/gfm/lexer/_GFMLexer +instanceKlass org/intellij/markdown/lexer/GeneratedLexer +instanceKlass org/intellij/markdown/lexer/MarkdownLexer$Companion +instanceKlass org/intellij/markdown/lexer/MarkdownLexer +instanceKlass org/intellij/plugins/markdown/lang/lexer/MarkdownMergingLexer$Companion +instanceKlass org/intellij/plugins/markdown/lang/psi/util/PsiUtilsKt +instanceKlass org/intellij/plugins/markdown/lang/psi/MarkdownPsiFactory +instanceKlass org/intellij/plugins/markdown/lang/stubs/MarkdownStubElement +instanceKlass org/intellij/plugins/markdown/lang/psi/impl/MarkdownHeader$Companion +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownParserAdapter +instanceKlass org/intellij/markdown/ast/ASTNodeKt +instanceKlass org/intellij/markdown/ast/visitors/RecursiveVisitor +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownParserManager$ParsingResult +instanceKlass org/intellij/markdown/parser/markerblocks/providers/CodeFenceProvider$OpeningInfo +instanceKlass org/intellij/markdown/ast/impl/ListCompositeNode$Companion +instanceKlass kotlin/text/MatchGroup +instanceKlass org/intellij/markdown/parser/TreeBuilder$MyASTNodeWrapper +instanceKlass org/intellij/markdown/ast/LeafASTNode$Companion +instanceKlass org/intellij/markdown/ast/ASTNodeImpl +instanceKlass org/intellij/markdown/ast/ASTNode +instanceKlass org/intellij/markdown/lexer/Stack +instanceKlass org/intellij/markdown/parser/TreeBuilder$MyEvent +instanceKlass org/intellij/markdown/parser/TreeBuilder +instanceKlass org/intellij/markdown/ast/ASTNodeBuilder$Companion +instanceKlass org/intellij/markdown/ast/ASTNodeBuilder +instanceKlass org/intellij/markdown/parser/constraints/CommonMarkdownConstraints$ListMarkerInfo +instanceKlass org/intellij/markdown/parser/markerblocks/MarkerBlock$ProcessingResult$Companion +instanceKlass org/intellij/markdown/parser/markerblocks/MarkerBlock$ProcessingResult +instanceKlass org/intellij/markdown/parser/sequentialparsers/SequentialParser$Node +instanceKlass org/intellij/markdown/parser/markerblocks/MarkerBlockImpl +instanceKlass org/intellij/markdown/parser/markerblocks/MarkerBlock +instanceKlass org/intellij/markdown/parser/markerblocks/MarkdownParserUtil +instanceKlass org/intellij/plugins/markdown/lang/parser/blocks/CommentAwareLinkReferenceDefinitionProvider +instanceKlass org/intellij/markdown/flavours/gfm/table/GitHubTableMarkerProvider$Companion +instanceKlass org/intellij/markdown/flavours/gfm/table/GitHubTableMarkerProvider +instanceKlass org/intellij/plugins/markdown/lang/parser/blocks/CodeFenceMarkerProvider$Companion +instanceKlass org/intellij/markdown/parser/constraints/MarkdownConstraintsKt +instanceKlass org/intellij/markdown/parser/markerblocks/MarkerBlockProvider$Companion +instanceKlass org/intellij/markdown/lexer/Compat +instanceKlass org/intellij/markdown/parser/LookaheadText$Position +instanceKlass org/intellij/markdown/parser/LookaheadText +instanceKlass org/intellij/markdown/parser/ProductionHolder$Marker +instanceKlass org/intellij/markdown/parser/markerblocks/providers/LinkReferenceDefinitionProvider$Companion +instanceKlass org/intellij/markdown/parser/markerblocks/providers/LinkReferenceDefinitionProvider +instanceKlass org/intellij/markdown/parser/markerblocks/providers/HtmlBlockProvider$Companion +instanceKlass org/intellij/markdown/parser/markerblocks/providers/HtmlBlockProvider +instanceKlass org/intellij/markdown/parser/markerblocks/providers/AtxHeaderProvider +instanceKlass org/intellij/markdown/parser/markerblocks/providers/ListMarkerProvider +instanceKlass org/intellij/markdown/parser/markerblocks/providers/BlockQuoteProvider +instanceKlass org/intellij/markdown/parser/markerblocks/providers/SetextHeaderProvider$Companion +instanceKlass org/intellij/markdown/parser/markerblocks/providers/SetextHeaderProvider +instanceKlass org/intellij/markdown/parser/markerblocks/providers/CodeFenceProvider$Companion +instanceKlass org/intellij/markdown/parser/markerblocks/providers/CodeFenceProvider +instanceKlass org/intellij/markdown/parser/markerblocks/providers/HorizontalRuleProvider$Companion +instanceKlass org/intellij/markdown/parser/markerblocks/providers/HorizontalRuleProvider +instanceKlass com/jetbrains/lang/makefile/psi/MakefilePsiImplUtil +instanceKlass org/intellij/markdown/parser/markerblocks/providers/CodeBlockProvider +instanceKlass org/intellij/markdown/parser/MarkerProcessor$StateInfo +instanceKlass org/intellij/markdown/flavours/gfm/GFMConstraints$Companion +instanceKlass com/jetbrains/lang/makefile/stub/MakefileTargetStubElement +instanceKlass org/intellij/markdown/parser/constraints/CommonMarkdownConstraints$Companion +instanceKlass org/intellij/markdown/parser/constraints/CommonMarkdownConstraints +instanceKlass org/intellij/markdown/parser/constraints/MarkdownConstraints +instanceKlass com/jetbrains/lang/makefile/psi/MakefileTarget +instanceKlass org/intellij/markdown/parser/MarkerProcessor +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownDefaultMarkerProcessor$Factory +instanceKlass org/intellij/markdown/parser/ProductionHolder +instanceKlass org/intellij/markdown/parser/MarkdownParser +instanceKlass com/jetbrains/lang/makefile/psi/MakefileNamedElement +instanceKlass org/intellij/plugins/markdown/lang/parser/blocks/frontmatter/FrontMatterHeaderMarkerProvider$Companion +instanceKlass org/intellij/plugins/markdown/lang/parser/blocks/frontmatter/FrontMatterHeaderMarkerProvider +instanceKlass org/intellij/plugins/markdown/lang/parser/blocks/DefinitionListMarkerProvider$Companion +instanceKlass org/intellij/plugins/markdown/lang/parser/blocks/DefinitionListMarkerProvider +instanceKlass org/intellij/markdown/parser/markerblocks/MarkerBlockProvider +instanceKlass com/jetbrains/lang/makefile/psi/MakefileTypes$Factory +instanceKlass org/intellij/markdown/flavours/gfm/GFMElementTypes +instanceKlass org/intellij/plugins/markdown/lang/MarkdownTokenTypes +instanceKlass org/intellij/plugins/markdown/lang/MarkdownTokenTypeSets +instanceKlass org/intellij/plugins/markdown/lang/MarkdownElementTypes +instanceKlass org/intellij/markdown/ast/visitors/Visitor +instanceKlass org/intellij/markdown/flavours/gfm/GFMMarkerProcessor$Factory +instanceKlass org/intellij/markdown/parser/sequentialparsers/SequentialParserManager +instanceKlass org/intellij/markdown/flavours/commonmark/CommonMarkMarkerProcessor$Factory +instanceKlass org/intellij/markdown/parser/MarkerProcessorFactory +instanceKlass org/intellij/markdown/flavours/commonmark/CommonMarkFlavourDescriptor +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownDefaultFlavour +instanceKlass org/intellij/markdown/flavours/MarkdownFlavourDescriptor +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownParserManager$Companion +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownParserManager +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownFlavourProvider$Companion +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownFlavourProvider +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownFlavourUtil +instanceKlass com/jetbrains/lang/makefile/MakefileBraceMatcherProviderKt +instanceKlass com/jetbrains/lang/makefile/MakefileBraceMatcherProvider +instanceKlass org/intellij/plugins/markdown/lang/MarkdownFileViewProviderFactory +instanceKlass com/jetbrains/lang/makefile/MakefileParser +instanceKlass com/jetbrains/python/codeInsight/PyDataclassesKt$WhenMappings +instanceKlass com/intellij/psi/PsiPlainText +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/StartupPerformanceCollector$Companion +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/StartUpPerformanceReporterValues +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/ServiceReporterKt +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/IdeaFormatWriterKt +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/IdeIdeaFormatWriterKt$writeServiceStats$StatItem +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/IdeIdeaFormatWriterKt +instanceKlass com/intellij/util/io/jackson/IntelliJPrettyPrinter$Companion +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/IdeaFormatWriter +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/StartUpPerformanceReporterKt$logAndClearStats$1$WhenMappings +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/IdeThreadNameManagerKt +instanceKlass com/intellij/diagnostic/ThreadDumper +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/IdeThreadNameManager +instanceKlass com/intellij/diagnostic/ThreadNameManager +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/StartUpPerformanceReporterKt +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonFusCollector$Companion +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonFusReporterKt +instanceKlass com/intellij/execution/lineMarker/RunLineMarkerContributor +instanceKlass com/intellij/execution/lineMarker/RunLineMarkerContributor$Info +instanceKlass com/intellij/codeInsight/daemon/LineMarkerInfo +instanceKlass com/intellij/codeInsight/intention/PriorityAction +instanceKlass com/intellij/codeInsight/documentation/render/DocRenderItemManagerImpl$Listener +instanceKlass com/intellij/codeInsight/documentation/render/DocRenderItemManagerImpl$Companion +instanceKlass com/intellij/codeInsight/documentation/render/DocRenderItemManagerImpl +instanceKlass com/intellij/codeInsight/documentation/render/DocRenderItemManager$Companion +instanceKlass com/intellij/codeInsight/documentation/render/DocRenderItemManager +instanceKlass com/intellij/sql/dialects/mongo/js/MongoJSExternalDocumentationProvider +instanceKlass com/intellij/database/extractors/DataExtractor$Text +instanceKlass com/intellij/database/extractors/DataExtractor +instanceKlass com/intellij/database/util/CharOut$Wrapper +instanceKlass com/intellij/database/util/CharOut +instanceKlass com/intellij/database/util/Out +instanceKlass com/intellij/database/extractors/ObjectFormatter +instanceKlass com/intellij/codeInsight/daemon/impl/UpdateHighlightersUtil$HighlightInfoPostFilters +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightersRecycler +instanceKlass com/intellij/codeInsight/daemon/impl/BackgroundUpdateHighlightersUtil +instanceKlass com/intellij/codeInsight/daemon/impl/CanISilentlyChange$1 +instanceKlass com/intellij/codeInsight/daemon/DaemonCodeAnalyzer$DaemonListener$AnnotatorStatistics +instanceKlass com/intellij/platform/lsp/impl/highlighting/LspAnnotator +instanceKlass com/intellij/microservices/references/MicroserviceReferenceAnnotator +instanceKlass org/toml/ide/json/TomlJsonSchemaDocumentationProvider +instanceKlass com/intellij/microservices/http/HttpHeaderReferenceDocumentationProvider +instanceKlass com/intellij/codeInsight/highlighting/HyperlinkAnnotator +instanceKlass com/jetbrains/python/scientific/PySciViewAdvertiser +instanceKlass com/jetbrains/python/inspections/PyCompatibilityInspectionAdvertiser +instanceKlass com/jetbrains/python/validation/PyCompositeAnnotator +instanceKlass com/intellij/lang/documentation/CompositeDocumentationProvider +instanceKlass com/intellij/lang/documentation/ExternalDocumentationHandler +instanceKlass com/jetbrains/python/documentation/PythonDocumentationProvider +instanceKlass com/intellij/lang/documentation/ExternalDocumentationProvider +instanceKlass com/intellij/lang/documentation/DocumentationProviderEx +instanceKlass com/intellij/lang/documentation/DocumentationProvider +instanceKlass com/jetbrains/python/validation/PyAnnotatingVisitor +instanceKlass com/intellij/ui/ScrollingUtil$ScrollingAction +instanceKlass com/intellij/util/containers/LongStack +instanceKlass com/intellij/lang/annotation/AnnotationBuilder +instanceKlass com/intellij/codeInsight/documentation/DocumentationManager$DocumentationCollector +instanceKlass org/intellij/plugins/markdown/injection/CodeFenceHighlightInfoFilter$Companion +instanceKlass org/intellij/plugins/markdown/injection/CodeFenceHighlightInfoFilter +instanceKlass com/intellij/codeInsight/highlighting/HighlightErrorFilter +instanceKlass com/intellij/structuralsearch/plugin/ui/StructuralSearchHighlightInfoFilter +instanceKlass com/intellij/codeInsight/daemon/OutsidersPsiFileSupport$HighlightFilter +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightInfoFilter +instanceKlass com/jetbrains/pyramid/templates/highlighting/ChameleonAnnotatingVisitor +instanceKlass com/intellij/lang/annotation/Annotator +instanceKlass com/intellij/codeInsight/documentation/render/InlineDocumentationImplKt +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightRangeExtension +instanceKlass com/intellij/codeInsight/documentation/render/DocRenderPassFactory$Items +instanceKlass com/intellij/codeInsight/daemon/impl/CollectHighlightsUtil +instanceKlass com/intellij/codeInsight/daemon/impl/Divider$DividedElements +instanceKlass com/intellij/codeInsight/daemon/impl/Divider +instanceKlass com/intellij/sql/editor/SqlValidatingHighlightVisitor +instanceKlass com/intellij/ide/plugins/PluginManagerCore$1 +instanceKlass com/intellij/ide/plugins/PluginLoadingError$Companion +instanceKlass com/intellij/ide/plugins/PluginLoadingError +instanceKlass com/intellij/openapi/updateSettings/impl/PluginDownloader$1 +instanceKlass com/intellij/openapi/editor/impl/EditorMarkupModelImpl$TrafficLightButton$2 +instanceKlass com/intellij/UtilBundle +instanceKlass com/intellij/codeInsight/daemon/impl/TrafficLightRenderer$DaemonCodeAnalyzerStatus +instanceKlass com/intellij/codeInsight/hints/HintsBuffer +instanceKlass com/intellij/codeInsight/hints/presentation/PresentationFactory$offsetFromTopProvider$1 +instanceKlass com/intellij/codeInsight/hints/presentation/InsetValueProvider +instanceKlass com/intellij/codeInsight/hints/presentation/InlayTextMetricsStorage +instanceKlass com/intellij/codeInsight/hints/presentation/PresentationFactory$Companion +instanceKlass com/intellij/codeInsight/daemon/RainbowVisitor +instanceKlass com/intellij/codeInsight/hints/presentation/PresentationFactory +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/LoadingResult +instanceKlass com/intellij/codeInsight/hints/InlayPresentationFactory +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsGlobalModelSynchronizerImpl$loadGlobalEntitiesToEmptyStorage$errorReporter$1 +instanceKlass com/intellij/codeInsight/daemon/IdeValidationHost +instanceKlass com/intellij/codeInsight/daemon/Validator$ValidationHost +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsGlobalEntitiesSerializers +instanceKlass com/intellij/configurationStore/AppStorageContentReader$Companion +instanceKlass com/intellij/configurationStore/AppStorageContentReader +instanceKlass com/intellij/codeInsight/daemon/AnnotatorStatisticsCollector +instanceKlass com/intellij/lang/annotation/AnnotationHolder +instanceKlass com/intellij/codeInsight/daemon/impl/DefaultHighlightVisitor +instanceKlass com/intellij/lang/javascript/validation/JSSemanticKeywordHighlighter +instanceKlass com/intellij/codeInsight/hints/LinearOrderInlayRenderer +instanceKlass com/intellij/codeInsight/hints/PresentationContainerRenderer +instanceKlass com/intellij/codeInsight/hints/presentation/InputHandler +instanceKlass com/intellij/concurrency/Job$1 +instanceKlass com/intellij/codeInsight/daemon/impl/PassExecutorService$ScheduledPass +instanceKlass com/intellij/codeInsight/daemon/impl/FileStatusMap$FileStatus +instanceKlass org/jetbrains/qodana/highlight/QodanaIsSelectedPersistenceService$Companion +instanceKlass org/jetbrains/qodana/highlight/QodanaHighlightedReportService$Companion +instanceKlass org/jetbrains/qodana/highlight/QodanaHighlightedReportService +instanceKlass com/intellij/codeInsight/daemon/LineMarkerSettings +instanceKlass com/intellij/codeInsight/hints/InlayHintsPass$Companion +instanceKlass com/intellij/diff/tools/util/text/TwosideTextDiffProvider$NoIgnore +instanceKlass com/intellij/diff/tools/util/text/TwosideTextDiffProvider +instanceKlass com/intellij/diff/tools/util/text/TextDiffProvider +instanceKlass com/intellij/diff/util/DiffUtil +instanceKlass com/intellij/lang/javascript/json/JSJsonSchemaProviderBase +instanceKlass com/intellij/lang/javascript/json/JsonSchemaInJavaScriptProvider +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightVisitor +instanceKlass com/intellij/util/NotNullProducer +instanceKlass com/intellij/util/Producer +instanceKlass com/intellij/codeInsight/highlighting/PassRunningAssert +instanceKlass com/intellij/codeInsight/daemon/impl/analysis/HighlightInfoHolder +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectOpenHashMap$MapSpliterator +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightingPassTracer +instanceKlass com/intellij/openapi/vfs/encoding/EncodingUtil +instanceKlass org/toml/ide/experiments/TomlExperiments +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptService$Companion$getForFile$$inlined$getForFileImpl$1 +instanceKlass com/intellij/concurrency/JobLauncherImpl$VoidForkJoinTask +instanceKlass com/intellij/concurrency/Job +instanceKlass com/intellij/concurrency/JobLauncher +instanceKlass com/intellij/openapi/command/impl/NonUndoableAction +instanceKlass com/intellij/openapi/fileEditor/DocumentsEditor +instanceKlass com/intellij/openapi/command/undo/DocumentReferenceProvider +instanceKlass com/intellij/codeInsight/daemon/impl/CanISilentlyChange +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonFusReporter +instanceKlass com/intellij/codeInsight/daemon/LineMarkerProvider +instanceKlass com/intellij/codeInsight/daemon/GutterIconDescriptor +instanceKlass com/intellij/execution/lineMarker/RunnableStatusListener +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/BridgeKt +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/JupyterBackedVirtualFileProvider +instanceKlass com/intellij/notebook/editor/BackedVirtualFileProvider +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonCodeAnalyzerImpl$HighlightByOffsetProcessor +instanceKlass com/intellij/codeInsight/navigation/CtrlMouseHandlerKt +instanceKlass org/jetbrains/plugins/notebooks/ui/editor/MouseHoveredGutterKt +instanceKlass com/intellij/openapi/editor/toolbar/floating/TransparentComponentAnimator$State$Hiding +instanceKlass com/intellij/openapi/editor/toolbar/floating/TransparentComponentAnimator$State$Visible +instanceKlass com/intellij/openapi/editor/toolbar/floating/TransparentComponentAnimator$State$Showing +instanceKlass com/jetbrains/rd/platform/codeWithMe/carets/RemoteCaretHighlighterService$Companion +instanceKlass com/jetbrains/codeWithMe/model/RemoteCaretData +instanceKlass com/jetbrains/rd/platform/codeWithMe/carets/RemoteCaretModel +instanceKlass com/jetbrains/rd/platform/codeWithMe/carets/RemoteCaret +instanceKlass com/jetbrains/rd/platform/codeWithMe/carets/RemoteCaretHighlighterService +instanceKlass com/jetbrains/rd/platform/codeWithMe/carets/RemoteCaretTooltipManager$MyMouseEventListener +instanceKlass org/jetbrains/plugins/notebooks/visualization/NotebookCellInlayManager$Companion +instanceKlass org/jetbrains/plugins/notebooks/visualization/NotebookCellInlayManager +instanceKlass com/intellij/feedback/common/IdleFeedbackTypeResolver +instanceKlass com/intellij/codeInsight/hints/declarative/impl/DeclarativeInlayHintsMouseMotionListener +instanceKlass com/intellij/codeInsight/hints/presentation/listeners/InlayEditorMouseMotionListener +instanceKlass com/intellij/openapi/editor/EditorMouseHoverPopupManager$MyEditorMouseMotionEventListener +instanceKlass com/intellij/codeInsight/hint/LocalHintManager$4 +instanceKlass com/intellij/codeInsight/hint/LocalHintManager$3 +instanceKlass com/intellij/codeInsight/hint/LocalHintManager$MyDynamicPluginListener +instanceKlass com/intellij/codeInsight/hint/LocalHintManager$MyAnActionListener +instanceKlass com/intellij/codeInsight/hint/LocalHintManager$2 +instanceKlass com/intellij/codeInsight/hint/LocalHintManager$1 +instanceKlass com/intellij/ui/HintListener +instanceKlass com/intellij/codeInsight/hint/LocalHintManager +instanceKlass com/intellij/codeInsight/hint/HintManagerImpl$MyProjectManagerListener +instanceKlass com/intellij/codeInsight/hint/HintManagerImpl$MyEditorManagerListener +instanceKlass com/intellij/codeInsight/hint/HintManager +instanceKlass com/intellij/codeInsight/hint/TooltipController +instanceKlass it/unimi/dsi/fastutil/ints/IntSortedSet +instanceKlass it/unimi/dsi/fastutil/ints/IntBidirectionalIterable +instanceKlass com/intellij/openapi/editor/impl/EditorLocation$1 +instanceKlass com/intellij/openapi/editor/impl/EditorLocation +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$visibleAreaChanged$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$editorMouseListener$1$advise$listener$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$editorMouseListener$1 +instanceKlass java/awt/Container$2 +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/JupyterEditorGutterMouseListener +instanceKlass com/intellij/feedback/common/track/EditorMouseEventTracker +instanceKlass com/intellij/codeInsight/hints/presentation/listeners/InlayEditorMouseListener +instanceKlass com/intellij/codeInsight/hints/declarative/impl/DeclarativeInlayEditorMouseListener +instanceKlass com/intellij/openapi/editor/EditorMouseHoverPopupManager$MyActionListener +instanceKlass com/intellij/openapi/editor/EditorMouseHoverPopupManager$2 +instanceKlass com/intellij/openapi/editor/impl/EditorMouseHoverPopupControl +instanceKlass com/intellij/openapi/editor/EditorMouseHoverPopupManager$1 +instanceKlass com/intellij/openapi/editor/EditorMouseHoverPopupManager$Context +instanceKlass com/intellij/ui/WidthBasedLayout +instanceKlass com/intellij/openapi/editor/EditorMouseHoverPopupManager +instanceKlass com/intellij/openapi/editor/EditorMouseHoverPopupManager$MyEditorMouseEventListener +instanceKlass com/intellij/openapi/editor/impl/EditorLastActionTracker$MyEditorMouseListener +instanceKlass com/jetbrains/rd/util/reactive/IScheduler$DefaultImpls +instanceKlass org/jetbrains/plugins/notebooks/visualization/outputs/impl/OutputCollapsingGutterMouseListener +instanceKlass com/intellij/util/animation/JBAnimator$3 +instanceKlass com/intellij/util/animation/JBAnimator$4 +instanceKlass com/intellij/largeFilesEditor/editor/LargeFileEditor +instanceKlass com/jetbrains/rdserver/unattendedHost/editor/notification/UnattendedHostJdkConfigurationNotificationProvider$Companion +instanceKlass com/jetbrains/rdserver/unattendedHost/editor/notification/UnattendedHostJdkConfigurationNotificationProvider +instanceKlass com/intellij/prettierjs/codeStyle/PrettierCodeStyleInstaller +instanceKlass com/intellij/prettierjs/PrettierCodeStyleEditorNotificationProvider +instanceKlass com/intellij/lang/javascript/linter/tslint/editor/TsLintCodeStyleEditorNotificationProvider +instanceKlass com/intellij/vite/ViteEditorNotificationProvider +instanceKlass com/intellij/psi/codeStyle/PredefinedCodeStyle +instanceKlass com/intellij/lang/javascript/linter/eslint/standardjs/StandardJSCodeStyleNotifierProvider +instanceKlass com/intellij/lang/javascript/linter/eslint/importer/EslintImportCodeStyleEditorNotificationProvider +instanceKlass com/intellij/lang/javascript/linter/JSLinterEditorNotifications$NotificationProvider +instanceKlass git4idea/index/vfs/GitIndexVirtualFileEditorNotificationProvider +instanceKlass git4idea/conflicts/MergeConflictResolveUtil$NotificationProvider +instanceKlass com/intellij/docker/dockerFile/notifications/DockerMissingShellPluginNotificationProvider$Companion +instanceKlass com/intellij/docker/dockerFile/notifications/DockerMissingShellPluginNotificationProvider +instanceKlass com/intellij/httpClient/graphql/notification/HttpClientGraphQLPluginAdvertisementKt +instanceKlass com/intellij/httpClient/graphql/notification/HttpClientGraphQLPluginAdvertisement +instanceKlass com/intellij/httpClient/http/request/notification/HttpClientHistoryFileNotificationPanelProvider +instanceKlass com/intellij/httpClient/converters/legacy/LegacyRestClientFileToNewAction$Manager +instanceKlass com/intellij/httpClient/converters/legacy/LegacyRestClientNotificationPanelProvider +instanceKlass com/intellij/plugins/watcher/action/FwEditorNotificationProvider$1 +instanceKlass com/intellij/plugins/watcher/config/BackgroundTaskConsumer +instanceKlass com/intellij/plugins/watcher/action/FwEditorNotificationProvider +instanceKlass com/intellij/sh/shellcheck/ShellcheckSetupNotificationProvider +instanceKlass training/onboarding/DoNotGenerateTipsNotification +instanceKlass com/intellij/uml/EmptyDiagramProvider$EditorNotificationProviderImpl +instanceKlass org/editorconfig/language/messages/EditorConfigWrongFileEncodingNotificationProvider$Companion +instanceKlass org/editorconfig/language/messages/EditorConfigWrongFileEncodingNotificationProvider +instanceKlass org/editorconfig/language/messages/EditorConfigWrongFileNameNotificationProvider$Companion +instanceKlass org/editorconfig/language/messages/EditorConfigWrongFileNameNotificationProvider +instanceKlass org/editorconfig/configmanagement/editor/EditorConfigEditorNotificationProvider +instanceKlass com/intellij/dvcs/ignore/IgnoredToExcludeNotificationProvider +instanceKlass com/intellij/openapi/vcs/changes/conflicts/ChangelistConflictNotificationProvider +instanceKlass com/intellij/openapi/vcs/changes/committed/OutdatedVersionNotifier +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkEditorNotificationsProvider +instanceKlass com/intellij/largeFilesEditor/editor/LargeFileRegexSearchNotificationProvider +instanceKlass com/intellij/largeFilesEditor/editor/LargeFileNotificationProvider +instanceKlass com/intellij/internal/retype/RetypeEditorNotificationProvider +instanceKlass com/intellij/ide/GeneratedFileEditingNotificationProvider +instanceKlass com/intellij/ide/lightEdit/LightEditNonExistentFileNotificationProvider +instanceKlass com/intellij/ide/trustedProjects/impl/UntrustedProjectNotificationProvider +instanceKlass com/intellij/ide/CommandLineWaitingManager +instanceKlass com/intellij/ide/CommandLineWaitingManager$MyNotification +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserExtensionsData +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserExtensionsStateService$ExtensionDataProvider +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserEditorNotificationProviderKt +instanceKlass com/intellij/xml/breadcrumbs/PsiFileBreadcrumbsCollector$1 +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserEditorNotificationProvider +instanceKlass com/intellij/ide/FileChangedNotificationProvider$2 +instanceKlass com/intellij/ide/FileChangedNotificationProvider$1 +instanceKlass com/intellij/ide/FileChangedNotificationProvider +instanceKlass com/intellij/codeInsight/highlighting/XmlAwareBraceMatcher +instanceKlass com/jetbrains/python/PyBraceMatcher +instanceKlass com/intellij/codeInsight/highlighting/BraceMatchingUtil +instanceKlass com/intellij/psi/impl/source/tree/injected/InjectedLanguageEditorUtil +instanceKlass com/intellij/codeInsight/template/impl/TemplateManagerUtilBase +instanceKlass com/intellij/codeInsight/completion/OffsetKey +instanceKlass com/intellij/codeInsight/template/impl/TemplateStateProcessor +instanceKlass com/intellij/codeInsight/highlighting/BraceHighlightingHandler +instanceKlass com/intellij/openapi/editor/impl/ForcedSoftWrapsNotificationProvider +instanceKlass com/intellij/openapi/editor/impl/BidiContentNotificationProvider +instanceKlass com/intellij/openapi/fileEditor/impl/text/LargeFileNotificationProvider +instanceKlass com/intellij/execution/impl/RunConfigEditorNotificationProvider +instanceKlass git4idea/ui/GitEditorPromo +instanceKlass com/intellij/codeInsight/daemon/VcsSilentChangeVetoer +instanceKlass com/intellij/codeInsight/daemon/impl/SilentChangeVetoer +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectFunctions$SynchronizedFunction +instanceKlass com/intellij/codeInspection/ex/GlobalInspectionContextBase$1 +instanceKlass com/intellij/codeInspection/reference/RefElement +instanceKlass com/intellij/codeInspection/reference/RefEntity +instanceKlass com/intellij/codeInspection/GlobalInspectionContext +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightingSessionImpl +instanceKlass com/intellij/codeInsight/highlighting/HeavyBraceHighlighter +instanceKlass com/intellij/codeInsight/highlighting/BackgroundHighlighter$HighlightIdentifiersKey +instanceKlass com/intellij/codeInsight/daemon/impl/IdentifierHighlighterPass +instanceKlass com/intellij/psi/impl/source/tree/injected/InjectionResult +instanceKlass com/intellij/psi/impl/source/tree/injected/InjectionRegistrarImpl +instanceKlass com/intellij/psi/impl/source/tree/injected/ClassMapCachingNulls +instanceKlass com/jetbrains/python/codeInsight/PyInjectionUtil +instanceKlass com/intellij/sql/injection/SqlTypeBasedInjector$Holder +instanceKlass com/intellij/sql/dialects/mongo/js/psi/MongoJSLiteralExpression +instanceKlass com/intellij/sql/dialects/mongo/js/psi/MongoJSExpression +instanceKlass com/intellij/sql/dialects/mongo/js/psi/MongoJSElement +instanceKlass org/jetbrains/plugins/cucumber/psi/GherkinPystring +instanceKlass org/jetbrains/plugins/cucumber/psi/GherkinPsiElement +instanceKlass com/intellij/httpClient/http/request/psi/HttpRequestTarget +instanceKlass com/jetbrains/lang/makefile/psi/MakefileSubstitution +instanceKlass com/jetbrains/lang/makefile/psi/MakefileFunction +instanceKlass com/jetbrains/lang/makefile/psi/MakefileRecipe +instanceKlass com/intellij/json/psi/JsonStringLiteral +instanceKlass com/intellij/json/psi/JsonLiteral +instanceKlass com/intellij/json/psi/JsonValue +instanceKlass com/intellij/json/psi/JsonElement +instanceKlass com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl$PsiManagerRegisteredInjectorsAdapter +instanceKlass com/intellij/psi/impl/source/tree/injected/LanguageInjectionPerformerAdapter +instanceKlass org/angular2/editor/Angular2Injector +instanceKlass com/intellij/python/pyscript/PyScriptConfigLanguageInjector +instanceKlass com/intellij/python/pyscript/PyScriptLanguageInjector$Companion +instanceKlass com/intellij/python/pyscript/PyScriptLanguageInjector +instanceKlass com/jetbrains/appengine/lang/gql/GqlLanguageInjector +instanceKlass com/jetbrains/python/codeInsight/PyInjectorBase +instanceKlass com/jetbrains/python/codeInsight/regexp/PythonRegexpInjector$RegexpMethodDescriptor +instanceKlass com/jetbrains/python/codeInsight/regexp/PythonRegexpInjector +instanceKlass com/intellij/webcomponents/css/WebComponentsSelectorInjector +instanceKlass com/intellij/styledComponents/StyledComponentsInjector +instanceKlass com/intellij/sql/injection/SqlTypeBasedInjector +instanceKlass com/intellij/sql/dialects/mongo/js/MongoJSInjector +instanceKlass com/intellij/sql/dialects/base/psi/SqlFunctionBodyInjector +instanceKlass com/intellij/sql/dialects/dateTime/SqlDtInjector +instanceKlass com/intellij/sql/injection/SqlParserSuggestionInjector +instanceKlass com/intellij/html/webSymbols/WebSymbolsHtmlTextInjector +instanceKlass org/jetbrains/vuejs/editor/VueInjector +instanceKlass org/intellij/plugins/intelliLang/inject/config/BaseInjection +instanceKlass org/intellij/plugins/intelliLang/inject/config/Injection +instanceKlass com/intellij/lang/injection/general/Injection +instanceKlass org/intellij/plugins/intelliLang/inject/LanguageInjectionSupport +instanceKlass com/intellij/plugins/intelliLang/inject/JSInjectorBase +instanceKlass com/intellij/lang/javascript/frameworks/bindows/BindowsLanguageInjector +instanceKlass com/intellij/lang/javascript/frameworks/dojo/DojoLanguageInjector +instanceKlass com/intellij/lang/javascript/frameworks/mozilla/XulLanguageInjector +instanceKlass com/intellij/lang/javascript/JSTargetedInjector +instanceKlass com/intellij/lang/javascript/JSLanguageInjector +instanceKlass com/intellij/lang/javascript/injections/JSInXmlLanguagesInjector +instanceKlass org/jetbrains/plugins/cucumber/injector/GherkinLanguageInjector +instanceKlass com/intellij/httpClient/injection/http/request/HttpClientAwsAppSyncJsonToHeaderInjector +instanceKlass com/intellij/httpClient/http/request/psi/HttpRequestMessagesGroup +instanceKlass com/intellij/httpClient/http/request/psi/HttpRequestBody +instanceKlass com/intellij/httpClient/http/request/psi/HttpRequestCompositeElement +instanceKlass com/intellij/httpClient/injection/http/request/HttpRequestBodyInjector +instanceKlass org/intellij/plugins/markdown/fenceInjection/CodeFenceInjector$Companion +instanceKlass org/intellij/plugins/markdown/fenceInjection/CodeFenceInjector +instanceKlass org/intellij/plugins/intelliLang/inject/xml/XmlLanguageInjector +instanceKlass com/jetbrains/lang/makefile/MakefileShellLanguageInjector +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionGroupDefaultSettingModel$Companion +instanceKlass com/intellij/psi/css/CssLanguageInjector +instanceKlass com/intellij/codeInsight/hints/settings/InlayProviderSettingsModel +instanceKlass com/jetbrains/jsonSchema/impl/JsonSchemaInjectorBase +instanceKlass com/intellij/codeInsight/hints/codeVision/DaemonBoundCodeVisionCacheService$FileCache +instanceKlass com/intellij/psi/impl/source/html/HtmlScriptLanguageInjector +instanceKlass com/intellij/codeInsight/hints/codeVision/DaemonBoundCodeVisionCacheService$Companion +instanceKlass com/intellij/psi/impl/source/html/HtmlConditionalCommentInjector +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionState$Companion +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionState +instanceKlass com/intellij/codeInsight/hints/VcsCodeVisionProviderKt +instanceKlass com/intellij/completion/ngram/slp/sequencing/NGramSequencer +instanceKlass com/intellij/internal/ml/ngram/NGramRecentTokensSequence +instanceKlass com/intellij/internal/ml/ngram/NGramRecentTokens +instanceKlass com/intellij/internal/ml/ngram/VocabularyWithLimit$Companion +instanceKlass com/intellij/completion/ngram/slp/translating/Vocabulary$Companion +instanceKlass com/intellij/psi/impl/source/resolve/reference/impl/providers/XsdRegExpInjector +instanceKlass com/intellij/completion/ngram/slp/translating/Vocabulary +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionProvidersWatcher$Companion +instanceKlass com/intellij/completion/ngram/slp/modeling/ngram/NGramModel$Config +instanceKlass com/intellij/completion/ngram/slp/modeling/ngram/JMModel$Companion +instanceKlass com/intellij/completion/ngram/slp/modeling/ngram/NGramModel$Companion +instanceKlass com/intellij/completion/ngram/slp/modeling/AbstractModel +instanceKlass com/intellij/completion/ngram/slp/modeling/Model +instanceKlass com/intellij/completion/ngram/slp/counting/trie/AbstractTrie +instanceKlass com/intellij/completion/ngram/slp/counting/Counter +instanceKlass com/intellij/internal/ml/ngram/NGramIncrementalModelRunner$Companion +instanceKlass com/intellij/completion/ngram/slp/modeling/runners/ModelRunner$Companion +instanceKlass com/intellij/completion/ngram/slp/modeling/runners/ModelRunner +instanceKlass com/intellij/internal/performance/LatencyRecord +instanceKlass com/intellij/internal/performance/LatencyDistributionRecordKey +instanceKlass com/intellij/internal/performance/LatencyDistributionRecord +instanceKlass com/intellij/internal/ml/ngram/NGramModelSerializer +instanceKlass com/intellij/filePrediction/features/history/FileHistoryPersistence +instanceKlass com/intellij/filePrediction/features/history/FileHistoryManager +instanceKlass com/intellij/filePrediction/features/history/FileHistoryManagerWrapper$Companion +instanceKlass com/intellij/psi/util/ReadActionCache$Companion +instanceKlass com/intellij/filePrediction/features/history/FileHistoryManagerWrapper +instanceKlass com/intellij/openapi/vcs/annotate/AnnotationsPreloader$Companion +instanceKlass com/intellij/openapi/vcs/annotate/AnnotationsPreloader +instanceKlass com/intellij/psi/PsiFileWithOneLanguage +instanceKlass com/intellij/psi/util/PsiEditorUtil +instanceKlass com/intellij/util/TriConsumer +instanceKlass com/intellij/codeInsight/highlighting/BackgroundHighlightingUtil +instanceKlass com/intellij/featureStatistics/fusCollectors/FileEditorCollector$Companion +instanceKlass com/intellij/swagger/endpoints/synthetic/OasEndpointsSidePanel$Companion +instanceKlass com/intellij/swagger/endpoints/synthetic/OasEndpointsSidePanel +instanceKlass com/intellij/microservices/endpoints/EndpointsSidePanel +instanceKlass com/intellij/microservices/oas/OpenApiSpecification +instanceKlass com/intellij/jsonpath/ui/JsonPathEvaluateManager$Companion +instanceKlass com/intellij/jsonpath/ui/JsonPathEvaluateManager +instanceKlass com/intellij/ide/browsers/WebBrowserUrlProvider +instanceKlass com/intellij/ide/browsers/impl/WebBrowserServiceImplKt +instanceKlass com/intellij/ide/browsers/impl/WebBrowserServiceImpl$Companion +instanceKlass com/intellij/ide/browsers/WebBrowserService +instanceKlass com/intellij/ide/browsers/OpenInBrowserRequest +instanceKlass com/intellij/ide/browsers/actions/BaseOpenInBrowserActionKt +instanceKlass com/intellij/ide/browsers/actions/BaseOpenInBrowserAction$Handler +instanceKlass com/intellij/ide/browsers/WebBrowserXmlService$Companion +instanceKlass com/intellij/ide/browsers/WebBrowserXmlService +instanceKlass com/intellij/ide/browsers/BrowserSpecificSettings +instanceKlass com/intellij/ide/browsers/WebBrowser +instanceKlass com/intellij/codeInsight/editorActions/XmlTagNameSynchronizer$TagNameSynchronizer +instanceKlass com/intellij/openapi/editor/impl/FoldingModelImpl$SavedCaretPosition +instanceKlass com/intellij/codeInsight/inline/completion/InlineCompletionContext$Companion +instanceKlass com/intellij/codeInsight/inline/completion/InlineCompletionContext +instanceKlass com/intellij/openapi/editor/impl/ErrorStripeMarkersModel$HighlighterIterator +instanceKlass com/intellij/openapi/editor/impl/EditorMarkupModelImpl$PositionedStripe +instanceKlass com/intellij/openapi/editor/impl/EditorGutterComponentImpl$6 +instanceKlass com/intellij/openapi/editor/impl/DisplayedFoldingAnchor +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$1 +instanceKlass com/intellij/openapi/editor/CaretVisualAttributes +instanceKlass com/intellij/openapi/externalSystem/autoimport/ProjectRefreshAction$Companion +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$Session$1MyProcessor +instanceKlass com/intellij/openapi/editor/EditorLinePainter +instanceKlass com/intellij/openapi/editor/LineExtensionInfo +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$Session$1 +instanceKlass com/intellij/util/containers/PeekableIteratorWrapper +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$LineWhitespacePaintingStrategy +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$CaretDataInView +instanceKlass com/intellij/openapi/editor/impl/ClipDetector +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$XCorrector$LeftAligned +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$XCorrector +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$LineFragmentPainter +instanceKlass it/unimi/dsi/fastutil/floats/FloatList +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter$Session +instanceKlass com/intellij/openapi/editor/ex/util/EditorUIUtil +instanceKlass com/intellij/application/options/colors/FontEditorPreview +instanceKlass com/intellij/application/options/colors/PreviewPanel +instanceKlass com/intellij/application/options/colors/FontEditorPreview$PreviewTextModel +instanceKlass com/intellij/codeInsight/codeVision/EditorCodeVisionContext$resubmitThings$1$invoke$$inlined$sortBy$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/CodeVisionScaledIconPainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/DefaultCodeVisionPainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/providers/CodeVisionPainterProviders$Companion +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/providers/CodeVisionPainterProvidersKt +instanceKlass com/jetbrains/rd/util/AdditionalApiKt$throttleLast$1 +instanceKlass com/intellij/openapi/wm/impl/status/ToggleReadOnlyAttributePanelKt +instanceKlass com/intellij/codeInsight/daemon/impl/HintUtil +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/CodeVisionThemeInfoProvider +instanceKlass com/intellij/codeInsight/codeVision/ui/model/CodeVisionListData$Companion +instanceKlass com/intellij/codeInsight/codeVision/ui/model/CodeVisionListData +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/CodeVisionVisionTextPainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/CodeVisionStringPainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/CodeVisionTheme$Companion +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/CodeVisionTheme +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/DelimiterPainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/ICodeVisionGraphicPainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/CodeVisionListPainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/ICodeVisionEntryBasePainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/painters/ICodeVisionPainter +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/CodeVisionListRenderer +instanceKlass com/intellij/codeInsight/codeVision/ui/renderers/CodeVisionRenderer +instanceKlass com/intellij/codeInsight/codeVision/ui/model/CodeVisionVisualVerticalPositionKeeper$RangeMarkerWithOffset +instanceKlass com/intellij/codeInsight/codeVision/ui/model/CodeVisionVisualVerticalPositionKeeper +instanceKlass com/intellij/codeInsight/codeVision/ui/CodeVisionView$WhenMappings +instanceKlass com/intellij/codeInsight/codeVision/ui/model/RangeCodeVisionModel +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$mouseEntered$1$listener$1 +instanceKlass com/jetbrains/rd/util/reactive/PropertyViewExKt$switchMap$1$change$1 +instanceKlass com/jetbrains/rd/util/reactive/PropertyViewExKt$switchMap$1 +instanceKlass com/jetbrains/rd/util/reactive/PropertyViewExKt +instanceKlass java/awt/Component$2 +instanceKlass com/jetbrains/rd/util/AdditionalApiKt$asProperty$1 +instanceKlass com/jetbrains/rd/util/AdditionalApiKt$debounceNotNull$1 +instanceKlass com/jetbrains/rd/util/AdditionalApiKt +instanceKlass com/intellij/codeInsight/codeVision/ui/model/SwingScheduler +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$mouseReleased$1$advise$clickListener$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$mouseReleased$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$mouseClicked$1$advise$clickListener$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$mouseClicked$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$mousePressed$1$advise$clickListener$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt$mousePressed$1 +instanceKlass com/jetbrains/rd/util/Maybe +instanceKlass com/jetbrains/rd/util/reactive/PropertyCombinatorsKt$map$1$change$1 +instanceKlass com/jetbrains/rd/util/reactive/PropertyCombinatorsKt$map$1 +instanceKlass com/jetbrains/rd/swing/RdSwingKt$proxyProperty$1$change$1 +instanceKlass com/jetbrains/rd/swing/RdSwingKt$proxyProperty$1 +instanceKlass com/intellij/codeInsight/codeVision/ui/RdSwingKt +instanceKlass com/intellij/codeInsight/codeVision/ui/model/CodeVisionSelectionController$Companion +instanceKlass com/intellij/codeInsight/codeVision/ui/model/CodeVisionSelectionController +instanceKlass com/intellij/codeInsight/codeVision/EditorCodeVisionContext$resubmitThings$1$invoke$lambda$6$$inlined$sortedBy$1 +instanceKlass com/intellij/openapi/editor/impl/view/ApproximationFragment +instanceKlass com/intellij/openapi/editor/impl/IntervalTreeImpl$IntervalTreeGuide +instanceKlass com/intellij/psi/impl/smartPointers/SmartPointerAnchorProvider +instanceKlass com/intellij/psi/impl/smartPointers/MarkerCache +instanceKlass com/intellij/psi/impl/source/tree/AstSpine +instanceKlass com/intellij/psi/PsiAnchor +instanceKlass com/intellij/openapi/editor/impl/IntervalTreeImpl$StaticSupplier +instanceKlass com/intellij/codeInsight/folding/impl/EditorFoldingInfo +instanceKlass com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation +instanceKlass com/intellij/codeInsight/daemon/ProblemHighlightFilter +instanceKlass com/intellij/codeInsight/daemon/impl/analysis/DefaultHighlightingSettingProvider +instanceKlass com/intellij/codeInsight/daemon/DaemonBundle +instanceKlass com/intellij/diff/util/DiffUserDataKeys +instanceKlass com/intellij/codeInsight/daemon/impl/TrafficLightRenderer$1 +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntFunctions$SynchronizedFunction +instanceKlass com/intellij/codeInsight/daemon/impl/TrafficLightRenderer$AbstractUIController +instanceKlass com/intellij/codeInsight/daemon/impl/TrafficLightRenderer +instanceKlass com/intellij/platform/lsp/api/LspServerDescriptor$Companion +instanceKlass com/google/gson/JsonParser +instanceKlass com/intellij/tailwind/settings/TailwindState +instanceKlass com/intellij/ui/DocumentAdapter +instanceKlass com/intellij/util/ui/SwingUndoUtil +instanceKlass com/intellij/database/csv/ui/CsvFormatsUI +instanceKlass com/intellij/tailwind/settings/TailwindSettings$Companion +instanceKlass com/intellij/tailwind/settings/TailwindSettings +instanceKlass com/intellij/database/csv/ui/preview/CsvFormatPreview +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonTooltipRendererProvider +instanceKlass com/intellij/codeInsight/daemon/impl/ErrorStripeUpdateManager$EssentialHighlightingModeListener +instanceKlass com/intellij/codeInsight/daemon/impl/TrafficLightRendererContributor +instanceKlass com/intellij/openapi/editor/markup/ErrorStripeRenderer +instanceKlass com/intellij/javascript/nodejs/util/NodePackageDescriptor +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$MyInputMethodHandleSwingThreadWrapper +instanceKlass com/intellij/openapi/editor/EditorCustomElementRenderer +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$MyInputMethodHandler +instanceKlass com/intellij/lang/typescript/compiler/languageService/TypeScriptLanguageServiceUtil +instanceKlass org/jetbrains/vuejs/lang/typescript/service/VueServicesKt +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$LspServerStarterImpl +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$LspFileEditorManagerListener$OpenedFilesData +instanceKlass com/intellij/platform/lsp/api/LspServerDescriptor +instanceKlass com/intellij/tailwind/lsp/TailwindLspServerSupportProvider +instanceKlass com/intellij/internal/statistic/local/LanguageUsageStatisticsProviderImpl$SimpleLanguageUsageStatistics +instanceKlass com/intellij/internal/statistic/local/LanguageUsageStatisticsProviderImpl$LanguageStatisticsState +instanceKlass com/intellij/internal/statistic/local/FileTypeUsageSummary +instanceKlass com/intellij/internal/statistic/local/FileTypeUsageLocalSummaryState +instanceKlass com/intellij/database/model/basic/BasicModElement +instanceKlass com/intellij/database/model/basic/BasicModMixinElement +instanceKlass com/intellij/database/util/DbSqlUtilCore +instanceKlass com/intellij/codeInsight/folding/impl/DocumentFoldingInfo +instanceKlass com/intellij/openapi/editor/CaretState +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorState$CaretState +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorState +instanceKlass com/intellij/openapi/fileEditor/impl/EditorHistoryManager$IncludeInEditorHistoryFile +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsInitListener +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsPresentationProvider +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsPanel$3 +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsPanel$2 +instanceKlass com/intellij/ui/components/breadcrumbs/Breadcrumbs$CrumbView +instanceKlass com/intellij/xml/breadcrumbs/NavigatableCrumb +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbListener +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsPanel$CrumbHighlightInfo +instanceKlass com/intellij/ui/components/breadcrumbs/Crumb +instanceKlass com/intellij/ui/breadcrumbs/BreadcrumbsUtil +instanceKlass com/jetbrains/python/breadcrumbs/PyBreadcrumbsInfoProvider$Helper +instanceKlass com/jetbrains/python/breadcrumbs/PyBreadcrumbsInfoProvider$Companion +instanceKlass com/jetbrains/python/breadcrumbs/PyBreadcrumbsInfoProvider +instanceKlass com/intellij/sql/editor/SqlBreadcrumbsProvider$Companion +instanceKlass com/intellij/sql/editor/SqlBreadcrumbsProvider +instanceKlass nl/hannahsten/texifyidea/structure/bibtex/BibtexBreadcrumbsInfo +instanceKlass nl/hannahsten/texifyidea/structure/latex/LatexBreadcrumbsInfo +instanceKlass org/intellij/plugins/markdown/breadcrumbs/MarkdownBreadcrumbsProvider +instanceKlass com/intellij/psi/ElementDescriptionLocation +instanceKlass com/intellij/psi/css/impl/util/editor/CssBreadcrumbsInfoProvider +instanceKlass org/jetbrains/yaml/breadcrumbs/YAMLBreadcrumbsInfoProvider +instanceKlass org/editorconfig/language/breadcrumbs/EditorConfigBreadcrumbsProvider +instanceKlass com/intellij/json/breadcrumbs/JsonBreadcrumbsProvider +instanceKlass com/intellij/xml/breadcrumbs/XmlLanguageBreadcrumbsInfoProvider +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsUtilEx +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsForceShownSettings +instanceKlass com/intellij/pom/event/PomModelListener +instanceKlass com/intellij/openapi/editor/toolbar/floating/EditorFloatingToolbar$2 +instanceKlass com/intellij/openapi/externalSystem/autoimport/AutoImportProjectNotificationAware$Companion +instanceKlass com/intellij/openapi/externalSystem/autoimport/ExternalSystemProjectNotificationAware$Listener +instanceKlass com/intellij/openapi/externalSystem/autoimport/ExternalSystemProjectNotificationAware$Companion +instanceKlass com/intellij/openapi/editor/toolbar/floating/FloatingToolbarUtilKt +instanceKlass com/intellij/openapi/externalSystem/autoimport/ProjectRefreshFloatingProvider$Companion +instanceKlass com/intellij/openapi/observable/util/RevertOnDisposeUtilKt +instanceKlass com/intellij/openapi/observable/util/ListenerUiUtil +instanceKlass com/intellij/openapi/editor/toolbar/floating/EditorFloatingToolbar$EditorFloatingToolbarComponent$installMouseMotionWatcher$1 +instanceKlass com/intellij/openapi/editor/toolbar/floating/TransparentComponentAnimator$State$Invisible +instanceKlass com/intellij/openapi/editor/toolbar/floating/TransparentComponentAnimator$State +instanceKlass com/intellij/openapi/editor/toolbar/floating/ExecutorWithThrottling +instanceKlass com/intellij/openapi/editor/toolbar/floating/TransparentComponentAnimator$Companion +instanceKlass com/intellij/openapi/editor/toolbar/floating/TransparentComponentAnimator +instanceKlass com/intellij/openapi/editor/toolbar/floating/AbstractFloatingToolbarComponent$ToolbarTransparentComponent +instanceKlass com/intellij/openapi/editor/toolbar/floating/TransparentComponent +instanceKlass com/intellij/openapi/editor/toolbar/floating/AbstractFloatingToolbarComponent$Companion +instanceKlass com/intellij/openapi/editor/toolbar/floating/FloatingToolbarComponent +instanceKlass com/intellij/openapi/extensions/ExtensionPointUtilKt +instanceKlass com/intellij/openapi/editor/toolbar/floating/DefaultFloatingToolbarProvider$Companion +instanceKlass com/intellij/openapi/editor/toolbar/floating/AbstractFloatingToolbarProvider$Companion +instanceKlass com/intellij/openapi/editor/toolbar/floating/AbstractFloatingToolbarProvider +instanceKlass com/intellij/openapi/editor/toolbar/floating/FloatingToolbarProvider$Companion +instanceKlass com/intellij/openapi/editor/toolbar/floating/FloatingToolbarProvider +instanceKlass com/intellij/openapi/editor/markup/TextAttributesEffectsBuilder$EffectDescriptor +instanceKlass com/intellij/openapi/editor/markup/TextAttributesEffectsBuilder +instanceKlass com/intellij/openapi/editor/ex/util/LexerEditorHighlighter$HighlighterIteratorImpl +instanceKlass com/intellij/openapi/editor/impl/EditorHighlighterCache +instanceKlass com/intellij/openapi/editor/colors/impl/TextAttributeKeyDefaultsProviderImpl +instanceKlass com/intellij/ui/tabs/impl/JBEditorTabPainter$WhenMappings +instanceKlass com/intellij/ui/tabs/impl/JBEditorTabsBorder$WhenMappings +instanceKlass com/intellij/util/RetinaImage +instanceKlass com/intellij/openapi/ui/impl/ShadowPainter +instanceKlass com/intellij/openapi/ui/impl/ShadowBorderPainter +instanceKlass com/intellij/openapi/progress/util/ProgressDialogWrapperKt +instanceKlass com/intellij/openapi/progress/impl/NonCancellableTaskCancellation +instanceKlass com/intellij/openapi/progress/TaskCancellation$NonCancellable +instanceKlass com/intellij/codeInsight/hints/InlayHintsUtils +instanceKlass com/intellij/openapi/progress/impl/ComponentModalTaskOwner +instanceKlass com/intellij/openapi/progress/impl/ModalTaskOwnerKt +instanceKlass com/intellij/psi/PsiDirectoryContainer +instanceKlass com/intellij/codeInsight/hints/codeVision/CodeVisionProviderBase$getPlaceholderCollector$1 +instanceKlass com/intellij/codeInsight/codeVision/BypassBasedPlaceholderCollector +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionPlaceholderCollector +instanceKlass com/intellij/lang/javascript/hints/JSCodeVisionLocations +instanceKlass com/intellij/formatting/visualLayer/VisualFormattingLayerServiceKt +instanceKlass com/intellij/formatting/visualLayer/VisualFormattingLayerService$Companion +instanceKlass com/intellij/formatting/visualLayer/VisualFormattingLayerService +instanceKlass com/intellij/openapi/fileEditor/impl/BaseRemoteFileEditor +instanceKlass com/jetbrains/python/vcs/PyVcsContextProvider +instanceKlass com/intellij/codeInsight/hints/VcsCodeVisionLanguageContext$Companion +instanceKlass com/intellij/codeInsight/hints/VcsCodeVisionLanguageContext +instanceKlass com/intellij/codeInsight/editorActions/ReaderModeFileEditorListener$fileOpenedSync$1 +instanceKlass com/intellij/codeInsight/hints/ProviderInfo +instanceKlass com/intellij/codeInsight/hints/ProviderWithSettings +instanceKlass com/intellij/codeInsight/hints/NoSettings +instanceKlass com/intellij/openapi/fileEditor/impl/SelectionState +instanceKlass com/intellij/codeInsight/hints/InlayHintsUtilsKt +instanceKlass com/intellij/codeInsight/hints/SettingsKey$Companion +instanceKlass com/intellij/codeInsight/hints/SettingsKey +instanceKlass com/codeium/intellij/inlay_hints/FunctionInfoInlayProviderFactory$FunctionInfoInlayProvider +instanceKlass com/intellij/codeInsight/hints/InlayHintsProvider +instanceKlass com/intellij/ui/components/JBScrollPane$1 +instanceKlass com/intellij/microservices/url/inlay/UrlPathInlayLanguagesProvider +instanceKlass com/intellij/openapi/fileEditor/impl/TabColorUtilKt +instanceKlass com/codeium/intellij/inlay_hints/FunctionInfoInlayProviderFactory +instanceKlass com/intellij/microservices/url/inlay/UrlPathInlayHintsProviderFactory$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/tabActions/CloseTabKt +instanceKlass com/intellij/microservices/url/inlay/UrlPathInlayHintsProviderFactory +instanceKlass com/intellij/codeInsight/hints/SingleLanguageInlayProviderFactory +instanceKlass com/intellij/codeInsight/hints/InlayHintsProviderFactory$Companion +instanceKlass com/intellij/codeInsight/hints/InlayHintsProviderFactory +instanceKlass com/intellij/codeInsight/hints/HintUtils +instanceKlass com/intellij/codeInsight/hints/InlayHintsSettings$State +instanceKlass com/intellij/codeInsight/hints/InlayHintsSettings$SettingsListener +instanceKlass com/intellij/codeInsight/hints/InlayHintsSettings$Companion +instanceKlass com/intellij/codeInsight/hints/InlayHintsSettings +instanceKlass com/intellij/codeInsight/documentation/render/DocRenderManager +instanceKlass com/intellij/codeInsight/folding/impl/AbstractElementSignatureProvider +instanceKlass com/intellij/codeInsight/folding/impl/GenericElementSignatureProvider +instanceKlass com/intellij/codeInsight/folding/impl/ElementSignatureProvider +instanceKlass com/intellij/codeInsight/folding/impl/FoldingPolicy +instanceKlass com/intellij/codeInsight/folding/impl/FoldingUpdate$RegionInfo +instanceKlass com/jetbrains/python/PyCellUtil +instanceKlass com/intellij/lang/folding/FoldingDescriptor +instanceKlass com/jetbrains/python/codeInsight/imports/AddImportHelper +instanceKlass com/intellij/psi/PsiCompiledFile +instanceKlass com/intellij/lang/folding/FoldingBuilderEx +instanceKlass com/intellij/codeInsight/daemon/impl/EditorTrackerKt +instanceKlass com/intellij/icons/ExpUiIcons$Gutter +instanceKlass com/intellij/openapi/editor/impl/EditorGutterLayout$GutterArea +instanceKlass com/intellij/openapi/editor/markup/StatusItem +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider$1 +instanceKlass com/jetbrains/rdserver/completion/BackendLookupManagerImpl$3 +instanceKlass com/intellij/codeInsight/lookup/impl/LookupManagerImpl$3 +instanceKlass com/intellij/codeInsight/lookup/impl/LookupManagerImpl$2 +instanceKlass com/intellij/codeInsight/lookup/LookupListener +instanceKlass com/intellij/codeInsight/lookup/impl/LookupManagerImpl$1 +instanceKlass com/intellij/codeInsight/hint/EditorHintListener +instanceKlass com/jetbrains/rdserver/completion/BackendLookupManagerImpl$Companion +instanceKlass com/jetbrains/rd/ide/document/PatchEngineDocumentSynchronizer +instanceKlass com/jetbrains/rd/ide/document/DocumentSynchronizer +instanceKlass com/jetbrains/rd/ide/completion/LookupModelWrapper +instanceKlass com/jetbrains/rd/ide/completion/LookupWrapper +instanceKlass com/intellij/codeInsight/completion/LookupElementListPresenter +instanceKlass com/intellij/codeInsight/completion/PrefixMatcher +instanceKlass com/intellij/codeInsight/lookup/LookupEx +instanceKlass com/intellij/codeInsight/lookup/Lookup +instanceKlass com/intellij/codeInsight/lookup/LookupArranger +instanceKlass com/intellij/codeInsight/lookup/WeighingContext +instanceKlass com/intellij/database/vfs/DatabaseElementTabTitleProvider +instanceKlass com/intellij/ui/EditorTextComponent +instanceKlass org/jetbrains/plugins/notebooks/visualization/NotebookCellLinesProvider +instanceKlass org/jetbrains/plugins/notebooks/visualization/IntervalsGenerator +instanceKlass com/intellij/space/vcs/chat/editor/SpaceChatFileTabTitleProvider +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$MyEditable +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabs$2$WhenMappings +instanceKlass com/jetbrains/plugins/webDeployment/remoteEdit/RemoteFileEditorTitleTabProvider +instanceKlass com/intellij/ui/tabs/impl/ActionButton +instanceKlass com/intellij/uml/editors/DiagramEditorTabTitleProvider +instanceKlass com/intellij/openapi/vcs/changes/VcsEditorTabTitleProvider +instanceKlass com/intellij/vcs/log/ui/editor/DefaultVcsLogFileTabTitleProvider +instanceKlass com/intellij/openapi/fileEditor/impl/UniqueNameEditorTabTitleProvider$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/UniqueNameEditorTabTitleProvider +instanceKlass com/intellij/diff/editor/DiffEditorTabFilesManagerKt +instanceKlass com/intellij/diff/editor/DiffEditorTabFilesManager$Companion +instanceKlass com/jetbrains/rd/platform/codeWithMe/tabection/CWMEditorTabDataProvider +instanceKlass com/intellij/openapi/fileEditor/impl/tabActions/base/EditorTabDataProvider +instanceKlass com/jetbrains/rd/platform/codeWithMe/tabection/CWMEditorTabActionFactory +instanceKlass com/intellij/openapi/fileEditor/impl/tabActions/base/EditorTabActionFactory +instanceKlass com/intellij/diff/editor/DiffEditorTabTitleProvider +instanceKlass com/intellij/ui/SimpleColoredText +instanceKlass com/intellij/ui/content/AlertIcon +instanceKlass com/intellij/openapi/fileEditor/impl/EditorWindowKt +instanceKlass com/intellij/completion/ml/ngram/NGram +instanceKlass com/intellij/codeInsight/folding/impl/FoldingUpdate +instanceKlass com/intellij/lang/folding/CustomFoldingProvider +instanceKlass com/intellij/codeInsight/folding/impl/CodeFoldingManagerImpl$1 +instanceKlass com/intellij/lang/folding/FoldingBuilder +instanceKlass com/intellij/openapi/fileEditor/impl/text/CodeFoldingState +instanceKlass com/intellij/openapi/fileEditor/impl/EditorComposite$Companion +instanceKlass com/intellij/openapi/fileEditor/FileEditorComposite$Companion$EMPTY$1 +instanceKlass com/intellij/openapi/fileEditor/FileEditorComposite$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/text/PsiAwareTextEditorImpl$loadEditorInBackground$State +instanceKlass com/intellij/openapi/ui/AsyncLoadingDecorator +instanceKlass com/intellij/openapi/fileEditor/impl/text/AsyncEditorLoaderKt +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorImplKt +instanceKlass com/intellij/ui/codeFloatingToolbar/FloatingToolbarFilter +instanceKlass org/intellij/plugins/markdown/ui/floating/AddFloatingToolbarTextEditorCustomizer +instanceKlass com/intellij/ui/codeFloatingToolbar/FloatingCodeToolbarEditorCustomizer +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorCustomizer +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorComponent$MyFileTypeListener +instanceKlass com/intellij/openapi/fileEditor/impl/text/EditorHighlighterUpdater$3 +instanceKlass com/intellij/openapi/fileEditor/impl/text/EditorHighlighterUpdater$2 +instanceKlass com/intellij/openapi/fileEditor/impl/text/EditorHighlighterUpdater$4 +instanceKlass com/intellij/openapi/fileEditor/impl/text/EditorHighlighterUpdater$1 +instanceKlass com/intellij/openapi/fileEditor/impl/text/EditorHighlighterUpdater$MyFileTypeListener +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorComponentKt +instanceKlass javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener +instanceKlass javax/swing/plaf/basic/BasicScrollBarUI$Handler +instanceKlass com/intellij/util/ui/NSScrollerHelper$2 +instanceKlass com/intellij/util/ui/NSScrollerHelper$1 +instanceKlass com/intellij/util/ui/NSScrollerHelper +instanceKlass com/intellij/util/ui/ButtonlessScrollBarUI$6 +instanceKlass com/intellij/util/ui/ButtonlessScrollBarUI$WeakListener +instanceKlass com/intellij/util/ui/ButtonlessScrollBarUI$5 +instanceKlass com/intellij/util/ui/ButtonlessScrollBarUI$4 +instanceKlass com/intellij/util/ui/ButtonlessScrollBarUI$1 +instanceKlass com/intellij/util/ui/NSScrollerHelper$ScrollbarStyleListener +instanceKlass javax/swing/plaf/basic/BasicScrollBarUI$ModelListener +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorComponent$MyDocumentListener +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorComponent$MyVirtualFileListener +instanceKlass com/intellij/openapi/fileEditor/impl/text/EditorHighlighterUpdater +instanceKlass com/jetbrains/rd/platform/util/UserDataHolderKt$userData$2 +instanceKlass com/jetbrains/rdserver/editors/BackendEditorHost$Companion +instanceKlass com/jetbrains/rdserver/editors/BackendEditorSynchronizer +instanceKlass com/intellij/openapi/editor/impl/ScrollRequestListener +instanceKlass com/jetbrains/rd/ide/document/ProtocolDocumentHost +instanceKlass com/jetbrains/rdserver/requests/BackendClientOperationListener +instanceKlass com/jetbrains/rd/ide/model/TextControlId +instanceKlass com/jetbrains/rd/ide/model/RdPatchStep +instanceKlass com/jetbrains/rdserver/editors/BackendEditorHost$MyEditorFactoryListener +instanceKlass com/jetbrains/rdserver/unattendedHost/status/UnattendedHostActivityTracker$Companion +instanceKlass com/jetbrains/rdserver/unattendedHost/status/UnattendedHostActivityTracker +instanceKlass com/jetbrains/rdserver/unattendedHost/status/UnattendedHostActivityTracker$EditorsListener +instanceKlass org/jetbrains/plugins/notebooks/visualization/r/inlays/InlayDescriptorProvider$Companion +instanceKlass org/jetbrains/plugins/notebooks/visualization/r/inlays/InlayDescriptorProvider +instanceKlass org/jetbrains/plugins/notebooks/visualization/r/inlays/InlaysManager$Companion +instanceKlass org/jetbrains/plugins/notebooks/visualization/r/inlays/InlaysManager +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/JupyterEditorInitializationFlag +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/JupyterEditorInitializationFlagKt +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/JupyterFileEditorKt +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/JupyterDsEditorFactoryListener +instanceKlass com/jetbrains/python/psi/PyPrintStatement +instanceKlass com/intellij/psi/css/impl/CssEscapeUtil +instanceKlass com/intellij/psi/css/impl/parsing/CssBlockSkipper +instanceKlass com/intellij/psi/css/CssFile +instanceKlass com/intellij/psi/css/StylesheetFile +instanceKlass com/intellij/psi/codeStyle/autodetect/IndentUsageInfo +instanceKlass com/intellij/psi/codeStyle/autodetect/IndentUsageStatisticsImpl$IndentData +instanceKlass com/intellij/psi/codeStyle/autodetect/IndentUsageStatisticsImpl +instanceKlass com/intellij/psi/codeStyle/autodetect/IndentOptionsAdjusterImpl +instanceKlass com/intellij/psi/codeStyle/autodetect/LineIndentInfo +instanceKlass java/util/Collections$UnmodifiableList$1 +instanceKlass com/intellij/formatting/WrapImpl$1 +instanceKlass com/intellij/util/xml/DomReflectionUtil +instanceKlass com/intellij/util/xml/Namespace +instanceKlass com/intellij/util/ConstantFunction +instanceKlass com/intellij/util/xml/ScopeProvider +instanceKlass org/intellij/plugins/relaxNG/xml/dom/RngGrammar +instanceKlass org/intellij/plugins/relaxNG/model/Grammar +instanceKlass org/intellij/plugins/relaxNG/model/Pattern +instanceKlass org/intellij/plugins/relaxNG/xml/dom/RngGrammarContent +instanceKlass org/intellij/plugins/relaxNG/xml/dom/RngDomElement +instanceKlass org/intellij/plugins/relaxNG/model/CommonElement +instanceKlass com/intellij/util/xml/highlighting/DomElementsAnnotator +instanceKlass com/intellij/psi/formatter/common/AbstractBlock +instanceKlass com/intellij/psi/formatter/common/ExtraRangesProvider +instanceKlass com/intellij/psi/formatter/common/NewLineBlocksIterator +instanceKlass com/intellij/psi/codeStyle/autodetect/FormatterBasedLineIndentInfoBuilder +instanceKlass com/intellij/psi/formatter/CompositeWhiteSpaceFormattingStrategy +instanceKlass com/intellij/psi/formatter/AbstractWhiteSpaceFormattingStrategy +instanceKlass com/intellij/psi/formatter/WhiteSpaceFormattingStrategy +instanceKlass com/intellij/psi/formatter/WhiteSpaceFormattingStrategyFactory +instanceKlass com/intellij/psi/formatter/FormattingDocumentModelImpl +instanceKlass com/intellij/formatting/FormattingDocumentModel +instanceKlass com/intellij/psi/formatter/PsiBasedFormattingModel +instanceKlass com/intellij/formatting/FormattingModelEx +instanceKlass com/intellij/formatting/FormattingModelProvider +instanceKlass com/jetbrains/python/formatter/PyBlock +instanceKlass com/intellij/formatting/ASTBlock +instanceKlass com/intellij/formatting/SpacingBuilder$SpacingRule +instanceKlass com/intellij/formatting/SpacingBuilder$RuleCondition +instanceKlass com/intellij/formatting/SpacingBuilder$RuleBuilder +instanceKlass com/intellij/formatting/SpacingBuilder +instanceKlass com/jetbrains/python/formatter/PyBlockContext +instanceKlass com/intellij/formatting/VirtualFormattingImplKt +instanceKlass com/intellij/lang/qml/formatter/QmlFormatProcessor +instanceKlass com/intellij/psi/codeStyle/ExternalFormatProcessor +instanceKlass com/intellij/formatting/Indent$Type +instanceKlass com/intellij/util/SequentialTask +instanceKlass com/intellij/formatting/FormattingModel +instanceKlass com/intellij/formatting/Spacing +instanceKlass com/intellij/formatting/Alignment +instanceKlass com/intellij/formatting/Wrap +instanceKlass com/intellij/formatting/Indent +instanceKlass com/intellij/formatting/FormatterEx +instanceKlass com/intellij/formatting/Holder +instanceKlass com/intellij/formatting/Formatter +instanceKlass com/intellij/formatting/FormattingModelFactory +instanceKlass com/intellij/formatting/SpacingFactory +instanceKlass com/intellij/formatting/AlignmentFactory +instanceKlass com/intellij/formatting/WrapFactory +instanceKlass com/intellij/formatting/IndentFactory +instanceKlass nl/hannahsten/texifyidea/formatting/LatexLanguageFormattingRestriction +instanceKlass com/intellij/lang/InvalidPsiAutoFormatRestriction +instanceKlass com/intellij/formatting/ExcludedFileFormattingRestriction +instanceKlass com/intellij/lang/LanguageFormattingRestriction +instanceKlass com/intellij/psi/codeStyle/autodetect/IndentOptionsAdjuster +instanceKlass com/intellij/psi/codeStyle/autodetect/IndentUsageStatistics +instanceKlass com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl +instanceKlass com/intellij/psi/codeStyle/autodetect/IndentOptionsDetector +instanceKlass com/intellij/openapi/application/impl/WithDocumentsCommitted +instanceKlass com/intellij/psi/codeStyle/DetectAndAdjustIndentOptionsTask +instanceKlass com/intellij/codeInsight/actions/ReaderModeSettings$Companion$WhenMappings +instanceKlass com/intellij/formatting/Block +instanceKlass com/jetbrains/python/formatter/PythonFormattingModelBuilder +instanceKlass com/intellij/formatting/CustomFormattingModelBuilder +instanceKlass com/intellij/formatting/FormattingModelBuilder +instanceKlass com/intellij/openapi/application/impl/ApplicationImpl$3 +instanceKlass com/jetbrains/python/sdk/poetry/PoetryKt$special$$inlined$syncRunPoetry$1 +instanceKlass com/jetbrains/python/sdk/poetry/PyProjectTomlWatcher +instanceKlass com/jetbrains/python/sdk/pipenv/PipEnvPipFileWatcher +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcReaderModeMatcher +instanceKlass com/codeium/intellij/editor/EditorListener$editorCreated$1 +instanceKlass com/codeium/intellij/editor/EditorListener$EditorCaretListener +instanceKlass com/codeium/intellij/editor/EditorListener$DocumentListener +instanceKlass com/codeium/intellij/editor/EditorListener$EditorSelectionListener +instanceKlass com/intellij/diff/actions/DiffReaderModeMatcher +instanceKlass com/intellij/codeInsight/actions/ReaderModeMatcher +instanceKlass com/codeium/intellij/editor/EditorListener +instanceKlass org/intellij/plugins/markdown/editor/tables/ui/MarkdownInlayUpdateOnSoftWrapListener$Companion +instanceKlass org/intellij/plugins/markdown/editor/tables/ui/MarkdownInlayUpdateOnSoftWrapListener +instanceKlass com/intellij/lang/javascript/frameworks/html/JSXmlTypedHandlersAdditionalSupport +instanceKlass com/intellij/openapi/editor/XmlTypedHandlersAdditionalSupport +instanceKlass com/intellij/codeInsight/editorActions/XmlTagNameSynchronizer +instanceKlass com/intellij/codeInsight/editorActions/XmlTagNameSynchronizer$MyEditorFactoryListener +instanceKlass com/intellij/internal/statistic/fileTypes/UpdateComponentWatcherKt +instanceKlass com/intellij/internal/statistic/fileTypes/UpdateComponentWatcher$1 +instanceKlass com/intellij/internal/statistic/fileTypes/UpdateComponentWatcher +instanceKlass com/intellij/internal/statistic/fileTypes/UpdateComponentEditorListener +instanceKlass com/jetbrains/rdserver/daemon/RdServerEditorTrackerKt +instanceKlass com/jetbrains/rd/ide/model/HighlighterElement +instanceKlass com/jetbrains/rdserver/daemon/BackendRangeMarkerStorage +instanceKlass com/jetbrains/rd/ide/model/AbstractDocumentVersion +instanceKlass com/jetbrains/rdserver/daemon/BackendMarkupSuppressor +instanceKlass com/jetbrains/rdserver/daemon/BackendMarkupModelContributor +instanceKlass com/intellij/codeInsight/daemon/impl/EditorTracker$MyAppLevelEditorFactoryListener +instanceKlass com/intellij/codeInsight/inline/completion/listeners/InlineCaretListener +instanceKlass com/intellij/codeInsight/inline/completion/listeners/InlineCompletionDocumentListener +instanceKlass com/intellij/codeInsight/inline/completion/InlineCompletionHandler$Companion +instanceKlass com/intellij/codeInsight/inline/completion/InlineCompletionHandler +instanceKlass com/intellij/codeInsight/inline/completion/listeners/InlineCompletionFocusListener +instanceKlass com/intellij/codeInsight/inline/completion/listeners/InlineCompletionEditorListener +instanceKlass com/intellij/ide/bookmark/GutterLineBookmarkUpdater +instanceKlass com/intellij/ide/minimap/MinimapEditorFactoryListener +instanceKlass com/intellij/codeInsight/actions/ReaderModeSettingsImpl +instanceKlass com/intellij/codeInsight/actions/ReaderModeSettings$Companion +instanceKlass com/intellij/codeInsight/actions/ReaderModeSettings +instanceKlass com/intellij/codeInsight/editorActions/ReaderModeEditorFactoryListener +instanceKlass com/intellij/codeInsight/preview/ElementPreviewProvider +instanceKlass com/intellij/codeInsight/preview/ImageOrColorPreviewManager +instanceKlass com/intellij/openapi/editor/impl/EditorLastActionTracker$MyEditorFactoryListener +instanceKlass com/intellij/openapi/fileEditor/impl/zoomIndicator/ZoomIndicatorManager$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/zoomIndicator/ZoomIndicatorManager +instanceKlass com/intellij/openapi/fileEditor/impl/zoomIndicator/AttachZoomIndicator +instanceKlass com/intellij/coverage/CoverageDataManagerImpl$CoverageEditorFactoryListener +instanceKlass com/intellij/refactoring/introduce/IntroduceTarget +instanceKlass com/google/common/collect/Count +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionHost$subscribeForFrontendEditor$3 +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionHost$subscribeForFrontendEditor$2 +instanceKlass com/intellij/codeInsight/hints/settings/language/SingleLanguageInlayHintsSettingsPanelKt +instanceKlass com/jetbrains/rd/util/reactive/IViewableSet$view$1$WhenMappings +instanceKlass com/jetbrains/rd/util/reactive/IViewableSet$Event +instanceKlass com/intellij/openapi/vfs/encoding/EncodingManagerImpl$DocumentEncodingDetectRequest +instanceKlass com/intellij/openapi/editor/impl/event/EditorEventMulticasterImpl$3 +instanceKlass com/intellij/openapi/editor/impl/event/EditorEventMulticasterImpl$2 +instanceKlass com/intellij/openapi/editor/impl/ContextMenuPopupHandler +instanceKlass com/intellij/openapi/editor/impl/FocusModeModel$2 +instanceKlass com/intellij/openapi/editor/impl/FocusModeModel$1 +instanceKlass com/intellij/openapi/editor/impl/FocusModeModel +instanceKlass com/intellij/openapi/editor/impl/view/VisualLinesIterator$Location +instanceKlass com/intellij/openapi/editor/impl/view/VisualLinesIterator +instanceKlass com/intellij/injected/editor/EditorWindow +instanceKlass com/intellij/openapi/editor/impl/view/TextFragment +instanceKlass com/intellij/openapi/editor/impl/view/TextFragmentFactory +instanceKlass com/intellij/openapi/editor/impl/ComplementaryFontsRegistry$FontKey +instanceKlass com/intellij/openapi/editor/impl/ComplementaryFontsRegistry$FallBackInfo +instanceKlass com/intellij/openapi/editor/impl/ComplementaryFontsRegistry +instanceKlass com/intellij/openapi/editor/impl/view/SpecialCharacterFragment +instanceKlass com/intellij/openapi/editor/impl/FontFallbackIterator +instanceKlass com/intellij/util/FilteringProcessor +instanceKlass com/intellij/openapi/editor/impl/view/IterationState$HighlighterSweep +instanceKlass com/intellij/openapi/editor/ex/util/EmptyEditorHighlighter$1 +instanceKlass com/intellij/openapi/editor/impl/view/IterationState$CaretData +instanceKlass com/intellij/openapi/editor/impl/view/IterationState +instanceKlass com/intellij/openapi/editor/impl/view/LineLayout$Chunk +instanceKlass jdk/internal/icu/impl/UBiDiProps$IsAcceptable +instanceKlass jdk/internal/icu/impl/UBiDiProps +instanceKlass jdk/internal/icu/text/BidiBase$ImpTabPair +instanceKlass jdk/internal/icu/text/BidiBase +instanceKlass java/text/Bidi +instanceKlass com/intellij/openapi/editor/impl/view/VisualLineFragmentsIterator$Fragment +instanceKlass com/intellij/openapi/editor/impl/view/VisualLineFragmentsIterator +instanceKlass com/intellij/openapi/editor/impl/view/LogicalPositionCache$LineData +instanceKlass com/intellij/openapi/util/Predicates +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectMaps$1 +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringGutterMarkPreprocessor +instanceKlass com/intellij/openapi/editor/GutterMarkPreprocessor +instanceKlass com/intellij/openapi/editor/impl/FilteringMarkupIterator +instanceKlass com/intellij/openapi/editor/LineNumberConverter$1 +instanceKlass com/intellij/openapi/ui/ex/lineNumber/LineNumberConvertersKt$WhenMappings +instanceKlass com/intellij/openapi/ui/ex/lineNumber/LineNumberConvertersKt +instanceKlass com/intellij/codeInsight/daemon/impl/TextEditorBackgroundHighlighter +instanceKlass com/intellij/codeHighlighting/BackgroundEditorHighlighter +instanceKlass com/intellij/openapi/fileEditor/ClientFileEditorManager$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorProviderKt +instanceKlass com/intellij/util/IntPair +instanceKlass com/intellij/openapi/editor/EditorCoreUtil +instanceKlass sun/font/DelegatingShape +instanceKlass com/intellij/openapi/editor/impl/view/FontLayoutServiceKt +instanceKlass com/intellij/openapi/editor/impl/view/FontLayoutService$Companion +instanceKlass com/intellij/openapi/editor/impl/view/FontLayoutService +instanceKlass com/intellij/openapi/editor/impl/FoldRegionsTree$1 +instanceKlass com/intellij/openapi/editor/impl/SweepProcessor$Generator +instanceKlass com/intellij/util/DocumentUtil +instanceKlass com/intellij/openapi/editor/impl/SettingsImplKt +instanceKlass com/intellij/openapi/editor/impl/view/EditorView$1 +instanceKlass com/intellij/openapi/editor/impl/FontInfo +instanceKlass com/intellij/openapi/editor/impl/view/TabFragment +instanceKlass com/intellij/openapi/editor/impl/view/LineFragment +instanceKlass it/unimi/dsi/fastutil/ints/Int2FloatMap$FastEntrySet +instanceKlass it/unimi/dsi/fastutil/ints/AbstractInt2FloatFunction +instanceKlass it/unimi/dsi/fastutil/ints/Int2FloatMap +instanceKlass it/unimi/dsi/fastutil/ints/Int2FloatFunction +instanceKlass com/intellij/openapi/editor/impl/view/CharWidthCache +instanceKlass com/intellij/openapi/editor/impl/view/LogicalPositionCache +instanceKlass com/intellij/openapi/editor/impl/view/TextLayoutCache$2 +instanceKlass com/intellij/openapi/editor/impl/view/LineLayout$VisualFragment +instanceKlass com/intellij/openapi/editor/impl/view/LineLayout$BidiRun +instanceKlass com/intellij/openapi/editor/impl/view/LineLayout$VisualOrderIterator +instanceKlass com/intellij/openapi/editor/impl/view/LineLayout +instanceKlass com/intellij/openapi/editor/impl/view/TextLayoutCache +instanceKlass com/intellij/openapi/editor/impl/view/EditorSizeManager +instanceKlass com/intellij/openapi/editor/impl/view/EditorCoordinateMapper +instanceKlass com/intellij/openapi/editor/impl/view/EditorPainter +instanceKlass com/intellij/openapi/editor/impl/view/EditorView +instanceKlass java/awt/dnd/DropTargetAdapter +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$7 +instanceKlass com/intellij/openapi/diff/impl/DiffUtil +instanceKlass com/intellij/openapi/editor/impl/EditorGutterComponentImpl$LineNumbersRepainter +instanceKlass com/intellij/util/ui/accessibility/ScreenReader$1 +instanceKlass com/intellij/openapi/editor/impl/EditorGutterComponentImpl$1 +instanceKlass com/intellij/openapi/editor/impl/FoldingAnchorsOverlayStrategy +instanceKlass com/intellij/ide/dnd/DnDSupport$DnDNativeTargetWrapper +instanceKlass com/intellij/ide/dnd/DnDSupport$1 +instanceKlass com/intellij/ide/dnd/DnDSupportBuilder +instanceKlass com/intellij/ide/dnd/DnDSupport +instanceKlass com/intellij/ide/dnd/DnDDropHandler$WithResult +instanceKlass com/intellij/openapi/editor/impl/EditorGutterLayout +instanceKlass com/intellij/ide/dnd/DnDDragStartBean +instanceKlass com/intellij/ide/dnd/DnDImage +instanceKlass com/intellij/ide/dnd/DnDActionInfo +instanceKlass com/intellij/openapi/editor/impl/EditorGutterComponentImpl$ClickInfo +instanceKlass it/unimi/dsi/fastutil/ints/Int2IntSortedMap +instanceKlass com/intellij/util/indexing/containers/SortedFileIdSetIterator +instanceKlass com/intellij/openapi/editor/markup/ActiveGutterRenderer +instanceKlass com/intellij/openapi/editor/impl/EditorGutterComponentImpl$LineGutterIconRendererProcessor +instanceKlass com/intellij/openapi/editor/impl/EditorGutterComponentImpl$RangeHighlighterProcessor +instanceKlass com/intellij/openapi/editor/impl/EditorGutterComponentImpl$PointInfo +instanceKlass com/intellij/openapi/editor/LineNumberConverter +instanceKlass com/intellij/openapi/editor/impl/EditorGutterListener +instanceKlass com/intellij/util/ui/JBValue$JBValueGroup$1 +instanceKlass com/intellij/util/ui/JBValue$JBValueGroup +instanceKlass com/intellij/ui/dsl/builder/VerticalComponentGap +instanceKlass com/intellij/openapi/editor/impl/EditorComponentImpl$EditorAccessibilityCaret +instanceKlass com/intellij/openapi/editor/impl/EditorComponentImpl$EditorAccessibilityDocument +instanceKlass com/intellij/openapi/editor/impl/EditorComponentImpl$1 +instanceKlass com/intellij/openapi/editor/impl/FoldingPopupManager +instanceKlass com/intellij/openapi/editor/ex/util/EmptyEditorHighlighter +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$4 +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$CaretRectangle +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$CaretCursor +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$3 +instanceKlass com/intellij/openapi/editor/impl/IndentsModelCaretListener +instanceKlass com/intellij/openapi/editor/impl/IndentsModelImpl +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$EditorDocumentAdapter +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$2 +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$1 +instanceKlass com/intellij/openapi/editor/impl/ImmediatePainter +instanceKlass com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapAwareDocumentParsingListenerAdapter +instanceKlass com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceManager$DefaultVisibleAreaWidthProvider +instanceKlass com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceManager$VisibleAreaWidthProvider +instanceKlass com/intellij/openapi/editor/SoftWrap +instanceKlass com/intellij/openapi/editor/TextChange +instanceKlass com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapApplianceManager +instanceKlass com/intellij/openapi/editor/impl/softwrap/mapping/CachingSoftWrapDataMapper +instanceKlass com/intellij/openapi/editor/impl/softwrap/CompositeSoftWrapPainter +instanceKlass com/intellij/openapi/editor/impl/softwrap/SoftWrapsStorage +instanceKlass com/intellij/openapi/editor/impl/softwrap/mapping/SoftWrapAwareDocumentParsingListener +instanceKlass com/intellij/openapi/editor/impl/softwrap/SoftWrapPainter +instanceKlass com/intellij/openapi/editor/impl/DocumentImpl$DocumentListenerDisposable +instanceKlass com/intellij/openapi/editor/Inlay +instanceKlass com/intellij/openapi/editor/impl/InlayModelImpl +instanceKlass com/intellij/openapi/editor/impl/ScrollingModelImpl$MyChangeListener +instanceKlass com/intellij/openapi/editor/impl/ScrollingModelImpl$1 +instanceKlass com/intellij/openapi/editor/impl/ScrollingModelImpl$DefaultEditorSupplier$1 +instanceKlass com/intellij/openapi/editor/ScrollingModel$ScrollingHelper +instanceKlass com/intellij/openapi/editor/impl/ScrollingModelImpl$DefaultEditorSupplier +instanceKlass com/intellij/openapi/editor/ScrollingModel$Supplier +instanceKlass com/intellij/openapi/editor/impl/ScrollingModelImpl +instanceKlass com/intellij/openapi/util/TextRangeScalarUtil +instanceKlass com/intellij/openapi/editor/impl/StripedIDGenerator$NextPair +instanceKlass com/intellij/openapi/editor/impl/StripedIDGenerator +instanceKlass com/intellij/openapi/editor/impl/CaretModelImpl +instanceKlass com/intellij/openapi/editor/ex/util/EditorScrollingPositionKeeper +instanceKlass com/intellij/openapi/editor/impl/FoldRegionsTree$CachedData +instanceKlass com/intellij/openapi/editor/impl/SweepProcessor +instanceKlass com/intellij/openapi/editor/impl/FoldingModelImpl$2 +instanceKlass com/intellij/openapi/editor/impl/FoldRegionsTree +instanceKlass com/intellij/openapi/editor/CustomFoldRegion +instanceKlass com/intellij/openapi/editor/FoldRegion +instanceKlass com/intellij/openapi/editor/InlayModel$SimpleAdapter +instanceKlass com/intellij/openapi/editor/impl/EditorFilteringMarkupModelEx +instanceKlass com/intellij/openapi/editor/impl/ErrorStripeMarkersModel$1 +instanceKlass com/intellij/openapi/editor/impl/ErrorStripeMarkersModel +instanceKlass com/intellij/openapi/editor/impl/EditorMarkupModelImpl$6 +instanceKlass com/intellij/openapi/editor/impl/EditorMarkupModelImpl$5 +instanceKlass com/intellij/openapi/editor/impl/EditorMarkupModelImpl$StatusComponentLayout +instanceKlass com/intellij/openapi/editor/impl/EditorMarkupModelImpl$7 +instanceKlass com/intellij/codeInsight/actions/ReaderModeActionProvider$Companion +instanceKlass com/intellij/codeInsight/actions/ReaderModeActionProvider +instanceKlass com/intellij/openapi/editor/markup/InspectionWidgetActionProvider$Companion +instanceKlass com/intellij/openapi/editor/markup/InspectionWidgetActionProvider +instanceKlass com/intellij/codeInsight/CodeInsightActionHandler +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Editor$Tooltip +instanceKlass com/intellij/codeInsight/hint/HintManagerImpl$ActionToIgnore +instanceKlass com/jetbrains/python/lexer/PythonHighlightingLexer$1 +instanceKlass com/intellij/openapi/editor/impl/TrafficLightPopup +instanceKlass com/intellij/openapi/editor/ex/util/LexerEditorHighlighter$TokenProcessor +instanceKlass com/intellij/openapi/editor/ex/util/ShortBasedStorage +instanceKlass com/intellij/openapi/editor/impl/EditorFragmentRenderer +instanceKlass com/intellij/openapi/editor/ex/util/SegmentArray +instanceKlass com/intellij/openapi/editor/markup/UIController$1 +instanceKlass com/intellij/openapi/editor/markup/UIController +instanceKlass com/intellij/openapi/editor/markup/AnalyzerStatus$Companion +instanceKlass com/intellij/openapi/editor/markup/AnalyzerStatus +instanceKlass com/intellij/ui/MouseMovementTracker +instanceKlass com/intellij/openapi/editor/impl/EditorMarkupModelImpl$BasicTooltipRendererProvider +instanceKlass com/intellij/openapi/editor/ex/ErrorStripTooltipRendererProvider +instanceKlass com/intellij/openapi/editor/ex/EditorMarkupModel +instanceKlass com/intellij/openapi/editor/impl/SelectionModelImpl +instanceKlass com/intellij/openapi/editor/impl/SettingsImpl$CacheableBackgroundComputable +instanceKlass com/intellij/openapi/editor/EditorSettingsListener +instanceKlass com/intellij/util/ui/ButtonlessScrollBarUI$ScrollbarRepaintCallback +instanceKlass com/intellij/codeInsight/daemon/impl/EditorTracker$MyAppLevelFileEditorManagerListener +instanceKlass com/intellij/openapi/fileTypes/LanguageFileTypeHighlighterProvider +instanceKlass com/jetbrains/cython/psi/CythonPsiUtil +instanceKlass com/intellij/internal/statistic/collectors/fus/TypingEventsLogger$TypingLatencyReporter +instanceKlass com/intellij/openapi/editor/actionSystem/LatencyListener +instanceKlass com/intellij/ide/scratch/ScratchFileServiceImpl$Highlighter +instanceKlass com/intellij/openapi/editor/colors/impl/DelegateColorScheme +instanceKlass com/jetbrains/rdserver/BackendFileStructureHost$MyListener +instanceKlass com/intellij/openapi/editor/impl/EditorSizeAdjustmentStrategy +instanceKlass com/intellij/ide/ui/laf/MouseDragSelectionEventHandler +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$MyTextDrawingCallback +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$MyMouseMotionListener +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$ScrollingTimer +instanceKlass com/intellij/openapi/editor/impl/EditorImpl$RepaintCursorCommand +instanceKlass com/intellij/lang/javascript/service/ide/JSLanguageServiceEditorListenerBase +instanceKlass com/intellij/openapi/editor/ex/SoftWrapChangeListener +instanceKlass com/intellij/openapi/editor/InlayModel$Listener +instanceKlass com/intellij/openapi/editor/impl/event/MarkupModelListener +instanceKlass com/intellij/openapi/editor/impl/TextDrawingCallback +instanceKlass com/intellij/openapi/editor/ex/ScrollingModelEx +instanceKlass training/editor/LearnProjectFileEditorListener +instanceKlass com/intellij/openapi/editor/actionSystem/ActionPlan +instanceKlass com/intellij/openapi/editor/ex/SoftWrapModelEx +instanceKlass com/intellij/openapi/editor/ex/FoldingModelEx +instanceKlass com/intellij/filePrediction/features/history/FileHistoryManagerWrapper$EditorManagerListener +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$LspFileEditorManagerListener +instanceKlass com/intellij/diagnostic/Dumpable +instanceKlass com/intellij/openapi/editor/highlighter/HighlighterClient +instanceKlass com/intellij/openapi/extensions/KeyedFactoryEPBean +instanceKlass com/intellij/internal/statistic/local/LanguageUsageUpdaterListener +instanceKlass com/intellij/openapi/util/KeyedExtensionFactory$1 +instanceKlass com/intellij/openapi/fileTypes/SyntaxHighlighterProvider +instanceKlass com/intellij/openapi/util/KeyedExtensionFactory +instanceKlass com/intellij/openapi/fileEditor/impl/HistoryEntry +instanceKlass com/intellij/internal/statistic/local/FileTypeSummaryListener +instanceKlass com/intellij/openapi/vcs/annotate/AnnotationsPreloader$AnnotationsPreloaderFileEditorManagerListener +instanceKlass com/intellij/openapi/editor/highlighter/HighlighterIterator +instanceKlass com/intellij/internal/statistic/collectors/fus/fileTypes/FileTypeUsageServiceFileEditorManagerListener +instanceKlass com/intellij/lexer/TokenIterator +instanceKlass com/intellij/openapi/editor/ex/util/DataStorage +instanceKlass com/intellij/codeInsight/editorActions/ReaderModeFileEditorListener +instanceKlass com/intellij/psi/impl/source/tree/Factory +instanceKlass com/intellij/openapi/editor/ex/util/LexerEditorHighlighter +instanceKlass com/intellij/completion/ml/ngram/NGramFileListener$Companion +instanceKlass com/intellij/completion/ml/ngram/NGramFileListener +instanceKlass com/jetbrains/python/PyEditorHighlighterProvider +instanceKlass com/intellij/openapi/fileTypes/EditorHighlighterProvider +instanceKlass com/intellij/openapi/editor/highlighter/EditorHighlighter +instanceKlass com/intellij/openapi/editor/highlighter/EditorHighlighterFactory +instanceKlass com/jetbrains/cython/CythonNames +instanceKlass com/intellij/openapi/fileEditor/impl/text/AsyncEditorLoaderService +instanceKlass com/intellij/openapi/fileEditor/impl/text/AsyncEditorLoader$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/text/AsyncEditorLoader +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorImpl$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/MyComparator +instanceKlass com/jetbrains/python/debugger/remote/vfs/PyRemoteDebugFileType +instanceKlass com/jetbrains/cython/CythonVisitorFilter +instanceKlass com/intellij/database/view/editors/DataGridEditorUtil +instanceKlass com/jetbrains/cython/psi/CythonScopeOwner +instanceKlass org/jetbrains/plugins/gitlab/mergerequest/file/GitLabVirtualFile +instanceKlass org/intellij/plugins/markdown/ui/preview/MarkdownHtmlPanelProvider$AvailabilityInfo +instanceKlass org/intellij/plugins/markdown/ui/preview/MarkdownHtmlPanel +instanceKlass org/intellij/plugins/markdown/ui/preview/MarkdownHtmlPanelProvider +instanceKlass org/intellij/images/fileTypes/ImageFileTypeManager +instanceKlass com/jetbrains/rdserver/fileEditors/GuestFileEditorManager$Companion +instanceKlass com/intellij/openapi/fileEditor/ex/FileEditorWithProvider +instanceKlass com/intellij/openapi/rd/GraphicsExKt +instanceKlass com/jetbrains/rdserver/fileEditors/BackendFileEditorProviderSuppressor +instanceKlass com/intellij/ui/tabs/impl/JBTabsImpl$WhenMappings +instanceKlass com/intellij/ui/tabs/impl/singleRow/SingleRowLayout$1 +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorProviderSuppressor +instanceKlass com/intellij/ui/tabs/JBTabsEx$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabbedContainer$5 +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabbedContainer$2 +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabs$2 +instanceKlass com/intellij/ui/tabs/impl/JBTabsImpl$special$$inlined$Iterable$1 +instanceKlass com/intellij/util/ui/update/LazyUiDisposableKt$lazyUiDisposable$1 +instanceKlass com/intellij/util/ui/update/LazyUiDisposableKt +instanceKlass com/intellij/ui/tabs/impl/JBTabsImpl$addMouseMotionAwtListener$1 +instanceKlass com/intellij/ui/tabs/impl/JBTabsImplKt +instanceKlass com/intellij/ui/tabs/impl/JBTabsImpl$1 +instanceKlass com/intellij/ui/tabs/impl/singleRow/SingleRowLayoutStrategy +instanceKlass com/intellij/ui/tabs/UiDecorator$UiDecoration +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$EditorTabs +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabPainterAdapter +instanceKlass com/intellij/ui/tabs/impl/JBEditorTabsBorder$1 +instanceKlass com/intellij/ui/tabs/impl/JBEditorTabsBorder$Companion +instanceKlass com/intellij/ui/tabs/impl/TabsSideSplitter +instanceKlass com/intellij/ui/tabs/impl/ShapeTransform +instanceKlass com/intellij/ui/tabs/JBTabs$SelectionChangeHandler +instanceKlass com/intellij/ui/tabs/TabsListener +instanceKlass com/intellij/ui/tabs/impl/JBTabsImpl$Max +instanceKlass com/intellij/ui/tabs/impl/LayoutPassInfo +instanceKlass com/intellij/ui/tabs/JBTabsBorder +instanceKlass com/intellij/ui/tabs/impl/TabPainterAdapter +instanceKlass com/intellij/ui/tabs/impl/TabLayout +instanceKlass com/intellij/ui/tabs/TabInfo +instanceKlass com/intellij/ui/tabs/impl/SingleHeightTabs$Companion +instanceKlass com/intellij/ui/tabs/impl/JBTabsImpl$DefaultDecorator +instanceKlass com/intellij/ui/tabs/UiDecorator +instanceKlass com/intellij/ui/tabs/impl/JBTabsImpl$Companion +instanceKlass com/intellij/ui/tabs/impl/JBEditorTabsPainter +instanceKlass com/intellij/ui/tabs/JBTabsPresentation +instanceKlass com/intellij/ui/tabs/JBTabsEx +instanceKlass com/intellij/ui/tabs/JBEditorTabsBase +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabbedContainer$MyDragOutDelegate +instanceKlass com/intellij/ui/tabs/TabInfo$DragOutDelegate +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabbedContainer$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabbedContainer +instanceKlass com/intellij/openapi/editor/EditorBundle +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorOpenOptions +instanceKlass com/intellij/openapi/fileEditor/FileNavigatorImplKt +instanceKlass javax/swing/ComboBoxModel +instanceKlass com/intellij/openapi/fileEditor/FileNavigatorImpl +instanceKlass com/intellij/openapi/fileEditor/FileNavigator +instanceKlass com/intellij/openapi/fileEditor/OpenFileDescriptor +instanceKlass com/intellij/openapi/editor/impl/VisibleEditorsTracker +instanceKlass com/intellij/openapi/command/impl/CoreCommandProcessor$CommandDescriptor +instanceKlass com/intellij/codeInsight/navigation/NavigationUtil +instanceKlass com/intellij/platform/backend/navigation/impl/DirectoryNavigationRequest +instanceKlass com/intellij/platform/backend/navigation/impl/SourceNavigationRequest +instanceKlass com/intellij/platform/ide/navigation/impl/IdeNavigationServiceKt +instanceKlass com/intellij/platform/backend/navigation/impl/RawNavigationRequest +instanceKlass com/intellij/platform/backend/navigation/NavigationRequest +instanceKlass com/intellij/ide/util/EditSourceUtil +instanceKlass com/jetbrains/rdserver/navigation/BackendPsiNavigationSupport$Companion +instanceKlass com/intellij/ide/SelectInContext +instanceKlass com/intellij/ide/util/PsiNavigationSupport +instanceKlass com/intellij/platform/backend/navigation/impl/NavigationRequestsImpl +instanceKlass com/intellij/platform/backend/navigation/NavigationRequests$Companion +instanceKlass com/intellij/platform/backend/navigation/NavigationRequests +instanceKlass kotlinx/collections/immutable/implementations/persistentOrderedMap/PersistentOrderedMapLinksIterator +instanceKlass kotlinx/collections/immutable/implementations/persistentOrderedMap/PersistentOrderedMapValuesIterator +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$lambda$6$$inlined$collectWhile$1 +instanceKlass com/intellij/openapi/progress/impl/ChildrenHandler$applyChildUpdatesInner$1$childUpdateCollector$1$1 +instanceKlass kotlinx/coroutines/flow/FlowKt__CollectionKt$toCollection$2 +instanceKlass kotlinx/coroutines/flow/FlowKt__CollectionKt +instanceKlass com/intellij/ide/impl/dataRules/NavigatableRule +instanceKlass com/intellij/util/DropOldestSemaphoreBase +instanceKlass com/intellij/util/OverflowSemaphore +instanceKlass com/intellij/util/OverflowSemaphoreKt$WhenMappings +instanceKlass com/intellij/util/OverflowSemaphoreKt +instanceKlass com/intellij/platform/ide/navigation/NavigationService$Companion +instanceKlass com/intellij/openapi/application/impl/ModalityKt +instanceKlass com/intellij/openapi/progress/impl/JobProviderWithOwnerContext +instanceKlass com/intellij/openapi/application/impl/JobProvider +instanceKlass com/intellij/openapi/progress/impl/ModalIndicatorDescriptor +instanceKlass com/intellij/openapi/progress/impl/ProjectModalTaskOwner +instanceKlass com/intellij/openapi/progress/ModalTaskOwner +instanceKlass com/intellij/platform/ide/navigation/NavigationOptions$Impl +instanceKlass com/intellij/platform/ide/navigation/NavigationOptions$Companion +instanceKlass com/intellij/platform/ide/navigation/NavigationOptions +instanceKlass com/intellij/util/OpenSourceUtilKt +instanceKlass com/intellij/util/OpenSourceUtil +instanceKlass com/intellij/util/ui/tree/TreeUtil$LazyLocationInExpandControl +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptPackageJsonExternalDefinitionsContributor$Companion +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptPackageJsonExternalDefinitionsContributor +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsContributor$Companion +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsContributor +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptPackageName$Companion +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptPackageName +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsRegistry$ModuleDependenciesState +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsRegistry$State +instanceKlass com/intellij/ide/plugins/PluginNode$PluginNodeDependency +instanceKlass com/intellij/ide/plugins/PluginNode +instanceKlass com/intellij/ide/plugins/marketplace/IntellijUpdateMetadata +instanceKlass com/intellij/util/io/StringRef +instanceKlass com/jetbrains/python/psi/impl/stubs/PyDataclassFieldStubImpl$FieldParameters +instanceKlass com/intellij/util/text/VersionComparatorUtil$3 +instanceKlass com/intellij/util/text/VersionComparatorUtil$2 +instanceKlass com/intellij/util/text/VersionComparatorUtil$1 +instanceKlass com/intellij/util/text/VersionComparatorUtil$TokenPrioritizer +instanceKlass com/intellij/util/text/VersionComparatorUtil +instanceKlass com/intellij/openapi/updateSettings/impl/PluginDownloader +instanceKlass com/jetbrains/python/codeInsight/PyDataclassParameters +instanceKlass com/jetbrains/python/psi/impl/PyEvaluator +instanceKlass com/jetbrains/python/codeInsight/PyDataclassParametersBuilder$Companion +instanceKlass com/jetbrains/python/codeInsight/PyDataclassParametersBuilder +instanceKlass com/jetbrains/python/psi/PyCallExpression$PyArgumentsMapping +instanceKlass com/jetbrains/python/psi/impl/PyCallExpressionHelper$ArgumentMappingResults +instanceKlass com/jetbrains/python/psi/impl/PyCallExpressionHelper$PositionalArgumentsAnalysisResults +instanceKlass com/jetbrains/python/psi/impl/PyCallExpressionHelper +instanceKlass com/jetbrains/python/psi/types/PyCallableTypeImpl +instanceKlass it/unimi/dsi/fastutil/objects/ObjectCollections$SynchronizedCollection +instanceKlass com/jetbrains/python/packaging/PyDependencyCollectorListener +instanceKlass com/jetbrains/python/packaging/common/PythonPackage +instanceKlass com/jetbrains/python/packaging/pip/PipPythonPackageManager$reloadPackages$result$1$invokeSuspend$$inlined$compareBy$1 +instanceKlass one/util/streamex/CancellableCollector +instanceKlass com/jetbrains/python/psi/impl/stubs/PyNamedTupleStubImpl$1 +instanceKlass com/intellij/util/xml/XmlFileHeader +instanceKlass com/intellij/util/xml/NanoXmlUtil$RootTagInfoBuilder +instanceKlass com/intellij/util/xml/ModelMerger +instanceKlass com/intellij/ide/structureView/StructureViewBuilder +instanceKlass com/intellij/util/xml/DomService +instanceKlass com/jetbrains/python/psi/PyYieldExpression +instanceKlass com/jetbrains/python/pyi/PyiVisitorFilter +instanceKlass com/jetbrains/python/psi/types/PyCallableParameterImpl +instanceKlass com/jetbrains/python/psi/types/PyCallableParameter +instanceKlass com/jetbrains/python/codeInsight/PyDataclassParametersProvider$Companion +instanceKlass com/jetbrains/python/codeInsight/PyDataclassParametersProvider +instanceKlass com/intellij/openapi/progress/impl/TextDetailsProgressReporter$special$$inlined$map$1$2 +instanceKlass com/intellij/openapi/progress/impl/PlatformTaskSupportKt$updateFromFlow$2 +instanceKlass com/jetbrains/python/psi/impl/stubs/PyTypingTypeAliasStubImpl +instanceKlass com/jetbrains/python/psi/PySetCompExpression +instanceKlass com/jetbrains/python/psi/PyFStringFragmentFormatPart +instanceKlass com/jetbrains/python/psi/PySetLiteralExpression +instanceKlass com/intellij/psi/impl/source/codeStyle/CodeEditUtil +instanceKlass com/jetbrains/python/psi/PyDictCompExpression +instanceKlass com/jetbrains/python/psi/PyAssertStatement +instanceKlass com/jetbrains/python/psi/PyDoubleStarExpression +instanceKlass com/jetbrains/python/psi/PyGeneratorExpression +instanceKlass com/jetbrains/python/psi/PyAssignmentExpression +instanceKlass com/jetbrains/python/psi/PyContinueStatement +instanceKlass com/jetbrains/python/psi/PyLambdaExpression +instanceKlass com/jetbrains/python/psi/impl/PyComprehensionElementImpl$ComprehensionElementVisitor +instanceKlass com/jetbrains/python/psi/PyComprehensionIfComponent +instanceKlass com/jetbrains/python/psi/PyComprehensionForComponent +instanceKlass com/jetbrains/python/psi/PyComprehensionComponent +instanceKlass com/jetbrains/python/psi/PyListCompExpression +instanceKlass com/jetbrains/python/psi/PyStarArgument +instanceKlass com/jetbrains/python/psi/PyWithItem +instanceKlass com/jetbrains/python/psi/PyFinallyPart +instanceKlass com/jetbrains/python/psi/PyWithStatement +instanceKlass com/jetbrains/python/psi/types/PyGenericType +instanceKlass com/jetbrains/python/psi/types/PyTypeVarType +instanceKlass com/jetbrains/python/psi/types/PyTypeParameterType +instanceKlass com/jetbrains/python/psi/PyStarExpression +instanceKlass com/jetbrains/python/psi/PyKnownDecoratorUtil +instanceKlass com/jetbrains/python/pyi/PyiUtil +instanceKlass com/jetbrains/python/psi/PyBreakStatement +instanceKlass com/jetbrains/python/psi/PyEmptyExpression +instanceKlass com/jetbrains/python/psi/PySliceItem +instanceKlass com/jetbrains/python/psi/PyForPart +instanceKlass com/jetbrains/python/psi/PySliceExpression +instanceKlass com/jetbrains/python/psi/PyForStatement +instanceKlass com/jetbrains/python/psi/impl/PyClassImpl$2 +instanceKlass com/jetbrains/python/psi/PyWhilePart +instanceKlass com/jetbrains/python/psi/types/TypeEvalContextBasedCache$MapCreator +instanceKlass com/jetbrains/python/psi/types/TypeEvalContextBasedCache +instanceKlass com/jetbrains/python/psi/types/TypeEvalContextCacheImpl$MyValueProvider +instanceKlass com/jetbrains/python/psi/types/TypeEvalConstraints +instanceKlass com/jetbrains/python/psi/PyElsePart +instanceKlass com/intellij/util/ProcessingContext +instanceKlass com/jetbrains/python/psi/types/TypeEvalContext +instanceKlass com/jetbrains/python/psi/PyWhileStatement +instanceKlass com/jetbrains/python/psi/PyLoopStatement +instanceKlass com/jetbrains/python/codeInsight/PyDataclassNames$Dataclasses +instanceKlass com/jetbrains/python/codeInsight/PyDataclassParameters$Type +instanceKlass com/jetbrains/python/codeInsight/PyDataclassesKt +instanceKlass com/jetbrains/python/psi/PyNoneLiteralExpression +instanceKlass com/jetbrains/python/psi/impl/stubs/PyDataclassStubImpl$Companion +instanceKlass com/jetbrains/python/psi/impl/stubs/PyDataclassStubImpl +instanceKlass com/jetbrains/python/psi/stubs/PyDataclassStub +instanceKlass com/jetbrains/python/psi/impl/stubs/PyCustomClassStub +instanceKlass com/jetbrains/python/psi/PyFStringFragment +instanceKlass com/jetbrains/python/psi/impl/stubs/PyCustomClassStubType +instanceKlass com/jetbrains/python/psi/PyFormattedStringElement +instanceKlass com/jetbrains/python/psi/PyPassStatement +instanceKlass com/jetbrains/python/psi/PyTypeDeclarationStatement +instanceKlass com/jetbrains/python/psi/PySubscriptionExpression +instanceKlass com/jetbrains/python/psi/PyDelStatement +instanceKlass com/jetbrains/python/psi/Property +instanceKlass com/jetbrains/python/psi/PyConditionalExpression +instanceKlass com/jetbrains/python/psi/impl/PyClassImpl$NameFinder +instanceKlass com/jetbrains/python/lexer/PyLexerFStringHelper$FragmentState +instanceKlass com/jetbrains/python/lexer/PyLexerFStringHelper$FStringState +instanceKlass com/intellij/util/animation/JBAnimatorHelper$WinMM +instanceKlass com/sun/jna/win32/StdCallLibrary +instanceKlass com/sun/jna/win32/StdCall +instanceKlass com/intellij/util/animation/JBAnimatorHelper +instanceKlass com/intellij/util/containers/LockFreeCopyOnWriteArrayList$1 +instanceKlass com/intellij/util/animation/JBAnimator$1 +instanceKlass com/intellij/util/animation/JBAnimator$Statistic +instanceKlass com/intellij/util/animation/Animation$Listener +instanceKlass com/intellij/util/animation/Animation +instanceKlass com/jetbrains/python/packaging/common/UtilKt +instanceKlass com/jetbrains/python/packaging/management/PythonPackageManagerExt +instanceKlass com/google/gson/internal/ConstructorConstructor$13 +instanceKlass com/google/gson/internal/ConstructorConstructor$1 +instanceKlass nl/hannahsten/texifyidea/LatexErrorReportSubmitter$Companion +instanceKlass com/intellij/openapi/diagnostic/ErrorReportSubmitter +instanceKlass com/intellij/ExtensionPoints +instanceKlass com/intellij/diagnostic/IdeErrorsDialog$Companion +instanceKlass com/intellij/openapi/diagnostic/UntraceableException +instanceKlass com/intellij/featureStatistics/fusCollectors/ThrowableDescription +instanceKlass com/intellij/openapi/diagnostic/IdeaLoggingEvent +instanceKlass com/intellij/idea/IdeaLogger$MyCache +instanceKlass com/intellij/openapi/util/objectTree/ThrowableInterner$1 +instanceKlass com/intellij/openapi/util/objectTree/ThrowableInterner +instanceKlass org/apache/commons/compress/utils/FileNameUtils +instanceKlass com/intellij/openapi/roots/GeneratedSourcesFilter +instanceKlass com/fasterxml/jackson/databind/cfg/CoercionConfigs$1 +instanceKlass com/intellij/ide/plugins/marketplace/IdeCompatibleUpdate +instanceKlass com/google/gson/internal/bind/TypeAdapters$EnumTypeAdapter$1 +instanceKlass com/jetbrains/python/sdk/skeletons/PySkeletonGenerator$GenerationResult +instanceKlass com/intellij/javascript/nodejs/NodeModuleSearchUtil +instanceKlass com/intellij/javascript/nodejs/PackageJsonData$PackageJsonDependencyEntry +instanceKlass com/intellij/lang/javascript/linter/JSLinterConfigLangSubstitutor$TimestampedData +instanceKlass com/intellij/ide/plugins/marketplace/CompatibleUpdateRequest +instanceKlass com/intellij/ide/plugins/org/PluginManagerFilters$Companion +instanceKlass com/intellij/ide/plugins/org/PluginManagerFilters +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/GlobalIgnoredPluginSuggestionState$State +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/GlobalIgnoredPluginSuggestionState +instanceKlass sun/net/www/http/KeepAliveStream$1 +instanceKlass sun/net/www/http/KeepAliveCleanerEntry +instanceKlass com/intellij/javascript/nodejs/interpreter/local/NodeJsLocalInterpreterUtil +instanceKlass com/intellij/execution/KillableProcess +instanceKlass com/intellij/javascript/nodejs/interpreter/NodeTargetRunSetup +instanceKlass com/intellij/javascript/nodejs/interpreter/local/NodeJsLocalInterpreterManager$2 +instanceKlass com/intellij/javascript/nodejs/interpreter/local/VirtualFileCache +instanceKlass com/intellij/javascript/nodejs/interpreter/local/NodeJsLocalInterpreterManager +instanceKlass com/intellij/execution/wsl/WSLUtil$WSLToolFlags +instanceKlass com/intellij/execution/wsl/WSLUtil +instanceKlass com/intellij/remote/RemoteSdkCredentials +instanceKlass com/intellij/remote/MutableRemoteCredentials +instanceKlass com/intellij/javascript/nodejs/interpreter/remote/NodeBaseRemoteInterpreterManager$Companion +instanceKlass com/intellij/javascript/nodejs/interpreter/remote/NodeBaseRemoteInterpreterManager +instanceKlass com/intellij/javascript/nodejs/interpreter/download/NodeDownloadableInterpreterType$Companion +instanceKlass com/intellij/psi/impl/source/tree/injected/EditorWindowTracker +instanceKlass com/intellij/codeInsight/intention/preview/IntentionPreviewUtils +instanceKlass com/intellij/psi/impl/PsiToDocumentSynchronizer$DocSyncAction +instanceKlass com/intellij/pom/tree/events/impl/ChangeInfoImpl +instanceKlass com/intellij/pom/tree/events/impl/TreeChangeImpl$ChildrenDiff +instanceKlass com/intellij/openapi/vcs/changes/ignore/psi/IgnoreEntryDirectory +instanceKlass com/intellij/openapi/vcs/changes/ignore/psi/IgnoreEntryFile +instanceKlass com/intellij/openapi/vcs/changes/ignore/psi/IgnoreEntry +instanceKlass com/intellij/openapi/vcs/changes/ignore/psi/IgnoreEntryBase +instanceKlass com/intellij/openapi/vcs/changes/ignore/psi/IgnoreTypes$Factory +instanceKlass com/intellij/pom/tree/events/ChangeInfo +instanceKlass com/intellij/pom/tree/events/impl/TreeChangeImpl +instanceKlass com/intellij/pom/tree/events/TreeChange +instanceKlass com/intellij/pom/tree/events/impl/TreeChangeEventImpl +instanceKlass com/intellij/pom/tree/events/TreeChangeEvent +instanceKlass com/intellij/psi/impl/PsiToDocumentSynchronizer$DocumentChangeTransaction +instanceKlass training/featuresSuggester/SuggesterSupport$Companion +instanceKlass training/featuresSuggester/SuggesterSupport +instanceKlass org/jetbrains/vuejs/index/VueIndexKt +instanceKlass org/jetbrains/vuejs/lang/typescript/VueTypeScriptImportsResolverProvider +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptFileImportsResolver +instanceKlass com/intellij/lang/javascript/config/JSFileImportsResolver +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptImportsResolverProvider +instanceKlass com/intellij/pom/event/PomChangeSet +instanceKlass com/intellij/pom/impl/PomTransactionBase +instanceKlass com/intellij/psi/codeStyle/Indent +instanceKlass com/intellij/psi/impl/BooleanRunnable +instanceKlass com/intellij/psi/impl/BlockSupportImpl$ReparseResult +instanceKlass com/intellij/psi/impl/DiffLog$LogEntry +instanceKlass com/intellij/util/diff/DiffTree$1 +instanceKlass com/intellij/util/diff/DiffTree +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$MyComparator +instanceKlass com/intellij/psi/tree/CustomLanguageASTComparator +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$MyTreeStructure$2 +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$MyTreeStructure$1 +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$MyTreeStructure +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$ASTConverter +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$ConvertFromTokensToASTBuilder +instanceKlass com/intellij/psi/impl/DiffLog +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Tree$Selection$Inactive +instanceKlass com/intellij/formatting/visualLayer/VisualFormattingRestartingListener +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsChangeEvent +instanceKlass it/unimi/dsi/fastutil/objects/AbstractObject2BooleanMap$BasicEntry +instanceKlass it/unimi/dsi/fastutil/objects/Object2BooleanOpenHashMap$MapEntry +instanceKlass it/unimi/dsi/fastutil/objects/ObjectBooleanPair +instanceKlass it/unimi/dsi/fastutil/objects/Object2BooleanMap$Entry +instanceKlass it/unimi/dsi/fastutil/objects/Object2BooleanOpenHashMap$MapIterator +instanceKlass it/unimi/dsi/fastutil/objects/Object2BooleanMaps +instanceKlass com/intellij/ide/ui/text/StyledTextPaneUtils +instanceKlass org/jetbrains/plugins/notebooks/jupyter/remote/vfs/JupyterRemoteVirtualFileKt +instanceKlass com/intellij/ide/plugins/marketplace/FeatureImpl +instanceKlass com/intellij/history/core/Content +instanceKlass com/intellij/openapi/command/impl/DocumentReferenceManagerImpl$1$1 +instanceKlass com/intellij/openapi/vfs/LargeFileWriteRequestor +instanceKlass com/intellij/ide/actionsOnSave/impl/CurrentActionHolder +instanceKlass sun/awt/X11/XTranslateCoordinates +instanceKlass com/intellij/vcs/commit/SaveCommittingDocumentsVetoerKt +instanceKlass com/intellij/openapi/vcs/changes/ignore/lang/IgnoreBraceMatcher +instanceKlass com/intellij/openapi/vcs/changes/ignore/parser/IgnoreParser$1 +instanceKlass com/intellij/openapi/vcs/changes/ignore/parser/IgnoreParser +instanceKlass com/intellij/openapi/vcs/changes/ignore/lexer/IgnoreLexer +instanceKlass com/intellij/psi/impl/source/tree/ASTStructure +instanceKlass com/intellij/psi/impl/ChangedPsiRangeUtil +instanceKlass sun/awt/OverrideNativeWindowHandle +instanceKlass com/intellij/openapi/util/Version +instanceKlass com/intellij/ui/HighlightedText +instanceKlass com/intellij/ui/HighlightedRegion +instanceKlass com/intellij/util/ui/PlatformColors +instanceKlass com/intellij/ui/EditorNotificationPanel$6 +instanceKlass kotlin/collections/builders/MapBuilder$Itr +instanceKlass com/intellij/ui/EditorNotificationPanel$2 +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Editor$Notification +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Editor +instanceKlass com/intellij/icons/AllIcons$Debugger$ThreadStates +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Banner +instanceKlass com/intellij/codeInsight/intention/IntentionActionWithOptions +instanceKlass com/intellij/ui/EditorNotificationPanel$ActionHandler +instanceKlass org/editorconfig/configmanagement/extended/EditorConfigCodeStyleSettingsModifierKt +instanceKlass training/git/GitLearningCourse +instanceKlass training/learn/course/LearningCourseBase +instanceKlass training/learn/course/LearningCourse +instanceKlass training/util/WeakReferenceDelegator +instanceKlass training/learn/CourseManager$Companion +instanceKlass training/learn/CourseManager +instanceKlass training/ui/IftTipAndTrickPromoter +instanceKlass com/intellij/ide/util/TipAndTrickPromotionFactory$Companion +instanceKlass org/editorconfig/configmanagement/extended/EditorConfigCodeStyleSettingsModifier$Handler +instanceKlass org/languagetool/noop/NoopChunker +instanceKlass com/intellij/psi/codeStyle/IndentStatusBarUIContributor +instanceKlass org/editorconfig/configmanagement/EditorConfigIndentOptionsProvider$Companion +instanceKlass javax/swing/text/DefaultHighlighter$HighlightInfo +instanceKlass com/google/common/cache/LocalCache$AbstractReferenceEntry +instanceKlass com/intellij/ide/ui/text/ShortcutsRenderingUtil +instanceKlass com/intellij/sql/formatter/SqlCodeStyleProvider +instanceKlass org/languagetool/synthesis/Synthesizer +instanceKlass com/intellij/ide/util/TipsFeedback$Companion +instanceKlass com/intellij/psi/codeStyle/FileCodeStyleProvider +instanceKlass com/intellij/openapi/util/IntellijInternalApi +instanceKlass com/intellij/httpClient/http/request/HttpClientCoroutinesService$Companion +instanceKlass com/intellij/httpClient/http/request/HttpClientCoroutinesService +instanceKlass com/intellij/httpClient/http/request/run/HttpRequestFormattingFilesHolder +instanceKlass com/intellij/httpClient/http/request/run/HttpRequestResponseFileResult +instanceKlass org/languagetool/rules/Rule +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesComparator$FilePathComparator +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesComparator$ChangeComparator +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesComparator$VirtualFileComparator +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesComparator +instanceKlass com/intellij/util/text/MergingCharSequence +instanceKlass com/intellij/pom/PomManager +instanceKlass git4idea/index/GitStageTracker$Companion +instanceKlass org/languagetool/Premium +instanceKlass git4idea/index/GitStageTrackerKt +instanceKlass java/util/regex/Matcher$ImmutableMatchResult +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$LspDocumentListener$ChangedFilesData +instanceKlass java/util/Scanner$PatternLRUCache +instanceKlass com/intellij/openapi/command/impl/ActionChangeRangeImpl +instanceKlass com/intellij/openapi/command/undo/ActionChangeRange +instanceKlass java/util/Scanner +instanceKlass com/intellij/openapi/command/undo/BasicUndoableAction +instanceKlass com/intellij/openapi/command/undo/AdjustableUndoableAction +instanceKlass org/languagetool/tools/MultiKeyProperties +instanceKlass com/maddyhome/idea/copyright/options/Options +instanceKlass org/languagetool/tokenizers/WordTokenizer +instanceKlass com/intellij/copyright/CopyrightManager$Companion +instanceKlass net/loomchild/segment/srx/LanguageMap +instanceKlass git4idea/index/vfs/GitIndexVirtualFileBaseContentProvider +instanceKlass com/intellij/ide/util/IconWithRoundedBorder +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerBaseContentUtil +instanceKlass net/loomchild/segment/srx/Rule +instanceKlass com/intellij/openapi/vcs/impl/BaseRevisionStatusTrackerContentLoader +instanceKlass com/intellij/ide/ui/text/paragraph/TextParagraph$Companion +instanceKlass net/loomchild/segment/srx/LanguageRule +instanceKlass git4idea/index/GitStageLineStatusTrackerProvider$Companion +instanceKlass git4idea/index/GitStageLineStatusTrackerProvider +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerContentLoader +instanceKlass com/intellij/ide/ui/text/parts/TextPart +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/vcs/JupyterGitLineStatusProvider +instanceKlass com/intellij/ide/util/TipContentConverter$Companion +instanceKlass com/intellij/ide/util/TipContentConverter +instanceKlass org/apache/xerces/impl/xs/AttributePSVImpl +instanceKlass org/apache/xerces/xs/AttributePSVI +instanceKlass org/jsoup/nodes/Element$1 +instanceKlass com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser$LocatorProxy +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringSupport +instanceKlass com/intellij/util/IconUtil$scale$1 +instanceKlass com/sun/org/apache/xerces/internal/util/LocatorProxy +instanceKlass org/xml/sax/ext/Locator2 +instanceKlass org/xml/sax/Locator +instanceKlass com/intellij/util/containers/ConcurrentRefHashMap$RefEntry +instanceKlass com/intellij/util/containers/ConcurrentRefHashMap$EntrySet$1 +instanceKlass net/loomchild/segment/srx/SrxDocumentCache +instanceKlass net/loomchild/segment/srx/SrxDocument +instanceKlass com/sun/org/apache/xerces/internal/jaxp/JAXPValidatorComponent$2 +instanceKlass org/w3c/dom/ls/LSResourceResolver +instanceKlass com/sun/org/apache/xerces/internal/util/ErrorHandlerProxy +instanceKlass com/intellij/psi/impl/DocumentCommitThread$CommitTask +instanceKlass com/sun/org/apache/xerces/internal/util/AttributesProxy +instanceKlass com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultXMLDocumentHandler +instanceKlass com/intellij/application/options/codeStyle/cache/CodeStyleCachedValueProviderService +instanceKlass org/apache/xerces/jaxp/validation/ValidatorHandlerImpl$ResolutionForwarder +instanceKlass com/intellij/application/options/codeStyle/cache/CodeStyleCachedValueProviderKt +instanceKlass org/apache/xerces/util/AttributesProxy +instanceKlass org/apache/xerces/util/SAXLocatorWrapper +instanceKlass com/intellij/application/options/codeStyle/cache/CodeStyleCachedValueProvider$AsyncComputation +instanceKlass org/apache/xerces/impl/xs/XMLSchemaValidator$LocalIDKey +instanceKlass org/apache/xerces/impl/xs/XMLSchemaValidator$ValueStoreCache +instanceKlass org/apache/xerces/impl/xs/identity/XPathMatcher +instanceKlass org/apache/xerces/impl/xs/XMLSchemaValidator$XPathMatcherStack +instanceKlass com/intellij/application/options/codeStyle/cache/CodeStyleCachedValueProvider +instanceKlass org/apache/xerces/impl/xs/XSNotationDecl +instanceKlass org/apache/xerces/impl/xs/XMLSchemaValidator$XSIErrorReporter +instanceKlass org/apache/xerces/impl/xs/ElementPSVImpl +instanceKlass com/intellij/application/options/codeStyle/cache/CodeStyleCachingServiceImpl$1 +instanceKlass org/apache/xerces/xs/ElementPSVI +instanceKlass org/apache/xerces/xs/ItemPSVI +instanceKlass com/intellij/util/text/ImmutableText$InnerLeaf +instanceKlass com/intellij/util/text/ImmutableText$CompositeNode +instanceKlass org/apache/xerces/impl/xs/identity/ValueStore +instanceKlass org/apache/xerces/impl/xs/XMLSchemaValidator +instanceKlass org/apache/xerces/impl/RevalidationHandler +instanceKlass org/apache/xerces/impl/xs/identity/FieldActivator +instanceKlass org/apache/xerces/xni/parser/XMLDocumentFilter +instanceKlass com/intellij/openapi/editor/ex/MarkupIterator$2 +instanceKlass com/intellij/openapi/editor/ex/MarkupIterator$1 +instanceKlass com/intellij/openapi/editor/ex/RangeHighlighterEx +instanceKlass java/awt/image/ColorConvertOp +instanceKlass javax/xml/validation/TypeInfoProvider +instanceKlass com/sun/org/apache/xerces/internal/jaxp/TeeXMLDocumentFilterImpl +instanceKlass java/awt/image/RescaleOp +instanceKlass com/sun/org/apache/xerces/internal/jaxp/validation/XSGrammarPoolContainer +instanceKlass com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser$AttributesProxy +instanceKlass org/xml/sax/ext/Attributes2 +instanceKlass org/xml/sax/Attributes +instanceKlass org/xml/sax/AttributeList +instanceKlass java/awt/image/Kernel +instanceKlass com/intellij/openapi/editor/impl/DocumentMarkupModelManager +instanceKlass com/intellij/openapi/editor/ex/MarkupModelEx +instanceKlass org/xml/sax/Parser +instanceKlass com/intellij/openapi/editor/impl/DocumentMarkupModel +instanceKlass org/imgscalr/Scalr +instanceKlass javax/xml/parsers/SAXParser +instanceKlass com/sun/org/apache/xerces/internal/xs/PSVIProvider +instanceKlass com/intellij/util/ImageLoader +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightInfo +instanceKlass org/apache/xerces/jaxp/validation/ValidatorHelper +instanceKlass org/apache/xerces/impl/validation/EntityState +instanceKlass javax/xml/validation/ValidatorHandler +instanceKlass org/apache/xerces/xs/PSVIProvider +instanceKlass javax/xml/validation/Validator +instanceKlass com/intellij/codeInsight/daemon/impl/UpdateHighlightersUtil +instanceKlass org/apache/xerces/impl/xs/models/XSDFACM$Occurence +instanceKlass org/apache/xerces/impl/dtd/models/CMStateSet +instanceKlass org/apache/xerces/impl/xs/models/XSDFACM +instanceKlass com/intellij/psi/impl/PsiDocumentManagerBase$UncommittedInfo +instanceKlass git4idea/index/GitStageDocumentListener +instanceKlass org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl$ValidationContextImpl +instanceKlass org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser$FacetInfo +instanceKlass org/apache/xerces/xs/datatypes/XSQName +instanceKlass org/apache/xerces/impl/xs/XSConstraints$1 +instanceKlass org/apache/xerces/impl/xs/XSConstraints +instanceKlass org/apache/xerces/impl/xs/util/XSObjectListImpl$1 +instanceKlass org/apache/xerces/impl/xs/XSAnnotationImpl +instanceKlass org/apache/xerces/util/IntStack +instanceKlass training/featuresSuggester/listeners/DocumentActionsListener +instanceKlass org/apache/xerces/impl/xpath/regex/RegularExpression$ClosureContext +instanceKlass org/apache/xerces/impl/xpath/regex/RegularExpression$ExpressionTarget +instanceKlass org/apache/xerces/impl/xpath/regex/RegularExpression$Context +instanceKlass com/intellij/platform/lsp/api/requests/LspClientNotification +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$LspDocumentListener +instanceKlass org/apache/xerces/impl/xs/opti/NamedNodeMapImpl +instanceKlass com/intellij/ide/GeneratedSourceFileChangeTrackerImpl$MyDocumentListener +instanceKlass com/intellij/ide/lightEdit/LightEditorInfo +instanceKlass com/intellij/ide/lightEdit/LightEditorManagerImpl +instanceKlass com/intellij/ide/lightEdit/project/LightEditProjectManager$Companion +instanceKlass com/intellij/ide/lightEdit/project/LightEditProjectManager +instanceKlass org/apache/xerces/impl/xs/identity/IdentityConstraint +instanceKlass com/jetbrains/python/sdk/skeletons/PySkeletonGenerator$Run +instanceKlass com/intellij/ide/lightEdit/LightEditConfiguration +instanceKlass com/intellij/ide/lightEdit/LightEditSaveConfirmationHandler +instanceKlass com/intellij/ide/lightEdit/LightEditorManager +instanceKlass org/apache/xerces/impl/xs/traversers/XSDAbstractParticleTraverser$ParticleArray +instanceKlass com/intellij/openapi/wm/LightEditFrame +instanceKlass com/intellij/ide/lightEdit/LightEditServiceImpl +instanceKlass com/intellij/ide/lightEdit/LightEditorListener +instanceKlass org/apache/xerces/impl/validation/ValidationState +instanceKlass org/apache/xerces/xs/XSAnnotation +instanceKlass com/intellij/execution/target/local/LocalTargetEnvironment$LocalVolume +instanceKlass com/intellij/execution/target/TargetEnvironment$DownloadableVolume +instanceKlass com/intellij/execution/target/TargetEnvironment$UploadableVolume +instanceKlass com/intellij/execution/target/TargetEnvironment$Volume +instanceKlass org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser +instanceKlass com/intellij/openapi/command/impl/DocumentReferenceByVirtualFile +instanceKlass com/intellij/execution/target/VolumeCopyingRequest +instanceKlass com/intellij/openapi/command/impl/DocumentReferenceManagerImpl$1 +instanceKlass org/apache/xerces/impl/xs/traversers/Container +instanceKlass com/intellij/execution/target/TargetEnvironment$TargetPath +instanceKlass org/apache/xerces/impl/xs/traversers/OneAttr +instanceKlass org/apache/xerces/impl/xs/XSAttributeDecl +instanceKlass com/intellij/execution/target/TargetEnvironment$DownloadRoot +instanceKlass org/apache/xerces/impl/xs/XSGroupDecl +instanceKlass org/apache/xerces/impl/xs/XSAttributeUseImpl +instanceKlass org/apache/xerces/xs/XSAttributeUse +instanceKlass org/apache/xerces/impl/xs/XSAttributeGroupDecl +instanceKlass com/jetbrains/python/sdk/skeletons/PySkeletonGenerator$1 +instanceKlass org/apache/xerces/impl/xs/XSModelGroupImpl +instanceKlass org/apache/xerces/xs/XSModelGroup +instanceKlass com/intellij/openapi/command/undo/DocumentReferenceManager +instanceKlass org/apache/xerces/impl/xs/XSWildcardDecl +instanceKlass org/apache/xerces/xs/XSWildcard +instanceKlass com/intellij/openapi/command/undo/UndoConstants +instanceKlass com/intellij/openapi/command/undo/UndoUtil +instanceKlass org/apache/xerces/impl/xs/XSComplexTypeDecl +instanceKlass org/apache/xerces/xs/XSComplexTypeDefinition +instanceKlass com/intellij/openapi/command/impl/DocumentUndoProvider +instanceKlass org/apache/xerces/xs/XSNamedMap +instanceKlass org/apache/xerces/xs/XSIDCDefinition +instanceKlass org/apache/xerces/xs/XSNotationDeclaration +instanceKlass org/apache/xerces/xs/XSModelGroupDefinition +instanceKlass org/apache/xerces/xs/XSAttributeGroupDefinition +instanceKlass com/intellij/openapi/util/text/LineTokenizer +instanceKlass org/apache/xerces/xs/XSAttributeDeclaration +instanceKlass org/apache/xerces/impl/xs/util/XInt +instanceKlass org/apache/xerces/impl/xs/util/XIntPool +instanceKlass it/unimi/dsi/fastutil/bytes/ByteListIterator +instanceKlass it/unimi/dsi/fastutil/bytes/ByteBidirectionalIterator +instanceKlass it/unimi/dsi/fastutil/bytes/ByteSpliterator +instanceKlass it/unimi/dsi/fastutil/bytes/ByteIterator +instanceKlass org/apache/xerces/impl/xs/SchemaGrammar +instanceKlass org/apache/xerces/xs/XSNamespaceItem +instanceKlass org/apache/xerces/xni/grammars/XSGrammar +instanceKlass com/jetbrains/python/sdk/skeletons/PySkeletonGenerator$Builder +instanceKlass it/unimi/dsi/fastutil/bytes/ByteStack +instanceKlass org/apache/xerces/impl/xs/traversers/XSAttributeChecker +instanceKlass org/apache/xerces/impl/xs/traversers/XSDHandler$XSDKey +instanceKlass org/apache/xerces/util/DOMUtil +instanceKlass com/intellij/openapi/editor/ex/LineIterator +instanceKlass it/unimi/dsi/fastutil/bytes/ByteList +instanceKlass it/unimi/dsi/fastutil/bytes/ByteCollection +instanceKlass it/unimi/dsi/fastutil/bytes/ByteIterable +instanceKlass com/intellij/openapi/editor/impl/LineSet +instanceKlass com/intellij/util/diff/Diff$Change +instanceKlass org/jsoup/select/NodeTraversor +instanceKlass com/intellij/openapi/editor/impl/DocumentImpl$DelayedExceptions +instanceKlass com/intellij/openapi/editor/impl/DocumentWriteAccessGuard$Result +instanceKlass com/jetbrains/rdserver/permissions/impl/BackendDocumentWriteAccessGuard$Companion +instanceKlass org/jsoup/select/Collector +instanceKlass com/intellij/openapi/editor/impl/DocumentWriteAccessGuard +instanceKlass org/apache/xerces/util/NamespaceSupport$Prefixes +instanceKlass git4idea/index/GitStageFileDocumentManagerListener +instanceKlass com/intellij/sh/formatter/ShLineEndingsAdapter +instanceKlass org/apache/xerces/impl/xs/SchemaSymbols +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyFileDocumentManagerListener +instanceKlass org/jsoup/internal/StringUtil +instanceKlass com/intellij/openapi/fileEditor/FileDocumentSynchronizationVetoer +instanceKlass com/intellij/openapi/vcs/impl/FileStatusManagerImpl$FileStatusManagerDocumentListener$Companion +instanceKlass org/jsoup/parser/HtmlTreeBuilderState$Constants +instanceKlass com/intellij/openapi/vcs/impl/FileStatusManagerImpl$FileStatusManagerDocumentListener +instanceKlass org/jsoup/parser/HtmlTreeBuilderState$25 +instanceKlass org/jsoup/parser/Tokeniser$1 +instanceKlass com/intellij/psi/PsiDocumentListener +instanceKlass org/apache/xerces/impl/xs/opti/DefaultNode +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$LspFileDocumentManagerListener +instanceKlass org/apache/xerces/util/XMLSymbols +instanceKlass org/apache/xerces/impl/ExternalSubsetResolver +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/NotebookVirtualFileSystem$NotebookFileEditorChangePropagator +instanceKlass com/intellij/ide/actionsOnSave/impl/ActionsOnSaveFileDocumentManagerListener +instanceKlass com/intellij/application/options/DefaultCodeStyleSettingsFacade +instanceKlass com/intellij/openapi/editor/impl/FrozenDocument +instanceKlass java/util/ResourceBundle$Control$2 +instanceKlass com/intellij/openapi/editor/impl/event/EditorEventMulticasterImpl$1 +instanceKlass java/util/ServiceLoader$ProviderSpliterator +instanceKlass java/util/spi/ResourceBundleControlProvider +instanceKlass java/util/ResourceBundle$ResourceBundleControlProviderHolder +instanceKlass org/jsoup/parser/Tokeniser +instanceKlass com/intellij/openapi/editor/impl/DocumentImpl$1 +instanceKlass org/apache/xerces/impl/xpath/regex/Token +instanceKlass org/jsoup/helper/DataUtil +instanceKlass com/intellij/openapi/editor/ex/MarkupIterator +instanceKlass com/intellij/openapi/editor/impl/MutableInterval +instanceKlass com/jetbrains/python/psi/impl/PyBuiltinCache +instanceKlass com/intellij/openapi/editor/impl/RedBlackTree$Node +instanceKlass org/apache/xerces/impl/xpath/regex/REUtil +instanceKlass com/intellij/openapi/editor/ex/PrioritizedDocumentListener$1 +instanceKlass org/apache/xerces/impl/xpath/regex/Op +instanceKlass com/intellij/openapi/editor/ex/DocumentEx$1 +instanceKlass com/jetbrains/python/sdk/skeletons/PyPregeneratedSkeletons +instanceKlass org/apache/xerces/impl/xpath/regex/RegexParser +instanceKlass org/apache/xerces/impl/xpath/regex/RegularExpression +instanceKlass com/jetbrains/python/sdk/skeletons/DefaultPregeneratedSkeletonsProvider +instanceKlass com/intellij/openapi/editor/impl/IntervalTree +instanceKlass org/apache/xerces/impl/dv/xs/DecimalDV$XDecimal +instanceKlass org/apache/xerces/xs/datatypes/XSDecimal +instanceKlass org/apache/xerces/util/XMLChar +instanceKlass org/apache/xerces/impl/dv/ValidatedInfo +instanceKlass org/apache/xerces/xs/XSValue +instanceKlass org/jsoup/parser/CharacterReader +instanceKlass org/apache/xerces/impl/dv/XSFacets +instanceKlass org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl$4 +instanceKlass org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl$1 +instanceKlass org/jsoup/nodes/Entities +instanceKlass com/intellij/openapi/editor/ex/RangeMarkerEx +instanceKlass org/jsoup/nodes/EntitiesData +instanceKlass org/jsoup/nodes/Document$OutputSettings +instanceKlass org/jsoup/internal/Normalizer +instanceKlass org/apache/xerces/util/URI +instanceKlass com/jetbrains/python/sdk/skeletons/PyPregeneratedSkeletonsProvider +instanceKlass org/jsoup/parser/Tag +instanceKlass com/jetbrains/python/sdk/skeleton/PySkeletonHeader +instanceKlass org/jsoup/nodes/Attributes +instanceKlass com/jetbrains/python/sdk/skeletons/LineWiseProcessOutputListener +instanceKlass com/jetbrains/python/sdk/skeletons/PySkeletonGenerator +instanceKlass com/jetbrains/python/sdk/skeletons/PySkeletonRefresher +instanceKlass org/apache/xerces/impl/dv/xs/AbstractDateTimeDV$DateTimeData +instanceKlass org/apache/xerces/xs/datatypes/XSDateTime +instanceKlass javax/xml/datatype/Duration +instanceKlass org/jsoup/select/Evaluator +instanceKlass com/jetbrains/python/sdk/PyTransferredSdkRootsKt +instanceKlass org/jsoup/select/NodeVisitor +instanceKlass org/jsoup/helper/Validate +instanceKlass javax/xml/datatype/XMLGregorianCalendar +instanceKlass javax/xml/datatype/DatatypeFactory +instanceKlass org/jsoup/parser/ParseSettings +instanceKlass com/intellij/diagram/state/DiagramSnapshot +instanceKlass org/apache/xerces/impl/dv/xs/TypeValidator$1 +instanceKlass org/apache/xerces/impl/dv/xs/TypeValidator +instanceKlass com/intellij/uml/undo/UmlUndoProvider +instanceKlass org/apache/xerces/xs/ShortList +instanceKlass com/intellij/diagram/DiagramActionsListener +instanceKlass org/apache/xerces/xs/datatypes/ObjectList +instanceKlass org/apache/xerces/xs/StringList +instanceKlass org/apache/xerces/impl/dv/ValidationContext +instanceKlass org/apache/xerces/xs/XSObjectList +instanceKlass com/intellij/history/core/LocalHistoryFacade$3 +instanceKlass org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl +instanceKlass org/jsoup/nodes/Node +instanceKlass com/intellij/openapi/fileEditor/impl/FocusBasedCurrentEditorProvider +instanceKlass org/apache/xerces/impl/dv/XSSimpleType +instanceKlass org/apache/xerces/xs/XSSimpleTypeDefinition +instanceKlass com/intellij/history/core/LocalHistoryFacade$Listener +instanceKlass com/intellij/openapi/command/impl/FileUndoProvider +instanceKlass com/intellij/openapi/command/impl/UndoProvider +instanceKlass org/apache/xerces/impl/dv/SchemaDVFactory +instanceKlass org/apache/xerces/util/XMLGrammarPoolImpl$Entry +instanceKlass org/apache/xerces/util/XMLGrammarPoolImpl +instanceKlass com/intellij/openapi/command/impl/UndoRedo +instanceKlass javax/xml/validation/SchemaFactoryFinder$1 +instanceKlass com/intellij/openapi/command/impl/CommandMerger +instanceKlass org/apache/xerces/jaxp/validation/XMLSchemaFactory$XMLGrammarPoolWrapper +instanceKlass org/apache/xerces/util/DOMEntityResolverWrapper +instanceKlass org/apache/xerces/jaxp/validation/DraconianErrorHandler +instanceKlass org/apache/xerces/util/ErrorHandlerWrapper +instanceKlass org/apache/xerces/impl/xs/opti/SchemaDOMParser$BooleanStack +instanceKlass com/intellij/openapi/command/impl/DummyProject$DummyProjectHolder +instanceKlass org/apache/xerces/impl/msg/XMLMessageFormatter +instanceKlass org/apache/xerces/impl/XMLVersionDetector +instanceKlass com/intellij/openapi/command/undo/DocumentReference +instanceKlass org/apache/xerces/impl/validation/ValidationManager +instanceKlass org/jsoup/parser/Token +instanceKlass org/apache/xerces/impl/dv/dtd/NMTOKENDatatypeValidator +instanceKlass org/apache/xerces/impl/dv/dtd/NOTATIONDatatypeValidator +instanceKlass org/apache/xerces/impl/dv/dtd/ENTITYDatatypeValidator +instanceKlass org/apache/xerces/impl/dv/dtd/ListDatatypeValidator +instanceKlass org/apache/xerces/impl/dv/dtd/IDREFDatatypeValidator +instanceKlass com/intellij/openapi/command/impl/UndoManagerImpl$ClientState +instanceKlass org/apache/xerces/impl/dv/dtd/IDDatatypeValidator +instanceKlass org/apache/xerces/impl/dv/dtd/StringDatatypeValidator +instanceKlass org/apache/xerces/impl/dv/DatatypeValidator +instanceKlass org/apache/xerces/impl/dv/SecuritySupport$2 +instanceKlass org/apache/xerces/impl/dv/SecuritySupport$1 +instanceKlass org/apache/xerces/impl/dv/SecuritySupport$4 +instanceKlass com/intellij/codeInsight/editorActions/XmlTagNameSynchronizer$MyCommandListener +instanceKlass org/apache/xerces/impl/dv/SecuritySupport +instanceKlass com/intellij/history/integration/LocalHistoryEventDispatcher$LocalHistoryCommandListener +instanceKlass org/apache/xerces/impl/dv/ObjectFactory +instanceKlass com/intellij/openapi/editor/impl/VisibleEditorsTracker$MyCommandListener +instanceKlass com/jetbrains/python/packaging/common/PythonRankingAwarePackageNameComparator +instanceKlass org/apache/xerces/impl/dv/DTDDVFactory +instanceKlass com/intellij/openapi/command/impl/UndoManagerImpl$MyCommandListener +instanceKlass org/jsoup/parser/TreeBuilder +instanceKlass com/jetbrains/python/packaging/pip/PypiPackageCache +instanceKlass com/jetbrains/python/packaging/cache/PythonPackageCache +instanceKlass org/jsoup/parser/Parser +instanceKlass org/apache/xerces/impl/XMLDocumentScannerImpl$TrailingMiscDispatcher +instanceKlass org/apache/xerces/impl/XMLDocumentScannerImpl$DTDDispatcher +instanceKlass org/apache/xerces/impl/XMLDocumentScannerImpl$PrologDispatcher +instanceKlass org/apache/xerces/impl/XMLDocumentScannerImpl$XMLDeclDispatcher +instanceKlass org/jsoup/Connection +instanceKlass org/apache/xerces/util/NamespaceSupport +instanceKlass org/apache/xerces/util/XMLAttributesImpl$Attribute +instanceKlass org/apache/xerces/util/XMLAttributesImpl +instanceKlass org/apache/xerces/impl/XMLDocumentFragmentScannerImpl$FragmentContentDispatcher +instanceKlass org/jsoup/Jsoup +instanceKlass org/apache/xerces/xni/QName +instanceKlass org/apache/xerces/impl/XMLDocumentFragmentScannerImpl$ElementStack +instanceKlass org/apache/xerces/xni/NamespaceContext +instanceKlass org/apache/xerces/xni/grammars/XMLDTDDescription +instanceKlass org/apache/xerces/impl/XMLDocumentFragmentScannerImpl$Dispatcher +instanceKlass com/intellij/ide/util/LoadedTipInfo +instanceKlass org/apache/xerces/xni/XMLString +instanceKlass org/apache/xerces/impl/XMLScanner +instanceKlass org/apache/xerces/impl/XMLEntityHandler +instanceKlass com/intellij/ide/util/TipRetrieversInfo +instanceKlass org/apache/xerces/xni/parser/XMLDTDScanner +instanceKlass org/apache/xerces/xni/parser/XMLDTDContentModelSource +instanceKlass org/apache/xerces/xni/parser/XMLDTDSource +instanceKlass com/intellij/ide/util/TipRetriever +instanceKlass org/apache/xerces/xni/parser/XMLDocumentScanner +instanceKlass org/apache/xerces/xni/parser/XMLDocumentSource +instanceKlass com/intellij/ui/tree/project/ProjectFileNode +instanceKlass com/intellij/ide/util/TipEntity +instanceKlass com/intellij/ui/tree/TreeCollector +instanceKlass org/apache/xerces/xni/parser/XMLPullParserConfiguration +instanceKlass com/intellij/ide/util/TipUtilsKt +instanceKlass com/intellij/ui/tree/TreeCollector$VirtualFileRoots +instanceKlass org/apache/xerces/xni/XMLAttributes +instanceKlass org/apache/xerces/impl/xs/opti/DefaultXMLDocumentHandler +instanceKlass org/apache/xerces/xni/XMLDTDContentModelHandler +instanceKlass org/apache/xerces/xni/XMLDTDHandler +instanceKlass org/apache/xerces/xni/XMLDocumentHandler +instanceKlass com/intellij/ide/util/TipUtils +instanceKlass org/apache/xerces/impl/xs/util/SimpleLocator +instanceKlass org/apache/xerces/util/SymbolHash$Entry +instanceKlass org/apache/xerces/util/SymbolHash +instanceKlass org/apache/xerces/impl/xs/traversers/XSDocumentInfo +instanceKlass com/intellij/openapi/wm/impl/welcomeScreen/WelcomeFrame$Companion +instanceKlass org/apache/xerces/impl/xs/XSParticleDecl +instanceKlass org/apache/xerces/xs/XSParticle +instanceKlass org/apache/xerces/xni/parser/XMLParserConfiguration +instanceKlass org/xml/sax/XMLReader +instanceKlass org/apache/xerces/xni/parser/XMLInputSource +instanceKlass org/apache/xerces/impl/xs/traversers/XSDHandler +instanceKlass org/apache/xerces/impl/xs/models/XSEmptyCM +instanceKlass com/intellij/ide/ui/text/StyledTextPane$1 +instanceKlass org/apache/xerces/impl/xs/models/XSCMValidator +instanceKlass org/apache/xerces/impl/xs/models/CMBuilder +instanceKlass org/apache/xerces/impl/dtd/models/CMNode +instanceKlass org/apache/xerces/impl/xs/models/CMNodeFactory +instanceKlass org/apache/xerces/impl/xs/SubstitutionGroupHandler$OneSubGroup +instanceKlass org/apache/xerces/impl/xs/XSElementDecl +instanceKlass org/apache/xerces/xs/XSElementDeclaration +instanceKlass org/apache/xerces/xs/XSTerm +instanceKlass com/intellij/ide/ui/text/paragraph/TextParagraph +instanceKlass org/apache/xerces/xs/XSTypeDefinition +instanceKlass org/apache/xerces/xs/XSObject +instanceKlass org/apache/xerces/impl/xs/SubstitutionGroupHandler +instanceKlass com/intellij/ide/util/TipUiSettings +instanceKlass org/apache/xerces/impl/xs/XSGrammarBucket +instanceKlass org/apache/xerces/impl/xs/XSMessageFormatter +instanceKlass com/intellij/ide/util/TipAndTrickPromotionFactory +instanceKlass org/apache/xerces/util/DefaultErrorHandler +instanceKlass org/apache/xerces/xni/grammars/XMLSchemaDescription +instanceKlass org/apache/xerces/xni/grammars/XMLGrammarDescription +instanceKlass org/apache/xerces/impl/XMLErrorReporter +instanceKlass org/apache/xerces/util/ParserConfigurationSettings +instanceKlass com/intellij/util/PatternUtil +instanceKlass org/apache/xerces/impl/XMLEntityManager$CharacterBuffer +instanceKlass org/apache/xerces/impl/XMLEntityManager$CharacterBufferPool +instanceKlass org/apache/xerces/impl/XMLEntityManager$ByteBufferPool +instanceKlass org/apache/xerces/util/AugmentationsImpl$AugmentationsItemsContainer +instanceKlass org/apache/xerces/util/AugmentationsImpl +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginsAdvertiserStartupActivityKt +instanceKlass org/apache/xerces/util/XMLResourceIdentifierImpl +instanceKlass org/apache/xerces/impl/XMLEntityManager$1 +instanceKlass com/intellij/openapi/vcs/changes/ignore/psi/util/IgnoreFileUtilKt +instanceKlass org/apache/xerces/xni/Augmentations +instanceKlass org/apache/xerces/impl/XMLEntityManager$Entity +instanceKlass com/jetbrains/python/packaging/common/PythonPackageDetails +instanceKlass com/intellij/openapi/vcs/changes/IgnoredBeanFactory +instanceKlass com/jetbrains/python/sdk/configuration/PyTemporarilyIgnoredFileProvider$Companion +instanceKlass com/intellij/execution/target/TargetProgressIndicatorAdapter +instanceKlass com/jetbrains/python/sdk/configuration/PyTemporarilyIgnoredFileProvider +instanceKlass com/jetbrains/python/packaging/management/PythonRepositoryManager +instanceKlass com/jetbrains/python/sdk/PyTargetsIntrospectionFacade +instanceKlass org/apache/xerces/impl/XMLEntityScanner +instanceKlass com/intellij/database/dataSource/DataSourceStorageIgnoredFiles +instanceKlass org/apache/xerces/xni/XMLLocator +instanceKlass com/jetbrains/python/packaging/pip/PipPackageManagerProvider +instanceKlass com/jetbrains/python/packaging/conda/CondaPackageManagerProvider +instanceKlass com/intellij/javascript/vcs/JavaScriptIgnoredFileProvider +instanceKlass org/apache/xerces/impl/XMLEntityManager +instanceKlass com/jetbrains/python/packaging/management/PythonPackageManagerProvider$Companion +instanceKlass com/jetbrains/python/packaging/management/PythonPackageManagerProvider +instanceKlass com/intellij/httpClient/http/request/run/HttpRequestIgnoredFileProvider +instanceKlass com/jetbrains/python/packaging/common/PackageManagerHolder +instanceKlass com/jetbrains/python/packaging/common/PythonPackageManagementListener +instanceKlass com/intellij/openapi/vcs/changes/ProjectExcludesIgnoredFileProvider +instanceKlass com/intellij/openapi/vcs/changes/ChangeListManagerImpl$DefaultIgnoredFileProvider +instanceKlass com/jetbrains/python/packaging/management/PythonPackageManager$Companion +instanceKlass com/jetbrains/python/packaging/management/PythonPackageManager +instanceKlass org/apache/xerces/util/SymbolTable$Entry +instanceKlass com/intellij/openapi/vcs/changes/IgnoredFileProvider +instanceKlass org/apache/xerces/util/SymbolTable +instanceKlass com/intellij/openapi/vfs/encoding/EncodingProjectManagerImpl$3 +instanceKlass org/apache/xerces/util/MessageFormatter +instanceKlass org/editorconfig/configmanagement/EditorConfigUtf8BomOptionProvider +instanceKlass org/apache/xerces/xni/grammars/Grammar +instanceKlass org/apache/xerces/xni/parser/XMLComponentManager +instanceKlass org/w3c/dom/DOMStringList +instanceKlass org/w3c/dom/DOMError +instanceKlass org/apache/xerces/xs/XSModel +instanceKlass com/intellij/openapi/vfs/encoding/Utf8BomOptionProvider +instanceKlass org/apache/xerces/xni/XMLResourceIdentifier +instanceKlass org/apache/xerces/impl/xs/XMLSchemaLoader +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsConfigurationFilesChange +instanceKlass org/w3c/dom/DOMConfiguration +instanceKlass org/apache/xerces/xs/XSLoader +instanceKlass org/apache/xerces/impl/xs/XSElementDeclHelper +instanceKlass com/intellij/util/concurrency/QueueProcessor$1 +instanceKlass org/apache/xerces/xni/parser/XMLComponent +instanceKlass org/apache/xerces/xni/grammars/XMLGrammarLoader +instanceKlass org/apache/xerces/xni/parser/XMLErrorHandler +instanceKlass javax/xml/validation/Schema +instanceKlass org/apache/xerces/jaxp/validation/XSGrammarPoolContainer +instanceKlass one/util/streamex/Internals$Box +instanceKlass org/apache/xerces/xni/grammars/XMLGrammarPool +instanceKlass org/apache/xerces/xni/parser/XMLEntityResolver +instanceKlass com/google/common/collect/Iterators$ConcatenatedIterator +instanceKlass com/intellij/util/containers/ContainerUtil$9 +instanceKlass com/intellij/util/indexing/FileBasedIndexProjectHandler$1 +instanceKlass com/intellij/util/indexing/FileBasedIndexProjectHandler +instanceKlass com/intellij/openapi/fileTypes/FileTypes +instanceKlass javax/xml/validation/SchemaFactoryFinder$2 +instanceKlass com/maddyhome/idea/copyright/util/FileTypeUtil +instanceKlass com/intellij/copyright/CopyrightManagerDocumentListener$addDocumentListener$1 +instanceKlass javax/xml/validation/SchemaFactoryFinder +instanceKlass javax/xml/validation/SchemaFactory +instanceKlass org/editorconfig/core/ec4jwrappers/NonExistentVirtualFileResource +instanceKlass javax/xml/transform/stream/StreamSource +instanceKlass org/editorconfig/core/ec4jwrappers/VirtualFileResource +instanceKlass org/ec4j/core/ResourcePath +instanceKlass org/ec4j/core/Resource +instanceKlass com/jetbrains/python/packaging/PyDependencyCollector +instanceKlass javax/xml/transform/ErrorListener +instanceKlass com/intellij/history/core/DataStreamUtil +instanceKlass com/intellij/javascript/nodejs/PackageJsonDependencyCollector +instanceKlass net/loomchild/segment/util/Util +instanceKlass org/apache/log4j/Log4jLoggerFactory +instanceKlass org/slf4j/helpers/BasicMarker +instanceKlass org/slf4j/Marker +instanceKlass org/slf4j/helpers/BasicMarkerFactory +instanceKlass org/slf4j/impl/StaticMarkerBinder +instanceKlass org/slf4j/spi/MarkerFactoryBinder +instanceKlass org/slf4j/IMarkerFactory +instanceKlass org/slf4j/MarkerFactory +instanceKlass org/apache/log4j/Category +instanceKlass org/apache/commons/logging/impl/Log4JLogger +instanceKlass org/apache/commons/logging/Log +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/EnvironmentScanner +instanceKlass org/apache/commons/logging/impl/LogFactoryImpl$1 +instanceKlass org/apache/commons/logging/impl/LogFactoryImpl$2 +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/EnvironmentDependencyCollector +instanceKlass com/intellij/ide/plugins/DependencyCollector +instanceKlass org/apache/commons/logging/LogFactory$2 +instanceKlass com/intellij/history/integration/IdeaGateway$VersionedFilterData +instanceKlass org/apache/commons/logging/LogFactory$3 +instanceKlass org/apache/commons/logging/LogFactory$4 +instanceKlass org/apache/commons/logging/impl/WeakHashtable$Referenced +instanceKlass org/apache/commons/logging/LogFactory$1 +instanceKlass org/apache/commons/logging/LogFactory$6 +instanceKlass com/intellij/openapi/vfs/VirtualFileUtil +instanceKlass org/apache/commons/logging/LogFactory +instanceKlass net/loomchild/segment/srx/io/Srx2SaxParser +instanceKlass com/intellij/openapi/externalSystem/autoimport/changes/vfs/VirtualFileChangesListener$Companion$installAsyncVirtualFileListener$asyncListener$1$1 +instanceKlass org/languagetool/broker/DefaultClassBroker +instanceKlass com/intellij/openapi/externalSystem/autoimport/changes/vfs/VirtualFileChangesSeparator +instanceKlass org/languagetool/broker/DefaultResourceDataBroker +instanceKlass com/intellij/lang/javascript/psi/util/JSProjectUtil +instanceKlass org/languagetool/broker/ResourceDataBroker +instanceKlass org/languagetool/broker/ClassBroker +instanceKlass org/languagetool/JLanguageTool +instanceKlass com/intellij/ide/plugins/DependencyCollectorBean$Companion +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/UnknownFeature +instanceKlass net/loomchild/segment/TextIterator +instanceKlass com/intellij/psi/PsiReferenceProvider +instanceKlass net/loomchild/segment/srx/SrxParser +instanceKlass com/intellij/lang/ecmascript6/resolve/JSFileReferencesUtil +instanceKlass org/languagetool/tokenizers/SrxTools +instanceKlass org/languagetool/rules/patterns/UnifierConfiguration +instanceKlass com/intellij/lang/typescript/settings/exclude/TypeScriptStartupActivity$Holder +instanceKlass com/jetbrains/python/packaging/repository/PyPackageRepositories +instanceKlass org/languagetool/tokenizers/SRXSentenceTokenizer +instanceKlass org/languagetool/tagging/xx/DemoTagger +instanceKlass org/languagetool/tagging/disambiguation/AbstractDisambiguator +instanceKlass org/languagetool/chunking/Chunker +instanceKlass org/languagetool/tokenizers/SentenceTokenizer +instanceKlass org/languagetool/tagging/Tagger +instanceKlass org/languagetool/tagging/disambiguation/Disambiguator +instanceKlass com/intellij/workspaceModel/ide/impl/FileReferenceInWorkspaceEntityUpdater +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/UnknownFeaturesCollector +instanceKlass org/languagetool/tokenizers/Tokenizer +instanceKlass com/intellij/notification/SingletonNotificationManager +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserServiceImpl$Companion +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/EntityChangeStorage +instanceKlass com/google/common/cache/LocalCache$LoadingValueReference +instanceKlass org/languagetool/languagemodel/LanguageModel +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/watcher/RootsChangeWatcher +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/SuggestedIde +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserService$Companion +instanceKlass kotlin/sequences/TransformingIndexedSequence$iterator$1 +instanceKlass kotlin/sequences/DropSequence$iterator$1 +instanceKlass kotlin/sequences/DropSequence +instanceKlass kotlin/sequences/TransformingIndexedSequence +instanceKlass com/google/gson/internal/$Gson$Types$GenericArrayTypeImpl +instanceKlass com/jetbrains/rd/platform/codeWithMe/CodeWithMeCleanup$removeOldJavaRuntimes$$inlined$sortedByDescending$1 +instanceKlass com/google/common/cache/RemovalListener +instanceKlass org/languagetool/Language +instanceKlass com/google/common/cache/Weigher +instanceKlass com/intellij/openapi/vfs/impl/local/NativeFileWatcherImpl$2 +instanceKlass com/google/common/base/Equivalence +instanceKlass com/google/common/cache/LocalCache$1 +instanceKlass com/intellij/remoteDev/downloader/IntellijClientDownloaderSystemSettings +instanceKlass com/jetbrains/rdserver/permissions/impl/SharedPermissionManager$Companion +instanceKlass com/google/common/cache/LocalCache$ValueReference +instanceKlass com/google/common/io/CharSource +instanceKlass com/intellij/remoteDev/downloader/RealJetBrainsClientDownloaderConfigurationProvider +instanceKlass com/google/common/cache/ReferenceEntry +instanceKlass com/google/common/io/LineProcessor +instanceKlass com/intellij/remoteDev/downloader/JetBrainsClientDownloaderConfigurationProvider +instanceKlass org/languagetool/Languages +instanceKlass com/jetbrains/rdserver/permissions/SharedPermissionManagerListener +instanceKlass com/jetbrains/rd/platform/codeWithMe/statistics/PermissionStatisticsData +instanceKlass com/google/common/io/ByteSource +instanceKlass com/intellij/ide/util/TipsSortingResult +instanceKlass kotlinx/serialization/json/internal/ArrayPoolsKt +instanceKlass com/google/common/cache/LocalCache$LocalManualCache +instanceKlass kotlin/sequences/TakeSequence$iterator$1 +instanceKlass kotlinx/serialization/encoding/Encoder$DefaultImpls +instanceKlass kotlin/sequences/TakeSequence +instanceKlass org/jetbrains/qodana/cloud/QodanaCloudStateService$Companion +instanceKlass kotlin/comparisons/ReverseOrderComparator +instanceKlass com/intellij/grazie/GrazieDynamic +instanceKlass kotlinx/serialization/json/internal/StringOpsKt +instanceKlass org/jetbrains/qodana/cloud/project/QodanaCloudProjectLinkService$LinkedImpl +instanceKlass org/jetbrains/qodana/cloud/QodanaCloudStateService +instanceKlass org/jetbrains/qodana/cloud/project/LinkState$Linked +instanceKlass com/google/common/cache/CacheBuilder$2 +instanceKlass com/google/common/io/Resources +instanceKlass com/google/common/cache/CacheStats +instanceKlass com/jetbrains/rdserver/permissions/PermissionModel +instanceKlass kotlinx/serialization/json/internal/StreamingJsonEncoder$WhenMappings +instanceKlass com/google/common/base/Suppliers$SupplierOfInstance +instanceKlass com/google/common/base/Suppliers +instanceKlass kotlinx/serialization/json/internal/Composer +instanceKlass com/google/common/cache/CacheBuilder$1 +instanceKlass com/google/common/cache/AbstractCache$StatsCounter +instanceKlass com/google/common/cache/LoadingCache +instanceKlass com/google/common/cache/Cache +instanceKlass kotlinx/serialization/json/internal/ComposersKt +instanceKlass com/intellij/grazie/GrazieConfig$Version$Companion +instanceKlass com/google/common/base/Ticker +instanceKlass com/intellij/grazie/config/migration/VersionedState$Version +instanceKlass com/google/common/cache/CacheBuilder +instanceKlass org/jetbrains/qodana/cloud/QodanaCloudDefaultProjectStateService$Companion +instanceKlass com/intellij/grazie/config/CheckingContext$Companion +instanceKlass kotlinx/serialization/encoding/AbstractEncoder +instanceKlass com/intellij/ide/util/PropertiesComponentBooleanProperty +instanceKlass com/intellij/grazie/config/CheckingContext +instanceKlass com/intellij/ide/util/PropertiesComponentExKt +instanceKlass com/jetbrains/rdserver/permissions/impl/SharedPermissionManager +instanceKlass com/intellij/grazie/config/DetectionContext$State +instanceKlass com/intellij/grazie/config/SuppressingContext +instanceKlass kotlinx/serialization/json/JsonEncoder +instanceKlass com/google/common/cache/CacheLoader +instanceKlass kotlinx/serialization/encoding/CompositeEncoder +instanceKlass kotlinx/serialization/encoding/Encoder +instanceKlass com/intellij/grazie/jlanguage/Lang$Companion +instanceKlass com/jetbrains/python/packaging/PyPIPackageUtil +instanceKlass kotlinx/serialization/json/internal/JsonStreamsKt +instanceKlass kotlinx/serialization/json/internal/CharArrayPoolBase +instanceKlass org/jetbrains/qodana/coroutines/QodanaDispatchersProviderImpl +instanceKlass ai/grazie/nlp/langs/LanguageISO$Companion +instanceKlass java/nio/file/attribute/FileTime$1 +instanceKlass com/jetbrains/python/sdk/poetry/PoetryConfigLoader +instanceKlass org/jetbrains/qodana/coroutines/QodanaDispatchersProvider$Companion +instanceKlass com/google/gson/internal/bind/TreeTypeAdapter$SingleTypeFactory +instanceKlass org/jetbrains/qodana/coroutines/QodanaDispatchersProvider +instanceKlass com/jetbrains/python/packaging/PyPIPackageRanking +instanceKlass com/jetbrains/python/packaging/PyAbstractPackageCache$1 +instanceKlass com/intellij/util/LazyKt +instanceKlass com/google/gson/InstanceCreator +instanceKlass com/google/gson/internal/$Gson$Preconditions +instanceKlass kotlinx/serialization/json/internal/JsonToStringWriter +instanceKlass com/intellij/ide/util/TipOrderUtil$getComparator$$inlined$compareBy$3 +instanceKlass com/jetbrains/rd/platform/codeWithMe/CodeWithMeCleanup +instanceKlass kotlinx/serialization/json/internal/JsonWriter +instanceKlass org/jetbrains/qodana/coroutines/QodanaDispatchersKt +instanceKlass com/google/gson/internal/$Gson$Types$ParameterizedTypeImpl +instanceKlass com/jetbrains/rdserver/permissions/impl/BackendFileOperationsHandler +instanceKlass com/jetbrains/python/packaging/PyAbstractPackageCache$PackageInfo +instanceKlass org/jetbrains/qodana/cloud/project/QodanaCloudProjectLinkService$NotLinkedImpl +instanceKlass org/jetbrains/qodana/cloud/project/LinkState$NotLinked +instanceKlass org/jetbrains/qodana/cloud/project/LinkState +instanceKlass com/jetbrains/rdserver/internal/RdServerOverridesVerifier +instanceKlass com/jetbrains/extensions/PythonProjectExt +instanceKlass com/intellij/ide/util/TipOrderUtil$getComparator$$inlined$compareBy$2 +instanceKlass com/jetbrains/rd/platform/codeWithMe/CodeWithMeCleanupManager +instanceKlass com/intellij/microservices/endpoints/EndpointsViewListener$ChangeEvent +instanceKlass com/jetbrains/python/packaging/PyAbstractPackageCache +instanceKlass com/intellij/ide/util/TipOrderUtil$getComparator$$inlined$compareBy$1 +instanceKlass com/jetbrains/python/packaging/management/PythonPackagesUpdater +instanceKlass com/intellij/javascript/nodejs/packageJson/notification/PackageJsonUpdateNotifier$2 +instanceKlass kotlinx/datetime/LocalDateTime$Companion +instanceKlass com/jetbrains/python/packaging/PyPackageService +instanceKlass org/jetbrains/qodana/cloud/StateManager +instanceKlass com/intellij/swagger/core/SwDownloadManager +instanceKlass com/jetbrains/python/packaging/PyPackagesUpdater +instanceKlass kotlinx/serialization/internal/DurationSerializer +instanceKlass kotlinx/serialization/internal/NothingSerialDescriptor +instanceKlass org/jetbrains/qodana/cloud/project/QodanaCloudProjectLinkService$Companion +instanceKlass kotlinx/serialization/internal/NothingSerializer +instanceKlass com/jetbrains/python/sdk/PythonSdkUpdater$PyUpdateSdkRequestData +instanceKlass git4idea/ignore/GitIgnoreInStoreDirGeneratorKt +instanceKlass kotlinx/serialization/internal/ObjectSerializer +instanceKlass com/intellij/vcsUtil/VcsImplUtil +instanceKlass kotlinx/serialization/internal/UnitSerializer +instanceKlass org/jetbrains/qodana/cloud/project/QodanaCloudProjectLinkService +instanceKlass kotlinx/serialization/internal/BooleanSerializer +instanceKlass kotlin/jvm/internal/BooleanCompanionObject +instanceKlass com/intellij/javascript/nodejs/packageJson/notification/PackageJsonUpdateNotifier$1 +instanceKlass com/intellij/openapi/vcs/LocalFilePath +instanceKlass com/jetbrains/python/sdk/PythonSdkUpdater +instanceKlass kotlin/UByteArray +instanceKlass com/intellij/openapi/vcs/FilePath +instanceKlass com/intellij/peer/impl/VcsContextFactoryImpl +instanceKlass kotlinx/serialization/internal/UByteSerializer +instanceKlass com/intellij/openapi/vcs/actions/VcsContextFactory +instanceKlass com/intellij/grazie/GrazieConfig$State +instanceKlass kotlin/UByte$Companion +instanceKlass com/intellij/grazie/config/migration/VersionedState +instanceKlass com/intellij/ultimate/PluginVerifier +instanceKlass org/jetbrains/plugins/github/pullrequest/GHServerVersionsCollector$1$1 +instanceKlass com/jetbrains/nodejs/library/NodeJsStartupActivity +instanceKlass com/intellij/indexing/shared/ultimate/license/ProjectSharedIndexesLicenseActivity +instanceKlass com/intellij/openapi/vcs/changes/ignore/IgnoredFileGeneratorImpl$IgnoredFileRootStore$State +instanceKlass com/intellij/javascript/nodejs/packageJson/PackageJsonDependenciesExternalUpdateListener +instanceKlass kotlinx/serialization/internal/ByteSerializer +instanceKlass com/intellij/ide/util/TipOrderUtil$TipInfo +instanceKlass kotlin/jvm/internal/ByteCompanionObject +instanceKlass org/jetbrains/plugins/github/pullrequest/GHServerVersionsCollector +instanceKlass org/jetbrains/qodana/QodanaStartupActivity +instanceKlass com/intellij/swagger/core/SwaggerCoreIcons +instanceKlass kotlin/UShortArray +instanceKlass org/jetbrains/plugins/github/pullrequest/GHServerVersionsCollector$Initializer +instanceKlass git4idea/ignore/GitIgnoreInStoreDirGenerator +instanceKlass kotlinx/serialization/internal/UShortSerializer +instanceKlass com/intellij/grazie/GrazieConfig$Companion +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsServiceKt +instanceKlass kotlin/UShort$Companion +instanceKlass kotlin/random/XorWowRandom$Companion +instanceKlass com/intellij/swagger/core/settings/SwaggerSettings$Companion +instanceKlass kotlinx/serialization/internal/ShortSerializer +instanceKlass com/intellij/javascript/nodejs/packageJson/notification/PackageJsonUpdateNotifier$MyStartupActivity +instanceKlass kotlin/jvm/internal/ShortCompanionObject +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptInstallExternalDefinitionsStartupActivity +instanceKlass kotlin/random/RandomKt +instanceKlass kotlin/UIntArray +instanceKlass com/intellij/swagger/core/remote/RemoteSpecificationManager +instanceKlass com/intellij/grazie/GrazieConfig +instanceKlass git4idea/index/GitStageStartupActivity +instanceKlass kotlinx/serialization/internal/UIntSerializer +instanceKlass kotlin/UInt$Companion +instanceKlass git4idea/config/GitSetupProjectConfig +instanceKlass kotlin/jvm/internal/IntCompanionObject +instanceKlass git4idea/ignore/GitIgnoreInStoreDirGeneratorActivity +instanceKlass kotlin/ULongArray +instanceKlass com/intellij/grazie/ide/notification/GrazieNotificationComponent +instanceKlass kotlinx/serialization/internal/InlineClassDescriptorKt$InlinePrimitiveDescriptor$1 +instanceKlass kotlinx/serialization/internal/InlineClassDescriptorKt +instanceKlass kotlinx/serialization/internal/ULongSerializer +instanceKlass com/intellij/ide/util/TipOrderUtil$Companion +instanceKlass com/intellij/swagger/core/model/remote/RemoteSpecificationModel$Companion +instanceKlass com/intellij/swagger/core/model/remote/RemoteSpecificationModel +instanceKlass kotlin/ULong$Companion +instanceKlass com/intellij/swagger/core/model/api/SwModel +instanceKlass com/intellij/ide/util/TipOrderUtil +instanceKlass com/intellij/swagger/core/model/remote/RemoteSpecificationDownloadActivity +instanceKlass kotlin/jvm/internal/LongCompanionObject +instanceKlass kotlinx/serialization/internal/DoubleSerializer +instanceKlass kotlin/jvm/internal/DoubleCompanionObject +instanceKlass kotlinx/serialization/internal/CharSerializer +instanceKlass kotlin/jvm/internal/CharCompanionObject +instanceKlass kotlinx/serialization/builtins/BuiltinSerializersKt +instanceKlass com/intellij/ide/util/TipAndTrickBean +instanceKlass com/intellij/ide/util/TipsUsageManager$State$$serializer +instanceKlass com/intellij/openapi/externalSystem/autoimport/changes/vfs/VirtualFileChangesListener$Companion +instanceKlass kotlinx/serialization/internal/LongSerializer +instanceKlass com/intellij/ide/util/TipsUsageManager$State$Companion +instanceKlass com/intellij/openapi/externalSystem/autolink/UnlinkedProjectStartupActivity$UnlinkedProjectWatcher +instanceKlass com/intellij/openapi/externalSystem/autoimport/changes/vfs/VirtualFileChangesListener +instanceKlass com/intellij/ide/util/TipsUsageManager$State +instanceKlass kotlinx/serialization/internal/PrimitivesKt +instanceKlass com/intellij/ide/util/TipsUsageManager$TipsUsageListener +instanceKlass com/intellij/featureStatistics/FeaturesRegistryListener +instanceKlass com/intellij/space/rd/SpaceRDAuthenticator$Companion +instanceKlass com/intellij/ide/util/TipsUsageManager$Companion +instanceKlass com/intellij/space/rd/SpaceRDAuthenticator +instanceKlass com/intellij/ide/util/TipsUsageManager +instanceKlass com/intellij/ui/GotItTooltipService$Companion +instanceKlass com/intellij/space/rd/SpaceRDAuthenticatorStarter +instanceKlass com/intellij/ui/GotItTooltipService +instanceKlass com/intellij/openapi/externalSystem/autolink/ExtensionPointUtilKt$withEachExtensionSafeAsync$3 +instanceKlass com/intellij/ide/util/TipAndTrickManagerImpl +instanceKlass com/intellij/ide/plugins/DependencyCollectorKt +instanceKlass com/jetbrains/appengine/ui/AppEngineBundle +instanceKlass com/intellij/openapi/externalSystem/autolink/UnlinkedProjectStartupActivity$ProjectRoots +instanceKlass com/intellij/ide/plugins/DependencySupportBean$Companion +instanceKlass com/intellij/space/components/SpaceAutoLoginStartupActivity +instanceKlass kotlinx/serialization/descriptors/SerialDescriptorsKt +instanceKlass com/intellij/ide/plugins/DependencySupportBean +instanceKlass com/intellij/openapi/externalSystem/autolink/ExtensionPointUtilKt +instanceKlass kotlinx/datetime/serializers/LocalDateTimeIso8601Serializer +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/SourceFolderManagerState +instanceKlass training/onboarding/NewProjectOnboardingTipsImplKt +instanceKlass org/jetbrains/jps/model/JpsElementChildRole +instanceKlass com/intellij/openapi/externalSystem/autolink/ExternalSystemUnlinkedProjectAware$Companion +instanceKlass com/intellij/openapi/externalSystem/autolink/ExternalSystemUnlinkedProjectAware +instanceKlass org/jetbrains/jps/model/ex/JpsElementTypeBase +instanceKlass org/jetbrains/jps/model/module/JpsModuleSourceRootType +instanceKlass org/jetbrains/jps/model/JpsElementTypeWithDefaultProperties +instanceKlass org/jetbrains/jps/model/JpsElementType +instanceKlass training/onboarding/InstallOnboardingTooltip +instanceKlass com/intellij/feedback/aqua/state/AquaOldUserInfoState$$serializer +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/SourceFolderManagerImpl$Companion +instanceKlass kotlinx/datetime/LocalDateTime +instanceKlass com/intellij/openapi/externalSystem/autolink/ExternalSystemUnlinkedProjectSettings$Companion +instanceKlass com/sun/management/GarbageCollectorMXBean +instanceKlass com/intellij/ide/plugins/advertiser/FeaturePluginData$Companion +instanceKlass com/intellij/ide/plugins/advertiser/FeaturePluginData +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ReprocessContentRootDataActivity +instanceKlass com/intellij/smartUpdate/SmartUpdate$1 +instanceKlass org/jetbrains/ide/UpdateActionsListener$Companion +instanceKlass java/lang/management/GarbageCollectorMXBean +instanceKlass org/jetbrains/ide/UpdateActionsListener +instanceKlass java/lang/management/MemoryManagerMXBean +instanceKlass com/intellij/openapi/externalSystem/autolink/UnlinkedProjectStartupActivity$Companion +instanceKlass com/intellij/ide/plugins/advertiser/FeaturePluginData$$serializer +instanceKlass com/intellij/ide/plugins/advertiser/PluginDataSet$Companion +instanceKlass com/intellij/ide/plugins/PluginFeatureService$FeaturePluginList$Companion +instanceKlass com/intellij/ide/plugins/advertiser/PluginDataSet +instanceKlass sun/management/ThreadImpl +instanceKlass com/intellij/ide/plugins/PluginFeatureService$FeaturePluginList +instanceKlass com/intellij/openapi/externalSystem/autolink/UnlinkedProjectStartupActivity +instanceKlass com/intellij/ide/plugins/advertiser/PluginDataSet$$serializer +instanceKlass com/intellij/ide/plugins/advertiser/PluginFeatureMap$Companion +instanceKlass com/intellij/ide/plugins/PluginFeatureService$State$$serializer +instanceKlass com/sun/management/ThreadMXBean +instanceKlass com/intellij/ide/plugins/advertiser/PluginFeatureMap$$serializer +instanceKlass com/intellij/feedback/aqua/state/AquaOldUserInfoState$Companion +instanceKlass com/intellij/smartUpdate/SmartUpdate +instanceKlass com/intellij/ide/plugins/advertiser/PluginFeatureCacheService$MyState$$serializer +instanceKlass com/intellij/ide/plugins/PluginFeatureService$FeaturePluginList$$serializer +instanceKlass com/intellij/feedback/aqua/state/AquaOldUserInfoState +instanceKlass com/intellij/diagnostic/opentelemetry/JVMStatsToOTelReporter$ReportingService +instanceKlass com/intellij/ide/plugins/PluginFeatureService$State$Companion +instanceKlass com/intellij/feedback/aqua/state/AquaOldUserFeedbackService$Companion +instanceKlass com/intellij/ide/plugins/advertiser/PluginFeatureMap +instanceKlass com/intellij/ide/util/TipAndTrickManager$Companion +instanceKlass com/intellij/ide/plugins/PluginFeatureService$State +instanceKlass com/intellij/ide/util/TipAndTrickManager +instanceKlass com/intellij/smartUpdate/IdeRestartedActivity +instanceKlass com/intellij/feedback/aqua/state/AquaOldUserFeedbackService +instanceKlass com/intellij/notification/impl/RemindLaterManager$Companion +instanceKlass com/intellij/codeInsight/ChangesToolwindowPassCache +instanceKlass com/intellij/ide/plugins/PluginFeatureService$Companion +instanceKlass com/intellij/ide/TipOfTheDayStartupActivity +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkUpdatesCollector$updateNotifications$1 +instanceKlass com/intellij/ide/plugins/advertiser/PluginFeatureCacheService$MyState$Companion +instanceKlass com/intellij/feedback/aqua/track/AquaFirstUsageLogger +instanceKlass com/intellij/ide/plugins/advertiser/PluginFeatureCacheService$MyState +instanceKlass com/intellij/facet/FacetTypeFeatureCollector +instanceKlass com/intellij/openapi/vfs/newvfs/monitoring/VFSInitializationConditionsToFusReporter +instanceKlass com/intellij/ide/plugins/LanguagePluginDetectionStartupActivityKt +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkUpdatesCollector$schedule$2 +instanceKlass com/intellij/diagnostic/opentelemetry/JVMStatsToOTelReporter +instanceKlass com/intellij/ide/plugins/advertiser/PluginFeatureCacheService$Companion +instanceKlass com/intellij/accessibility/AccessibilityUsageTrackerCollector$Companion +instanceKlass com/intellij/ide/plugins/DependencyFeatureCollector +instanceKlass com/intellij/notification/impl/RemindLaterActivity +instanceKlass kotlinx/coroutines/flow/FlowKt__ReduceKt$firstOrNull$$inlined$collectWhile$1 +instanceKlass com/intellij/ide/plugins/LanguagePluginDetectionStartupActivity +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkUpdatesCollector +instanceKlass com/intellij/accessibility/AccessibilityUtils$EnableScreenReaderSupportTask$Companion +instanceKlass com/intellij/accessibility/AccessibilityUtils$EnableScreenReaderSupportTask +instanceKlass com/intellij/accessibility/AccessibilityUsageTrackerCollector$CollectStatisticsTask +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkUpdaterKt +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/StartupMetricCollector +instanceKlass com/intellij/diagnostic/MemorySizeConfigurator$Companion +instanceKlass com/intellij/diagnostic/MemorySizeConfigurator +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkUpdaterStartup +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginsAdvertiser +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/DelayedProjectSynchronizer$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/DelayedProjectSynchronizer +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCachesInvalidatorBackgroundActivity +instanceKlass com/intellij/diagnostic/IdeHeartbeatEventReporterService +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginsAdvertiserStartupActivity +instanceKlass com/intellij/execution/impl/RunConfigurationFeatureCollector +instanceKlass com/intellij/diagnostic/IdeHeartbeatEventReporter +instanceKlass com/intellij/workspaceModel/ide/impl/VirtualFileUrlsLazyInitializer +instanceKlass com/intellij/ide/startup/impl/StartupManagerImplKt$scheduleBackgroundPostStartupActivities$1$activities$1$1 +instanceKlass com/intellij/ide/plugins/CustomPluginRepoContributor +instanceKlass com/intellij/openapi/updateSettings/impl/ConfigurationScriptPluginRepositoriesProvider +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateSettingsProvider +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateSettingsProviderHelper +instanceKlass com/intellij/ide/plugins/RepositoryHelper +instanceKlass com/intellij/ide/plugins/InstalledPluginsState +instanceKlass com/intellij/ide/plugins/marketplace/MarketplaceBrokenPlugin +instanceKlass javax/swing/plaf/basic/DragRecognitionSupport +instanceKlass com/intellij/ide/projectView/impl/ProjectViewDirectoryExpandDurationMeasurer$1 +instanceKlass icons/PythonPsiApiIcons +instanceKlass com/intellij/ide/projectView/impl/ProjectViewDirectoryExpandDurationMeasurer +instanceKlass com/intellij/toolWindow/ToolWindowDragHelper$ToolWindowProvider +instanceKlass com/intellij/util/containers/ImmutableList$1 +instanceKlass com/intellij/util/net/NetUtils +instanceKlass org/toml/ide/search/TomlFindUsagesProvider +instanceKlass org/jetbrains/yaml/lexer/_YAMLLexer +instanceKlass org/jetbrains/yaml/YAMLFindUsagesProvider +instanceKlass org/jetbrains/yaml/YAMLTokenTypes +instanceKlass org/jetbrains/yaml/YAMLElementTypes +instanceKlass com/intellij/openapi/vcs/changes/ignore/psi/IgnoreTypes +instanceKlass com/intellij/openapi/vcs/changes/ignore/lang/IgnoreParserDefinition$Lazy +instanceKlass com/intellij/lang/xml/XmlFindUsagesProvider +instanceKlass com/intellij/lang/javascript/modules/NodeModuleUtil +instanceKlass com/intellij/lang/javascript/linter/JSLinterExecutionSuppressor +instanceKlass com/intellij/javascript/nodejs/PackageJsonData$CachedPackageJsonData +instanceKlass com/google/common/base/Enums +instanceKlass com/intellij/webcore/util/JsonUtil +instanceKlass com/intellij/util/ThrowablePairConsumer +instanceKlass com/intellij/javascript/nodejs/PackageJsonData$Holder +instanceKlass com/intellij/indexing/shared/download/IndexDownloadConsentService$askForMoreDownloads$$inlined$compareBy$1 +instanceKlass com/intellij/indexing/shared/download/RegistryBasedConsentDecisionOverrider +instanceKlass com/intellij/indexing/shared/ultimate/project/IntellijYamlConsentDecisionOverrider +instanceKlass com/intellij/indexing/shared/download/ProjectConsentDecisionOverrider +instanceKlass com/intellij/indexing/shared/download/IndexDownloadConsentDecisionKey +instanceKlass com/intellij/indexing/shared/download/SharedIndexConsentStoreKt +instanceKlass com/intellij/indexing/shared/download/IndexDownloadConsentService$1 +instanceKlass com/intellij/indexing/shared/download/SharedIndexId +instanceKlass com/jetbrains/python/index/PyPackageSharedIndexSuggestion +instanceKlass com/intellij/indexing/shared/download/SharedIndexSuggestion +instanceKlass com/intellij/webcore/packaging/InstalledPackage +instanceKlass com/jetbrains/python/packaging/PyRequirementImpl +instanceKlass com/jetbrains/python/packaging/PyRequirementVersionSpecImpl +instanceKlass com/jetbrains/python/packaging/PyPackageVersion +instanceKlass com/jetbrains/python/packaging/PyPackageVersionNormalizer +instanceKlass com/jetbrains/python/packaging/PyRequirementsKt +instanceKlass com/jetbrains/python/packaging/requirement/PyRequirementVersionSpec +instanceKlass com/jetbrains/python/packaging/PyRequirement +instanceKlass com/jetbrains/python/packaging/PyRequirementParser +instanceKlass com/jetbrains/python/packaging/PyTargetEnvironmentPackageManager$ProcessOutputWithCommandLine +instanceKlass com/intellij/psi/css/MinifiedFilesUtil +instanceKlass com/intellij/util/gist/storage/GistStorage$GistData +instanceKlass com/intellij/util/gist/storage/GistStorageImpl$GistRecord +instanceKlass com/intellij/util/progress/CancellationUtil +instanceKlass jdk/internal/misc/ScopedMemoryAccess$Scope$Handle +instanceKlass com/intellij/ui/IconDescriptionBundleEP +instanceKlass com/intellij/execution/process/ProcessServiceImpl +instanceKlass com/intellij/execution/process/ProcessService +instanceKlass com/intellij/execution/process/CapturingProcessRunner +instanceKlass org/jetbrains/concurrency/Promises__PromiseUtilKt +instanceKlass kotlinx/coroutines/Delay$DefaultImpls +instanceKlass com/intellij/execution/target/TargetedCommandLine$Companion +instanceKlass com/intellij/execution/target/TargetedCommandLine +instanceKlass com/jetbrains/python/sdk/flavors/conda/CondaPathFixKt +instanceKlass com/jetbrains/python/run/TargetedPythonPaths +instanceKlass com/jetbrains/python/run/PyVirtualEnvReaderKt +instanceKlass com/jetbrains/python/run/PyVirtualEnvReader$Companion +instanceKlass com/intellij/util/EnvironmentUtil$ShellEnvReader +instanceKlass com/intellij/execution/target/value/FixedTargetValue +instanceKlass com/intellij/execution/target/value/TargetValue$1 +instanceKlass com/intellij/execution/target/value/TargetValue +instanceKlass com/intellij/execution/target/TargetProgressIndicator$1 +instanceKlass com/intellij/execution/target/TargetProgressIndicator +instanceKlass com/jetbrains/python/run/Upload +instanceKlass com/intellij/execution/target/value/TraceableTargetEnvironmentFunction$Companion +instanceKlass com/intellij/execution/target/value/TraceableTargetEnvironmentFunction +instanceKlass com/intellij/execution/target/value/TargetEnvironmentFunctions +instanceKlass com/intellij/execution/target/TargetPlatform +instanceKlass com/jetbrains/python/run/PythonExecution$Companion +instanceKlass com/jetbrains/python/run/PythonScripts +instanceKlass com/jetbrains/python/PythonHelper$HelperDependency +instanceKlass com/jetbrains/python/PythonHelper$PathHelperPackage +instanceKlass com/intellij/execution/target/TargetEnvironment +instanceKlass com/intellij/execution/target/BaseTargetEnvironmentRequest +instanceKlass com/intellij/execution/target/TargetEnvironmentRequest +instanceKlass com/jetbrains/python/run/target/HelpersAwareLocalTargetEnvironmentRequest +instanceKlass com/jetbrains/python/run/target/HelpersAwareTargetEnvironmentRequest +instanceKlass com/jetbrains/python/packaging/PyPackageUtil$4 +instanceKlass com/jetbrains/python/run/PythonExecution +instanceKlass com/jetbrains/python/HelperPackage +instanceKlass com/jetbrains/plugins/remotesdk/WebDeploymentCredentialsType$Companion +instanceKlass com/intellij/remote/ext/CredentialsEditor +instanceKlass com/jetbrains/plugins/remotesdk/SshCredentialsType$Companion +instanceKlass com/intellij/remote/OutdatedCredentialsType +instanceKlass com/jetbrains/plugins/remotesdk/VagrantCredentialsType$Companion +instanceKlass com/intellij/remote/RemoteBundle +instanceKlass com/intellij/remote/ext/RemoteCredentialsHandler +instanceKlass com/intellij/remote/CredentialsType +instanceKlass com/intellij/remote/ext/PathsBrowserDialogProvider +instanceKlass com/intellij/remote/ui/CredentialsEditorProvider +instanceKlass com/jetbrains/plugins/webDeployment/config/Deployable +instanceKlass com/jetbrains/plugins/remotesdk/RemoteTransfer$HelpersTransferConfig +instanceKlass com/intellij/remote/RemoteCredentials +instanceKlass com/jetbrains/plugins/remotesdk/RemoteSdkUtil +instanceKlass com/jetbrains/python/docker/compose/packaging/PyDockerComposePackageManagerProvider +instanceKlass com/jetbrains/python/docker/packaging/PyDockerPackageManagerProvider +instanceKlass com/jetbrains/python/remote/packaging/PySshPackageManagerProvider +instanceKlass com/jetbrains/python/sdk/poetry/PyPoetryPackageManagerProvider +instanceKlass com/jetbrains/python/sdk/pipenv/PyPipenvPackageManagerProvider +instanceKlass com/jetbrains/python/packaging/PyCustomPackageManagers +instanceKlass com/jetbrains/python/packaging/PyPackageManagersImpl$1 +instanceKlass com/jetbrains/python/packaging/PyPackageManagerProvider$Companion +instanceKlass com/jetbrains/python/packaging/PyPackageManagerProvider +instanceKlass com/intellij/webcore/packaging/PackageManagementService +instanceKlass com/jetbrains/python/packaging/PyPackageManagers +instanceKlass com/intellij/ide/HoverService$ComponentPoint +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkAuto +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkDownloaderBase +instanceKlass com/google/common/primitives/UnsignedBytes +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkSnapshot$sdkState$2$invoke$$inlined$sortedBy$1 +instanceKlass ini4idea/lang/IniTokenTypes +instanceKlass com/jetbrains/python/sdk/PySdkPopupFactory$Companion +instanceKlass com/jetbrains/python/sdk/PySdkPopupFactory +instanceKlass com/jetbrains/python/findUsages/PythonFindUsagesProvider +instanceKlass com/intellij/openapi/project/SingleTaskExecutor$IsRunningStateFlow$collect$2$invokeSuspend$$inlined$map$1$2 +instanceKlass kotlinx/coroutines/flow/FlowKt__ShareKt$launchSharingDeferred$1$1 +instanceKlass com/intellij/openapi/project/SingleTaskExecutor$IsRunningStateFlow$collect$2$invokeSuspend$$inlined$map$1 +instanceKlass java/util/regex/Pattern$1MatcherIterator +instanceKlass org/jetbrains/plugins/textmate/TextMateFileType$TextMateFileDetector +instanceKlass com/intellij/openapi/fileTypes/impl/HashBangFileTypeDetector +instanceKlass com/intellij/database/vfs/DbStorageFileType$Detector +instanceKlass com/intellij/javascript/debugger/sourcemap/SourceMapFileType$MyFileTypeDetector +instanceKlass com/intellij/docker/dockerFile/DockerFileTypeDetector +instanceKlass com/intellij/ide/scratch/ScratchFileServiceImpl$Detector +instanceKlass com/intellij/util/containers/CharTrie +instanceKlass com/intellij/ide/highlighter/custom/tokens/KeywordParser +instanceKlass com/intellij/ide/highlighter/custom/tokens/TokenParser +instanceKlass com/jetbrains/lang/makefile/_MakefileLexer +instanceKlass com/jetbrains/lang/makefile/MakefileFindUsagesProvider +instanceKlass com/jetbrains/lang/makefile/MakefileParserDefinition$TokenSets +instanceKlass com/intellij/openapi/roots/impl/RootIndex$RootInfo$1 +instanceKlass com/intellij/openapi/roots/impl/RootIndex$OrderEntryGraph$Graph +instanceKlass com/intellij/openapi/roots/impl/RootIndex$OrderEntryGraph +instanceKlass com/intellij/openapi/roots/impl/RootIndex$RootInfo +instanceKlass com/intellij/openapi/roots/impl/RootIndex +instanceKlass com/intellij/openapi/project/ProjectBundle +instanceKlass com/jetbrains/python/projectView/PyTypeShedNode$Companion +instanceKlass com/jetbrains/python/codeInsight/userSkeletons/PyUserSkeletonsUtil +instanceKlass com/intellij/openapi/application/rw/SmartModeReadConstraint +instanceKlass com/intellij/openapi/application/ReadConstraint$Companion +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexChunkConfiguration$SharedIndexQuery +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexFileIndexingStatusProcessor$IndexChunk +instanceKlass com/intellij/indexing/shared/platform/impl/AttrBasedFileContentHashForwardIndex$IndexData +instanceKlass com/intellij/indexing/shared/platform/impl/AttrBasedFileContentHashForwardIndex$IndexData$EXTERNALIZER +instanceKlass com/intellij/indexing/shared/platform/impl/AttrBasedFileContentHashForwardIndex$MultiHashesExternalizer +instanceKlass com/intellij/openapi/vfs/impl/local/WatchRootsManager$WatchSymlinkRequest +instanceKlass com/jetbrains/python/psi/resolve/PythonPathCache$MyVirtualFileListener +instanceKlass com/jetbrains/python/psi/resolve/PythonSdkPathCache$1 +instanceKlass com/jetbrains/python/psi/resolve/PythonPathCache +instanceKlass git4idea/ui/branch/dashboard/BranchesDataKeysKt +instanceKlass git4idea/index/GitStageManagerKt +instanceKlass com/jetbrains/python/PythonHelpersLocator +instanceKlass com/jetbrains/python/codeInsight/typing/PyTypeShed +instanceKlass com/jetbrains/python/psi/impl/PythonLanguageLevelPusher$UpdateRootTask +instanceKlass com/intellij/notification/impl/widget/IdeNotificationArea +instanceKlass com/intellij/notification/ActionCenter$EventListener +instanceKlass com/intellij/notification/ActionCenter +instanceKlass com/intellij/notification/impl/NotificationCollector$1 +instanceKlass com/intellij/notification/impl/NotificationsEventLogGroup$Companion +instanceKlass com/intellij/notification/impl/NotificationCollector +instanceKlass com/intellij/ui/BalloonImpl$10 +instanceKlass java/util/function/IntSupplier +instanceKlass com/intellij/notification/Notification$1 +instanceKlass com/intellij/ui/NotificationBalloonActionProvider +instanceKlass com/intellij/icons/AllIcons$Ide$RoundShadow +instanceKlass com/intellij/ui/NotificationBalloonRoundShadowBorderProvider$Companion +instanceKlass com/intellij/ui/NotificationBalloonShadowBorderProvider +instanceKlass com/intellij/ui/components/labels/LinkLabel$2 +instanceKlass com/intellij/ui/components/labels/LinkListener +instanceKlass com/intellij/notification/impl/ui/NotificationsUtil$3 +instanceKlass com/intellij/notification/impl/NotificationsManagerImpl$6 +instanceKlass com/intellij/util/indexing/roots/origin/SdkOriginImpl +instanceKlass com/github/weisj/jsvg/q$b +instanceKlass java/awt/image/ConvolveOp +instanceKlass java/awt/image/LookupOp +instanceKlass sun/awt/image/ImagingLib$1 +instanceKlass sun/awt/image/ImagingLib +instanceKlass com/github/weisj/jsvg/bG$a +instanceKlass java/awt/image/AffineTransformOp +instanceKlass java/awt/image/RasterOp +instanceKlass com/github/weisj/jsvg/de +instanceKlass com/github/weisj/jsvg/af +instanceKlass com/github/weisj/jsvg/bR +instanceKlass com/github/weisj/jsvg/bM +instanceKlass com/github/weisj/jsvg/bL$b +instanceKlass com/github/weisj/jsvg/da +instanceKlass com/github/weisj/jsvg/da$a +instanceKlass com/github/weisj/jsvg/aD +instanceKlass com/github/weisj/jsvg/dc +instanceKlass com/github/weisj/jsvg/dg +instanceKlass com/github/weisj/jsvg/s$a +instanceKlass com/github/weisj/jsvg/s$b +instanceKlass com/github/weisj/jsvg/aA +instanceKlass com/github/weisj/jsvg/s +instanceKlass com/github/weisj/jsvg/by +instanceKlass com/github/weisj/jsvg/bN +instanceKlass com/github/weisj/jsvg/cL +instanceKlass com/github/weisj/jsvg/bz$1 +instanceKlass com/github/weisj/jsvg/bz +instanceKlass com/github/weisj/jsvg/r$a +instanceKlass com/github/weisj/jsvg/w +instanceKlass com/github/weisj/jsvg/q$a +instanceKlass com/github/weisj/jsvg/bO +instanceKlass com/github/weisj/jsvg/bx +instanceKlass com/intellij/icons/AllIcons$Ide$Shadow +instanceKlass com/intellij/ui/BalloonLayoutConfiguration +instanceKlass com/intellij/util/containers/UnmodifiableHashMap$MyIterator +instanceKlass com/intellij/openapi/util/text/HtmlBuilder +instanceKlass com/intellij/notification/impl/ui/NotificationsUtil$2 +instanceKlass com/intellij/notification/impl/NotificationFullContent +instanceKlass com/intellij/ui/BalloonLayoutData +instanceKlass com/intellij/notification/impl/NotificationsManagerImpl$14 +instanceKlass com/intellij/platform/diagnostic/telemetry/helpers/TraceUtil +instanceKlass com/intellij/notification/impl/NotificationsAnnouncer +instanceKlass com/intellij/notification/impl/NotificationSettingsKt +instanceKlass com/intellij/util/ui/CSSFontResolver +instanceKlass com/intellij/notification/impl/ui/NotificationsUtil +instanceKlass com/intellij/notification/impl/ProjectNotificationModel +instanceKlass com/intellij/notification/impl/NotificationSettings$Companion +instanceKlass com/intellij/notification/impl/NotificationsManagerImpl$MyNotificationListener +instanceKlass com/intellij/notification/impl/NotificationsAnnouncer$MyListener +instanceKlass com/intellij/notification/impl/NotificationsBeeper +instanceKlass com/intellij/notification/impl/NotificationsToolWindowNotificationListener +instanceKlass com/intellij/notification/Notifications$Bus +instanceKlass com/intellij/openapi/roots/ModuleRootModificationUtil +instanceKlass com/intellij/openapi/roots/ProjectExtension +instanceKlass com/intellij/util/indexing/roots/SdkIndexableFilesIteratorImpl$Companion +instanceKlass com/intellij/util/indexing/roots/SdkIndexableFilesIteratorImpl +instanceKlass com/intellij/openapi/roots/impl/SdkFinder +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/ModifiableRootModelBridge$Companion +instanceKlass com/intellij/util/indexing/roots/builders/SdkIndexableIteratorHandler$AllRoots +instanceKlass com/intellij/util/indexing/roots/builders/SdkIndexableIteratorHandler$Roots +instanceKlass com/intellij/util/indexing/roots/builders/SdkIteratorBuilder +instanceKlass com/intellij/util/indexing/roots/builders/FullModuleContentIteratorBuilder +instanceKlass com/intellij/util/indexing/roots/builders/ModuleAwareCustomizedContentEntityBuilder +instanceKlass com/intellij/util/indexing/roots/builders/ModuleRootsFileBasedIteratorBuilder +instanceKlass com/intellij/util/indexing/roots/builders/ModuleRootsIteratorBuilder +instanceKlass com/intellij/util/indexing/roots/builders/IndexableSetContributorIndexableIteratorHandler +instanceKlass com/intellij/util/indexing/roots/builders/GenericContentEntityIndexableIteratorHandler +instanceKlass com/intellij/util/indexing/roots/builders/ExternalEntityIndexableIteratorHandler +instanceKlass com/intellij/util/indexing/roots/builders/SyntheticLibraryIndexableIteratorHandler +instanceKlass com/intellij/util/indexing/roots/builders/LibraryIndexableIteratorHandler +instanceKlass com/intellij/util/indexing/roots/builders/SdkIndexableIteratorHandler +instanceKlass com/intellij/util/indexing/roots/builders/ModuleRootsIndexableIteratorHandler +instanceKlass com/intellij/util/indexing/roots/builders/IndexableIteratorBuilderHandler +instanceKlass com/intellij/util/indexing/roots/builders/InheritedSdkIteratorBuilder +instanceKlass com/intellij/util/indexing/roots/IndexableEntityProvider$IndexableIteratorBuilder +instanceKlass com/intellij/util/indexing/roots/builders/IndexableIteratorBuilders +instanceKlass com/intellij/util/indexing/EntityIndexingServiceImpl$WorkspaceEntitiesRootsChangedRescanningInfo +instanceKlass com/intellij/microservices/ui/flat/ToolWindowState +instanceKlass com/jetbrains/python/remote/PyRemoteSdkAdditionalDataBase +instanceKlass com/jetbrains/python/remote/PyRemoteSdkSkeletonsPathAware +instanceKlass com/intellij/remote/RemoteSdkAdditionalData +instanceKlass com/intellij/remote/RemoteSdkCredentialsProducer +instanceKlass com/jetbrains/python/psi/impl/PythonLanguageLevelPusher$MyDumbModeTask$1 +instanceKlass it/unimi/dsi/fastutil/ints/AbstractInt2ObjectMap$BasicEntry +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/LibraryRootFileSetData +instanceKlass com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil +instanceKlass com/jetbrains/python/sdk/configuration/PyProjectSdkConfiguration +instanceKlass com/jetbrains/python/sdk/PySdkComparator +instanceKlass com/jetbrains/python/sdk/conda/PyCondaSdkDefaultCustomizer +instanceKlass com/jetbrains/python/sdk/conda/PyCondaSdkCustomizer$Companion +instanceKlass com/jetbrains/python/sdk/conda/PyCondaSdkCustomizer +instanceKlass com/jetbrains/python/sdk/TargetAndPath +instanceKlass com/jetbrains/python/sdk/PreferredSdkComparator +instanceKlass jdk/internal/math/FormattedFloatingDecimal$2 +instanceKlass jdk/internal/math/FormattedFloatingDecimal +instanceKlass com/intellij/util/indexing/diagnostic/presentation/JsonToHtmlConverterKt$generateDumbIndexingHtml$lambda$382$lambda$381$lambda$380$lambda$352$lambda$351$lambda$350$$inlined$sortedByDescending$1 +instanceKlass com/intellij/util/CachedValueStabilityChecker +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonFileProviderIndexStatistics$JsonIndexedFile +instanceKlass com/intellij/swagger/core/SwSpecificationType$Companion +instanceKlass com/intellij/swagger/core/SwSpecificationType +instanceKlass com/intellij/openapi/roots/ui/configuration/projectRoot/SdkDownloadTracker$1 +instanceKlass com/intellij/openapi/roots/ui/configuration/projectRoot/SdkDownloadTracker$PendingDownload +instanceKlass com/intellij/openapi/roots/ui/configuration/projectRoot/SdkDownloadTracker$PendingDownloadModalityTracker +instanceKlass com/intellij/openapi/roots/ui/configuration/projectRoot/SdkDownloadTracker +instanceKlass com/intellij/swagger/core/model/specification/light/LightSpecificationFileUtils +instanceKlass com/intellij/swagger/core/model/specification/SwaggerFileHelper +instanceKlass com/intellij/swagger/core/SwSpecificationDetectionKt +instanceKlass com/intellij/openapi/projectRoots/SdkModel$Listener +instanceKlass com/intellij/openapi/roots/ui/configuration/projectRoot/ProjectSdksModel +instanceKlass com/intellij/openapi/projectRoots/SdkModel +instanceKlass com/jetbrains/python/docker/compose/target/PyDockerComposeTargetEnvironmentFactory +instanceKlass com/intellij/execution/target/ContributedTypeBase +instanceKlass com/intellij/execution/target/BrowsableTargetEnvironmentType +instanceKlass com/jetbrains/python/docker/run/PyDockerTargetEnvironmentFactory$Companion +instanceKlass com/jetbrains/python/docker/run/PyDockerTargetEnvironmentFactory +instanceKlass com/jetbrains/python/remote/PyVagrantTargetEnvironmentFactory$Companion +instanceKlass com/intellij/util/indexing/snapshot/EmptyValueIterator +instanceKlass com/jetbrains/python/remote/PyVagrantTargetEnvironmentFactory +instanceKlass com/intellij/util/indexing/impl/MergedValueContainer$1 +instanceKlass com/jetbrains/python/run/PythonInterpreterTargetEnvironmentFactory$Available$Default +instanceKlass com/intellij/util/indexing/storage/UpdatableSnapshotInputMappingIndex +instanceKlass com/jetbrains/python/run/PythonInterpreterTargetEnvironmentFactory$Available +instanceKlass com/intellij/util/indexing/snapshot/SnapshotSingleValueIndexStorage +instanceKlass com/jetbrains/python/remote/PySshTargetEnvironmentFactory$Companion +instanceKlass com/jetbrains/python/remote/PySshTargetEnvironmentFactory +instanceKlass com/intellij/openapi/util/ThrowableNotNullFunction +instanceKlass com/jetbrains/python/run/PythonInterpreterTargetEnvironmentFactory$Companion +instanceKlass com/jetbrains/python/run/PythonInterpreterTargetEnvironmentFactory +instanceKlass com/intellij/indexing/shared/platform/impl/EmptyIndex$2 +instanceKlass com/intellij/indexing/shared/platform/impl/EmptyIndex$1 +instanceKlass com/intellij/indexing/shared/platform/impl/EmptyIndex +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexChunkConfiguration$SharedIndexProcessor +instanceKlass com/intellij/util/io/keyStorage/AppendableObjectStorage$StorageObjectProcessor +instanceKlass com/jetbrains/python/index/PyPackageManagerListener +instanceKlass com/jetbrains/python/packaging/PyPackageManager$Listener +instanceKlass com/jetbrains/python/packaging/PyPackageManager +instanceKlass com/intellij/execution/services/ServiceModel$3 +instanceKlass sun/reflect/generics/tree/DoubleSignature +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonConverterKt$changeToJson$$inlined$sortedByDescending$5 +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonConverterKt$changeToJson$$inlined$sortedByDescending$4 +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectDumbIndexingHistory$JsonStatsPerIndexer$JsonSnapshotInputMappingStats +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectDumbIndexingHistory$JsonStatsPerIndexer +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonConverterKt$changeToJson$$inlined$sortedByDescending$3 +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonConverterKt$changeToJson$$inlined$sortedByDescending$2 +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectDumbIndexingFileCount +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectDumbIndexingHistoryTimes +instanceKlass it/unimi/dsi/fastutil/longs/LongIterators$UnmodifiableIterator +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectDumbIndexingHistory +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectDumbIndexingHistory$JsonStatsPerParentLanguage +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonConverterKt$aggregateStatsPerFileTypeAndLanguage$lambda$47$$inlined$sortedByDescending$1 +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectDumbIndexingHistory$JsonStatsPerFileType +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonFileSize +instanceKlass it/unimi/dsi/fastutil/longs/LongIterators$EmptyIterator +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectDumbIndexingHistory$JsonStatsPerFileType$JsonBiggestFileTypeContributor +instanceKlass it/unimi/dsi/fastutil/longs/LongIterators +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonConverterKt$aggregateStatsPerFileTypeAndLanguage$LanguageData +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProcessingSpeed +instanceKlass it/unimi/dsi/fastutil/longs/LongArraySet$1 +instanceKlass com/intellij/util/indexing/snapshot/SnapshotInputMappingsStatistics +instanceKlass com/intellij/util/indexing/diagnostic/ChangedFilesDuringIndexingStatistics +instanceKlass com/intellij/util/indexing/ProjectChangedFilesScanner +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonFileProviderIndexStatistics$JsonSlowIndexedFile +instanceKlass java/util/PriorityQueue$Itr +instanceKlass com/intellij/util/indexing/diagnostic/ProjectDumbIndexingHistoryImpl$SnapshotInputMappingStatsImpl +instanceKlass com/intellij/util/indexing/diagnostic/ProjectDumbIndexingHistoryImpl$StatsPerIndexerImpl +instanceKlass com/intellij/util/indexing/diagnostic/ProjectDumbIndexingHistoryImpl$BiggestFileTypeContributorImpl +instanceKlass com/intellij/util/indexing/diagnostic/ProjectDumbIndexingHistoryImpl$addProviderStatistics$lambda$1$$inlined$compareBy$1 +instanceKlass com/intellij/util/indexing/diagnostic/ProjectDumbIndexingHistoryImpl$StatsPerFileTypeImpl +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$SnapshotInputMappingStatsImpl +instanceKlass com/intellij/util/indexing/diagnostic/SnapshotInputMappingStats +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$StatsPerIndexerImpl +instanceKlass com/intellij/util/indexing/diagnostic/StatsPerIndexer +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$BiggestFileTypeContributorImpl +instanceKlass com/intellij/util/indexing/diagnostic/BiggestFileTypeContributor +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$addProviderStatistics$lambda$1$$inlined$compareBy$1 +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$StatsPerFileTypeImpl +instanceKlass com/intellij/util/indexing/diagnostic/StatsPerFileType +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonFileProviderIndexStatistics +instanceKlass com/intellij/util/indexing/diagnostic/SlowIndexedFile +instanceKlass com/intellij/ide/navbar/impl/DefaultNavBarItemKt +instanceKlass com/intellij/database/view/DatabaseNodeWrappingService$Listener +instanceKlass com/intellij/database/view/DatabaseNodeWrappingService$Companion +instanceKlass com/intellij/database/view/DatabaseNodeWrappingService +instanceKlass com/intellij/database/view/structure/DvTreeStructureService$StorageCoreListener +instanceKlass com/intellij/database/view/structure/DvTreeStructureService$DataSourceEventsListener +instanceKlass com/intellij/database/view/structure/DvTreeStructureService$OptionsChangedListener +instanceKlass com/intellij/database/view/DataSourceNode +instanceKlass com/intellij/database/model/families/HostFamily +instanceKlass com/intellij/database/model/families/Family +instanceKlass com/intellij/database/model/families/ObjectsFamily +instanceKlass com/intellij/database/model/families/FamilyWithId +instanceKlass com/intellij/database/view/structure/DvDsGroup +instanceKlass com/intellij/database/view/structure/DvExtraNode +instanceKlass com/intellij/database/DbModelRegistry +instanceKlass com/intellij/database/view/structure/DvTreeContext +instanceKlass com/intellij/database/view/structure/DvTreeInternalFunKt +instanceKlass com/intellij/database/view/structure/DvTreeTransformLayer$DbmsContext +instanceKlass com/intellij/database/util/common/AtomicIncrementalValueCache$Wrap +instanceKlass com/intellij/database/util/common/AtomicIncrementalValueCache +instanceKlass com/intellij/database/view/structure/DvTreeFoldersLayer$Groups +instanceKlass com/intellij/database/view/structure/DvTreeFoldersLayer$Companion +instanceKlass com/intellij/database/model/basic/BasicRoutine +instanceKlass com/intellij/database/model/basic/BasicSourceAware +instanceKlass com/intellij/database/model/basic/BasicMixinSourceAware +instanceKlass com/intellij/database/model/DasObjectWithSource +instanceKlass com/intellij/database/model/basic/BasicMixinRoutine +instanceKlass com/intellij/database/model/basic/BasicSynonym +instanceKlass com/intellij/database/model/basic/BasicMixinSynonym +instanceKlass com/intellij/database/model/basic/BasicMajorObject +instanceKlass com/intellij/database/model/basic/BasicSchemaObject +instanceKlass com/intellij/database/model/basic/BasicMixinSchemaObject +instanceKlass com/intellij/database/model/basic/BasicSequence +instanceKlass com/intellij/database/model/basic/BasicArgument +instanceKlass com/intellij/database/model/basic/BasicArrangedElement +instanceKlass com/intellij/database/model/basic/BasicTypedElement +instanceKlass com/intellij/database/model/basic/BasicMixinTypedElement +instanceKlass com/intellij/database/view/structure/DvTreeModelLayer$Companion +instanceKlass com/intellij/database/view/structure/DvTreeAbstractLayer +instanceKlass com/intellij/database/view/structure/DvTreeLayer +instanceKlass com/intellij/util/io/IntToIntBtree$BtreeIndexNodeView$HashLeafData +instanceKlass com/intellij/database/view/DatabaseViewOptions$FilterStickyStateHolder +instanceKlass com/intellij/database/util/common/BooleanVar +instanceKlass com/intellij/database/util/common/BooleanVal +instanceKlass com/intellij/database/view/DatabaseViewOptions$Companion +instanceKlass com/intellij/database/view/structure/DvMutableViewOptions +instanceKlass com/intellij/database/view/structure/DvViewOptionsFun +instanceKlass com/intellij/database/view/structure/DvTreeStructure +instanceKlass com/intellij/database/view/DatabaseNavBarService$Companion +instanceKlass com/intellij/database/view/DatabaseNavBarService +instanceKlass java/text/StringCharacterIterator +instanceKlass com/intellij/lang/javascript/psi/types/JSCacheableTypeTransformerResolvedIdBase +instanceKlass com/intellij/lang/javascript/psi/types/guard/TypeScriptTypeRelations +instanceKlass com/intellij/lang/javascript/psi/types/JSAnyType$1 +instanceKlass com/intellij/lang/javascript/psi/JSParameterTypeDecorator +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeParser +instanceKlass org/jetbrains/vuejs/codeInsight/VueUtilKt +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSImplicitElementStructureImpl +instanceKlass com/intellij/lang/javascript/psi/stubs/JSImplicitElementStructure +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$WhenMappings +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$STRING_LIST$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$createListSerializer$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTemplateLiteralType +instanceKlass com/intellij/lang/javascript/psi/types/JSLiteralKeyType +instanceKlass com/intellij/lang/javascript/psi/types/JSExoticStringLiteralType +instanceKlass com/intellij/lang/javascript/psi/types/JSKeyofType +instanceKlass com/intellij/lang/javascript/psi/types/evaluable/JSPropertiesOwnerType +instanceKlass com/intellij/lang/javascript/psi/types/JSSpreadType +instanceKlass com/intellij/lang/javascript/psi/types/JSTupleType +instanceKlass com/intellij/lang/javascript/psi/types/JSRestType +instanceKlass com/intellij/lang/javascript/psi/types/JSSpreadOrRestType +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeWithGenericParameters +instanceKlass com/intellij/lang/javascript/psi/types/JSFreshObjectLiteralType +instanceKlass com/intellij/lang/javascript/psi/types/JSDecoratedType +instanceKlass com/intellij/lang/javascript/psi/types/JSWrapperType +instanceKlass com/intellij/lang/javascript/psi/types/JSDistributedType +instanceKlass com/intellij/lang/javascript/psi/types/JSIntersectionType +instanceKlass com/intellij/lang/javascript/psi/types/JSUnionType +instanceKlass com/intellij/lang/javascript/psi/types/JSUnionOrIntersectionType +instanceKlass com/intellij/lang/javascript/psi/JSFunctionType +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$PARAMETER_TYPE_DECORATOR_SERIALIZER$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$CALL_SIGNATURE_SERIALIZER$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$INDEX_SIGNATURE_SERIALIZER$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$TYPE_MEMBER_SERIALIZER$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$NULLABLE_TYPE_SERIALIZER$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$TYPE_SERIALIZER$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer$JSTypeStreamSerializer +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSerializer +instanceKlass com/intellij/lang/javascript/psi/stubs/JSIndexableImplicitElement +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSImplicitElementImpl$Builder +instanceKlass com/intellij/lang/javascript/psi/stubs/JSImplicitPrototypeElement +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSElementIndexingDataStructureImpl +instanceKlass com/intellij/lang/javascript/frameworks/react/ReactPropTypesUtil +instanceKlass com/intellij/lang/javascript/psi/JSInheritedLanguagesConfigurableProvider +instanceKlass com/intellij/lang/javascript/psi/JSInheritedLanguagesHelper +instanceKlass com/intellij/lang/javascript/psi/JSExpressionCodeFragment +instanceKlass com/intellij/psi/IntentionFilterOwner +instanceKlass com/intellij/psi/PsiCodeFragment +instanceKlass org/mozilla/javascript/v8dtoa/CachedPowers$CachedPower +instanceKlass org/mozilla/javascript/v8dtoa/CachedPowers +instanceKlass org/mozilla/javascript/v8dtoa/DiyFp +instanceKlass org/mozilla/javascript/v8dtoa/DoubleHelper +instanceKlass org/mozilla/javascript/v8dtoa/FastDtoaBuilder +instanceKlass org/mozilla/javascript/v8dtoa/FastDtoa +instanceKlass org/mozilla/javascript/ScriptRuntime$DefaultMessageProvider +instanceKlass org/mozilla/javascript/ScriptableObject$KeyComparator +instanceKlass org/mozilla/javascript/ExternalArrayData +instanceKlass org/mozilla/javascript/SlotMapContainer +instanceKlass org/mozilla/javascript/SlotMap +instanceKlass org/mozilla/javascript/AccessorSlot$Getter +instanceKlass org/mozilla/javascript/AccessorSlot$Setter +instanceKlass org/mozilla/javascript/Slot +instanceKlass org/mozilla/javascript/ContextFactory$GlobalSetter +instanceKlass org/mozilla/javascript/ContextFactory +instanceKlass org/mozilla/javascript/Script +instanceKlass org/mozilla/javascript/Icode +instanceKlass org/mozilla/javascript/Node +instanceKlass org/mozilla/javascript/optimizer/Codegen +instanceKlass org/mozilla/javascript/Evaluator +instanceKlass org/mozilla/javascript/Context$ClassShutterSetter +instanceKlass org/mozilla/javascript/ErrorReporter +instanceKlass org/mozilla/javascript/ContextFactory$Listener +instanceKlass org/mozilla/javascript/Context +instanceKlass org/mozilla/javascript/Kit +instanceKlass org/mozilla/javascript/ScriptRuntime$MessageProvider +instanceKlass org/mozilla/javascript/Function +instanceKlass org/mozilla/javascript/Constructable +instanceKlass org/mozilla/javascript/Callable +instanceKlass org/mozilla/javascript/IdFunctionCall +instanceKlass org/mozilla/javascript/Symbol +instanceKlass org/mozilla/javascript/ScriptableObject +instanceKlass org/mozilla/javascript/ConstProperties +instanceKlass org/mozilla/javascript/debug/DebuggableObject +instanceKlass org/mozilla/javascript/SymbolScriptable +instanceKlass org/mozilla/javascript/Scriptable +instanceKlass org/mozilla/javascript/ScriptRuntime +instanceKlass com/intellij/lang/javascript/JSNumberParser +instanceKlass com/intellij/lang/javascript/psi/types/JSGenericParameterType +instanceKlass com/intellij/lang/javascript/psi/JSTypeWithIncompleteSubstitution +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSubstitutor$JSTypeGenericId +instanceKlass com/intellij/lang/javascript/psi/JSTypeUtils +instanceKlass com/intellij/lang/javascript/index/JSInheritanceCallEvaluator$JSInheritanceCallResult +instanceKlass org/jetbrains/vuejs/lang/html/VueFile +instanceKlass com/intellij/javascript/microservices/express/ExpressModel +instanceKlass com/intellij/lang/javascript/psi/resolve/JSContextResolver$Companion +instanceKlass com/intellij/lang/javascript/psi/resolve/JSContextResolver +instanceKlass com/intellij/lang/javascript/psi/impl/JSPropertyImpl$JSPropertyCachedData +instanceKlass java/awt/LightweightDispatcher$1 +instanceKlass java/awt/Container$MouseEventTargetFilter +instanceKlass java/awt/Container$EventTargetFilter +instanceKlass com/intellij/lang/javascript/psi/util/JSPsiHelper +instanceKlass com/intellij/lang/javascript/psi/resolve/JSScopeNamesCache +instanceKlass com/intellij/lang/javascript/psi/impl/JSPropertyImpl$FrameworkHandlersHolder +instanceKlass com/intellij/codeInsight/completion/CompletionUtilCoreImpl +instanceKlass com/intellij/lang/javascript/psi/util/JSStubBasedScopeHandler +instanceKlass com/intellij/lang/javascript/psi/JSType$CompositeStructure +instanceKlass com/intellij/lang/javascript/psi/types/JSResolvedTypeInfo +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSubstitutor +instanceKlass com/intellij/lang/javascript/psi/types/JSResolvableType +instanceKlass com/intellij/lang/javascript/psi/types/evaluable/JSTypeWithDeclarations +instanceKlass com/intellij/lang/javascript/psi/JSCommonTypeNames +instanceKlass com/intellij/lang/javascript/psi/types/JSPrimitiveLiteralType +instanceKlass com/intellij/lang/javascript/psi/types/JSLiteralType +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeWithWidening +instanceKlass com/intellij/lang/javascript/psi/types/JSArrayType +instanceKlass com/intellij/lang/javascript/psi/util/JSTreeUtil$JSScopeDeclarationsAndAssignments +instanceKlass com/intellij/lang/javascript/psi/util/JSTreeUtil$JSScopeNamesUsages +instanceKlass com/intellij/lang/javascript/psi/util/JSTreeUtil$ScopeTypesHolder +instanceKlass com/intellij/util/CommonProcessors$FindProcessor +instanceKlass com/intellij/lang/javascript/index/JSLocalNamespaceEvaluator +instanceKlass com/intellij/lang/javascript/frameworks/react/ReactUtil +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSElementIndexingDataImpl +instanceKlass com/intellij/lang/javascript/psi/stubs/JSElementIndexingDataStructure +instanceKlass com/intellij/lang/javascript/frameworks/jquery/JQueryFrameworkIndexingHandler$2 +instanceKlass com/intellij/lang/javascript/psi/literal/JSLiteralImplicitElementProvidersRegistry +instanceKlass com/intellij/lang/javascript/psi/types/JSUtilType +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeBaseImpl$Holder +instanceKlass com/intellij/lang/javascript/psi/types/evaluable/JSEvaluableOnlyType +instanceKlass com/intellij/lang/javascript/psi/types/JSCodeBasedType +instanceKlass com/intellij/lang/javascript/psi/types/JSEvaluableType +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSStubElementTypeHolder +instanceKlass com/intellij/lang/javascript/index/gist/StubValueMap$1 +instanceKlass com/intellij/lang/javascript/index/gist/StubValueMap +instanceKlass com/intellij/lang/javascript/index/gist/ListExternalizer +instanceKlass com/intellij/lang/javascript/index/gist/NonCancellableExternalizer +instanceKlass com/intellij/lang/javascript/index/gist/JSStubElementGist$3 +instanceKlass com/intellij/lang/javascript/index/gist/JSStubElementGistProvider +instanceKlass com/intellij/lang/javascript/psi/JSDestructuringParameter +instanceKlass com/intellij/lang/javascript/index/gist/JSStubElementGist +instanceKlass com/intellij/lang/javascript/psi/types/JSRecursiveTypeUtil +instanceKlass com/intellij/lang/javascript/psi/resolve/JSGenericTypesEvaluator$1 +instanceKlass com/intellij/lang/javascript/psi/resolve/JSGenericTypesEvaluator$GenericEvaluationContext +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeComparingCache +instanceKlass com/intellij/lang/javascript/psi/JSResolvedTypeId +instanceKlass com/intellij/lang/javascript/psi/JSTypeTextStringBuilder +instanceKlass com/intellij/lang/javascript/psi/JSTypeTextBuilder +instanceKlass com/intellij/lang/javascript/psi/JSTypeSubstitutionContext +instanceKlass com/intellij/lang/javascript/psi/JSRecursiveTypeTransformer +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeBaseImpl +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeContext$1 +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSourceFactory +instanceKlass com/intellij/lang/javascript/psi/types/JSNamedTypeFactory +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptEnum +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSPackage +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ExportedDefaultBinding +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ExportSpecifierAlias +instanceKlass com/intellij/lang/typescript/psi/TypeScriptPsiUtil +instanceKlass com/intellij/lang/typescript/TypeScriptResolveHelper +instanceKlass com/intellij/lang/javascript/flex/JSResolveHelper +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportSpecifierAlias +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportedBinding +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptImportStatement +instanceKlass com/intellij/lang/ecmascript6/resolve/ES6ImportHandler$ES6ExportCache +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ExportDeclaration +instanceKlass java/util/zip/CRC32C +instanceKlass kotlinx/coroutines/DelayWithTimeoutDiagnostics +instanceKlass com/intellij/lang/javascript/index/flags/ByteFlagsSerializer +instanceKlass com/intellij/lang/javascript/frameworks/commonjs/CommonJSUtil +instanceKlass com/intellij/lang/javascript/psi/resolve/JSQualifiedNameResolver +instanceKlass com/intellij/lang/javascript/psi/resolve/BaseJSSymbolProcessor +instanceKlass com/intellij/lang/ecmascript6/resolve/ES6PsiUtil +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ExportDefaultAssignment +instanceKlass com/intellij/lang/ecmascript6/resolve/ES6ImportHandler$1 +instanceKlass com/intellij/lang/ecmascript6/resolve/ES6ImportHandler +instanceKlass com/intellij/lang/ecmascript6/psi/JSExportAssignment +instanceKlass com/intellij/lang/javascript/psi/impl/JSUseScopeProvider +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSPackageStatement +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSNamespaceDeclaration +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptObjectType +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptProxyImplicitElement +instanceKlass java/util/Comparators$NullComparator +instanceKlass com/intellij/lang/javascript/psi/resolve/complexity/JSNamedEvaluationTask +instanceKlass com/intellij/lang/javascript/psi/resolve/JSComplexityAwareRecursionGuard$CachingEvaluator +instanceKlass com/intellij/util/Query +instanceKlass com/intellij/lang/javascript/psi/resolve/JSResolveUtil$MyNamespaceProcessor +instanceKlass com/intellij/lang/javascript/psi/resolve/JSResolveUtil +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSStubIndexingUtils +instanceKlass com/intellij/lang/javascript/psi/util/JSTreeUtil +instanceKlass com/intellij/lang/javascript/psi/impl/JSVariableBaseImpl$Holder +instanceKlass com/intellij/lang/javascript/psi/JSDestructuringArrayRestElement +instanceKlass com/intellij/lang/javascript/documentation/JSDocumentationUtils$1 +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocDescriptionProcessor +instanceKlass com/intellij/lang/javascript/documentation/JSDocumentationUtils +instanceKlass com/intellij/lang/javascript/psi/resolve/ResolveProcessor$ProcessingOptions +instanceKlass com/intellij/lang/actionscript/psi/ActionScriptPsiImplUtil +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/StubTreeUtil +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSTypeHolderOwner +instanceKlass com/intellij/lang/javascript/index/flags/IntFlagsSerializer +instanceKlass com/intellij/lang/javascript/psi/util/JSDestructuringUtil +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocComment +instanceKlass com/intellij/psi/PsiDocCommentBase +instanceKlass com/intellij/lang/javascript/psi/types/JSRecursiveTypeVisitor +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSFileStubBuilder$JSStubLinksTracker +instanceKlass com/intellij/lang/javascript/index/flags/FlagsStructure +instanceKlass com/intellij/lang/javascript/index/flags/FlagsStructureElement +instanceKlass com/intellij/lang/javascript/psi/stubs/impl/JSFileCachedData +instanceKlass com/intellij/lang/javascript/index/JSIdAndTodoScanner$JSScanContent +instanceKlass sun/security/ssl/PreSharedKeyExtension$SHPreSharedKeySpec +instanceKlass com/intellij/lang/javascript/index/JSIndexPatternBuilder$Holder +instanceKlass com/intellij/lang/javascript/psi/util/JSDirectiveCommentUtil +instanceKlass com/intellij/psi/impl/include/FileIncludeInfo +instanceKlass sun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec +instanceKlass sun/security/ssl/PreSharedKeyExtension$PskIdentity +instanceKlass com/intellij/util/io/OpenChannelsCache$FileChannelOperation +instanceKlass com/intellij/tasks/timeTracking/model/WorkItem +instanceKlass sun/net/www/http/KeepAliveEntry +instanceKlass sun/net/www/http/KeepAliveCache$1 +instanceKlass com/intellij/openapi/vcs/roots/VcsRootDetectorImpl$DetectedVcsRoot +instanceKlass com/intellij/openapi/vcs/roots/VcsRootScannerKt +instanceKlass com/intellij/openapi/vcs/roots/VcsRootErrorsFinder +instanceKlass kotlin/coroutines/jvm/internal/DebugMetadata +instanceKlass io/grpc/internal/DelayedClientCall$DelayedListener$3 +instanceKlass io/grpc/internal/RetriableStream$4 +instanceKlass io/grpc/internal/RetriableStream$SavedCloseMasterListenerReason +instanceKlass io/grpc/internal/DelayedStream$DelayedStreamListener$4 +instanceKlass io/grpc/internal/AbstractClientStream$TransportState$1 +instanceKlass io/grpc/internal/RetriableStream$Sublistener$4 +instanceKlass io/grpc/internal/MessageDeframer$SingleMessageProducer +instanceKlass io/grpc/Detachable +instanceKlass io/grpc/HasByteBuffer +instanceKlass io/grpc/internal/ReadableBuffers +instanceKlass io/grpc/internal/MessageDeframer$1 +instanceKlass io/grpc/internal/RetriableStream$Sublistener$1 +instanceKlass io/grpc/internal/RetriableStream$1CommitTask +instanceKlass io/grpc/internal/DelayedStream$DelayedStreamListener$3 +instanceKlass io/grpc/InternalStatus +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http/HttpHeaderNames +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2ConnectionDecoder$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackDecoder$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http/HttpHeaderValidationUtil$BitSet128 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http/HttpHeaderValidationUtil +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackDecoder$Http2HeadersSink +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2FrameReader$HeadersBlockBuilder +instanceKlass com/intellij/lang/javascript/psi/JSDoWhileStatement +instanceKlass com/google/common/base/MoreObjects$ToStringHelper$ValueHolder +instanceKlass com/google/common/base/MoreObjects$ToStringHelper +instanceKlass com/google/common/base/MoreObjects +instanceKlass org/jetbrains/idea/perforce/perforce/connections/P4ParamsCalculator +instanceKlass org/jetbrains/idea/perforce/perforce/connections/P4ConnectionParameters +instanceKlass org/jetbrains/idea/perforce/perforce/connections/AbstractP4Connection$Tracer +instanceKlass org/jetbrains/idea/perforce/perforce/connections/AbstractP4Connection$CommandDebugInfoWrapper +instanceKlass org/jetbrains/idea/perforce/perforce/ExecResult +instanceKlass org/jetbrains/idea/perforce/perforce/ConnectionId +instanceKlass org/jetbrains/idea/perforce/application/AbstractUpdateEnvironment +instanceKlass org/jetbrains/idea/perforce/application/PerforceVcs$MyEditFileProvider +instanceKlass com/intellij/lang/javascript/psi/JSCommaExpression +instanceKlass com/jetbrains/python/sdk/PySdkRenderingKt +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ComputedName +instanceKlass com/intellij/lang/ecmascript6/psi/ES6FunctionProperty +instanceKlass com/intellij/lang/javascript/psi/JSFunctionProperty +instanceKlass com/intellij/lang/ecmascript6/psi/ES6Property +instanceKlass org/jetbrains/vuejs/libraries/vuex/VuexUtils +instanceKlass com/intellij/lang/javascript/psi/JSQualifiedNameImpl +instanceKlass com/intellij/lang/javascript/index/JSSymbolUtil$ReferenceExpressionProcessor +instanceKlass com/intellij/lang/javascript/index/JSSymbolUtil +instanceKlass org/jetbrains/vuejs/index/VueStaticMethod$Companion +instanceKlass com/intellij/lang/javascript/psi/impl/JSPsiImplUtils$1 +instanceKlass com/intellij/javascript/JSFunctionWithSubstitutor +instanceKlass com/intellij/lang/javascript/psi/impl/JSPsiImplUtils +instanceKlass com/intellij/lang/javascript/types/JSExpressionElementType +instanceKlass com/intellij/lang/javascript/frameworks/amd/JSAmdPsiUtil +instanceKlass com/intellij/lang/javascript/index/JSInheritanceCallEvaluator +instanceKlass com/jetbrains/django/lang/template/parsing/parser/args/DjangoTagArgument +instanceKlass com/jetbrains/django/lang/template/parsing/parser/TagParserRegistry +instanceKlass com/jetbrains/django/lang/template/parsing/parser/DjangoTagParser +instanceKlass com/jetbrains/django/lang/template/parsing/parser/Parsing +instanceKlass com/jetbrains/django/lang/template/parsing/parser/DjangoTemplateParser +instanceKlass com/intellij/psi/impl/source/xml/XmlAttributeDelegate$VolatileState +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSSuperExpression +instanceKlass com/intellij/psi/css/index/CssTemplateSelectorsIndex$SelectorInfo +instanceKlass com/intellij/psi/css/util/CssResolveUtil +instanceKlass com/intellij/lang/javascript/psi/ecma6/impl/ES6ReferenceListImpl$ClassExpressionResolve +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSReferenceListMember +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptTypeArgumentsListOwner +instanceKlass com/intellij/psi/AbstractElementManipulator +instanceKlass com/intellij/psi/ElementManipulator +instanceKlass com/intellij/lang/javascript/psi/ecma6/ES6ReferenceList +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSReferenceList +instanceKlass com/intellij/lang/javascript/psi/resolve/JSTagContextBuilder +instanceKlass com/intellij/lang/javascript/_JSInHtmlStripper +instanceKlass com/intellij/xml/util/XmlIncludeHandler +instanceKlass com/intellij/xml/util/XmlPsiUtil$XmlElementProcessor +instanceKlass com/intellij/xml/util/XmlPsiUtil +instanceKlass com/intellij/psi/impl/CheckUtil +instanceKlass com/intellij/psi/css/util/CssSuffixes +instanceKlass com/intellij/psi/css/CssValueImport +instanceKlass com/intellij/psi/css/CssValueDeclaration +instanceKlass io/grpc/internal/RetriableStream$Sublistener$5 +instanceKlass io/grpc/internal/InternalSubchannel$7 +instanceKlass com/intellij/psi/css/CssValueImportedAlias +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolArena$1 +instanceKlass com/intellij/psi/css/CssValueRule +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2ConnectionHandler$6 +instanceKlass com/intellij/psi/css/CssMediaFeature +instanceKlass com/intellij/psi/css/CssMediaExpression +instanceKlass com/intellij/psi/css/CssOperation +instanceKlass io/grpc/netty/shaded/io/netty/buffer/CompositeByteBuf$Component +instanceKlass io/grpc/netty/shaded/io/netty/buffer/CompositeByteBuf$2 +instanceKlass io/grpc/netty/shaded/io/netty/buffer/CompositeByteBuf$1 +instanceKlass com/intellij/psi/css/CssNamespaceList +instanceKlass io/grpc/netty/shaded/io/netty/buffer/CompositeByteBuf$ByteWrapper +instanceKlass com/intellij/psi/css/CssSupportsConditionList +instanceKlass com/intellij/psi/css/CssSupportsCondition +instanceKlass com/intellij/psi/css/CssPageRule +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder$FlowControlledBase +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder$2 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyClientHandler$4 +instanceKlass com/intellij/psi/css/CssKeyframesRule +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder$1 +instanceKlass com/intellij/psi/css/CssCharset +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PooledSlicedByteBuf$1 +instanceKlass com/intellij/psi/css/CssFunction +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackEncoder$1 +instanceKlass com/intellij/psi/css/CssAttributeRSide +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackStaticTable$HeaderIndex +instanceKlass com/intellij/psi/css/CssMediaQuery +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackStaticTable$HeaderNameIndex +instanceKlass com/intellij/psi/css/CssMediumList +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackStaticTable +instanceKlass com/intellij/psi/css/CssString +instanceKlass io/grpc/netty/shaded/io/grpc/netty/GrpcHttp2OutboundHeaders$Itr +instanceKlass com/intellij/psi/css/CssUri +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/WeightedFairQueueByteDistributor$2 +instanceKlass com/intellij/psi/css/CssImportList +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/WeightedFairQueueByteDistributor$ParentChangedEvent +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection$2 +instanceKlass com/intellij/psi/css/CssExpression +instanceKlass com/intellij/psi/css/CssSelectorSuffixList +instanceKlass com/intellij/psi/css/CssBracketedList +instanceKlass com/intellij/lang/javascript/psi/JSSpreadExpression +instanceKlass com/intellij/psi/css/CssTerm +instanceKlass com/intellij/psi/css/CssTermList +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyWritableBuffer +instanceKlass com/google/protobuf/MapField$MutabilityAwareMap$MutabilityAwareIterator +instanceKlass com/google/protobuf/MapField$MutabilityAwareMap$MutabilityAwareSet +instanceKlass com/intellij/psi/css/CssKeyframesSelector +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2LocalFlowController$WindowUpdateVisitor +instanceKlass io/grpc/internal/AbstractStream$TransportState$1RequestRunnable +instanceKlass io/grpc/internal/ThreadOptimizedDeframer +instanceKlass io/grpc/internal/DelayedStream$4 +instanceKlass com/intellij/psi/css/CssNamespace +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyClientStream$Sink$1 +instanceKlass io/grpc/internal/TransportFrameUtil +instanceKlass io/grpc/internal/ForwardingClientStreamListener +instanceKlass io/grpc/internal/ForwardingClientStream +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyClientStream$Sink +instanceKlass com/intellij/psi/css/CssMedia +instanceKlass com/intellij/psi/css/CssAtRule +instanceKlass io/grpc/internal/MessageFramer +instanceKlass com/intellij/psi/css/CssImport +instanceKlass io/grpc/internal/WritableBuffer +instanceKlass com/intellij/psi/css/CssImportLikeElement +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyWritableBufferAllocator +instanceKlass io/grpc/internal/CompositeReadableBuffer$5 +instanceKlass io/grpc/internal/CompositeReadableBuffer$4 +instanceKlass com/intellij/psi/css/CssDeclaration +instanceKlass io/grpc/internal/CompositeReadableBuffer$3 +instanceKlass io/grpc/internal/CompositeReadableBuffer$2 +instanceKlass io/grpc/internal/CompositeReadableBuffer$1 +instanceKlass io/grpc/internal/CompositeReadableBuffer$NoThrowReadOperation +instanceKlass com/intellij/psi/css/CssValueOwner +instanceKlass io/grpc/internal/CompositeReadableBuffer$ReadOperation +instanceKlass io/grpc/internal/AbstractReadableBuffer +instanceKlass com/intellij/psi/css/CssCustomMixin +instanceKlass com/intellij/psi/css/CssPseudoPage +instanceKlass io/grpc/internal/StreamListener$MessageProducer +instanceKlass io/grpc/internal/MessageDeframer +instanceKlass com/intellij/psi/css/CssPseudoElement +instanceKlass io/grpc/internal/Http2ClientStreamTransportState$1 +instanceKlass com/intellij/psi/css/CssPseudoClass +instanceKlass io/grpc/internal/ReadableBuffer +instanceKlass com/intellij/psi/css/CssPseudoSelector +instanceKlass io/grpc/internal/Deframer +instanceKlass io/grpc/InternalMethodDescriptor +instanceKlass com/intellij/psi/css/CssDescriptorOwner +instanceKlass io/grpc/internal/WritableBufferAllocator +instanceKlass io/grpc/internal/AbstractClientStream$Sink +instanceKlass io/grpc/internal/Framer +instanceKlass io/grpc/internal/AbstractStream +instanceKlass com/intellij/psi/css/CssAttribute +instanceKlass io/grpc/internal/MessageFramer$Sink +instanceKlass io/grpc/internal/StatsTraceContext +instanceKlass com/intellij/psi/css/CssIdSelector +instanceKlass io/grpc/internal/InternalSubchannel$TransportListener$1 +instanceKlass com/intellij/psi/css/CssClass +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$WritabilityMonitor$1 +instanceKlass com/intellij/psi/css/CssSelectorSuffix +instanceKlass com/intellij/psi/css/CssNamedElement +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2ConnectionDecoder$FrameReadListener +instanceKlass com/intellij/psi/css/CssSimpleSelector +instanceKlass com/intellij/psi/css/CssSelector +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2InboundFrameLogger$1 +instanceKlass com/intellij/psi/css/CssSelectorList +instanceKlass com/intellij/psi/css/CssRuleset +instanceKlass com/intellij/psi/css/CssRulesetList +instanceKlass com/intellij/psi/css/impl/parsing/CssMathParser +instanceKlass com/intellij/indentation/OperationParserHelper$BinaryOperationParser +instanceKlass com/intellij/psi/css/impl/parsing/CssParser2$1 +instanceKlass com/intellij/psi/css/impl/parsing/CssParser2 +instanceKlass com/intellij/psi/css/impl/parsing/CssParser +instanceKlass com/intellij/css/util/CssPsiUtil +instanceKlass com/intellij/psi/filters/ElementFilter +instanceKlass com/intellij/xml/util/XmlUtil +instanceKlass com/intellij/util/containers/ObjectIntMap$Entry +instanceKlass com/intellij/util/containers/ObjectIntHashMap +instanceKlass com/intellij/xml/util/XmlTagUtil +instanceKlass com/intellij/psi/tree/DefaultRoleFinder +instanceKlass com/intellij/psi/xml/XmlChildRole$2 +instanceKlass com/intellij/psi/xml/XmlChildRole$1 +instanceKlass com/intellij/psi/tree/RoleFinder +instanceKlass com/intellij/psi/xml/XmlChildRole +instanceKlass com/intellij/xml/XmlNSDescriptor +instanceKlass com/intellij/psi/AbstractFileViewProvider$PsiFileContent +instanceKlass com/intellij/psi/impl/source/html/ScriptSupportUtil +instanceKlass com/intellij/psi/css/impl/CssBlockImpl$1 +instanceKlass com/intellij/psi/css/CssOneLineStatement +instanceKlass com/intellij/psi/css/CssBlock +instanceKlass com/intellij/lang/javascript/psi/JSContinueStatement +instanceKlass com/intellij/psi/impl/source/xml/XmlAttributeDelegate +instanceKlass com/intellij/psi/impl/source/xml/XmlPsiPolicy +instanceKlass com/intellij/psi/impl/source/xml/XmlTagDelegate +instanceKlass com/intellij/lang/html/HtmlParsing$HtmlTagInfoImpl +instanceKlass com/intellij/lang/html/HtmlParsing$HtmlTagInfo +instanceKlass com/intellij/lang/html/HtmlParsing$HtmlParserStackItem +instanceKlass com/intellij/lang/html/HtmlParsing +instanceKlass com/intellij/lang/javascript/psi/JSYieldExpression +instanceKlass com/intellij/lang/html/HTMLParser +instanceKlass com/intellij/lang/xml/XmlTemplateTreePatcher +instanceKlass com/intellij/lang/javascript/psi/JSCaseClause +instanceKlass com/intellij/psi/xml/XmlToken +instanceKlass com/intellij/lang/javascript/psi/JSSwitchStatement +instanceKlass com/intellij/psi/xml/XmlEnumeratedType +instanceKlass com/intellij/psi/xml/XmlEntityRef +instanceKlass com/intellij/psi/xml/XmlElementContentGroup +instanceKlass sun/security/ec/ECDSAOperations +instanceKlass com/intellij/psi/xml/XmlContentParticle +instanceKlass com/intellij/psi/xml/XmlElementContentSpec +instanceKlass com/intellij/psi/xml/XmlNotationDecl +instanceKlass com/intellij/psi/xml/XmlAttributeDecl +instanceKlass com/intellij/psi/xml/XmlAttlistDecl +instanceKlass com/intellij/psi/xml/XmlEntityDecl +instanceKlass com/intellij/psi/xml/XmlElementDecl +instanceKlass com/intellij/psi/xml/XmlMarkupDecl +instanceKlass com/intellij/psi/xml/XmlDoctype +instanceKlass com/intellij/psi/xml/XmlComment +instanceKlass com/intellij/lang/javascript/psi/JSBreakStatement +instanceKlass com/intellij/psi/xml/XmlDecl +instanceKlass com/intellij/psi/xml/XmlProlog +instanceKlass com/intellij/psi/xml/XmlDocument +instanceKlass com/intellij/psi/xml/XmlProcessingInstruction +instanceKlass com/intellij/psi/xml/XmlConditionalSection +instanceKlass com/intellij/lang/javascript/psi/JSConditionalExpression +instanceKlass com/intellij/psi/templateLanguages/TemplateDataElementType$OuterLanguageRangePatcher +instanceKlass com/jetbrains/jinja2/lexer/Jinja2TokenTypes +instanceKlass com/intellij/psi/templateLanguages/TemplateDataModifications +instanceKlass com/jetbrains/jinja2/lexer/_Jinja2FlexLexer +instanceKlass com/jetbrains/django/lang/template/psi/DjangoTemplateElementTypes +instanceKlass com/intellij/lang/html/HtmlCompatibleFile +instanceKlass com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReferenceResolver +instanceKlass com/intellij/lang/javascript/index/JSImplicitElementsIndex$Holder +instanceKlass org/angular2/index/Angular2IndexingHandler$Companion +instanceKlass com/intellij/lang/javascript/psi/JSForStatement +instanceKlass org/angularjs/index/AngularJSIndexingHandler$3 +instanceKlass org/angularjs/codeInsight/DirectiveUtil +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocCustomTagDefinition +instanceKlass org/angular2/lang/Angular2JSDocTagsHandler +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocCustomTagsHandler +instanceKlass com/intellij/lang/javascript/psi/JSDestructuringElement +instanceKlass com/intellij/lang/javascript/psi/jsdoc/impl/JSDocCustomTags$TagsInfo +instanceKlass com/intellij/lang/javascript/psi/jsdoc/CharSequenceContainer +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocBlockTagsKt +instanceKlass com/intellij/lang/javascript/psi/types/JSWidenType$Widening +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocBlockTags$Companion +instanceKlass com/intellij/lang/javascript/psi/JSFunctionDeclaration +instanceKlass com/intellij/lang/javascript/psi/ecma6/JSStringTemplateExpression +instanceKlass com/intellij/lang/javascript/psi/JSPostfixExpression +instanceKlass com/intellij/webSymbols/utils/NameCaseUtils +instanceKlass com/intellij/lang/javascript/psi/JSReturnStatement +instanceKlass com/intellij/lang/javascript/JSStringUtil +instanceKlass com/intellij/lang/javascript/psi/JSThrowStatement +instanceKlass com/intellij/lang/javascript/psi/JSFunctionExitPoint +instanceKlass com/intellij/lang/javascript/psi/JSNewExpression +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocTagDefinition +instanceKlass org/jetbrains/vuejs/libraries/templateLoader/TemplateLoaderFrameworkHandler$Companion +instanceKlass com/intellij/lang/javascript/psi/JSThisExpression +instanceKlass org/jetbrains/vuejs/index/VueFrameworkHandler$Companion +instanceKlass com/intellij/javascript/microservices/express/ExpressFrameworkHandler$Companion +instanceKlass com/intellij/lang/javascript/psi/JSRecordType$MemberSource +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ClassExpression +instanceKlass com/intellij/lang/ecmascript6/psi/JSClassExpression +instanceKlass com/intellij/lang/javascript/psi/literal/JSLiteralImplicitElementCustomProvider +instanceKlass com/intellij/lang/ecmascript6/psi/ES6Class +instanceKlass com/intellij/lang/javascript/psi/literal/JSLiteralImplicitElementProvider +instanceKlass com/intellij/lang/javascript/index/JSSymbolUtil$PropertyProcessor +instanceKlass com/intellij/lang/javascript/psi/JSArrayLiteralExpression +instanceKlass com/intellij/lang/javascript/psi/stubs/JSImplicitElement +instanceKlass com/intellij/lang/javascript/psi/stubs/JSImplicitItem +instanceKlass com/intellij/lang/javascript/index/FrameworkIndexingHandler$Holder +instanceKlass com/intellij/lang/javascript/psi/JSDefinitionExpression +instanceKlass com/intellij/lang/javascript/psi/JSNamespace +instanceKlass com/intellij/lang/javascript/psi/JSAssignmentExpression +instanceKlass com/intellij/psi/impl/source/resolve/ResolveCache$PolyVariantResolver +instanceKlass com/intellij/psi/impl/source/resolve/ResolveCache$AbstractResolver +instanceKlass com/intellij/lang/javascript/psi/resolve/JSTypeHelper +instanceKlass com/intellij/lang/javascript/psi/resolve/ResultSink +instanceKlass com/intellij/lang/javascript/psi/resolve/JSGenericTypesEvaluator +instanceKlass com/intellij/lang/javascript/psi/JSWhileStatement +instanceKlass com/intellij/lang/javascript/psi/types/guard/TypeScriptTypeGuard +instanceKlass com/intellij/lang/javascript/psi/JSIndexedPropertyAccessExpression +instanceKlass com/intellij/lang/javascript/psi/resolve/JSTypeEvaluator +instanceKlass com/intellij/lang/javascript/psi/ecmal4/impl/JSAttributeListImpl$1 +instanceKlass com/intellij/lang/ecmascript6/resolve/JSModuleElementsProcessor +instanceKlass com/intellij/lang/javascript/psi/resolve/processors/JSQualifiedItemProcessor +instanceKlass com/intellij/lang/javascript/psi/resolve/JSTypeProcessor +instanceKlass com/intellij/lang/javascript/psi/util/JSStubBasedPsiTreeUtil +instanceKlass com/intellij/lang/javascript/dialects/JSDialectSpecificHandlersFactory +instanceKlass com/intellij/lang/javascript/index/JSIndexContentBuilder +instanceKlass com/intellij/lang/javascript/psi/util/JSUtils$Holder +instanceKlass com/intellij/lang/javascript/psi/util/JSUtils +instanceKlass com/intellij/lexer/_HtmlRawTextLexer +instanceKlass com/intellij/lang/javascript/psi/JSParameterList +instanceKlass com/intellij/html/embedding/HtmlEmbeddedContentProvider$Companion$RAW_TEXT_FORMATTABLE_EMBEDMENT$1 +instanceKlass com/intellij/html/embedding/HtmlEmbeddedContentProvider$Companion$RAW_TEXT_EMBEDMENT$1 +instanceKlass com/intellij/html/embedding/HtmlEmbeddedContentProvider$Companion +instanceKlass com/intellij/lang/javascript/psi/impl/JSFunctionBaseImpl$2 +instanceKlass com/intellij/ide/highlighter/custom/tokens/TokenInfo +instanceKlass com/intellij/lang/javascript/psi/jsdoc/JSDocCommentVisitor +instanceKlass com/intellij/lang/javascript/JSNodeVisitor +instanceKlass com/intellij/psi/css/impl/lexing/_CssLexer +instanceKlass com/intellij/lang/javascript/psi/JSParameter +instanceKlass com/intellij/lang/javascript/psi/JSParameterListElement +instanceKlass com/intellij/lang/javascript/psi/JSParameterItem +instanceKlass com/intellij/lang/javascript/psi/impl/JSReferenceSet +instanceKlass com/intellij/lang/javascript/psi/stubs/JSElementIndexingData +instanceKlass com/intellij/lang/javascript/psi/JSIndexingDataHolder +instanceKlass com/intellij/lang/javascript/psi/JSCallLikeExpressionCommon +instanceKlass com/intellij/psi/templateLanguages/OuterLanguageElement +instanceKlass com/intellij/sql/psi/SqlUnknownStatement +instanceKlass com/intellij/lang/javascript/psi/ecmal4/XmlBackedJSClass +instanceKlass com/intellij/sql/psi/SqlTruncateTableStatement +instanceKlass com/intellij/sql/psi/SqlExplainStatement +instanceKlass com/intellij/lang/javascript/psi/JSObjectLiteralExpression +instanceKlass com/intellij/sql/psi/SqlUseDatabaseStatement +instanceKlass com/intellij/sql/psi/SqlCallStatement +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSAttributeList +instanceKlass com/intellij/sql/psi/SqlRaiseStatement +instanceKlass com/intellij/sql/psi/SqlReturnStatement +instanceKlass com/intellij/sql/psi/SqlContinueStatement +instanceKlass com/intellij/sql/psi/SqlBreakStatement +instanceKlass com/intellij/sql/psi/SqlConditionalJumpStatement +instanceKlass com/intellij/lang/javascript/psi/JSVarStatement +instanceKlass com/intellij/sql/psi/SqlGotoStatement +instanceKlass com/intellij/sql/psi/SqlJumpStatement +instanceKlass com/intellij/sql/psi/SqlForLoopStatement +instanceKlass com/intellij/sql/psi/SqlRepeatLoopStatement +instanceKlass com/intellij/sql/psi/SqlWhileLoopStatement +instanceKlass com/intellij/sql/psi/SqlConditionalLoopStatement +instanceKlass com/intellij/sql/psi/SqlLoopStatement +instanceKlass com/intellij/sql/psi/SqlCaseStatement +instanceKlass com/intellij/sql/psi/SqlIfStatement +instanceKlass com/intellij/sql/psi/SqlLabelDefinition +instanceKlass com/intellij/sql/psi/SqlDeclareConditionHandlerStatement +instanceKlass com/intellij/sql/psi/SqlDeclareVariableStatement +instanceKlass com/intellij/sql/psi/SqlDeclareStatement +instanceKlass com/intellij/sql/psi/SqlNullStatement +instanceKlass com/intellij/lang/javascript/psi/JSForInStatement +instanceKlass com/intellij/sql/psi/SqlReturnsClause +instanceKlass com/intellij/sql/psi/SqlCreateTriggerStatement +instanceKlass com/intellij/database/model/DasTrigger +instanceKlass com/intellij/database/model/DasOperator +instanceKlass com/intellij/sql/psi/SqlCreateProcedureStatement +instanceKlass com/intellij/sql/psi/SqlRoutineDefinition +instanceKlass com/intellij/database/model/DasRoutine +instanceKlass com/intellij/sql/psi/SqlTargetContextProvider +instanceKlass com/intellij/sql/psi/SqlCreateIndexStatement +instanceKlass com/intellij/sql/psi/SqlIndexDefinition +instanceKlass com/intellij/database/model/DasIndex +instanceKlass com/intellij/lang/javascript/psi/JSIfStatement +instanceKlass com/intellij/lang/javascript/psi/JSThenableElement +instanceKlass com/intellij/sql/psi/SqlParameterDefinition +instanceKlass com/intellij/database/model/DasArgument +instanceKlass com/intellij/sql/psi/SqlVariableDefinition +instanceKlass com/intellij/sql/psi/SqlParameterList +instanceKlass com/intellij/sql/psi/SqlColumnDetailsClause +instanceKlass com/intellij/sql/psi/SqlAuthorizationIdentifier +instanceKlass com/intellij/sql/psi/SqlUsingClause +instanceKlass com/intellij/sql/psi/SqlJoinConditionClause +instanceKlass com/intellij/sql/psi/SqlAlterInstruction +instanceKlass com/intellij/sql/psi/SqlRevokeStatement +instanceKlass com/intellij/sql/psi/SqlGrantStatement +instanceKlass com/intellij/sql/psi/SqlAlterDomainStatement +instanceKlass com/intellij/sql/psi/SqlAlterStatement +instanceKlass com/intellij/sql/psi/SqlForeignKeyDefinition +instanceKlass com/intellij/lang/javascript/psi/JSArgumentList +instanceKlass com/intellij/database/model/DasForeignKey +instanceKlass com/intellij/lang/javascript/psi/JSArgumentsHolder +instanceKlass com/intellij/psi/stubs/StubTreeLoader +instanceKlass com/intellij/sql/psi/SqlTableKeyDefinition +instanceKlass com/intellij/lang/javascript/psi/JSParenthesizedExpression +instanceKlass com/intellij/database/model/DasTableKey +instanceKlass com/intellij/sql/psi/SqlConstraintDefinition +instanceKlass com/intellij/lang/javascript/psi/JSExpressionStatement +instanceKlass com/intellij/database/model/DasConstraint +instanceKlass com/intellij/lang/javascript/psi/JSStatementExpressionOwner +instanceKlass com/intellij/sql/psi/SqlColumnAliasDefinition +instanceKlass com/intellij/lang/javascript/psi/JSCatchBlock +instanceKlass com/intellij/lang/javascript/psi/JSTryStatement +instanceKlass com/jetbrains/clones/index/TextRangesExternalizer$save$$inlined$sortedBy$1 +instanceKlass com/intellij/lang/javascript/psi/JSVariableDeclaringScope +instanceKlass com/intellij/database/model/DasHideableObject +instanceKlass com/intellij/sql/psi/SqlColumnDefinition +instanceKlass com/intellij/database/symbols/PsiColumnWithSymbol +instanceKlass com/intellij/database/symbols/DasColumnSymbol +instanceKlass com/intellij/database/model/PsiColumn +instanceKlass com/intellij/lang/javascript/psi/resolve/processors/JSCandidateResultProcessor +instanceKlass com/intellij/sql/psi/SqlBlockStatement +instanceKlass com/intellij/lang/javascript/psi/resolve/processors/JSResolveProcessor +instanceKlass com/intellij/sql/psi/SqlDefinitionHolder +instanceKlass com/intellij/sql/psi/SqlLabelHolder +instanceKlass com/intellij/sql/psi/SqlWindowClause +instanceKlass com/intellij/refactoring/rename/BindablePsiReference +instanceKlass com/intellij/lang/javascript/psi/JSReferenceExpression +instanceKlass com/intellij/sql/psi/SqlAnalyticClause +instanceKlass com/intellij/lang/javascript/psi/JSReferenceItem +instanceKlass com/intellij/psi/PsiQualifiedReferenceElement +instanceKlass com/intellij/lang/javascript/psi/JSQualifiedExpression +instanceKlass com/intellij/sql/psi/SqlRollbackStatement +instanceKlass com/intellij/sql/psi/SqlCommitStatement +instanceKlass com/intellij/sql/psi/SqlDropStatement +instanceKlass com/intellij/sql/psi/SqlSetAssignment +instanceKlass com/intellij/sql/psi/SqlLockTableStatement +instanceKlass com/intellij/sql/psi/SqlRenameToClause +instanceKlass com/intellij/sql/psi/SqlCollateClause +instanceKlass com/intellij/sql/psi/SqlReturningClause +instanceKlass com/intellij/sql/psi/SqlInsertOverridingClause +instanceKlass com/intellij/sql/psi/SqlInsertDmlInstruction +instanceKlass com/intellij/sql/psi/SqlCreateTypeStatement +instanceKlass com/intellij/sql/psi/SqlUserTypeDefinition +instanceKlass com/intellij/database/model/DasUserDefinedType +instanceKlass com/intellij/sql/psi/SqlSynonymDefinition +instanceKlass com/intellij/database/model/DasSynonym +instanceKlass com/intellij/sql/psi/SqlCreateAssertionStatement +instanceKlass com/intellij/sql/psi/SqlCreateCollationStatement +instanceKlass com/intellij/sql/psi/SqlCreateDomainStatement +instanceKlass com/intellij/sql/psi/SqlCreateCharacterSetStatement +instanceKlass com/intellij/sql/psi/SqlCreateViewStatement +instanceKlass com/intellij/sql/psi/SqlCreateTableStatement +instanceKlass com/intellij/microservices/url/UrlConstants +instanceKlass com/intellij/sql/psi/SqlCreateSchemaStatement +instanceKlass com/jetbrains/python/PyCustomDecoratorIndexer$Companion +instanceKlass com/jetbrains/django/model/stubs/manager/DjangoManagerStub +instanceKlass com/jetbrains/django/model/stubs/DjangoForeignKeyStub +instanceKlass com/intellij/psi/stubs/ObjectStubTree$StubIndexSink +instanceKlass com/intellij/sql/psi/SqlCreateCatalogStatement +instanceKlass com/intellij/psi/stubs/StubSpine +instanceKlass com/intellij/sql/psi/SqlCreateStatement +instanceKlass com/intellij/sql/psi/SqlDdlStatement +instanceKlass com/intellij/psi/stubs/ByteArrayInterner$1 +instanceKlass com/intellij/psi/stubs/ByteArrayInterner +instanceKlass com/intellij/psi/stubs/StubSerializationUtil +instanceKlass com/intellij/sql/psi/SqlSetStatement +instanceKlass com/intellij/psi/stubs/IntEnumerator +instanceKlass com/intellij/psi/stubs/FileLocalStringEnumerator +instanceKlass com/intellij/sql/psi/SqlMergeStatement +instanceKlass com/intellij/psi/stubs/MaterialStubList$1 +instanceKlass com/intellij/sql/psi/SqlUpdateStatement +instanceKlass com/intellij/sql/psi/SqlDeleteStatement +instanceKlass com/intellij/psi/impl/source/tree/RecursiveTreeElementWalkingVisitor$ASTTreeGuide +instanceKlass com/intellij/psi/impl/source/tree/AstBufferUtil +instanceKlass com/intellij/sql/psi/SqlInsertStatement +instanceKlass com/intellij/sql/psi/SqlDmlStatement +instanceKlass com/intellij/psi/stubs/Hash +instanceKlass com/intellij/psi/stubs/StrippedIntOpenHashMap +instanceKlass com/intellij/sql/psi/SqlSelectStatement +instanceKlass com/intellij/psi/stubs/StubList$2 +instanceKlass com/intellij/sql/psi/SqlStatement +instanceKlass com/intellij/sql/psi/SqlDmlInstruction +instanceKlass com/intellij/sql/psi/SqlIntervalLiteralExpression +instanceKlass com/jetbrains/python/psi/PyStringLiteralCoreUtil +instanceKlass com/jetbrains/python/psi/impl/PyStringLiteralDecoder +instanceKlass com/intellij/sql/psi/SqlStringLiteralConcatenation +instanceKlass com/intellij/sql/psi/SqlStringLiteralExpression +instanceKlass com/jetbrains/python/psi/PyRaiseStatement +instanceKlass com/jetbrains/python/psi/impl/ParamHelper +instanceKlass com/intellij/sql/psi/SqlFunctionCallExpression +instanceKlass com/intellij/sql/psi/SqlBetweenExpression +instanceKlass com/intellij/sql/psi/SqlScopingExpression +instanceKlass com/jetbrains/extensions/FQNamesProviderExtKt +instanceKlass com/intellij/sql/psi/SqlUnaryExpression +instanceKlass com/jetbrains/django/model/relationalKeys/DjangoKeyRelationInfo +instanceKlass com/jetbrains/python/psi/impl/stubs/PyTypingNewTypeStubImpl$Companion +instanceKlass com/jetbrains/python/psi/impl/stubs/PyTypingNewTypeStubImpl +instanceKlass com/jetbrains/python/psi/stubs/PyTypingNewTypeStub +instanceKlass com/intellij/sql/psi/SqlTypeParameterList +instanceKlass com/jetbrains/python/codeInsight/PyDataclassNames$Attrs +instanceKlass com/jetbrains/python/psi/impl/stubs/PyDataclassFieldStubImpl$Companion +instanceKlass com/jetbrains/python/psi/impl/stubs/PyDataclassFieldStubImpl +instanceKlass com/jetbrains/python/psi/stubs/PyDataclassFieldStub +instanceKlass com/intellij/sql/psi/SqlTypeElement +instanceKlass com/intellij/sql/psi/SqlHierarchicalClause +instanceKlass com/jetbrains/python/codeInsight/typing/PyTypedDictTypeProvider$Companion +instanceKlass com/intellij/sql/psi/SqlExtraDeclarationsProvider +instanceKlass com/intellij/sql/psi/SqlWithClause +instanceKlass com/intellij/sql/psi/SqlPivotColumnsClause +instanceKlass com/intellij/sql/psi/SqlGroupByClause +instanceKlass com/intellij/sql/psi/SqlHavingClause +instanceKlass com/jetbrains/python/psi/impl/stubs/PyTypedDictStubImpl$Companion +instanceKlass com/jetbrains/python/psi/impl/stubs/PyTypedDictStubImpl +instanceKlass com/jetbrains/python/psi/stubs/PyTypedDictStub +instanceKlass com/intellij/sql/psi/SqlWhereClause +instanceKlass com/intellij/sql/psi/SqlFromClause +instanceKlass one/util/streamex/Internals$CloneableSpliterator +instanceKlass com/intellij/sql/psi/SqlSelectOption +instanceKlass one/util/streamex/Internals +instanceKlass com/intellij/sql/psi/SqlTableDefinition +instanceKlass com/intellij/database/symbols/DasTableSymbol +instanceKlass com/intellij/sql/psi/SqlSelectIntoClause +instanceKlass com/intellij/sql/psi/SqlSelectModifierClause +instanceKlass com/intellij/sql/psi/SqlSelectClause +instanceKlass com/intellij/sql/psi/SqlWithQueryExpression +instanceKlass com/intellij/sql/psi/SqlQueryExpression +instanceKlass com/intellij/sql/psi/SqlTableColumnsList +instanceKlass com/intellij/sql/psi/SqlReferenceList +instanceKlass com/intellij/sql/psi/impl/SqlReferenceImpl +instanceKlass com/intellij/sql/psi/SqlReference +instanceKlass com/intellij/model/psi/PsiSymbolReference +instanceKlass com/intellij/psi/PsiQualifiedReference +instanceKlass com/intellij/sql/psi/SqlErrorSpec +instanceKlass com/intellij/sql/psi/SqlParameter +instanceKlass com/intellij/sql/psi/SqlWithCycleClause +instanceKlass com/intellij/sql/psi/SqlExceptionWhenClause +instanceKlass com/intellij/sql/psi/SqlExceptionHandler +instanceKlass com/intellij/sql/psi/SqlControlFlowHolder +instanceKlass com/intellij/sql/psi/SqlExceptionClause +instanceKlass com/intellij/sql/psi/SqlElseIfClause +instanceKlass com/intellij/sql/psi/SqlElseClause +instanceKlass com/intellij/sql/psi/SqlWhenThenClause +instanceKlass com/intellij/sql/psi/SqlThenClause +instanceKlass com/intellij/sql/psi/SqlWhenClause +instanceKlass com/intellij/sql/psi/SqlCaseExpression +instanceKlass com/intellij/sql/psi/impl/SqlCaseElementMixin +instanceKlass com/intellij/sql/psi/SqlCaseElement +instanceKlass com/intellij/sql/psi/SqlTypeCastExpression +instanceKlass com/jetbrains/python/psi/resolve/RatedResolveResult +instanceKlass com/intellij/psi/ResolveState +instanceKlass com/intellij/sql/psi/SqlLocalDefinition +instanceKlass com/intellij/sql/psi/SqlAsExpression +instanceKlass com/jetbrains/python/psi/PyTryPart +instanceKlass com/intellij/sql/psi/SqlValuesExpression +instanceKlass com/intellij/database/model/PsiTable +instanceKlass com/jetbrains/python/psi/PyTryExceptStatement +instanceKlass com/intellij/sql/psi/SqlTypedDefinition +instanceKlass com/jetbrains/python/psi/PyKeyValueExpression +instanceKlass com/jetbrains/python/psi/PyDictLiteralExpression +instanceKlass com/intellij/sql/psi/SqlExplicitTableExpression +instanceKlass com/jetbrains/python/psi/PyTupleExpression +instanceKlass com/intellij/sql/psi/SqlParenthesizedExpression +instanceKlass com/intellij/sql/psi/SqlExpressionList +instanceKlass com/jetbrains/python/psi/PyPrefixExpression +instanceKlass com/intellij/sql/psi/SqlJoinExpression +instanceKlass com/intellij/sql/psi/SqlLateralAwareExpression +instanceKlass com/intellij/sql/psi/SqlIntersectExpression +instanceKlass com/jetbrains/python/psi/PyReturnStatement +instanceKlass com/jetbrains/python/psi/PyNumericLiteralExpression +instanceKlass com/jetbrains/python/psi/PyBoolLiteralExpression +instanceKlass com/intellij/sql/psi/SqlBinaryExpression +instanceKlass com/intellij/sql/psi/SqlUnionExpression +instanceKlass com/intellij/sql/psi/SqlSetOperatorExpression +instanceKlass com/intellij/sql/psi/SqlResultSetExpression +instanceKlass com/jetbrains/python/psi/PyStatementList +instanceKlass com/intellij/sql/psi/SqlNAryExpression +instanceKlass com/intellij/sql/psi/SqlOperatorExpression +instanceKlass com/jetbrains/python/psi/PyBinaryExpression +instanceKlass com/intellij/sql/psi/SqlTableExpression +instanceKlass com/intellij/lang/javascript/parsing/JSParseResult +instanceKlass com/intellij/sql/psi/SqlWithOrdinalityClause +instanceKlass com/intellij/lang/javascript/JSLexerUtil +instanceKlass com/intellij/lang/javascript/parsing/StatementParser$1 +instanceKlass com/intellij/sql/psi/SqlCorrespondingClause +instanceKlass com/intellij/lang/javascript/parsing/ExpressionParser$MarkerData +instanceKlass com/intellij/lang/PsiBuilderUtil +instanceKlass com/intellij/sql/psi/SqlSetClause +instanceKlass com/jetbrains/python/psi/PyIfPart +instanceKlass com/jetbrains/python/psi/PyConditionalStatementPart +instanceKlass com/intellij/sql/psi/SqlOffsetClause +instanceKlass exa/language_server_pb/LanguageServer +instanceKlass com/intellij/psi/tree/TokenSet$OrPredicate +instanceKlass com/intellij/sql/psi/SqlLimitClause +instanceKlass com/intellij/lang/javascript/nashorn/NashornJSElementTypes +instanceKlass com/intellij/lang/ecmascript6/ES6ElementTypes +instanceKlass com/intellij/sql/psi/SqlOrderByClause +instanceKlass com/intellij/sql/psi/SqlQueryClause +instanceKlass com/jetbrains/python/psi/PyListLiteralExpression +instanceKlass com/intellij/lang/javascript/psi/stubs/ES6DecoratorDeclarationStub +instanceKlass com/intellij/sql/psi/SqlLikeTableClause +instanceKlass com/intellij/lang/ecmascript6/psi/ES6AssignmentProperty +instanceKlass com/intellij/sql/psi/SqlUpdatabilityClause +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportCall +instanceKlass com/intellij/sql/psi/SqlClause +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ImportCallStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6NamespaceExportStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6NamedImportsStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ImportedBindingStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ImportedExportedDefaultBindingStub +instanceKlass com/intellij/lang/ecmascript6/psi/ES6FromClause +instanceKlass com/intellij/psi/css/CssMediaFeatureDescriptor +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6FromClauseStub +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportSpecifier +instanceKlass com/intellij/sql/psi/SqlIdentifier +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ImportSpecifierStub +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ExportSpecifier +instanceKlass com/intellij/sql/psi/SqlPrefixedElement +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ExportSpecifierStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ImportExportSpecifierStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ImportSpecifierAliasStub +instanceKlass exa/language_server_pb/LanguageServer$StateOrBuilder +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ExportSpecifierAliasStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ImportDeclarationStub +instanceKlass com/intellij/sql/psi/SqlSpecialLiteralExpression +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ExportDeclarationStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ImportExportDeclarationStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ExportDefaultAssignmentStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ComputedNameStub +instanceKlass com/intellij/lang/javascript/psi/stubs/FlowJSClassStub +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ClassStub +instanceKlass com/intellij/lang/javascript/psi/stubs/FlowJSFunctionExpressionStub +instanceKlass com/intellij/lang/javascript/psi/stubs/FlowJSFunctionStub +instanceKlass sun/net/www/http/KeepAliveStreamCleaner$2 +instanceKlass com/intellij/lang/javascript/flow/FlowJSElementTypes +instanceKlass sun/net/www/http/KeepAliveStreamCleaner$1 +instanceKlass com/intellij/sql/psi/SqlBooleanLiteralExpression +instanceKlass com/intellij/lang/javascript/psi/stubs/JSDocDecoratedTypeStub +instanceKlass com/jetbrains/python/psi/impl/ParamHelper$ParamWalker +instanceKlass com/intellij/lang/javascript/psi/stubs/JSDocFunctionTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSDocFunctionTypeParameterStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTemplateLiteralTypeStub +instanceKlass com/jetbrains/python/psi/impl/PyFunctionImpl$CachedStructuredDocStringProvider +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTupleMemberStub +instanceKlass com/intellij/sql/psi/SqlTimeLiteralExpression +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypeParameterConstraintStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypeParameterDefaultStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptGlobalModuleExportDeclarationStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptEntityNameStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptExternalModuleReferenceStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptMappedTypeParameterStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptParenthesizedTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptMappedTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptIndexedAccessTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptNamedGenericArgumentTypeStub +instanceKlass com/intellij/sql/psi/SqlLiteralExpression +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptAwaitedTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypeOperatorStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptFunctionTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypeofTypeStub +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptBooleanLiteralType +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptNumberLiteralType +instanceKlass com/intellij/sql/psi/JdbcProcedureCall +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptStringLiteralType +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptLiteralType +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptLiteralTypeStub +instanceKlass com/intellij/sql/dialects/base/SqlElementFactory$Info +instanceKlass com/intellij/sql/dialects/sql92/Sql92ElementFactory$LazyData +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptArrayTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypePredicateStub +instanceKlass com/intellij/sql/dialects/base/SqlParser$4 +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptIndexSignature +instanceKlass com/intellij/lang/javascript/psi/JSRecordType$IndexSignature +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptIndexSignatureStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptExportAssignmentStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSTypeOwnerStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptImplicitModuleStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypeArgumentListStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptSingleTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypeParameterStub +instanceKlass com/intellij/psi/LiteralTextEscaper +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypeParameterListStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptPropertySignatureStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptConstTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptInferTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptConditionalTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptUnionOrIntersectionTypeStub +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptThisType +instanceKlass com/intellij/psi/ContributedReferenceHost +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptThisTypeStub +instanceKlass com/intellij/sql/dialects/sql92/Sql92Dialect$LazyData +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTupleTypeStub +instanceKlass com/jetbrains/python/psi/PyStringLiteralExpression +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptObjectTypeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptImportStatementStub +instanceKlass com/intellij/sql/dialects/sql92/Sql92ExpressionParsing +instanceKlass com/jetbrains/python/psi/StringLiteralExpression +instanceKlass com/jetbrains/python/psi/PyLiteralExpression +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptEnumField +instanceKlass com/jetbrains/python/psi/PyKeywordArgument +instanceKlass com/intellij/sql/dialects/sql92/Sql92DmlParsing +instanceKlass com/intellij/lang/javascript/psi/JSConstantValueOwner +instanceKlass com/jetbrains/python/psi/PyAugAssignmentStatement +instanceKlass com/jetbrains/python/psi/impl/PyAugAssignmentStatementNavigator +instanceKlass com/intellij/codeInsight/dataflow/map/DfaMapInstance +instanceKlass com/intellij/codeInsight/dataflow/DfaInstance +instanceKlass com/intellij/codeInsight/dataflow/map/MapSemilattice +instanceKlass com/intellij/codeInsight/dataflow/Semilattice +instanceKlass com/jetbrains/python/codeInsight/dataflow/scope/impl/ScopeImpl +instanceKlass com/jetbrains/python/codeInsight/dataflow/scope/Scope +instanceKlass com/jetbrains/python/codeInsight/controlflow/ControlFlowCache +instanceKlass com/intellij/lang/javascript/psi/impl/JSCachingNamespaceOwner +instanceKlass com/intellij/sql/dialects/sql92/Sql92DdlParsing +instanceKlass com/intellij/lang/javascript/psi/impl/JSCachingTypeOwner +instanceKlass com/jetbrains/python/psi/PyGlobalStatement +instanceKlass com/jetbrains/python/psi/PyNonlocalStatement +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptVariable +instanceKlass com/jetbrains/python/codeInsight/dataflow/scope/ScopeUtil +instanceKlass com/intellij/sql/dialects/base/SqlParser$6 +instanceKlass com/intellij/sql/dialects/base/SqlParser$5 +instanceKlass com/intellij/lang/javascript/psi/types/recordImpl/PropertySignatureCommonImpl +instanceKlass com/intellij/sql/dialects/base/SqlParserUtil +instanceKlass com/intellij/lang/javascript/psi/JSRecordType$PropertySignature +instanceKlass com/jetbrains/python/psi/resolve/PyResolveProcessor +instanceKlass com/intellij/lang/impl/PsiBuilderAdapter +instanceKlass com/jetbrains/python/psi/resolve/PyResolveUtil +instanceKlass com/intellij/lang/BracePair +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptField +instanceKlass com/intellij/sql/psi/impl/SqlImplUtil$TokenSets +instanceKlass com/intellij/sql/psi/impl/support/SqlPairedBraceMatcher$MyPairedBraceMatcher +instanceKlass com/intellij/lang/javascript/psi/JSOptionalOwner +instanceKlass com/intellij/lang/javascript/psi/JSField +instanceKlass com/intellij/codeInsight/highlighting/PairedBraceMatcherAdapter +instanceKlass com/intellij/lang/PairedBraceMatcher +instanceKlass com/intellij/codeInsight/highlighting/NontrivialBraceMatcher +instanceKlass com/intellij/codeInsight/highlighting/BraceMatcher +instanceKlass com/jetbrains/python/psi/impl/stubs/PyNamedTupleStubImpl +instanceKlass com/jetbrains/python/psi/stubs/PyNamedTupleStub +instanceKlass com/intellij/spellchecker/dictionary/CustomDictionaryProvider +instanceKlass com/intellij/lang/typescript/TypeScriptElementTypes +instanceKlass com/jetbrains/python/toolbox/Maybe +instanceKlass com/intellij/lang/parser/GeneratedParserUtilBase$Frame +instanceKlass com/jetbrains/python/psi/impl/PropertyBunch +instanceKlass com/intellij/openapi/vfs/newvfs/VirtualFileFilteringListener +instanceKlass com/intellij/lang/parser/GeneratedParserUtilBase$Variant +instanceKlass com/intellij/spellchecker/CustomDictFileListener +instanceKlass com/intellij/lang/parser/GeneratedParserUtilBase$ErrorState +instanceKlass com/google/common/collect/Collections2 +instanceKlass com/intellij/lang/javascript/psi/JSBlockStatement +instanceKlass com/jetbrains/django/model/stubs/manager/DjangoManagerStubType$MyFieldShortNamesObtainer +instanceKlass com/intellij/sql/dialects/base/SqlCommonTypes +instanceKlass com/intellij/sql/dialects/base/SqlGeneratedParser +instanceKlass com/intellij/spellchecker/dictionary/UserDictionary +instanceKlass com/jetbrains/django/codeInsight/DjangoQuerySetStrategy +instanceKlass com/intellij/lang/WhitespacesBinders$4 +instanceKlass com/intellij/lang/WhitespacesBinders$3 +instanceKlass com/intellij/lang/javascript/JSElementTypes +instanceKlass com/intellij/sql/dialects/base/SqlGeneratedParserUtil$1 +instanceKlass com/intellij/lang/javascript/JSExtendedLanguagesTokenSetProvider +instanceKlass com/jetbrains/django/codeInsight/DjangoFromQuerySetAsManagerFilter +instanceKlass com/jetbrains/python/nameResolver/FQNamesProvider +instanceKlass com/intellij/spellchecker/state/DictionaryState +instanceKlass com/intellij/lang/javascript/parsing/JSArrowFunctionDetector +instanceKlass com/jetbrains/django/codeInsight/DjangoManagerStrategy +instanceKlass com/jetbrains/django/codeInsight/DjangoReturnCustomTypeStrategy +instanceKlass com/jetbrains/python/packaging/PyPackagesDictionary +instanceKlass com/jetbrains/python/psi/types/PyClassType +instanceKlass com/jetbrains/python/psi/types/PyClassLikeType +instanceKlass com/jetbrains/python/psi/types/PyInstantiableType +instanceKlass com/intellij/grazie/GraziePlugin +instanceKlass com/jetbrains/python/psi/types/PyCallableType +instanceKlass com/intellij/lang/javascript/parsing/JSParsingContextUtil +instanceKlass kotlin/io/LinesSequence$iterator$1 +instanceKlass com/jetbrains/python/FunctionParameter +instanceKlass com/intellij/lang/parser/GeneratedParserUtilBase$CompletionState +instanceKlass kotlin/io/LinesSequence +instanceKlass com/intellij/lang/javascript/parsing/modifiers/JSUnorderedModifiersStructure +instanceKlass com/jetbrains/python/psi/types/PyTypeProviderBase +instanceKlass com/intellij/grazie/spellcheck/GrazieDictionary +instanceKlass com/jetbrains/python/psi/impl/PyTypeProvider +instanceKlass com/jetbrains/python/packaging/PyPackagesDictionary$PyPackagesDictionaryProvider +instanceKlass com/intellij/searchEverywhereMl/typos/models/RuntimeActionsDictionaryProvider +instanceKlass com/intellij/spellchecker/grazie/dictionary/SimpleWordList$Companion +instanceKlass com/intellij/grazie/spellcheck/GrazieDictionaryProvider +instanceKlass com/intellij/spellchecker/grazie/dictionary/SimpleWordList +instanceKlass com/intellij/spellchecker/dictionary/RuntimeDictionaryProvider +instanceKlass com/intellij/sql/dialects/sql92/Sql92GeneratedParser +instanceKlass com/intellij/lang/javascript/parsing/JSXmlTokensParser$1 +instanceKlass com/intellij/lang/javascript/parsing/JSXmlTokensParser +instanceKlass com/intellij/spellchecker/grazie/async/WordListLoaderKt +instanceKlass com/intellij/spellchecker/grazie/async/AsyncUtils +instanceKlass com/intellij/sql/injection/SqlSuggestedInjection +instanceKlass com/jetbrains/python/psi/stubs/PyTypingAliasStub +instanceKlass com/jetbrains/python/psi/impl/stubs/CustomTargetExpressionStub +instanceKlass com/intellij/spellchecker/StreamLoader +instanceKlass com/intellij/spellchecker/dictionary/Loader +instanceKlass com/jetbrains/python/spellchecker/PythonBundledDictionaryProvider +instanceKlass org/jetbrains/vuejs/spellchecker/VueSpellcheckingDictionaryProvider +instanceKlass com/intellij/sql/dialects/base/SqlParser$3 +instanceKlass com/intellij/sql/dialects/base/SqlParser$2 +instanceKlass com/intellij/sql/dialects/base/SqlParser$1 +instanceKlass com/intellij/lang/javascript/highlighting/dictionary/JSDictionaryProvider +instanceKlass com/jetbrains/python/psi/impl/stubs/CustomTargetExpressionStubType +instanceKlass com/jetbrains/python/psi/impl/stubs/PyCustomStubType +instanceKlass com/intellij/lang/javascript/parsing/modifiers/JSModifiersStructureLeaf +instanceKlass com/intellij/lang/javascript/parsing/modifiers/JSCompositeModifiersStructure +instanceKlass com/intellij/sql/dialects/base/SqlParserUtil$ParserChoice +instanceKlass com/intellij/lang/javascript/parsing/JavaScriptParserBase$JSDocBinder +instanceKlass com/jetbrains/python/psi/PyExpressionStatement +instanceKlass com/intellij/lang/javascript/parsing/modifiers/JSModifiersStructure +instanceKlass com/intellij/docker/DockerDictionaryProvider +instanceKlass com/intellij/sql/dialects/base/SqlParser +instanceKlass com/intellij/swagger/core/SwBundledDictionaryProvider +instanceKlass com/intellij/lang/LightPsiParser +instanceKlass org/jetbrains/plugins/less/spellchecking/LessBundledDictionaryProvider +instanceKlass com/intellij/spellchecker/CssBundledDictionaryProvider +instanceKlass com/intellij/spellchecker/DefaultBundledDictionariesProvider +instanceKlass com/intellij/spellchecker/BundledDictionaryProvider +instanceKlass com/intellij/spellchecker/SpellCheckerManagerKt +instanceKlass com/intellij/spellchecker/grazie/GrazieSuggestionProvider +instanceKlass com/intellij/spellchecker/engine/SuggestionProvider +instanceKlass com/intellij/spellchecker/SpellCheckerManager$Companion +instanceKlass com/intellij/database/util/TokenPatternMatcher +instanceKlass com/jetbrains/python/psi/StructuredDocString +instanceKlass com/intellij/sql/psi/SqlCodeBlockElement +instanceKlass com/intellij/spellchecker/SpellCheckerManager +instanceKlass com/intellij/spellchecker/engine/SpellCheckerEngineListener +instanceKlass com/intellij/database/util/TokenPattern$Matcher +instanceKlass com/jetbrains/python/documentation/docstrings/DocStringLineParser +instanceKlass com/intellij/sql/psi/impl/lexer/PreprocessorMatchState +instanceKlass com/jetbrains/python/documentation/docstrings/DocStringUtil +instanceKlass ai/grazie/spell/GrazieSplittingSpeller +instanceKlass ai/grazie/spell/GrazieSplittingSpeller$UserConfig +instanceKlass com/intellij/model/BranchableSyntheticPsiElement +instanceKlass ai/grazie/spell/GrazieSpeller +instanceKlass ai/grazie/spell/Speller +instanceKlass ai/grazie/spell/GrazieSpeller$UserConfig$Model +instanceKlass com/jetbrains/python/psi/PyParenthesizedExpression +instanceKlass ai/grazie/spell/GrazieSpeller$UserConfig$Dictionary +instanceKlass ai/grazie/DataHolder$Key +instanceKlass com/google/common/primitives/IntsMethodsForWeb +instanceKlass com/intellij/lang/javascript/parsing/JavaScriptParserBase +instanceKlass ai/grazie/nlp/tokenizer/Tokenizer$Keys +instanceKlass ai/grazie/nlp/tokenizer/word/HeuristicWordTokenizer +instanceKlass ai/grazie/nlp/tokenizer/sequence/NonDestructiveCharSequenceTokenizer +instanceKlass ai/grazie/nlp/tokenizer/NonDestructiveTokenizer +instanceKlass ai/grazie/nlp/tokenizer/sequence/CharSequenceTokenizer +instanceKlass ai/grazie/nlp/tokenizer/Tokenizer +instanceKlass dk/brics/automaton/StatePair +instanceKlass com/intellij/lang/javascript/parsing/JSXmlParser +instanceKlass com/google/common/collect/Lists +instanceKlass ai/grazie/spell/GrazieSpeller$UserConfig +instanceKlass com/intellij/lang/javascript/JavascriptParserDefinition$1 +instanceKlass ai/grazie/spell/language/LanguageModel$Companion +instanceKlass com/jetbrains/NotNullPredicate +instanceKlass ai/grazie/spell/language/LanguageModel +instanceKlass ai/grazie/nlp/utils/normalization/StripAccentsNormalizer +instanceKlass ai/grazie/nlp/utils/normalization/Normalizer +instanceKlass com/jetbrains/python/psi/PyArgumentList +instanceKlass ai/grazie/spell/suggestion/filter/feature/RadiusSuggestionFilter +instanceKlass ai/grazie/spell/suggestion/filter/SuggestionFilter +instanceKlass ai/grazie/spell/suggestion/ranker/FrequencySuggestionRanker +instanceKlass ai/grazie/nlp/phonetics/metaphone/DoubleMetaphone$Companion +instanceKlass ai/grazie/nlp/phonetics/metaphone/DoubleMetaphone +instanceKlass ai/grazie/nlp/phonetics/PhoneticEncoder +instanceKlass ai/grazie/spell/suggestion/ranker/PhoneticSuggestionRanker +instanceKlass ai/grazie/spell/suggestion/ranker/LevenshteinSuggestionRanker +instanceKlass ai/grazie/spell/suggestion/ranker/JaroWinklerSuggestionRanker +instanceKlass ai/grazie/spell/suggestion/ranker/LinearAggregatingSuggestionRanker +instanceKlass ai/grazie/spell/suggestion/ranker/SuggestionRanker +instanceKlass ai/grazie/spell/dictionary/RuleDictionary$Aggregated +instanceKlass ai/grazie/spell/dictionary/rule/ReplacingRuleDictionary +instanceKlass com/intellij/psi/PsiErrorElement +instanceKlass com/intellij/psi/SyntaxTraverser$ApiEx$1 +instanceKlass com/intellij/psi/SyntaxTraverser$Api$3 +instanceKlass com/intellij/psi/SyntaxTraverser$Api$2 +instanceKlass com/intellij/psi/SyntaxTraverser$Api$1 +instanceKlass com/intellij/psi/SyntaxTraverser$Api +instanceKlass com/intellij/psi/impl/source/SourceTreeToPsiMap +instanceKlass ai/grazie/spell/dictionary/rule/ReplacingRuleDictionary$Descriptor +instanceKlass ai/grazie/spell/utils/UtilsKt +instanceKlass com/intellij/psi/search/PsiElementProcessor$FindElement +instanceKlass com/intellij/psi/search/PsiElementProcessor$CollectElements +instanceKlass com/intellij/psi/util/PsiTreeUtil +instanceKlass dk/brics/automaton/AutomatonMatcher +instanceKlass dk/brics/automaton/MinimizationOperations$IntPair +instanceKlass dk/brics/automaton/MinimizationOperations$StateListNode +instanceKlass dk/brics/automaton/MinimizationOperations$StateList +instanceKlass dk/brics/automaton/TransitionComparator +instanceKlass com/jetbrains/python/psi/PyAssignmentStatement +instanceKlass dk/brics/automaton/MinimizationOperations +instanceKlass com/intellij/psi/css/descriptor/CssPseudoElementDescriptor +instanceKlass dk/brics/automaton/BasicOperations +instanceKlass dk/brics/automaton/Transition +instanceKlass dk/brics/automaton/State +instanceKlass dk/brics/automaton/Automaton +instanceKlass dk/brics/automaton/BasicAutomata +instanceKlass ai/grazie/utils/mpp/DataLoader$Path +instanceKlass dk/brics/automaton/RegExp$1 +instanceKlass dk/brics/automaton/DatatypesAutomatonProvider +instanceKlass ai/grazie/utils/mpp/FromResourcesDataLoader +instanceKlass ai/grazie/utils/mpp/RootStreamDataLoader +instanceKlass ai/grazie/utils/mpp/RootDataLoader +instanceKlass ai/grazie/utils/mpp/StreamDataLoader +instanceKlass ai/grazie/utils/mpp/DataLoader +instanceKlass com/intellij/database/util/TokenPattern$BricsRegexConverter +instanceKlass dk/brics/automaton/RegExp +instanceKlass ai/grazie/spell/utils/DictionaryResources +instanceKlass dk/brics/automaton/RunAutomaton +instanceKlass com/intellij/psi/util/QualifiedName +instanceKlass dk/brics/automaton/AutomatonProvider +instanceKlass ai/grazie/utils/mpp/TextRegex +instanceKlass com/intellij/database/csv/PersistentCsvFormat$Quotes +instanceKlass com/intellij/database/csv/PersistentCsvFormat$1 +instanceKlass com/jetbrains/python/psi/impl/PyPsiUtils +instanceKlass com/intellij/database/csv/PersistentCsvFormat$Record +instanceKlass com/intellij/database/csv/CsvRecordFormat +instanceKlass com/intellij/database/csv/CsvRecordFormat$Quotes +instanceKlass com/intellij/database/csv/CsvFormats +instanceKlass com/intellij/database/csv/CsvFormat +instanceKlass com/intellij/database/csv/PersistentCsvFormat +instanceKlass com/intellij/database/settings/ExtraParametersProvider +instanceKlass com/intellij/database/settings/DatabaseParameterPatternProvider +instanceKlass com/jetbrains/python/psi/PyReferenceExpression +instanceKlass com/intellij/database/settings/UserPatterns$ParameterPattern +instanceKlass com/intellij/database/settings/UserPatterns$Predef +instanceKlass com/intellij/database/util/TokenPattern +instanceKlass com/intellij/database/util/TokenPatternCache +instanceKlass com/intellij/database/settings/UserPatterns +instanceKlass com/intellij/util/containers/JBIterator$CountDown +instanceKlass com/intellij/psi/css/descriptor/CssPseudoClassDescriptor +instanceKlass com/intellij/database/settings/DatabaseSettings$ExecOption +instanceKlass com/intellij/psi/css/CssTermType$2 +instanceKlass com/intellij/psi/css/CssTermType$1 +instanceKlass com/intellij/psi/css/CssTermType +instanceKlass com/intellij/database/settings/DatabaseSettings +instanceKlass com/intellij/database/settings/DataGridAppearanceSettings +instanceKlass com/intellij/database/csv/CsvFormatsSettings +instanceKlass com/intellij/database/settings/DataGridSettings +instanceKlass com/jetbrains/python/psi/PyIfStatement +instanceKlass com/jetbrains/python/psi/PyStatementWithElse +instanceKlass com/intellij/lexer/MutableRandomAccessQueue +instanceKlass com/jetbrains/python/psi/PyExpressionCodeFragment +instanceKlass kotlin/text/FlagEnum +instanceKlass com/intellij/sql/dialects/base/_SqlLexer +instanceKlass com/intellij/ide/OccurenceNavigator$1 +instanceKlass com/intellij/execution/filters/HyperlinkInfo +instanceKlass com/intellij/openapi/editor/ex/FoldingListener +instanceKlass com/jetbrains/python/console/actions/CommandQueueListener +instanceKlass com/intellij/execution/impl/ConsoleState +instanceKlass com/intellij/execution/ConsoleFolding +instanceKlass com/intellij/openapi/editor/ex/EditorPopupHandler +instanceKlass com/intellij/execution/impl/ConsoleViewImpl$FlushRunnable +instanceKlass com/intellij/lang/parser/GeneratedParserUtilBase$Hook +instanceKlass com/jetbrains/python/console/PyTargetedCodeExecutor +instanceKlass com/jetbrains/python/console/PyCodeExecutor +instanceKlass com/intellij/lang/parser/GeneratedParserUtilBase$Parser +instanceKlass ai/grazie/nlp/patterns/AhoCorasickPattern$TrieNode +instanceKlass ai/grazie/utils/CollectionFactory +instanceKlass ai/grazie/utils/CollectionsKt +instanceKlass com/intellij/lang/parser/GeneratedParserUtilBase +instanceKlass com/intellij/sql/psi/IsImpure +instanceKlass ai/grazie/nlp/patterns/AhoCorasickPattern$AhoCorasickBuilder$AutomataBuilderNode +instanceKlass ai/grazie/nlp/patterns/AhoCorasickPattern$AhoCorasickBuilder +instanceKlass sun/java2d/pipe/SpanClipRenderer$SCRcontext +instanceKlass io/grpc/netty/shaded/io/netty/buffer/DefaultByteBufHolder +instanceKlass ai/grazie/nlp/patterns/AhoCorasickPattern +instanceKlass sun/nio/ch/IOVecWrapper$Deallocator +instanceKlass sun/nio/ch/NativeObject +instanceKlass kotlin/text/_OneToManyTitlecaseMappingsKt +instanceKlass com/jetbrains/python/validation/PyMultiplePsiFilesVisitorFilter +instanceKlass sun/nio/ch/IOVecWrapper +instanceKlass ai/grazie/utils/TextKt +instanceKlass com/jetbrains/python/inspections/PyExpressionCodeFragmentVisitorFilter +instanceKlass com/jetbrains/python/console/ConsoleVisitorFilter +instanceKlass io/grpc/netty/shaded/io/netty/channel/socket/ChannelInputShutdownEvent +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2ConnectionPrefaceAndSettingsFrameWrittenEvent +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/CharObjectHashMap$PrimitiveIterator +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/CharObjectMap$PrimitiveEntry +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2Flags +instanceKlass com/jetbrains/python/psi/PythonVisitorFilter +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/logging/AbstractInternalLogger$1 +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelFutureListener$3 +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelFutureListener$2 +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelFutureListener$1 +instanceKlass ai/grazie/nlp/patterns/ext/AbbreviationPatterns +instanceKlass io/grpc/netty/shaded/io/netty/channel/DelegatingChannelPromiseNotifier +instanceKlass com/intellij/database/model/NameValueGetter +instanceKlass com/intellij/database/model/SqlObjectBuilder$Context +instanceKlass io/grpc/InternalChannelz$Tls +instanceKlass io/grpc/InternalChannelz$Security +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslCompletionEvent +instanceKlass com/intellij/ide/plugins/auth/PluginRepositoryAuthProvider +instanceKlass ai/grazie/nlp/patterns/Pattern$Exclusion +instanceKlass ai/grazie/nlp/patterns/standard/LikelyPatterns$IsURL$1 +instanceKlass com/intellij/ide/plugins/auth/PluginRepositoryAuthService +instanceKlass com/jetbrains/python/PyIndexPatternBuilder +instanceKlass com/intellij/psi/impl/search/IndexPatternBuilder +instanceKlass ai/grazie/nlp/patterns/standard/LikelyPatterns +instanceKlass ai/grazie/nlp/patterns/Pattern$After +instanceKlass ai/grazie/nlp/patterns/Pattern$Before +instanceKlass ai/grazie/nlp/patterns/AggregatedPattern +instanceKlass com/intellij/util/io/HttpRequests$ConnectionTuner +instanceKlass com/intellij/psi/impl/cache/impl/OccurrenceConsumer +instanceKlass ai/grazie/nlp/patterns/Pattern$Companion +instanceKlass ai/grazie/nlp/patterns/RegexPattern +instanceKlass ai/grazie/nlp/patterns/Pattern +instanceKlass com/intellij/psi/impl/cache/impl/BaseFilterLexerUtil +instanceKlass ai/grazie/nlp/patterns/standard/StrictPatterns +instanceKlass ai/grazie/nlp/patterns/LambdaMatchPattern +instanceKlass ai/grazie/nlp/patterns/MatchPattern +instanceKlass ai/grazie/spell/dictionary/rule/IgnoreRuleDictionary$Companion +instanceKlass com/intellij/ide/plugins/marketplace/utils/MarketplaceUrls +instanceKlass ai/grazie/spell/dictionary/rule/IgnoreRuleDictionary +instanceKlass ai/grazie/spell/dictionary/RuleDictionary +instanceKlass ai/grazie/nlp/langs/Language$Companion +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateChain +instanceKlass com/intellij/util/graph/impl/ShortestPathFinder +instanceKlass com/intellij/psi/css/impl/descriptor/value/CssValueDescriptorVisitorImpl +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateStrategy$patches$graph$1 +instanceKlass kotlin/sequences/TakeWhileSequence$iterator$1 +instanceKlass kotlin/sequences/TakeWhileSequence +instanceKlass com/intellij/psi/css/descriptor/CssPseudoSelectorDescriptor +instanceKlass com/jetbrains/clones/structures/HashFragment +instanceKlass com/intellij/psi/css/CssPropertyDescriptor +instanceKlass com/intellij/psi/css/CssMediaGroupAwareDescriptor +instanceKlass com/intellij/psi/css/descriptor/value/CssValueDescriptorVisitor +instanceKlass com/jetbrains/clones/core/NodeInfo +instanceKlass com/jetbrains/clones/core/NodeHash +instanceKlass com/intellij/psi/css/impl/util/scheme/CssValueDescriptorModificator +instanceKlass com/intellij/sql/psi/IsExternal +instanceKlass com/jetbrains/clones/core/CommonUtilsKt +instanceKlass com/google/common/base/NullnessCasts +instanceKlass com/google/common/base/AbstractIterator$1 +instanceKlass ai/grazie/nlp/langs/alphabet/Alphabet$Group$Companion +instanceKlass com/jetbrains/clones/core/NodeState +instanceKlass com/google/common/base/Splitter$5 +instanceKlass com/intellij/sql/psi/SqlImplicitDeclarationsProvider +instanceKlass com/intellij/psi/impl/source/tree/LightTreeUtil +instanceKlass ai/grazie/nlp/langs/alphabet/Alphabet$Companion +instanceKlass ai/grazie/nlp/langs/alphabet/Alphabet +instanceKlass com/intellij/sql/psi/SqlReferenceExpression +instanceKlass ai/grazie/nlp/langs/LanguageISO$Companion +instanceKlass com/jetbrains/cython/psi/elementTypes/CythonElementTypes +instanceKlass com/jetbrains/clones/languagescope/PyDuplicateScope$Lazy +instanceKlass com/intellij/psi/css/impl/descriptor/value/CssGroupValue$1 +instanceKlass com/google/common/base/Joiner +instanceKlass org/apache/lucene/analysis/hunspell/FlagEnumerator$Lookup +instanceKlass com/intellij/sql/dialects/base/TokenClasses +instanceKlass com/intellij/psi/css/impl/descriptor/CssElementDescriptorBase +instanceKlass com/intellij/psi/css/impl/descriptor/value/CssValueDescriptorData +instanceKlass com/intellij/openapi/updateSettings/impl/PlatformUpdates +instanceKlass com/intellij/psi/css/impl/util/scheme/CssSchemeConstants +instanceKlass com/google/common/base/Platform$JdkPatternCompiler +instanceKlass com/google/common/base/PatternCompiler +instanceKlass com/google/common/base/Platform +instanceKlass com/google/common/base/Strings +instanceKlass com/intellij/psi/css/impl/util/scheme/CssDescriptorsLoader$1 +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateStrategy$checkForUpdates$$inlined$sortedBy$1 +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateStrategy +instanceKlass com/intellij/lang/WhitespacesAndCommentsBinder$RecursiveBinder +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$RelativeTokenTextView +instanceKlass com/github/weisj/jsvg/cC +instanceKlass com/intellij/ide/SelectInManager$SelectInTargetComparator +instanceKlass com/intellij/database/view/SelectInDatabaseView +instanceKlass org/jetbrains/plugins/terminal/view/SelectInTerminal +instanceKlass org/intellij/images/thumbnail/impl/ThumbnailSelectInTarget +instanceKlass com/jetbrains/plugins/webDeployment/RemoteHostSelectInTarget +instanceKlass com/intellij/openapi/vcs/changes/SelectInChangesViewTarget +instanceKlass com/intellij/ide/bookmark/ui/BookmarksSelectInTarget +instanceKlass com/intellij/psi/css/impl/util/scheme/CssDescriptorsHolder +instanceKlass com/google/common/base/AbstractIterator +instanceKlass com/intellij/ide/impl/ProjectViewSelectInExplorerTarget +instanceKlass com/google/common/base/Splitter$1 +instanceKlass com/intellij/ide/impl/StructureViewSelectInTarget +instanceKlass com/intellij/ide/impl/ProjectViewSelectInGroupTarget +instanceKlass com/intellij/ide/browsers/actions/SelectInDefaultBrowserTarget +instanceKlass com/intellij/coverage/view/SelectInCoverageView +instanceKlass com/intellij/lang/WhitespacesBinders$2 +instanceKlass com/intellij/lang/WhitespacesBinders$1 +instanceKlass com/intellij/lang/WhitespacesBinders +instanceKlass com/jetbrains/python/parsing/FollowingCommentBinder +instanceKlass com/jetbrains/python/parsing/LeadingCommentsBinder +instanceKlass com/google/common/base/CharMatcher +instanceKlass com/jetbrains/python/parsing/StatementParsing$ImportTypes +instanceKlass com/google/common/base/Splitter$Strategy +instanceKlass com/google/common/base/Splitter +instanceKlass com/intellij/psi/css/impl/util/scheme/CssDescriptorsLoader +instanceKlass com/intellij/util/indexing/diagnostic/presentation/JsonToHtmlConverterKt$createAggregateActivityHtml$lambda$76$lambda$75$lambda$74$lambda$65$lambda$64$lambda$63$$inlined$sortedByDescending$1 +instanceKlass com/intellij/util/indexing/diagnostic/presentation/JsonToHtmlConverterKt$createAggregateActivityHtml$lambda$76$lambda$75$lambda$74$lambda$53$lambda$52$lambda$51$$inlined$sortedByDescending$1 +instanceKlass net/n3/nanoxml/XMLUtil +instanceKlass com/jetbrains/python/parsing/ParsingScope +instanceKlass com/intellij/util/xml/NanoXmlUtil$EmptyEntityResolver +instanceKlass net/n3/nanoxml/NonValidator +instanceKlass com/intellij/openapi/actionSystem/ex/TooltipLinkProvider$TooltipLink +instanceKlass com/intellij/util/indexing/diagnostic/ChangedFilesPushedDiagnostic +instanceKlass net/n3/nanoxml/XMLEntityResolver +instanceKlass com/intellij/icons/AllIcons$Xml$Browsers +instanceKlass com/intellij/openapi/updateSettings/impl/PatchInfo$Companion +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslHandler$SslTasksRunner$2 +instanceKlass com/intellij/ui/AncestorListenerAdapter +instanceKlass com/intellij/openapi/updateSettings/impl/PatchInfo +instanceKlass com/intellij/openapi/util/BuildRange +instanceKlass net/n3/nanoxml/StdXMLParser +instanceKlass com/intellij/openapi/updateSettings/impl/BuildInfo +instanceKlass net/n3/nanoxml/IXMLParser +instanceKlass com/intellij/psi/css/descriptor/BrowserVersion +instanceKlass com/intellij/ui/GotItTooltip$Companion +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateChannel +instanceKlass net/n3/nanoxml/XMLElement +instanceKlass com/intellij/openapi/updateSettings/impl/Product +instanceKlass com/intellij/psi/css/impl/descriptor/CssCommonDescriptorData +instanceKlass net/n3/nanoxml/IXMLElement +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateData +instanceKlass net/n3/nanoxml/StdXMLBuilder +instanceKlass sun/security/ssl/SSLEngineImpl$DelegatedTask$DelegatedAction +instanceKlass net/n3/nanoxml/XMLParserFactory +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/AsyncRunnable +instanceKlass sun/security/ssl/SSLEngineImpl$DelegatedTask +instanceKlass net/n3/nanoxml/StdXMLReader$StackedReader +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/ImmediateExecutor +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolbar/ToolbarActionTrackingPopup$Companion +instanceKlass com/jetbrains/python/psi/PyTypeAliasStatement +instanceKlass sun/security/ssl/Alert$AlertConsumer +instanceKlass com/intellij/psi/css/descriptor/value/CssAnyValue +instanceKlass com/intellij/psi/css/descriptor/value/CssValueDescriptor +instanceKlass com/jetbrains/python/psi/stubs/PyTypeAliasStatementStub +instanceKlass com/intellij/psi/css/descriptor/CssFunctionDescriptor +instanceKlass com/intellij/psi/css/descriptor/CssNavigableDescriptor +instanceKlass com/jetbrains/python/psi/PyTypeParameterList +instanceKlass net/n3/nanoxml/StdXMLReader +instanceKlass com/intellij/psi/css/descriptor/CssValueOwnerDescriptor +instanceKlass com/intellij/psi/css/descriptor/CssElementDescriptor +instanceKlass com/jetbrains/python/psi/stubs/PyTypeParameterListStub +instanceKlass com/intellij/util/indexing/diagnostic/IndexDiagnosticDumper$deleteOutdatedActivityDiagnostics$$inlined$sortedByDescending$1 +instanceKlass com/jetbrains/python/psi/PyTypeParameter +instanceKlass com/intellij/util/indexing/diagnostic/IndexDiagnosticDumper$ExistingIndexingActivityDiagnostic +instanceKlass com/jetbrains/python/psi/stubs/PyTypeParameterStub +instanceKlass com/intellij/util/xml/NanoXmlUtil$BaseXmlBuilder +instanceKlass com/intellij/util/xml/NanoXmlBuilder +instanceKlass com/jetbrains/python/psi/PyTargetExpression +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/CodecOutputList$CodecOutputLists +instanceKlass com/jetbrains/python/psi/PyReferenceOwner +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/CodecOutputList$1 +instanceKlass com/jetbrains/python/psi/PyQualifiedExpression +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/CodecOutputList$CodecOutputListRecycler +instanceKlass com/jetbrains/python/psi/stubs/PyTargetExpressionStub +instanceKlass com/intellij/sql/dialects/functions/_FunctionLexer +instanceKlass com/jetbrains/python/psi/PyImportStatement +instanceKlass com/jetbrains/python/psi/stubs/PyImportStatementStub +instanceKlass com/jetbrains/python/psi/PyFromImportStatement +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle$1 +instanceKlass com/jetbrains/python/psi/PyImportStatementBase +instanceKlass io/grpc/netty/shaded/io/netty/util/UncheckedBooleanSupplier +instanceKlass io/grpc/netty/shaded/io/netty/util/BooleanSupplier +instanceKlass net/n3/nanoxml/IXMLEntityResolver +instanceKlass net/n3/nanoxml/IXMLValidator +instanceKlass com/jetbrains/python/psi/stubs/PyFromImportStatementStub +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle +instanceKlass io/grpc/netty/shaded/io/netty/channel/RecvByteBufAllocator$ExtendedHandle +instanceKlass com/intellij/psi/css/impl/util/scheme/CssElementDescriptorFactory2 +instanceKlass com/jetbrains/python/psi/PyExceptPart +instanceKlass com/jetbrains/python/psi/PyStatementPart +instanceKlass com/jetbrains/python/psi/stubs/PyExceptPartStub +instanceKlass com/intellij/execution/ui/RunContentDescriptor +instanceKlass com/jetbrains/python/psi/PyStarImportElement +instanceKlass com/intellij/util/indexing/diagnostic/IndexDiagnosticDumper$parseExistingIndexingActivityDiagnostics$1$2$WhenMappings +instanceKlass com/jetbrains/python/psi/PyImplicitImportNameDefiner +instanceKlass com/fasterxml/jackson/databind/util/CompactStringObjectMap +instanceKlass com/jetbrains/python/psi/stubs/PyStarImportElementStub +instanceKlass com/intellij/execution/impl/ExecutionManagerImpl$1 +instanceKlass com/jetbrains/python/psi/PyAnnotation +instanceKlass com/fasterxml/jackson/annotation/JsonEnumDefaultValue +instanceKlass com/intellij/openapi/fileTypes/SyntaxHighlighterLanguageFactory$MyEPListener +instanceKlass com/intellij/execution/runToolbar/RunToolbarShortcutHelper +instanceKlass com/intellij/openapi/wm/impl/FrameTitleBuilder +instanceKlass com/intellij/execution/runToolbar/data/RWActiveListener +instanceKlass com/fasterxml/jackson/databind/util/EnumResolver +instanceKlass com/jetbrains/python/psi/stubs/PyAnnotationStub +instanceKlass com/intellij/execution/impl/ExecutionManagerImpl$Companion +instanceKlass com/jetbrains/python/psi/PyImportElement +instanceKlass com/jetbrains/python/psi/PyImportedNameDefiner +instanceKlass com/jetbrains/python/psi/stubs/PyImportElementStub +instanceKlass com/intellij/util/xml/NanoXmlUtil +instanceKlass com/jetbrains/python/psi/PyDecorator +instanceKlass com/intellij/execution/StoppableRunDescriptorsKt +instanceKlass com/intellij/ide/highlighter/EmbeddedTokenHighlighter +instanceKlass com/jetbrains/python/psi/PyCallExpression +instanceKlass com/intellij/execution/ExecutorRegistryImpl$RunCurrentFileActionStatus +instanceKlass com/jetbrains/python/psi/PyCallSiteExpression +instanceKlass com/intellij/execution/ui/RunWidgetManager$Companion +instanceKlass com/jetbrains/python/psi/stubs/PyDecoratorStub +instanceKlass com/intellij/execution/ui/RunWidgetManager +instanceKlass com/jetbrains/python/psi/PySingleStarParameter +instanceKlass com/intellij/sql/dialects/functions/SqlFunctionDefinitionParser +instanceKlass com/jetbrains/python/psi/stubs/PySingleStarParameterStub +instanceKlass com/jetbrains/python/psi/PySlashParameter +instanceKlass com/jetbrains/python/psi/stubs/PySlashParameterStub +instanceKlass com/intellij/sql/dialects/functions/SqlFunctionsUtil$BuiltinFunctionsMap +instanceKlass com/jetbrains/python/psi/PyTupleParameter +instanceKlass com/jetbrains/python/psi/stubs/PyTupleParameterStub +instanceKlass com/intellij/execution/runToolbar/RWProcessController +instanceKlass com/jetbrains/python/psi/PyNamedParameter +instanceKlass com/intellij/execution/runToolbar/data/RWActiveProcesses +instanceKlass com/jetbrains/python/psi/stubs/PyNamedParameterStub +instanceKlass com/intellij/database/dialects/base/TypeNames +instanceKlass com/jetbrains/python/psi/PyDecoratorList +instanceKlass com/jetbrains/python/psi/stubs/PyDecoratorListStub +instanceKlass com/intellij/database/dialects/base/TypeHelper +instanceKlass com/jetbrains/python/psi/PyParameterList +instanceKlass com/jetbrains/python/psi/stubs/PyParameterListStub +instanceKlass com/jetbrains/python/psi/PyClass +instanceKlass com/intellij/database/dialects/DatabaseDialectEx +instanceKlass com/jetbrains/python/psi/PyWithAncestors +instanceKlass com/jetbrains/python/psi/impl/stubs/PyCustomStub +instanceKlass com/jetbrains/python/psi/stubs/PyClassStub +instanceKlass com/intellij/lang/javascript/_JSDocLexer +instanceKlass com/intellij/execution/runToolbar/SlotDate$Companion +instanceKlass com/jetbrains/python/psi/PyFunction +instanceKlass com/intellij/execution/runToolbar/SlotDate +instanceKlass com/intellij/execution/runToolbar/RunToolbarData +instanceKlass kotlinx/html/Unsafe$DefaultImpls +instanceKlass com/intellij/database/dialects/DatabaseDialects +instanceKlass com/jetbrains/python/psi/PyTypeParameterListOwner +instanceKlass com/intellij/execution/runToolbar/data/RWListenersController +instanceKlass com/jetbrains/python/psi/PyAnnotationOwner +instanceKlass com/jetbrains/python/psi/PyTypeCommentOwner +instanceKlass com/intellij/openapi/editor/XmlHighlighterColors +instanceKlass com/intellij/database/util/Case$1 +instanceKlass com/jetbrains/python/psi/PyPossibleClassMember +instanceKlass com/jetbrains/python/psi/PyStatementListContainer +instanceKlass com/intellij/execution/runToolbar/RunToolbarSettings$Companion +instanceKlass com/jetbrains/python/psi/PyDecoratable +instanceKlass com/jetbrains/python/psi/PyCompoundStatement +instanceKlass com/intellij/database/dialects/base/generator/AbstractNamingService +instanceKlass com/intellij/lang/javascript/JSDocTokenTypes +instanceKlass com/jetbrains/python/psi/stubs/PyFunctionStub +instanceKlass com/jetbrains/python/psi/stubs/PyTypeCommentOwnerStub +instanceKlass com/jetbrains/python/psi/stubs/PyAnnotationOwnerStub +instanceKlass com/intellij/psi/StringEscapesTokenTypes +instanceKlass com/jetbrains/python/PyElementTypes +instanceKlass sun/util/locale/provider/CalendarDataUtility$CalendarFieldValueNameGetter +instanceKlass com/intellij/execution/runToolbar/data/RWSlotsConfigurationListener +instanceKlass com/intellij/database/script/generator/NamingService +instanceKlass com/intellij/execution/runToolbar/RunToolbarSlotManager$Companion +instanceKlass com/intellij/lang/WhitespacesAndCommentsBinder +instanceKlass sun/util/resources/LocaleData$2 +instanceKlass com/intellij/openapi/wm/impl/status/IdeStatusBarImpl$sortRightWidgets$3$1 +instanceKlass com/intellij/lang/javascript/highlighting/JavaScriptHighlightDescriptor$1 +instanceKlass java/util/concurrent/atomic/AtomicMarkableReference$Pair +instanceKlass com/intellij/database/dialects/generic/naming/GenericNamingService$Provider +instanceKlass com/intellij/database/script/generator/NamingService$Provider +instanceKlass java/util/concurrent/atomic/AtomicMarkableReference +instanceKlass com/intellij/execution/runToolbar/RunToolbarSlotManager +instanceKlass com/jetbrains/python/parsing/Parsing +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkCollector$collectSdksUnderReadAction$$inlined$sortedBy$1 +instanceKlass com/intellij/lang/javascript/highlighting/JSHighlightDescriptor +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkContributor +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkCollectorKt +instanceKlass com/jetbrains/python/parsing/ParsingContext +instanceKlass sun/util/locale/provider/CalendarNameProviderImpl$LengthBasedComparator +instanceKlass com/intellij/openapi/roots/ModuleJdkOrderEntry +instanceKlass com/intellij/openapi/roots/libraries/Library$ModifiableModel +instanceKlass sun/util/locale/provider/CalendarDataUtility$CalendarFieldValueNamesMapGetter +instanceKlass com/intellij/sql/dialects/SqlTypeSystemBase$2 +instanceKlass com/intellij/database/types/DasSimpleTypeClass +instanceKlass com/intellij/openapi/fileTypes/SyntaxHighlighterBase +instanceKlass com/intellij/database/types/DasArrayTypeImpl$Companion +instanceKlass com/intellij/database/types/DasArrayTypeBase +instanceKlass com/intellij/database/types/DasArrayType +instanceKlass com/intellij/openapi/externalSystem/service/project/IdeModelsProviderImpl +instanceKlass com/intellij/execution/ExecutionTargetManagerImpl$2 +instanceKlass kotlin/collections/ArraysKt___ArraysKt$asIterable$$inlined$Iterable$1 +instanceKlass com/intellij/ui/tree/BgtTreeWalker$VisitingNode$WhenMappings +instanceKlass com/intellij/openapi/externalSystem/service/project/IdeModifiableModelsProvider +instanceKlass com/intellij/execution/ExecutionTarget +instanceKlass com/intellij/openapi/externalSystem/service/project/IdeModelsProvider +instanceKlass com/intellij/execution/ExecutionTargetListener +instanceKlass com/intellij/openapi/wm/impl/status/ToggleReadOnlyAttributePanel$1 +instanceKlass com/intellij/openapi/wm/impl/status/ToggleReadOnlyAttributePanel +instanceKlass com/intellij/openapi/wm/IconWidgetPresentation +instanceKlass com/intellij/database/types/DasTypeFacade +instanceKlass com/intellij/database/types/DasSimpleBuiltinType$Companion +instanceKlass com/intellij/database/types/DasSimpleBuiltinType +instanceKlass com/intellij/database/types/DasTypeServiceBase$Companion +instanceKlass com/intellij/database/types/DasTypeServiceBase +instanceKlass com/intellij/database/types/DasTypeService +instanceKlass com/intellij/database/types/DasSimpleBuiltinTypeClass$Companion +instanceKlass com/jetbrains/rd/ide/model/RowIconModel$Companion +instanceKlass org/jetbrains/idea/perforce/application/PerforceShelf +instanceKlass com/intellij/database/types/DasBuiltinTypeClassBase +instanceKlass com/intellij/database/types/DasBuiltinTypeClass +instanceKlass kotlinx/html/CommonAttributeGroupFacadeFlowHeadingPhrasingContent +instanceKlass kotlinx/html/CommonAttributeGroupFacadeFlowHeadingContent +instanceKlass kotlinx/html/HeadingContent +instanceKlass kotlinx/html/Gen_attr_traitsKt +instanceKlass com/intellij/database/types/DasDataBuiltinType$Companion +instanceKlass com/intellij/database/types/DasDataBuiltinType +instanceKlass com/intellij/database/types/DasBuiltinType +instanceKlass org/jetbrains/idea/perforce/application/PerforceClientRootsChecker +instanceKlass com/intellij/sql/psi/impl/SqlTypeFactory +instanceKlass com/intellij/openapi/externalSystem/ExternalSystemModulePropertyManager$Companion +instanceKlass com/intellij/openapi/externalSystem/ExternalSystemModulePropertyManager +instanceKlass com/intellij/database/types/DasTypeInternerKt +instanceKlass com/jetbrains/rd/ide/model/ImageIconInternWrapper$Companion +instanceKlass com/intellij/database/types/DasUnresolvedTypeReference$Companion +instanceKlass com/jetbrains/rd/ide/model/ImageIconInternWrapper +instanceKlass com/intellij/database/types/DasTypeReferenceBase +instanceKlass org/jetbrains/idea/perforce/application/P4RootsInformation +instanceKlass com/intellij/database/types/DasTypeClass +instanceKlass com/intellij/openapi/externalSystem/ExternalProjectSystemRegistryImpl +instanceKlass com/intellij/database/types/DasTypeReference +instanceKlass com/jetbrains/rd/ide/model/ImageIconModel$Companion +instanceKlass com/jetbrains/rd/ide/model/IconModel$Companion +instanceKlass com/jetbrains/rd/framework/IAbstractDeclaration +instanceKlass org/jetbrains/idea/perforce/application/PerforceBaseInfoWorker +instanceKlass kotlinx/html/attributes/EnumEncoder +instanceKlass com/intellij/openapi/roots/ExternalProjectSystemRegistry +instanceKlass com/intellij/database/util/DbUtil +instanceKlass com/intellij/database/model/DataType +instanceKlass com/intellij/database/model/LengthUnit +instanceKlass org/jetbrains/idea/perforce/application/ClientRootsCache +instanceKlass com/intellij/database/model/properties/DataTypeFactory$TypeAsParts +instanceKlass com/google/common/collect/SortedSetMultimap +instanceKlass com/intellij/database/model/properties/DataTypeFactory$Trio +instanceKlass com/google/common/collect/ListMultimap +instanceKlass org/jetbrains/idea/perforce/application/PerforceManager$1 +instanceKlass com/jetbrains/python/lexer/PythonIndentingProcessor$PendingToken +instanceKlass com/google/common/collect/Multimaps +instanceKlass com/intellij/database/model/properties/DataTypeFactory +instanceKlass com/google/common/collect/MultimapBuilder$HashSetSupplier +instanceKlass com/google/common/base/Supplier +instanceKlass org/jetbrains/idea/perforce/perforce/login/Notifier +instanceKlass sun/net/www/protocol/jar/JarFileFactory +instanceKlass sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController +instanceKlass com/intellij/sql/dialects/functions/SqlFunctionDefinition$Type +instanceKlass com/intellij/lang/impl/TokenSequence$Builder +instanceKlass kotlinx/html/AttributeEnum +instanceKlass com/google/common/collect/MultimapBuilder$MultimapBuilderWithKeys +instanceKlass kotlin/io/TextStreamsKt +instanceKlass com/intellij/lang/impl/TokenSequence +instanceKlass kotlinx/html/Gen_enumsKt +instanceKlass com/intellij/util/Consumer$1 +instanceKlass com/intellij/lexer/TokenList +instanceKlass com/google/common/collect/MultimapBuilder +instanceKlass com/intellij/openapi/fileTypes/SyntaxHighlighter +instanceKlass com/intellij/util/EmptyConsumer +instanceKlass com/intellij/sql/psi/SqlExpression +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$Token +instanceKlass com/intellij/sql/psi/SqlDasTypeAwareElement +instanceKlass com/intellij/lang/LighterLazyParseableNode +instanceKlass com/intellij/openapi/fileTypes/SyntaxHighlighterFactory +instanceKlass kotlinx/html/attributes/TickerEncoder +instanceKlass com/intellij/lang/javascript/JSFlexAdapter$MyMergeFunction +instanceKlass com/intellij/sql/dialects/functions/SqlFunctionsUtil +instanceKlass com/jetbrains/rd/ide/model/IconSource$Companion +instanceKlass kotlinx/html/attributes/BooleanEncoder +instanceKlass com/intellij/openapi/util/process/InterruptibleActivity +instanceKlass com/intellij/html/embedding/HtmlLanguageEmbedmentInfo +instanceKlass com/intellij/sql/dialects/sql92/Sql92Tokens +instanceKlass com/intellij/sql/dialects/sql92/Sql92OptionalKeywords +instanceKlass com/intellij/sql/dialects/sql92/Sql92Types +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkSnapshot +instanceKlass com/jetbrains/rd/ide/model/IconSource +instanceKlass kotlinx/html/attributes/StringSetEncoder +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkCollector$Companion +instanceKlass org/jetbrains/idea/perforce/perforce/connections/AbstractP4Connection +instanceKlass kotlinx/html/attributes/StringEncoder +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkCollector +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkBlockingCollector +instanceKlass org/jetbrains/idea/perforce/perforce/connections/P4Connection +instanceKlass com/intellij/sql/dialects/sql92/Sql92ReservedKeywords +instanceKlass com/intellij/lang/javascript/_JSXLexer +instanceKlass kotlinx/html/attributes/AttributeEncoder +instanceKlass kotlinx/html/attributes/Attribute +instanceKlass com/intellij/lang/javascript/_JavaScriptLexer +instanceKlass com/intellij/lang/ITokenTypeRemapper +instanceKlass kotlinx/html/Gen_attributesKt +instanceKlass org/jetbrains/idea/perforce/perforce/connections/P4EnvHelper$P4EnvListener +instanceKlass com/jetbrains/python/documentation/doctest/PyDocstringTokenTypes +instanceKlass com/jetbrains/python/PythonDialectsTokenSetContributorBase +instanceKlass com/intellij/openapi/vcs/impl/GenericNotifierImpl$MyListener +instanceKlass kotlinx/html/CommonAttributeGroupFacadeFlowInteractivePhrasingContent +instanceKlass kotlinx/html/HtmlBlockInlineTag +instanceKlass kotlinx/html/HtmlInlineTag +instanceKlass kotlinx/html/FlowInteractivePhrasingContent +instanceKlass kotlinx/html/CommonAttributeGroupFacadeFlowInteractiveContent +instanceKlass kotlinx/html/FlowInteractiveContent +instanceKlass kotlinx/html/InteractiveContent +instanceKlass org/jetbrains/idea/perforce/application/ConnectionDiagnoseRefresher +instanceKlass com/intellij/xml/util/Html5TagAndAttributeNamesProvider$createMergedMap$$inlined$groupingBy$1 +instanceKlass com/intellij/openapi/vcs/impl/GenericNotifierImpl +instanceKlass kotlin/collections/Grouping +instanceKlass kotlinx/html/SingletonStringMap +instanceKlass com/jetbrains/rd/platform/codeWithMe/ui/WireStatsRegistryService$Companion +instanceKlass org/jetbrains/idea/perforce/perforce/connections/PerforceConnectionMapper +instanceKlass kotlinx/html/FlowMetaDataPhrasingContent +instanceKlass kotlinx/html/FlowPhrasingContent +instanceKlass kotlinx/html/PhrasingContent +instanceKlass com/jetbrains/python/PythonDialectsTokenSetContributor +instanceKlass com/intellij/util/diff/ShallowNodeComparator +instanceKlass com/intellij/util/diff/DiffTreeChangeBuilder +instanceKlass com/intellij/platform/workspace/storage/SerializationResult +instanceKlass com/jetbrains/python/PythonDialectsTokenSetProvider +instanceKlass org/jetbrains/idea/perforce/perforce/login/LoginStateListener +instanceKlass org/jetbrains/idea/perforce/perforce/login/LoginPerformer +instanceKlass kotlinx/html/CommonAttributeGroupFacadeFlowMetaDataContent +instanceKlass kotlinx/html/HtmlBlockTag +instanceKlass org/jetbrains/idea/perforce/perforce/login/PerforceLoginManager +instanceKlass com/intellij/lang/WhitespacesAndCommentsBinder$TokenTextGetter +instanceKlass kotlinx/html/FlowMetaDataContent +instanceKlass org/jetbrains/idea/perforce/perforce/login/LoginSupport +instanceKlass com/jetbrains/python/lexer/PyLexerFStringHelper +instanceKlass kotlinx/html/FlowContent +instanceKlass kotlinx/html/SectioningOrFlowContent +instanceKlass kotlinx/html/FlowOrPhrasingContent +instanceKlass com/intellij/lang/PsiBuilder$Marker +instanceKlass kotlinx/html/FlowOrInteractiveContent +instanceKlass kotlinx/html/FlowOrInteractiveOrPhrasingContent +instanceKlass kotlinx/html/FlowOrHeadingContent +instanceKlass it/unimi/dsi/fastutil/longs/AbstractLong2ObjectMap$BasicEntry +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$ProductionMarker +instanceKlass com/intellij/lang/impl/PsiBuilderImpl$Node +instanceKlass com/intellij/lang/SyntaxTreeBuilder$Marker +instanceKlass com/intellij/openapi/util/UnprotectedUserDataHolder +instanceKlass com/jetbrains/python/lexer/_PythonLexer +instanceKlass org/jetbrains/idea/perforce/application/PerforceClient +instanceKlass com/jetbrains/python/lexer/FlexLexerEx +instanceKlass it/unimi/dsi/fastutil/ints/Int2IntOpenHashMap$MapEntry +instanceKlass it/unimi/dsi/fastutil/ints/IntIntPair +instanceKlass com/intellij/psi/impl/source/tree/SharedImplUtil +instanceKlass com/intellij/ui/tree/BgtTreeWalkerKt +instanceKlass it/unimi/dsi/fastutil/ints/Int2IntOpenHashMap$MapIterator +instanceKlass org/jetbrains/idea/perforce/application/PerforceManager +instanceKlass com/intellij/ui/tree/BgtTreeWalker$Level +instanceKlass com/intellij/psi/PsiWalkingState$PsiTreeGuide +instanceKlass com/intellij/util/WalkingState$TreeGuide +instanceKlass kotlinx/html/Tag$DefaultImpls +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportExportDeclaration +instanceKlass git4idea/ui/toolbar/MyRepoChanges +instanceKlass com/intellij/util/WalkingState +instanceKlass com/jetbrains/x/x/P +instanceKlass git4idea/ui/toolbar/GitToolbarWidgetActionKt +instanceKlass git4idea/ui/toolbar/GitToolbarWidgetAction$GitWidgetState +instanceKlass com/jetbrains/x/x/xv +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslHandler$8 +instanceKlass com/jetbrains/python/console/PyConsoleUtil +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/MappingsToRoots +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslHandler$7 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PromiseNotificationUtil +instanceKlass git4idea/update/GitUpdateEnvironment +instanceKlass kotlinx/html/Gen_tag_groupsKt +instanceKlass com/jetbrains/python/console/PythonConsoleRunnerFactory +instanceKlass com/intellij/psi/impl/source/resolve/FileContextUtil +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslHandler$11 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslHandler$2 +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelOutboundBuffer$Entry$1 +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolThreadCache$MemoryRegionCache$Entry +instanceKlass com/intellij/xdebugger/XDebugProcessStarter +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolThreadCache$1 +instanceKlass kotlinx/html/HtmlHeadTag +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportedExportedDefaultBinding +instanceKlass kotlinx/html/MetaDataContent +instanceKlass kotlinx/html/FlowOrMetaDataContent +instanceKlass kotlinx/html/FlowOrMetaDataOrPhrasingContent +instanceKlass com/intellij/execution/runners/ConsoleTitleGen +instanceKlass com/intellij/lang/ecmascript6/psi/ES6NamespaceImportExport +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportExportSpecifierAlias +instanceKlass com/intellij/util/containers/BooleanStack +instanceKlass com/intellij/psi/stubs/DefaultStubBuilder$StubBuildingWalkingVisitor +instanceKlass com/intellij/lang/javascript/psi/JSProperty +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PooledUnsafeDirectByteBuf$1 +instanceKlass com/intellij/util/containers/UnsignedShortArrayList +instanceKlass com/jetbrains/python/console/pydev/ConsoleCommunicationListener +instanceKlass com/intellij/psi/stubs/MostlyUShortIntList +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportExportSpecifier +instanceKlass com/intellij/psi/stubs/StubList$TempState +instanceKlass com/intellij/execution/filters/Filter +instanceKlass com/intellij/platform/workspace/storage/annotations/Open +instanceKlass sun/security/ssl/Ciphertext +instanceKlass com/intellij/lang/ecmascript6/psi/ES6ImportExportDeclarationPart +instanceKlass io/grpc/netty/shaded/io/netty/buffer/LongLongHashMap +instanceKlass com/intellij/lang/javascript/psi/JSPsiReferenceElement +instanceKlass io/grpc/netty/shaded/io/netty/buffer/IntPriorityQueue +instanceKlass kotlinx/html/impl/DelegatingMap +instanceKlass com/intellij/execution/console/LanguageConsoleView +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptModule +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolChunk +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolChunkMetric +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptTypeMember +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PooledUnsafeHeapByteBuf$1 +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PooledHeapByteBuf$1 +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptType +instanceKlass com/intellij/lang/javascript/psi/JSVariable +instanceKlass com/intellij/psi/stubs/DefaultStubBuilder +instanceKlass kotlinx/html/ApiKt +instanceKlass kotlinx/html/HTMLTag +instanceKlass com/intellij/execution/console/ConsoleExecuteAction$ConsoleExecuteActionHandler +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolThreadCache$FreeOnFinalize +instanceKlass com/intellij/lang/javascript/psi/JSFieldVariable +instanceKlass com/intellij/lang/javascript/psi/JSInitializerOwner +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolThreadCache$MemoryRegionCache$1 +instanceKlass com/intellij/lang/javascript/psi/JSTypeDeclarationOwner +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolThreadCache$MemoryRegionCache +instanceKlass com/intellij/lang/javascript/psi/JSTypeOwner +instanceKlass com/jetbrains/python/console/PydevConsoleRunnerImpl$ConsoleProcessCreationResult +instanceKlass sun/security/ssl/SSLEngineOutputRecord$RecordMemo +instanceKlass com/intellij/lang/javascript/psi/JSStatementWithLabelReference +instanceKlass sun/security/ssl/SSLEngineOutputRecord$HandshakeFragment +instanceKlass kotlin/io/CloseableKt +instanceKlass com/jetbrains/python/console/pydev/AbstractConsoleCommunication +instanceKlass kotlinx/html/CommonAttributeGroupFacade +instanceKlass com/jetbrains/python/console/pydev/ConsoleCommunication +instanceKlass com/intellij/ui/RepaintSchedulerRequest +instanceKlass com/intellij/lang/javascript/psi/JSLoopStatement +instanceKlass kotlinx/html/Tag +instanceKlass com/intellij/xml/util/Html5TagAndAttributeNamesProvider +instanceKlass sun/security/ssl/RenegoInfoExtension$RenegotiationInfoSpec +instanceKlass com/intellij/lang/javascript/psi/JSConditionOwner +instanceKlass com/jetbrains/python/run/PythonRunParams +instanceKlass com/intellij/lang/javascript/psi/JSBinaryExpression +instanceKlass kotlinx/html/consumers/DelayedConsumer +instanceKlass com/intellij/lang/javascript/psi/JSPrefixExpression +instanceKlass com/intellij/database/util/Casing +instanceKlass com/intellij/lang/javascript/psi/JSExpressionWithOperationNode +instanceKlass com/intellij/platform/workspace/jps/entities/LibraryId +instanceKlass com/jetbrains/python/console/PydevConsoleRunnerImpl +instanceKlass kotlinx/html/consumers/Delayed_consumerKt +instanceKlass sun/security/ssl/AlpnExtension$AlpnSpec +instanceKlass com/intellij/platform/workspace/storage/impl/UsedClassesCollector +instanceKlass com/jetbrains/python/console/PydevConsoleRunner +instanceKlass kotlinx/html/stream/HTMLStreamBuilder$UnsafeImpl$1 +instanceKlass kotlinx/html/Unsafe +instanceKlass com/intellij/lang/javascript/psi/JSCallExpression +instanceKlass io/grpc/netty/shaded/io/netty/channel/unix/UnixChannel +instanceKlass com/intellij/database/model/MultiRef +instanceKlass com/intellij/database/util/DasUtil +instanceKlass io/grpc/netty/shaded/io/netty/channel/PendingBytesTracker +instanceKlass com/intellij/lang/javascript/psi/JSElvisOwner +instanceKlass com/intellij/lang/javascript/psi/JSCallLikeExpression +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractCoalescingBufferQueue +instanceKlass com/intellij/lang/javascript/psi/JSCallItem +instanceKlass com/intellij/lang/javascript/psi/JSTypeArgumentsOwner +instanceKlass com/intellij/lang/javascript/psi/ecma6/JSTypeDeclaration +instanceKlass com/intellij/html/embedding/HtmlEmbedment +instanceKlass com/intellij/lexer/LexerPositionImpl +instanceKlass com/intellij/lang/javascript/psi/JSStatement +instanceKlass com/intellij/lexer/MergingLexerAdapterBase$MyLexerPosition +instanceKlass com/intellij/html/embedding/HtmlEmbeddedContentSupport$Companion$getScriptTagEmbedmentInfo$1$1 +instanceKlass kotlinx/html/stream/HTMLStreamBuilder +instanceKlass com/intellij/javascript/JSScriptContentProvider +instanceKlass com/intellij/lang/HtmlScriptContentProvider +instanceKlass kotlinx/html/TagConsumer +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslHandler$SslTasksRunner$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslHandler$SslTasksRunner +instanceKlass sun/net/www/http/Hurryable +instanceKlass com/intellij/openapi/wm/AppIconScheme$Progress$3 +instanceKlass com/intellij/openapi/wm/AppIconScheme$Progress$2 +instanceKlass com/intellij/openapi/wm/AppIconScheme$Progress$1 +instanceKlass com/intellij/sql/psi/SqlDefinition +instanceKlass com/intellij/openapi/wm/AppIconScheme$Progress +instanceKlass sun/net/www/HeaderParser +instanceKlass com/intellij/sql/psi/SqlCompositeElement +instanceKlass com/intellij/lexer/HtmlEmbeddedContentSupportHelperKt +instanceKlass com/intellij/sql/psi/SqlNameElement +instanceKlass kotlin/ranges/CharRange$Companion +instanceKlass kotlin/ranges/CharProgression$Companion +instanceKlass com/jetbrains/python/console/PydevConsoleRunnerUtil +instanceKlass kotlinx/html/stream/StreamKt +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator$NoFailProtocolSelectionListener +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslEngine$2 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslEngine$1 +instanceKlass com/intellij/ui/tree/BgtTreeWalker$State +instanceKlass com/intellij/lexer/FilterLexer$Filter +instanceKlass com/intellij/workspaceModel/ide/NonPersistentEntitySource +instanceKlass jdk/internal/loader/BootLoader$PackageHelper +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/BouncyCastle +instanceKlass java/nio/file/Path$1 +instanceKlass org/jetbrains/concurrency/PromiseValue$Companion +instanceKlass org/jetbrains/concurrency/PromiseValue +instanceKlass org/jetbrains/concurrency/DonePromise +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSnapshotImplKt +instanceKlass io/grpc/Grpc +instanceKlass com/intellij/html/embedding/HtmlEmbedmentInfo +instanceKlass com/intellij/util/indexing/diagnostic/presentation/JsonToHtmlConverterKt$WhenMappings +instanceKlass com/intellij/html/embedding/BaseHtmlEmbeddedContentProvider +instanceKlass com/intellij/ide/util/treeView/TreeState +instanceKlass com/intellij/psi/impl/source/tree/TreeUtil +instanceKlass com/intellij/html/embedding/HtmlEmbeddedContentProvider +instanceKlass com/jetbrains/clones/core/LighterAstNodeHashCache +instanceKlass com/jetbrains/clones/core/HashFragmentCollector +instanceKlass com/intellij/psi/impl/source/tree/injected/InjectedLanguageUtilBase +instanceKlass com/intellij/lang/javascript/JSFileViewProviderFactory +instanceKlass com/intellij/lexer/HtmlDefaultEmbeddedContentSupport +instanceKlass com/jetbrains/clones/core/HashFragmentCollectorKt +instanceKlass com/google/common/hash/Java8Compatibility +instanceKlass com/intellij/lang/LighterASTTokenNode +instanceKlass com/intellij/util/indexing/IndexedHashesSupport$1 +instanceKlass com/intellij/lang/TreeBackedLighterAST$NodeWrapper +instanceKlass org/jetbrains/vuejs/lang/html/lexer/VueLexer +instanceKlass com/intellij/lang/javascript/index/JsFileIndexingFlavor +instanceKlass com/intellij/psi/impl/source/tree/injected/InjectedFileViewProvider +instanceKlass com/intellij/util/text/CharSequenceSubSequence +instanceKlass org/angular2/lang/html/lexer/Angular2HtmlEmbeddedContentSupport +instanceKlass com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl$1 +instanceKlass org/jetbrains/vuejs/libraries/i18n/VueI18nEmbeddedContentSupport +instanceKlass com/intellij/psi/LanguageInjector +instanceKlass org/jetbrains/vuejs/lang/html/lexer/VueEmbeddedContentSupport +instanceKlass com/jetbrains/python/psi/PyPlainStringElement +instanceKlass com/intellij/lang/injection/MultiHostRegistrar +instanceKlass com/jetbrains/python/psi/PyStringElement +instanceKlass com/intellij/injected/editor/DocumentWindow +instanceKlass com/intellij/javascript/JSHtmlEmbeddedContentSupport +instanceKlass com/intellij/psi/css/CssHtmlEmbeddedContentSupport +instanceKlass com/intellij/util/indexing/diagnostic/IndexingFileSetStatistics$StatsPerFileType +instanceKlass com/intellij/util/indexing/diagnostic/IndexingFileSetStatistics$StatsPerIndexer +instanceKlass com/intellij/util/indexing/diagnostic/presentation/JsonToHtmlConverterKt +instanceKlass com/intellij/html/embedding/HtmlEmbeddedContentSupport$Companion +instanceKlass com/intellij/html/embedding/HtmlEmbeddedContentSupport +instanceKlass com/intellij/lexer/MergingLexerAdapter$MyMergeFunction +instanceKlass com/intellij/lexer/_HtmlLexer +instanceKlass com/intellij/lang/DefaultASTFactory +instanceKlass com/intellij/lang/ASTFactory$DefaultFactoryHolder +instanceKlass com/intellij/psi/impl/source/FileTrees +instanceKlass com/jetbrains/python/psi/resolve/VariantsProcessor +instanceKlass com/intellij/psi/scope/PsiScopeProcessor +instanceKlass com/intellij/psi/impl/source/StubbedSpine +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/GenericProgressiveFutureListener +instanceKlass io/grpc/netty/shaded/io/grpc/netty/WriteBufferingAndExceptionHandler$1ConnectListener +instanceKlass com/intellij/psi/templateLanguages/TemplateDataLanguageMappings$1 +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/AbstractNioChannel$AbstractNioUnsafe$2 +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/AbstractNioChannel$AbstractNioUnsafe$1 +instanceKlass com/jetbrains/python/psi/PyFile +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/SocketUtils$3 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/WriteBufferingAndExceptionHandler$ChannelWrite +instanceKlass com/jetbrains/python/codeInsight/controlflow/ScopeOwner +instanceKlass io/grpc/internal/DnsNameResolver$Resolve$1 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/WriteQueue$AbstractQueuedCommand +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractChannelHandlerContext$9 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyClientTransport$5 +instanceKlass com/jetbrains/python/psi/PyDocStringOwner +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/queues/MessagePassingQueueUtil +instanceKlass it/unimi/dsi/fastutil/ints/AbstractInt2ObjectMap$1$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/Recycler$LocalPool +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/queues/MessagePassingQueue$Consumer +instanceKlass com/intellij/psi/templateLanguages/TemplateDataLanguagePatterns +instanceKlass io/grpc/netty/shaded/io/netty/util/Recycler$EnhancedHandle +instanceKlass io/grpc/netty/shaded/io/netty/util/Recycler$Handle +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ObjectPool$Handle +instanceKlass io/grpc/netty/shaded/io/netty/util/Recycler +instanceKlass com/intellij/openapi/util/text/TrigramBuilder$1$1$1$1 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ProtocolNegotiationEvent +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ObjectPool +instanceKlass it/unimi/dsi/fastutil/objects/AbstractObjectIterator +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractChannelHandlerContext$WriteTask$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ObjectPool$ObjectCreator +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractChannelHandlerContext$WriteTask +instanceKlass io/grpc/netty/shaded/io/netty/util/ReferenceCountUtil +instanceKlass io/grpc/netty/shaded/io/grpc/netty/WriteQueue$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/JvmFlags +instanceKlass it/unimi/dsi/fastutil/ints/AbstractIntIterator +instanceKlass io/grpc/netty/shaded/io/grpc/netty/WriteQueue +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/DescriptorsJvmAbiUtil +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractChannel$AbstractUnsafe$1 +instanceKlass com/intellij/psi/templateLanguages/ConfigurableTemplateLanguageFileViewProvider +instanceKlass com/intellij/psi/templateLanguages/TemplateLanguageFileViewProvider +instanceKlass com/jetbrains/jinja2/Jinja2FileViewProviderFactory +instanceKlass com/intellij/psi/FileViewProviderFactory +instanceKlass sun/nio/ch/SocketChannelImpl$DefaultOptionsHolder +instanceKlass com/intellij/lang/cacheBuilder/WordOccurrence +instanceKlass io/grpc/netty/shaded/io/netty/buffer/ByteBufUtil$2 +instanceKlass com/intellij/psi/impl/cache/impl/id/ScanningIdIndexer$1 +instanceKlass com/intellij/psi/impl/cache/impl/id/IdDataConsumer +instanceKlass com/intellij/docker/dockerFile/DockerFileFindUsagesProvider +instanceKlass com/intellij/ide/FileIconPatcher +instanceKlass com/intellij/psi/ElementDescriptionProvider +instanceKlass io/grpc/netty/shaded/io/netty/buffer/ByteBufUtil +instanceKlass com/intellij/json/JsonUtil +instanceKlass com/intellij/prettierjs/config/PrettierJsonSchemaInJsEnabler +instanceKlass com/intellij/webpack/jsonschema/WebpackJsonSchemaEnabler +instanceKlass com/intellij/lang/javascript/babel/BabelJsJsonSchemaEnabler +instanceKlass com/intellij/lang/javascript/linter/stylelint/StylelintJsJsonSchemaEnabler +instanceKlass com/intellij/lang/javascript/linter/eslint/EsLintJsJsonSchemaEnabler +instanceKlass io/grpc/netty/shaded/io/netty/channel/RecvByteBufAllocator$Handle +instanceKlass com/intellij/openapi/util/text/TrigramBuilder +instanceKlass org/toml/ide/json/TomlJsonSchemaEnabler +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultMaxMessagesRecvByteBufAllocator +instanceKlass io/grpc/netty/shaded/io/netty/channel/MaxMessagesRecvByteBufAllocator +instanceKlass org/jetbrains/yaml/schema/YamlJsonEnabler +instanceKlass com/jetbrains/jsonSchema/impl/JsonSchemaInJsonFilesEnabler +instanceKlass com/ibm/icu/text/UTF16 +instanceKlass com/intellij/indexing/composite/CompositeInvertedIndexBase$IndexInfrastructureUpdate +instanceKlass com/jetbrains/jsonSchema/extension/JsonSchemaEnabler +instanceKlass com/ibm/icu/util/MeasureUnit$3 +instanceKlass io/grpc/netty/shaded/io/netty/channel/WriteBufferWaterMark +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultMessageSizeEstimator$HandleImpl +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultMessageSizeEstimator +instanceKlass io/grpc/netty/shaded/io/netty/channel/MessageSizeEstimator +instanceKlass io/grpc/netty/shaded/io/netty/channel/RecvByteBufAllocator +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultChannelConfig +instanceKlass com/ibm/icu/util/MeasureUnit$2 +instanceKlass com/ibm/icu/util/MeasureUnit$1 +instanceKlass com/intellij/util/text/ByteArrayCharSequence +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/AbstractNioByteChannel$1 +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/AbstractNioChannel$1 +instanceKlass com/ibm/icu/util/VersionInfo +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelHandlerMask$Skip +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelHandlerMask$2 +instanceKlass com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl$SkipFromDocumentHistory +instanceKlass com/intellij/diff/editor/DiffContentVirtualFile +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelHandlerMask +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractChannelHandlerContext$Tasks +instanceKlass com/ibm/icu/impl/BMPSet +instanceKlass io/grpc/netty/shaded/io/netty/channel/VoidChannelPromise$1 +instanceKlass com/intellij/openapi/util/io/StreamUtil +instanceKlass com/ibm/icu/text/UnicodeSet$Filter +instanceKlass com/intellij/util/text/XmlCharsetDetector +instanceKlass io/grpc/netty/shaded/io/netty/channel/MessageSizeEstimator$Handle +instanceKlass com/ibm/icu/text/UnicodeFilter +instanceKlass com/ibm/icu/text/UnicodeMatcher +instanceKlass org/jetbrains/plugins/notebooks/jupyter/ui/JupyterRunningNotebookFileIconProvider +instanceKlass com/intellij/ui/tree/AbstractTreeNodeVisitor +instanceKlass com/ibm/icu/util/Freezable +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcExtensions$FilePresentation +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultChannelPipeline$PendingHandlerCallback +instanceKlass org/jetbrains/plugins/github/extensions/GithubYamlIconProvider +instanceKlass com/intellij/space/vcs/chat/editor/SpaceChatIconProvider +instanceKlass com/intellij/uml/DiagramFileIconProvider +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractChannelHandlerContext +instanceKlass com/jetbrains/jsonSchema/JsonSchemaIconProvider +instanceKlass io/grpc/netty/shaded/io/netty/util/ResourceLeakHint +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelHandlerContext +instanceKlass com/intellij/util/indexing/contentQueue/IndexUpdateRunner$IndexingJob +instanceKlass com/intellij/vcs/log/ui/editor/VcsLogIconProvider +instanceKlass com/ibm/icu/util/MeasureUnit$Factory +instanceKlass com/intellij/ide/FileIconPatcherImpl +instanceKlass com/intellij/util/indexing/contentQueue/CurrentProjectHintedCachedFileContentLoader +instanceKlass com/ibm/icu/impl/UResource$Sink +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelProgressivePromise +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelProgressiveFuture +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultChannelPipeline +instanceKlass com/intellij/util/CropIcon +instanceKlass com/intellij/util/ui/JBHiDpiScalableIcon +instanceKlass com/ibm/icu/util/MeasureUnit +instanceKlass com/intellij/execution/runners/IndicatorIcon +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelOutboundBuffer$Entry +instanceKlass com/intellij/ui/icons/IconWrapperWithToolTip +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelOutboundBuffer +instanceKlass com/intellij/util/indexing/diagnostic/IndexingFileSetStatistics$special$$inlined$compareBy$1 +instanceKlass com/intellij/util/indexing/diagnostic/LimitedPriorityQueue +instanceKlass com/intellij/util/indexing/diagnostic/IndexingFileSetStatistics$Companion +instanceKlass com/intellij/util/indexing/diagnostic/IndexingFileSetStatistics +instanceKlass com/intellij/util/indexing/contentQueue/IndexUpdateRunner$FileSet +instanceKlass com/jetbrains/rdserver/ui/BackendIconHost$Companion +instanceKlass com/intellij/util/indexing/contentQueue/CachedFileContentLoader +instanceKlass com/intellij/ide/nls/NlsMessages +instanceKlass com/intellij/util/indexing/contentQueue/IndexUpdateRunner +instanceKlass com/intellij/diff/editor/DiffFileIconProvider +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/SocketUtils$13 +instanceKlass io/grpc/netty/shaded/io/netty/util/NetUtil$SoMaxConnAction +instanceKlass com/intellij/ide/util/DelegatingProgressIndicator +instanceKlass io/grpc/netty/shaded/io/netty/util/NetUtilInitializations$NetworkIfaceAndInetAddress +instanceKlass com/jetbrains/rd/ide/model/DeferredIconCalculationResult$Companion +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/SocketUtils$11 +instanceKlass com/jetbrains/rd/ide/model/DeferredIconCalculationResult +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/SocketUtils +instanceKlass com/intellij/util/indexing/UnindexedFilesIndexer$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/NetUtilInitializations +instanceKlass com/jetbrains/rdserver/ui/BackendIconHost$MyDeferredIconListener +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonChangedFilesDuringIndexingStatistics +instanceKlass com/intellij/util/indexing/diagnostic/ProjectDumbIndexingHistoryImpl$DumbIndexingTimesImpl +instanceKlass io/grpc/netty/shaded/io/netty/util/NetUtil +instanceKlass com/intellij/util/indexing/diagnostic/DumbIndexingTimes +instanceKlass com/intellij/ui/DeferredIconListener$Companion +instanceKlass com/intellij/ui/DeferredIconListener +instanceKlass com/intellij/util/indexing/diagnostic/ProjectDumbIndexingHistoryImpl +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/MacAddressUtil +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultChannelId +instanceKlass com/intellij/ide/projectView/impl/SelectInProjectViewImpl$ensureSelected$1$SelectionContext +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelFlushPromiseNotifier$FlushCheckpoint +instanceKlass io/grpc/netty/shaded/io/netty/channel/socket/nio/SelectorProviderUtil +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelMetadata +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtUtil +instanceKlass com/intellij/ide/plugins/UIComponentVirtualFile$UIComponentVirtualFileIconProvider +instanceKlass io/grpc/netty/shaded/io/grpc/netty/Utils$ByteBufAllocatorPreferDirectHolder +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PooledByteBufAllocatorMetric +instanceKlass com/intellij/ui/paint/PaintUtilKt +instanceKlass org/jetbrains/plugins/github/pullrequest/GHPRVirtualFileIconProvider +instanceKlass com/intellij/openapi/vcs/TreeDiffProvider +instanceKlass com/intellij/util/IconUtilKt +instanceKlass com/intellij/util/FileIconKey +instanceKlass org/jetbrains/idea/svn/api/ErrorCategory$Companion +instanceKlass sun/font/AttributeValues$1 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaArrayType +instanceKlass java/awt/geom/QuadCurve2D +instanceKlass org/jetbrains/idea/svn/api/ClientFactory +instanceKlass sun/reflect/generics/reflectiveObjects/GenericArrayTypeImpl +instanceKlass java/awt/geom/AreaIterator +instanceKlass sun/awt/geom/Edge +instanceKlass sun/awt/geom/ChainEnd +instanceKlass sun/awt/geom/CurveLink +instanceKlass sun/awt/geom/AreaOp$1 +instanceKlass sun/awt/geom/AreaOp +instanceKlass com/intellij/openapi/vcs/EditFileProvider +instanceKlass sun/awt/geom/Curve +instanceKlass java/awt/geom/Area +instanceKlass com/intellij/util/ui/Avatars +instanceKlass com/intellij/util/ui/AvatarUtils +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolChunkList +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolChunkListMetric +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolSubpage +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolSubpageMetric +instanceKlass com/intellij/ide/presentation/Presentation +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolThreadCache +instanceKlass com/intellij/ide/TypePresentationServiceImpl$3 +instanceKlass com/intellij/ide/TypePresentationServiceImpl$2 +instanceKlass io/grpc/netty/shaded/io/netty/buffer/SizeClasses +instanceKlass com/intellij/openapi/vcs/configurable/VcsOptionsTopHitProviderBase +instanceKlass com/intellij/ide/TypeNameEP +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PoolArenaMetric +instanceKlass io/grpc/netty/shaded/io/netty/buffer/SizeClassesMetric +instanceKlass com/intellij/ide/TypePresentationServiceImpl$1 +instanceKlass com/intellij/model/DelegatingPointer +instanceKlass com/intellij/ide/TypeIconEP +instanceKlass io/grpc/netty/shaded/io/netty/buffer/PooledByteBufAllocator$1 +instanceKlass com/intellij/refactoring/suggested/UtilsKt +instanceKlass com/intellij/ide/navbar/ide/NavBarVmItemKt +instanceKlass com/intellij/ide/TypePresentationServiceImpl$PresentationTemplate +instanceKlass com/intellij/ide/navbar/impl/DefaultNavBarItemProvider +instanceKlass com/intellij/ide/TypePresentationService +instanceKlass com/intellij/ide/navbar/NavBarItemProvider$Companion +instanceKlass com/intellij/ide/navbar/NavBarItemProvider +instanceKlass com/intellij/util/PsiIconUtil +instanceKlass com/intellij/ide/navbar/impl/ImplKt$special$$inlined$compareBy$2 +instanceKlass com/intellij/ide/navbar/impl/ImplKt$special$$inlined$compareBy$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/ConstantPool +instanceKlass com/intellij/ide/navbar/impl/ImplKt +instanceKlass io/grpc/netty/shaded/io/netty/util/AbstractConstant +instanceKlass io/grpc/netty/shaded/io/netty/util/Constant +instanceKlass io/grpc/netty/shaded/io/netty/bootstrap/AbstractBootstrapConfig +instanceKlass com/intellij/pom/PomTargetPsiElement +instanceKlass java/lang/FunctionalInterface +instanceKlass io/grpc/netty/shaded/io/netty/bootstrap/AbstractBootstrap +instanceKlass com/intellij/database/datagrid/DataGridPomTarget +instanceKlass com/intellij/pom/PomRenameableTarget +instanceKlass com/intellij/pom/PomNamedTarget +instanceKlass com/intellij/pom/PomTarget +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ProtocolNegotiators$HostPort +instanceKlass com/intellij/ui/RowIcon$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2FrameAdapter +instanceKlass io/grpc/internal/GrpcAttributes +instanceKlass com/intellij/util/containers/JBIterable$FlattenFun +instanceKlass io/grpc/netty/shaded/io/grpc/netty/AbstractNettyHandler$FlowControlPinger +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelHandler$Sharable +instanceKlass com/intellij/ide/projectView/impl/nodes/NamedLibraryElement +instanceKlass com/intellij/ide/projectView/impl/nodes/LibraryGroupElement +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/CharObjectHashMap$1 +instanceKlass com/intellij/ide/projectView/impl/ModuleGroup +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/CharObjectHashMap +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/CharObjectMap +instanceKlass io/grpc/netty/shaded/io/grpc/netty/Utils$FlowControlReader +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2ConnectionDecoder$PrefaceFrameListener +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2PromisedRequestVerifier$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2PromisedRequestVerifier +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2ConnectionDecoder +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2LocalFlowController$2 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2LocalFlowController$DefaultState +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2LocalFlowController$FlowState +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2LocalFlowController +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2LocalFlowController +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled +instanceKlass com/intellij/ide/DefaultTreeExpander +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder +instanceKlass com/intellij/openapi/wm/impl/content/ToolWindowContentUi$HideToolwindowTarget +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2SettingsReceivedConsumer +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DecoratingHttp2FrameWriter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2OutboundFrameLogger +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2InboundFrameLogger +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/StreamByteDistributor$StreamState +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$WritabilityMonitor +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/StreamByteDistributor$Writer +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2RemoteFlowController +instanceKlass com/intellij/ide/x/i +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2RemoteFlowController +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2ConnectionAdapter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/WeightedFairQueueByteDistributor$StatePseudoTimeComparator +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/IntCollections$EmptyMap +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/IntCollections +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection$DefaultPropertyKey +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/WeightedFairQueueByteDistributor$StateOnlyComparator +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/WeightedFairQueueByteDistributor +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection$DefaultEndpoint +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection$ActiveStreams +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection$DefaultStream$PropertyMap +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection$DefaultStream +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection$PropertyKeyRegistry +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/IntObjectHashMap$1 +instanceKlass com/intellij/ide/ui/InspectionsTopHitProvider +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/IntObjectHashMap +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2Connection$PropertyKey +instanceKlass io/grpc/netty/shaded/io/netty/util/collection/IntObjectMap +instanceKlass com/intellij/ui/tabs/FileColorsOptionsTopHitProvider +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2Connection$Endpoint +instanceKlass com/intellij/ide/ui/ProjectTopHitCache$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2Stream +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2Connection +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtTopHitProvider +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2FrameWriter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2FrameWriter$Configuration +instanceKlass com/jetbrains/python/PythonFoldingSettings +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackEncoder$NameEntry +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackHuffmanEncoder$EncodeProcessor +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackHuffmanEncoder$EncodedLengthProcessor +instanceKlass com/intellij/sql/editor/SqlFoldingSettings$Companion +instanceKlass com/intellij/sql/editor/SqlFoldingSettings +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackUtil +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackHuffmanEncoder +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackEncoder +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2HeadersEncoder$2 +instanceKlass com/intellij/lang/javascript/folding/JSCodeFoldingSettings +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2HeadersEncoder$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2HeadersEncoder$SensitivityDetector +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2HeadersEncoder +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2HeadersEncoder$Configuration +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2FrameReader$HeadersContinuation +instanceKlass nl/hannahsten/texifyidea/editor/folding/LatexCodeFoldingSettings$Companion +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2FrameReader +instanceKlass nl/hannahsten/texifyidea/editor/folding/LatexCodeFoldingSettings +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2FrameReader$Configuration +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2FrameSizePolicy +instanceKlass com/intellij/ide/ProjectIcon +instanceKlass io/grpc/netty/shaded/io/netty/buffer/UnsafeByteBufUtil +instanceKlass io/grpc/netty/shaded/io/netty/buffer/AbstractByteBufAllocator$1 +instanceKlass kotlinx/coroutines/internal/ThreadLocalKey +instanceKlass kotlinx/coroutines/internal/ThreadLocalElement +instanceKlass kotlinx/coroutines/ThreadContextElementKt +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2CodecUtil +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackHeaderField +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackDynamicTable +instanceKlass com/intellij/ui/IconCalculatingService +instanceKlass com/intellij/ui/RepaintRequest +instanceKlass com/intellij/ui/PaintingParent +instanceKlass org/intellij/plugins/markdown/settings/MarkdownCodeFoldingSettings$Companion +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackHuffmanDecoder +instanceKlass io/grpc/netty/shaded/io/netty/util/ByteProcessor +instanceKlass com/intellij/ui/DeferredIconRepaintScheduler +instanceKlass kotlin/reflect/jvm/internal/impl/utils/SmartList$EmptyIterator +instanceKlass com/intellij/ui/DeferredIconImplKt +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/HpackDecoder +instanceKlass io/grpc/netty/shaded/io/grpc/netty/AbstractHttp2Headers +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/DefaultHttp2HeadersDecoder +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2HeadersDecoder$Configuration +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyAdaptiveCumulator +instanceKlass com/intellij/application/options/editor/XmlFoldingSettings$State +instanceKlass com/intellij/application/options/editor/XmlFoldingSettings +instanceKlass com/intellij/lang/XmlCodeFoldingSettings +instanceKlass kotlin/reflect/jvm/internal/impl/types/StarProjectionImplKt +instanceKlass io/grpc/netty/shaded/io/netty/util/ResourceLeakDetectorFactory +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaTypesKt +instanceKlass com/intellij/ui/LicensingFacade +instanceKlass sun/reflect/generics/tree/BooleanSignature +instanceKlass io/grpc/netty/shaded/io/netty/buffer/UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric +instanceKlass com/intellij/ide/x/C/xj +instanceKlass io/grpc/netty/shaded/io/netty/util/ResourceLeak +instanceKlass io/grpc/netty/shaded/io/netty/util/ResourceLeakTracker +instanceKlass io/grpc/netty/shaded/io/netty/util/ResourceLeakDetector +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil$7 +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil$6 +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/VisibilityUtilKt +instanceKlass com/intellij/openapi/options/BeanConfigurable$BeanField +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil$3 +instanceKlass io/grpc/netty/shaded/io/netty/buffer/ByteBufAllocatorMetric +instanceKlass com/intellij/ide/x/C/Z +instanceKlass com/intellij/codeInsight/folding/CodeFoldingSettings +instanceKlass com/intellij/openapi/options/BeanConfigurable$BeanPropertyAccessor +instanceKlass com/intellij/openapi/options/BeanConfigurable +instanceKlass com/intellij/application/options/editor/CodeFoldingOptionsProvider +instanceKlass com/intellij/application/options/editor/CodeFoldingOptionsTopHitProvider +instanceKlass io/grpc/netty/shaded/io/netty/buffer/AbstractByteBufAllocator +instanceKlass com/intellij/application/options/editor/EditorCloseButtonPositionKt +instanceKlass io/grpc/netty/shaded/io/netty/buffer/ByteBufAllocatorMetricProvider +instanceKlass com/intellij/application/options/editor/EditorTabPlacementKt +instanceKlass com/intellij/application/options/editor/EditorTabsOptionsModelKt +instanceKlass com/intellij/application/options/editor/EditorTabsOptionsTopHitProvider +instanceKlass com/intellij/lang/javascript/editor/JSEditorOptions +instanceKlass io/grpc/netty/shaded/io/netty/buffer/Unpooled +instanceKlass org/intellij/plugins/markdown/settings/MarkdownSmartKeysConfigurable$Companion +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/DefaultHeaders$HeaderEntry +instanceKlass com/intellij/application/options/CodeCompletionOptionsCustomSection +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/DefaultHeaders$ValueValidator$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/DefaultHeaders$ValueValidator +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/DefaultHeaders$NameValidator$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/DefaultHeaders$NameValidator +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/UnsupportedValueConverter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/ValueConverter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/DefaultHeaders +instanceKlass com/intellij/openapi/options/ConfigurableBuilder$CallbackAccessor +instanceKlass com/intellij/openapi/options/ConfigurableBuilder$BeanField +instanceKlass com/intellij/openapi/util/Setter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/ReadOnlyHttp2Headers +instanceKlass com/intellij/json/editor/JsonEditorOptions +instanceKlass com/intellij/openapi/options/ConfigurableBuilder$PropertyAccessor +instanceKlass com/intellij/util/indexing/flavor/FileIndexingFlavorProvider +instanceKlass com/intellij/openapi/options/ConfigurableWithOptionDescriptors +instanceKlass com/intellij/openapi/options/UiDslUnnamedConfigurable +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http/HttpResponseStatus +instanceKlass com/intellij/openapi/options/ex/ConfigurableWrapper +instanceKlass com/intellij/openapi/options/newEditor/ConfigurableMarkerProvider +instanceKlass com/intellij/openapi/options/ex/HierarchicalConfigurable +instanceKlass com/intellij/openapi/options/ex/Weighted +instanceKlass com/intellij/openapi/options/DslConfigurableBase +instanceKlass com/intellij/openapi/options/SearchableConfigurable$Parent +instanceKlass com/intellij/openapi/options/Configurable$Composite +instanceKlass com/intellij/openapi/options/SearchableConfigurable +instanceKlass com/intellij/openapi/options/ConfigurableWithId +instanceKlass com/intellij/openapi/options/Configurable$WithEpDependencies +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonScanningStatistics$JsonScannedFile +instanceKlass io/grpc/netty/shaded/io/netty/buffer/ByteBuf +instanceKlass io/grpc/netty/shaded/io/netty/buffer/ByteBufConvertible +instanceKlass com/intellij/application/options/editor/EditorSmartKeysOptionsTopHitProvider +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/ByteToMessageDecoder$2 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/ByteToMessageDecoder$1 +instanceKlass com/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$SerializerAndMapResult +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/StreamByteDistributor +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2Connection +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2HeadersEncoder +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2HeadersDecoder +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2ConnectionDecoder +instanceKlass io/grpc/internal/TransportTracer$FlowControlReader +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2FrameReader +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2FlowController +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2ConnectionEncoder +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2FrameWriter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2DataWriter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2Connection$Listener +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2FrameListener +instanceKlass com/intellij/codeInsight/template/Macro +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2StreamVisitor +instanceKlass io/grpc/netty/shaded/io/grpc/netty/AbstractNettyHandler$PingLimiter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2ConnectionHandler$BaseDecoder +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelFutureListener +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/ByteToMessageDecoder$Cumulator +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ClientTransportLifecycleManager +instanceKlass io/grpc/internal/InternalSubchannel$TransportListener +instanceKlass io/grpc/internal/CallCredentialsApplyingTransportFactory$CallCredentialsApplyingTransport$1 +instanceKlass com/intellij/ide/x/C/J +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelHandlerAdapter +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelInboundHandler +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelOutboundHandler +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2LifecycleManager +instanceKlass io/grpc/internal/KeepAliveManager$KeepAlivePinger +instanceKlass io/grpc/internal/AbstractStream$TransportState +instanceKlass io/grpc/internal/MessageDeframer$Listener +instanceKlass io/grpc/internal/ManagedChannelImpl$RealChannel$PendingCall$PendingCallRemoval +instanceKlass io/grpc/internal/ApplicationThreadDeframer$TransportExecutor +instanceKlass io/grpc/internal/ApplicationThreadDeframerListener$TransportExecutor +instanceKlass io/grpc/internal/DelayedStream$9 +instanceKlass io/grpc/internal/RetriableStream$1HalfCloseEntry +instanceKlass io/grpc/internal/DelayedStream$7 +instanceKlass io/grpc/internal/DelayedStream$6 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/StreamIdHolder +instanceKlass io/grpc/internal/RetriableStream$1SendMessageEntry +instanceKlass io/grpc/internal/DelayedStream$10 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/WriteQueue$QueuedCommand +instanceKlass io/grpc/internal/RetriableStream$1RequestEntry +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyClientTransport +instanceKlass io/grpc/internal/DelayedStream$DelayedStreamListener +instanceKlass io/grpc/internal/RetriableStream$Sublistener +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyChannelBuilder$NettyTransportFactory$1 +instanceKlass io/grpc/internal/AtomicBackoff$State +instanceKlass io/grpc/internal/DelayedStream$14 +instanceKlass io/grpc/internal/DelayedStream$12 +instanceKlass io/grpc/internal/MetadataApplierImpl$MetadataApplierListener +instanceKlass io/grpc/CallCredentials$MetadataApplier +instanceKlass io/grpc/internal/DelayedStream +instanceKlass io/grpc/CallCredentials$RequestInfo +instanceKlass io/grpc/CallCredentials +instanceKlass io/grpc/internal/PickDetailsConsumerImpl +instanceKlass io/grpc/internal/ForwardingConnectionClientTransport +instanceKlass io/grpc/ClientStreamTracer$StreamInfo$Builder +instanceKlass io/grpc/ClientStreamTracer$StreamInfo +instanceKlass io/grpc/internal/ClientTransportFactory$ClientTransportOptions +instanceKlass io/grpc/internal/RetriableStream$Substream +instanceKlass io/grpc/internal/RetriableStream$StartEntry +instanceKlass io/grpc/internal/PickFirstLoadBalancer$2 +instanceKlass io/grpc/internal/ClientCallImpl$ClientStreamListenerImpl +instanceKlass io/grpc/internal/RetriableStream$1DecompressorRegistryEntry +instanceKlass io/grpc/internal/InternalSubchannel$2 +instanceKlass io/grpc/internal/RetriableStream$1CompressorEntry +instanceKlass io/grpc/internal/ManagedChannelImpl$LbHelperImpl$1UpdateBalancingState +instanceKlass io/grpc/internal/RetriableStream$State +instanceKlass io/grpc/LoadBalancer$PickResult +instanceKlass io/grpc/internal/InsightBuilder +instanceKlass io/grpc/internal/RetriableStream$1 +instanceKlass io/grpc/internal/InternalSubchannel$Index +instanceKlass io/grpc/ConnectivityStateInfo +instanceKlass io/grpc/internal/RetriableStream$BufferEntry +instanceKlass io/grpc/ClientStreamTracer$Factory +instanceKlass io/grpc/internal/InternalSubchannel +instanceKlass io/grpc/internal/RetriableStream +instanceKlass io/grpc/internal/TransportProvider +instanceKlass io/grpc/internal/PickFirstLoadBalancer$1 +instanceKlass io/grpc/internal/ClientCallImpl$CancellationHandler +instanceKlass io/grpc/Context$CancellationListener +instanceKlass io/grpc/LoadBalancer$CreateSubchannelArgs$Builder +instanceKlass io/grpc/InternalDecompressorRegistry +instanceKlass io/grpc/LoadBalancer$CreateSubchannelArgs +instanceKlass io/grpc/internal/ManagedChannelServiceConfig$MethodInfo +instanceKlass io/grpc/internal/ServiceConfigUtil$PolicySelection +instanceKlass io/grpc/LoadBalancer$ResolvedAddresses$Builder +instanceKlass io/perfmark/TaskCloseable +instanceKlass io/grpc/LoadBalancer$ResolvedAddresses +instanceKlass io/grpc/internal/ManagedChannelImpl$RealChannel$PendingCall$1 +instanceKlass io/grpc/internal/ContextRunnable +instanceKlass io/grpc/internal/SerializingExecutor$AtomicHelper +instanceKlass io/grpc/internal/SerializingExecutor +instanceKlass com/google/common/util/concurrent/ListeningScheduledExecutorService +instanceKlass com/google/common/util/concurrent/ListeningExecutorService +instanceKlass com/google/common/util/concurrent/MoreExecutors +instanceKlass io/perfmark/Link +instanceKlass io/perfmark/Tag +instanceKlass io/perfmark/Impl +instanceKlass io/perfmark/PerfMark +instanceKlass io/grpc/internal/ClientStreamListener +instanceKlass io/grpc/internal/StreamListener +instanceKlass io/grpc/internal/ManagedChannelImpl$NameResolverListener$1NamesResolved +instanceKlass io/grpc/internal/RetryingNameResolver$ResolutionResultListener +instanceKlass io/grpc/Attributes$Builder +instanceKlass io/grpc/EquivalentAddressGroup +instanceKlass com/fasterxml/jackson/databind/introspect/EnumNamingStrategyFactory +instanceKlass com/fasterxml/jackson/databind/annotation/EnumNaming +instanceKlass com/fasterxml/jackson/databind/util/EnumValues +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/TypeMappingMode$WhenMappings +instanceKlass kotlin/enums/EnumEntries +instanceKlass kotlin/reflect/jvm/internal/RuntimeTypeMapperKt +instanceKlass kotlin/reflect/jvm/internal/impl/util/capitalizeDecapitalize/CapitalizeDecapitalizeKt +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/SubtypePathNode +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/UtilsKt +instanceKlass com/intellij/openapi/fileEditor/impl/LoadTextUtil$ConvertResult +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/TypeCheckerProcedureCallbacksImpl +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/TypeCheckingProcedureCallbacks +instanceKlass com/intellij/ide/x/F +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/TypeCheckingProcedure +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/ClassicBuiltinSpecialProperties +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/descriptorUtil/DescriptorUtilsKt$$Lambda$1 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/SpecialBuiltinMembers +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/AnnotationsKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/AnnotationsImpl +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/BuiltInAnnotationDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/AnnotationUtilKt +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInsCustomizer$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInsCustomizer$$Lambda$1 +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInsCustomizer$$Lambda$0 +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/NewCapturedTypeConstructor +instanceKlass kotlin/reflect/jvm/internal/impl/utils/SmartList$SingletonIteratorBase +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeCheckerState$SupertypesPolicy +instanceKlass kotlin/reflect/jvm/internal/impl/types/AbstractTypeChecker$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeSystemContextKt$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeSystemContextKt +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/NewCapturedTypeKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ModalityUtilsKt +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/constants/IntegerLiteralTypeConstructor +instanceKlass kotlin/reflect/jvm/internal/impl/types/AbstractNullabilityChecker +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/StubTypeMarker +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaArrayAnnotationArgument +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaEnumValueAnnotationArgument +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaAnnotationArgument$Factory +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaAnnotationArgument +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaAnnotationArgument +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/JavaAnnotationDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/NullabilityQualifierWithMigrationStatus +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaDefaultQualifiers +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JvmAnnotationNamesKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/AnnotationQualifiersFqNamesKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaAnnotationDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/descriptors/PossiblyExternalAnnotationDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/AnnotationDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/CapturedTypeMarker +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaAnnotation +instanceKlass jdk/internal/ValueBased +instanceKlass com/intellij/util/indexing/containers/ChangeBufferingList$ChangesIterator +instanceKlass sun/nio/cs/ThreadLocalCoders$Cache +instanceKlass sun/nio/cs/ThreadLocalCoders +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/DescriptorResolverUtils$1$1 +instanceKlass kotlin/reflect/jvm/internal/impl/utils/SmartSet$ArrayIterator +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/FunctionDescriptorImpl$1 +instanceKlass java/util/Tripwire +instanceKlass java/util/Spliterators$2Adapter +instanceKlass java/util/BitSet$1BitSetSpliterator +instanceKlass com/intellij/util/indexing/containers/BitSetAsRAIntContainer$MyIterator +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/JvmTypeFactoryImpl$WhenMappings +instanceKlass sun/net/www/protocol/http/HttpURLConnection$7 +instanceKlass org/json/simple/JSONValue +instanceKlass kotlin/TuplesKt +instanceKlass com/codeium/intellij/utilities/AnalyticsEventPayload +instanceKlass kotlin/reflect/jvm/internal/impl/util/Check$DefaultImpls +instanceKlass com/codeium/intellij/utilities/EventLogger +instanceKlass io/grpc/internal/DelayedClientCall$7 +instanceKlass io/grpc/internal/DelayedClientCall$4 +instanceKlass io/grpc/internal/DelayedClientCall$6 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaValueParameter +instanceKlass io/grpc/internal/DelayedClientCall$2 +instanceKlass io/grpc/stub/ClientResponseObserver +instanceKlass io/grpc/stub/CallStreamObserver +instanceKlass sun/reflect/generics/tree/IntSignature +instanceKlass io/grpc/internal/ManagedChannelImpl$RealChannel$4 +instanceKlass io/grpc/internal/DnsNameResolver$InternalResolutionResult +instanceKlass io/grpc/Attributes +instanceKlass io/grpc/NameResolver$ResolutionResult$Builder +instanceKlass io/grpc/Context$Storage +instanceKlass io/grpc/NameResolver$ResolutionResult +instanceKlass io/grpc/Context$LazyStorage +instanceKlass io/grpc/Context +instanceKlass io/grpc/internal/DnsNameResolver$Resolve +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/descriptors/UtilKt +instanceKlass io/grpc/LoadBalancer$CreateSubchannelArgs$Key +instanceKlass io/grpc/LoadBalancer$SubchannelStateListener +instanceKlass io/grpc/internal/AutoConfiguredLoadBalancerFactory$AutoConfiguredLoadBalancer +instanceKlass io/grpc/ChannelCredentials +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/CompositeAnnotations +instanceKlass io/grpc/internal/InternalSubchannel$Callback +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/TypeEnhancementKt$WhenMappings +instanceKlass io/grpc/LoadBalancer$Subchannel +instanceKlass io/grpc/internal/ChannelLoggerImpl$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/FastThreadLocalRunnable +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ThreadExecutorMap$2 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/SingleThreadEventExecutor$4 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/queues/LinkedArrayQueueUtil +instanceKlass io/grpc/internal/Rescheduler$FutureRunnable +instanceKlass io/grpc/internal/ManagedChannelImpl$RealChannel$2 +instanceKlass exa/product_analytics_pb/ProductAnalyticsServiceGrpc$ProductAnalyticsServiceBaseDescriptorSupplier +instanceKlass io/grpc/protobuf/ProtoMethodDescriptorSupplier +instanceKlass io/grpc/protobuf/ProtoServiceDescriptorSupplier +instanceKlass io/grpc/protobuf/ProtoFileDescriptorSupplier +instanceKlass exa/product_analytics_pb/ProductAnalytics$RecordAnalyticsEventResponseOrBuilder +instanceKlass io/grpc/KnownLength +instanceKlass io/grpc/Drainable +instanceKlass io/grpc/protobuf/lite/ProtoLiteUtils$MessageMarshaller +instanceKlass io/grpc/MethodDescriptor$PrototypeMarshaller +instanceKlass io/grpc/MethodDescriptor$ReflectableMarshaller +instanceKlass io/grpc/MethodDescriptor$Marshaller +instanceKlass io/grpc/protobuf/lite/ProtoLiteUtils +instanceKlass io/grpc/protobuf/ProtoUtils +instanceKlass io/grpc/MethodDescriptor$Builder +instanceKlass io/grpc/MethodDescriptor +instanceKlass java/util/stream/ReduceOps$6ReducingSink +instanceKlass com/codeium/intellij/utilities/ProductAnalyticsLogger$logEvent$noopObserver$1 +instanceKlass exa/product_analytics_pb/ProductAnalytics$RecordAnalyticsEventRequest$ExperimentsDefaultEntryHolder +instanceKlass kotlin/collections/EmptyIterator +instanceKlass kotlin/collections/EmptySet +instanceKlass com/google/protobuf/MapField$MutabilityAwareMap +instanceKlass com/google/protobuf/MapField$ImmutableMessageConverter +instanceKlass com/google/protobuf/MapField$Converter +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/PredefinedFunctionEnhancementInfo +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/TypeEnhancementInfo +instanceKlass com/google/protobuf/MapEntryLite$Metadata +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/SignatureEnhancementBuilder$ClassEnhancementBuilder$FunctionEnhancementBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/SignatureEnhancementBuilder$ClassEnhancementBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/SignatureEnhancementBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/PredefinedEnhancementInfoKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/MethodSignatureBuildingUtilsKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/JvmType$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/JvmType +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/TypeSignatureMappingKt +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/FunctionTypesKt +instanceKlass kotlin/reflect/jvm/internal/impl/utils/FunctionsKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/TypeMappingConfigurationImpl +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/TypeMappingConfiguration +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/TypeMappingMode$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/TypeMappingMode +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/JvmTypeFactoryImpl +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/JvmTypeFactory +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/DescriptorBasedTypeSignatureMappingKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/DescriptorResolverUtils +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/MethodSignatureMappingKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/BuiltinSpecialPropertiesKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/BuiltinSpecialProperties +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JvmAbi +instanceKlass build/buf/validate/ConstraintOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/PropertiesConventionUtilKt +instanceKlass kotlin/reflect/jvm/internal/impl/util/CheckResult +instanceKlass kotlin/reflect/jvm/internal/impl/util/ReturnsCheck +instanceKlass kotlin/reflect/jvm/internal/impl/util/IsKPropertyCheck +instanceKlass kotlin/reflect/jvm/internal/impl/util/NoDefaultAndVarargsCheck +instanceKlass kotlin/reflect/jvm/internal/impl/util/ValueParameterCountCheck +instanceKlass kotlin/reflect/jvm/internal/impl/util/MemberKindCheck +instanceKlass kotlin/reflect/jvm/internal/impl/util/Check +instanceKlass kotlin/reflect/jvm/internal/impl/util/OperatorNameConventions +instanceKlass kotlin/reflect/jvm/internal/impl/util/Checks +instanceKlass kotlin/reflect/jvm/internal/impl/util/AbstractModifierChecks +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaScope$MethodSignatureData +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/SignaturePropagator$PropagatedSignature +instanceKlass com/intellij/openapi/fileEditor/impl/LoadTextUtil$DetectResult +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaScope$ResolvedValueParameters +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/Java8ParameterNamesLoader$Cache +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/Java8ParameterNamesLoader +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/descriptors/JavaMethodDescriptor$2 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/descriptors/JavaMethodDescriptor$1 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/CallableDescriptor$UserDataKey +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/MappingUtilKt +instanceKlass sun/net/www/protocol/http/AuthCacheImpl +instanceKlass sun/net/www/protocol/http/AuthCache +instanceKlass sun/net/www/protocol/http/AuthCacheValue +instanceKlass sun/net/DefaultProgressMeteringPolicy +instanceKlass sun/net/ProgressMeteringPolicy +instanceKlass sun/net/ProgressMonitor +instanceKlass sun/security/ssl/TransportContext$NotifyHandshake$1 +instanceKlass com/google/protobuf/DescriptorProtos$MethodOptionsOrBuilder +instanceKlass sun/security/ssl/TransportContext$NotifyHandshake +instanceKlass com/sun/crypto/provider/GaloisCounterMode$GCTRGHASH +instanceKlass com/google/protobuf/DescriptorProtos$MethodDescriptorProtoOrBuilder +instanceKlass sun/security/ssl/SSLBasicKeyDerivation$SecretSizeSpec +instanceKlass sun/security/ssl/SSLBasicKeyDerivation +instanceKlass sun/security/ssl/Finished$1 +instanceKlass sun/security/ssl/Finished$T13VerifyDataGenerator +instanceKlass sun/security/ssl/Finished$T12VerifyDataGenerator +instanceKlass sun/security/ssl/Finished$T10VerifyDataGenerator +instanceKlass sun/security/ssl/Finished$S30VerifyDataGenerator +instanceKlass sun/security/ssl/Finished$VerifyDataGenerator +instanceKlass sun/security/rsa/MGF1 +instanceKlass com/google/protobuf/DescriptorProtos$ServiceOptionsOrBuilder +instanceKlass sun/security/ssl/X509Authentication$X509Credentials +instanceKlass com/intellij/ide/RecentProjectIconHelperKt +instanceKlass sun/security/ssl/SSLAlgorithmConstraints$SupportedSignatureAlgorithmConstraints +instanceKlass com/intellij/ide/RecentProjectIconHelper$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/PlatformDependentDeclarationFilter$All +instanceKlass sun/security/util/HostnameChecker +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/FallbackBuiltIns$Companion +instanceKlass com/intellij/ide/ProjectWindowCustomizerIconCache +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/PlatformDependentDeclarationFilterKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaField +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/EnhancedTypeAnnotations +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/TypeEnhancementKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaDescriptorVisibilities +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/UtilsKt +instanceKlass kotlin/reflect/jvm/internal/impl/types/typeUtil/TypeUtilsKt +instanceKlass sun/security/util/AnchorCertificates$1 +instanceKlass sun/security/util/AnchorCertificates +instanceKlass sun/security/validator/SymantecTLSPolicy +instanceKlass kotlin/reflect/jvm/internal/impl/types/FlexibleTypeImpl$Companion +instanceKlass sun/security/validator/CADistrustPolicy$2 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaWildcardType +instanceKlass java/security/Timestamp +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaLoadingKt +instanceKlass jdk/internal/icu/impl/NormalizerImpl$ReorderingBuffer +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaMethod +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaMember +instanceKlass jdk/internal/icu/impl/NormalizerImpl$UTF16Plus +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/ClassDeclaredMemberIndex +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/DeclaredMemberIndex +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/JavaTypeEnhancement$Result +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/JavaTypeEnhancement$SimpleResult +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/TypeComponentPositionKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/TypeEnhancementUtilsKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/JavaTypeQualifiers$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/JavaTypeQualifiers +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/AbstractSignatureParts$TypeAndDefaultQualifiers +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/AbstractSignatureParts +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeAttributeTranslator$DefaultImpls +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaPrimitiveType +instanceKlass kotlin/reflect/jvm/internal/impl/types/ErasureTypeAttributes +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/types/JavaTypeAttributesKt +instanceKlass com/google/protobuf/SmallSortedMap$Entry +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/FakePureImplementationsProvider +instanceKlass com/google/protobuf/FieldSet$1 +instanceKlass sun/security/validator/EndEntityChecker +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/JavaAnnotationMapper +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaAnnotationOwnerKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaType$Factory +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaType +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaClassifierType +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaType +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/ListBasedJavaAnnotationOwner +instanceKlass sun/security/validator/Validator +instanceKlass com/intellij/util/net/ssl/ConfirmingTrustManager$CertificateConfirmationParameters +instanceKlass build/buf/validate/priv/ConstraintOrBuilder +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostInitialUntrustedCertificateStrategyProvider$Companion +instanceKlass com/google/protobuf/MessageReflection$1 +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostInitialUntrustedCertificateStrategyProvider +instanceKlass com/intellij/util/net/ssl/InitialUntrustedCertificateStrategyProvider +instanceKlass com/intellij/util/net/ssl/UntrustedCertificateStrategyWithReason +instanceKlass com/intellij/util/ThrowableConsumer +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/Java16SealedRecordLoader$Cache +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/Java16SealedRecordLoader +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaTypeParameter +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/LazyJavaTypeParameterResolver +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaClassDescriptor$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/descriptors/JavaClassDescriptor +instanceKlass sun/security/provider/certpath/CertId +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaClass +instanceKlass sun/security/provider/certpath/OCSPResponse$SingleResponse +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaTypeParameterListOwner +instanceKlass sun/security/provider/certpath/OCSP$RevocationStatus +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaClassifier +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaNamedElement +instanceKlass com/google/protobuf/SmallSortedMap$EntryIterator +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaModifierListOwner +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaModifierListOwner +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaAnnotationOwner +instanceKlass com/google/protobuf/GeneratedMessageV3$ExtendableMessage$ExtensionWriter +instanceKlass sun/security/provider/certpath/ResponderId +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DescriptorUtilKt +instanceKlass org/apache/lucene/analysis/hunspell/TrigramAutomaton +instanceKlass sun/security/provider/certpath/OCSPResponse +instanceKlass org/apache/lucene/analysis/hunspell/GeneratingSuggester +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/receivers/AbstractReceiverValue +instanceKlass com/google/protobuf/ByteString$CodedBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/SimpleClassicTypeSystemContext +instanceKlass sun/security/ssl/CertStatusExtension$CertStatusResponse +instanceKlass sun/security/ssl/CertStatusExtension$CertStatusResponseSpec +instanceKlass kotlin/reflect/jvm/internal/impl/types/AbstractStrictEqualityTypeChecker +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/StrictEqualityTypeChecker +instanceKlass sun/security/ssl/CertificateMessage$CertificateEntry +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeAttributesKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/FilteredAnnotations +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeCapabilitiesKt +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeSubstitutor$2 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/Annotations$DefaultImpls +instanceKlass org/apache/lucene/util/UnicodeUtil +instanceKlass kotlin/reflect/jvm/internal/impl/types/typesApproximation/CapturedTypeApproximationKt +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeSubstitutionKt +instanceKlass org/apache/lucene/analysis/hunspell/WordStorage +instanceKlass kotlin/reflect/jvm/internal/impl/util/AbstractArrayMapOwner$AbstractArrayMapAccessor +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeAttribute +instanceKlass com/google/protobuf/Writer +instanceKlass org/apache/lucene/analysis/hunspell/WordStorage$Builder +instanceKlass kotlin/reflect/jvm/internal/impl/types/AnnotationsTypeAttributeKt +instanceKlass kotlin/reflect/jvm/internal/impl/types/RawType +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/RawTypeMarker +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/DynamicTypeMarker +instanceKlass com/google/protobuf/ByteOutput +instanceKlass kotlin/reflect/jvm/internal/impl/types/DynamicTypesKt +instanceKlass com/google/protobuf/ExtensionRegistry$1 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/AbstractTypeParameterDescriptor$2$1 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/EnumEntrySyntheticClassDescriptor$EnumEntryScope$3 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/EnumEntrySyntheticClassDescriptor$EnumEntryScope$2 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/EnumEntrySyntheticClassDescriptor$EnumEntryScope$1 +instanceKlass kotlin/reflect/jvm/ReflectJvmMapping$WhenMappings +instanceKlass com/intellij/ide/projectView/impl/SelectInProjectViewImpl +instanceKlass com/intellij/ide/projectView/impl/SelectInProjectViewImplKt +instanceKlass com/intellij/largeFilesEditor/encoding/LargeFileEditorAccessor +instanceKlass com/intellij/largeFilesEditor/encoding/LargeFileEncodingWidget$1 +instanceKlass org/editorconfig/configmanagement/EditorConfigEncodingCache$CharsetData +instanceKlass org/editorconfig/configmanagement/EditorConfigEncodingCache$Companion +instanceKlass org/editorconfig/configmanagement/EditorConfigEncodingCache +instanceKlass org/editorconfig/configmanagement/ConfigEncodingManager$Companion +instanceKlass org/editorconfig/configmanagement/ConfigEncodingManager +instanceKlass com/intellij/openapi/vfs/encoding/FileEncodingProvider +instanceKlass com/intellij/openapi/application/impl/LaterInvocator$1 +instanceKlass com/google/protobuf/UnknownFieldSet$Field$Builder +instanceKlass com/google/protobuf/UnknownFieldSet$Field +instanceKlass com/intellij/database/util/ObjectPaths$1 +instanceKlass com/intellij/openapi/fileEditor/impl/LoadTextUtil +instanceKlass com/google/protobuf/ExtensionRegistry$DescriptorIntPair +instanceKlass org/apache/lucene/util/BytesRefArray$2 +instanceKlass org/apache/lucene/util/BytesRefArray$SortState +instanceKlass com/intellij/database/util/AsyncTask$whenComplete$2$invoke$lambda$1$$inlined$framed$intellij_database_core_impl$1 +instanceKlass com/google/protobuf/MessageReflection +instanceKlass com/intellij/database/util/ObjectNamePart +instanceKlass com/intellij/database/util/ObjectPaths +instanceKlass com/google/protobuf/MessageReflection$ExtensionBuilderAdapter +instanceKlass com/google/protobuf/UnknownFieldSet$Builder +instanceKlass com/intellij/ide/projectView/impl/AsyncProjectViewSupport$6 +instanceKlass com/google/protobuf/FieldSet$Builder +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcValidator +instanceKlass kotlin/collections/AbstractList$IteratorImpl +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImplKt +instanceKlass com/jetbrains/lang/makefile/toolWindow/MakefileToolWindowStripeController$Companion +instanceKlass com/jetbrains/lang/makefile/toolWindow/MakefileToolWindowStripeController +instanceKlass com/google/protobuf/DescriptorProtos$OneofOptionsOrBuilder +instanceKlass com/google/protobuf/TimestampProto +instanceKlass com/google/protobuf/DurationProto +instanceKlass com/google/protobuf/GeneratedMessage$GeneratedExtension$1 +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/descriptors/DeserializedClassDescriptor$EnumEntryClassDescriptors +instanceKlass sun/security/ssl/ServerNameExtension$SHServerNamesSpec +instanceKlass com/intellij/database/util/ErrorHandler +instanceKlass com/sun/crypto/provider/GHASH +instanceKlass com/google/protobuf/Descriptors$EnumValueDescriptor$2 +instanceKlass com/google/protobuf/Descriptors$EnumValueDescriptor$1 +instanceKlass com/sun/crypto/provider/GCM +instanceKlass com/sun/crypto/provider/GaloisCounterMode$GCMEngine +instanceKlass com/intellij/database/util/AsyncTask$Companion$executor$lambda$2$$inlined$framed$intellij_database_core_impl$1 +instanceKlass javax/crypto/spec/GCMParameterSpec +instanceKlass sun/security/ssl/ChangeCipherSpec$T13ChangeCipherSpecConsumer +instanceKlass com/google/protobuf/DescriptorProtos$FileOptions$OptimizeMode$1 +instanceKlass sun/security/ssl/ChangeCipherSpec$T10ChangeCipherSpecProducer +instanceKlass sun/security/ssl/ChangeCipherSpec$T10ChangeCipherSpecConsumer +instanceKlass sun/security/ssl/ChangeCipherSpec +instanceKlass com/google/protobuf/DescriptorProtos$Edition$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$VersionRequirement$VersionKind$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$VersionRequirement$Level$1 +instanceKlass sun/security/ssl/SSLTrafficKeyDerivation$T13TrafficKeyDerivation +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$VersionRequirementOrBuilder +instanceKlass sun/security/ssl/SSLTrafficKeyDerivation$1 +instanceKlass com/google/protobuf/DescriptorProtos$FieldOptions$OptionTargetType$1 +instanceKlass sun/security/ssl/SSLTrafficKeyDerivation$T13TrafficKeyDerivationGenerator +instanceKlass sun/security/ssl/SSLTrafficKeyDerivation$T12TrafficKeyDerivationGenerator +instanceKlass sun/security/ssl/SSLTrafficKeyDerivation$T10TrafficKeyDerivationGenerator +instanceKlass sun/security/ssl/SSLTrafficKeyDerivation$S30TrafficKeyDerivationGenerator +instanceKlass sun/security/ssl/SSLKeyDerivationGenerator +instanceKlass sun/security/ssl/SSLSecretDerivation +instanceKlass com/intellij/openapi/progress/impl/BackgroundableProcessIndicator$1 +instanceKlass javax/crypto/MacSpi +instanceKlass com/intellij/database/SqlUiService +instanceKlass javax/crypto/Mac +instanceKlass com/intellij/database/util/AsyncTask$Frame$computeAsync$1$invoke$$inlined$supply$1$1 +instanceKlass nl/hannahsten/texifyidea/TexifyIcons +instanceKlass sun/security/ssl/HKDF +instanceKlass com/fasterxml/jackson/databind/ObjectWriter$Prefetch +instanceKlass com/fasterxml/jackson/databind/ObjectWriter$GeneratorSettings +instanceKlass com/fasterxml/jackson/core/util/MinimalPrettyPrinter +instanceKlass com/google/protobuf/DescriptorProtos$ExtensionRangeOptionsOrBuilder +instanceKlass com/intellij/ui/icons/RowIcon +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonConverterKt$changeToJson$$inlined$sortedByDescending$1 +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectScanningFileCount +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectIndexingActivityFileCount +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectScanningHistoryTimes +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectIndexingActivityHistoryTimes +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectScanningHistory +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonProjectIndexingActivityHistory +instanceKlass com/google/protobuf/DescriptorProtos$EnumValueOptionsOrBuilder +instanceKlass com/google/protobuf/DescriptorProtos$EnumValueDescriptorProtoOrBuilder +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonRuntimeInfo$Companion +instanceKlass com/intellij/ui/icons/CoreIconManagerKt +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonRuntimeInfo +instanceKlass com/google/protobuf/DescriptorProtos$EnumDescriptorProto$EnumReservedRangeOrBuilder +instanceKlass com/intellij/util/CachedValueLeakChecker +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonIndexDiagnosticAppInfo$Companion +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonIndexDiagnosticAppInfo +instanceKlass com/intellij/psi/util/CachedValuesManager$1 +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonIndexingActivityDiagnostic +instanceKlass javax/crypto/KeyAgreementSpi +instanceKlass com/intellij/psi/impl/file/SourceRootIconProvider$FileLayerProvider +instanceKlass com/intellij/ide/LockedIconLayerProvider +instanceKlass sun/security/ssl/KAKeyDerivation +instanceKlass com/intellij/ide/IconLayerProvider +instanceKlass sun/security/ssl/XDHKeyExchange$XDHEKAGenerator +instanceKlass com/intellij/ide/plugins/DynamicPluginsKt +instanceKlass sun/security/ssl/XDHKeyExchange +instanceKlass com/intellij/util/io/Attempt$Companion +instanceKlass com/intellij/util/io/Attempt +instanceKlass com/google/protobuf/DescriptorProtos$EnumOptionsOrBuilder +instanceKlass kotlinx/coroutines/ThreadState +instanceKlass com/intellij/util/indexing/diagnostic/ProjectScanningHistoryImpl$Event$SuspensionEvent +instanceKlass kotlinx/coroutines/InterruptibleKt +instanceKlass java/security/spec/XECPublicKeySpec +instanceKlass sun/security/ssl/XDHKeyExchange$XDHECredentials +instanceKlass sun/security/ssl/NamedGroupCredentials +instanceKlass com/intellij/util/io/CoroutinesKt +instanceKlass com/jetbrains/python/FoldersComponentTools +instanceKlass com/intellij/ui/tree/ui/PlainSelectionTree +instanceKlass sun/security/ssl/KeyShareExtension$SHKeyShareSpec +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/NotebookVirtualFileSystem$Companion +instanceKlass com/google/protobuf/DescriptorProtos$FieldOptions$OptionRetention$1 +instanceKlass com/jetbrains/python/namespacePackages/PyNamespacePackagesService +instanceKlass com/intellij/ide/plugins/DynamicPlugins +instanceKlass sun/security/ssl/HandshakeHash$CloneableHash +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$Event$SuspensionEvent +instanceKlass sun/security/ssl/HandshakeHash$T13HandshakeHash +instanceKlass sun/security/ssl/SupportedVersionsExtension$SHSupportedVersionsSpec +instanceKlass com/jetbrains/python/namespacePackages/PyNamespacePackageCustomIdentifier +instanceKlass git4idea/index/vfs/GitIndexFileSystem$Companion +instanceKlass com/jetbrains/python/pyi/PyiCustomPackageIdentifier +instanceKlass com/jetbrains/python/psi/PyCustomPackageIdentifier +instanceKlass com/google/protobuf/DescriptorProtos$FieldOptions$EditionDefaultOrBuilder +instanceKlass sun/security/ssl/TransportContext$1 +instanceKlass sun/security/ssl/Plaintext +instanceKlass com/intellij/openapi/vfs/newvfs/RefreshKt +instanceKlass com/intellij/util/indexing/PerProjectIndexingQueue$QueuedFiles +instanceKlass com/intellij/ide/plugins/DynamicPluginEnablerKt +instanceKlass com/intellij/util/indexing/InitialRefreshKt +instanceKlass com/intellij/ide/plugins/marketplace/statistics/PluginManagerUsageCollectorKt +instanceKlass com/google/protobuf/DescriptorProtos +instanceKlass com/intellij/lang/javascript/projectView/JSNestingRulesProvider +instanceKlass com/jetbrains/python/PyIdIndexer$Companion +instanceKlass build/buf/validate/priv/FieldConstraintsOrBuilder +instanceKlass com/intellij/database/editor/DatabaseEditorNotifications$1 +instanceKlass build/buf/validate/priv/PrivateProto +instanceKlass com/google/protobuf/GeneratedMessageV3$FieldAccessorTable$OneofAccessor +instanceKlass com/google/protobuf/GeneratedMessageV3$FieldAccessorTable$FieldAccessor +instanceKlass com/google/protobuf/GeneratedMessageV3$FieldAccessorTable +instanceKlass com/intellij/ide/plugins/marketplace/statistics/PluginManagerUsageCollector$Companion +instanceKlass com/intellij/database/editor/DatabaseEditorNotifications +instanceKlass org/jetbrains/plugins/sass/projectView/SassScssNestingRulesProvider +instanceKlass com/google/protobuf/Descriptors$1 +instanceKlass com/google/protobuf/DescriptorProtos$FieldOptions$1 +instanceKlass com/intellij/database/datagrid/DataRequest$2 +instanceKlass com/google/protobuf/Internal$ListAdapter$Converter +instanceKlass com/intellij/database/datagrid/DataRequest$OutputHandler +instanceKlass com/intellij/database/datagrid/DataRequest$TxMarker +instanceKlass com/google/protobuf/Descriptors$FieldDescriptor$1 +instanceKlass com/google/protobuf/Descriptors$NumberGetter +instanceKlass com/intellij/ide/x/C/Y +instanceKlass com/google/protobuf/Descriptors +instanceKlass org/jetbrains/plugins/less/projectView/LessNestingRulesProvider +instanceKlass com/intellij/ide/x/C/D +instanceKlass com/intellij/database/connection/throwable/info/WarningInfo +instanceKlass com/intellij/ide/x/C/y +instanceKlass com/intellij/database/connection/throwable/info/ErrorInfo +instanceKlass com/intellij/ide/x/C/K7 +instanceKlass com/intellij/database/connection/throwable/info/ThrowableInfo +instanceKlass com/intellij/ide/x/C/KS +instanceKlass com/intellij/ide/x/C/w +instanceKlass com/google/protobuf/UnsafeUtil$1 +instanceKlass com/intellij/ide/x/C/Kx +instanceKlass com/intellij/ide/x/C/F +instanceKlass com/intellij/ide/x/C/xu +instanceKlass com/google/protobuf/UnsafeUtil$MemoryAccessor +instanceKlass com/google/protobuf/UnsafeUtil +instanceKlass com/intellij/lang/css/projectView/CssNestingRulesProvider +instanceKlass com/google/protobuf/Utf8$Processor +instanceKlass com/google/protobuf/Utf8 +instanceKlass com/intellij/ide/projectView/ProjectViewNestingRulesProvider +instanceKlass com/google/protobuf/Descriptors$DescriptorPool +instanceKlass com/intellij/database/datagrid/GridColumn +instanceKlass com/google/protobuf/DescriptorProtos$UninterpretedOptionOrBuilder +instanceKlass com/intellij/database/datagrid/GridDataRequest$Context +instanceKlass com/intellij/database/datagrid/DataConsumer +instanceKlass com/intellij/database/datagrid/DataProducer +instanceKlass com/intellij/util/containers/IntStack +instanceKlass com/intellij/ide/projectView/ProjectViewNestingRulesProvider$Consumer +instanceKlass com/intellij/database/DatabaseTopics +instanceKlass com/intellij/ide/projectView/impl/ProjectViewFileNestingService$NestingRule +instanceKlass com/intellij/database/DataBus$3 +instanceKlass com/intellij/ide/projectView/impl/ProjectViewFileNestingService$MyState +instanceKlass com/intellij/database/DataBus$1 +instanceKlass com/intellij/database/DataBus +instanceKlass com/google/protobuf/GeneratedMessageV3$1 +instanceKlass com/google/protobuf/GeneratedMessageV3$Builder$BuilderParentImpl +instanceKlass com/google/protobuf/SmallSortedMap$EmptySet$2 +instanceKlass com/google/protobuf/SmallSortedMap$EmptySet$1 +instanceKlass com/intellij/database/editor/DatabaseEditorHelper$4 +instanceKlass com/google/protobuf/SmallSortedMap$EmptySet +instanceKlass com/intellij/database/editor/DatabaseEditorHelper$3 +instanceKlass com/intellij/sh/lexer/_ShLexerGen +instanceKlass com/fasterxml/jackson/core/io/NumberOutput +instanceKlass com/intellij/database/editor/DatabaseEditorHelper$2 +instanceKlass com/google/protobuf/LazyFieldLite +instanceKlass com/google/protobuf/FieldSet +instanceKlass com/intellij/database/editor/DatabaseEditorHelper$1 +instanceKlass com/intellij/ide/projectView/impl/ProjectViewFileNestingService +instanceKlass java/time/format/DateTimeFormatterBuilder$2 +instanceKlass java/time/ZonedDateTime$1 +instanceKlass com/intellij/lexer/MergeFunction +instanceKlass com/intellij/database/model/DasNamespace +instanceKlass com/intellij/ide/projectView/impl/FileNestingBuilder +instanceKlass com/fasterxml/jackson/core/JsonGenerator$1 +instanceKlass com/google/protobuf/DescriptorProtos$FeatureSetOrBuilder +instanceKlass com/intellij/sh/codeInsight/ShFindUsagesProvider +instanceKlass com/fasterxml/jackson/databind/jsontype/TypeSerializer$1 +instanceKlass com/fasterxml/jackson/core/type/WritableTypeId +instanceKlass com/intellij/lang/properties/psi/PropertiesFile +instanceKlass com/intellij/openapi/util/NotNullLazyValue$3 +instanceKlass com/google/protobuf/MessageReflection$MergeTarget +instanceKlass com/intellij/ide/scratch/ScratchFileServiceImpl$5 +instanceKlass com/google/protobuf/SingleFieldBuilderV3 +instanceKlass com/intellij/lang/properties/PropertiesUtil +instanceKlass com/fasterxml/jackson/databind/ser/std/NumberSerializers$1 +instanceKlass com/intellij/database/editor/DatabaseEditorHelperCore +instanceKlass com/google/protobuf/DescriptorProtos$FieldDescriptorProto$Type$1 +instanceKlass com/google/protobuf/DescriptorProtos$FieldDescriptorProto$Label$1 +instanceKlass com/intellij/util/indexing/IndexingDataKeys +instanceKlass com/intellij/lang/LighterAST +instanceKlass com/intellij/psi/impl/FreeThreadedFileViewProvider +instanceKlass com/intellij/psi/PsiCompiledElement +instanceKlass com/intellij/openapi/util/NotNullComputable +instanceKlass javax/accessibility/AccessibleBundle$1 +instanceKlass sun/awt/AWTAccessor$AccessibleBundleAccessor +instanceKlass javax/accessibility/AccessibleBundle +instanceKlass com/intellij/psi/AbstractFileViewProvider$VirtualFileContent +instanceKlass com/intellij/psi/PsiLock +instanceKlass com/google/protobuf/DescriptorProtos$FieldOptionsOrBuilder +instanceKlass com/intellij/psi/search/PsiFileSystemItemProcessor +instanceKlass com/intellij/ide/projectView/impl/nodes/ProjectViewDirectoryHelper$1 +instanceKlass com/intellij/ide/x/C/xv +instanceKlass com/intellij/util/indexing/diagnostic/FileIndexingStatistics +instanceKlass com/google/protobuf/DescriptorProtos$DescriptorProto$ReservedRangeOrBuilder +instanceKlass com/intellij/util/indexing/FileIndexesValuesApplier +instanceKlass com/google/protobuf/DescriptorProtos$OneofDescriptorProtoOrBuilder +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Tree$Selection +instanceKlass javax/swing/event/TreeWillExpandListener +instanceKlass com/google/protobuf/DescriptorProtos$DescriptorProto$ExtensionRangeOrBuilder +instanceKlass sun/swing/AccessibleComponentAccessor +instanceKlass com/google/protobuf/DescriptorProtos$MessageOptionsOrBuilder +instanceKlass com/google/protobuf/ByteString$2 +instanceKlass com/google/protobuf/ByteString$ArraysByteArrayCopier +instanceKlass com/google/protobuf/Android +instanceKlass com/google/protobuf/ByteString$ByteIterator +instanceKlass com/google/protobuf/ByteString$ByteArrayCopier +instanceKlass com/google/protobuf/ByteString +instanceKlass com/intellij/ide/projectView/ProjectViewSelectionListener +instanceKlass com/intellij/ide/projectView/ProjectViewSelectionTopicKt +instanceKlass javax/swing/tree/PathPlaceHolder +instanceKlass com/fasterxml/jackson/annotation/JsonFilter +instanceKlass com/fasterxml/jackson/databind/annotation/JsonAppend +instanceKlass com/google/protobuf/WireFormat +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/RuntimeSourceElementFactory$RuntimeSourceElement +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/sources/JavaSourceElement +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/NewTypeVariableConstructor +instanceKlass kotlin/reflect/jvm/internal/impl/types/FlexibleTypesKt +instanceKlass com/fasterxml/jackson/databind/ser/impl/PropertySerializerMap +instanceKlass com/google/protobuf/DescriptorProtos$FieldDescriptorProtoOrBuilder +instanceKlass com/fasterxml/jackson/databind/ser/PropertyBuilder$1 +instanceKlass com/fasterxml/jackson/annotation/JsonTypeId +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$3 +instanceKlass com/google/protobuf/DescriptorProtos$ServiceDescriptorProtoOrBuilder +instanceKlass com/fasterxml/jackson/databind/ser/PropertyBuilder +instanceKlass com/intellij/util/FontUtil +instanceKlass com/google/protobuf/DescriptorProtos$EnumDescriptorProtoOrBuilder +instanceKlass com/fasterxml/jackson/databind/ser/BeanSerializerBuilder +instanceKlass com/google/protobuf/DescriptorProtos$DescriptorProtoOrBuilder +instanceKlass com/fasterxml/jackson/databind/ObjectWriter +instanceKlass com/intellij/microservices/ui/flat/EndpointsViewManager$checkAndRegisterToolwindow$3 +instanceKlass com/intellij/microservices/endpoints/EndpointsViewListener$Companion +instanceKlass com/intellij/microservices/endpoints/EndpointsViewListener +instanceKlass com/intellij/microservices/ui/flat/EndpointsViewManager$checkAndRegisterToolwindow$1 +instanceKlass org/editorconfig/core/ec4jwrappers/EditorConfigLoadErrorHandler +instanceKlass com/google/protobuf/PrimitiveNonBoxingCollection +instanceKlass com/intellij/microservices/ui/flat/EndpointsViewManager$EndpointsToolWindowFactory +instanceKlass org/editorconfig/EditorConfigRegistry +instanceKlass com/google/protobuf/LazyStringList +instanceKlass com/intellij/microservices/ui/MicroservicesUIIcons +instanceKlass org/ec4j/core/parser/EditorConfigParser +instanceKlass org/ec4j/core/parser/ParseContext +instanceKlass com/google/protobuf/DescriptorProtos$SourceCodeInfoOrBuilder +instanceKlass com/google/protobuf/DescriptorProtos$FileOptionsOrBuilder +instanceKlass org/ec4j/core/parser/ErrorHandler$3 +instanceKlass org/ec4j/core/parser/ErrorHandler$2 +instanceKlass com/google/protobuf/GeneratedMessageV3$ExtendableMessageOrBuilder +instanceKlass org/ec4j/core/parser/ErrorHandler$1 +instanceKlass org/ec4j/core/parser/ErrorHandler +instanceKlass kotlin/reflect/jvm/internal/KPropertyImplKt +instanceKlass org/ec4j/core/model/Version +instanceKlass com/google/protobuf/ProtocolStringList +instanceKlass com/google/protobuf/DescriptorProtos$FileDescriptorProtoOrBuilder +instanceKlass org/ec4j/core/model/PropertyType$PropertyValueParser$EnumValueParser +instanceKlass org/ec4j/core/model/PropertyType$PropertyValueParser$5 +instanceKlass org/ec4j/core/model/PropertyType$PropertyValueParser$4 +instanceKlass org/ec4j/core/model/PropertyType$PropertyValueParser$3 +instanceKlass org/ec4j/core/model/PropertyType$PropertyValueParser$2 +instanceKlass org/ec4j/core/model/PropertyType$PropertyValueParser$1 +instanceKlass kotlin/reflect/KProperty1$Getter +instanceKlass org/ec4j/core/model/PropertyType$PropertyValueParser +instanceKlass org/ec4j/core/model/PropertyType +instanceKlass org/ec4j/core/PropertyTypeRegistry$Builder +instanceKlass org/ec4j/core/PropertyTypeRegistry +instanceKlass com/intellij/execution/services/ServiceViewToolWindowFactory +instanceKlass org/ec4j/core/parser/AbstractValidatingHandler +instanceKlass com/intellij/openapi/wm/RegisterToolWindowTaskBuilder +instanceKlass org/ec4j/core/parser/EditorConfigHandler +instanceKlass org/ec4j/core/EditorConfigLoader +instanceKlass com/google/protobuf/CodedInputStream +instanceKlass com/intellij/util/indexing/contentQueue/CachedFileContent +instanceKlass org/ec4j/core/Cache$Caches$1 +instanceKlass org/ec4j/core/Cache$Caches +instanceKlass com/intellij/execution/services/ServiceViewDragHelper +instanceKlass org/ec4j/core/ResourcePropertiesService$Builder +instanceKlass com/intellij/util/indexing/ProjectFilesCondition +instanceKlass org/ec4j/core/ResourcePropertiesService +instanceKlass com/google/protobuf/Internal +instanceKlass org/ec4j/core/Cache +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/ruby/RubyTypeIndexer +instanceKlass com/intellij/docker/dockerFile/lexer/DockerTokenTypes +instanceKlass com/intellij/util/Processors +instanceKlass com/intellij/psi/impl/cache/impl/id/PlainTextIdIndexer +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/ruby/RubyFunctionIndexer +instanceKlass com/intellij/docker/dockerFile/lexer/DockerTokenTypeSets +instanceKlass build/buf/validate/ExpressionProto +instanceKlass org/ec4j/core/ResourceProperties$Builder +instanceKlass org/ec4j/core/ResourceProperties +instanceKlass org/editorconfig/plugincomponents/SettingsProviderComponent$Companion +instanceKlass build/buf/validate/TimestampRulesOrBuilder +instanceKlass build/buf/validate/DurationRulesOrBuilder +instanceKlass build/buf/validate/AnyRulesOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/FunctionDescriptorImpl$CopyConfiguration +instanceKlass build/buf/validate/MapRulesOrBuilder +instanceKlass build/buf/validate/RepeatedRulesOrBuilder +instanceKlass build/buf/validate/EnumRulesOrBuilder +instanceKlass build/buf/validate/BytesRulesOrBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/match/ByTypeArrangementEntryMatcher +instanceKlass build/buf/validate/StringRulesOrBuilder +instanceKlass build/buf/validate/BoolRulesOrBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/match/DefaultArrangementEntryMatcherSerializer +instanceKlass build/buf/validate/SFixed64RulesOrBuilder +instanceKlass build/buf/validate/SFixed32RulesOrBuilder +instanceKlass build/buf/validate/Fixed64RulesOrBuilder +instanceKlass org/editorconfig/Utils +instanceKlass build/buf/validate/Fixed32RulesOrBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/DefaultArrangementSettingsSerializer$MutableMixin +instanceKlass com/intellij/psi/codeStyle/arrangement/DefaultArrangementSettingsSerializer$Mixin$1 +instanceKlass build/buf/validate/SInt64RulesOrBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/DefaultArrangementSettingsSerializer$Mixin +instanceKlass com/intellij/psi/codeStyle/arrangement/DefaultArrangementSettingsSerializer +instanceKlass build/buf/validate/SInt32RulesOrBuilder +instanceKlass build/buf/validate/UInt64RulesOrBuilder +instanceKlass build/buf/validate/UInt32RulesOrBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/match/ArrangementSectionRule +instanceKlass build/buf/validate/Int64RulesOrBuilder +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsFacade +instanceKlass com/intellij/psi/codeStyle/arrangement/std/StdArrangementSettings +instanceKlass build/buf/validate/Int32RulesOrBuilder +instanceKlass build/buf/validate/DoubleRulesOrBuilder +instanceKlass com/intellij/application/options/CodeStyle +instanceKlass build/buf/validate/FloatRulesOrBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/match/AbstractRegexpArrangementMatcher +instanceKlass com/intellij/psi/codeStyle/arrangement/match/StdArrangementEntryMatcher$MyVisitor +instanceKlass build/buf/validate/FieldConstraintsOrBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/match/StdArrangementEntryMatcher$StdMatcherBuilderImpl +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/JavaDescriptorUtilKt +instanceKlass com/intellij/psi/codeStyle/modifier/CodeStyleStatusBarUIContributor +instanceKlass com/intellij/psi/codeStyle/arrangement/std/StdArrangementTokens$Regexp +instanceKlass com/intellij/psi/codeStyle/arrangement/model/ArrangementAtomMatchCondition +instanceKlass com/intellij/psi/codeStyle/arrangement/match/StdArrangementEntryMatcher$StdMatcherBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/model/ArrangementMatchConditionVisitor +instanceKlass com/intellij/psi/codeStyle/arrangement/match/StdArrangementEntryMatcher +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/Visibilities +instanceKlass build/buf/validate/OneofConstraintsOrBuilder +instanceKlass com/intellij/psi/codeStyle/arrangement/std/StdArrangementTokens$Order +instanceKlass kotlin/reflect/jvm/internal/impl/types/DisjointKeysUnionTypeSubstitution$Companion +instanceKlass com/intellij/psi/codeStyle/arrangement/match/ArrangementEntryMatcher +instanceKlass com/intellij/psi/codeStyle/arrangement/match/ArrangementMatchRule +instanceKlass kotlin/reflect/jvm/internal/impl/types/DescriptorSubstitutor +instanceKlass com/google/protobuf/GeneratedMessage$BuilderParent +instanceKlass com/google/protobuf/GeneratedMessage$ExtensionDescriptorRetriever +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/PropertyDescriptorImpl$CopyConfiguration +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil$4 +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil$5 +instanceKlass build/buf/validate/MessageConstraintsOrBuilder +instanceKlass com/intellij/lang/qml/formatter/QmlFormatCodeStyleSettingsModifier +instanceKlass build/buf/validate/ValidateProto +instanceKlass com/intellij/psi/codeStyle/arrangement/std/InvertibleArrangementSettingsToken +instanceKlass com/intellij/psi/codeStyle/arrangement/std/StdArrangementTokens +instanceKlass com/intellij/psi/codeStyle/arrangement/std/StdArrangementTokenType +instanceKlass com/intellij/psi/codeStyle/arrangement/std/StdArrangementTokens$EntryType +instanceKlass com/intellij/psi/codeStyle/arrangement/ArrangementEntry +instanceKlass com/intellij/psi/codeStyle/arrangement/model/ArrangementMatchCondition +instanceKlass com/intellij/psi/codeStyle/arrangement/ArrangementSettingsSerializer +instanceKlass org/editorconfig/configmanagement/extended/EditorConfigCodeStyleSettingsModifier +instanceKlass exa/product_analytics_pb/ProductAnalytics$RecordAnalyticsEventRequest$ExtraDefaultEntryHolder +instanceKlass exa/product_analytics_pb/ProductAnalytics +instanceKlass com/intellij/psi/codeStyle/arrangement/std/ArrangementSettingsToken +instanceKlass com/intellij/xml/arrangement/XmlRearranger +instanceKlass com/intellij/psi/codeStyle/arrangement/std/ArrangementStandardSettingsAware +instanceKlass com/intellij/psi/codeStyle/arrangement/Rearranger +instanceKlass exa/product_analytics_pb/ProductAnalytics$RecordAnalyticsEventRequestOrBuilder +instanceKlass kotlin/collections/AbstractList$Companion +instanceKlass kotlin/collections/AbstractCollection +instanceKlass kotlin/enums/EnumEntries +instanceKlass kotlin/enums/EnumEntriesKt +instanceKlass kotlin/text/StringsKt__AppendableKt +instanceKlass com/codeium/intellij/utilities/OSManager +instanceKlass exa/codeium_common_pb/CodeiumCommon +instanceKlass kotlin/jvm/JvmInline +instanceKlass com/google/protobuf/AbstractMessageLite$Builder +instanceKlass com/fasterxml/jackson/databind/util/internal/PrivateMaxEntriesMap$EntryIterator +instanceKlass com/fasterxml/jackson/databind/util/TypeKey +instanceKlass com/google/protobuf/FieldSet$FieldDescriptorLite +instanceKlass com/fasterxml/jackson/databind/ser/impl/ReadOnlyClassToSerializerMap$Bucket +instanceKlass com/fasterxml/jackson/databind/ser/impl/ReadOnlyClassToSerializerMap +instanceKlass com/google/protobuf/Descriptors$GenericDescriptor +instanceKlass com/google/protobuf/ExtensionRegistry$ExtensionInfo +instanceKlass com/google/protobuf/ExtensionLite +instanceKlass com/google/protobuf/ExtensionRegistryFactory +instanceKlass com/google/protobuf/ExtensionRegistryLite +instanceKlass com/intellij/util/indexing/diagnostic/IndexDiagnosticDumperUtils +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonDateTime$Companion +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonDateTime +instanceKlass com/intellij/util/indexing/diagnostic/JsonSharedIndexDiagnosticEvent$Companion +instanceKlass com/intellij/util/indexing/diagnostic/JsonSharedIndexDiagnosticEvent +instanceKlass com/google/protobuf/AbstractParser +instanceKlass com/intellij/psi/codeStyle/modifier/CodeStyleSettingsModifier +instanceKlass com/intellij/application/options/codeStyle/CodeStyleSchemesModel$OverridingStatus +instanceKlass com/intellij/util/indexing/diagnostic/SharedIndexDiagnostic +instanceKlass com/intellij/application/options/codeStyle/CodeStyleSchemesModelListener +instanceKlass com/google/protobuf/UnknownFieldSet +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonPercentages +instanceKlass com/google/protobuf/Parser +instanceKlass com/google/protobuf/Message$Builder +instanceKlass com/intellij/application/options/codeStyle/CodeStyleSchemesModel +instanceKlass com/intellij/application/options/schemes/SchemesModel +instanceKlass com/google/protobuf/TimestampOrBuilder +instanceKlass com/google/protobuf/GeneratedMessageV3$BuilderParent +instanceKlass com/google/protobuf/AbstractMessage$BuilderParent +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexesFusCollector$Kind$Companion +instanceKlass com/google/protobuf/MutabilityOracle +instanceKlass com/google/protobuf/MapFieldReflectionAccessor +instanceKlass com/google/protobuf/Internal$BooleanList +instanceKlass com/google/protobuf/Internal$DoubleList +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexesFusCollector$Companion +instanceKlass com/google/protobuf/Internal$FloatList +instanceKlass com/google/protobuf/Internal$LongList +instanceKlass com/google/protobuf/Internal$IntList +instanceKlass com/google/protobuf/Internal$ProtobufList +instanceKlass com/google/protobuf/Reader +instanceKlass com/google/protobuf/MessageLite$Builder +instanceKlass com/google/protobuf/AbstractMessageLite +instanceKlass org/apache/lucene/util/MathUtil +instanceKlass org/apache/lucene/util/OfflineSorter$SortPartitionTask +instanceKlass org/apache/lucene/util/OfflineSorter$Partition +instanceKlass exa/codeium_common_pb/CodeiumCommon$MetadataOrBuilder +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexContentEnumerators +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexMainContentHashEnumerator +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexContentHashEnumerator +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexHashStorages +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexChunk +instanceKlass kotlin/collections/EmptyMap +instanceKlass kotlin/collections/MapsKt__MapWithDefaultKt +instanceKlass com/google/common/collect/CollectSpliterators$FlatMapSpliterator$Factory +instanceKlass com/google/common/collect/CollectSpliterators$FlatMapSpliterator +instanceKlass com/google/common/collect/CollectSpliterators +instanceKlass com/intellij/ide/x/C/xB +instanceKlass com/google/common/math/LongMath +instanceKlass com/intellij/ide/x/C/K5 +instanceKlass com/google/common/collect/Streams +instanceKlass exa/codeium_common_pb/CodeiumCommon$ProductEventType$1 +instanceKlass com/intellij/ide/x/C/xh +instanceKlass com/intellij/ide/x/C/KT +instanceKlass com/intellij/ide/x/C/xw +instanceKlass com/intellij/ide/x/C/KK +instanceKlass com/intellij/ide/x/C/P +instanceKlass com/intellij/ide/x/C/xJ +instanceKlass com/intellij/ide/x/C/xt +instanceKlass io/grpc/stub/StreamObserver +instanceKlass io/grpc/ClientCall$Listener +instanceKlass io/grpc/stub/ClientCalls +instanceKlass io/grpc/CallOptions$Builder +instanceKlass io/grpc/CallOptions +instanceKlass io/grpc/stub/AbstractStub +instanceKlass exa/product_analytics_pb/ProductAnalyticsServiceGrpc$1 +instanceKlass com/google/protobuf/Message +instanceKlass com/google/protobuf/MessageOrBuilder +instanceKlass com/google/protobuf/MessageLite +instanceKlass com/google/protobuf/MessageLiteOrBuilder +instanceKlass io/grpc/stub/AbstractStub$StubFactory +instanceKlass exa/product_analytics_pb/ProductAnalyticsServiceGrpc +instanceKlass io/grpc/MetricInstrument +instanceKlass io/grpc/MetricInstrumentRegistry +instanceKlass io/grpc/MetricRecorder$BatchRecorder +instanceKlass io/grpc/internal/MetricRecorderImpl +instanceKlass io/grpc/internal/ReflectionLongAdderCounter +instanceKlass com/intellij/indexing/shared/platform/impl/EmptyIndexEnumerator +instanceKlass io/grpc/internal/LongCounter +instanceKlass io/grpc/internal/LongCounterFactory +instanceKlass io/grpc/internal/CallTracer$1 +instanceKlass io/grpc/internal/CallTracer +instanceKlass io/grpc/internal/ManagedChannelImpl$1ChannelCallTracerFactory +instanceKlass io/grpc/internal/ManagedChannelImpl$IdleModeTimer +instanceKlass io/grpc/internal/Rescheduler +instanceKlass io/grpc/ClientInterceptor +instanceKlass io/grpc/ClientInterceptors +instanceKlass io/grpc/internal/DelayedClientTransport$3 +instanceKlass io/grpc/internal/DelayedClientTransport$2 +instanceKlass io/grpc/internal/DelayedClientTransport$1 +instanceKlass io/grpc/internal/DelayedClientTransport$PickerState +instanceKlass io/grpc/LoadBalancer$PickSubchannelArgs +instanceKlass io/grpc/internal/DelayedClientTransport +instanceKlass io/grpc/internal/BackoffPolicyRetryScheduler +instanceKlass com/google/common/base/Ticker +instanceKlass com/google/common/base/Stopwatch +instanceKlass com/sun/jndi/dns/DnsContextFactory +instanceKlass javax/naming/spi/InitialContextFactory +instanceKlass javax/naming/InitialContext +instanceKlass javax/naming/directory/DirContext +instanceKlass javax/naming/Context +instanceKlass io/grpc/internal/DnsNameResolver$ResourceResolver +instanceKlass io/grpc/internal/JndiResourceResolverFactory$RecordFetcher +instanceKlass io/grpc/internal/JndiResourceResolverFactory +instanceKlass io/grpc/internal/DnsNameResolver$ResourceResolverFactory +instanceKlass com/intellij/ide/x/C/xU +instanceKlass io/grpc/internal/DnsNameResolver$AddressResolver +instanceKlass com/intellij/ide/x/C/xQ +instanceKlass io/grpc/NameResolver$Args$Builder +instanceKlass com/intellij/ide/x/C/e +instanceKlass io/grpc/NameResolver$Args +instanceKlass com/intellij/ide/x/C/x4 +instanceKlass io/grpc/util/SecretRoundRobinLoadBalancerProvider +instanceKlass com/google/common/base/MoreObjects$ToStringHelper$ValueHolder +instanceKlass com/google/common/base/MoreObjects$ToStringHelper +instanceKlass com/intellij/ide/x/C/xX +instanceKlass com/google/common/base/MoreObjects +instanceKlass io/grpc/LoadBalancerRegistry$LoadBalancerPriorityAccessor +instanceKlass com/google/common/base/Platform$JdkPatternCompiler +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexStorageUtil$StubChunks +instanceKlass com/google/common/base/PatternCompiler +instanceKlass com/google/common/base/Platform +instanceKlass com/google/common/base/Strings +instanceKlass io/grpc/NameResolver$ConfigOrError +instanceKlass io/grpc/LoadBalancerProvider$UnknownConfig +instanceKlass io/grpc/LoadBalancer +instanceKlass io/grpc/LoadBalancer$Factory +instanceKlass io/grpc/LoadBalancerRegistry +instanceKlass io/grpc/internal/AutoConfiguredLoadBalancerFactory +instanceKlass io/grpc/internal/ChannelTracer$2 +instanceKlass io/grpc/InternalChannelz$ChannelTrace$Event +instanceKlass io/grpc/InternalChannelz$ChannelTrace$Event$Builder +instanceKlass io/grpc/internal/ChannelTracer +instanceKlass io/grpc/internal/ManagedChannelImpl$RestrictedScheduledExecutor +instanceKlass io/grpc/internal/CallCredentialsApplyingTransportFactory +instanceKlass io/grpc/internal/ManagedChannelImpl$ExecutorHolder +instanceKlass io/grpc/InternalLogId +instanceKlass io/grpc/internal/ClientStream +instanceKlass io/grpc/internal/Stream +instanceKlass io/grpc/internal/ManagedChannelImpl$ChannelStreamProvider +instanceKlass io/grpc/internal/ClientCallImpl$ClientStreamProvider +instanceKlass io/grpc/internal/ManagedChannelImpl$DelayedTransportListener +instanceKlass io/grpc/Deadline$Ticker +instanceKlass io/grpc/Deadline +instanceKlass io/grpc/internal/RetriableStream$ChannelBufferMeter +instanceKlass io/grpc/internal/ManagedChannelImpl$UncommittedRetriableStreamsRegistry +instanceKlass io/grpc/internal/ConnectivityStateManager +instanceKlass io/grpc/internal/ManagedChannelImpl$3 +instanceKlass io/grpc/SynchronizationContext +instanceKlass io/grpc/internal/BackoffPolicy +instanceKlass io/grpc/internal/ExponentialBackoffPolicy$Provider +instanceKlass io/grpc/internal/ManagedChannelImpl$2 +instanceKlass io/grpc/Attributes$Key +instanceKlass io/grpc/internal/ManagedChannelServiceConfig +instanceKlass com/google/common/base/ExtraObjectsMethodsForWeb +instanceKlass io/grpc/Status$StatusMessageMarshaller +instanceKlass io/grpc/Status$StatusCodeMarshaller +instanceKlass io/grpc/ClientCall +instanceKlass io/grpc/LoadBalancer$PickDetailsConsumer +instanceKlass io/grpc/InternalConfigSelector +instanceKlass io/grpc/MetricRecorder +instanceKlass io/grpc/internal/CallTracer$Factory +instanceKlass io/grpc/NameResolver$ServiceConfigParser +instanceKlass io/grpc/ChannelLogger +instanceKlass io/grpc/internal/InUseStateAggregator +instanceKlass io/grpc/internal/ManagedClientTransport$Listener +instanceKlass com/google/common/util/concurrent/ListenableFuture +instanceKlass io/grpc/internal/RetryScheduler +instanceKlass io/grpc/LoadBalancer$SubchannelPicker +instanceKlass io/grpc/NameResolver$Listener2 +instanceKlass io/grpc/NameResolver$Listener +instanceKlass io/grpc/LoadBalancer$Helper +instanceKlass org/apache/lucene/util/ByteBlockPool +instanceKlass io/grpc/internal/ManagedChannelImplBuilder$ResolvedNameResolver +instanceKlass org/apache/lucene/util/BytesRefArray$IndexedBytesRefIterator +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyChannelBuilder$LocalSocketPicker +instanceKlass org/apache/lucene/util/ByteBlockPool$Allocator +instanceKlass org/apache/lucene/util/BytesRefArray +instanceKlass io/grpc/internal/AtomicBackoff +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/MultithreadEventExecutorGroup$1 +instanceKlass org/apache/lucene/util/Counter +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/DefaultEventExecutorChooserFactory$PowerOfTwoEventExecutorChooser +instanceKlass org/apache/lucene/util/BytesRefBuilder +instanceKlass org/apache/lucene/util/OfflineSorter$ByteSequencesReader +instanceKlass org/apache/lucene/util/BytesRefIterator +instanceKlass org/apache/lucene/store/BufferedChecksum +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/NioEventLoop$SelectorTuple +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/NioEventLoop$4 +instanceKlass org/apache/lucene/util/OfflineSorter$SortInfo +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/NioEventLoop$3 +instanceKlass org/apache/lucene/util/OfflineSorter$BufferSize +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/NioEventLoop$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ThreadExecutorMap$1 +instanceKlass org/apache/lucene/util/BytesRef +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/util/UnsafeRefArrayAccess +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/util/Pow2 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/util/RangeUtil +instanceKlass org/apache/lucene/analysis/hunspell/Dictionary$3 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/util/UnsafeAccess +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent$Mpsc$1 +instanceKlass org/apache/lucene/util/SortableBytesRefArray +instanceKlass com/intellij/ide/x/C/xT +instanceKlass com/intellij/ide/x/C/KH +instanceKlass com/intellij/ide/x/C/xi +instanceKlass org/jetbrains/plugins/textmate/language/TextMateLanguageDescriptor +instanceKlass org/jetbrains/plugins/textmate/editor/TextMateEditorUtilsKt +instanceKlass com/intellij/ide/x/C/G +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent$Mpsc +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultSelectStrategy +instanceKlass io/grpc/netty/shaded/io/netty/channel/SelectStrategy +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/SingleThreadEventExecutor$1 +instanceKlass org/apache/lucene/codecs/CodecUtil +instanceKlass io/grpc/netty/shaded/io/netty/util/IntSupplier +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelPromise +instanceKlass com/jetbrains/ls/K +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/ThreadProperties +instanceKlass com/jetbrains/x/x/O +instanceKlass com/jetbrains/x/x/xu +instanceKlass com/jetbrains/x/x/e +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ThreadExecutorMap$3 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/UnpaddedInternalThreadLocalMap +instanceKlass com/jetbrains/x/x/o +instanceKlass com/jetbrains/x/x/A +instanceKlass com/sun/org/apache/xerces/internal/dom/CharacterDataImpl$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/FastThreadLocal +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ThreadExecutorMap +instanceKlass org/w3c/dom/Text +instanceKlass org/w3c/dom/CharacterData +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/StringUtil +instanceKlass com/jetbrains/x/x/K +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/GlobalEventExecutor$TaskRunner +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/GlobalEventExecutor$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/PromiseTask$SentinelRunnable +instanceKlass com/sun/beans/finder/InstanceFinder +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PriorityQueueNode +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/AbstractScheduledEventExecutor$2 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/AbstractScheduledEventExecutor$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/ScheduledFuture +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PriorityQueue +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/ProgressivePromise +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/ProgressiveFuture +instanceKlass com/jetbrains/x/x/V +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/DefaultFutureListeners +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/DefaultPromise$CauseHolder +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/AbstractFuture +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/EventExecutorChooserFactory$EventExecutorChooser +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/DefaultEventExecutorChooserFactory +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/ThreadPerTaskExecutor +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/RejectedExecutionHandlers$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/RejectedExecutionHandler +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/RejectedExecutionHandlers +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultSelectStrategyFactory +instanceKlass io/grpc/netty/shaded/io/netty/channel/SelectStrategyFactory +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/FutureListener +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/Promise +instanceKlass com/jetbrains/x/x/h +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/EventExecutorChooserFactory +instanceKlass com/jetbrains/x/x/T +instanceKlass com/jetbrains/x/x/l +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/AbstractEventExecutorGroup +instanceKlass com/jetbrains/x/x/J +instanceKlass io/grpc/netty/shaded/io/grpc/netty/Utils$2 +instanceKlass com/jetbrains/x/x/H +instanceKlass com/jetbrains/x/x/a +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/DefaultThreadFactory +instanceKlass io/grpc/internal/ConnectionClientTransport +instanceKlass io/grpc/internal/ManagedClientTransport +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyChannelBuilder$NettyTransportFactory +instanceKlass com/google/common/util/concurrent/ThreadFactoryBuilder$1 +instanceKlass com/google/common/util/concurrent/ThreadFactoryBuilder +instanceKlass io/grpc/internal/SharedResourceHolder$Instance +instanceKlass io/grpc/internal/SharedResourceHolder$1 +instanceKlass io/grpc/internal/SharedResourceHolder$ScheduledExecutorFactory +instanceKlass io/grpc/internal/SharedResourceHolder +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelHandler +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ProtocolNegotiators$ClientTlsProtocolNegotiator +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ProtocolNegotiator$ServerFactory +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ProtocolNegotiator +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ProtocolNegotiators +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyChannelBuilder$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslUtils$6 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslUtils$5 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslUtils$4 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslUtils$3 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslUtils$2 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslUtils$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkAlpnSslUtils +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/Conscrypt +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator$4 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelectionListener +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator$3 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator$2 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelector +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkApplicationProtocolNegotiator$AllocatorAwareSslEngineWrapperFactory +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkApplicationProtocolNegotiator$SslEngineWrapperFactory +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelectionListenerFactory +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelectorFactory +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkBaseApplicationProtocolNegotiator +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkSslContext$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslUtils +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkSslContext$Defaults +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/JdkApplicationProtocolNegotiator +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/ApplicationProtocolNegotiator +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslContext$1 +instanceKlass com/jetbrains/django/lang/template/parsing/DjangoTemplateTokenTypes +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslContext +instanceKlass com/intellij/openapi/util/ModificationTracker$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SupportedCipherSuiteFilter +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2SecurityUtil +instanceKlass io/grpc/netty/shaded/io/grpc/netty/GrpcSslContexts$1 +instanceKlass javax/net/ssl/SSLEngineResult +instanceKlass sun/security/ssl/SSLConfiguration$CustomizedServerSignatureSchemes +instanceKlass com/intellij/webSymbols/context/WebSymbolsContextSourceProximityProvider$Result +instanceKlass com/intellij/webcore/libraries/ScriptingLibraryTable +instanceKlass io/grpc/netty/shaded/io/grpc/netty/JettyTlsUtil$Java9AlpnUnavailabilityCauseHolder +instanceKlass io/grpc/netty/shaded/io/grpc/netty/JettyTlsUtil +instanceKlass com/intellij/lang/javascript/library/LibraryCommitChangesMerger +instanceKlass com/intellij/psi/ResolveResult +instanceKlass com/intellij/util/IdempotenceChecker$ResultWithLog +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/NativeStaticallyReferencedJniMethods +instanceKlass com/intellij/javascript/webSymbols/nodejs/NodeJsProjectToolContextProvider +instanceKlass com/intellij/javascript/webSymbols/nodejs/PackageJsonContextProvider +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/SSL +instanceKlass com/intellij/javascript/webSymbols/JSWebSymbolIdeLibraryProvider +instanceKlass com/intellij/webSymbols/context/WebSymbolsContextSourceProximityProvider$Companion +instanceKlass com/intellij/util/IdempotenceChecker +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/ResultCallback +instanceKlass com/intellij/webSymbols/context/WebSymbolsContextSourceProximityProvider +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/AsyncTask +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/CertificateCallback +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/SSLTask$1 +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/SSLTask$TaskCallback +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/SSLTask +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/AsyncTask +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/CertificateCallback +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/SSLTask +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/Library +instanceKlass javax/net/ssl/SSLEngine +instanceKlass com/intellij/webSymbols/context/impl/ContextConfigInDir +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/ApplicationProtocolAccessor +instanceKlass com/intellij/webSymbols/utils/WebSymbolUtils +instanceKlass com/intellij/webSymbols/context/impl/WebSymbolsContextKindRulesImpl +instanceKlass com/intellij/webSymbols/context/WebSymbolsContextKindRules$Companion +instanceKlass com/intellij/webSymbols/context/WebSymbolsContextKindRules +instanceKlass com/intellij/webSymbols/context/WebSymbolsContextKindRules$EnablementRules +instanceKlass com/intellij/webSymbols/webTypes/WebTypesScopeBase$createContextRulesCache$1$RulesEntry +instanceKlass com/intellij/webSymbols/webTypes/WebTypesScopeBase$WebTypesJsonOriginImpl$WhenMappings +instanceKlass com/intellij/webSymbols/webTypes/WebTypesEmbeddedIconLoader +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeSource +instanceKlass com/intellij/javascript/webSymbols/types/TypeScriptSymbolTypeSupport$Companion +instanceKlass com/intellij/javascript/webSymbols/types/TypeScriptSymbolTypeSupport +instanceKlass com/intellij/html/webSymbols/attributes/WebSymbolHtmlAttributeValueTypeSupport +instanceKlass com/intellij/webSymbols/WebSymbolTypeSupport +instanceKlass com/intellij/javascript/webSymbols/types/WebTypesSymbolTypeSupportFactory +instanceKlass com/intellij/webSymbols/webTypes/impl/WebTypesSymbolTypeSupportFactoryEP$Companion +instanceKlass com/intellij/webSymbols/webTypes/json/WebTypesJsonUtilsKt +instanceKlass com/intellij/webSymbols/webTypes/WebTypesSymbolTypeSupportFactory$Companion +instanceKlass com/intellij/webSymbols/webTypes/WebTypesSymbolTypeSupportFactory +instanceKlass com/intellij/webSymbols/WebSymbolOrigin$Companion +instanceKlass com/intellij/webSymbols/webTypes/WebTypesScopeBase$WebTypesJsonOriginImpl +instanceKlass com/intellij/webSymbols/webTypes/WebTypesJsonOrigin +instanceKlass com/intellij/webSymbols/WebSymbolOrigin +instanceKlass com/jetbrains/ls/x +instanceKlass com/jetbrains/ls/responses/LicenseOld +instanceKlass com/intellij/webSymbols/webTypes/WebTypesScopeBase$Companion +instanceKlass com/jetbrains/ls/responses/EncodedAsset +instanceKlass com/intellij/webSymbols/impl/StaticWebSymbolsScopeBase +instanceKlass com/intellij/webSymbols/impl/StaticWebSymbolsScope +instanceKlass com/intellij/webSymbols/WebSymbolsScope +instanceKlass com/intellij/webSymbols/context/WebSymbolsContextRulesProvider +instanceKlass com/intellij/ide/x/d/p +instanceKlass com/intellij/ide/x/n +instanceKlass com/intellij/ide/x/d/x +instanceKlass com/intellij/ide/x/d/X +instanceKlass com/intellij/ide/x/C/x9 +instanceKlass com/intellij/ide/x/p/q +instanceKlass com/intellij/indexing/shared/platform/impl/HashBasedMapReduceIndex$2 +instanceKlass com/intellij/indexing/shared/platform/impl/StubSharedIndexExtension$StubBuilderVersionFilter +instanceKlass com/intellij/util/io/UnmodifiableEnumeratorWrapper +instanceKlass com/intellij/util/io/InMemoryEnumerator +instanceKlass com/intellij/indexing/shared/platform/impl/StubSharedIndexExtension$UsageTrackingEnumerator +instanceKlass com/jetbrains/x/x/x/x/N/K/x +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/EmptyArrays +instanceKlass io/grpc/netty/shaded/io/netty/internal/tcnative/SSLContext +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/PemEncoded +instanceKlass com/jetbrains/x/x/xO +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/OpenSsl +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/IdentityCipherSuiteFilter +instanceKlass javax/net/ssl/KeyManagerFactory +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/SslContextBuilder +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/ApplicationProtocolUtil +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/ApplicationProtocolConfig +instanceKlass io/grpc/netty/shaded/io/netty/handler/ssl/CipherSuiteFilter +instanceKlass io/grpc/netty/shaded/io/grpc/netty/GrpcSslContexts +instanceKlass io/grpc/ConfiguratorRegistry +instanceKlass io/grpc/InternalConfiguratorRegistry +instanceKlass io/grpc/InternalChannelz +instanceKlass com/google/common/collect/CollectPreconditions +instanceKlass com/google/common/collect/Hashing +instanceKlass com/intellij/codeInsight/template/impl/TemplateSettings$TemplateKey +instanceKlass com/google/common/collect/Iterables +instanceKlass com/google/common/collect/AbstractMapEntry +instanceKlass com/google/common/collect/BiMap +instanceKlass com/google/common/collect/UnmodifiableIterator +instanceKlass com/jetbrains/x/x/x/x/N/E +instanceKlass com/google/common/collect/ImmutableMap +instanceKlass com/jetbrains/x/x/x/x/N/h +instanceKlass com/jetbrains/x/x/x/x/N/G +instanceKlass com/jetbrains/x/x/x/x/N/w +instanceKlass com/jetbrains/x/x/x/x/N/U +instanceKlass com/jetbrains/x/x/x/x/x/s +instanceKlass io/grpc/NameResolverRegistry$NameResolverPriorityAccessor +instanceKlass io/grpc/InternalServiceProviders +instanceKlass io/grpc/NameResolver +instanceKlass com/jetbrains/x/x/x/x/K/C/K +instanceKlass com/jetbrains/x/x/x/x/K/C/x +instanceKlass com/jetbrains/x/x/x/x/K/o/x +instanceKlass com/jetbrains/x/x/x/x/K/K/K +instanceKlass com/jetbrains/x/x/x/x/K/K/x +instanceKlass com/jetbrains/x/x/x/x/K/x/x +instanceKlass org/jetbrains/plugins/textmate/language/preferences/TextMateSnippet +instanceKlass io/grpc/NameResolverRegistry +instanceKlass com/jetbrains/x/x/x/x/x/o +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCBundleReader$readSnippets$2$1$1$WhenMappings +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyChannelBuilder$NettyChannelDefaultPortProvider +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyChannelBuilder$NettyChannelTransportFactoryBuilder +instanceKlass io/grpc/CompressorRegistry +instanceKlass io/grpc/Codec$Identity +instanceKlass io/grpc/DecompressorRegistry$DecompressorInfo +instanceKlass io/grpc/Codec$Gzip +instanceKlass com/intellij/codeInsight/template/LiveTemplateContextsSnapshot +instanceKlass io/grpc/Codec +instanceKlass io/grpc/Compressor +instanceKlass com/intellij/codeInsight/template/impl/Variable +instanceKlass com/google/common/base/Joiner +instanceKlass kotlin/collections/builders/MapBuilder$Companion +instanceKlass com/intellij/codeInsight/template/impl/TemplateContext +instanceKlass kotlin/collections/builders/MapBuilder +instanceKlass io/grpc/Decompressor +instanceKlass io/grpc/DecompressorRegistry +instanceKlass kotlin/collections/builders/ListBuilder$Itr +instanceKlass org/jetbrains/plugins/textmate/language/preferences/Preferences +instanceKlass org/jetbrains/plugins/textmate/bundles/TextMatePreferences +instanceKlass org/jetbrains/plugins/textmate/language/preferences/TextMateShellVariable +instanceKlass org/jetbrains/plugins/textmate/language/TextMateScopeSelectorOwner +instanceKlass kotlin/collections/builders/ListBuilderKt +instanceKlass com/intellij/openapi/options/CompoundScheme +instanceKlass com/intellij/codeInsight/template/LiveTemplateContextsState +instanceKlass io/grpc/Channel +instanceKlass io/grpc/internal/BackoffPolicy$Provider +instanceKlass io/grpc/NameResolver$Factory +instanceKlass org/jetbrains/plugins/textmate/language/syntax/InjectionNodeDescriptor +instanceKlass io/grpc/netty/shaded/io/grpc/netty/NettyChannelBuilder$DefaultProtocolNegotiator +instanceKlass io/grpc/internal/TimeProvider$1 +instanceKlass io/grpc/internal/TimeProvider +instanceKlass io/grpc/internal/TransportTracer$Factory +instanceKlass io/grpc/internal/TransportTracer +instanceKlass com/intellij/sql/liveTemplates/LiveTemplateContextWrapper +instanceKlass com/intellij/indexing/shared/platform/impl/StubSharedIndexExtension +instanceKlass com/intellij/database/liveTemplates/SqlTemplateContextTypeCommon +instanceKlass com/intellij/indexing/shared/platform/impl/HashBasedMapReduceIndex$MyKeyDescriptor +instanceKlass org/jetbrains/plugins/textmate/language/preferences/IndentationRules +instanceKlass io/grpc/internal/SharedResourcePool +instanceKlass io/grpc/netty/shaded/io/netty/channel/socket/SocketChannelConfig +instanceKlass io/grpc/netty/shaded/io/netty/channel/socket/DuplexChannelConfig +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelConfig +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/GenericFutureListener +instanceKlass io/grpc/netty/shaded/io/netty/channel/AbstractChannel$AbstractUnsafe +instanceKlass io/grpc/netty/shaded/io/netty/channel/nio/AbstractNioChannel$NioUnsafe +instanceKlass io/grpc/netty/shaded/io/netty/channel/EventLoop +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/OrderedEventExecutor +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/EventExecutor +instanceKlass io/grpc/netty/shaded/io/netty/channel/Channel$Unsafe +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelId +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelFuture +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/Future +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelPipeline +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelInboundInvoker +instanceKlass io/grpc/netty/shaded/io/netty/util/Attribute +instanceKlass io/grpc/netty/shaded/io/netty/channel/ReflectiveChannelFactory +instanceKlass io/grpc/internal/ManagedChannelImplBuilder$ClientTransportFactoryBuilder +instanceKlass io/grpc/internal/ManagedChannelImplBuilder$ChannelBuilderDefaultPortProvider +instanceKlass io/grpc/netty/shaded/io/grpc/netty/ProtocolNegotiator$ClientFactory +instanceKlass sun/security/ssl/OutputRecord$T13PaddingHolder +instanceKlass io/grpc/internal/ClientTransportFactory +instanceKlass sun/security/ssl/KeyShareExtension$CHKeyShareSpec +instanceKlass io/grpc/ManagedChannelRegistry$1 +instanceKlass io/grpc/ServiceProviders$1 +instanceKlass java/security/interfaces/ECPrivateKey +instanceKlass com/intellij/webSymbols/webTypes/json/NameVariants +instanceKlass com/intellij/webSymbols/webTypes/json/MatchNames +instanceKlass com/intellij/webSymbols/webTypes/json/CanonicalNames +instanceKlass com/intellij/webSymbols/webTypes/json/ReferenceNameConversion +instanceKlass com/intellij/webSymbols/webTypes/json/ReferenceWithProps +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtensionSurroundingPairs +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtensionIndentationRules +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtensionComments +instanceKlass com/intellij/sql/liveTemplates/SqlDialectLiveTemplateContextProvider +instanceKlass io/grpc/netty/shaded/io/netty/util/DefaultAttributeMap +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtensionLanguageConfiguration +instanceKlass com/intellij/codeInsight/template/LiveTemplateContextProvider +instanceKlass io/grpc/netty/shaded/io/netty/channel/socket/SocketChannel +instanceKlass io/grpc/netty/shaded/io/netty/channel/socket/DuplexChannel +instanceKlass io/grpc/netty/shaded/io/netty/channel/ServerChannel +instanceKlass io/grpc/netty/shaded/io/netty/channel/Channel +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelOutboundInvoker +instanceKlass com/intellij/codeInsight/template/TemplateContextType +instanceKlass io/grpc/netty/shaded/io/netty/util/AttributeMap +instanceKlass org/jetbrains/plugins/textmate/language/PreferencesReadUtil +instanceKlass org/jetbrains/plugins/textmate/language/syntax/SyntaxProxyDescriptor +instanceKlass io/grpc/netty/shaded/io/grpc/netty/Utils$1 +instanceKlass org/jetbrains/plugins/textmate/language/syntax/SyntaxNodeDescriptorImpl +instanceKlass com/intellij/codeInsight/template/LiveTemplateContext +instanceKlass com/intellij/codeInsight/template/LiveTemplateContextService +instanceKlass com/intellij/codeInsight/template/impl/DefaultLiveTemplateEP +instanceKlass com/fasterxml/jackson/databind/deser/std/UntypedObjectDeserializerNR$Scope +instanceKlass com/intellij/codeInsight/template/impl/DefaultLiveTemplatesProvider +instanceKlass org/jetbrains/plugins/textmate/bundles/TextMateFileNameMatcher +instanceKlass org/jetbrains/plugins/textmate/bundles/TextMateGrammar +instanceKlass com/intellij/codeInsight/template/impl/TemplateSettings$State +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCBundleReader +instanceKlass com/intellij/codeInsight/template/Template +instanceKlass com/intellij/codeInsight/lookup/PresentableLookupValue +instanceKlass com/intellij/codeInsight/template/impl/TemplateSettings +instanceKlass kotlin/reflect/jvm/internal/calls/CallerKt +instanceKlass kotlin/reflect/jvm/internal/calls/Caller$DefaultImpls +instanceKlass kotlin/reflect/full/KCallables +instanceKlass com/intellij/codeInsight/template/impl/LiveTemplatesOptionsTopHitProvider +instanceKlass kotlin/reflect/jvm/KCallablesJvm +instanceKlass com/fasterxml/jackson/module/kotlin/ValueCreator +instanceKlass com/fasterxml/jackson/databind/util/TokenBuffer$1 +instanceKlass com/fasterxml/jackson/databind/util/TokenBuffer$Segment +instanceKlass com/intellij/codeInsight/hint/QuestionAction +instanceKlass com/intellij/ui/HintHint +instanceKlass com/intellij/webSymbols/webTypes/json/NamePatternTemplate +instanceKlass com/intellij/codeInsight/hint/ClientHintManager +instanceKlass com/fasterxml/jackson/databind/deser/impl/PropertyValue +instanceKlass com/intellij/webSymbols/webTypes/json/NamePatternBase +instanceKlass com/fasterxml/jackson/databind/deser/impl/PropertyValueBuffer +instanceKlass com/intellij/codeInsight/CodeInsightSettings +instanceKlass com/intellij/dvcs/DvcsUtil +instanceKlass com/intellij/ide/favoritesTreeView/FavoritesListProvider +instanceKlass com/intellij/application/options/editor/EditorSmartKeysConfigurableKt +instanceKlass com/intellij/ide/util/PropertyName +instanceKlass com/intellij/dvcs/ui/DvcsBundle +instanceKlass com/intellij/ide/favoritesTreeView/FavoritesViewSettings +instanceKlass com/intellij/application/options/editor/EditorOptionsPanelKt +instanceKlass com/intellij/dvcs/branch/DvcsBranchSettingsKt +instanceKlass it/unimi/dsi/fastutil/objects/ObjectOpenCustomHashSet$SetIterator +instanceKlass com/intellij/lang/javascript/linter/JSLinterConfigChangeTracker$JSLinterConfigFileDocumentListener +instanceKlass com/intellij/lang/javascript/linter/JSLinterConfigChangeTracker$JSLinterConfigFileVfsListener +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/StartUpPerformanceReporter$Companion +instanceKlass com/intellij/diagnostic/startUpPerformanceReporter/StartUpPerformanceReporter +instanceKlass com/intellij/ide/startup/impl/StartupManagerImpl$Companion$addActivityEpListener$1 +instanceKlass sun/security/ec/ECOperations +instanceKlass com/intellij/diagnostic/StartUpPerformanceService$Companion +instanceKlass com/intellij/diagnostic/StartUpPerformanceService +instanceKlass com/intellij/ide/projectView/impl/AbstractUrl +instanceKlass com/intellij/ide/favoritesTreeView/FavoritesManager +instanceKlass com/fasterxml/jackson/databind/deser/impl/PropertyBasedCreator +instanceKlass com/intellij/application/options/editor/EditorOptionsTopHitProvider +instanceKlass sun/security/ssl/ECDHKeyExchange$ECDHEPossession +instanceKlass com/intellij/webSymbols/webTypes/json/ContextConfig +instanceKlass sun/security/ssl/KeyShareExtension$KeyShareEntry +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarWidgetsOptionProvider +instanceKlass sun/security/ssl/XDHKeyExchange$1 +instanceKlass java/security/interfaces/XECPrivateKey +instanceKlass java/security/interfaces/XECPublicKey +instanceKlass com/intellij/openapi/vcs/impl/PartialLineStatusTrackerManagerState$Companion +instanceKlass com/intellij/ide/bookmarks/BookmarkManager$MyDocumentListener +instanceKlass java/security/KeyPair +instanceKlass com/intellij/openapi/vcs/impl/PartialLineStatusTrackerManagerState +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyEditorFactoryListener +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyDocumentListener +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyApplicationListener +instanceKlass git4idea/commands/GitLineHandlerListener +instanceKlass com/intellij/openapi/vcs/LineProcessEventListener +instanceKlass com/intellij/openapi/vcs/ProcessEventListener +instanceKlass com/intellij/ide/ui/search/NotABooleanOptionDescription +instanceKlass com/intellij/ide/ui/search/BooleanOptionDescription$RequiresRebuild +instanceKlass com/intellij/ide/bookmark/BookmarksManagerImplKt +instanceKlass git4idea/branch/GitBranchUtil +instanceKlass com/intellij/ide/ui/PluginOptionsTopHitProvider +instanceKlass com/intellij/ide/ui/RegistryOptionsTopHitProvider +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ThrowableUtil +instanceKlass kotlin/reflect/jvm/internal/impl/types/SpecialTypesKt +instanceKlass com/intellij/ide/ui/EditorOptionsTopHitProvider$Ex +instanceKlass com/jetbrains/rdserver/daemon/RdServerEditorTracker$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/NativeLibraryLoader$1 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/NativeLibraryUtil +instanceKlass com/jetbrains/rdserver/editors/BackendEditorHostListener$Companion +instanceKlass com/jetbrains/rdserver/editors/BackendEditorHostListener +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/NotFoundClasses$ClassRequest +instanceKlass com/intellij/codeInsight/daemon/impl/EditorTracker$1 +instanceKlass com/intellij/openapi/fileChooser/FileElement +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/NativeLibraryLoader +instanceKlass com/intellij/tasks/config/TaskSettings +instanceKlass com/intellij/codeInsight/daemon/impl/EditorTracker$Companion +instanceKlass com/intellij/openapi/application/ApplicationBundle +instanceKlass com/intellij/openapi/extensions/SmartExtensionPoint$1 +instanceKlass com/intellij/ide/ui/EditorOptionsTopHitProvider +instanceKlass io/grpc/netty/shaded/io/netty/channel/DefaultAddressedEnvelope +instanceKlass io/grpc/netty/shaded/io/netty/channel/AddressedEnvelope +instanceKlass com/intellij/openapi/extensions/SmartExtensionPoint +instanceKlass sun/security/util/math/MutableIntegerModuloP +instanceKlass com/intellij/ide/SelectInManager +instanceKlass sun/security/jca/JCAUtil$CachedSecureRandomHolder +instanceKlass com/jetbrains/python/newProject/welcome/PyWelcomeSettings$State +instanceKlass sun/security/ec/XECOperations +instanceKlass com/jetbrains/python/newProject/welcome/PyWelcomeSettings$Companion +instanceKlass io/grpc/netty/shaded/io/netty/buffer/ByteBufHolder +instanceKlass com/jetbrains/python/newProject/welcome/PyWelcomeSettings +instanceKlass com/intellij/ide/GeneralSettingsConfigurableKt +instanceKlass sun/security/ec/XECParameters +instanceKlass com/jetbrains/python/newProject/welcome/PyWelcome +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ReferenceCountUpdater +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ClassInitializerUtil +instanceKlass io/grpc/netty/shaded/io/netty/channel/epoll/NativeDatagramPacketArray$NativeDatagramPacket +instanceKlass io/grpc/netty/shaded/io/netty/util/AbstractReferenceCounted +instanceKlass io/grpc/netty/shaded/io/netty/channel/FileRegion +instanceKlass io/grpc/netty/shaded/io/netty/util/ReferenceCounted +instanceKlass sun/security/ssl/XDHKeyExchange$XDHEPossession +instanceKlass com/intellij/openapi/externalSystem/model/Key +instanceKlass com/intellij/openapi/externalSystem/model/DataNode +instanceKlass sun/security/ssl/ECDHKeyExchange$ECDHEXDHKAGenerator +instanceKlass io/grpc/netty/shaded/io/netty/channel/unix/PeerCredentials +instanceKlass sun/security/ssl/ECDHKeyExchange$ECDHEKAGenerator +instanceKlass sun/security/ssl/ECDHKeyExchange$ECDHKAGenerator +instanceKlass sun/security/ssl/ECDHKeyExchange$ECDHEPossessionGenerator +instanceKlass sun/security/ssl/ECDHKeyExchange +instanceKlass sun/security/ssl/DHKeyExchange$DHEKAGenerator +instanceKlass sun/security/ssl/DHKeyExchange$DHEPossessionGenerator +instanceKlass com/intellij/openapi/externalSystem/util/ExternalSystemApiUtil$1 +instanceKlass sun/security/ssl/DHKeyExchange +instanceKlass sun/security/ssl/RSAKeyExchange$RSAKAGenerator +instanceKlass sun/security/ssl/RSAKeyExchange$EphemeralRSAPossessionGenerator +instanceKlass sun/security/ssl/RSAKeyExchange +instanceKlass io/grpc/netty/shaded/io/netty/channel/epoll/Native +instanceKlass com/intellij/ide/ui/SystemOptionsTopHitProvider +instanceKlass sun/security/ssl/SSLKeyExchange$T13KeyAgreement +instanceKlass sun/security/ssl/SSLKeyAgreement +instanceKlass sun/security/ssl/SSLPossessionGenerator +instanceKlass com/intellij/openapi/externalSystem/util/ExternalSystemApiUtil +instanceKlass com/jetbrains/python/newProject/welcome/PyWelcomeCollector$Companion +instanceKlass sun/security/ssl/SSLKeyExchange +instanceKlass sun/security/ssl/SSLHandshakeBinding +instanceKlass com/intellij/ide/ui/search/OptionDescription +instanceKlass sun/security/ssl/SSLKeyAgreementGenerator +instanceKlass com/intellij/ide/cds/CDSPaths$Companion$computePaths$$inlined$sortedBy$1 +instanceKlass io/grpc/netty/shaded/io/netty/channel/epoll/Epoll +instanceKlass sun/security/ssl/PskKeyExchangeModesExtension$PskKeyExchangeModesSpec +instanceKlass com/intellij/ide/cds/CDSPaths$Companion +instanceKlass sun/security/ssl/SupportedVersionsExtension$CHSupportedVersionsSpec +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$SignatureSchemesSpec +instanceKlass com/intellij/ide/cds/CDSPaths +instanceKlass io/grpc/netty/shaded/io/netty/util/NettyRuntime$AvailableProcessorsHolder +instanceKlass com/intellij/ide/cds/CDSFUSCollector$Companion +instanceKlass sun/security/ssl/SessionTicketExtension$SessionTicketSpec +instanceKlass io/grpc/netty/shaded/io/netty/util/NettyRuntime +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension$ExtendedMasterSecretSpec +instanceKlass io/grpc/netty/shaded/io/netty/channel/EventLoopGroup +instanceKlass sun/security/ssl/CertStatusExtension$CertStatusRequestV2Spec +instanceKlass com/intellij/openapi/externalSystem/service/InProcessExternalSystemCommunicationManager +instanceKlass io/grpc/netty/shaded/io/netty/util/concurrent/EventExecutorGroup +instanceKlass sun/security/ssl/ECPointFormatsExtension$ECPointFormatsSpec +instanceKlass sun/security/ssl/SupportedGroupsExtension$SupportedGroupsSpec +instanceKlass com/intellij/database/editor/DatabaseStartupActivity$ConsoleConfigurator +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/calls/inference/CapturedTypeConstructorKt +instanceKlass com/intellij/execution/rmi/IdeaWatchdog +instanceKlass com/intellij/ide/ui/AppearanceConfigurableKt +instanceKlass com/intellij/configurationStore/schemeManager/SchemeChangeApplicator +instanceKlass io/grpc/netty/shaded/io/grpc/netty/Utils$DefaultEventLoopGroupResource +instanceKlass sun/security/ssl/CertStatusExtension$CertStatusRequest +instanceKlass java/rmi/server/RMISocketFactory +instanceKlass java/rmi/server/RMIServerSocketFactory +instanceKlass sun/security/ssl/CertStatusExtension$CertStatusRequestSpec +instanceKlass java/rmi/server/RMIClientSocketFactory +instanceKlass com/intellij/configurationStore/schemeManager/SchemeFileTracker +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/SubstitutingScope +instanceKlass sun/security/ssl/ServerNameExtension$CHServerNamesSpec +instanceKlass sun/security/ssl/SSLExtension$SSLExtensionSpec +instanceKlass io/grpc/internal/GrpcUtil$5 +instanceKlass jdk/internal/platform/cgroupv1/CgroupV1SubsystemController +instanceKlass sun/security/ssl/SSLExtension$ClientExtensions +instanceKlass io/grpc/internal/GrpcUtil$4 +instanceKlass jdk/internal/platform/CgroupSubsystemController +instanceKlass sun/security/ssl/PreSharedKeyExtension$SHPreSharedKeyStringizer +instanceKlass sun/security/ssl/PreSharedKeyExtension$SHPreSharedKeyAbsence +instanceKlass sun/security/ssl/PreSharedKeyExtension$SHPreSharedKeyConsumer +instanceKlass com/intellij/execution/rmi/RemoteServer +instanceKlass io/grpc/internal/GrpcUtil$3 +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeSubstitutor +instanceKlass sun/security/ssl/PreSharedKeyExtension$SHPreSharedKeyProducer +instanceKlass com/intellij/ide/ui/OptionsTopHitProvider$Companion +instanceKlass sun/security/ssl/PreSharedKeyExtension$CHPreSharedKeyStringizer +instanceKlass sun/security/ssl/PreSharedKeyExtension$CHPreSharedKeyOnTradeAbsence +instanceKlass sun/security/ssl/PreSharedKeyExtension$CHPreSharedKeyUpdate +instanceKlass jdk/internal/platform/cgroupv1/CgroupV1Subsystem +instanceKlass com/intellij/ide/ui/OptionsTopHitProvider +instanceKlass io/grpc/CallOptions$Key +instanceKlass sun/security/ssl/PreSharedKeyExtension$CHPreSharedKeyOnLoadAbsence +instanceKlass sun/security/ssl/PreSharedKeyExtension$CHPreSharedKeyConsumer +instanceKlass jdk/internal/platform/CgroupV1Metrics +instanceKlass jdk/internal/platform/CgroupSubsystem +instanceKlass io/grpc/internal/GrpcUtil$1 +instanceKlass sun/security/ssl/PreSharedKeyExtension$CHPreSharedKeyProducer +instanceKlass io/grpc/internal/ProxyDetectorImpl$2 +instanceKlass sun/security/ssl/PreSharedKeyExtension +instanceKlass io/grpc/internal/ProxyDetectorImpl$1 +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeConstructorSubstitution$Companion +instanceKlass io/grpc/internal/ProxyDetectorImpl$AuthenticationProvider +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeSubstitution$Companion +instanceKlass jdk/internal/platform/CgroupSubsystemFactory$CgroupTypeResult +instanceKlass sun/security/ssl/RenegoInfoExtension$RenegotiationInfoStringizer +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeSubstitution +instanceKlass sun/security/ssl/RenegoInfoExtension$SHRenegotiationInfoAbsence +instanceKlass sun/security/ssl/RenegoInfoExtension$SHRenegotiationInfoConsumer +instanceKlass sun/security/ssl/RenegoInfoExtension$SHRenegotiationInfoProducer +instanceKlass com/intellij/execution/rmi/RemoteProcessSupport +instanceKlass sun/security/ssl/RenegoInfoExtension$CHRenegotiationInfoAbsence +instanceKlass sun/security/ssl/RenegoInfoExtension$CHRenegotiationInfoConsumer +instanceKlass io/grpc/internal/ProxyDetectorImpl +instanceKlass com/intellij/ide/ui/AppearanceOptionsTopHitProviderKt +instanceKlass sun/security/ssl/RenegoInfoExtension$CHRenegotiationInfoProducer +instanceKlass sun/security/ssl/RenegoInfoExtension +instanceKlass sun/security/ssl/KeyShareExtension$HRRKeyShareStringizer +instanceKlass sun/security/ssl/KeyShareExtension$HRRKeyShareReproducer +instanceKlass java/io/BufferedReader$1 +instanceKlass sun/security/ssl/KeyShareExtension$HRRKeyShareConsumer +instanceKlass com/intellij/application/options/editor/CheckboxDescriptor +instanceKlass sun/security/ssl/KeyShareExtension$HRRKeyShareProducer +instanceKlass sun/security/ssl/KeyShareExtension$SHKeyShareStringizer +instanceKlass sun/security/ssl/KeyShareExtension$SHKeyShareAbsence +instanceKlass sun/security/ssl/KeyShareExtension$SHKeyShareConsumer +instanceKlass sun/security/ssl/KeyShareExtension$SHKeyShareProducer +instanceKlass com/intellij/database/datagrid/DataGridStartupActivity$DataEditorConfigurator +instanceKlass com/intellij/execution/configurations/RunProfileState +instanceKlass sun/security/ssl/KeyShareExtension$CHKeyShareStringizer +instanceKlass sun/security/ssl/KeyShareExtension$CHKeyShareOnTradeAbsence +instanceKlass sun/security/ssl/KeyShareExtension$CHKeyShareConsumer +instanceKlass com/google/common/base/AbstractIterator +instanceKlass com/intellij/openapi/externalSystem/service/RemoteExternalSystemCommunicationManager +instanceKlass sun/security/ssl/KeyShareExtension$CHKeyShareProducer +instanceKlass com/intellij/database/editor/DatabaseStartupActivity +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeProjectionBase +instanceKlass sun/security/ssl/KeyShareExtension +instanceKlass com/intellij/ide/ui/OptionsSearchTopHitProvider$ProjectLevelProvider +instanceKlass com/google/common/base/Splitter$1 +instanceKlass sun/security/ssl/CertSignAlgsExtension$CertSignatureSchemesStringizer +instanceKlass com/intellij/openapi/externalSystem/model/task/ExternalSystemTaskNotificationListener +instanceKlass sun/security/ssl/CertSignAlgsExtension$CRCertSignatureSchemesUpdate +instanceKlass sun/security/ssl/CertSignAlgsExtension$CRCertSignatureSchemesConsumer +instanceKlass sun/security/ssl/CertSignAlgsExtension$CRCertSignatureSchemesProducer +instanceKlass sun/security/ssl/CertSignAlgsExtension$CHCertSignatureSchemesUpdate +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/AbstractTypeParameterDescriptor$2 +instanceKlass sun/security/ssl/CertSignAlgsExtension$CHCertSignatureSchemesConsumer +instanceKlass com/intellij/openapi/externalSystem/service/remote/ExternalSystemProgressNotificationManagerImpl$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/AbstractTypeParameterDescriptor$1 +instanceKlass sun/security/ssl/CertSignAlgsExtension$CHCertSignatureSchemesProducer +instanceKlass sun/security/ssl/CertSignAlgsExtension +instanceKlass sun/security/ssl/CertificateAuthoritiesExtension$CertificateAuthoritiesStringizer +instanceKlass sun/security/ssl/CertificateAuthoritiesExtension$CRCertificateAuthoritiesConsumer +instanceKlass sun/security/ssl/CertificateAuthoritiesExtension$CRCertificateAuthoritiesProducer +instanceKlass sun/security/ssl/CertificateAuthoritiesExtension$CHCertificateAuthoritiesConsumer +instanceKlass com/intellij/ide/ui/AppearanceOptionsTopHitProvider$Companion +instanceKlass sun/security/ssl/CertificateAuthoritiesExtension$CHCertificateAuthoritiesProducer +instanceKlass sun/security/ssl/CertificateAuthoritiesExtension +instanceKlass jdk/internal/platform/CgroupInfo +instanceKlass sun/security/ssl/PskKeyExchangeModesExtension$PskKeyExchangeModesStringizer +instanceKlass com/intellij/execution/rmi/RemoteObject +instanceKlass sun/security/ssl/PskKeyExchangeModesExtension$PskKeyExchangeModesOnTradeAbsence +instanceKlass java/rmi/server/Unreferenced +instanceKlass sun/security/ssl/PskKeyExchangeModesExtension$PskKeyExchangeModesOnLoadAbsence +instanceKlass sun/security/ssl/PskKeyExchangeModesExtension$PskKeyExchangeModesConsumer +instanceKlass sun/security/ssl/PskKeyExchangeModesExtension$PskKeyExchangeModesProducer +instanceKlass sun/security/ssl/PskKeyExchangeModesExtension +instanceKlass sun/security/ssl/CookieExtension$CookieStringizer +instanceKlass sun/security/ssl/CookieExtension$HRRCookieReproducer +instanceKlass sun/security/ssl/CookieExtension$HRRCookieConsumer +instanceKlass sun/security/ssl/CookieExtension$HRRCookieProducer +instanceKlass com/intellij/openapi/externalSystem/service/remote/RemoteExternalSystemProgressNotificationManager +instanceKlass sun/security/ssl/CookieExtension$CHCookieUpdate +instanceKlass sun/security/ssl/CookieExtension$CHCookieConsumer +instanceKlass jdk/internal/platform/CgroupUtil +instanceKlass sun/security/ssl/CookieExtension$CHCookieProducer +instanceKlass sun/security/ssl/CookieExtension +instanceKlass sun/security/ssl/SupportedVersionsExtension$HRRSupportedVersionsReproducer +instanceKlass sun/security/ssl/SupportedVersionsExtension$HRRSupportedVersionsConsumer +instanceKlass sun/security/ssl/SupportedVersionsExtension$HRRSupportedVersionsProducer +instanceKlass sun/security/ssl/SupportedVersionsExtension$SHSupportedVersionsStringizer +instanceKlass jdk/internal/platform/CgroupSubsystemFactory +instanceKlass sun/security/ssl/SupportedVersionsExtension$SHSupportedVersionsConsumer +instanceKlass sun/security/ssl/SupportedVersionsExtension$SHSupportedVersionsProducer +instanceKlass sun/security/ssl/SupportedVersionsExtension$CHSupportedVersionsStringizer +instanceKlass sun/security/ssl/SupportedVersionsExtension$CHSupportedVersionsConsumer +instanceKlass sun/security/ssl/SupportedVersionsExtension$CHSupportedVersionsProducer +instanceKlass sun/security/ssl/SupportedVersionsExtension +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$SignatureSchemesStringizer +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CRSignatureSchemesUpdate +instanceKlass com/intellij/database/datagrid/DataGridStartupActivity +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CRSignatureSchemesAbsence +instanceKlass com/intellij/openapi/externalSystem/service/notification/ExternalSystemProgressNotificationManager +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CRSignatureSchemesConsumer +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CRSignatureSchemesProducer +instanceKlass jdk/internal/platform/CgroupMetrics +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CHSignatureSchemesOnTradeAbsence +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CHSignatureSchemesUpdate +instanceKlass jdk/internal/platform/SystemMetrics +instanceKlass jdk/internal/platform/Metrics +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CHSignatureSchemesOnLoadAbsence +instanceKlass jdk/internal/platform/Container +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CHSignatureSchemesConsumer +instanceKlass com/intellij/openapi/externalSystem/service/RemoteExternalSystemFacade +instanceKlass com/intellij/webSymbols/webTypes/json/DeprecatedHtmlAttributeVueModifier +instanceKlass com/intellij/openapi/externalSystem/service/internal/ExternalSystemTaskAware +instanceKlass com/intellij/ide/ui/AppearanceOptionsTopHitProvider +instanceKlass com/sun/management/internal/OperatingSystemImpl$ContainerCpuTicks +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension$CHSignatureSchemesProducer +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtensionSnippet +instanceKlass com/intellij/openapi/externalSystem/service/ExternalSystemCommunicationManager +instanceKlass sun/management/BaseOperatingSystemImpl +instanceKlass com/sun/management/UnixOperatingSystemMXBean +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtensionGrammar +instanceKlass com/intellij/openapi/externalSystem/service/ExternalSystemFacadeManager +instanceKlass sun/security/ssl/SignatureAlgorithmsExtension +instanceKlass com/intellij/ide/ui/UISimpleSettingsProvider +instanceKlass com/intellij/ide/ui/OptionsTopHitProvider$CoveredByToggleActions +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtensionLanguage +instanceKlass com/sun/management/OperatingSystemMXBean +instanceKlass sun/security/ssl/SessionTicketExtension$SessionTicketStringizer +instanceKlass com/intellij/microservices/endpoints/EndpointsProvider$Companion +instanceKlass sun/security/ssl/SessionTicketExtension$T12SHSessionTicketConsumer +instanceKlass sun/security/ssl/SessionTicketExtension$T12CHSessionTicketConsumer +instanceKlass com/intellij/ide/ActionsTopHitProvider +instanceKlass com/google/common/base/CharMatcher +instanceKlass com/intellij/openapi/externalSystem/settings/ExternalSystemSettingsListener +instanceKlass com/intellij/microservices/endpoints/EndpointsProvider +instanceKlass com/google/common/base/Predicate +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateInstaller +instanceKlass sun/security/ssl/SessionTicketExtension +instanceKlass com/intellij/openapi/externalSystem/service/project/ProjectRenameAware +instanceKlass com/intellij/ide/script/IdeStartupScripts +instanceKlass com/intellij/webSymbols/webTypes/json/DeprecatedHtmlAttributeVueArgument +instanceKlass com/intellij/ide/ui/OptionsSearchTopHitProvider$ApplicationLevelProvider +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension$ExtendedMasterSecretStringizer +instanceKlass com/intellij/ide/ui/OptionsSearchTopHitProvider +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension$SHExtendedMasterSecretAbsence +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension$SHExtendedMasterSecretConsumer +instanceKlass com/intellij/ide/util/treeView/FileNameComparator +instanceKlass com/intellij/ide/ui/OptionsTopHitProvider$ProjectLevelProvidersAdapter +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension$SHExtendedMasterSecretProducer +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension$CHExtendedMasterSecretAbsence +instanceKlass com/intellij/microservices/ui/EndpointsViewSettings$Settings +instanceKlass com/intellij/ide/SearchTopHitProvider +instanceKlass com/intellij/internal/statistic/collectors/fus/project/ProjectFsStatsCollector +instanceKlass com/intellij/ide/util/treeView/AlphaComparator +instanceKlass com/google/common/base/CommonPattern +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension$CHExtendedMasterSecretConsumer +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension$CHExtendedMasterSecretProducer +instanceKlass com/intellij/openapi/externalSystem/model/ExternalSystemDataKeys +instanceKlass com/intellij/ide/projectView/impl/GroupByTypeComparator$1 +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateCheckerService$1 +instanceKlass com/google/common/base/Splitter$Strategy +instanceKlass com/intellij/ide/ui/TopHitCache$Companion +instanceKlass sun/security/ssl/ExtendedMasterSecretExtension +instanceKlass com/intellij/ide/cds/CDSManager +instanceKlass sun/security/ssl/AlpnExtension$AlpnStringizer +instanceKlass com/google/common/base/Splitter +instanceKlass com/intellij/ide/RecentProjectColorStorage +instanceKlass com/intellij/configurationStore/StorageUtilKt +instanceKlass sun/security/ssl/AlpnExtension$SHAlpnAbsence +instanceKlass com/intellij/ide/ui/TopHitCache +instanceKlass sun/security/ssl/AlpnExtension$SHAlpnConsumer +instanceKlass sun/security/ssl/AlpnExtension$SHAlpnProducer +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$MemberIterator +instanceKlass sun/security/ssl/AlpnExtension$CHAlpnAbsence +instanceKlass com/intellij/ide/ProjectColorInfo$Companion +instanceKlass sun/security/ssl/AlpnExtension$CHAlpnConsumer +instanceKlass io/grpc/InternalMetadata +instanceKlass com/intellij/vcs/commit/CommitModeManager$subscribeToChanges$3 +instanceKlass io/grpc/internal/GrpcUtil$AcceptEncodingMarshaller +instanceKlass com/intellij/ide/ProjectColorInfo +instanceKlass com/intellij/vcs/commit/CommitModeManager$subscribeToChanges$2 +instanceKlass sun/security/ssl/AlpnExtension$CHAlpnProducer +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateCheckerService$MyActivity +instanceKlass sun/security/ssl/AlpnExtension +instanceKlass com/intellij/vcs/commit/CommitModeManager$subscribeToChanges$1 +instanceKlass com/google/common/math/IntMath$1 +instanceKlass com/intellij/ide/ProjectColorInfoManager$Companion +instanceKlass sun/security/ssl/ECPointFormatsExtension$ECPointFormatsStringizer +instanceKlass com/intellij/ide/ui/OptionsTopHitProvider$PreloadService +instanceKlass sun/security/ssl/ECPointFormatsExtension$SHECPointFormatsConsumer +instanceKlass com/fasterxml/jackson/module/kotlin/ReflectionCache$BooleanTriState$Companion +instanceKlass sun/security/ssl/ECPointFormatsExtension$CHECPointFormatsConsumer +instanceKlass com/google/common/math/MathPreconditions +instanceKlass com/intellij/vcs/commit/CommitModeManagerKt +instanceKlass com/intellij/ide/startup/CheckProjectActivity +instanceKlass sun/security/ssl/ECPointFormatsExtension$CHECPointFormatsProducer +instanceKlass sun/security/ssl/ECPointFormatsExtension +instanceKlass com/fasterxml/jackson/module/kotlin/ReflectionCache$BooleanTriState +instanceKlass com/intellij/indexing/shared/generate/CanonicalSorters +instanceKlass org/jetbrains/plugins/notebooks/jupyter/ui/JupyterServersNodeMarker +instanceKlass sun/security/ssl/SupportedGroupsExtension$EESupportedGroupsConsumer +instanceKlass com/google/common/math/IntMath +instanceKlass kotlin/reflect/jvm/internal/impl/utils/DFS$VisitedWithSet +instanceKlass com/intellij/ide/WorkspaceProjectColorStorage +instanceKlass com/intellij/ide/ProjectColorStorage +instanceKlass sun/security/ssl/SupportedGroupsExtension$SupportedGroupsStringizer +instanceKlass com/intellij/ide/cds/CDSStartupActivity +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/workspaceModel/YarnPnpExternalLibraryNodeProvider$Companion +instanceKlass sun/security/ssl/SupportedGroupsExtension$CHSupportedGroupsOnTradeAbsence +instanceKlass kotlin/reflect/jvm/internal/impl/utils/DFS$AbstractNodeHandler +instanceKlass com/intellij/indexing/shared/generate/HashBasedIndexGenerator$InputMapExternalizerToStableBinary +instanceKlass sun/security/ssl/SupportedGroupsExtension$CHSupportedGroupsConsumer +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/workspaceModel/YarnPnpExternalLibraryNodeProvider +instanceKlass kotlin/reflect/jvm/internal/impl/utils/DFS$NodeHandler +instanceKlass com/intellij/execution/ui/ExecutionReasonableHistoryManager$execute$2$1 +instanceKlass kotlin/reflect/jvm/internal/impl/utils/DFS$Visited +instanceKlass com/intellij/ide/ui/OptionsTopHitProvider$Activity +instanceKlass kotlin/reflect/jvm/internal/impl/utils/DFS +instanceKlass com/google/common/io/BaseEncoding$Alphabet +instanceKlass sun/security/ssl/SupportedGroupsExtension +instanceKlass com/intellij/ide/projectView/impl/nodes/ExternalLibrariesWorkspaceModelNodesProvider +instanceKlass com/intellij/indexing/shared/platform/impl/HashBasedMapReduceIndex$1 +instanceKlass sun/security/ssl/CertStatusExtension$CertStatusRespStringizer +instanceKlass sun/security/ssl/CertStatusExtension$CertStatusRequestsStringizer +instanceKlass sun/security/ssl/CertStatusExtension$SHCertStatusReqV2Consumer +instanceKlass com/intellij/codeInsight/template/Expression +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/descriptorUtil/DescriptorUtilsKt$$Lambda$0 +instanceKlass sun/security/ssl/CertStatusExtension$SHCertStatusReqV2Producer +instanceKlass sun/security/ssl/CertStatusExtension$CHCertStatusReqV2Consumer +instanceKlass com/intellij/ide/ProjectWindowCustomizerListener +instanceKlass com/intellij/openapi/roots/LibraryOrderEntry +instanceKlass sun/security/ssl/CertStatusExtension$CHCertStatusReqV2Producer +instanceKlass com/intellij/ultimate/PluginVerifier +instanceKlass sun/security/ssl/CertStatusExtension$CertStatusRequestStringizer +instanceKlass sun/security/ssl/CertStatusExtension$CTCertStatusResponseConsumer +instanceKlass com/intellij/refactoring/rename/inplace/InplaceRefactoring +instanceKlass sun/security/ssl/CertStatusExtension$CTCertStatusResponseProducer +instanceKlass com/intellij/microservices/ui/EndpointsViewSettings$Companion +instanceKlass com/intellij/execution/ui/ExecutionReasonableHistoryManager +instanceKlass sun/security/ssl/CertStatusExtension$SHCertStatusReqConsumer +instanceKlass sun/security/ssl/CertStatusExtension$SHCertStatusReqProducer +instanceKlass kotlin/reflect/jvm/internal/KTypeImpl +instanceKlass sun/security/ssl/CertStatusExtension$CHCertStatusReqConsumer +instanceKlass kotlin/jvm/internal/KTypeBase +instanceKlass com/intellij/indexing/shared/generate/HashBasedIndexGenerator +instanceKlass sun/security/ssl/CertStatusExtension$CHCertStatusReqProducer +instanceKlass sun/security/ssl/CertStatusExtension +instanceKlass com/google/common/io/ByteSource +instanceKlass sun/security/ssl/MaxFragExtension$MaxFragLenStringizer +instanceKlass sun/security/ssl/MaxFragExtension$EEMaxFragmentLengthUpdate +instanceKlass sun/security/ssl/MaxFragExtension$EEMaxFragmentLengthConsumer +instanceKlass com/google/common/io/ByteSink +instanceKlass sun/security/ssl/MaxFragExtension$EEMaxFragmentLengthProducer +instanceKlass com/jetbrains/rd/util/Statics$push$1 +instanceKlass sun/security/ssl/MaxFragExtension$SHMaxFragmentLengthUpdate +instanceKlass com/google/common/io/BaseEncoding +instanceKlass sun/security/ssl/MaxFragExtension$SHMaxFragmentLengthConsumer +instanceKlass java/util/function/LongSupplier +instanceKlass sun/security/ssl/MaxFragExtension$SHMaxFragmentLengthProducer +instanceKlass com/jetbrains/rd/platform/util/IdeaRdLoggerFactor +instanceKlass sun/security/ssl/MaxFragExtension$CHMaxFragmentLengthConsumer +instanceKlass sun/security/ssl/MaxFragExtension$CHMaxFragmentLengthProducer +instanceKlass sun/security/ssl/MaxFragExtension +instanceKlass sun/security/ssl/ServerNameExtension$EEServerNameConsumer +instanceKlass sun/security/ssl/ServerNameExtension$EEServerNameProducer +instanceKlass sun/security/ssl/ServerNameExtension$SHServerNamesStringizer +instanceKlass io/grpc/Metadata$2 +instanceKlass sun/security/ssl/ServerNameExtension$SHServerNameConsumer +instanceKlass sun/security/ssl/ServerNameExtension$SHServerNameProducer +instanceKlass io/grpc/Metadata$1 +instanceKlass sun/security/ssl/ServerNameExtension$CHServerNamesStringizer +instanceKlass sun/security/ssl/ServerNameExtension$CHServerNameConsumer +instanceKlass sun/security/ssl/SSLExtension$ExtensionConsumer +instanceKlass io/grpc/Metadata$BinaryMarshaller +instanceKlass com/intellij/microservices/ui/flat/EndpointsViewManager +instanceKlass com/intellij/ide/projectView/NodeSortSettings$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/ClassMapperLite +instanceKlass sun/security/ssl/ServerNameExtension$CHServerNameProducer +instanceKlass io/grpc/Metadata +instanceKlass com/intellij/ide/projectView/NodeSortSettings +instanceKlass sun/security/ssl/ServerNameExtension +instanceKlass com/jetbrains/rdserver/internal/CwmEULA +instanceKlass sun/security/ssl/SSLStringizer +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndex$Companion +instanceKlass kotlin/reflect/jvm/internal/JvmPropertySignature +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndex +instanceKlass com/google/common/base/Preconditions +instanceKlass sun/security/ssl/SSLExtensions +instanceKlass com/jetbrains/rdserver/internal/RdServerOnProjectOpen$Companion +instanceKlass com/intellij/webSymbols/webTypes/json/GenericHtmlContributionOrProperty +instanceKlass sun/security/ssl/SSLHandshake$HandshakeMessage +instanceKlass com/intellij/openapi/vcs/impl/VcsBaseContentProvider$BaseContent +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcFileStatusProvider +instanceKlass com/jetbrains/rdserver/internal/RdServerOnProjectOpen +instanceKlass sun/security/ssl/RandomCookie +instanceKlass git4idea/index/vfs/GitIndexVirtualFileStatusProvider +instanceKlass io/grpc/Metadata$Key +instanceKlass com/intellij/openapi/vcs/changes/conflicts/ChangelistConflictFileStatusProvider +instanceKlass com/jetbrains/python/scientific/PySciProjectComponentImpl$State +instanceKlass io/grpc/internal/GrpcUtil$TimeoutMarshaller +instanceKlass com/intellij/openapi/vcs/impl/FileStatusManagerImplKt +instanceKlass com/intellij/ide/projectView/impl/AbstractProjectViewPane$7 +instanceKlass com/intellij/openapi/editor/markup/LineMarkerRenderer +instanceKlass sun/security/ssl/SupportedGroupsExtension$SupportedGroups +instanceKlass com/jetbrains/python/scientific/cells/PyEditorCellManager +instanceKlass sun/security/ssl/SSLKeyDerivation +instanceKlass io/grpc/Status +instanceKlass sun/security/ssl/SSLCredentials +instanceKlass sun/security/ssl/NamedGroupPossession +instanceKlass sun/security/ssl/SSLPossession +instanceKlass com/intellij/coverage/CoverageDataManagerImpl$4 +instanceKlass com/jetbrains/python/index/PyPackageManagerActivity +instanceKlass sun/security/ssl/HandshakeContext +instanceKlass com/intellij/coverage/CoverageEditorAnnotator +instanceKlass com/intellij/execution/services/ServiceViewManagerImpl$1 +instanceKlass com/intellij/coverage/CoverageEngine +instanceKlass com/google/common/base/Charsets +instanceKlass com/jetbrains/python/scientific/cells/PyEditorCellManagerStartupActivity +instanceKlass com/intellij/database/console/DatabaseServiceViewContributor$SessionContributor +instanceKlass com/jetbrains/python/sdk/PythonHeadlessSdkUpdater$Companion +instanceKlass com/intellij/database/console/session/DatabaseSessionManager$ProjectSessions$init$1 +instanceKlass com/intellij/coverage/CoverageDataManagerImpl$3 +instanceKlass com/jetbrains/python/sdk/PythonHeadlessSdkUpdater +instanceKlass sun/security/ssl/SSLConfiguration$1 +instanceKlass com/google/common/base/Supplier +instanceKlass com/intellij/coverage/CoverageRunner +instanceKlass com/intellij/database/console/session/DatabaseSessionManager$ProjectSessions +instanceKlass javax/net/ssl/SSLParameters +instanceKlass kotlin/reflect/jvm/internal/impl/utils/SmartSet$SingletonIterator +instanceKlass com/intellij/coverage/CoverageDataManagerImpl$7 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/TypeAliasConstructorDescriptor +instanceKlass com/intellij/coverage/view/CoverageViewSuiteListener +instanceKlass com/intellij/database/autoconfig/DatabaseConfigFileWatcher$1 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/descriptors/JavaCallableMemberDescriptor +instanceKlass com/intellij/coverage/CoverageDataManagerImpl$2 +instanceKlass com/intellij/database/console/session/PerProjectFileAttributes +instanceKlass sun/nio/ch/ExtendedSocketOption$1 +instanceKlass sun/nio/ch/ExtendedSocketOption +instanceKlass com/intellij/database/console/session/GlobalSessionStateListener$Companion +instanceKlass sun/nio/ch/OptionKey +instanceKlass sun/nio/ch/SocketOptionRegistry$LazyInitialization +instanceKlass com/intellij/coverage/CoverageSuiteListener +instanceKlass sun/nio/ch/SocketOptionRegistry$RegistryKey +instanceKlass sun/nio/ch/SocketOptionRegistry +instanceKlass com/intellij/openapi/vfs/VirtualFileContentsChangedAdapter +instanceKlass com/intellij/indexing/shared/ultimate/git/GitProjectRecentCommitsKt +instanceKlass java/net/StandardSocketOptions$StdSocketOption +instanceKlass io/grpc/StreamTracer +instanceKlass java/net/StandardSocketOptions +instanceKlass com/intellij/database/console/session/DatabaseSessionStateListener$Adapter +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderManagerState +instanceKlass com/intellij/openapi/ui/DialogWrapper$DoNotAskOption +instanceKlass io/grpc/ProxyDetector +instanceKlass com/intellij/indexing/shared/ultimate/git/GitHashesServiceBase +instanceKlass com/intellij/indexing/shared/git/GitHashesProjectServiceWrapperDriver +instanceKlass com/intellij/database/console/DatabaseServiceViewContributor$SessionStateListener +instanceKlass io/grpc/InternalMetadata$TrustedAsciiMarshaller +instanceKlass io/grpc/Metadata$TrustedAsciiMarshaller +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderManager$NuxtFileListener +instanceKlass com/intellij/coverage/CoverageFileProvider +instanceKlass com/jetbrains/python/index/PySharedIndexes +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/SpecialGenericSignatures$Companion$NameAndSignature +instanceKlass com/intellij/database/console/session/DatabaseSessionStateListener +instanceKlass io/grpc/Metadata$AsciiMarshaller +instanceKlass com/intellij/database/console/session/DatabaseSession$Companion +instanceKlass com/intellij/database/autoconfig/DataSourceDetector +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/SpecialGenericSignatures$Companion +instanceKlass com/intellij/database/console/session/DatabaseSession +instanceKlass com/intellij/database/run/audit/TxMarkerAuditor$TxMarkerHolder +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesDirectoryDecorator +instanceKlass com/intellij/database/run/session/VisibleSession +instanceKlass io/grpc/internal/ClientTransport +instanceKlass io/grpc/InternalInstrumented +instanceKlass io/grpc/InternalWithLogId +instanceKlass com/intellij/database/console/DatabaseServiceViewContributor$SessionsListener +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/SpecialGenericSignatures +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderManager$Companion +instanceKlass io/grpc/internal/GrpcUtil +instanceKlass com/intellij/database/autoconfig/DatabaseConfigFileWatcher +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderManager +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil$8 +instanceKlass com/intellij/indexing/shared/ultimate/git/SharedGitHashesProjectStartupActivity +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderModelSynchronizer +instanceKlass com/intellij/space/vcs/SpaceVcsContextActivator +instanceKlass io/grpc/netty/shaded/io/netty/util/AsciiString$2 +instanceKlass io/grpc/netty/shaded/io/netty/util/AsciiString$1 +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil$OverrideCompatibilityInfo +instanceKlass nl/hannahsten/texifyidea/run/latex/LatexDistributionType$Companion +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderLibraryStartupActivity +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeWithEnhancement +instanceKlass nl/hannahsten/texifyidea/ui/TeXiFyProjectViewNodeDecorator +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeWithEnhancementKt +instanceKlass io/grpc/netty/shaded/io/netty/util/CharsetUtil +instanceKlass nl/hannahsten/texifyidea/util/files/LatexPackageLocationCache +instanceKlass org/jetbrains/vuejs/lang/html/psi/arrangement/VueArrangementSettingsMigration$Companion +instanceKlass kotlin/ResultKt +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent$4 +instanceKlass kotlinx/coroutines/DispatchedTaskKt +instanceKlass kotlin/reflect/jvm/internal/impl/types/IntersectionTypeConstructor +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/IntersectionTypeConstructorMarker +instanceKlass com/intellij/database/console/session/DatabaseSessionViewService$Companion +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/CleanerJava9$1 +instanceKlass kotlinx/coroutines/CompletedExceptionally +instanceKlass com/google/common/hash/HashCode +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/constants/IntegerValueTypeConstructor +instanceKlass com/intellij/database/console/session/DatabaseSessionViewService +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/CleanerJava9 +instanceKlass kotlinx/coroutines/internal/LockFreeTaskQueueCore$Placeholder +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/calls/inference/CapturedTypeConstructorImpl +instanceKlass com/intellij/database/console/session/DatabaseSessionManagerListener +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/calls/inference/CapturedTypeConstructor +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/CapturedTypeConstructorMarker +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent$2 +instanceKlass com/intellij/database/console/session/DatabaseSessionManager +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent$1 +instanceKlass kotlin/reflect/jvm/internal/impl/types/NotNullTypeParameter +instanceKlass kotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion +instanceKlass kotlin/internal/PlatformImplementations +instanceKlass com/intellij/webSymbols/webTypes/json/GenericCssContributionOrProperty +instanceKlass jdk/internal/icu/impl/Trie2$UTrie2Header +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0$9 +instanceKlass jdk/internal/icu/impl/Trie2$1 +instanceKlass jdk/internal/icu/impl/Trie2$ValueMapper +instanceKlass com/intellij/ide/scratch/ScratchFileServiceImpl$FilePresentation +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabTitleProvider +instanceKlass org/jetbrains/vuejs/lang/html/psi/arrangement/VueArrangementSettingsMigration +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/DefinitelyNotNullTypeMarker +instanceKlass kotlin/internal/PlatformImplementationsKt +instanceKlass jdk/internal/icu/impl/Trie2 +instanceKlass com/intellij/ide/FileIconProvider +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0$7 +instanceKlass kotlin/reflect/jvm/internal/impl/types/CustomTypeParameter +instanceKlass com/intellij/docker/registry/DockerRegistryManagerState +instanceKlass kotlin/random/Random +instanceKlass com/intellij/lang/typescript/settings/exclude/TypeScriptStartupActivity$1 +instanceKlass jdk/internal/icu/impl/UCharacterProperty$IsAcceptable +instanceKlass com/intellij/coverage/AbstractCoverageProjectViewNodeDecorator +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0$6 +instanceKlass com/intellij/docker/registry/DockerRegistryManager +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/ClassicTypeSystemContext$DefaultImpls +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0$5 +instanceKlass kotlin/jvm/internal/Ref$ObjectRef +instanceKlass kotlinx/coroutines/scheduling/WorkQueue +instanceKlass com/google/common/hash/AbstractHasher +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0$4 +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0$3 +instanceKlass com/intellij/ide/projectView/impl/CompoundProjectViewNodeDecorator +instanceKlass com/google/common/hash/Hashing$Sha256Holder +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0$2 +instanceKlass com/intellij/docker/runtimes/DockerRuntime +instanceKlass com/intellij/docker/runtimes/Presentable +instanceKlass jdk/internal/icu/impl/UCharacterProperty$IntProperty +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ReflectionUtil +instanceKlass com/intellij/psi/impl/file/SourceRootIconProvider +instanceKlass jdk/internal/icu/impl/UCharacterProperty +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0$1 +instanceKlass kotlinx/coroutines/AbstractTimeSourceKt +instanceKlass com/intellij/lang/typescript/settings/exclude/TypeScriptStartupActivity +instanceKlass kotlinx/coroutines/CompletionStateKt +instanceKlass jdk/internal/icu/lang/UCharacter +instanceKlass kotlin/reflect/jvm/internal/impl/types/AbstractTypeChecker +instanceKlass com/google/gson/GsonBuilder +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/SystemPropertyUtil +instanceKlass com/intellij/docker/ui/utils/DockerUiUtilsKt +instanceKlass com/intellij/javascript/nodejs/library/node_modules/LibraryEntityWrapper +instanceKlass kotlinx/coroutines/internal/ThreadContextKt +instanceKlass com/intellij/javascript/nodejs/library/node_modules/ExcludeEntityWrapper +instanceKlass kotlinx/coroutines/internal/DispatchedContinuationKt +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent0 +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesUsagesDetector$JSRemoteModulesUsagesDetectorState +instanceKlass com/fasterxml/jackson/databind/deser/std/NumberDeserializers +instanceKlass com/intellij/javascript/library/exclude/JsExcludeManagerState +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/FlexibleTypeMarker +instanceKlass jdk/internal/icu/impl/Trie +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesUsagesDetector$ReferencedModulesSnapshot +instanceKlass kotlinx/coroutines/scheduling/Task +instanceKlass kotlin/reflect/jvm/internal/impl/types/KotlinTypeKt +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/workspaceModel/YarnPnpWorkspaceLibraryEntity$MyEntitySource +instanceKlass com/intellij/javascript/library/exclude/JsExcludeManager$Companion +instanceKlass jdk/internal/icu/text/StringPrep$StringPrepTrieImpl +instanceKlass jdk/internal/icu/impl/Trie$DataManipulate +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeCheckerState +instanceKlass com/intellij/javascript/nodejs/library/node_modules/workspaceModel/JsEntityHelperKt +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesUsagesDetector +instanceKlass com/intellij/javascript/library/exclude/JsExcludeManager +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpStartupActivityKt +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/workspaceModel/YarnPnpFileEntity$MyEntitySource +instanceKlass com/intellij/prettierjs/PrettierUtil +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/ClassicTypeCheckerStateKt +instanceKlass jdk/internal/icu/impl/StringPrepDataReader +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/ObjectUtil +instanceKlass com/intellij/docker/DockerServerRuntimesManager$1 +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpModelSynchronizer +instanceKlass com/intellij/webSymbols/webTypes/json/HtmlValueType +instanceKlass kotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsJvmKt +instanceKlass com/intellij/javascript/library/exclude/JsExcludeModelSynchronizer +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtilTypeSystemContext +instanceKlass jdk/internal/icu/text/StringPrep +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesModelSynchronizer +instanceKlass org/jetbrains/yaml/psi/YAMLFile +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/ClassicTypeSystemContext +instanceKlass kotlinx/coroutines/intrinsics/CancellableKt +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeSystemInferenceExtensionContext +instanceKlass com/intellij/docker/DockerServerRuntimesManager$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeSystemCommonSuperTypesContext +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesLibraryManager$JSRemoteModulesLibraryManagerStartupActivity +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/logging/Slf4JLoggerFactory$NopInstanceHolder +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeSystemCommonBackendContext +instanceKlass kotlinx/coroutines/CoroutineStart$WhenMappings +instanceKlass java/net/IDN +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeSystemContext +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeSystemOptimizationContext +instanceKlass com/intellij/javascript/library/exclude/JsExcludeStartupActivity +instanceKlass com/intellij/docker/DockerServerRuntimesManager +instanceKlass kotlinx/coroutines/internal/OpDescriptor +instanceKlass org/jetbrains/yaml/psi/YAMLPsiElement +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpStartupActivity +instanceKlass javax/net/ssl/SNIServerName +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/logging/AbstractInternalLogger +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/logging/InternalLogger +instanceKlass kotlinx/coroutines/CopyableThreadContextElement +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesDirectoryStartupActivity +instanceKlass com/intellij/ssh/services/SshServiceViewContributorKt +instanceKlass com/intellij/psi/css/CssStylesheet +instanceKlass kotlinx/coroutines/CoroutineContextKt +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/logging/InternalLoggerFactory +instanceKlass com/intellij/psi/css/CssElement +instanceKlass com/intellij/openapi/application/constraints/AbstractExpiration$Companion$toHandlerRegistration$1 +instanceKlass com/intellij/openapi/application/constraints/Expiration$Handle +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent$ThreadLocalRandomProvider +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/Cleaner +instanceKlass kotlinx/coroutines/BuildersKt__Builders_commonKt +instanceKlass com/intellij/psi/xml/XmlFile +instanceKlass kotlinx/coroutines/BuildersKt +instanceKlass com/intellij/openapi/application/constraints/ExpirationKt$cancelJobOnDisposal$completionHandler$1 +instanceKlass com/intellij/lang/javascript/linter/PackageJsonForLintersConfigChangeTracker +instanceKlass kotlin/coroutines/jvm/internal/SuspendFunction +instanceKlass kotlin/jvm/internal/FunctionBase +instanceKlass com/intellij/javascript/webSymbols/nodejs/PackageJsonWebSymbolsRegistryManagerStartup +instanceKlass com/intellij/psi/FileResolveScopeProvider +instanceKlass kotlin/coroutines/EmptyCoroutineContext +instanceKlass kotlin/coroutines/CoroutineContext$Element$DefaultImpls +instanceKlass com/intellij/openapi/application/constraints/ExpirableConstrainedExecution$Companion$RunOnce +instanceKlass kotlinx/coroutines/Job$DefaultImpls +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtFileManager$2 +instanceKlass kotlinx/coroutines/internal/LockFreeLinkedListNode +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtEventAdapter +instanceKlass com/intellij/webSymbols/webTypes/json/Type +instanceKlass kotlinx/coroutines/NonDisposableHandle +instanceKlass kotlinx/coroutines/ChildHandle +instanceKlass kotlinx/coroutines/DisposableHandle +instanceKlass com/intellij/remoteServer/runtime/ServerConnection +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/ModuleAwareClassDescriptorKt +instanceKlass kotlinx/coroutines/ThreadContextElement +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtFileListener +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/queues/SupportsIterator +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/queues/QueueProgressIndicators +instanceKlass kotlinx/coroutines/DebugKt +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/queues/IndexedQueueSizeUtil$IndexedQueue +instanceKlass kotlinx/coroutines/Empty +instanceKlass kotlinx/coroutines/Incomplete +instanceKlass kotlinx/coroutines/JobSupportKt +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/CloneableClassScope$Companion +instanceKlass kotlinx/coroutines/JobSupport +instanceKlass kotlinx/coroutines/ParentJob +instanceKlass kotlinx/coroutines/ChildJob +instanceKlass com/intellij/webSymbols/webTypes/json/HtmlAttributeValue +instanceKlass com/intellij/openapi/wm/impl/LibraryDependentToolWindowManagerKt +instanceKlass com/intellij/lang/javascript/buildTools/gulp/GulpfileManager$ManagerState +instanceKlass com/intellij/remoteServer/impl/runtime/ui/RemoteServersDeploymentManager$2 +instanceKlass com/intellij/webSymbols/webTypes/json/Js +instanceKlass com/intellij/remoteServer/configuration/RemoteServerListener +instanceKlass com/intellij/webSymbols/webTypes/json/NamePatternRoot +instanceKlass com/intellij/webSymbols/webTypes/json/Reference +instanceKlass com/intellij/remoteServer/impl/runtime/ui/RemoteServersDeploymentManager$1 +instanceKlass org/angular2/lang/metadata/psi/MetadataElementType$MetadataElementConstructor +instanceKlass com/intellij/remoteServer/runtime/ServerConnectionListener +instanceKlass com/intellij/webSymbols/webTypes/json/Experimental +instanceKlass com/intellij/webSymbols/webTypes/json/Obsolete +instanceKlass com/intellij/webSymbols/webTypes/json/Deprecated +instanceKlass com/intellij/webSymbols/webTypes/json/SourceBase +instanceKlass com/intellij/remoteServer/impl/runtime/ui/RemoteServersDeploymentManager$ServersTreeNodeManipulator +instanceKlass com/intellij/webSymbols/webTypes/json/DescriptionSections +instanceKlass kotlinx/coroutines/CompletableJob +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/shaded/org/jctools/queues/MessagePassingQueue +instanceKlass kotlin/reflect/jvm/internal/impl/name/CallableId$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/name/CallableId +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/SuspendFunctionTypeUtilKt +instanceKlass kotlinx/coroutines/JobKt__JobKt +instanceKlass org/apache/lucene/analysis/hunspell/WordCase$1 +instanceKlass com/intellij/webSymbols/webTypes/json/GenericJsContributionOrProperty +instanceKlass com/intellij/webSymbols/webTypes/json/GenericContributionOrProperty +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/MemberComparator$NameAndTypeMemberComparator +instanceKlass kotlinx/coroutines/JobKt +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/LongCounter +instanceKlass kotlin/coroutines/ContinuationInterceptor$DefaultImpls +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/PlatformDependent +instanceKlass com/intellij/webSymbols/webTypes/json/BaseContribution +instanceKlass kotlinx/coroutines/Job$Key +instanceKlass kotlinx/coroutines/Job +instanceKlass com/intellij/remoteServer/impl/runtime/ui/tree/ServerTreeNodeExpander +instanceKlass com/intellij/remoteServer/impl/runtime/ui/tree/ServersTreeNodeSelector +instanceKlass kotlin/reflect/jvm/internal/impl/utils/SmartSet$Companion +instanceKlass com/intellij/remoteServer/impl/runtime/ui/RemoteServersDeploymentManager$MessagePanel +instanceKlass kotlinx/coroutines/internal/ContextScope +instanceKlass org/angular2/lang/metadata/psi/MetadataElementType$MetadataStubConstructor +instanceKlass kotlinx/coroutines/CoroutineScope +instanceKlass com/intellij/webSymbols/webTypes/json/JsContributionsHost +instanceKlass org/apache/lucene/util/OfflineSorter +instanceKlass com/intellij/remoteServer/impl/runtime/ui/RemoteServersServiceViewContributor$RemoteServerNodeServiceViewContributor +instanceKlass kotlinx/coroutines/CoroutineScopeKt +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingStrategy +instanceKlass com/intellij/execution/dashboard/RunDashboardServiceViewContributor$RunConfigurationContributor +instanceKlass com/intellij/execution/services/ServiceViewProvidingContributor +instanceKlass org/apache/lucene/util/OfflineSorter$ByteSequencesWriter +instanceKlass io/grpc/netty/shaded/io/netty/util/internal/MathUtil +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$8 +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$7 +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$6 +instanceKlass com/intellij/execution/ExecutionListener +instanceKlass com/intellij/execution/ExecutionManager$Companion +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$5 +instanceKlass io/grpc/netty/shaded/io/netty/util/HashingStrategy +instanceKlass com/intellij/httpClient/http/request/run/config/HttpRequestRunDashboardDefaultTypesProvider +instanceKlass com/intellij/execution/dashboard/RunDashboardDefaultTypesProvider +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$1 +instanceKlass org/apache/lucene/store/ByteBuffersDirectory$FileEntry +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$4 +instanceKlass io/grpc/netty/shaded/io/netty/util/AsciiString$CharEqualityComparator +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$3 +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$2 +instanceKlass org/apache/lucene/index/IndexFileNames +instanceKlass kotlinx/coroutines/DefaultExecutorKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/SimpleFunctionDescriptor +instanceKlass com/intellij/execution/dashboard/RunDashboardManager$RunDashboardService +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/DescriptorFactory +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$ServiceContentManagerListener +instanceKlass io/grpc/netty/shaded/io/netty/util/AsciiString +instanceKlass com/intellij/execution/dashboard/PanelContentUI$1 +instanceKlass kotlinx/coroutines/Delay +instanceKlass java/lang/invoke/MethodHandleImpl$CountingWrapper$1 +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/receivers/ImplicitClassReceiver +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/receivers/ThisClassReceiver +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/receivers/ImplicitReceiver +instanceKlass com/intellij/webSymbols/webTypes/json/JsGlobal +instanceKlass com/intellij/execution/dashboard/PanelContentUI +instanceKlass com/intellij/util/CatchingConsumer +instanceKlass kotlinx/coroutines/internal/LimitedDispatcherKt +instanceKlass com/intellij/execution/dashboard/tree/RunDashboardStatusFilter +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl$State +instanceKlass org/apache/lucene/store/IOContext +instanceKlass com/intellij/webSymbols/webTypes/json/Css +instanceKlass com/intellij/webSymbols/webTypes/json/CssContributionsHost +instanceKlass com/intellij/space/messages/SpaceBundle +instanceKlass com/intellij/webSymbols/webTypes/json/Html +instanceKlass com/intellij/space/index/SpaceSharedIndex +instanceKlass com/intellij/webSymbols/webTypes/json/HtmlContributionsHost +instanceKlass com/intellij/webSymbols/webTypes/json/GenericContributionsHost +instanceKlass com/intellij/execution/dashboard/RunDashboardListener +instanceKlass io/grpc/internal/SharedResourceHolder$Resource +instanceKlass kotlin/sequences/GeneratorSequence$iterator$1 +instanceKlass com/intellij/openapi/vcs/changes/ui/VcsToolWindowEmptyStateKt +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtFileManager +instanceKlass kotlin/sequences/GeneratorSequence +instanceKlass kotlinx/coroutines/internal/LockFreeTaskQueueCore$Companion +instanceKlass io/grpc/netty/shaded/io/netty/channel/ChannelFactory +instanceKlass io/grpc/netty/shaded/io/netty/bootstrap/ChannelFactory +instanceKlass com/intellij/configurationScript/providers/ReadOnlyStorage +instanceKlass kotlinx/coroutines/internal/LockFreeTaskQueueCore +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtFileStructure +instanceKlass org/angular2/entities/metadata/Angular2MetadataElementTypes$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/storage/SingleThreadValue +instanceKlass org/angular2/entities/metadata/Angular2MetadataElementTypes +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexExtension$SharedIndexExtensionImpl +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/http2/Http2Headers +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexExtension +instanceKlass com/fasterxml/jackson/databind/annotation/JacksonStdImpl +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtTaskTreeView +instanceKlass org/angular2/lang/expr/parser/Angular2StubElementTypes +instanceKlass org/apache/lucene/util/packed/BulkOperation$1 +instanceKlass io/grpc/netty/shaded/io/netty/handler/codec/Headers +instanceKlass kotlinx/coroutines/internal/Symbol +instanceKlass kotlinx/coroutines/internal/ResizableAtomicArray +instanceKlass com/fasterxml/jackson/databind/annotation/NoClass +instanceKlass com/google/common/collect/ImmutableCollection$Builder +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/SignatureBuildingComponents +instanceKlass kotlin/text/DelimitedRangesSequence$iterator$1 +instanceKlass com/intellij/searchEverywhereMl/SearchEverywhereMlExperiment$Experiment +instanceKlass kotlinx/coroutines/internal/LockFreeTaskQueue +instanceKlass org/angular2/lang/html/stub/Angular2HtmlStubElementTypes +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInsSignatures +instanceKlass com/intellij/openapi/vcs/changes/ui/VcsToolWindowFactoryKt +instanceKlass com/intellij/indexing/shared/ultimate/project/ProjectSharedIndexSettingsKt +instanceKlass kotlin/sequences/SequencesKt___SequencesKt$asIterable$$inlined$Iterable$1 +instanceKlass com/intellij/ide/actions/searcheverywhere/PossibleSlowContributor +instanceKlass com/intellij/ide/IconProvider +instanceKlass com/intellij/indexing/shared/ultimate/project/ProjectSharedIndexes +instanceKlass com/intellij/space/index/SpaceSharedIndexSuggester +instanceKlass com/intellij/execution/services/ServiceViewManagerImpl$ServiceViewExtensionPointListener +instanceKlass git4idea/stash/ui/GitStashStartupActivity$execute$2 +instanceKlass com/intellij/ide/util/treeView/PresentableNodeDescriptor$ColoredFragment +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexMainContentHash +instanceKlass com/jetbrains/python/index/PyPackageSharedIndexSuggester +instanceKlass com/jetbrains/cython/psi/elementTypes/CythonStubElementTypes +instanceKlass com/intellij/indexing/shared/platform/hash/DefaultSharedIndexContentHash +instanceKlass kotlinx/coroutines/scheduling/CoroutineScheduler$Companion +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexCrcArchiveHash +instanceKlass kotlin/sequences/SequencesKt__SequenceBuilderKt +instanceKlass org/jetbrains/idea/perforce/perforce/P4RootChecker$Companion +instanceKlass com/intellij/execution/services/ServiceEventListener$ServiceEvent +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexHashProviders$getSortedSharedIndexHashingProviders$$inlined$sortedBy$1 +instanceKlass com/intellij/searchEverywhereMl/SearchEverywhereTabWithMlRanking$Companion +instanceKlass com/intellij/util/IconUtil +instanceKlass io/grpc/netty/shaded/io/netty/buffer/ByteBufAllocator +instanceKlass com/intellij/indexing/shared/ultimate/license/ProjectSharedIndexSuggester +instanceKlass kotlinx/coroutines/scheduling/CoroutineScheduler +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexMainContentHashProvider +instanceKlass com/intellij/execution/services/ServiceEventListener +instanceKlass kotlin/reflect/jvm/internal/impl/types/AbstractTypeConstructor$Supertypes +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/MemberScope$Companion +instanceKlass com/intellij/indexing/shared/download/SharedIndexSuggester +instanceKlass com/intellij/execution/services/ServiceModelFilter +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/DescriptorKindFilter$Companion$MaskToName +instanceKlass com/fasterxml/jackson/databind/util/Converter$None +instanceKlass com/fasterxml/jackson/databind/util/Converter +instanceKlass com/intellij/indexing/shared/git/SharedGitHashesService +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/DescriptorKindFilter$Companion +instanceKlass com/intellij/ide/actions/searcheverywhere/AbstractGotoSEContributor +instanceKlass com/intellij/indexing/shared/download/SharedIndexSuggestionService$1 +instanceKlass io/grpc/netty/shaded/io/grpc/netty/Utils +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/DescriptorKindFilter +instanceKlass com/intellij/indexing/shared/download/SharedIndexSuggestionKt +instanceKlass com/intellij/ide/actions/searcheverywhere/ScopeSupporting +instanceKlass com/google/common/hash/Hasher +instanceKlass com/google/common/hash/PrimitiveSink +instanceKlass kotlinx/coroutines/scheduling/TaskContextImpl +instanceKlass kotlinx/coroutines/scheduling/TaskContext +instanceKlass com/intellij/tasks/TaskRepository +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/ResolutionScope$DefaultImpls +instanceKlass git4idea/repo/GitCommitTemplateListener$Companion +instanceKlass kotlinx/coroutines/scheduling/SchedulerTimeSource +instanceKlass git4idea/repo/GitCommitTemplateListener +instanceKlass com/intellij/ui/DeferredIconImpl$Companion +instanceKlass git4idea/repo/GitConfigListener$Companion +instanceKlass com/google/common/hash/AbstractHashFunction +instanceKlass kotlinx/coroutines/internal/SystemPropsKt__SystemPropsKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/DeclarationDescriptorVisitorEmptyBodies +instanceKlass git4idea/repo/GitCommitTemplateTracker$Companion +instanceKlass com/intellij/ui/DeferredIcon +instanceKlass com/intellij/webSymbols/webTypes/json/Pattern +instanceKlass kotlinx/coroutines/internal/SystemPropsKt__SystemProps_commonKt +instanceKlass com/intellij/execution/services/ServiceModel +instanceKlass io/grpc/internal/ObjectPool +instanceKlass kotlinx/coroutines/internal/SystemPropsKt +instanceKlass git4idea/repo/GitCommitTemplateTracker +instanceKlass kotlinx/coroutines/scheduling/TasksKt +instanceKlass git4idea/repo/GitConfigListener +instanceKlass com/intellij/openapi/wm/impl/ProjectFrameHelperKt +instanceKlass com/google/common/hash/Hashing$Sha1Holder +instanceKlass com/google/common/hash/HashFunction +instanceKlass com/intellij/execution/services/ServiceViewManagerImpl$State +instanceKlass com/google/common/hash/Hashing +instanceKlass kotlin/reflect/full/KClasses +instanceKlass com/intellij/ui/IconDeferrerImpl$3 +instanceKlass com/intellij/ui/IconDeferrerImpl$2 +instanceKlass com/intellij/openapi/wm/impl/simpleTitleParts/RegistryOption$1 +instanceKlass com/intellij/ide/actions/searcheverywhere/ActionSearchEverywhereContributor +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtService +instanceKlass com/intellij/openapi/vcs/VcsRootError +instanceKlass com/intellij/ide/actions/searcheverywhere/SearchEverywhereExtendedInfoProvider +instanceKlass com/intellij/ide/actions/searcheverywhere/SearchFieldActionsContributor +instanceKlass com/intellij/util/concurrency/SameThreadExecutor +instanceKlass com/intellij/xdebugger/impl/ui/DebuggerTitleInfoProvider$Companion +instanceKlass com/intellij/ide/actions/searcheverywhere/WeightedSearchEverywhereContributor +instanceKlass kotlin/text/DelimitedRangesSequence +instanceKlass com/intellij/openapi/vcs/roots/VcsRootProblemNotifier +instanceKlass com/intellij/ide/actions/searcheverywhere/SearchEverywhereContributor +instanceKlass com/intellij/util/indexing/flavor/HashBuilder +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtApplicationService +instanceKlass kotlinx/coroutines/channels/ChannelsKt__Channels_commonKt +instanceKlass com/intellij/openapi/vcs/impl/VcsInitialization$ProxyVcsStartupActivity +instanceKlass com/fasterxml/jackson/module/kotlin/KotlinNamesAnnotationIntrospectorKt +instanceKlass com/intellij/ui/IconDeferrerImpl$Companion +instanceKlass com/intellij/util/indexing/IndexedHashesSupport +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadExecutor$submitPreProgressSync$1$actualTask$1$1 +instanceKlass org/apache/lucene/util/packed/BulkOperation +instanceKlass com/jetbrains/python/psi/impl/stubs/PyCustomizableStubElementType +instanceKlass git4idea/stash/ui/GitStashContentProviderKt +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtStartupActivity +instanceKlass kotlinx/coroutines/channels/ChannelsKt +instanceKlass com/intellij/openapi/vcs/roots/VcsRootScanner$Companion +instanceKlass com/intellij/indexing/shared/ultimate/git/SharedIndexGitBackedHash +instanceKlass com/fasterxml/jackson/databind/deser/BasicDeserializerFactory$1 +instanceKlass com/intellij/indexing/shared/download/ShadeIndexDumbModeTrackerTopicListener +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexContentHash +instanceKlass com/intellij/ide/plugins/cl/DeepEnumeration +instanceKlass com/intellij/indexing/shared/download/SharedIndexDumbModeTrackingKt +instanceKlass git4idea/repo/GitCommitTemplateTracker$GitCommitTemplateTrackerStartupActivity +instanceKlass com/intellij/openapi/vcs/roots/VcsRootScanner +instanceKlass com/intellij/indexing/shared/ultimate/git/SharedIndexHashProviderBase +instanceKlass git4idea/stash/GitStashTracker$1 +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadExecutor$submitPreProgressSync$1$context$1 +instanceKlass kotlinx/coroutines/channels/BufferedChannel$SendBroadcast +instanceKlass com/intellij/indexing/shared/download/DownloadTaskContext +instanceKlass kotlin/reflect/jvm/internal/KParameterImpl +instanceKlass io/grpc/ServiceProviders +instanceKlass kotlin/reflect/KParameter +instanceKlass com/intellij/openapi/wm/impl/simpleTitleParts/TitleInfoOption$Companion +instanceKlass kotlinx/coroutines/Dispatchers +instanceKlass com/intellij/openapi/wm/impl/simpleTitleParts/TitleInfoOption +instanceKlass git4idea/stash/GitStashTrackerListener +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexCrcArchiveHashProvider +instanceKlass com/intellij/ui/IconDeferrer$Companion +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadExecutor$submitPreProgressSync$1$progressCancellation$1 +instanceKlass io/grpc/ManagedChannelRegistry$ManagedChannelPriorityAccessor +instanceKlass com/intellij/execution/services/ServiceViewModel +instanceKlass com/intellij/ui/IconDeferrer +instanceKlass com/intellij/util/concurrency/ContextCallable +instanceKlass com/intellij/openapi/wm/impl/simpleTitleParts/SimpleTitleInfoProvider +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexContentHashProvider +instanceKlass com/intellij/execution/services/ServiceModel$ServiceModelEventListener +instanceKlass com/intellij/dependencytoolwindow/DependenciesToolWindowTabProvider$Companion$availableTabsFlow$1$3 +instanceKlass com/intellij/searchEverywhereMl/SearchEverywhereMlExperiment$Companion +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexesHashingKt +instanceKlass com/intellij/searchEverywhereMl/SearchEverywhereMlExperiment +instanceKlass git4idea/actions/GitQuickActionsToolbarService$Companion +instanceKlass io/grpc/ServiceProviders$PriorityAccessor +instanceKlass com/intellij/indexing/shared/platform/hash/SharedIndexHashProviders +instanceKlass com/intellij/dependencytoolwindow/CoroutineUtilsKt$extensionsFlow$1$listener$1 +instanceKlass git4idea/stash/ui/GitStashStartupActivity +instanceKlass nl/hannahsten/texifyidea/settings/sdk/TexliveSdk$Cache +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadExecutor$submitPreProgressSync$condition$1 +instanceKlass java/util/concurrent/atomic/Striped64$Cell +instanceKlass com/intellij/searchEverywhereMl/typos/SearchEverywhereTypoFixingKt +instanceKlass com/intellij/openapi/util/LastComputedIconCache +instanceKlass com/intellij/searchEverywhereMl/typos/models/ActionsLanguageModel$Companion +instanceKlass nl/hannahsten/texifyidea/startup/LatexPackageLocationCacheInitializer +instanceKlass com/jetbrains/python/PyStubElementTypes +instanceKlass org/apache/lucene/util/fst/BitTableUtil +instanceKlass kotlin/reflect/jvm/internal/calls/BoundCaller +instanceKlass git4idea/actions/GitQuickActionsToolbarPopup$MyGitRepositoryListener +instanceKlass com/intellij/searchEverywhereMl/typos/models/ActionsLanguageModel +instanceKlass ai/grazie/spell/lists/FrequencyMetadata +instanceKlass com/intellij/indexing/shared/platform/api/IdeSharedIndexesState +instanceKlass git4idea/ui/branch/GitBranchWidget$Listener +instanceKlass io/grpc/ManagedChannelRegistry +instanceKlass kotlin/reflect/jvm/internal/calls/InlineClassAwareCallerKt +instanceKlass org/apache/lucene/util/fst/FST$Arc$BitTable +instanceKlass nl/hannahsten/texifyidea/startup/TexLivePackageListInitializer +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadExecutor +instanceKlass git4idea/conflicts/GitConflictsToolWindowManager$MyRepositoryListener +instanceKlass kotlin/reflect/jvm/internal/calls/CallerImpl$Companion +instanceKlass kotlin/reflect/jvm/internal/calls/CallerImpl +instanceKlass com/intellij/util/AstLoadingFilter +instanceKlass kotlin/reflect/jvm/internal/calls/Caller +instanceKlass com/intellij/dependencytoolwindow/CoroutineUtilsKt +instanceKlass com/intellij/indexing/shared/download/SharedIndexPerProjectTaskExpiration$Companion$registerNewTask$1 +instanceKlass nl/hannahsten/texifyidea/startup/StartEvinceInverseSearchListener +instanceKlass com/intellij/indexing/shared/download/SharedIndexPerProjectTaskExpiration$Token +instanceKlass io/grpc/ManagedChannelProvider +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexStorageUtil +instanceKlass com/intellij/dependencytoolwindow/DependenciesToolWindowTabProvider$Companion +instanceKlass io/grpc/ManagedChannelBuilder +instanceKlass com/intellij/searchEverywhereMl/typos/models/ModelComputationStarter +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/TypeParameterDescriptor +instanceKlass com/intellij/dependencytoolwindow/DependenciesToolWindowTabProvider +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeParameterMarker +instanceKlass com/intellij/ide/bookmark/Bookmark +instanceKlass com/fasterxml/jackson/databind/deser/SettableAnyProperty +instanceKlass com/codeium/intellij/utilities/ProductAnalyticsLogger +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/jvm/InlineClassManglingRulesKt +instanceKlass org/apache/lucene/analysis/hunspell/RepEntry +instanceKlass com/fasterxml/jackson/databind/deser/ContextualKeyDeserializer +instanceKlass kotlin/coroutines/jvm/internal/Boxing +instanceKlass org/jetbrains/plugins/textmate/bundles/BundleReaderKt$readTextMateBundle$1 +instanceKlass com/fasterxml/jackson/databind/BeanProperty$Std +instanceKlass org/jetbrains/plugins/textmate/bundles/TextMateBundleReader +instanceKlass com/intellij/indexing/shared/download/SharedIndexPerProjectTaskExpiration$Companion +instanceKlass org/zmlx/hg4idea/status/ui/HgIncomingOutgoingWidget$Listener +instanceKlass com/intellij/indexing/shared/download/SharedIndexPerProjectTaskExpiration +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadLoggerKt +instanceKlass org/jetbrains/plugins/textmate/plist/PListValue +instanceKlass com/intellij/indexing/shared/platform/impl/BundledSharedIndexPostStartupActivity$Companion +instanceKlass org/jetbrains/plugins/textmate/plist/Plist +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadServiceKt +instanceKlass com/intellij/platform/lsp/api/LspServer +instanceKlass org/zmlx/hg4idea/status/ui/HgStatusWidget$Listener +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$LspExtensionPointListener +instanceKlass com/intellij/platform/lsp/api/LspServerSupportProvider$Companion +instanceKlass com/intellij/indexing/shared/platform/impl/BundledSharedIndexPostStartupActivity +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$1 +instanceKlass kotlin/reflect/jvm/internal/JvmFunctionSignature +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/InlineClassesUtilsKt +instanceKlass com/intellij/ui/tabs/FileColorConfiguration +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/JvmMemberSignature +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/ProtoBufUtilKt +instanceKlass com/intellij/ui/tabs/FileColorsModel +instanceKlass java/net/SocksSocketImpl$3 +instanceKlass kotlin/reflect/jvm/internal/FunctionWithAllInvokes +instanceKlass com/intellij/dvcs/shelf/ShelfViewUpdater +instanceKlass com/intellij/indexing/shared/download/IndexDownloadServiceProjectStartupActivity +instanceKlass com/intellij/platform/lsp/api/LspServerManager$Companion +instanceKlass com/intellij/webSymbols/webTypes/json/NameConversionRulesMultiple +instanceKlass com/intellij/webSymbols/webTypes/json/NameConversionRulesSingle +instanceKlass com/intellij/webSymbols/webTypes/json/DisablementRules +instanceKlass com/intellij/webSymbols/webTypes/json/EnablementRules +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltIns$Settings +instanceKlass kotlin/UNINITIALIZED_VALUE +instanceKlass kotlin/SynchronizedLazyImpl +instanceKlass com/intellij/openapi/vcs/impl/VcsBaseContentProvider +instanceKlass kotlin/LazyKt__LazyJVMKt +instanceKlass com/intellij/openapi/vcs/impl/LocalLineStatusTrackerProvider$Companion +instanceKlass com/intellij/openapi/vcs/impl/LocalLineStatusTrackerProvider +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyVirtualFileListener +instanceKlass com/codeium/intellij/utilities/ExtensionStorageState$Companion +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$BaseContentProviderListener +instanceKlass com/codeium/intellij/utilities/ExtensionStorageState +instanceKlass com/intellij/openapi/vcs/impl/VcsBaseContentProviderListener +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/ValueParameterDescriptorImpl$Companion +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyFileStatusListener +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyChangeListAvailabilityListener +instanceKlass com/intellij/openapi/vcs/changes/ChangeListAvailabilityListener +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ValueParameterDescriptor +instanceKlass org/jetbrains/vuejs/lang/typescript/service/volar/VolarSupportProvider +instanceKlass com/intellij/platform/lsp/api/LspServerSupportProvider +instanceKlass com/intellij/tasks/timeTracking/TimeTrackingManager$TimeTrackingStartupActivity +instanceKlass com/jetbrains/x/x/x/x/x/C +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyCommandListener +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyFreezeListener +instanceKlass com/intellij/openapi/vcs/changes/VcsFreezingProcess$Listener +instanceKlass com/intellij/lang/typescript/lsp/BaseLspTypeScriptService +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyLineStatusTrackerSettingListener +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerSettingListener +instanceKlass com/jetbrains/x/x/x/x/C/o +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/TypeParameterUtilsKt +instanceKlass com/intellij/openapi/vcs/impl/SingleThreadLoader$Companion +instanceKlass com/intellij/openapi/vcs/impl/SingleThreadLoader +instanceKlass com/jetbrains/x/x/x/x/C/N +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/TypeAliasDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/util/EmptyArrayMap$iterator$1 +instanceKlass com/intellij/ui/tabs/EditorTabColorProviderImpl +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$Listener +instanceKlass kotlin/reflect/jvm/internal/impl/util/collectionUtils/ScopeUtilsKt +instanceKlass com/intellij/database/datagrid/mutating/ColumnDescriptor +instanceKlass com/intellij/database/script/generator/dml/DmlTaskWithFormatting +instanceKlass com/intellij/database/script/generator/dml/DmlTaskWithVersion +instanceKlass com/intellij/database/script/generator/dml/DmlTaskWithTable +instanceKlass com/intellij/database/script/generator/dml/DmlTask +instanceKlass com/fasterxml/jackson/databind/jsontype/impl/TypeIdResolverBase +instanceKlass com/intellij/database/dataSource/DatabaseConnectionCore +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaClassFinder$Request +instanceKlass com/jetbrains/x/x/x/x/x/d +instanceKlass com/fasterxml/jackson/databind/jsontype/impl/StdTypeResolverBuilder$1 +instanceKlass java/security/Security$ProviderProperty +instanceKlass java/security/DomainCombiner +instanceKlass org/jetbrains/vuejs/lang/typescript/service/VolarServiceWrapper +instanceKlass com/jetbrains/x/x/x/x/x/N +instanceKlass com/jetbrains/x/x/x/x/x/v +instanceKlass com/fasterxml/jackson/annotation/JsonTypeName +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptConfigListener +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$Companion +instanceKlass com/fasterxml/jackson/databind/jsontype/NamedType +instanceKlass com/fasterxml/jackson/annotation/JsonTypeInfo$None +instanceKlass com/fasterxml/jackson/databind/annotation/JsonTypeIdResolver +instanceKlass com/jetbrains/x/x/x/x/x/L +instanceKlass com/jetbrains/x/x/x/x/K/o/o +instanceKlass com/intellij/database/view/DatabaseColorManager$Local$1 +instanceKlass com/intellij/database/view/DatabaseColorManager$SharedColors +instanceKlass com/jetbrains/x/x/x/x/N/V +instanceKlass com/fasterxml/jackson/databind/jsontype/TypeDeserializer +instanceKlass com/intellij/lang/javascript/frameworks/modules/JSDirectorySearchProcessor +instanceKlass com/intellij/openapi/vcs/changes/VcsDirtyScopeManagerImpl$1 +instanceKlass com/jetbrains/x/x/x/x/N/o +instanceKlass com/intellij/openapi/vcs/changes/DirtBuilder +instanceKlass com/intellij/database/view/DatabaseColorManager$ColorChangeListener +instanceKlass com/fasterxml/jackson/databind/jsontype/TypeSerializer +instanceKlass com/intellij/database/view/DatabaseColorManager +instanceKlass com/jetbrains/x/x/x/x/N/N/x +instanceKlass com/fasterxml/jackson/databind/jsontype/TypeIdResolver +instanceKlass com/fasterxml/jackson/databind/jsontype/impl/StdTypeResolverBuilder +instanceKlass com/jetbrains/x/x/x/x/K/o/q +instanceKlass com/intellij/openapi/editor/impl/EditorActionManagerImpl$DefaultReadOnlyFragmentModificationHandler +instanceKlass com/intellij/openapi/editor/actionSystem/ReadonlyFragmentModificationHandler +instanceKlass com/jetbrains/x/x/x/x/K/o/C +instanceKlass com/jetbrains/x/x/x/x/N/e +instanceKlass com/jetbrains/x/x/x/x/x/J +instanceKlass com/jetbrains/x/x/x/x/N/x/K +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptConfigService$Provider +instanceKlass com/intellij/lang/javascript/service/JSLanguageServiceFileCommandCache +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/ProtoTypeTableUtilKt +instanceKlass com/fasterxml/jackson/annotation/JsonIgnoreType +instanceKlass com/jetbrains/x/x/x/x/K/u +instanceKlass com/intellij/openapi/vcs/changes/conflicts/ChangelistConflictTracker$MyDocumentListener +instanceKlass com/intellij/lang/javascript/service/protocol/JSLanguageServiceAnswer +instanceKlass com/intellij/openapi/vcs/changes/conflicts/ChangelistConflictTracker$MyChangeListListener +instanceKlass com/intellij/lang/javascript/service/JSLanguageServiceCommandProcessor +instanceKlass com/intellij/lang/javascript/service/JSAsyncLanguageServiceBase$1 +instanceKlass com/intellij/vcs/changes/ChangeListScopeViewUpdater$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/descriptors/DeserializedCallableMemberDescriptor +instanceKlass com/intellij/database/view/DatabaseEditorTabColorProvider +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/descriptors/DeserializedMemberDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/descriptors/DescriptorWithContainerSource +instanceKlass org/apache/lucene/util/automaton/StatePair +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabColorProvider +instanceKlass org/apache/lucene/util/automaton/MinimizationOperations$IntPair +instanceKlass com/intellij/openapi/fileEditor/impl/EditorTabPresentationUtil +instanceKlass com/jetbrains/x/x/x/x/x/y +instanceKlass com/intellij/openapi/vfs/newvfs/VfsPresentationUtil +instanceKlass com/intellij/openapi/editor/actionSystem/EditorActionManager +instanceKlass com/intellij/ui/scale/UserScaleContext$UpdateListener +instanceKlass org/apache/lucene/util/automaton/MinimizationOperations$StateListNode +instanceKlass com/jetbrains/x/x/x/x/x/x/o +instanceKlass com/jetbrains/x/x/x/x/x/x/C +instanceKlass com/codeium/intellij/CodeiumVisibleAreaListener +instanceKlass com/fasterxml/jackson/annotation/JsonSubTypes$Type +instanceKlass com/fasterxml/jackson/annotation/JsonSubTypes +instanceKlass org/apache/lucene/util/automaton/MinimizationOperations$StateList +instanceKlass com/codeium/intellij/CodeiumFileEditorManagerListener +instanceKlass com/jetbrains/x/x/x/x/x/x/K +instanceKlass org/apache/lucene/util/automaton/MinimizationOperations +instanceKlass com/intellij/vcs/changes/ChangeListScopeViewUpdater$InitialRefresh +instanceKlass kotlin/reflect/jvm/ReflectJvmMapping +instanceKlass com/intellij/execution/ui/ObservableConsoleView +instanceKlass com/jetbrains/x/x/x/x/K/o/K +instanceKlass org/apache/lucene/util/automaton/Automaton$Builder +instanceKlass org/apache/lucene/util/automaton/Transition +instanceKlass com/fasterxml/jackson/module/kotlin/KotlinModuleKt +instanceKlass com/intellij/openapi/vcs/changes/ChangesUtil$1 +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtensionContributes +instanceKlass kotlin/ULong +instanceKlass org/apache/lucene/util/automaton/Operations +instanceKlass com/intellij/openapi/vcs/changes/ChangesUtil +instanceKlass kotlin/UInt +instanceKlass com/jetbrains/x/x/x/x/K/o/N +instanceKlass kotlin/UShort +instanceKlass com/codeium/intellij/language_server/LanguageServerLauncherActivity +instanceKlass com/intellij/openapi/startup/StartupActivity$Background +instanceKlass com/jetbrains/x/x/x/x/K/p +instanceKlass kotlin/UByte +instanceKlass com/jetbrains/x/x/x/x/K/q +instanceKlass org/apache/lucene/util/Sorter +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotationCollector$OneAnnotation +instanceKlass org/apache/lucene/util/automaton/Automata +instanceKlass org/apache/lucene/util/automaton/RegExp$1 +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCodeExtension +instanceKlass com/intellij/plugins/watcher/model/ApplicationTasksOptions$WatcherListListener +instanceKlass kotlin/ranges/CharProgression +instanceKlass com/intellij/platform/ide/newUiOnboarding/NewUiOnboardingCustomization +instanceKlass com/intellij/ide/errorTreeView/NavigatableErrorTreeElement +instanceKlass com/fasterxml/jackson/module/kotlin/ClosedRangeMixin +instanceKlass com/intellij/ide/errorTreeView/ErrorTreeElement +instanceKlass com/fasterxml/jackson/databind/ser/Serializers$Base +instanceKlass org/apache/lucene/util/automaton/RegExp +instanceKlass com/jetbrains/x/x/x/x/K/Q +instanceKlass com/jetbrains/x/x/x/x/K/G +instanceKlass org/apache/lucene/util/automaton/Automaton +instanceKlass com/jetbrains/x/x/x/x/K/X +instanceKlass kotlin/sequences/SequencesKt___SequencesKt$sortedWith$1 +instanceKlass com/intellij/util/ui/MutableErrorTreeView +instanceKlass org/apache/lucene/util/automaton/RunAutomaton +instanceKlass com/intellij/util/ui/ErrorTreeView +instanceKlass com/jetbrains/x/x/x/x/K/N/x +instanceKlass com/jetbrains/x/x/x/x/K/P +instanceKlass com/intellij/ide/OccurenceNavigator +instanceKlass com/fasterxml/jackson/module/kotlin/KotlinAnnotationIntrospector$Companion +instanceKlass com/jetbrains/x/x/x/x/K/N/K +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/StateServiceBase$getState$$inlined$sortedBy$1 +instanceKlass com/intellij/webSymbols/webTypes/json/Contributions +instanceKlass com/intellij/util/concurrency/QueueProcessor$RunnableConsumer +instanceKlass com/fasterxml/jackson/module/kotlin/KotlinModule$WhenMappings +instanceKlass com/intellij/webSymbols/webTypes/json/ContextsConfig +instanceKlass com/fasterxml/jackson/module/kotlin/KotlinInstantiators +instanceKlass com/intellij/platform/ide/newUiOnboarding/NewUiOnboardingBean$Companion +instanceKlass com/jetbrains/x/x/x/x/K/N/N +instanceKlass com/fasterxml/jackson/module/kotlin/ReflectionCache$Companion +instanceKlass com/jetbrains/x/x/x/x/K/s +instanceKlass com/intellij/platform/ide/newUiOnboarding/NewUiOnboardingBean +instanceKlass com/jetbrains/x/x/x/x/x/w +instanceKlass com/intellij/webSymbols/webTypes/json/FrameworkConfig +instanceKlass com/intellij/plugins/watcher/FwProjectChangeTracker +instanceKlass com/fasterxml/jackson/module/kotlin/ReflectionCache +instanceKlass com/jetbrains/x/x/x/x/K/N/C +instanceKlass com/jetbrains/x/x/x/x/K/J +instanceKlass com/jetbrains/x/x/x/x/K/r +instanceKlass com/intellij/webSymbols/webTypes/json/ContextBase +instanceKlass com/fasterxml/jackson/core/util/VersionUtil +instanceKlass com/intellij/execution/ui/ConsoleView +instanceKlass com/intellij/execution/ui/ExecutionConsole +instanceKlass com/intellij/platform/ide/newUiOnboarding/NewUiOnboardingUtil +instanceKlass com/intellij/plugins/watcher/FwTaskConfigurationListener +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotationCollector$TwoAnnotations +instanceKlass com/fasterxml/jackson/module/kotlin/PackageVersion +instanceKlass org/apache/lucene/analysis/hunspell/AffixCondition$2 +instanceKlass kotlin/ReplaceWith +instanceKlass org/apache/lucene/analysis/hunspell/AffixCondition$1 +instanceKlass kotlin/Deprecated +instanceKlass com/intellij/lang/javascript/service/ui/JSLanguageServiceToolWindowManager +instanceKlass com/intellij/plugins/watcher/FwStartupActivity +instanceKlass com/fasterxml/jackson/module/kotlin/KotlinModule$Companion +instanceKlass org/apache/lucene/analysis/hunspell/AffixCondition +instanceKlass com/fasterxml/jackson/annotation/JacksonAnnotationsInside +instanceKlass com/jetbrains/performancePlugin/PerformanceTestTotalTimeTimer +instanceKlass com/fasterxml/jackson/module/kotlin/KotlinFeature$Companion +instanceKlass sun/security/provider/certpath/PKIXMasterCertPathValidator +instanceKlass org/apache/lucene/analysis/hunspell/CompoundRule +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/LegacyJupyterConnectionsParametersStateService$Companion +instanceKlass com/intellij/httpClient/js/http/request/language/HttpClientJSEmbeddedContent$Companion +instanceKlass com/fasterxml/jackson/module/kotlin/KotlinModule$Builder +instanceKlass com/intellij/platform/ide/newUiOnboarding/NewUiOnboardingStartupActivity +instanceKlass org/apache/lucene/util/fst/FSTCompiler$CompiledNode +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/JupyterConnectionParametersState +instanceKlass java/security/cert/CertPathValidatorSpi +instanceKlass org/apache/lucene/util/ArrayUtil +instanceKlass com/fasterxml/jackson/module/kotlin/ExtensionsKt +instanceKlass com/intellij/psi/impl/source/SubstrateRef +instanceKlass java/security/cert/CertPathValidator +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/JupyterConnectionsParametersStateService$Companion +instanceKlass com/fasterxml/jackson/annotation/JacksonAnnotation +instanceKlass com/jetbrains/plugins/webDeployment/conflicts/RemoteChangeNotifier$2 +instanceKlass org/apache/lucene/util/fst/Util +instanceKlass com/fasterxml/jackson/annotation/JsonInclude +instanceKlass com/jetbrains/plugins/webDeployment/conflicts/RemoteChangeNotifier$1 +instanceKlass sun/security/provider/certpath/BuildStep +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/StateServiceBase +instanceKlass sun/security/provider/certpath/AdjacencyList +instanceKlass java/security/cert/PKIXCertPathValidatorResult +instanceKlass com/fasterxml/jackson/databind/util/ArrayBuilders +instanceKlass java/security/cert/CertPathValidatorResult +instanceKlass com/intellij/lang/typescript/compiler/languageService/protocol/commands/TypeScriptFileObject +instanceKlass com/fasterxml/jackson/core/FormatFeature +instanceKlass com/intellij/ui/icons/ImageDataByUrlLoaderKt +instanceKlass org/apache/lucene/util/fst/FSTCompiler$Arc +instanceKlass com/intellij/lang/javascript/service/protocol/JSLanguageServiceObject +instanceKlass com/intellij/lang/javascript/psi/JSTagEmbeddedContent +instanceKlass org/apache/lucene/util/fst/FSTCompiler$UnCompiledNode +instanceKlass com/intellij/ui/icons/ImageDataByPathResourceLoader +instanceKlass sun/security/util/Length +instanceKlass com/fasterxml/jackson/databind/ObjectMapper$1 +instanceKlass org/jetbrains/plugins/textmate/plist/XmlPlistReader +instanceKlass sun/security/util/KeyUtil +instanceKlass com/intellij/lang/javascript/psi/JSEmbeddedContent +instanceKlass com/jetbrains/plugins/webDeployment/config/Connectable +instanceKlass org/apache/lucene/util/packed/PackedInts$1 +instanceKlass org/jetbrains/plugins/textmate/plist/CompositePlistReader +instanceKlass org/jetbrains/plugins/textmate/plist/JsonPlistReader +instanceKlass org/jetbrains/plugins/textmate/plist/PlistReader +instanceKlass java/security/interfaces/XECKey +instanceKlass com/fasterxml/jackson/databind/type/ClassKey +instanceKlass org/apache/lucene/util/packed/PackedInts$FormatAndBits +instanceKlass sun/security/provider/certpath/CertPathConstraintsParameters +instanceKlass com/codeium/intellij/icons/CodeiumIcons +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/JupyterRemoteServersSettingsListener +instanceKlass sun/security/util/ConstraintsParameters +instanceKlass org/apache/lucene/util/packed/PackedInts$Decoder +instanceKlass org/jetbrains/plugins/textmate/bundles/BundleReaderKt +instanceKlass org/apache/lucene/util/packed/PackedInts$Encoder +instanceKlass com/intellij/lang/javascript/service/JSLanguageServiceCacheableCommandProcessor +instanceKlass com/fasterxml/jackson/databind/deser/Deserializers$Base +instanceKlass com/codeium/intellij/statusbar/CodeiumWidget$WhenMappings +instanceKlass org/apache/lucene/util/packed/PackedInts$Writer +instanceKlass com/intellij/lang/javascript/service/JSLanguageServiceQueue +instanceKlass org/apache/lucene/util/packed/PackedInts$ReaderIterator +instanceKlass exa/language_server_pb/LanguageServer$CodeiumState$1 +instanceKlass com/intellij/lang/javascript/service/protocol/JSLanguageServiceProtocol +instanceKlass com/intellij/lang/javascript/service/protocol/JSLanguageServiceConnector +instanceKlass org/jetbrains/plugins/textmate/bundles/VSCBundleReaderKt +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/JupyterConnectionParametersSettings$Companion +instanceKlass kotlin/streams/jdk8/StreamsKt$asSequence$$inlined$Sequence$1 +instanceKlass com/fasterxml/jackson/core/Version +instanceKlass org/apache/lucene/util/packed/PackedInts +instanceKlass com/google/protobuf/Internal$EnumLiteMap +instanceKlass com/intellij/lang/javascript/service/protocol/JSLanguageServiceSimpleCommand +instanceKlass kotlin/streams/jdk8/StreamsKt +instanceKlass com/jetbrains/plugins/webDeployment/conflicts/RemoteChangeNotifier$MyStartupActivity +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/JupyterConnectionParametersSettings +instanceKlass com/intellij/lang/javascript/service/protocol/JSLanguageServiceCommand +instanceKlass com/google/protobuf/ProtocolMessageEnum +instanceKlass org/jetbrains/plugins/textmate/TextMateServiceImpl$1 +instanceKlass com/google/protobuf/Internal$EnumLite +instanceKlass com/fasterxml/jackson/databind/Module +instanceKlass org/jetbrains/plugins/textmate/bundles/BundleType$Companion +instanceKlass org/jetbrains/vuejs/lang/html/parser/VueStubElementTypes +instanceKlass org/jetbrains/plugins/notebooks/jupyter/ui/NoJupyterServersNodeMarker +instanceKlass com/intellij/lang/javascript/service/JSLanguageServiceExecutor +instanceKlass sun/security/rsa/RSAPadding +instanceKlass com/intellij/lang/javascript/service/JSLanguageServiceQueue$ProcessConnector +instanceKlass org/apache/lucene/util/packed/PackedInts$Reader +instanceKlass com/intellij/webSymbols/impl/WebSymbolsImplUtilsKt +instanceKlass com/intellij/lang/javascript/service/JSAsyncLanguageServiceBase$JSLanguageServiceInfoReporter +instanceKlass com/intellij/lang/javascript/service/JSLanguageServiceQueue$ServiceInfoReporter +instanceKlass sun/security/rsa/RSACore +instanceKlass org/apache/lucene/util/LongValues +instanceKlass java/security/interfaces/RSAPrivateCrtKey +instanceKlass sun/security/pkcs/PKCS8Key +instanceKlass com/intellij/util/io/BlockingKt +instanceKlass com/intellij/webSymbols/webTypes/WebTypesLoadUtilKt +instanceKlass org/jetbrains/vuejs/lang/typescript/service/ServiceWrapper +instanceKlass org/jetbrains/plugins/textmate/TextMateBundlesLoader +instanceKlass org/apache/lucene/util/fst/FST$Arc +instanceKlass org/jetbrains/vuejs/lang/expr/parser/VueJSStubElementTypes +instanceKlass java/security/interfaces/RSAPrivateKey +instanceKlass com/intellij/webSymbols/webTypes/json/WebTypes +instanceKlass sun/security/util/SignatureUtil +instanceKlass org/json/simple/JSONStreamAware +instanceKlass org/apache/lucene/util/fst/NodeHash +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptLanguageServiceProvider +instanceKlass org/json/simple/JSONAware +instanceKlass com/intellij/icons/ExpUiIcons$Nodes +instanceKlass com/intellij/lang/javascript/flow/lsp/FlowJSLanguageServiceProvider +instanceKlass com/intellij/webSymbols/webTypes/WebTypesVersionsRegistry$Companion +instanceKlass java/security/interfaces/DSAPublicKey +instanceKlass java/security/interfaces/DSAKey +instanceKlass com/intellij/webSymbols/webTypes/WebTypesVersionsRegistry +instanceKlass org/json/simple/parser/Yytoken +instanceKlass com/intellij/ide/navbar/ui/NavBarItemComponent$1$1 +instanceKlass com/intellij/util/io/zip/JBZipOutputStream$ExtraFieldData +instanceKlass org/apache/lucene/util/fst/FSTStore +instanceKlass org/intellij/plugins/markdown/lang/psi/MarkdownPsiElement +instanceKlass com/intellij/ui/RelativeFont +instanceKlass com/intellij/webSymbols/webTypes/WebTypesEmbeddedDefinitionsLoader$State +instanceKlass sun/security/util/DisabledAlgorithmConstraints$CertPathHolder +instanceKlass com/intellij/ide/navbar/ui/UiKt +instanceKlass com/intellij/lang/ecmascript6/ES6StubElementTypes +instanceKlass com/intellij/webSymbols/webTypes/WebTypesEmbeddedDefinitionsLoader$Companion +instanceKlass com/intellij/openapi/application/PluginPathManager$SubRepoHolder +instanceKlass com/intellij/ide/navbar/ui/NavBarItemComponent$Companion +instanceKlass org/jetbrains/vuejs/lang/typescript/service/VueLanguageServiceProvider +instanceKlass com/intellij/lang/javascript/frameworks/jquery/JQueryCssStubElementTypes +instanceKlass com/intellij/webSymbols/webTypes/WebTypesEmbeddedDefinitionsLoader +instanceKlass org/apache/lucene/util/fst/FST +instanceKlass com/jetbrains/plugins/webDeployment/AutoUploadComponent$MuteHandler +instanceKlass sun/security/provider/certpath/PolicyNodeImpl +instanceKlass java/security/cert/PolicyNode +instanceKlass com/intellij/tasks/context/WorkingContextManager +instanceKlass org/jetbrains/plugins/textmate/configuration/TextMateBuiltinBundlesSettings$State +instanceKlass com/jetbrains/plugins/webDeployment/AutoUploadComponent$AutoUploadPostStartupActivity$1 +instanceKlass org/json/simple/parser/Yylex +instanceKlass com/jetbrains/plugins/webDeployment/AutoUploadComponent$AutoUploadPostStartupActivity +instanceKlass org/apache/lucene/util/fst/FSTCompiler$FixedLengthArcsBuffer +instanceKlass org/apache/lucene/util/IntsRef +instanceKlass org/apache/lucene/util/IntsRefBuilder +instanceKlass com/intellij/tasks/impl/TaskManagerImpl$6 +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionHost$initialize$1$1$7 +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionHost$initialize$1$1$6 +instanceKlass com/intellij/codeInsight/codeVision/EditorCodeVisionContext +instanceKlass org/apache/lucene/util/fst/FSTCompiler$Node +instanceKlass org/apache/lucene/util/fst/FSTCompiler +instanceKlass com/intellij/codeInsight/codeVision/EditorCodeVisionContextKt +instanceKlass org/json/simple/parser/JSONParser +instanceKlass com/intellij/tasks/ChangeListInfo +instanceKlass com/intellij/openapi/vcs/changes/LocalChangeListImpl$Builder +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionHost$LensInvalidateSignal +instanceKlass org/apache/lucene/util/CharsRef$UTF16SortedAsUTF8Comparator +instanceKlass com/intellij/lang/javascript/flow/FlowJSStubElementTypes +instanceKlass org/apache/lucene/util/CharsRef +instanceKlass org/jetbrains/plugins/textmate/configuration/TextMateBuiltinBundlesSettings$Companion +instanceKlass com/intellij/lang/javascript/service/JSLanguageServiceProvider +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionSettingsLiveModel$WhenMappings +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptService$Companion +instanceKlass com/intellij/openapi/vcs/changes/ChangeListManagerImpl$2 +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionBundle$Companion +instanceKlass org/jetbrains/plugins/textmate/configuration/TextMateUserBundlesSettings$State +instanceKlass org/jetbrains/plugins/notebooks/jupyter/ui/remote/JupyterRemoteStructureProvider$Companion +instanceKlass sun/security/util/UntrustedCertificates$1 +instanceKlass com/intellij/openapi/vcs/changes/VcsManagedFilesHolder$VcsManagedFilesHolderListener +instanceKlass sun/security/util/UntrustedCertificates +instanceKlass com/intellij/openapi/vcs/changes/VcsManagedFilesHolder +instanceKlass com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel$Companion +instanceKlass sun/security/provider/certpath/Vertex +instanceKlass com/intellij/codeInsight/codeVision/ui/CodeVisionView$Companion +instanceKlass javax/management/openmbean/CompositeData +instanceKlass com/jetbrains/rd/util/reactive/ViewableSet$iterator$1 +instanceKlass com/codeium/intellij/statusbar/CodeiumStatusService +instanceKlass sun/security/provider/certpath/ForwardBuilder$PKIXCertComparator +instanceKlass com/jetbrains/rd/util/reactive/IViewableSet$DefaultImpls +instanceKlass com/jetbrains/rd/util/reactive/IMutableViewableSet$DefaultImpls +instanceKlass sun/security/ssl/SessionId +instanceKlass com/sun/management/internal/Flag$1 +instanceKlass com/sun/management/internal/Flag +instanceKlass jdk/internal/icu/util/CodePointTrie$Data +instanceKlass com/intellij/openapi/editor/ClientEditorManager +instanceKlass com/sun/management/VMOption +instanceKlass jdk/internal/icu/util/CodePointTrie$1 +instanceKlass org/jetbrains/plugins/notebooks/jupyter/ui/remote/JupyterRemoteStructureProvider +instanceKlass org/jetbrains/plugins/textmate/configuration/TextMateUserBundlesSettings$Companion +instanceKlass com/sun/management/internal/HotSpotDiagnostic +instanceKlass com/intellij/openapi/vcs/changes/local/ChangeListCommand +instanceKlass com/intellij/codeInsight/codeVision/ProjectEditorLiveList +instanceKlass com/codeium/intellij/auth/CodeiumAuthService +instanceKlass com/sun/management/HotSpotDiagnosticMXBean +instanceKlass com/intellij/openapi/vcs/changes/Modifier +instanceKlass org/jetbrains/plugins/textmate/language/syntax/selector/TextMateSelectorWeigherImpl +instanceKlass org/apache/lucene/util/Constants +instanceKlass org/jetbrains/plugins/textmate/language/syntax/selector/TextMateSelectorCachingWeigher +instanceKlass jdk/internal/icu/util/CodePointMap +instanceKlass com/intellij/openapi/vcs/changes/UpdateRequestsQueue +instanceKlass com/intellij/codeInsight/hints/codeVision/CodeVisionProviderAdapter +instanceKlass com/intellij/ide/projectView/impl/NestingTreeStructureProvider +instanceKlass com/jetbrains/python/codeInsight/codeVision/PyReferencesCodeVisionProvider$Companion +instanceKlass org/jetbrains/plugins/textmate/language/syntax/selector/TextMateSelectorWeigher +instanceKlass org/apache/lucene/search/QueryVisitor +instanceKlass jdk/internal/icu/util/VersionInfo +instanceKlass com/intellij/ide/scratch/ScratchTreeStructureProvider$3 +instanceKlass org/jetbrains/plugins/textmate/language/syntax/lexer/SyntaxMatchUtils +instanceKlass com/intellij/openapi/vcs/changes/ChangeListWorker$ListData +instanceKlass com/intellij/lang/typescript/TypeScriptStubElementTypes +instanceKlass org/apache/lucene/util/RamUsageEstimator +instanceKlass com/intellij/openapi/vcs/changes/AffectedPathSet +instanceKlass jdk/internal/icu/impl/ICUBinary$1 +instanceKlass com/intellij/lang/javascript/hints/JSReferencesCodeVisionProvider$Companion +instanceKlass jdk/internal/icu/impl/ICUBinary +instanceKlass java/security/spec/MGF1ParameterSpec +instanceKlass com/intellij/ide/scratch/ScratchTreeStructureProvider$1 +instanceKlass com/intellij/codeInsight/hints/codeVision/CodeVisionProviderBase +instanceKlass jdk/internal/icu/impl/NormalizerImpl$IsAcceptable +instanceKlass jdk/internal/icu/impl/ICUBinary$Authenticate +instanceKlass com/intellij/ide/projectView/impl/nodes/PsiFileSystemItemFilter +instanceKlass jdk/internal/icu/impl/NormalizerImpl +instanceKlass com/intellij/openapi/vcs/changes/ChangeListsIndexes +instanceKlass org/jetbrains/plugins/textmate/language/preferences/ShellVariablesRegistryImpl +instanceKlass sun/security/ec/ParametersMap$1 +instanceKlass com/intellij/codeInsight/hints/codeVision/DaemonBoundCodeVisionProvider$Companion +instanceKlass com/intellij/codeInsight/hints/codeVision/DaemonBoundCodeVisionProvider +instanceKlass com/intellij/codeInsight/hints/VcsCodeVisionProvider$Companion +instanceKlass org/jetbrains/plugins/textmate/language/preferences/TextMateBracePair +instanceKlass com/intellij/codeInsight/hints/VcsCodeVisionProvider +instanceKlass org/jetbrains/plugins/textmate/Constants +instanceKlass com/intellij/openapi/vcs/changes/LocalChangeList +instanceKlass sun/security/ec/ed/EdDSAParameters$SHAKE256DigesterFactory +instanceKlass org/apache/lucene/util/BitSet +instanceKlass sun/security/ec/point/ProjectivePoint +instanceKlass org/apache/lucene/util/Bits +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionProvider$Companion +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionProvider +instanceKlass jdk/internal/icu/impl/Norm2AllModes$Norm2AllModesSingleton +instanceKlass com/intellij/openapi/vcs/changes/Change +instanceKlass jdk/internal/icu/impl/Norm2AllModes$NFKCSingleton +instanceKlass org/jetbrains/plugins/textmate/language/preferences/PreferencesRegistryImpl +instanceKlass com/intellij/codeInsight/hints/codeVision/DaemonBoundCodeVisionProviderFactory +instanceKlass jdk/internal/icu/impl/Norm2AllModes +instanceKlass jdk/internal/icu/text/Normalizer2 +instanceKlass com/intellij/openapi/vcs/changes/ChangeListWorker +instanceKlass com/intellij/ide/scratch/ScratchTreeStructureProvider +instanceKlass jdk/internal/icu/text/NormalizerBase$ModeImpl +instanceKlass org/jetbrains/plugins/textmate/language/preferences/SnippetsRegistryImpl +instanceKlass jdk/internal/icu/text/NormalizerBase$NFKDModeImpl +instanceKlass com/intellij/webSymbols/webTypes/impl/WebTypesDefinitionsEP$Companion +instanceKlass jdk/internal/icu/text/NormalizerBase$1 +instanceKlass com/intellij/codeInsight/codeVision/DefaultCodeVisionProviderFactory +instanceKlass org/apache/log4j/Priority +instanceKlass jdk/internal/icu/text/NormalizerBase$Mode +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionProviderFactory$Companion +instanceKlass jdk/internal/icu/text/NormalizerBase +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionProviderFactory +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionSettingsLiveModel$1 +instanceKlass sun/security/ec/ed/EdDSAParameters$Digester +instanceKlass com/intellij/notification/impl/NotificationsManagerImpl$1 +instanceKlass java/text/Normalizer +instanceKlass org/apache/lucene/analysis/hunspell/ConvTable +instanceKlass sun/security/ec/ed/EdDSAParameters$SHA512DigesterFactory +instanceKlass com/intellij/notification/impl/NotificationScopeKt +instanceKlass com/intellij/openapi/vcs/changes/DelayedNotificator +instanceKlass com/intellij/openapi/diagnostic/LoggerRt$ReflectionBasedFactory +instanceKlass sun/security/ec/point/ExtendedHomogeneousPoint +instanceKlass sun/security/provider/certpath/Builder +instanceKlass nl/hannahsten/texifyidea/psi/BibtexStubElementTypes$Companion +instanceKlass com/intellij/openapi/diagnostic/LoggerRt$Factory +instanceKlass nl/hannahsten/texifyidea/psi/BibtexStubElementTypes +instanceKlass com/intellij/ui/BalloonImpl$ShadowBorderProvider +instanceKlass com/intellij/openapi/diagnostic/LoggerRt +instanceKlass com/intellij/openapi/vcs/changes/Scheduler +instanceKlass org/apache/lucene/analysis/hunspell/FlagEnumerator +instanceKlass sun/security/ec/point/AffinePoint +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionSettings$State +instanceKlass org/jetbrains/plugins/textmate/language/syntax/MutableSyntaxNodeDescriptor +instanceKlass org/jetbrains/plugins/textmate/language/syntax/SyntaxNodeDescriptor +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionSettings$CodeVisionSettingsListener +instanceKlass sun/security/util/math/intpoly/IntegerPolynomial$Limb +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionSettings$Companion +instanceKlass sun/security/util/math/SmallValue +instanceKlass org/jetbrains/plugins/textmate/language/syntax/TextMateSyntaxTable +instanceKlass com/jetbrains/python/projectView/PyTreeStructureProvider +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionSettings +instanceKlass com/intellij/ide/projectView/SelectableTreeStructureProvider +instanceKlass sun/security/provider/certpath/ForwardState +instanceKlass com/intellij/openapi/vcs/changes/DeletedFilesHolder +instanceKlass sun/security/provider/certpath/State +instanceKlass sun/security/ec/point/ImmutablePoint +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionSettingsLiveModel$isRegistryEnabled$1$1 +instanceKlass sun/security/ec/point/MutablePoint +instanceKlass com/intellij/openapi/diff/impl/patch/formove/FilePathComparator +instanceKlass sun/security/provider/certpath/PKIX$CertStoreComparator +instanceKlass com/intellij/codeInsight/codeVision/settings/CodeVisionSettingsLiveModel +instanceKlass sun/security/provider/certpath/PKIX$ValidatorParams +instanceKlass sun/security/util/math/intpoly/IntegerPolynomial$Element +instanceKlass sun/security/util/math/ImmutableIntegerModuloP +instanceKlass sun/security/util/math/IntegerModuloP +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionHost$Companion +instanceKlass sun/security/provider/certpath/PKIX +instanceKlass com/intellij/javascript/webSymbols/nodejs/PackageJsonWebSymbolsRegistryManager$1 +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpTreeStructureProvider$Companion +instanceKlass com/intellij/openapi/vcs/changes/VcsDirtyScope +instanceKlass com/intellij/openapi/vcs/changes/SwitchedFileHolder +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionHost +instanceKlass org/apache/lucene/analysis/hunspell/Dictionary$Breaks +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionInitializer$Companion +instanceKlass org/jetbrains/plugins/textmate/language/preferences/ShellVariablesRegistry +instanceKlass com/intellij/openapi/vcs/changes/LogicallyLockedHolder +instanceKlass org/apache/lucene/store/ByteBuffersDirectory$1 +instanceKlass sun/security/util/math/intpoly/IntegerPolynomial +instanceKlass org/jetbrains/plugins/textmate/language/preferences/PreferencesRegistry +instanceKlass org/jetbrains/plugins/textmate/language/preferences/SnippetsRegistry +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsInitializingActivityKt +instanceKlass com/intellij/openapi/vcs/changes/VirtualFileHolder$Companion +instanceKlass com/intellij/openapi/vcs/changes/VirtualFileHolder +instanceKlass java/security/cert/CertPathBuilderSpi +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpTreeStructureProvider +instanceKlass nl/hannahsten/texifyidea/psi/LatexStubElementTypes$Companion +instanceKlass java/security/cert/CertPathBuilderResult +instanceKlass java/security/cert/CertPathBuilder +instanceKlass sun/security/ec/ParametersMap +instanceKlass com/intellij/openapi/vcs/changes/FilePathHolder +instanceKlass com/intellij/javascript/webSymbols/nodejs/PackageJsonWebSymbolsRegistryManager$Companion +instanceKlass com/intellij/lang/properties/projectView/ResourceBundleAwareNode +instanceKlass nl/hannahsten/texifyidea/psi/LatexStubElementTypes +instanceKlass com/intellij/openapi/vcs/changes/CompositeFilePathHolder +instanceKlass com/intellij/javascript/webSymbols/nodejs/PackageJsonWebSymbolsRegistryManager +instanceKlass org/apache/lucene/store/Lock +instanceKlass com/intellij/lang/properties/psi/PropertiesList +instanceKlass java/security/cert/CertStoreSpi +instanceKlass com/intellij/javascript/nodejs/interpreter/NodeJsInterpreterRef +instanceKlass com/intellij/lang/properties/ResourceBundle +instanceKlass com/intellij/lang/properties/IPropertyList +instanceKlass com/intellij/openapi/vcs/changes/FileHolderComposite$Companion +instanceKlass java/security/cert/CRLSelector +instanceKlass com/intellij/lang/properties/psi/PropertiesListStub +instanceKlass com/intellij/lang/properties/projectView/ResourceBundleGrouper +instanceKlass com/intellij/openapi/vcs/changes/FileHolderComposite +instanceKlass com/intellij/javascript/nodejs/interpreter/NodeInterpreterRefResolveResult +instanceKlass java/security/cert/CollectionCertStoreParameters +instanceKlass org/apache/lucene/store/DataOutput +instanceKlass java/security/cert/CertStoreParameters +instanceKlass com/intellij/openapi/vcs/changes/FileHolder +instanceKlass sun/security/ec/ed/EdECOperations +instanceKlass org/jetbrains/plugins/textmate/TextMateService +instanceKlass com/intellij/javascript/nodejs/interpreter/NodeJsInterpreterType +instanceKlass sun/security/ec/ed/EdDSAParameters$DigesterFactory +instanceKlass sun/security/util/math/IntegerFieldModuloP +instanceKlass com/intellij/lang/properties/psi/Property +instanceKlass org/apache/lucene/util/Accountable +instanceKlass org/intellij/plugins/markdown/ui/projectTree/MarkdownTreeStructureProvider$Companion +instanceKlass sun/security/ec/ed/EdDSAParameters +instanceKlass com/intellij/openapi/util/ZipperUpdater +instanceKlass org/intellij/plugins/markdown/ui/projectTree/MarkdownTreeStructureProvider +instanceKlass org/angular2/web/Angular2WebSymbolsQueryConfigurator$Companion +instanceKlass com/intellij/notification/NotificationsManager +instanceKlass com/intellij/lang/properties/IProperty +instanceKlass org/angular2/web/Angular2WebSymbolsQueryConfigurator +instanceKlass com/intellij/openapi/wm/impl/SystemDock$Delegate +instanceKlass com/intellij/openapi/wm/impl/SystemDock +instanceKlass java/security/spec/EdDSAParameterSpec +instanceKlass com/intellij/lang/properties/psi/PropertyStub +instanceKlass com/intellij/lang/puppet/project/structure/PuppetTreeStructureProvider +instanceKlass sun/security/ec/ed/EdDSASignature$MessageAccumulator +instanceKlass java/security/cert/PKIXCertPathChecker +instanceKlass java/security/cert/CertPathChecker +instanceKlass org/apache/lucene/store/LockFactory +instanceKlass java/security/cert/CertStore +instanceKlass com/intellij/openapi/vcs/changes/conflicts/ChangelistConflictTracker$Options +instanceKlass com/intellij/platform/ProjectConfigurationDirectoryConcealer +instanceKlass org/apache/lucene/store/RandomAccessInput +instanceKlass com/intellij/lang/properties/parsing/PropertiesElementTypes +instanceKlass com/intellij/openapi/vcs/changes/conflicts/ChangelistConflictTracker +instanceKlass sun/security/provider/certpath/CertPathHelper +instanceKlass org/jetbrains/vuejs/libraries/i18n/VueI18NQueryConfigurator +instanceKlass java/security/cert/TrustAnchor +instanceKlass org/jetbrains/vuejs/web/VueWebSymbolsQueryConfigurator$Companion +instanceKlass java/security/cert/PKIXParameters +instanceKlass java/security/cert/CertPathParameters +instanceKlass org/jetbrains/vuejs/web/VueWebSymbolsQueryConfigurator +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalSystemTaskActivator$1 +instanceKlass org/apache/lucene/store/DataInput +instanceKlass com/intellij/openapi/vcs/changes/IgnoredFileBean +instanceKlass com/intellij/openapi/vcs/changes/IgnoredFileDescriptor +instanceKlass com/intellij/openapi/vcs/changes/LocalChangeListsLoadedListener +instanceKlass javax/crypto/spec/DHParameterSpec +instanceKlass sun/security/x509/GeneralSubtrees +instanceKlass com/intellij/webSymbols/css/WebSymbolsCssQueryConfigurator +instanceKlass sun/security/ssl/PredefinedDHParameterSpecs$1 +instanceKlass com/intellij/html/webSymbols/WebSymbolsHtmlQueryConfigurator$Companion +instanceKlass com/intellij/task/ProjectTaskManager$Result +instanceKlass com/jetbrains/lang/makefile/psi/MakefileTypes +instanceKlass org/apache/lucene/store/Directory +instanceKlass sun/security/ssl/PredefinedDHParameterSpecs +instanceKlass java/security/cert/X509CertSelector +instanceKlass com/intellij/psi/impl/source/PsiFileWithStubSupport +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangeListDeltaListener +instanceKlass com/intellij/task/ProjectTaskListener +instanceKlass com/intellij/html/webSymbols/WebSymbolsHtmlQueryConfigurator +instanceKlass com/intellij/openapi/vcs/changes/ChangeListManagerGate +instanceKlass com/sun/security/sasl/Provider$1 +instanceKlass com/intellij/task/ProjectTaskNotification +instanceKlass com/intellij/openapi/vcs/changes/ChangelistBuilder +instanceKlass com/intellij/javascript/webSymbols/nodejs/PackageJsonWebSymbolsRegistryManager$NodeJSWebSymbolsQueryConfigurator +instanceKlass org/intellij/markdown/flavours/gfm/GFMTokenTypes +instanceKlass com/intellij/vcs/commit/CommitterResultHandler +instanceKlass com/intellij/task/ProjectTaskRunner +instanceKlass com/intellij/vcs/commit/Committer +instanceKlass com/intellij/task/ProjectTask +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalSystemShortcutsManager$1 +instanceKlass com/intellij/webSymbols/query/WebSymbolsQueryConfigurator$Companion +instanceKlass org/intellij/markdown/MarkdownTokenTypes$Companion +instanceKlass com/intellij/psi/impl/smartPointers/Identikit +instanceKlass com/intellij/webSymbols/query/WebSymbolsQueryConfigurator +instanceKlass org/intellij/markdown/MarkdownTokenTypes +instanceKlass com/sun/security/sasl/gsskerb/JdkSASL$1 +instanceKlass com/intellij/webSymbols/query/WebSymbolsQueryExecutorFactory$Companion +instanceKlass com/intellij/openapi/vcs/VcsSharedProjectSettings$Companion +instanceKlass org/apache/lucene/analysis/hunspell/Dictionary$FlagParsingStrategy +instanceKlass com/intellij/ui/tree/AbstractTreeWalker$1 +instanceKlass org/apache/lucene/analysis/hunspell/DictEntries +instanceKlass org/jcp/xml/dsig/internal/dom/XMLDSigRI$2 +instanceKlass com/intellij/ui/tree/TreePathUtil +instanceKlass com/intellij/psi/impl/smartPointers/SmartPointerElementInfo +instanceKlass org/jcp/xml/dsig/internal/dom/XMLDSigRI$1 +instanceKlass org/intellij/markdown/IElementType +instanceKlass com/jetbrains/x/x/y +instanceKlass com/intellij/openapi/vcs/impl/ContentRootChangeListener +instanceKlass org/apache/lucene/util/fst/Outputs +instanceKlass com/jetbrains/x/x/s +instanceKlass com/intellij/webSymbols/context/impl/WebSymbolsContextDiscoveryInfo +instanceKlass com/jetbrains/x/x/xN +instanceKlass com/intellij/psi/impl/smartPointers/SmartPointerTracker +instanceKlass com/jetbrains/x/x/N +instanceKlass com/intellij/serialization/VersionedFile +instanceKlass org/apache/lucene/analysis/hunspell/DictEntry +instanceKlass sun/security/pkcs11/SunPKCS11$Descriptor +instanceKlass org/intellij/markdown/MarkdownElementTypes +instanceKlass com/intellij/psi/SmartPsiFileRange +instanceKlass org/apache/lucene/analysis/hunspell/Dictionary +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/NewMappings$Mappings +instanceKlass javax/security/auth/Subject +instanceKlass com/intellij/psi/impl/smartPointers/SmartPsiElementPointerImpl +instanceKlass com/jetbrains/python/templateLanguages/PyTemplatesWebContextBlocker +instanceKlass com/intellij/psi/impl/smartPointers/SmartPointerEx +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsDataStorage$1 +instanceKlass com/jetbrains/x/x/xz +instanceKlass javax/security/auth/callback/CallbackHandler +instanceKlass com/intellij/tasks/TaskRepositoryType +instanceKlass com/intellij/tasks/TaskRepositorySubtype +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsDataStorage$State +instanceKlass org/intellij/plugins/markdown/lang/MarkdownStubElementTypes +instanceKlass com/intellij/openapi/externalSystem/util/ExternalSystemUtil$1 +instanceKlass com/jetbrains/x/x/Q +instanceKlass org/jetbrains/plugins/sass/psi/SassStubElementTypes +instanceKlass com/jetbrains/x/K/K +instanceKlass com/intellij/tasks/impl/TaskManagerImpl$3 +instanceKlass com/intellij/build/events/BuildEvent +instanceKlass com/intellij/ui/BackgroundSupplier +instanceKlass org/jetbrains/vuejs/context/VueFileContext +instanceKlass com/intellij/webSymbols/context/WebSymbolsContextProvider +instanceKlass com/intellij/openapi/application/constraints/AbstractExpiration$Companion +instanceKlass com/intellij/openapi/externalSystem/util/ExternalSystemUtil$TaskUnderProgress +instanceKlass com/intellij/openapi/wm/impl/status/EditorBasedStatusBarPopup$WidgetState$Companion +instanceKlass com/intellij/tasks/TaskListener +instanceKlass com/intellij/openapi/application/constraints/AbstractExpiration +instanceKlass com/intellij/tasks/impl/TaskManagerImpl$Config +instanceKlass com/intellij/openapi/application/impl/AppUIExecutorImpl$MyEdtExecutor +instanceKlass com/intellij/execution/configurations/ConfigurationCreationListener +instanceKlass org/jetbrains/plugins/scss/ScssStubElementTypes +instanceKlass com/intellij/execution/configurations/TargetAwareRunProfile +instanceKlass com/intellij/ui/render/RenderingHelper +instanceKlass com/intellij/tasks/Comment +instanceKlass org/intellij/plugins/postcss/PostCssStubElementTypes +instanceKlass com/intellij/execution/configurations/LocatableConfiguration +instanceKlass com/intellij/psi/impl/ElementBase$ElementIconRequest +instanceKlass com/intellij/execution/configurations/SearchScopeProvidingRunProfile +instanceKlass com/intellij/vcs/log/impl/VcsLogErrorHandler +instanceKlass com/intellij/vcs/log/impl/VcsLogManager$VcsLogUiFactory +instanceKlass org/jetbrains/plugins/less/LessStubElementTypes +instanceKlass com/intellij/vcs/log/impl/VcsLogManager +instanceKlass sun/security/x509/CRLExtensions +instanceKlass com/intellij/openapi/externalSystem/execution/ExternalSystemExecutionConsoleManager +instanceKlass javax/net/ssl/ExtendedSSLSession +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/NewMappings$MyVcsActivator +instanceKlass javax/net/ssl/SSLSession +instanceKlass sun/security/x509/X509CRLImpl$X509IssuerSerial +instanceKlass com/intellij/openapi/vcs/VcsRoot +instanceKlass java/security/cert/X509CRLEntry +instanceKlass com/intellij/openapi/vcs/changes/ChangeListAdapter +instanceKlass com/intellij/openapi/externalSystem/service/project/ExternalProjectRefreshCallback +instanceKlass com/intellij/openapi/externalSystem/util/ExternalSystemUtil +instanceKlass com/intellij/model/ModelBranchUtil +instanceKlass com/intellij/vcs/log/impl/VcsProjectLog$shutdownTask$1 +instanceKlass sun/security/ssl/SSLConfiguration$CustomizedClientSignatureSchemes +instanceKlass com/intellij/webSymbols/utils/FileUtils +instanceKlass com/intellij/vcs/log/impl/VcsProjectLog$MyDynamicPluginUnloader +instanceKlass com/intellij/openapi/module/impl/QualifiedNameGrouper$Companion +instanceKlass com/intellij/tasks/Task +instanceKlass com/intellij/webSymbols/context/WebSymbolsContext$Companion +instanceKlass com/intellij/openapi/externalSystem/model/ExternalProjectInfo +instanceKlass com/intellij/openapi/module/ModuleGrouperKt +instanceKlass sun/security/pkcs/ContentInfo +instanceKlass com/intellij/vcs/commit/CommitModeManager$MyStartupActivity +instanceKlass com/intellij/openapi/module/impl/ModuleGroupersKt +instanceKlass sun/security/pkcs/PKCS7 +instanceKlass javax/crypto/KeyGenerator +instanceKlass com/intellij/dvcs/repo/VcsRepositoryManager$MyStartupActivity +instanceKlass com/intellij/openapi/vcs/impl/ModuleVcsDetector$MyStartUpActivity +instanceKlass com/intellij/openapi/module/ModuleGrouper$Companion +instanceKlass ini4idea/lang/psi/IniProperty +instanceKlass sun/security/ssl/SSLConfiguration +instanceKlass kotlin/io/ByteStreamsKt +instanceKlass com/intellij/openapi/vcs/roots/VcsRootScanner$DetectRootsStartupActivity +instanceKlass com/intellij/openapi/module/ModuleGrouper +instanceKlass com/intellij/vcs/log/impl/VcsProjectLogErrorHandler +instanceKlass java/security/cert/CertPath +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager$MyStartupActivity +instanceKlass ini4idea/lang/psi/IniPsiElement +instanceKlass ai/grazie/utils/mpp/Resources +instanceKlass com/intellij/openapi/module/impl/LoadedModuleDescriptionImpl +instanceKlass com/intellij/openapi/vcs/changes/VcsDirtyScopeManagerImpl$MyStartupActivity +instanceKlass com/intellij/openapi/module/LoadedModuleDescription +instanceKlass java/security/cert/CRL +instanceKlass ai/grazie/spell/lists/hunspell/HunspellWordList$Companion +instanceKlass com/intellij/openapi/vcs/changes/ChangeListManagerImpl$MyStartupActivity +instanceKlass sun/security/ssl/SSLCipher$SSLWriteCipher +instanceKlass com/intellij/vcs/log/impl/VcsLogProjectTabsProperties$State +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/UnloadedModuleContentRootData +instanceKlass sun/security/ssl/KeyUpdate$KeyUpdateProducer +instanceKlass ini4idea/lang/psi/stubs/IniPropertyStub +instanceKlass sun/security/ssl/KeyUpdate$KeyUpdateConsumer +instanceKlass com/github/benmanes/caffeine/cache/LocalLoadingCache +instanceKlass com/intellij/vcs/log/impl/VcsLogApplicationSettings$State +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsManagerImpl$1 +instanceKlass sun/security/ssl/KeyUpdate$KeyUpdateKickstartProducer +instanceKlass javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration +instanceKlass com/intellij/vcs/log/impl/VcsLogUiProperties$PropertiesChangeListener +instanceKlass ai/grazie/spell/lists/hunspell/HunspellWordList +instanceKlass com/intellij/openapi/externalSystem/service/project/autoimport/ExternalSystemProjectsWatcherImpl +instanceKlass sun/security/ssl/KeyUpdate +instanceKlass com/intellij/vcs/log/impl/VcsLogApplicationSettings +instanceKlass sun/security/ssl/CertificateStatus$CertificateStatusAbsence +instanceKlass sun/security/ssl/HandshakeAbsence +instanceKlass ini4idea/lang/IniElementTypes +instanceKlass com/intellij/vcs/log/impl/VcsLogUiProperties +instanceKlass sun/security/ssl/CertificateStatus$CertificateStatusProducer +instanceKlass ini4idea/lang/psi/stubs/IniStubElementTypes +instanceKlass com/intellij/spellchecker/grazie/dictionary/ExtendedWordListWithFrequency +instanceKlass ai/grazie/spell/lists/WordListWithFrequency +instanceKlass sun/security/ssl/CertificateStatus$CertificateStatusConsumer +instanceKlass ai/grazie/spell/lists/FrequencyMetadata +instanceKlass sun/security/ssl/CertificateStatus +instanceKlass sun/security/ssl/Finished$T13FinishedProducer +instanceKlass com/intellij/openapi/project/DumbKt$waitForSmartMode$2$1 +instanceKlass com/intellij/vcs/log/impl/VcsLogProjectTabsProperties$Companion +instanceKlass com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl$ActivateVcsesStartupActivity +instanceKlass com/intellij/openapi/project/DumbKt +instanceKlass sun/security/ssl/Finished$T13FinishedConsumer +instanceKlass com/intellij/spellchecker/dictionary/ProjectDictionary +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalSystemRunManagerListener +instanceKlass sun/security/ssl/Finished$T12FinishedProducer +instanceKlass com/intellij/task/impl/ProjectTaskManagerListener +instanceKlass sun/security/ssl/Finished$T12FinishedConsumer +instanceKlass com/intellij/spellchecker/grazie/dictionary/EditableAggregatedWordList +instanceKlass com/intellij/openapi/externalSystem/task/TaskCallback +instanceKlass sun/security/ssl/Finished +instanceKlass com/intellij/spellchecker/state/DictionaryStateListener +instanceKlass sun/security/ssl/ClientKeyExchange$ClientKeyExchangeProducer +instanceKlass java/security/cert/CertSelector +instanceKlass com/intellij/tasks/impl/TaskManagerImpl$Activity +instanceKlass sun/security/ssl/ClientKeyExchange$ClientKeyExchangeConsumer +instanceKlass com/intellij/spellchecker/grazie/dictionary/EditableWordListAdapter +instanceKlass com/intellij/spellchecker/dictionary/EditableDictionary +instanceKlass com/jetbrains/x/K/C +instanceKlass sun/security/ssl/ClientKeyExchange +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalSystemTaskActivator +instanceKlass com/intellij/spellchecker/dictionary/Dictionary +instanceKlass ai/grazie/spell/lists/WordList +instanceKlass sun/security/ssl/CertificateVerify$T13CertificateVerifyProducer +instanceKlass sun/security/ssl/CertificateVerify$T13CertificateVerifyConsumer +instanceKlass sun/security/ssl/CertificateVerify$T12CertificateVerifyProducer +instanceKlass sun/security/ssl/CertificateVerify$T12CertificateVerifyConsumer +instanceKlass sun/security/ssl/CertificateVerify$T10CertificateVerifyProducer +instanceKlass com/intellij/spellchecker/grazie/async/WordListLoader +instanceKlass sun/security/ssl/CertificateVerify$T10CertificateVerifyConsumer +instanceKlass com/jetbrains/x/x/u +instanceKlass com/jetbrains/x/x/c +instanceKlass sun/security/ssl/CertificateVerify$S30CertificateVerifyProducer +instanceKlass sun/security/ssl/CertificateVerify$S30CertificateVerifyConsumer +instanceKlass sun/security/ssl/CertificateVerify +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalSystemShortcutsManager +instanceKlass com/jetbrains/x/x/Y +instanceKlass com/intellij/psi/stubs/StubFieldAccessor +instanceKlass sun/security/ssl/ServerHelloDone$ServerHelloDoneProducer +instanceKlass com/jetbrains/x/x/p +instanceKlass sun/security/ssl/ServerHelloDone$ServerHelloDoneConsumer +instanceKlass com/intellij/util/xml/stubs/DomElementTypeHolder +instanceKlass sun/security/ssl/ServerHelloDone +instanceKlass sun/security/ssl/CertificateRequest$T13CertificateRequestProducer +instanceKlass sun/security/ssl/CertificateRequest$T13CertificateRequestConsumer +instanceKlass com/intellij/openapi/vcs/impl/VcsStartupActivity +instanceKlass sun/security/ssl/CertificateRequest$T12CertificateRequestProducer +instanceKlass com/intellij/vcs/log/impl/VcsLogProjectTabsProperties +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsState$State +instanceKlass com/intellij/vcs/log/impl/VcsLogTabsProperties +instanceKlass sun/security/ssl/CertificateRequest$T12CertificateRequestConsumer +instanceKlass com/intellij/openapi/vcs/impl/VcsInitializationKt +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsState +instanceKlass com/intellij/openapi/externalSystem/util/CompositeRunnable +instanceKlass com/intellij/internal/statistic/service/fus/collectors/ProjectFUStateUsagesLogger +instanceKlass sun/security/ssl/CertificateRequest$T10CertificateRequestProducer +instanceKlass sun/security/ssl/CertificateRequest$T10CertificateRequestConsumer +instanceKlass com/intellij/openapi/progress/ProgressReporterElement$Companion +instanceKlass com/jetbrains/x/x/R +instanceKlass com/intellij/cloudConfig/StatusBarInfoManager$MyStartupActivity +instanceKlass sun/security/ssl/CertificateRequest +instanceKlass sun/security/ssl/ServerKeyExchange$ServerKeyExchangeProducer +instanceKlass sun/security/ssl/ServerKeyExchange$ServerKeyExchangeConsumer +instanceKlass com/intellij/openapi/progress/ProgressReporterKt +instanceKlass sun/security/ssl/ServerKeyExchange +instanceKlass sun/security/ssl/CertificateMessage$T13CertificateProducer +instanceKlass sun/security/ssl/CertificateMessage$T13CertificateConsumer +instanceKlass sun/security/ssl/CertificateMessage$T12CertificateProducer +instanceKlass com/intellij/openapi/progress/impl/PlatformTaskSupportKt$taskInfo$1 +instanceKlass com/intellij/spellchecker/grazie/GrazieSpellCheckerEngine +instanceKlass com/sun/beans/finder/FinderUtils +instanceKlass com/intellij/spellchecker/engine/SpellCheckerEngine +instanceKlass com/intellij/spellchecker/DictionaryLevel$Companion +instanceKlass com/intellij/openapi/progress/impl/PlatformTaskSupportKt +instanceKlass sun/security/ssl/CertificateMessage$T12CertificateConsumer +instanceKlass com/jetbrains/x/x/x/x/N/L +instanceKlass com/sun/beans/finder/Signature +instanceKlass com/sun/beans/finder/PrimitiveWrapperMap +instanceKlass com/jetbrains/x/x/x/x/K/V +instanceKlass com/jetbrains/x/x/x/x/K/e +instanceKlass sun/security/ssl/CertificateMessage +instanceKlass com/intellij/openapi/progress/impl/PlatformTaskSupport$finishWhenJobCompletes$$inlined$map$1 +instanceKlass com/intellij/spellchecker/settings/SpellCheckerSettings +instanceKlass com/sun/beans/finder/AbstractFinder +instanceKlass com/intellij/vcs/log/impl/VcsProjectLog$ProjectLogListener +instanceKlass sun/security/ssl/EncryptedExtensions$EncryptedExtensionsConsumer +instanceKlass sun/security/ssl/EncryptedExtensions$EncryptedExtensionsProducer +instanceKlass com/intellij/vcs/log/impl/VcsProjectLog$Companion +instanceKlass com/intellij/javaee/ExternalResourceListener +instanceKlass sun/security/ssl/EncryptedExtensions +instanceKlass com/intellij/internal/statistic/updater/StatisticsStateCollectorsScheduler$MyStartupActivity +instanceKlass sun/security/ssl/NewSessionTicket$T12NewSessionTicketProducer +instanceKlass java/beans/Statement$1 +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsManagerImpl$ExternalProjectsStateProvider +instanceKlass sun/security/ssl/NewSessionTicket$T13NewSessionTicketProducer +instanceKlass com/intellij/openapi/externalSystem/service/project/autoimport/ExternalSystemProjectsWatcher +instanceKlass java/beans/Statement +instanceKlass com/intellij/spellchecker/grazie/GrazieSpellCheckerEngine$SpellerLoadActivity +instanceKlass com/intellij/openapi/progress/impl/PlatformTaskSupport$ProgressStartedEvent +instanceKlass sun/security/ssl/NewSessionTicket$T12NewSessionTicketConsumer +instanceKlass com/intellij/vcs/log/impl/VcsProjectLog +instanceKlass com/intellij/openapi/progress/impl/TextDetailsProgressReporter$special$$inlined$map$1 +instanceKlass com/intellij/spellchecker/settings/SettingsTransferActivity +instanceKlass sun/security/ssl/NewSessionTicket$T13NewSessionTicketConsumer +instanceKlass com/intellij/javaee/PsiExternalResourceNotifier +instanceKlass sun/security/ssl/NewSessionTicket +instanceKlass com/jetbrains/x/x/t +instanceKlass sun/security/ssl/HelloVerifyRequest$HelloVerifyRequestProducer +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt$drop$2$1 +instanceKlass com/intellij/openapi/externalSystem/service/ExternalSystemStartupActivity +instanceKlass sun/security/ssl/HelloVerifyRequest$HelloVerifyRequestConsumer +instanceKlass sun/security/ssl/HelloVerifyRequest +instanceKlass com/intellij/openapi/progress/impl/ChildrenHandler$1$1 +instanceKlass sun/security/ssl/ServerHello$T13HelloRetryRequestConsumer +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt$drop$$inlined$unsafeFlow$1 +instanceKlass kotlinx/coroutines/flow/internal/SafeCollectorKt +instanceKlass sun/security/ssl/ServerHello$T13ServerHelloConsumer +instanceKlass sun/security/ssl/ServerHello$T12ServerHelloConsumer +instanceKlass com/intellij/vcs/log/impl/VcsProjectLog$InitLogStartupActivity +instanceKlass kotlinx/coroutines/flow/internal/SafeCollector_commonKt +instanceKlass sun/security/ssl/ServerHello$T13HelloRetryRequestReproducer +instanceKlass sun/security/ssl/ServerHello$T13HelloRetryRequestProducer +instanceKlass sun/security/ssl/ServerHello$T13ServerHelloProducer +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt$take$2$1 +instanceKlass com/intellij/openapi/progress/impl/ChildrenHandler$Children +instanceKlass com/intellij/openapi/vcs/update/RestoreUpdateTree +instanceKlass com/intellij/openapi/ui/ShadowAction$2 +instanceKlass sun/security/ssl/ServerHello$T12ServerHelloProducer +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt$takeWhile$$inlined$unsafeFlow$1 +instanceKlass kotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2 +instanceKlass com/intellij/openapi/vcs/update/RestoreUpdateTree$MyStartUpActivity +instanceKlass kotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$1$1 +instanceKlass sun/security/ssl/ServerHello$ServerHelloConsumer +instanceKlass com/intellij/openapi/progress/impl/FractionState +instanceKlass kotlinx/coroutines/flow/FlowKt__ShareKt$launchSharing$1$2$WhenMappings +instanceKlass sun/security/ssl/ServerHello +instanceKlass com/intellij/openapi/progress/impl/CommonKt +instanceKlass sun/security/ssl/ClientHello$D13ClientHelloConsumer +instanceKlass com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager$MyShelfManagerListener +instanceKlass sun/security/ssl/ClientHello$D12ClientHelloConsumer +instanceKlass com/intellij/openapi/progress/impl/TextDetails$Companion +instanceKlass sun/security/ssl/ClientHello$T13ClientHelloConsumer +instanceKlass com/intellij/openapi/progress/impl/TextDetails +instanceKlass com/intellij/util/indexing/hints/BaseFileTypeInputFilter$WhenMappings +instanceKlass org/angular2/lang/expr/Angular2Language$Companion +instanceKlass sun/security/ssl/ClientHello$T12ClientHelloConsumer +instanceKlass sun/security/ssl/HandshakeConsumer +instanceKlass com/intellij/openapi/progress/impl/ChildrenHandler +instanceKlass com/intellij/openapi/actionSystem/impl/ActionManagerImpl$CapturingListener +instanceKlass org/angular2/lang/expr/parser/Angular2ParserDefinition$Companion +instanceKlass sun/security/ssl/ClientHello$ClientHelloProducer +instanceKlass com/intellij/openapi/project/ProjectLocatorKt +instanceKlass sun/security/ssl/ClientHello$ClientHelloConsumer +instanceKlass it/unimi/dsi/fastutil/objects/ReferenceLinkedOpenHashSet$SetIterator +instanceKlass sun/security/ssl/ClientHello$ClientHelloKickstartProducer +instanceKlass com/intellij/ide/K/N +instanceKlass sun/security/ssl/ClientHello +instanceKlass com/intellij/execution/services/ServiceViewNonActivatingDescriptor +instanceKlass com/intellij/openapi/project/ProjectLocator$Companion +instanceKlass org/angular2/lang/svg/Angular2SvgFileElementType$Companion +instanceKlass sun/security/ssl/HelloRequest$HelloRequestProducer +instanceKlass com/intellij/openapi/vcs/changes/shelf/ShelvedChangeList +instanceKlass sun/security/ssl/HelloRequest$HelloRequestConsumer +instanceKlass com/intellij/openapi/project/ProjectLocator +instanceKlass sun/security/ssl/HelloRequest$HelloRequestKickstartProducer +instanceKlass com/intellij/database/console/DatabaseServiceViewContributor +instanceKlass org/angular2/lang/html/Angular2HtmlFileElementType$Companion +instanceKlass sun/security/ssl/SSLProducer +instanceKlass sun/security/ssl/HelloRequest +instanceKlass com/intellij/openapi/progress/impl/BaseProgressReporter +instanceKlass sun/security/ssl/HandshakeProducer +instanceKlass com/intellij/openapi/progress/ProgressReporter +instanceKlass sun/security/ssl/SSLConsumer +instanceKlass com/intellij/docker/view/registry/DockerRegistryServiceViewContributor +instanceKlass com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager$1 +instanceKlass com/intellij/remoteServer/impl/configuration/RemoteServersManagerState +instanceKlass com/intellij/openapi/wm/impl/status/CodePointCountTask +instanceKlass com/intellij/remoteServer/impl/configuration/RemoteServersManagerImpl$1 +instanceKlass com/intellij/concurrency/JobScheduler +instanceKlass com/intellij/openapi/wm/impl/status/PositionPanel$3 +instanceKlass com/intellij/openapi/editor/event/BulkAwareDocumentListener$Simple +instanceKlass com/intellij/remoteServer/configuration/RemoteServer +instanceKlass com/intellij/openapi/editor/event/BulkAwareDocumentListener +instanceKlass com/intellij/openapi/progress/impl/CancellableTaskCancellation +instanceKlass com/intellij/openapi/progress/TaskCancellation$Cancellable +instanceKlass sun/security/ssl/Authenticator$MacImpl +instanceKlass com/intellij/openapi/wm/impl/status/PositionPanel$2 +instanceKlass com/intellij/openapi/progress/impl/TaskCancellationKt +instanceKlass com/intellij/openapi/wm/impl/status/PositionPanel$1 +instanceKlass com/intellij/openapi/progress/TaskCancellation +instanceKlass sun/security/ssl/Authenticator$MAC +instanceKlass com/jetbrains/appengine/lang/gql/psi/GqlElementTypes +instanceKlass com/intellij/openapi/wm/impl/status/PositionPanel$Companion +instanceKlass com/intellij/openapi/progress/TasksKt +instanceKlass sun/security/ssl/Authenticator +instanceKlass com/intellij/ide/todo/TodoPanelSettings +instanceKlass com/intellij/remoteServer/configuration/RemoteServersManager +instanceKlass sun/security/ssl/SSLCipher$SSLReadCipher +instanceKlass com/intellij/openapi/wm/impl/status/PositionPanel +instanceKlass com/jetbrains/appengine/lang/gql/parsing/GqlParserDefinition +instanceKlass com/intellij/docker/view/ActionGroups +instanceKlass com/intellij/openapi/wm/TextWidgetPresentation +instanceKlass sun/security/ssl/InputRecord +instanceKlass com/intellij/openapi/vcs/VcsScopeKt +instanceKlass com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager$State +instanceKlass com/intellij/docker/view/DockerMainServiceViewContributor$Companion +instanceKlass sun/security/ssl/SSLRecord +instanceKlass sun/security/ssl/Record +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringChangeListener$1 +instanceKlass com/intellij/openapi/vcs/changes/shelf/ShelveChangesManagerListener +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringChangeListener$MyDocumentListener +instanceKlass sun/security/ssl/TransportContext +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkStartupChecker$execute$2$4 +instanceKlass sun/security/ssl/ConnectionContext +instanceKlass com/intellij/openapi/diff/impl/patch/FilePatch +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkStartupChecker$execute$2$2 +instanceKlass com/intellij/refactoring/suggested/NewIdentifierWatcher +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkStartupChecker$execute$2$1 +instanceKlass com/intellij/openapi/roots/ui/configuration/UnknownSdkResolver +instanceKlass sun/security/ssl/HandshakeHash$CacheOnlyHash +instanceKlass sun/security/ssl/HandshakeHash$TranscriptHash +instanceKlass sun/security/ssl/HandshakeHash +instanceKlass kotlinx/coroutines/CoroutineId$Key +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringChangeListener +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkTracker$1 +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkTracker$DefaultShowStatusCallbackAdapter +instanceKlass com/intellij/docker/view/DockerMainServiceViewContributor +instanceKlass com/intellij/execution/services/ServiceViewLazyContributor +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringChangeCollector +instanceKlass org/jetbrains/plugins/notebooks/jupyter/JupyterParserDefinition$Companion +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringSignatureWatcher +instanceKlass java/net/SocksConsts +instanceKlass com/intellij/x/C/x +instanceKlass com/intellij/ide/x/C/Kf +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringAvailabilityIndicator$1 +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringAvailabilityIndicator$caretListener$1 +instanceKlass com/intellij/openapi/vcs/impl/VcsInitialization$Companion +instanceKlass com/intellij/x/C/K +instanceKlass sun/net/PlatformSocketImpl +instanceKlass com/jetbrains/ls/responses/AbstractResponse +instanceKlass com/intellij/openapi/vcs/impl/VcsInitialization +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkTrackerQueue$Companion +instanceKlass com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager$PostStartupActivity +instanceKlass com/intellij/refactoring/RefactoringBundle +instanceKlass java/net/Socket +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkCollectorQueue +instanceKlass com/intellij/ssh/services/SshServiceViewContributor +instanceKlass org/jetbrains/plugins/notebooks/jupyter/JupyterParserDefinition +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringAvailabilityIndicator$Companion +instanceKlass com/intellij/x/o/C +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringAvailabilityIndicator +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkTracker$2 +instanceKlass com/intellij/psi/templateLanguages/SimpleTreePatcher +instanceKlass com/intellij/psi/templateLanguages/TreePatcher +instanceKlass com/intellij/execution/services/SimpleServiceViewDescriptor +instanceKlass sun/security/ssl/SSLTransport +instanceKlass com/intellij/execution/services/ServiceViewToolWindowDescriptor +instanceKlass com/intellij/remoteServer/impl/runtime/ui/tree/DeploymentNode +instanceKlass com/intellij/remoteServer/impl/runtime/ui/tree/ServersTreeStructure$LogProvidingNode +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringProvider$Companion +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringProviderImpl$Companion +instanceKlass com/intellij/remoteServer/impl/runtime/ui/tree/ServerNode +instanceKlass com/intellij/remoteServer/impl/runtime/ui/tree/ServersTreeNode +instanceKlass com/intellij/ide/x/C/k +instanceKlass com/intellij/psi/templateLanguages/TemplateDataElementType$RangeCollector +instanceKlass com/intellij/ide/x/l +instanceKlass com/intellij/openapi/vcs/impl/VcsInitialization$StartUpActivity +instanceKlass sun/net/www/http/KeepAliveKey +instanceKlass com/intellij/psi/templateLanguages/ITemplateDataElementType +instanceKlass sun/net/NetworkClient$1 +instanceKlass com/intellij/ide/x/C/t +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkTrackerTask +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkTracker$ShowStatusCallback +instanceKlass sun/net/NetworkClient +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkTracker +instanceKlass com/intellij/remoteServer/impl/runtime/ui/RemoteServersServiceViewContributor +instanceKlass com/intellij/remoteServer/impl/runtime/ui/tree/ServersTreeStructure$DeploymentNodeProducer +instanceKlass javax/net/ssl/HandshakeCompletedListener +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringProviderImpl$Startup +instanceKlass java/net/ResponseCache +instanceKlass sun/net/www/protocol/http/HttpURLConnection$3 +instanceKlass java/net/CookieHandler +instanceKlass sun/net/www/protocol/http/HttpURLConnection$2 +instanceKlass com/intellij/execution/dashboard/RunDashboardRunConfigurationNode +instanceKlass com/intellij/execution/dashboard/RunDashboardNode +instanceKlass sun/net/www/MessageHeader +instanceKlass com/intellij/ide/LibC$Handler$Companion$TERMINATE$1 +instanceKlass com/intellij/ide/LibC$Handler$Companion +instanceKlass com/intellij/ide/LibC$Companion +instanceKlass com/intellij/execution/services/ServiceViewDescriptor +instanceKlass com/jetbrains/jinja2/parsing/Jinja2ElementTypes +instanceKlass com/intellij/codeInsight/documentation/DocumentationSettingsListener$execute$2$1 +instanceKlass com/intellij/openapi/projectRoots/impl/UnknownSdkStartupChecker +instanceKlass com/intellij/ide/LibC$Handler +instanceKlass com/intellij/ide/LibC +instanceKlass com/intellij/diagnostic/VMOptions +instanceKlass javax/net/ssl/SSLSocketFactory$1 +instanceKlass javax/net/ssl/SSLSocketFactory$DefaultFactoryHolder +instanceKlass javax/net/SocketFactory +instanceKlass com/jetbrains/django/urlPathLanguage/DjangoUrlPathTypes +instanceKlass javax/net/ssl/HttpsURLConnection$DefaultHostnameVerifier +instanceKlass javax/net/ssl/HostnameVerifier +instanceKlass com/jetbrains/django/urlPathLanguage/DjangoUrlPathLanguageKt +instanceKlass com/intellij/lang/documentation/ide/impl/DocumentationAutoPopupListener +instanceKlass com/intellij/execution/dashboard/RunDashboardServiceViewContributor +instanceKlass com/intellij/execution/services/ServiceViewGroupingContributor +instanceKlass com/intellij/codeInsight/lookup/LookupManagerListener +instanceKlass com/intellij/codeInsight/documentation/DocumentationSettingsListener +instanceKlass com/intellij/util/proxy/CommonProxy$HostInfo +instanceKlass com/intellij/ide/SystemHealthMonitorKt +instanceKlass com/intellij/idea/InputMethodDisablerKt +instanceKlass com/intellij/util/gist/storage/GistStorageImpl$GistImpl +instanceKlass com/jetbrains/django/urlPathLanguage/DjangoUrlPathParserDefinition +instanceKlass com/intellij/util/io/HttpRequests$RequestImpl +instanceKlass com/intellij/execution/services/ServiceViewContributor +instanceKlass com/intellij/util/gist/VirtualFileGistOverGistStorage +instanceKlass com/intellij/feedback/pycharmUi/state/PyCharmUIInfoState$Companion +instanceKlass com/intellij/feedback/pycharmUi/state/PyCharmUIInfoState +instanceKlass com/intellij/util/io/HttpRequests$RequestProcessor +instanceKlass com/intellij/lang/documentation/ide/impl/DocumentationAutoPopup +instanceKlass com/intellij/util/io/HttpRequests$Request +instanceKlass com/intellij/util/gist/VirtualFileGist$GistCalculator +instanceKlass com/intellij/lang/javascript/JSKeywordSets$SpecialWordsHolder +instanceKlass com/intellij/util/io/RequestBuilder +instanceKlass com/intellij/lang/javascript/JSKeywordSets +instanceKlass com/intellij/util/io/HttpRequests +instanceKlass com/intellij/openapi/editor/actions/ResetFontSizeAppInitListenerKt +instanceKlass com/intellij/feedback/pycharmUi/state/PyCharmUIInfoService$Companion +instanceKlass com/intellij/execution/services/ServiceViewStartupActivity +instanceKlass com/intellij/feedback/pycharmUi/state/PyCharmUIInfoService +instanceKlass com/intellij/codeInsight/template/impl/TemplateStateBase +instanceKlass com/intellij/jdkEx/DisplayModeEx +instanceKlass com/intellij/jdkEx/InputEventEx +instanceKlass com/intellij/jdkEx/JdkEx +instanceKlass com/intellij/util/UrlImpl +instanceKlass com/intellij/util/Url +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateSettingsEntryPointActionProvider$1 +instanceKlass com/intellij/ide/plugins/PluginStateManager +instanceKlass com/intellij/ide/plugins/newui/PluginUpdatesService$1 +instanceKlass com/intellij/psi/xml/XmlAttribute +instanceKlass com/intellij/util/UrlsKt +instanceKlass com/intellij/ide/plugins/newui/PluginUpdatesService +instanceKlass com/intellij/util/Urls +instanceKlass com/intellij/psi/impl/source/xml/stub/XmlAttributeStub +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$DefaultTabs +instanceKlass com/intellij/ide/bookmark/BookmarksManagerImpl$noStateLoaded$listener$1 +instanceKlass com/intellij/internal/statistic/eventLog/fus/MachineIdManager +instanceKlass com/intellij/ide/bookmarks/BookmarksListener +instanceKlass com/intellij/codeInsight/template/TemplateManagerListener +instanceKlass com/jetbrains/commandInterface/commandLine/CommandLineParserDefinition +instanceKlass com/intellij/codeInsight/highlighting/BackgroundHighlighter$4 +instanceKlass com/intellij/lang/javascript/types/JSEmbeddedBlockElementType$1 +instanceKlass com/intellij/codeInsight/highlighting/BackgroundHighlighter$3 +instanceKlass com/intellij/ide/bookmark/BookmarksManagerImpl$Group +instanceKlass com/intellij/lang/javascript/psi/stubs/JSEmbeddedContentStub +instanceKlass com/intellij/ide/bookmark/BookmarkGroup +instanceKlass com/intellij/codeInsight/highlighting/BackgroundHighlighter$2 +instanceKlass com/intellij/codeInsight/highlighting/BackgroundHighlighter$1 +instanceKlass com/intellij/codeInsight/daemon/impl/IdentifierHighlighterPassFactory +instanceKlass com/intellij/codeInsight/intention/impl/QuickEditActionKeys +instanceKlass com/intellij/ide/bookmark/ManagerState +instanceKlass com/intellij/codeInsight/template/TemplateEditingListener +instanceKlass com/intellij/ide/bookmark/ModificationNotifier +instanceKlass com/intellij/codeInsight/highlighting/BackgroundHighlighter +instanceKlass com/intellij/ide/util/treeView/AbstractTreeBuilder +instanceKlass com/intellij/lang/javascript/psi/stubs/JSNamespaceDeclarationStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSIncludeDirectiveStub +instanceKlass com/intellij/dependencytoolwindow/DependencyToolWindowFactory$awaitToolWindows$2$1 +instanceKlass com/intellij/lang/javascript/psi/stubs/JSUseNamespaceDirectiveStub +instanceKlass com/intellij/ide/bookmark/BookmarksStartupActivity +instanceKlass com/intellij/dependencytoolwindow/DependencyToolWindowFactory +instanceKlass com/intellij/openapi/application/PermanentInstallationID +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateRequestParameters +instanceKlass com/intellij/codeInsight/folding/impl/FoldingHintMouseMotionListener +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionInitializer$CodeVisionInitializerStartupActivity +instanceKlass com/intellij/lang/actionscript/ActionScriptElementTypes +instanceKlass com/intellij/lang/actionscript/ActionScriptStubElementTypes +instanceKlass com/intellij/codeInsight/folding/impl/FoldingHintPostStartupActivity +instanceKlass com/intellij/ide/customize/transferSettings/TransferSettingsProjectActivity$Companion +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateChecker +instanceKlass com/intellij/ide/customize/transferSettings/TransferSettingsProjectActivity +instanceKlass com/intellij/lang/javascript/psi/JSDestructuringProperty +instanceKlass com/intellij/openapi/util/registry/RegistryToAdvancedSettingsMigration +instanceKlass com/intellij/sql/dialects/mongo/js/parser/MongoJSExternalParserDefinition$Companion +instanceKlass com/intellij/diagnostic/AnalyzePendingSnapshotActivity +instanceKlass com/intellij/lang/javascript/psi/ecma6/JSComputedPropertyNameOwner +instanceKlass com/intellij/openapi/editor/ex/EditorSettingsExternalizable$OptionSet +instanceKlass com/intellij/sql/dialects/redis/RedisElementTypes$All +instanceKlass com/intellij/sql/dialects/redis/RedisElementTypes$Extra +instanceKlass com/intellij/openapi/fileEditor/impl/EditorHistoryManager$3 +instanceKlass com/intellij/sql/dialects/redis/RedisElementTypes$Stubs +instanceKlass com/intellij/lang/javascript/psi/JSDestructuringArray +instanceKlass com/intellij/openapi/fileEditor/impl/EditorHistoryManager$MyEditorManagerListener +instanceKlass org/kohsuke/rngom/parse/compact/CompactSyntaxConstants +instanceKlass com/intellij/sql/dialects/redis/RedisElementTypes$Misc +instanceKlass com/intellij/openapi/fileEditor/impl/EditorHistoryManager$2 +instanceKlass com/intellij/openapi/fileEditor/FileEditorManagerListener$Before +instanceKlass com/intellij/lang/javascript/psi/JSDestructuringContainer +instanceKlass com/intellij/execution/startup/ProjectStartupConfigurationBase +instanceKlass com/intellij/execution/startup/ProjectStartupTaskManager +instanceKlass com/intellij/sql/dialects/cockroach/CRoachElementTypes$All +instanceKlass com/intellij/openapi/fileEditor/impl/EditorHistoryManager$Companion +instanceKlass com/intellij/openapi/updateSettings/UpdateStrategyCustomization$Companion +instanceKlass com/intellij/openapi/editor/actions/CaretStopPolicy$Companion +instanceKlass com/intellij/sql/dialects/cockroach/CRoachElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/cockroach/CRoachElementTypes$Extra +instanceKlass com/intellij/openapi/updateSettings/UpdateStrategyCustomization +instanceKlass com/intellij/openapi/fileEditor/impl/EditorHistoryManager +instanceKlass com/intellij/sql/dialects/cockroach/CRoachElementTypes$Kinds +instanceKlass org/intellij/plugins/relaxNG/compact/RncTokenTypes +instanceKlass com/intellij/openapi/editor/actions/CaretStopPolicy +instanceKlass com/intellij/xml/breadcrumbs/MyVirtualFileListener +instanceKlass com/intellij/sql/dialects/cockroach/CRoachElementTypes$Misc +instanceKlass com/intellij/lang/javascript/psi/stubs/JSReturnStatementStub +instanceKlass com/intellij/openapi/editor/actions/CaretStop$Companion +instanceKlass com/intellij/lang/javascript/psi/stubs/JSAssignmentExpressionStub +instanceKlass com/intellij/execution/startup/ProjectStartupRunner +instanceKlass com/intellij/openapi/startup/StartupActivity$DumbAware +instanceKlass com/intellij/openapi/editor/actions/CaretStop +instanceKlass com/intellij/lang/javascript/psi/stubs/JSArrayLiteralExpressionStub +instanceKlass com/intellij/codeInsight/breadcrumbs/FileBreadcrumbsCollector +instanceKlass com/intellij/openapi/editor/actions/CaretStopBoundary$Companion +instanceKlass com/intellij/lang/javascript/psi/stubs/JSObjectLiteralExpressionStub +instanceKlass com/intellij/openapi/vfs/encoding/EncodingProjectManagerImpl$1 +instanceKlass com/intellij/sql/dialects/mongo/MongoSqlElementTypes$All +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsInitializingActivity$execute$2 +instanceKlass com/intellij/openapi/editor/actions/CaretStopBoundary +instanceKlass com/intellij/sql/dialects/mongo/MongoSqlElementTypes$Extra +instanceKlass com/intellij/sql/dialects/mongo/MongoSqlElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/mongo/MongoSqlElementTypes$Misc +instanceKlass com/intellij/xml/breadcrumbs/MyFileEditorManagerListener +instanceKlass com/intellij/lang/javascript/psi/stubs/JSCallExpressionStub +instanceKlass com/intellij/openapi/editor/actions/CaretStopOptionsTransposed$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/EditorHistoryManager$EditorHistoryManagerStartUpActivity +instanceKlass com/intellij/ide/actions/ui/ideScaleIndicator/IdeScaleIndicatorManager$Companion +instanceKlass com/intellij/openapi/editor/actions/CaretStopOptionsTransposed +instanceKlass com/intellij/xml/breadcrumbs/BreadcrumbsInitializingActivity +instanceKlass com/intellij/ide/actions/ui/ideScaleIndicator/IdeScaleIndicatorManager +instanceKlass com/intellij/sql/dialects/mongo/js/MongoJSParserDefinition$Companion +instanceKlass com/intellij/sql/dialects/mongo/js/MongoJSParserDefinition +instanceKlass com/intellij/openapi/editor/actions/CaretStopOptions +instanceKlass com/intellij/ide/EssentialHighlightingMode +instanceKlass com/intellij/openapi/editor/ex/EditorSettingsExternalizable$OsSpecificState +instanceKlass com/intellij/sql/dialects/couchbase/CouchbaseElementTypes$All +instanceKlass com/intellij/sql/dialects/couchbase/CouchbaseElementTypes$Extra +instanceKlass com/intellij/sql/dialects/couchbase/CouchbaseElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/couchbase/CouchbaseElementTypes$Misc +instanceKlass com/intellij/ide/actions/EssentialHighlightingNotifier +instanceKlass com/intellij/lang/javascript/psi/stubs/JSDocCommentStub +instanceKlass com/intellij/openapi/project/SmartModeScheduler$RunnableDelegate +instanceKlass com/intellij/ide/actions/PowerSaveModeNotifier$Companion +instanceKlass com/intellij/ide/actions/PowerSaveModeNotifier +instanceKlass com/intellij/ide/actions/IdeScaleTransformer$Companion +instanceKlass com/intellij/util/concurrency/ContextRunnable +instanceKlass com/intellij/lang/javascript/psi/stubs/JSLiteralExpressionStub +instanceKlass com/intellij/sql/dialects/bigquery/BigQueryElementTypes$All +instanceKlass com/intellij/sql/dialects/bigquery/BigQueryElementTypes$Extra +instanceKlass com/intellij/sql/dialects/bigquery/BigQueryElementTypes$Kinds +instanceKlass com/intellij/openapi/vfs/encoding/EncodingProjectManagerStartUpActivity +instanceKlass com/intellij/sql/dialects/bigquery/BigQueryElementTypes$Stubs +instanceKlass com/intellij/lang/javascript/psi/stubs/JSDefinitionExpressionStub +instanceKlass com/intellij/ide/actions/IdeScaleTransformer +instanceKlass com/intellij/sql/dialects/bigquery/BigQueryElementTypes$Misc +instanceKlass com/intellij/openapi/wm/impl/LibraryDependentToolWindowManager$execute$2$3 +instanceKlass com/intellij/lang/javascript/psi/stubs/JSPropertyStub +instanceKlass com/intellij/openapi/fileTypes/impl/ApproveRemovedMappingsActivity +instanceKlass com/intellij/lang/javascript/psi/stubs/JSVarStatementStub +instanceKlass com/intellij/usages/impl/rules/NotifyRulesChangedListener +instanceKlass com/intellij/sql/dialects/vertica/VertElementTypes$All +instanceKlass com/intellij/openapi/project/SmartModeScheduler$SmartModeSchedulerStartupActivity +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptNewExpressionStub +instanceKlass com/intellij/sql/dialects/vertica/VertElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/vertica/VertElementTypes$Extra +instanceKlass com/intellij/lang/javascript/psi/stubs/JSNewExpressionStub +instanceKlass com/intellij/sql/dialects/vertica/VertElementTypes$Kinds +instanceKlass com/intellij/ide/actions/IdeScalePostStartupActivity +instanceKlass com/intellij/openapi/editor/ex/EditorSettingsExternalizable +instanceKlass com/intellij/lang/javascript/psi/stubs/ES6DecoratorStub +instanceKlass com/intellij/openapi/wm/impl/LibraryDependentToolWindowManager$execute$2$1 +instanceKlass com/intellij/usages/impl/rules/UsageFilteringRulesActivity +instanceKlass com/intellij/sql/dialects/vertica/VertElementTypes$Misc +instanceKlass com/intellij/lang/javascript/psi/stubs/JSImplicitElementProviderStub +instanceKlass com/intellij/execution/runToolbar/RunToolbarInitializeService +instanceKlass com/intellij/lang/javascript/psi/stubs/JSFunctionPropertyStub +instanceKlass com/intellij/facet/impl/pointers/FacetPointersPostStartupActivity +instanceKlass com/intellij/util/ModalityUiUtil +instanceKlass com/intellij/sql/dialects/sybase/AseElementTypes$All +instanceKlass com/intellij/codeInsight/navigation/InitCtrlMouseHandlerActivity +instanceKlass com/intellij/sql/dialects/sybase/AseElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/sybase/AseElementTypes$Extra +instanceKlass com/intellij/sql/dialects/sybase/AseElementTypes$Kinds +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptFunctionExpressionStub +instanceKlass com/intellij/sql/dialects/sybase/AseElementTypes$Misc +instanceKlass com/intellij/lang/javascript/psi/stubs/JSFunctionExpressionStub +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateSettings +instanceKlass com/intellij/openapi/util/ExpirableRunnable$1 +instanceKlass com/intellij/lang/javascript/psi/JSFunctionExpression +instanceKlass com/intellij/openapi/wm/impl/LibraryDependentToolWindowManager +instanceKlass com/intellij/javascript/nodejs/interpreter/NodeJsInterpreterManager +instanceKlass com/intellij/codeInsight/actions/ReaderModeEditorSettingsListener +instanceKlass com/intellij/sql/dialects/sqlite/SqliteElementTypes$All +instanceKlass com/intellij/sql/dialects/sqlite/SqliteElementTypes$Extra +instanceKlass com/intellij/sql/dialects/sqlite/SqliteElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/sqlite/SqliteElementTypes$Misc +instanceKlass com/intellij/lang/javascript/psi/JSNamedExpression +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateCheckerService +instanceKlass com/intellij/openapi/wm/impl/WindowDressing$MyStartupActivity +instanceKlass com/intellij/lang/javascript/psi/JSFunction +instanceKlass com/intellij/javascript/nodejs/interpreter/NodeJsInterpreterManagerStartupActivity +instanceKlass com/intellij/sql/dialects/snowflake/SFlakeElementTypes$All +instanceKlass com/intellij/sql/dialects/snowflake/SFlakeElementTypes$Extra +instanceKlass com/intellij/sql/dialects/snowflake/SFlakeElementTypes$Kinds +instanceKlass com/intellij/sql/dialects/snowflake/SFlakeElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/snowflake/SFlakeElementTypes$Misc +instanceKlass com/intellij/ide/startup/CheckKeysStartupActivity$Companion +instanceKlass com/intellij/lang/javascript/psi/JSConstStatusOwner +instanceKlass com/intellij/lang/javascript/psi/JSFunctionItem +instanceKlass com/intellij/ide/startup/CheckKeysStartupActivity +instanceKlass com/intellij/openapi/startup/ProjectActivity +instanceKlass com/intellij/sql/dialects/redshift/RsElementTypes$All +instanceKlass com/intellij/sql/dialects/redshift/RsElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/redshift/RsElementTypes$Misc +instanceKlass com/intellij/ide/CommandLineProcessorResult$Companion +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptFunctionStub +instanceKlass com/intellij/ide/CommandLineProcessorResult +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptFunctionSignatureStub +instanceKlass com/intellij/sql/dialects/postgres/PgElementTypes$All +instanceKlass com/intellij/sql/dialects/postgres/PgElementTypes$Stubs +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptCallSignatureStub +instanceKlass com/intellij/sql/dialects/postgres/PgElementTypes$Misc +instanceKlass com/intellij/openapi/startup/StartupActivity$Companion +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptModuleStub +instanceKlass com/intellij/ide/RecentProjectsManagerBaseKt +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptTypeAliasStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptEnumStub +instanceKlass com/intellij/sql/dialects/oraplus/OraPlusElementTypes$All +instanceKlass com/intellij/sql/dialects/oraplus/OraPlusElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/oraplus/OraPlusElementTypes$Misc +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptInterfaceStub +instanceKlass com/intellij/lang/javascript/psi/stubs/TypeScriptClassStub +instanceKlass com/intellij/sql/dialects/oracle/OraElementTypes$All +instanceKlass com/intellij/sql/dialects/oracle/OraElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/oracle/OraElementTypes$Refs +instanceKlass com/intellij/sql/dialects/oracle/OraElementTypes$Extra +instanceKlass com/intellij/lang/javascript/psi/stubs/JSClassStub +instanceKlass com/intellij/sql/dialects/oracle/OraElementTypes$Kinds +instanceKlass com/intellij/sql/dialects/oracle/OraElementTypes$Misc +instanceKlass com/intellij/lang/ecmascript6/psi/stubs/ES6ReferenceListStub +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$doInit$3 +instanceKlass com/intellij/lang/javascript/psi/stubs/JSReferenceListMemberStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSReferenceListStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSImportStatementStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSPackageStatementStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSAttributeListStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSAttributeNameValuePairStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSAttributeStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSVariableStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSParameterStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSVariableStubBase +instanceKlass com/intellij/vcs/commit/CommitMode +instanceKlass com/intellij/lang/javascript/psi/stubs/JSParameterListStub +instanceKlass com/intellij/vcs/commit/CommitModeManager$CommitModeListener +instanceKlass com/intellij/vcs/commit/CommitModeManager$SettingsListener +instanceKlass com/intellij/vcs/commit/CommitModeManager$Companion +instanceKlass com/intellij/lang/javascript/psi/stubs/JSFunctionStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSFunctionStubBase +instanceKlass com/intellij/vcs/commit/CommitModeManager +instanceKlass com/intellij/lang/javascript/psi/stubs/JSQualifiedStub +instanceKlass com/intellij/psi/stubs/NamedStub +instanceKlass com/intellij/lang/javascript/psi/stubs/JSStubElement +instanceKlass com/intellij/sql/dialects/mssql/MsElementTypes$All +instanceKlass com/intellij/sql/dialects/mssql/MsElementTypes$Extra +instanceKlass com/intellij/sql/dialects/mssql/MsElementTypes$Kinds +instanceKlass com/intellij/vcs/commit/CommitSessionCollector$Companion +instanceKlass com/intellij/sql/dialects/mssql/MsElementTypes$Stubs +instanceKlass com/intellij/vcs/commit/CommitSessionCollector +instanceKlass com/intellij/sql/dialects/mssql/MsElementTypes$Misc +instanceKlass com/intellij/sql/dialects/mysql/MysqlElementTypes$All +instanceKlass com/intellij/sql/dialects/mysql/MysqlElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/mysql/MysqlElementTypes$Refs +instanceKlass com/intellij/sql/dialects/mysql/MysqlElementTypes$Extra +instanceKlass com/intellij/sql/dialects/mysql/MysqlElementTypes$Kinds +instanceKlass com/intellij/sql/dialects/mysql/MysqlElementTypes$Misc +instanceKlass com/intellij/sql/dialects/hsql/HsqlElementTypes$All +instanceKlass com/intellij/sql/dialects/hsql/HsqlElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/hsql/HsqlElementTypes$Misc +instanceKlass com/intellij/psi/templateLanguages/TemplateDataElementType$TemplateAwareElementType +instanceKlass com/intellij/sql/dialects/hive/HiveElementTypes$All +instanceKlass com/intellij/sql/dialects/hive/HiveElementTypes$Extra +instanceKlass com/intellij/sql/dialects/hive/HiveElementTypes$Kinds +instanceKlass com/intellij/sql/dialects/hive/HiveElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/hive/HiveElementTypes$Misc +instanceKlass com/intellij/toolWindow/RequestFocusInToolWindowKt +instanceKlass com/intellij/lang/javascript/types/JSEmbeddedBlockElementType +instanceKlass com/intellij/sql/dialects/h2/H2ElementTypes$All +instanceKlass com/intellij/sql/dialects/h2/H2ElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/h2/H2ElementTypes$Extra +instanceKlass com/intellij/sql/dialects/h2/H2ElementTypes$Misc +instanceKlass com/intellij/toolWindow/FocusTask +instanceKlass com/intellij/sql/dialects/greenplum/GPlumElementTypes$All +instanceKlass com/intellij/sql/dialects/greenplum/GPlumElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/greenplum/GPlumElementTypes$Extra +instanceKlass com/intellij/sql/dialects/postgres/PgElementTypes$Extra +instanceKlass com/intellij/sql/dialects/postgres/PgElementTypes$Kinds +instanceKlass com/intellij/sql/dialects/greenplum/GPlumElementTypes$Kinds +instanceKlass com/intellij/sql/dialects/greenplum/GPlumElementTypes$Misc +instanceKlass com/intellij/sql/dialects/exasol/ExaElementTypes$All +instanceKlass com/intellij/sql/dialects/exasol/ExaElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/exasol/ExaElementTypes$Misc +instanceKlass com/intellij/ide/projectView/impl/ProjectViewImpl$22 +instanceKlass com/intellij/sql/dialects/derby/DerbyElementTypes$All +instanceKlass com/intellij/sql/dialects/derby/DerbyElementTypes$Extra +instanceKlass com/intellij/sql/dialects/derby/DerbyElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/db2/Db2ElementTypes$All +instanceKlass com/intellij/sql/dialects/db2/Db2ElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/db2/Db2ElementTypes$Extra +instanceKlass com/intellij/sql/dialects/db2/Db2ElementTypes$Kinds +instanceKlass com/intellij/sql/dialects/db2/Db2ElementTypes$Misc +instanceKlass com/intellij/sql/dialects/clickhouse/CHouseElementTypes$All +instanceKlass com/intellij/sql/dialects/clickhouse/CHouseElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/clickhouse/CHouseElementTypes$Extra +instanceKlass com/intellij/sql/dialects/clickhouse/CHouseElementTypes$Misc +instanceKlass com/intellij/lang/javascript/JSStubElementTypes +instanceKlass com/intellij/sql/dialects/cassandra/CassElementTypes$All +instanceKlass com/intellij/sql/dialects/cassandra/CassElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/cassandra/CassElementTypes$Misc +instanceKlass com/intellij/lang/javascript/BaseJSTokenTypes +instanceKlass com/intellij/sql/dialects/sql92/Sql92ElementTypes$All +instanceKlass com/intellij/sql/dialects/sql92/Sql92ElementTypes$Stubs +instanceKlass com/intellij/sql/dialects/sql92/Sql92ElementTypes$Extra +instanceKlass com/intellij/sql/dialects/sql92/Sql92ElementTypes$Misc +instanceKlass com/intellij/sql/dialects/base/SqlElementFactory +instanceKlass com/intellij/sql/psi/SqlElementTypes +instanceKlass com/intellij/sql/psi/SqlCompositeElementTypes +instanceKlass com/intellij/lang/javascript/types/PsiGenerator +instanceKlass com/intellij/lang/javascript/JSTokenTypes +instanceKlass net/miginfocom/layout/Grid$AboveBelow +instanceKlass com/intellij/sql/dialects/dateTime/SqlDtParserDefinition$Companion +instanceKlass com/intellij/lang/javascript/JSMinifiedFileUtil +instanceKlass com/intellij/ide/ui/laf/VisualPaddingsProvider +instanceKlass com/intellij/httpClient/js/http/request/language/HttpClientHandlerJSLanguageDialect$Companion +instanceKlass com/intellij/httpClient/js/http/request/language/HttpClientHandlerJsParserDefinitionKt +instanceKlass com/intellij/ide/projectView/impl/ProjectViewListener +instanceKlass com/intellij/ui/tree/DelegatingEdtBgtTreeVisitor +instanceKlass com/intellij/ui/tree/EdtBgtTreeVisitor +instanceKlass com/intellij/ide/util/treeView/AbstractTreeNode$PresentationDataInplaceCommentAppender +instanceKlass com/intellij/ui/AutoScrollToSourceHandler$3 +instanceKlass com/intellij/ide/projectView/impl/AbstractProjectViewPaneWithAsyncSupport$2 +instanceKlass org/jetbrains/vuejs/lang/expr/parser/VueTSParserDefinition$Companion +instanceKlass com/intellij/ide/PsiCopyPasteManager$1 +instanceKlass java/awt/event/MouseEvent$1 +instanceKlass sun/awt/AWTAccessor$MouseEventAccessor +instanceKlass com/intellij/openapi/editor/VisualPosition +instanceKlass com/intellij/openapi/editor/textarea/TextComponentSelectionModel +instanceKlass org/jetbrains/vuejs/lang/expr/parser/VueJSParserDefinition$Companion +instanceKlass com/intellij/openapi/editor/textarea/TextComponentScrollingModel +instanceKlass com/intellij/openapi/editor/textarea/TextComponentFoldingModel +instanceKlass com/intellij/openapi/editor/textarea/TextComponentCaretModel +instanceKlass com/intellij/openapi/editor/impl/SettingsImpl +instanceKlass java/awt/datatransfer/MimeType +instanceKlass java/awt/datatransfer/MimeTypeParameterList +instanceKlass com/intellij/ide/PsiCopyPasteManager$MyData +instanceKlass com/intellij/ide/PsiCopyPasteManager +instanceKlass com/intellij/openapi/editor/markup/MarkupModel +instanceKlass com/intellij/openapi/editor/LogicalPosition +instanceKlass com/intellij/openapi/editor/impl/EmptySoftWrapModel +instanceKlass com/intellij/openapi/editor/textarea/EmptyInlayModel +instanceKlass com/intellij/openapi/editor/impl/EmptyIndentsModel +instanceKlass com/intellij/openapi/editor/event/EditorMouseEventArea +instanceKlass org/jetbrains/vuejs/lang/html/VueFileElementType$Companion +instanceKlass com/intellij/openapi/editor/CaretModel +instanceKlass com/intellij/openapi/editor/EditorSettings +instanceKlass com/intellij/openapi/editor/SelectionModel +instanceKlass com/intellij/openapi/editor/ScrollingModel +instanceKlass com/intellij/openapi/editor/InlayModel +instanceKlass com/intellij/openapi/editor/IndentsModel +instanceKlass com/jetbrains/plugins/webDeployment/ui/remotebrowser/CutRemoteElementMarker +instanceKlass com/intellij/openapi/editor/SoftWrapModel +instanceKlass com/intellij/openapi/editor/FoldingModel +instanceKlass com/intellij/openapi/editor/textarea/TextComponentEditor +instanceKlass com/intellij/ide/PsiCutElementMarker +instanceKlass com/intellij/ui/components/fields/ExtendableTextComponent$Extension +instanceKlass com/intellij/ui/SpeedSearchComparator +instanceKlass com/intellij/ui/SpeedSearchBase$1 +instanceKlass com/intellij/openapi/ide/CutElementMarker +instanceKlass com/intellij/openapi/editor/PlatformEditorBundle +instanceKlass com/intellij/ui/TreeUIHelper +instanceKlass com/intellij/icons/AllIcons$Modules +instanceKlass com/intellij/icons/AllIcons$ObjectBrowser +instanceKlass com/intellij/icons/AllIcons$Hierarchy +instanceKlass com/intellij/util/EditSourceOnEnterKeyHandler +instanceKlass com/intellij/ui/icons/CoreIconManager$WhenMappings +instanceKlass com/intellij/util/EditSourceOnDoubleClickHandler +instanceKlass com/intellij/util/PlatformIcons +instanceKlass com/intellij/ide/projectView/impl/AbstractProjectViewPaneWithAsyncSupport$3 +instanceKlass com/intellij/psi/SmartPsiElementPointer +instanceKlass com/intellij/ui/tree/AsyncTreeModel$Node +instanceKlass com/intellij/util/concurrency/Invoker$Task +instanceKlass com/intellij/util/concurrency/Invoker$Wrapper +instanceKlass java/beans/EventHandler$1 +instanceKlass com/intellij/ui/tree/RestoreSelectionListener +instanceKlass com/intellij/ide/projectView/impl/AsyncProjectViewSupport$4 +instanceKlass com/intellij/ide/CopyPasteUtil$DefaultCopyPasteListener +instanceKlass com/intellij/openapi/ide/CopyPasteManager +instanceKlass com/intellij/openapi/ide/CopyPasteManager$ContentChangedListener +instanceKlass com/intellij/ide/CopyPasteUtil +instanceKlass com/intellij/ide/projectView/impl/AsyncProjectViewSupport$3 +instanceKlass com/intellij/openapi/vcs/impl/FileStatusProvider +instanceKlass com/intellij/openapi/vcs/impl/FileStatusManagerImpl$MyChangeListListener +instanceKlass com/intellij/openapi/vcs/changes/ChangeListListener +instanceKlass it/unimi/dsi/fastutil/objects/Object2BooleanMap$FastEntrySet +instanceKlass it/unimi/dsi/fastutil/booleans/BooleanCollection +instanceKlass it/unimi/dsi/fastutil/booleans/BooleanIterable +instanceKlass it/unimi/dsi/fastutil/objects/AbstractObject2BooleanFunction +instanceKlass it/unimi/dsi/fastutil/objects/Object2BooleanMap +instanceKlass it/unimi/dsi/fastutil/objects/Object2BooleanFunction +instanceKlass com/intellij/ide/bookmark/FileBookmarksListener +instanceKlass com/intellij/ui/tree/project/ProjectFileNodeUpdater$4 +instanceKlass com/intellij/ui/tree/project/ProjectFileNodeUpdater$2 +instanceKlass com/intellij/ui/tree/project/ProjectFileNodeUpdater$1 +instanceKlass com/intellij/ui/tree/AsyncTreeModel$Command +instanceKlass com/intellij/util/ui/tree/TreeModelAdapter +instanceKlass com/intellij/ui/tree/AsyncTreeModel$CommandQueue +instanceKlass com/intellij/ui/tree/AsyncTreeModel$Tree +instanceKlass com/intellij/ui/tree/TreeWalkerBase +instanceKlass com/intellij/ui/tree/TreeVisitor$Acceptor +instanceKlass com/intellij/ui/tree/Searchable +instanceKlass com/intellij/ui/tree/Reference +instanceKlass com/intellij/util/ui/tree/TreeModelListenerList +instanceKlass nl/hannahsten/texifyidea/grammar/BibtexParserDefinition$Cache +instanceKlass com/intellij/util/concurrency/Invoker +instanceKlass nl/hannahsten/texifyidea/grammar/BibtexParserDefinition +instanceKlass com/intellij/util/ui/tree/AbstractTreeModel +instanceKlass com/intellij/ui/tree/ChildrenProvider +instanceKlass com/intellij/util/concurrency/InvokerSupplier +instanceKlass com/intellij/ide/projectView/impl/GroupByTypeComparator +instanceKlass com/intellij/ui/tree/project/ProjectFileNodeUpdater +instanceKlass nl/hannahsten/texifyidea/grammar/LatexParserDefinition +instanceKlass com/intellij/ide/projectView/impl/AsyncProjectViewSupport +instanceKlass com/intellij/ide/util/treeView/TreeAnchorizer +instanceKlass com/intellij/ide/projectView/impl/nodes/DropTargetNode +instanceKlass com/intellij/pom/StatePreservingNavigatable +instanceKlass com/intellij/ide/util/treeView/ValidateableNode +instanceKlass com/intellij/ide/util/treeView/PathElementIdProvider +instanceKlass com/intellij/ide/projectView/SettingsProvider +instanceKlass com/intellij/ide/projectView/RootsProvider +instanceKlass com/intellij/docker/dockerFile/parser/DockerParserDefinition +instanceKlass com/intellij/ui/tree/LeafState$Supplier +instanceKlass com/intellij/openapi/ui/Queryable$Contributor +instanceKlass com/intellij/ui/stripe/TreeUpdater$1 +instanceKlass java/beans/EventHandler$2 +instanceKlass java/beans/EventHandler +instanceKlass org/jetbrains/plugins/cucumber/psi/GherkinParserDefinition +instanceKlass com/intellij/ui/stripe/Updater +instanceKlass com/intellij/ui/stripe/ErrorStripePainter$Value +instanceKlass com/intellij/util/ui/RegionPainter$Image +instanceKlass com/intellij/httpClient/http/request/cookies/CookieStorageParserDefinition +instanceKlass com/intellij/ide/dnd/DnDManagerImpl$MyDropTargetListener +instanceKlass java/awt/dnd/DragSourceListener +instanceKlass com/intellij/ide/dnd/DnDManagerImpl$MyDragGestureListener +instanceKlass com/intellij/ide/dnd/DnDManagerImpl$NullTarget +instanceKlass com/intellij/ide/dnd/DnDEvent +instanceKlass com/intellij/httpClient/http/request/parser/HttpRequestParserDefinition +instanceKlass com/jetbrains/localization/psi/LocaleASTFactory +instanceKlass com/intellij/ide/dnd/DnDManager +instanceKlass com/intellij/ide/projectView/impl/AbstractProjectViewPane$MyDragSource +instanceKlass com/intellij/ide/projectView/impl/ProjectViewDropTarget$DropHandler +instanceKlass com/intellij/ide/projectView/impl/ProjectViewDropTarget +instanceKlass com/intellij/ide/dnd/DnDNativeTarget +instanceKlass com/intellij/ide/projectView/impl/ProjectViewTree$1 +instanceKlass javax/swing/JTree$TreeSelectionRedirector +instanceKlass com/intellij/ui/popup/HintUpdateSupply$3 +instanceKlass com/intellij/ui/popup/HintUpdateSupply +instanceKlass com/intellij/ide/projectView/impl/ProjectViewRenderer$InplaceCommentAppenderImpl +instanceKlass com/intellij/ide/util/treeView/InplaceCommentAppender +instanceKlass com/jetbrains/localization/LocaleParserDefinition +instanceKlass com/jetbrains/localization/LocaleTokenTypes +instanceKlass com/jetbrains/localization/LocaleElementTypes +instanceKlass com/intellij/psi/stubs/LightStubBuilder +instanceKlass com/intellij/util/diff/FlyweightCapableTreeStructure +instanceKlass com/intellij/ui/tree/ui/ClassicPainter +instanceKlass com/intellij/ui/tree/ui/Control$Painter +instanceKlass com/intellij/ui/speedSearch/SpeedSearchUtil +instanceKlass com/intellij/indexing/shared/platform/impl/HashSuppliedIndexedFile +instanceKlass com/intellij/lang/properties/parsing/PropertiesParserDefinition +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ModuleSourceRootData +instanceKlass com/jetbrains/lang/makefile/MakefileParserDefinition$Companion +instanceKlass com/intellij/util/ui/tree/TreeUtil +instanceKlass com/jetbrains/lang/makefile/MakefileParserDefinition +instanceKlass com/jetbrains/python/PythonParserDefinition +instanceKlass com/intellij/ui/render/RenderingUtil +instanceKlass com/intellij/lang/LighterASTNode +instanceKlass org/intellij/plugins/markdown/lang/parser/MarkdownParserDefinition +instanceKlass javax/swing/JTree$TreeModelHandler +instanceKlass com/intellij/ide/projectView/PresentationData +instanceKlass com/intellij/navigation/LocationPresentation +instanceKlass com/intellij/navigation/ColoredItemPresentation +instanceKlass org/intellij/plugins/postcss/PostCssElementTypes +instanceKlass com/intellij/ui/TreeExpandableItemsHandler$4 +instanceKlass com/intellij/ui/TreeExpandableItemsHandler$3 +instanceKlass com/intellij/ui/TreeExpandableItemsHandler$2 +instanceKlass com/intellij/ui/TreeExpandableItemsHandler$1 +instanceKlass com/intellij/ui/AbstractExpandableItemsHandler$7 +instanceKlass java/awt/event/HierarchyBoundsAdapter +instanceKlass com/intellij/ui/popup/MovablePopup +instanceKlass com/intellij/ui/AbstractExpandableItemsHandler +instanceKlass com/intellij/ui/ExpandableItemsHandlerFactory$1 +instanceKlass com/intellij/ui/ExpandableItemsHandlerFactory +instanceKlass javax/swing/AbstractCellEditor +instanceKlass javax/swing/table/TableCellEditor +instanceKlass javax/swing/tree/TreeCellEditor +instanceKlass javax/swing/CellEditor +instanceKlass org/intellij/images/fileTypes/impl/SvgParserDefinition$Companion +instanceKlass com/intellij/ide/dnd/SmoothAutoScroller$DragListener +instanceKlass java/awt/dnd/Autoscroll +instanceKlass com/intellij/ide/dnd/SmoothAutoScroller +instanceKlass com/intellij/ui/tree/ui/DefaultTreeUI$5 +instanceKlass javax/swing/plaf/basic/BasicTreeUI$Handler +instanceKlass javax/swing/event/TreeModelListener +instanceKlass javax/swing/event/TreeExpansionListener +instanceKlass org/jetbrains/plugins/textmate/psi/TextMateParserDefinition +instanceKlass com/intellij/ui/tree/ui/DispatchThreadValidator +instanceKlass com/intellij/ui/tree/ui/DefaultControl +instanceKlass com/intellij/ui/tree/ui/Control +instanceKlass com/intellij/jsonpath/psi/JsonPathParserDefinition +instanceKlass javax/swing/tree/AbstractLayoutCache +instanceKlass javax/swing/tree/RowMapper +instanceKlass javax/swing/tree/AbstractLayoutCache$NodeDimensions +instanceKlass javax/swing/DefaultListSelectionModel +instanceKlass javax/swing/tree/DefaultTreeSelectionModel +instanceKlass com/jetbrains/performancePlugin/lang/IJPerfParserDefinition +instanceKlass org/toml/lang/parse/TomlParserDefinition$Companion +instanceKlass com/intellij/ui/treeStructure/Tree$NodeFilter +instanceKlass com/intellij/ui/ExpandableItemsHandler +instanceKlass javax/swing/JTree$1 +instanceKlass javax/swing/tree/TreeSelectionModel +instanceKlass com/intellij/ide/util/treeView/NodeDescriptor +instanceKlass org/toml/lang/parse/TomlParserDefinition +instanceKlass javax/swing/tree/DefaultTreeModel +instanceKlass javax/swing/tree/DefaultMutableTreeNode +instanceKlass com/intellij/psi/tree/ICompositeElementType +instanceKlass com/intellij/ide/projectView/impl/ProjectViewImpl$21 +instanceKlass com/intellij/sh/parser/ShParserDefinition +instanceKlass com/intellij/sh/lexer/ShTokenTypes +instanceKlass com/intellij/sh/ShTypes +instanceKlass com/intellij/tasks/youtrack/lang/YouTrackParserDefinition +instanceKlass com/intellij/util/indexing/SingleIndexValueApplier +instanceKlass com/jetbrains/rd/ide/model/RdContentTabName$Companion +instanceKlass com/jetbrains/rd/ide/model/RdContentTabName +instanceKlass com/intellij/util/indexing/PsiDependentFileContent +instanceKlass com/intellij/util/indexing/IndexedFileWrapper +instanceKlass com/jetbrains/rdserver/terminal/BackendTtyConnector$Companion +instanceKlass com/jediterm/core/util/TermSize +instanceKlass com/jetbrains/rdserver/terminal/BackendTtyConnector +instanceKlass org/jetbrains/plugins/terminal/ProxyTtyConnector +instanceKlass com/jediterm/terminal/TtyConnector +instanceKlass com/intellij/tasks/jira/jql/JqlParserDefinition +instanceKlass com/intellij/webcore/resourceRoots/WebResourcesPathsConfiguration$State +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/DefaultToolWindowContentTabNameProvider +instanceKlass com/jetbrains/rdserver/terminal/TerminalToolWindowContentTabNameProvider +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/ToolWindowContentTabNameProvider$Companion +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/ToolWindowContentTabNameProvider +instanceKlass org/jetbrains/yaml/YAMLParserDefinition +instanceKlass org/editorconfig/language/parser/EditorConfigParserDefinition$Companion +instanceKlass com/jetbrains/rd/platform/codeWithMe/tabection/CWMContentTabActionProvider$CWMUsersIcon +instanceKlass com/google/common/collect/PeekingIterator +instanceKlass com/google/common/collect/Iterators +instanceKlass com/jetbrains/rd/platform/codeWithMe/tabection/CWMContentTabActionProvider$Companion +instanceKlass com/jetbrains/rd/platform/codeWithMe/tabection/CWMContentTabActionProvider +instanceKlass com/google/common/base/Predicates$InstanceOfPredicate +instanceKlass org/editorconfig/language/parser/EditorConfigParserDefinition +instanceKlass com/google/common/base/CommonPattern +instanceKlass com/google/common/base/Predicate +instanceKlass com/google/common/base/Predicates +instanceKlass com/intellij/openapi/wm/impl/content/tabActions/ContentTabActionProvider$Companion +instanceKlass com/google/common/base/Optional +instanceKlass com/google/common/collect/FluentIterable +instanceKlass com/intellij/ide/projectView/impl/ProjectViewCurrentPaneProvider$Companion +instanceKlass com/intellij/ide/projectView/impl/ProjectViewCurrentPaneProvider +instanceKlass com/intellij/openapi/wm/impl/content/SingleContentSupplier$Companion +instanceKlass com/intellij/openapi/wm/impl/content/SingleContentSupplier +instanceKlass ini4idea/lang/parser/IniParserDefinition +instanceKlass com/intellij/facet/ui/FacetEditorValidator +instanceKlass com/intellij/ui/content/ContentFactoryImpl +instanceKlass com/intellij/ui/content/ContentFactory +instanceKlass com/intellij/microservices/cron/CronParserDefinition +instanceKlass com/intellij/json/jsonLines/JsonLinesParserDefinition$Companion +instanceKlass com/intellij/ide/impl/SelectInTargetPsiWrapper +instanceKlass com/intellij/ide/CompositeSelectInTarget +instanceKlass com/jetbrains/python/module/PyRootTypeProvider$1 +instanceKlass com/jetbrains/python/namespacePackages/PyNamespacePackageRootProvider$Companion +instanceKlass com/intellij/ide/util/treeView/AbstractTreeStructure +instanceKlass com/intellij/ide/scopeView/ScopeViewPane$1 +instanceKlass com/intellij/psi/search/scope/packageSet/CustomScopesFilter +instanceKlass com/intellij/openapi/fileEditor/impl/OpenFilesScope$Provider +instanceKlass com/intellij/sql/SqlFindUsagesProvider +instanceKlass com/intellij/icons/AllIcons$Scope +instanceKlass com/intellij/psi/search/scope/impl/CustomScopesAggregator +instanceKlass com/intellij/ide/scopeView/NamedScopeFilter +instanceKlass com/intellij/ide/projectView/impl/AbstractProjectViewPane$3 +instanceKlass com/intellij/ide/projectView/ProjectViewNodeDecorator +instanceKlass com/intellij/ide/projectView/impl/AbstractProjectViewPane$2 +instanceKlass com/intellij/ide/projectView/TreeStructureProvider +instanceKlass com/intellij/ide/projectView/impl/AbstractProjectViewPane$1 +instanceKlass com/jetbrains/python/module/PyRootTypeProvider +instanceKlass com/intellij/ide/projectView/impl/ProjectViewDeleteElementProvider +instanceKlass com/intellij/ui/speedSearch/SpeedSearchSupply$SpeedSearchLocator +instanceKlass com/intellij/sql/psi/SqlToken +instanceKlass com/intellij/ide/SelectInTarget +instanceKlass com/intellij/sql/util/SqlTokenRegistry +instanceKlass com/intellij/ui/AutoScrollFromSourceHandler$1 +instanceKlass com/intellij/ide/projectView/impl/ProjectViewImpl$20 +instanceKlass com/intellij/ide/projectView/impl/ProjectViewImpl$19 +instanceKlass javax/swing/event/TreeSelectionListener +instanceKlass com/intellij/refactoring/move/MoveCallback +instanceKlass com/intellij/lang/javascript/index/JSIdAndTodoScanner +instanceKlass com/intellij/sql/psi/SqlTokens +instanceKlass com/intellij/sql/psi/SqlCommonTokens +instanceKlass com/intellij/ide/CopyPasteDelegator$MyEditable +instanceKlass com/jetbrains/python/templateLanguages/PyTemplateLanguageSubstitutorDelegate +instanceKlass com/intellij/sql/psi/SqlCommonKeywords +instanceKlass com/intellij/ide/PasteProvider +instanceKlass com/intellij/ide/CopyProvider +instanceKlass com/intellij/ide/CutProvider +instanceKlass com/intellij/ide/CopyPasteDelegator +instanceKlass com/intellij/openapi/util/NullableComputable +instanceKlass com/intellij/ui/AutoScrollFromSourceHandler +instanceKlass com/intellij/lang/javascript/index/JSIdIndexer +instanceKlass org/intellij/lang/regexp/RegExpParserDefinition +instanceKlass com/intellij/lang/javascript/JSFileElementTypes +instanceKlass com/jetbrains/clones/configuration/DuplicateLanguageState$Companion +instanceKlass com/intellij/openapi/components/SkipReportingStatistics +instanceKlass com/intellij/sql/dialects/base/SqlElementFactoryBase +instanceKlass kotlin/jvm/JvmStatic +instanceKlass com/intellij/ide/projectView/ViewSettings$1 +instanceKlass com/intellij/ide/util/treeView/NodeOptions$Immutable +instanceKlass com/jetbrains/clones/configuration/CommonDuplicateState$Companion +instanceKlass com/intellij/ide/projectView/ProjectViewSettings +instanceKlass com/intellij/ide/projectView/ViewSettings +instanceKlass com/intellij/ide/util/treeView/NodeOptions +instanceKlass com/intellij/ide/projectView/impl/ProjectViewState$Companion +instanceKlass com/intellij/ide/ui/SplitterProportionsDataImpl +instanceKlass com/intellij/ide/projectView/impl/IdeViewForProjectViewPane +instanceKlass com/intellij/ide/DeleteProvider +instanceKlass com/intellij/ui/tree/TreeVisitor +instanceKlass com/intellij/lang/puppet/ide/usages/PuppetFindUsagesProvider +instanceKlass com/jetbrains/clones/configuration/CommonDuplicateSettings +instanceKlass com/intellij/ide/dnd/DnDSource +instanceKlass com/intellij/ide/dnd/DnDDropActionHandler +instanceKlass com/intellij/ide/TreeExpander +instanceKlass com/intellij/ide/projectView/impl/AbstractProjectViewPane +instanceKlass com/intellij/lang/javascript/psi/JSFile +instanceKlass com/intellij/lang/javascript/psi/JSModuleStatusOwner +instanceKlass com/intellij/database/run/session/Session +instanceKlass com/intellij/lang/javascript/psi/JSStatementList +instanceKlass com/intellij/database/datagrid/DataAuditor +instanceKlass com/intellij/openapi/util/ModificationTrackerListener +instanceKlass com/intellij/lang/javascript/psi/JSExecutionScope +instanceKlass com/intellij/database/run/session/LogView +instanceKlass com/intellij/sql/SqlTodoExtraPlaces +instanceKlass com/intellij/database/datagrid/GridDataHookUp +instanceKlass com/intellij/database/run/ui/MutationSupport +instanceKlass com/intellij/ui/AutoScrollToSourceHandler +instanceKlass com/intellij/openapi/ui/SplitterProportionsData +instanceKlass com/intellij/psi/impl/cache/impl/id/LexerBasedIdIndexer +instanceKlass com/intellij/psi/impl/cache/impl/id/LexingIdIndexer +instanceKlass com/intellij/database/console/SearchPathSender +instanceKlass com/intellij/database/dataSource/connection/DatabaseDepartment +instanceKlass org/intellij/plugins/relaxNG/compact/RncParserDefinition +instanceKlass com/intellij/lang/javascript/index/JSIndexContent +instanceKlass com/intellij/ide/projectView/impl/ProjectViewImpl$Option +instanceKlass com/intellij/psi/tree/ICustomParsingType +instanceKlass com/intellij/embedding/EmbeddingElementType +instanceKlass com/intellij/openapi/actionSystem/ToggleOptionAction$Option +instanceKlass com/intellij/psi/tree/IStrongWhitespaceHolderElementType +instanceKlass com/intellij/database/datagrid/GridDataRequest +instanceKlass com/intellij/psi/tree/ILightLazyParseableElementType +instanceKlass com/intellij/lang/javascript/library/JSCDNLibManager$CDNJSCDNLibraryProvider +instanceKlass com/intellij/psi/xml/IXmlTagElementType +instanceKlass com/intellij/psi/xml/IXmlAttributeElementType +instanceKlass com/intellij/lang/javascript/library/JSCDNLibManager$JSCDNLibrary +instanceKlass com/intellij/lang/javascript/library/JSCDNLibManager$NPMSourcedCDNLibraryProvider +instanceKlass com/intellij/lang/javascript/library/JSCDNLibManager$JSCDNLibraryProvider +instanceKlass com/intellij/psi/xml/XmlElementType +instanceKlass com/intellij/psi/xml/XmlTokenType +instanceKlass com/intellij/lang/javascript/library/JSCDNLibManager +instanceKlass com/intellij/ide/scratch/ScratchTodoExtraPlaces +instanceKlass com/intellij/psi/impl/cache/impl/todo/TodoIndexers$ExtraPlaceChecker +instanceKlass com/intellij/database/run/session/LogViewHolder +instanceKlass com/intellij/openapi/vcs/changes/ignore/lang/IgnoreParserDefinition +instanceKlass com/intellij/database/console/SearchPathReceiver$Listener +instanceKlass com/intellij/psi/impl/source/parsing/xml/XmlBuilder +instanceKlass com/intellij/database/console/JdbcConsoleBase +instanceKlass com/intellij/database/console/JdbcConsoleCore +instanceKlass com/intellij/xml/util/HtmlUtil +instanceKlass com/intellij/lang/xml/XMLParserDefinition +instanceKlass com/intellij/lang/puppet/psi/PuppetVariable +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetVariableStub +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexImpl$processContentFilesRecursively$visitor$1$WhenMappings +instanceKlass com/intellij/lang/puppet/psi/PuppetTypeDefinition +instanceKlass org/intellij/lang/regexp/RegExpLanguageHost +instanceKlass com/intellij/openapi/fileTypes/PlainTextParserDefinition +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetTypeDefinitionStub +instanceKlass com/intellij/psi/xml/XmlAttributeValue +instanceKlass com/intellij/lang/puppet/psi/PuppetResourceInstanceDeclaration +instanceKlass com/intellij/lang/puppet/psi/PuppetTypeHolder +instanceKlass com/intellij/psi/stubs/StubBuilderType +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetResourceInstanceDeclarationStub +instanceKlass com/intellij/lang/puppet/psi/PuppetNodeDefinition +instanceKlass com/intellij/psi/stubs/StubTreeBuilder +instanceKlass com/intellij/lang/puppet/psi/PupppetTopScopeHolder +instanceKlass com/intellij/psi/xml/XmlText +instanceKlass com/intellij/lang/puppet/psi/PuppetStubBasedPolyNamedPsiElement +instanceKlass com/intellij/lang/puppet/psi/PuppetPolyNamedPsiElement +instanceKlass com/intellij/lang/puppet/psi/PuppetPolyNamedElement +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetNodeDefinitionStub +instanceKlass com/intellij/database/console/JdbcConsoleService +instanceKlass com/intellij/openapi/wm/impl/ToolWindowTypeExtensionsKt +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetPolyNamedStubElement +instanceKlass com/intellij/lang/puppet/psi/PuppetNamespaceDefinition +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetNamespaceDefinitionStub +instanceKlass net/miginfocom/layout/Grid$LinkedDimGroup +instanceKlass com/intellij/database/script/PersistenceConsoleProvider +instanceKlass com/intellij/lang/puppet/psi/PsiPuppetIncludeClassStatement +instanceKlass net/miginfocom/layout/PlatformDefaults +instanceKlass net/miginfocom/layout/Grid$CompWrap +instanceKlass net/miginfocom/layout/Grid$Cell +instanceKlass net/miginfocom/layout/Grid$FlowSizeSpec +instanceKlass com/intellij/lang/puppet/psi/PsiPuppetIncludeClassExpression +instanceKlass com/intellij/psi/HintedReferenceHost +instanceKlass com/intellij/lang/puppet/psi/PsiPuppetExpression +instanceKlass net/miginfocom/layout/LinkHandler +instanceKlass com/intellij/lang/puppet/psi/PuppetIncludeClassStatement +instanceKlass com/intellij/lang/javascript/psi/JSXmlLiteralExpression +instanceKlass com/intellij/json/_JsonLexer +instanceKlass net/miginfocom/layout/Grid +instanceKlass com/intellij/psi/html/HtmlTag +instanceKlass com/intellij/lang/puppet/psi/PuppetFunctionDefinition +instanceKlass com/intellij/util/indexing/FileTypeSpecificSubIndexer +instanceKlass com/intellij/psi/impl/cache/impl/id/ScanningIdIndexer +instanceKlass com/intellij/lexer/FlexLexer +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetFunctionDefinitionStub +instanceKlass com/intellij/lexer/LexerPosition +instanceKlass com/intellij/psi/xml/XmlTag +instanceKlass com/intellij/lang/puppet/psi/PuppetClassDefinition +instanceKlass com/intellij/lang/cacheBuilder/VersionedWordsScanner +instanceKlass com/intellij/lang/puppet/psi/PuppetParametrizedDeclaration +instanceKlass com/intellij/psi/xml/XmlNamedReferenceHost +instanceKlass com/intellij/json/findUsages/JsonFindUsagesProvider +instanceKlass com/intellij/lang/puppet/psi/PuppetNamedScopeHolder +instanceKlass com/intellij/psi/xml/XmlTagChild +instanceKlass com/intellij/lang/puppet/psi/PuppetScopeHolder +instanceKlass com/intellij/lang/findUsages/EmptyFindUsagesProvider +instanceKlass com/intellij/lang/findUsages/FindUsagesProvider +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetStubBasedNamedWithFqnContainerPsiElement +instanceKlass com/intellij/psi/meta/PsiMetaOwner +instanceKlass com/jetbrains/clones/index/HashIndexFileFilterKt +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetStubBasedNamedPsiElement +instanceKlass com/intellij/lang/javascript/psi/JSLiteralExpression +instanceKlass com/intellij/lang/cacheBuilder/CacheBuilderEP +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetStubBasedPsiElement +instanceKlass com/intellij/psi/PsiLiteralValue +instanceKlass com/intellij/sql/dialects/SqlLanguageDialectEx$BuiltinFunctions +instanceKlass com/intellij/lang/puppet/psi/PuppetCompositePsiElement +instanceKlass com/intellij/database/model/DasColumn +instanceKlass com/intellij/database/model/DasPositioned +instanceKlass com/intellij/database/model/DasTypedObject +instanceKlass com/intellij/database/model/DasTypeAwareObject +instanceKlass com/intellij/psi/css/inspections/clones/CssDuplicateScope +instanceKlass com/intellij/lang/puppet/psi/PuppetPsiElementWithCachingReferences +instanceKlass com/intellij/database/model/DasTableChild +instanceKlass com/intellij/lang/javascript/psi/JSImplicitElementProvider +instanceKlass com/intellij/lang/cacheBuilder/CacheBuilderRegistry +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetClassDefinitionStub +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetStubNamedElement +instanceKlass com/intellij/lang/puppet/psi/PuppetFullQualifiedNameOwner +instanceKlass com/intellij/lang/puppet/psi/stubs/PuppetStubElement +instanceKlass com/jetbrains/clones/configuration/BooleanProperty +instanceKlass com/intellij/lang/cacheBuilder/WordsScanner +instanceKlass com/jetbrains/clones/configuration/IntProperty +instanceKlass com/intellij/psi/impl/cache/impl/id/IdIndexer +instanceKlass com/intellij/psi/impl/cache/impl/id/IdTableBuilding +instanceKlass com/jetbrains/clones/configuration/DuplicateIndexConfiguration$Companion +instanceKlass com/intellij/icons/AllIcons$Toolbar +instanceKlass com/jetbrains/clones/configuration/PersistentIdeaSettings +instanceKlass com/intellij/lang/javascript/parsing/JavaScriptParser +instanceKlass com/jetbrains/clones/configuration/DuplicateIndexConfiguration +instanceKlass com/intellij/database/dialects/postgresbase/PostgresBaseDbms +instanceKlass com/intellij/openapi/roots/impl/PushedFilePropertiesRetrieverImpl +instanceKlass com/jetbrains/clones/languagescope/xml/BaseXMLDuplicateScope +instanceKlass com/intellij/openapi/roots/impl/PushedFilePropertiesRetriever +instanceKlass com/intellij/database/dialects/mysqlbase/MysqlBaseDbms +instanceKlass com/intellij/lang/puppet/psi/PuppetStubElementTypes +instanceKlass com/intellij/psi/tree/IReparseableElementTypeBase +instanceKlass com/intellij/lang/puppet/psi/PuppetElementTypeFactory +instanceKlass com/intellij/psi/css/impl/util/CssStylesheetElementTypeBase +instanceKlass com/intellij/psi/css/impl/CssElementType +instanceKlass com/intellij/psi/css/impl/CssElementTypes +instanceKlass com/intellij/psi/css/impl/CssStubElementTypes +instanceKlass kotlinx/coroutines/ExceptionsKt +instanceKlass com/intellij/database/psi/DbPsiFacadeImpl$State +instanceKlass com/intellij/json/JsonElementTypes +instanceKlass com/intellij/lang/puppet/lexer/PuppetLexerKeywords +instanceKlass com/intellij/json/JsonTokenSets +instanceKlass com/intellij/diagnostic/ThreadDumpService$start$1 +instanceKlass com/intellij/diagnostic/ThreadDumpService$Cookie +instanceKlass com/intellij/json/JsonParserDefinition +instanceKlass com/intellij/lang/puppet/lexer/PuppetTokenTypeSets +instanceKlass com/jetbrains/clones/languagescope/common/CommonDuplicateScope +instanceKlass com/intellij/psi/css/impl/CssCommentElementType +instanceKlass com/jetbrains/clones/languagescope/DuplicateScope +instanceKlass com/intellij/sql/database/SqlDataSourceManager$3 +instanceKlass com/intellij/lang/puppet/PuppetTokenTypes +instanceKlass org/jetbrains/plugins/scss/lexer/SCSSTokenTypes +instanceKlass com/intellij/database/dialects/generic/GenericDbms +instanceKlass com/intellij/psi/impl/cache/impl/id/IdTableBuilding$ScanWordProcessor +instanceKlass com/intellij/lang/puppet/psi/PuppetParserDefinition +instanceKlass com/intellij/sql/database/SqlDataSourceManager$1 +instanceKlass com/intellij/database/Dbms$DbmsBean +instanceKlass com/intellij/database/Dbms$LazyData +instanceKlass com/jetbrains/clones/languagescope/DuplicateScopeExtension$Companion +instanceKlass com/intellij/lang/css/CSSParserDefinition +instanceKlass com/jetbrains/clones/languagescope/DuplicateScopeExtension +instanceKlass com/intellij/sql/database/SqlDataSourceStorage$State +instanceKlass com/intellij/psi/impl/cache/impl/IdAndToDoScannerBasedOnFilterLexer +instanceKlass com/intellij/util/concurrency/ContextBiConsumer +instanceKlass com/intellij/openapi/wm/impl/ToolWindowImpl$UpdateBackgroundContentManager +instanceKlass com/intellij/openapi/wm/impl/ToolWindowImpl$createContentManager$3 +instanceKlass com/intellij/sql/database/SqlDataSource +instanceKlass com/intellij/ide/dnd/DnDTarget +instanceKlass com/intellij/toolWindow/InternalDecoratorImpl$3 +instanceKlass com/intellij/util/ui/JBUI$Panels +instanceKlass com/intellij/database/dataSource/LocalDataSourceManager$1 +instanceKlass com/intellij/ide/actions/HideToolWindowAction$Companion +instanceKlass com/intellij/database/autoconfig/DataSourceConfiguration +instanceKlass com/intellij/database/autoconfig/DataSourceDetector$Callback +instanceKlass com/intellij/ui/layout/migLayout/patched/SwingComponentWrapper +instanceKlass net/miginfocom/layout/AnimSpec +instanceKlass com/intellij/database/psi/DataSourceManagerUi +instanceKlass net/miginfocom/layout/CC +instanceKlass com/intellij/toolWindow/ToolWindowHeader$popupMenuListener$1 +instanceKlass com/intellij/toolWindow/InternalDecoratorImpl$InnerPanelBorder +instanceKlass com/intellij/toolWindow/InternalDecoratorImpl$WhenMappings +instanceKlass com/intellij/database/psi/DbPsiFacadeImpl$1 +instanceKlass com/intellij/database/psi/DataSourceManager$Listener +instanceKlass com/intellij/database/psi/DataSourceManager +instanceKlass com/intellij/database/psi/DbDataSource +instanceKlass com/intellij/openapi/wm/impl/ToolWindowImpl$createContentManager$1 +instanceKlass com/intellij/toolWindow/InternalDecoratorImpl$Companion +instanceKlass com/intellij/psi/impl/cache/impl/todo/VersionedTodoIndexer +instanceKlass com/intellij/openapi/wm/impl/NotInHierarchyComponents +instanceKlass com/intellij/psi/CustomHighlighterTokenType +instanceKlass com/intellij/openapi/wm/impl/ToolWindowImplKt +instanceKlass com/intellij/psi/impl/cache/impl/id/PlatformIdTableBuilding +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$applyFileTypeHints$1 +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$WhenMappings +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$andPredicates$1 +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$getGlobalIndexedFilePredicate$1 +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$inputFilerToIndexedFilePredicate$1 +instanceKlass com/intellij/util/indexing/hints/RejectAllIndexingHint +instanceKlass com/intellij/database/psi/DbPsiFacade$Listener +instanceKlass com/intellij/database/vfs/DbVFSUtils +instanceKlass com/intellij/openapi/ui/ShadowAction$1 +instanceKlass com/intellij/openapi/ui/ShadowAction +instanceKlass com/intellij/openapi/wm/impl/content/ToolWindowContentUi$2 +instanceKlass com/intellij/openapi/wm/impl/content/ToolWindowContentUi$1$1 +instanceKlass com/intellij/openapi/wm/impl/content/ToolWindowContentUi$1 +instanceKlass com/intellij/openapi/wm/impl/content/tabActions/ContentTabAction +instanceKlass com/intellij/openapi/wm/impl/content/tabActions/ContentTabActionProvider +instanceKlass com/intellij/openapi/wm/impl/content/AdditionalIcon +instanceKlass com/intellij/openapi/wm/impl/content/BaseLabel$1 +instanceKlass com/intellij/ui/tabs/impl/themes/EditorTabTheme +instanceKlass com/intellij/ui/tabs/impl/themes/DefaultTabTheme +instanceKlass com/intellij/ui/tabs/impl/themes/TabTheme +instanceKlass com/intellij/ui/tabs/impl/JBDefaultTabPainter +instanceKlass com/intellij/ui/tabs/JBTabPainter$Companion +instanceKlass com/intellij/ui/tabs/JBTabPainter +instanceKlass com/intellij/ide/dnd/DnDTargetChecker +instanceKlass com/intellij/ide/dnd/DnDDropHandler +instanceKlass net/miginfocom/layout/ResizeConstraint +instanceKlass net/miginfocom/layout/DimConstraint +instanceKlass net/miginfocom/layout/AC +instanceKlass net/miginfocom/layout/UnitConverter +instanceKlass net/miginfocom/layout/ContainerWrapper +instanceKlass java/beans/SimpleBeanInfo +instanceKlass java/beans/BeanProperty +instanceKlass com/sun/beans/WildcardTypeImpl +instanceKlass com/sun/beans/introspect/PropertyInfo +instanceKlass com/sun/beans/introspect/EventSetInfo +instanceKlass com/sun/beans/WeakCache +instanceKlass com/sun/beans/TypeResolver +instanceKlass java/beans/MethodRef +instanceKlass com/sun/beans/introspect/MethodInfo$MethodOrder +instanceKlass com/sun/beans/introspect/MethodInfo +instanceKlass com/sun/beans/util/Cache$Ref +instanceKlass com/sun/beans/introspect/ClassInfo +instanceKlass javax/swing/SwingContainer +instanceKlass com/sun/beans/finder/ClassFinder +instanceKlass java/beans/BeanInfo +instanceKlass java/beans/Introspector$1 +instanceKlass jdk/internal/access/JavaBeansAccess +instanceKlass java/beans/FeatureDescriptor +instanceKlass java/beans/Introspector +instanceKlass java/beans/WeakIdentityMap +instanceKlass java/beans/ThreadGroupContext +instanceKlass net/miginfocom/layout/UnitValue +instanceKlass java/beans/Beans +instanceKlass java/beans/ExceptionListener +instanceKlass net/miginfocom/layout/LayoutUtil +instanceKlass java/beans/PersistenceDelegate +instanceKlass net/miginfocom/layout/ComponentWrapper +instanceKlass net/miginfocom/layout/BoundSize +instanceKlass net/miginfocom/layout/LC +instanceKlass com/intellij/ui/layout/migLayout/MigLayoutUtilKt +instanceKlass com/intellij/ui/layout/migLayout/patched/MigLayout +instanceKlass com/intellij/ide/actions/CloseAction$CloseTarget +instanceKlass com/intellij/database/DbmsExtension$Bean +instanceKlass com/intellij/psi/PsiLargeBinaryFile +instanceKlass com/intellij/psi/PsiLargeFile +instanceKlass com/intellij/ui/tabs/impl/MorePopupAware +instanceKlass com/intellij/psi/impl/PsiFileEx +instanceKlass com/intellij/psi/PsiBinaryFile +instanceKlass com/intellij/psi/AbstractFileViewProvider$Content +instanceKlass com/intellij/openapi/wm/impl/content/ContentLayout +instanceKlass com/intellij/openapi/wm/impl/content/ToolWindowContentUi +instanceKlass com/intellij/database/util/SqlDialects +instanceKlass com/intellij/ui/content/ContentUI +instanceKlass com/intellij/ui/content/impl/ContentManagerImpl$ContentUiProducer +instanceKlass com/intellij/sql/dialects/SqlDialectImplUtilCore$ObjectTracer +instanceKlass com/intellij/sql/dialects/functions/SqlFunctionDefinition$Parameter +instanceKlass com/intellij/ui/content/impl/ContentManagerImpl +instanceKlass com/intellij/ui/content/ContentManager +instanceKlass com/intellij/database/util/TreePatternNode$BaseNaming +instanceKlass com/intellij/sql/dialects/SqlDialectImplUtilCore +instanceKlass com/intellij/internal/statistic/collectors/fus/actions/persistence/ToolWindowEventLogGroup$Companion +instanceKlass com/intellij/internal/statistic/collectors/fus/actions/persistence/ToolWindowCollector$1 +instanceKlass com/intellij/openapi/wm/ToolWindowAllowlistEP +instanceKlass com/intellij/internal/statistic/collectors/fus/actions/persistence/ToolWindowCollector$Holder +instanceKlass com/intellij/internal/statistic/collectors/fus/actions/persistence/ToolWindowCollector +instanceKlass com/intellij/lang/javascript/settings/JSRootConfigurationBase$State +instanceKlass com/intellij/ide/UiActivityMonitorImpl$BusyContainer +instanceKlass com/intellij/ide/UiActivityMonitor +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/ActiveToolWindowTracker +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolwindowUnsupportedNotificationTracker$1 +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolwindowUnsupportedNotificationTracker$Companion +instanceKlass com/intellij/lang/css/CssDialect +instanceKlass com/intellij/openapi/module/ModuleUtilCore +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolwindowUnsupportedNotificationTracker +instanceKlass com/intellij/ide/projectView/impl/ProjectRootsUtil +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolwindowMirrorModeTracker$3 +instanceKlass com/jetbrains/rdserver/permissions/ClientPermissionListener$Companion +instanceKlass com/jetbrains/rdserver/permissions/ClientPermissionListener +instanceKlass com/intellij/openapi/roots/ContentIteratorEx +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolwindowMirrorModeTracker$1 +instanceKlass org/jetbrains/plugins/github/api/GithubServerPath +instanceKlass com/intellij/util/indexing/UnindexedFilesFinder$UnindexedFileStatusBuilder +instanceKlass org/jetbrains/plugins/github/util/GHHostedRepositoriesManager$knownRepositoriesFlow$lambda$2$$inlined$map$1$2 +instanceKlass com/intellij/openapi/roots/impl/ModuleFileIndexImpl$1 +instanceKlass com/intellij/util/indexing/UnindexedFileStatus +instanceKlass kotlinx/coroutines/flow/internal/FlowExceptions_commonKt +instanceKlass com/intellij/ide/scratch/ScratchUtil +instanceKlass org/jetbrains/plugins/github/pullrequest/GHPRToolWindowFactory$init$1$1$1 +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileSetVisitor +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonScanningStatistics +instanceKlass com/intellij/openapi/roots/ModuleFileIndex +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonDuration +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/UnloadableFileSetData +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexDataImplKt$WhenMappings +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexDataImplKt +instanceKlass com/intellij/util/indexing/diagnostic/dto/JsonConverterKt +instanceKlass com/intellij/execution/process/ProcessOutput +instanceKlass kotlinx/coroutines/CompletedWithCancellation +instanceKlass com/jetbrains/python/sdk/PySdkUtil +instanceKlass com/intellij/psi/PsiPolyVariantReference +instanceKlass com/intellij/psi/PsiReference +instanceKlass com/intellij/lang/javascript/dialects/JSLanguageLevelApplicableRootsCache$2 +instanceKlass com/jetbrains/python/PythonRuntimeService +instanceKlass com/intellij/util/indexing/roots/IndexableFilesIterationMethods +instanceKlass com/intellij/lang/javascript/dialects/JSLanguageLevelApplicableRootsCache$1 +instanceKlass com/intellij/util/indexing/roots/PartialAdditionalLibraryIndexableSetOrigin +instanceKlass com/intellij/util/indexing/roots/kind/LibraryOrigin +instanceKlass com/intellij/util/indexing/SingleProviderIterator +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexFileIndexingStatusProcessor +instanceKlass runtime/reactive/TransactionalReactionsScheduler +instanceKlass com/intellij/util/indexing/UnindexedFilesFinder +instanceKlass runtime/reactive/ComputedKt$trackDependencies$1$1$WhenMappings +instanceKlass runtime/reactive/SignalKt +instanceKlass com/intellij/util/indexing/PerProviderSinkFactory$PerProviderSinkImpl +instanceKlass com/intellij/util/indexing/PerProjectIndexingQueue$PerProviderSink +instanceKlass kotlin/collections/SlidingWindowKt +instanceKlass com/intellij/psi/util/PsiUtilCore$NullPsiElement +instanceKlass org/jetbrains/plugins/gitlab/api/GitLabServerPath$Companion +instanceKlass runtime/reactive/UnionLifetimedValue +instanceKlass org/jetbrains/plugins/gitlab/api/GitLabServerPath +instanceKlass com/intellij/openapi/roots/impl/FilesScanExecutor +instanceKlass com/intellij/collaboration/api/ServerPath +instanceKlass git4idea/remote/hosting/GitAsyncExtensionsKt$discoverServers$1$2 +instanceKlass com/intellij/psi/util/PsiUtilCore +instanceKlass kotlinx/coroutines/flow/FlowKt__TransformKt$runningFold$1$1 +instanceKlass libraries/coroutines/extra/UnionLifetimeImpl +instanceKlass libraries/coroutines/extra/UnionLifetime +instanceKlass libraries/coroutines/extra/UnionLifetimeKt +instanceKlass kotlinx/coroutines/YieldKt +instanceKlass org/jetbrains/plugins/gitlab/GitLabProjectsManagerImpl$knownRepositoriesState$2$invoke$$inlined$map$1$2 +instanceKlass com/intellij/util/indexing/roots/kind/ProjectFileOrDirOrigin +instanceKlass kotlinx/coroutines/flow/internal/CombineKt$combineInternal$2$1$1 +instanceKlass com/intellij/usages/UsageTargetUtil +instanceKlass com/intellij/space/components/SpaceWorkspaceComponent$5$WhenMappings +instanceKlass com/intellij/ide/impl/dataRules/UsageTargetsRule +instanceKlass kotlinx/coroutines/flow/internal/CombineKt +instanceKlass com/intellij/openapi/fileChooser/FileSystemTree +instanceKlass kotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2 +instanceKlass com/intellij/util/indexing/diagnostic/ScanningStatistics +instanceKlass com/intellij/ide/impl/dataRules/VirtualFileArrayRule +instanceKlass org/jetbrains/plugins/gitlab/mergerequest/ui/toolwindow/GitLabToolWindowFactory$init$1$1 +instanceKlass com/intellij/ide/impl/dataRules/PsiElementFromSelectionsRule +instanceKlass com/intellij/ide/impl/dataRules/VirtualFileRule +instanceKlass org/jetbrains/plugins/gitlab/GitLabProjectsManagerImpl$knownRepositoriesState$2$invoke$$inlined$map$1 +instanceKlass com/intellij/ide/impl/dataRules/PsiElementFromSelectionRule +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectSortedMap$FastSortedEntrySet +instanceKlass com/intellij/ide/impl/dataRules/PsiFileRule +instanceKlass org/jetbrains/plugins/gitlab/authentication/accounts/GitLabAccount$$serializer +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectSortedMap +instanceKlass org/jetbrains/plugins/gitlab/authentication/accounts/GitLabPersistentAccounts$GitLabAccountsState$Companion +instanceKlass org/jetbrains/plugins/gitlab/authentication/accounts/GitLabPersistentAccounts$GitLabAccountsState +instanceKlass com/intellij/ide/navbar/actions/DefaultNavBarItemDataRule +instanceKlass com/intellij/util/progress/ConcurrentTasksProgressManager +instanceKlass org/jetbrains/plugins/gitlab/authentication/accounts/GitLabAccountManager +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorProviderManagerImpl$FileEditorProviderManagerState$$serializer +instanceKlass com/intellij/util/indexing/roots/IndexableFilesDeduplicateFilter +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorProviderManagerImpl$FileEditorProviderManagerState$Companion +instanceKlass com/intellij/javascript/library/exclude/JsExcludeContributor$register$1 +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorProviderManagerImpl$FileEditorProviderManagerState +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderScanningListenerContributor$register$1 +instanceKlass com/intellij/javascript/nodejs/packageJson/PackageJsonScanningFileListenerContributor$register$1 +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpScanningFileListenerContributor$YarnPnpScanningFileListener +instanceKlass com/intellij/javascript/nodejs/library/ScanningFileListener +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorProviderManagerImpl$Companion +instanceKlass com/intellij/javascript/library/exclude/JsExcludeContributor +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderScanningListenerContributor +instanceKlass com/intellij/javascript/nodejs/packageJson/PackageJsonScanningFileListenerContributor +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpScanningFileListenerContributor +instanceKlass com/intellij/openapi/fileEditor/ex/FileEditorProviderManager$Companion +instanceKlass com/intellij/openapi/fileEditor/ex/FileEditorProviderManager +instanceKlass com/intellij/javascript/nodejs/library/ScanningFileListenerContributor$Companion +instanceKlass com/intellij/javascript/nodejs/library/ScanningFileListenerContributor +instanceKlass com/intellij/javascript/nodejs/library/JSDetectingProjectFileScanner$ScanningFileListenerRegistrarImpl +instanceKlass com/intellij/util/indexing/roots/IndexableFileScanner$IndexableFileVisitor +instanceKlass com/intellij/util/indexing/roots/IndexableFileScanner$ScanSession +instanceKlass com/intellij/javascript/nodejs/library/ScanningFileListenerContributor$Registrar +instanceKlass com/intellij/javascript/nodejs/library/JSDetectingProjectFileScanner +instanceKlass com/intellij/execution/impl/RunConfigurationInArbitraryFileScanner$Companion +instanceKlass com/intellij/execution/impl/RunConfigurationInArbitraryFileScanner +instanceKlass com/intellij/util/indexing/roots/IndexableFileScanner +instanceKlass com/intellij/util/indexing/roots/origin/SyntheticLibraryOriginImpl +instanceKlass com/intellij/util/indexing/roots/kind/SyntheticLibraryOrigin +instanceKlass com/intellij/util/indexing/roots/origin/IndexableSetContributorOriginImpl +instanceKlass com/intellij/util/indexing/roots/kind/IndexableSetContributorOrigin +instanceKlass com/intellij/util/indexing/roots/kind/SdkOrigin +instanceKlass com/intellij/util/indexing/roots/origin/ModuleRootOriginImpl +instanceKlass com/intellij/util/indexing/roots/kind/ModuleRootOrigin +instanceKlass com/intellij/util/indexing/roots/kind/ModuleContentOrigin +instanceKlass com/intellij/util/indexing/roots/kind/ContentOrigin +instanceKlass com/intellij/util/indexing/dependenciesCache/ExcludePolicyDescriptor +instanceKlass com/intellij/util/indexing/roots/SyntheticLibraryIndexableFilesIteratorImpl$Companion +instanceKlass com/intellij/util/indexing/roots/SyntheticLibraryIndexableFilesIteratorImpl +instanceKlass com/intellij/util/indexing/roots/SyntheticLibraryIndexableFilesIterator +instanceKlass com/intellij/util/indexing/dependenciesCache/SyntheticLibraryDescriptor +instanceKlass com/intellij/util/indexing/roots/IndexableSetContributorFilesIterator$Companion +instanceKlass com/intellij/util/indexing/roots/IndexableSetContributorFilesIterator +instanceKlass com/intellij/lang/typescript/library/TypeScriptServiceDirectoryWatcher$Listener +instanceKlass com/intellij/lang/typescript/library/TypeScriptLibraryKt +instanceKlass java/util/stream/ReduceOps$9ReducingSink +instanceKlass com/intellij/lang/javascript/linter/tslint/TsLintBundle +instanceKlass java/util/stream/Nodes$IntArrayNode +instanceKlass com/intellij/lang/javascript/linter/tslint/TslintUtil +instanceKlass java/util/stream/Node$Builder$OfInt +instanceKlass com/intellij/util/CommonProcessors +instanceKlass com/intellij/toolWindow/ToolWindowSetInitializerKt$registerEpListeners$1 +instanceKlass com/intellij/lang/css/linter/stylelint/StylelintUtil +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/CodeWithMeToolWindowManager$CodeWithMeToolWindowListener +instanceKlass com/intellij/docker/view/DockerToolWindowManagerListener +instanceKlass com/intellij/vcs/log/impl/VcsLogToolwindowManagerListener +instanceKlass com/intellij/vcs/commit/CommitSessionCollector$MyToolWindowManagerListener +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$ToolWindowManagerAppLevelHelper$3 +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$ToolWindowManagerAppLevelHelper$2 +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$ToolWindowManagerAppLevelHelper$1 +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$ToolWindowManagerAppLevelHelper$MyListener +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$ToolWindowManagerAppLevelHelper$Companion +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$ToolWindowManagerAppLevelHelper +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$createNotInHierarchyIterable$$inlined$Iterable$1 +instanceKlass com/intellij/execution/actions/ActivateRunToolWindowAction$Companion +instanceKlass kotlinx/coroutines/flow/FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1 +instanceKlass kotlinx/coroutines/flow/FlowKt__ZipKt$combine$$inlined$unsafeFlow$1 +instanceKlass kotlinx/coroutines/flow/FlowKt__ZipKt +instanceKlass kotlinx/coroutines/flow/FlowKt__TransformKt$runningFold$$inlined$unsafeFlow$1 +instanceKlass kotlinx/coroutines/flow/FlowKt__TransformKt +instanceKlass org/jetbrains/plugins/github/util/GHHostedRepositoriesManager$knownRepositoriesFlow$lambda$2$$inlined$map$1 +instanceKlass sun/reflect/generics/tree/ArrayTypeSignature +instanceKlass com/intellij/collaboration/auth/Account +instanceKlass org/jetbrains/plugins/github/authentication/accounts/GHPersistentAccounts +instanceKlass com/intellij/collaboration/auth/AccountsRepository +instanceKlass org/jetbrains/plugins/github/authentication/accounts/GHAccountManager$Companion +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcToolWindowFactory$1 +instanceKlass com/intellij/collaboration/auth/AccountManagerBase +instanceKlass com/intellij/collaboration/auth/AccountManager +instanceKlass git4idea/remote/hosting/GitAsyncExtensionsKt +instanceKlass org/jetbrains/plugins/github/util/GHHostedRepositoriesManager$Companion +instanceKlass org/jetbrains/plugins/github/util/GHHostedRepositoriesManager +instanceKlass com/intellij/vfs/AsyncVfsEventsPostProcessorImpl$ListenerAndDisposable +instanceKlass git4idea/repo/GitUntrackedDirtyScopeListener +instanceKlass com/intellij/vfs/AsyncVfsEventsPostProcessorImpl$1 +instanceKlass com/intellij/vfs/AsyncVfsEventsPostProcessorImpl$Companion +instanceKlass com/intellij/vfs/AsyncVfsEventsPostProcessorImpl +instanceKlass com/intellij/vfs/AsyncVfsEventsPostProcessor +instanceKlass com/intellij/vfs/AsyncVfsEventsListener +instanceKlass git4idea/commands/GitHandler +instanceKlass git4idea/GitUtil +instanceKlass git4idea/repo/GitRepositoryChangeListener +instanceKlass git4idea/repo/GitRepository +instanceKlass com/intellij/space/vcs/Context +instanceKlass com/intellij/space/vcs/SpaceProjectContextKt +instanceKlass runtime/reactive/XTrackableLifetimedImpl +instanceKlass runtime/reactive/PropertyLiveKt +instanceKlass runtime/reactive/Effect +instanceKlass runtime/reactive/ReactionsKt +instanceKlass com/intellij/space/vcs/hosting/SpaceGitHostingChecker$Companion +instanceKlass com/intellij/space/vcs/hosting/SpaceGitHostingChecker +instanceKlass circlet/platform/tracing/PlatformTracingContextStorageKt +instanceKlass runtime/reactive/DependenciesState +instanceKlass runtime/reactive/XTrackable$DefaultImpls +instanceKlass runtime/reactive/XTrackableLifetimed$DefaultImpls +instanceKlass runtime/reactive/CellTracker$CacheBucket$Companion +instanceKlass runtime/reactive/CellTracker$CacheBucket +instanceKlass runtime/reactive/XUnTrackable +instanceKlass runtime/reactive/CellTracker +instanceKlass runtime/reactive/ComputedExpression$ExpressionContext +instanceKlass runtime/reactive/XTrackableLifetimed +instanceKlass runtime/reactive/XTrackable +instanceKlass it/unimi/dsi/fastutil/objects/AbstractObject2IntMap$BasicEntry +instanceKlass runtime/reactive/DevCellTrackerChecks +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/MultipleStoredWorkspaceFileSets +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/MultipleWorkspaceFileSets +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ExcludedFileSet$ByCondition +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ExcludedFileSet +instanceKlass runtime/reactive/property/MapInitKt +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/DummyWorkspaceFileSetData +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/SyntheticLibrarySourceRootData +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ModuleOrLibrarySourceRootData +instanceKlass runtime/reactive/SourceKt$skip$1 +instanceKlass runtime/reactive/ComputedExpression$ComputedValueState +instanceKlass libraries/klogging/RichLoggable +instanceKlass runtime/reactive/ComputedExpression +instanceKlass runtime/reactive/Computed +instanceKlass com/intellij/openapi/roots/SyntheticLibrary$ExcludeFileCondition +instanceKlass runtime/reactive/ComputedKt +instanceKlass com/intellij/database/model/ModelTextStorage +instanceKlass runtime/reactive/CellableKt +instanceKlass runtime/reactive/LifetimedLoadingPropertyImpl +instanceKlass runtime/reactive/LifetimedLoadingProperty +instanceKlass runtime/reactive/LoadingProperty +instanceKlass com/intellij/database/model/properties/CompositeText +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcUtilsCore +instanceKlass libraries/coroutines/extra/Lifetime$DefaultImpls +instanceKlass libraries/coroutines/extra/CoroutineBuildersExtKt +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcFileSystem$1 +instanceKlass runtime/reactive/LifetimedValue +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcFileSystem$MyDataSourceUpdater +instanceKlass runtime/reactive/LoadingValue$Companion +instanceKlass runtime/reactive/LoadingValue +instanceKlass runtime/reactive/LoadingValueKt$load$1 +instanceKlass runtime/reactive/LoadingValueKt +instanceKlass runtime/reactive/LifetimedValueSourceKt$withLifetime$1 +instanceKlass runtime/reactive/LifetimedValueSourceKt +instanceKlass runtime/reactive/LoadingValueExtKt +instanceKlass circlet/platform/tracing/PlatformTracingContextStorage +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcFileSystemCore$ItemTypeOrFolder +instanceKlass circlet/platform/tracing/TracingContext +instanceKlass circlet/platform/tracing/CoroutineTracingContextElement$Key +instanceKlass org/slf4j/helpers/BasicMDCAdapter +instanceKlass org/slf4j/impl/StaticMDCBinder +instanceKlass org/slf4j/spi/MDCAdapter +instanceKlass org/slf4j/MDC +instanceKlass libraries/klogging/MDCContext$Key +instanceKlass com/intellij/openapi/vfs/VersionManagingFileSystem +instanceKlass libraries/coroutines/extra/CoroutineBuildersKt +instanceKlass libraries/coroutines/extra/LifetimeContextElement$Companion +instanceKlass libraries/coroutines/extra/LifetimedScopeKt +instanceKlass libraries/coroutines/extra/LifetimedCoroutineScope +instanceKlass libraries/coroutines/extra/CoroutineBuildersCommonKt +instanceKlass com/intellij/webcore/libraries/ScriptingLibraryMappings$MyLibraryTableListener +instanceKlass runtime/reactive/SourceKt +instanceKlass nl/hannahsten/texifyidea/settings/sdk/LatexSdkUtil +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpManagerState +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpManager$YarnPnpFileListener +instanceKlass com/intellij/util/containers/Convertor$IntoSelf +instanceKlass com/intellij/openapi/vfs/newvfs/impl/UserDataInterner +instanceKlass com/intellij/util/containers/Convertor +instanceKlass com/intellij/space/settings/SpaceReviewSettings +instanceKlass com/intellij/space/settings/SpacePermissionsStorage +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesLibraryDirectory +instanceKlass com/intellij/space/settings/SpaceChatSettings +instanceKlass com/intellij/space/settings/SpaceServerSettings +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesLibrariesSnapshot$Workspace +instanceKlass com/intellij/space/settings/SpaceSettings$Companion +instanceKlass runtime/reactive/Property$DefaultImpls +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesLibrariesSnapshot +instanceKlass runtime/reactive/MutableProperty$DefaultImpls +instanceKlass com/intellij/lang/typescript/library/TypeScriptLibraries +instanceKlass libraries/coroutines/extra/LifetimeKt +instanceKlass libraries/coroutines/extra/AsyncEternalLifetimeImpl +instanceKlass libraries/coroutines/extra/AsyncLifetime +instanceKlass libraries/coroutines/extra/AsyncLifetimed +instanceKlass libraries/coroutines/extra/DeadLifetimeImpl +instanceKlass libraries/coroutines/extra/EternalLifetimeImpl +instanceKlass libraries/coroutines/extra/Lifetime$Companion +instanceKlass libraries/basics/DebugCommonKt +instanceKlass libraries/coroutines/extra/LifetimeUtilsKt +instanceKlass runtime/DispatchJvmKt +instanceKlass runtime/DefaultLogContainer +instanceKlass runtime/CoroutineExceptionLogger +instanceKlass com/intellij/space/runtime/SpaceDispatchersKt +instanceKlass com/intellij/space/settings/SpaceLoginState +instanceKlass libraries/basics/Sync +instanceKlass com/intellij/openapi/application/PluginPathManager +instanceKlass runtime/reactive/LazyLifetimed +instanceKlass com/intellij/lang/javascript/psi/util/JSPluginPathManager +instanceKlass runtime/reactive/LazySequentialLifetimed +instanceKlass runtime/reactive/property/MapKt +instanceKlass runtime/reactive/SignalImpl +instanceKlass runtime/reactive/Signal$Companion +instanceKlass runtime/reactive/Signal +instanceKlass com/intellij/space/components/SpaceWorkspaceManagerFactory +instanceKlass com/intellij/openapi/vfs/impl/LightFilePointer +instanceKlass com/intellij/space/components/SpaceWorkspaceManagerHost$Companion +instanceKlass circlet/platform/workspaces/WorkspaceManagerHost +instanceKlass runtime/reactive/SequentialLifetimes +instanceKlass circlet/platform/api/oauth/OpenSet +instanceKlass circlet/platform/api/oauth/OpenSetKt +instanceKlass circlet/platform/api/ClientSupportFlag$Companion +instanceKlass circlet/platform/api/ClientSupportFlag +instanceKlass com/intellij/space/components/SpaceWorkspaceComponent$Companion +instanceKlass com/intellij/space/components/SpaceWorkspaceComponent +instanceKlass libraries/basics/DebugKt +instanceKlass runtime/reactive/Changes +instanceKlass java/util/zip/ZipFile$ZipEntryIterator +instanceKlass com/intellij/openapi/vfs/impl/ArchiveHandler$EntryInfo +instanceKlass runtime/reactive/PropertyImpl +instanceKlass runtime/reactive/MutableProperty +instanceKlass runtime/reactive/ImmutablePropertyImpl +instanceKlass runtime/reactive/Property$Companion +instanceKlass runtime/reactive/Property +instanceKlass runtime/reactive/Source +instanceKlass libraries/collections/MutableSetLikeKt$wrapNormalSet$1 +instanceKlass libraries/collections/MutableSetLike +instanceKlass libraries/collections/MutableSetLikeKt +instanceKlass libraries/collections/Collections +instanceKlass runtime/reactive/PropertyKt +instanceKlass libraries/klogging/JVMLogger +instanceKlass libraries/klogging/KLogger +instanceKlass libraries/klogging/BaseLogger +instanceKlass org/slf4j/helpers/NamedLoggerBase +instanceKlass org/slf4j/spi/LocationAwareLogger +instanceKlass org/slf4j/impl/JDK14LoggerFactory +instanceKlass org/slf4j/impl/StaticLoggerBinder +instanceKlass org/slf4j/spi/LoggerFactoryBinder +instanceKlass org/slf4j/helpers/Util +instanceKlass org/slf4j/helpers/NOPLoggerFactory +instanceKlass org/slf4j/Logger +instanceKlass org/slf4j/helpers/SubstituteLoggerFactory +instanceKlass com/intellij/httpClient/http/request/HttpRequestCollectionHolder +instanceKlass org/slf4j/event/LoggingEvent +instanceKlass org/slf4j/ILoggerFactory +instanceKlass org/slf4j/LoggerFactory +instanceKlass com/intellij/psi/css/resolve/CssInclusionContext +instanceKlass libraries/klogging/KLoggerStaticFactoryKt +instanceKlass org/jetbrains/plugins/sass/stdlib/SassScssStubMarker +instanceKlass libraries/klogging/ShutdownListener +instanceKlass com/intellij/lang/puppet/ide/libraries/PuppetLibraryUtil +instanceKlass libraries/klogging/KLoggerStaticFactory +instanceKlass libraries/klogging/KLoggerFactory +instanceKlass libraries/klogging/KLoggers +instanceKlass libraries/coroutines/extra/ILifetimeSource$Companion +instanceKlass libraries/coroutines/extra/ILifetimeSource +instanceKlass libraries/coroutines/extra/Lifetime +instanceKlass libraries/coroutines/extra/ILifetime +instanceKlass com/intellij/space/utils/LifetimedDisposableImpl +instanceKlass com/intellij/space/utils/UtilitiesKt +instanceKlass com/intellij/space/vcs/SpaceProjectContext$Companion +instanceKlass com/intellij/space/vcs/SpaceProjectContext +instanceKlass com/intellij/space/utils/LifetimedDisposable +instanceKlass libraries/coroutines/extra/Lifetimed +instanceKlass com/intellij/openapi/vfs/newvfs/VfsImplUtil$2 +instanceKlass com/intellij/openapi/vfs/newvfs/VfsImplUtil$1 +instanceKlass com/intellij/lang/javascript/library/JSPredefinedLibrariesData +instanceKlass kotlinx/coroutines/internal/MainDispatchersKt +instanceKlass com/intellij/openapi/application/impl/EdtCoroutineDispatcherFactory +instanceKlass com/intellij/lang/javascript/library/JSPredefinedLibraryMappings +instanceKlass com/intellij/openapi/vfs/LocalFileProvider +instanceKlass com/intellij/openapi/vfs/JarCopyingFileSystem +instanceKlass com/intellij/openapi/vfs/IntegrityCheckCapableFileSystem +instanceKlass com/intellij/webcore/libraries/ScriptingLibraryModel +instanceKlass com/intellij/javascript/nodejs/library/FileIndexExtensionRecursionGuard$Companion +instanceKlass com/intellij/javascript/nodejs/library/FileIndexExtensionRecursionGuard +instanceKlass com/intellij/javaee/InternalResourceProvider +instanceKlass com/intellij/javascript/nodejs/library/core/NodeCoreLibraryConfigurator +instanceKlass com/intellij/model/ModelBranch +instanceKlass com/intellij/injected/editor/VirtualFileWindow +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSImpl$ParentFinder +instanceKlass org/intellij/plugins/relaxNG/RelaxNgMetaDataContributor$ResourceProvider +instanceKlass com/intellij/javaee/ResourceRegistrarImpl +instanceKlass com/intellij/javaee/StandardResourceEP +instanceKlass com/intellij/javaee/StandardResourceProvider +instanceKlass com/intellij/util/UrlUtilRt +instanceKlass com/intellij/javaee/ExternalResourceManagerExImpl$Resource +instanceKlass com/intellij/javaee/ResourceRegistrar +instanceKlass com/intellij/lang/javascript/library/JSLibraryUtil +instanceKlass it/unimi/dsi/fastutil/objects/ObjectOpenHashSet$SetIterator +instanceKlass com/intellij/lang/javascript/linter/JSLinterConfigFileUtil +instanceKlass com/intellij/ide/scratch/ScratchFileServiceImpl$4 +instanceKlass com/intellij/ide/scratch/ScratchFileServiceImpl$3 +instanceKlass com/intellij/lang/javascript/linter/eslint/EslintUtil +instanceKlass com/intellij/ide/scratch/ScratchFileServiceImpl$2 +instanceKlass com/intellij/util/indexing/LightDirectoryIndex$2 +instanceKlass com/intellij/util/indexing/LightDirectoryIndex$1 +instanceKlass com/jetbrains/python/console/PyConsoleRootType$Companion +instanceKlass com/intellij/database/vfs/DbConsoleRootTypeCore +instanceKlass com/intellij/microservices/oas/serialization/ExportOpenApiRootType$Companion +instanceKlass com/intellij/lang/javascript/linter/JSLinterDescriptor +instanceKlass com/intellij/lang/javascript/frameworks/modules/JSModulePathSubstitution +instanceKlass com/intellij/lang/javascript/frameworks/modules/JSModuleMappingInfo +instanceKlass com/intellij/lang/javascript/frameworks/modules/JSModulePattern +instanceKlass com/intellij/javascript/nodejs/PackageJsonData +instanceKlass com/intellij/lang/LangBundle +instanceKlass com/intellij/util/indexing/LightDirectoryIndex +instanceKlass com/intellij/lang/PerFileMappingsBase$1 +instanceKlass com/intellij/ide/scratch/RootType +instanceKlass com/intellij/ide/scratch/ScratchFileService +instanceKlass com/intellij/lang/javascript/library/JSPredefinedLibraryProvider +instanceKlass com/intellij/util/indexing/dependenciesCache/IndexableSetContributorDescriptor +instanceKlass kotlinx/coroutines/internal/FastServiceLoaderKt +instanceKlass kotlinx/coroutines/internal/MainDispatcherFactory +instanceKlass kotlinx/coroutines/internal/FastServiceLoader +instanceKlass kotlinx/coroutines/internal/MainDispatcherLoader +instanceKlass com/intellij/collaboration/async/CoroutineUtilKt +instanceKlass org/jetbrains/plugins/gitlab/GitLabProjectsManagerImpl$Companion +instanceKlass com/intellij/openapi/wm/impl/DesktopLayoutKt +instanceKlass com/intellij/openapi/vcs/changes/ui/ExtensionListener +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesViewContentEP +instanceKlass com/intellij/openapi/vcs/changes/ui/VcsToolWindowFactory$init$3 +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesViewContentManagerListener$Companion +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesViewContentManagerListener +instanceKlass com/intellij/analysis/problemsView/toolWindow/HighlightingErrorsProvider$Companion +instanceKlass com/intellij/analysis/problemsView/toolWindow/HighlightingErrorsProviderBase$Companion +instanceKlass com/github/weisj/jsvg/W +instanceKlass com/intellij/ide/util/RunOnceUtil +instanceKlass com/intellij/ui/ProjectConceptBundle +instanceKlass com/intellij/ui/viewModel/extraction/ViewModelToolWindowFactory +instanceKlass com/intellij/util/indexing/roots/IndexingContributorCustomization +instanceKlass com/intellij/ui/viewModel/extraction/ToolWindowExtractorEP +instanceKlass com/intellij/util/indexing/CustomizingIndexingContributor +instanceKlass org/intellij/android/cwm/LogcatRemoteDevToolWindowExtractor +instanceKlass com/intellij/util/indexing/roots/RootData +instanceKlass com/intellij/util/indexing/roots/MyWorkspaceFileSetRegistrar +instanceKlass org/intellij/android/cwm/LogcatToolWindowExtractorKt +instanceKlass org/intellij/android/cwm/LogcatCWMToolWindowExtractor +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostManagerKt +instanceKlass com/jetbrains/rdserver/toolWindow/FallbackToolWindowExtractorVetoer$Companion +instanceKlass com/jetbrains/rdserver/toolWindow/FallbackToolWindowExtractorVetoer +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostToolWindowProjectorStealingExtractor$Companion +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostToolWindowProjectorStealingExtractor +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostToolWindowProjectorInstancingExtractor$Companion +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostToolWindowProjectorInstancingExtractor +instanceKlass com/intellij/dependencytoolwindow/DependencyToolWindowViewModelExtractor +instanceKlass com/intellij/util/indexing/roots/ModuleIndexableFilesIteratorImpl$Companion +instanceKlass com/intellij/ui/viewModel/extraction/ToolWindowViewModelExtractor +instanceKlass com/intellij/util/indexing/roots/kind/IndexableSetOrigin +instanceKlass com/intellij/util/indexing/roots/ModuleIndexableFilesIteratorImpl +instanceKlass com/intellij/util/indexing/roots/ModuleIndexableFilesIterator +instanceKlass com/intellij/util/indexing/roots/IndexableEntityProviderMethods +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolWindowModeProvider +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolWindowHostKt +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolWindow +instanceKlass com/intellij/icons/ExpUiIcons$Toolwindow +instanceKlass com/intellij/toolWindow/ToolWindowEntry +instanceKlass com/intellij/toolWindow/ToolWindowPaneNewButtonManager$createStripeButton$manager$1 +instanceKlass com/intellij/util/indexing/IndexableSetContributor +instanceKlass com/intellij/util/indexing/AdditionalIndexableFileSet +instanceKlass com/intellij/util/indexing/dependenciesCache/DependenciesIndexedStatusService$StatusMark +instanceKlass com/intellij/openapi/wm/impl/SquareStripeButtonKt +instanceKlass com/intellij/openapi/actionSystem/CheckedActionGroup +instanceKlass com/intellij/openapi/wm/impl/SquareStripeButton$Companion +instanceKlass com/intellij/util/indexing/diagnostic/ProjectScanningHistoryImpl$Event$StageEvent +instanceKlass com/intellij/util/indexing/diagnostic/ProjectScanningHistoryImpl$Event +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$Event$StageEvent +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$Event +instanceKlass com/intellij/diagnostic/PerformanceWatcherImpl$SnapshotImpl +instanceKlass com/intellij/diagnostic/PerformanceWatcher$Snapshot +instanceKlass com/intellij/util/indexing/UnindexedFilesScanner$1 +instanceKlass com/intellij/openapi/wm/impl/ToolWindowIcon +instanceKlass com/intellij/database/datagrid/GridWidget$3 +instanceKlass com/intellij/database/datagrid/GridWidget$2 +instanceKlass com/intellij/util/indexing/diagnostic/DumbModeFromScanningTrackerService$1$1 +instanceKlass com/intellij/database/datagrid/DataGrid$ActiveGridListener +instanceKlass com/intellij/database/datagrid/CoreResultView +instanceKlass com/intellij/database/datagrid/DataGrid +instanceKlass com/intellij/util/indexing/diagnostic/DumbModeFromScanningTrackerService +instanceKlass com/intellij/openapi/wm/WindowInfoKt +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryFusHandler +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexProjectIndexingHistoryListener +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryFusReporterListener +instanceKlass com/intellij/indexing/shared/download/ShadeIndexDumbModeTracker +instanceKlass com/intellij/openapi/fileEditor/impl/DockableEditorTabbedContainer +instanceKlass com/intellij/ui/docking/DockContainer$Persistent +instanceKlass com/intellij/ui/docking/DockContainer +instanceKlass com/intellij/indexing/shared/download/ShadeIndexDumbModeTrackerListener +instanceKlass com/jetbrains/performancePlugin/ProjectIndexingComponent +instanceKlass com/intellij/lang/puppet/project/PuppetDumbModeListener +instanceKlass com/intellij/openapi/project/RefreshIconsOnEndOfDumbModeListener +instanceKlass com/intellij/openapi/project/ProjectRootManagerOnEndOfDumbModeIncrementer +instanceKlass com/intellij/util/indexing/diagnostic/ProjectScanningHistoryImpl$ScanningTimesImpl +instanceKlass com/intellij/ide/navbar/ui/NewNavBarPanel$1 +instanceKlass com/intellij/util/indexing/diagnostic/ScanningTimes +instanceKlass com/intellij/ide/navbar/ui/NavBarDialogFocusListener +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImplKt +instanceKlass com/intellij/util/indexing/diagnostic/ProjectScanningHistoryImpl$Companion +instanceKlass com/intellij/ide/CopyPasteSupport +instanceKlass com/intellij/ui/Hint +instanceKlass com/intellij/util/indexing/diagnostic/ProjectScanningHistoryImpl +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$IndexingTimesImpl +instanceKlass com/intellij/ide/navbar/vm/NavBarPopupVm +instanceKlass com/intellij/util/indexing/diagnostic/IndexingTimes +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl$Companion +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryImpl +instanceKlass com/intellij/openapi/application/impl/InSmartMode +instanceKlass com/intellij/util/RunnableCallable +instanceKlass com/intellij/ui/components/Layout +instanceKlass com/intellij/ide/RemoteDesktopService +instanceKlass com/intellij/ui/DrawUtil +instanceKlass com/intellij/openapi/application/ex/ApplicationUtil$1 +instanceKlass com/intellij/openapi/application/ex/ApplicationUtil +instanceKlass com/intellij/util/containers/WeakList$1 +instanceKlass com/intellij/ide/navbar/ide/NavBarIdeUtil$dataContext$2$1 +instanceKlass com/intellij/util/containers/UnsafeWeakList$MyIterator +instanceKlass com/intellij/util/indexing/DumbModeWhileScanningTrigger$subscribe$$inlined$map$1$2 +instanceKlass kotlinx/coroutines/flow/FlowKt__ReduceKt$first$$inlined$collectWhile$2 +instanceKlass kotlinx/coroutines/flow/FlowKt__ReduceKt +instanceKlass com/intellij/ide/navbar/ide/NavBarVmImpl$NavBarItemVmImpl +instanceKlass com/intellij/ide/navbar/vm/NavBarItemVm +instanceKlass com/intellij/ide/navbar/ide/NavBarVmImpl +instanceKlass com/intellij/util/indexing/DumbModeWhileScanningTrigger$subscribe$$inlined$map$1 +instanceKlass it/unimi/dsi/fastutil/longs/LongCollections$SynchronizedCollection +instanceKlass com/intellij/ide/navbar/NavBarItemPresentation +instanceKlass it/unimi/dsi/fastutil/longs/LongCollections$UnmodifiableCollection +instanceKlass it/unimi/dsi/fastutil/longs/LongSets +instanceKlass com/intellij/icons/AllIcons$Nodes +instanceKlass com/intellij/util/indexing/PerProjectIndexingQueue$sinkFactory$1 +instanceKlass com/intellij/util/indexing/PerProviderSinkFactory$UncommittedFilesListener +instanceKlass com/intellij/util/indexing/PerProviderSinkFactory$Companion +instanceKlass com/intellij/util/indexing/PerProviderSinkFactory +instanceKlass com/intellij/util/indexing/PerProjectIndexingQueue$Companion +instanceKlass com/intellij/psi/PsiDirectory +instanceKlass com/intellij/util/indexing/PerProjectIndexingQueue +instanceKlass com/intellij/util/indexing/DumbModeWhileScanningTrigger$Companion +instanceKlass com/intellij/util/indexing/DumbModeWhileScanningTrigger +instanceKlass com/intellij/execution/services/ServiceViewNavBarPanel$ServiceViewNavBarRoot +instanceKlass com/intellij/execution/services/ServiceModel$ServiceViewItem +instanceKlass com/intellij/openapi/util/ColoredItem +instanceKlass com/intellij/externalDependencies/impl/ExternalDependenciesManagerImpl$ExternalDependenciesState +instanceKlass com/intellij/externalDependencies/ProjectExternalDependency +instanceKlass com/intellij/psi/search/PsiElementProcessor +instanceKlass com/intellij/openapi/actionSystem/ex/MainMenuPresentationAware +instanceKlass com/intellij/database/datagrid/CoreGrid +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcFileSystemCore$ItemProcessor +instanceKlass com/intellij/util/indexing/diagnostic/ScanningType$Companion +instanceKlass com/intellij/util/ui/UIUtil$TextPainter +instanceKlass com/intellij/openapi/fileEditor/impl/EditorEmptyTextPainter +instanceKlass com/intellij/testFramework/TestModeFlags +instanceKlass com/intellij/util/indexing/FileBasedIndexImpl$5 +instanceKlass com/intellij/lang/javascript/editor/JSBreadcrumbsProvider +instanceKlass com/intellij/ui/breadcrumbs/BreadcrumbsProvider +instanceKlass com/intellij/openapi/wm/impl/PainterHelper$Offsets +instanceKlass com/intellij/ide/navigationToolbar/StructureAwareNavBarModelExtension$Companion +instanceKlass com/intellij/indexing/shared/local/PredefinedJsonSharedIndexLocalFinder$Companion +instanceKlass com/intellij/indexing/shared/local/PredefinedJsonSharedIndexLocalFinder +instanceKlass com/intellij/indexing/shared/local/SharedIndexLocalFinder +instanceKlass com/intellij/ide/navigationToolbar/AbstractNavBarModelExtension +instanceKlass kotlinx/coroutines/flow/StartedWhileSubscribed +instanceKlass kotlinx/coroutines/flow/FlowKt__MergeKt$flattenConcat$$inlined$unsafeFlow$1 +instanceKlass kotlinx/coroutines/flow/FlowKt__MergeKt$flatMapConcat$$inlined$map$1 +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt$take$$inlined$unsafeFlow$1 +instanceKlass com/intellij/ide/navigationToolbar/NavBarModelExtension +instanceKlass com/intellij/facet/ProjectWideFacetListener +instanceKlass com/intellij/openapi/progress/util/AbstractProgressIndicatorBase$State +instanceKlass com/intellij/ide/navbar/impl/DefaultNavBarItemProviderKt +instanceKlass com/intellij/facet/impl/ui/FacetDependentToolWindowManager +instanceKlass com/intellij/toolWindow/RegisterToolWindowTaskProvider +instanceKlass com/intellij/openapi/wm/impl/status/StatusBarUtil +instanceKlass com/intellij/ide/navbar/ide/NavBarVmItem +instanceKlass com/intellij/ide/navbar/vm/NavBarPopupItem +instanceKlass com/intellij/util/indexing/DumbModeWhileScanningSubscriber +instanceKlass com/intellij/ide/navbar/NavBarItem$Companion +instanceKlass com/intellij/openapi/wm/impl/status/TextPanel$WithIconAndArrows$Companion +instanceKlass com/intellij/internal/statistic/devkit/toolwindow/StatisticsEventLogToolWindowFactory +instanceKlass com/intellij/ide/navbar/impl/DefaultNavBarItem +instanceKlass com/intellij/ide/navbar/NavBarItem +instanceKlass com/intellij/externalDependencies/impl/CheckRequiredPluginsActivity +instanceKlass com/intellij/model/Pointer +instanceKlass com/jetbrains/python/console/PythonConsoleToolWindowFactory$Companion +instanceKlass com/jetbrains/python/console/PythonConsoleToolWindowFactory +instanceKlass com/intellij/util/indexing/ProjectFileBasedIndexStartupActivity$1 +instanceKlass com/intellij/util/indexing/ProjectFileBasedIndexStartupActivity +instanceKlass com/jetbrains/python/debugger/PyFrameAccessor +instanceKlass com/intellij/indexing/shared/platform/api/ChunkDescriptor +instanceKlass com/intellij/indexing/shared/platform/impl/OnDiskSharedIndexChunkLocator +instanceKlass com/jetbrains/python/scientific/PyDataViewToolWindowFactory +instanceKlass com/intellij/openapi/startup/StartupActivity$RequiredForSmartMode +instanceKlass com/intellij/openapi/startup/StartupActivity +instanceKlass com/jetbrains/python/packaging/toolwindow/PyPackagesToolWindowFactory +instanceKlass com/intellij/ide/navbar/ide/NavBarServiceKt +instanceKlass com/intellij/openapi/wm/impl/status/IdeStatusBarImpl$setCentralWidget$widget$1 +instanceKlass com/intellij/ui/hover/HoverListener +instanceKlass com/intellij/ide/navbar/actions/NavBarActionHandler +instanceKlass com/intellij/ui/popup/PopupOwner +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadService +instanceKlass com/intellij/indexing/shared/download/SharedIndexDownloadedCondition +instanceKlass com/intellij/database/remote/jdbc/RemoteResultSet +instanceKlass com/intellij/execution/rmi/RemoteCastable +instanceKlass java/rmi/Remote +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$List$Selection$Inactive +instanceKlass com/intellij/openapi/project/DumbServiceInitializationCondition +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$StatusBar$Breadcrumbs +instanceKlass com/intellij/ide/navigationToolbar/NavBarBorder +instanceKlass com/intellij/database/model/meta/BasicMetaId +instanceKlass com/intellij/database/model/properties/BasicReference +instanceKlass com/intellij/database/model/basic/BasicTableOrView +instanceKlass com/intellij/openapi/wm/impl/status/InfoAndProgressPanel$ScrollableToSelected +instanceKlass com/intellij/database/model/basic/BasicMixinTableOrView +instanceKlass com/intellij/ide/navbar/ide/NavBarIdeUtil$activityFlow$1$5 +instanceKlass com/intellij/database/model/DasTable +instanceKlass com/intellij/database/model/DasSchemaChild +instanceKlass com/intellij/ide/navigationToolbar/NavBarRootPaneExtensionKt +instanceKlass com/intellij/database/model/basic/BasicLikeTable +instanceKlass com/intellij/ide/ui/VirtualFileAppearanceListener +instanceKlass com/intellij/database/model/basic/BasicNamedElement +instanceKlass com/intellij/ide/navbar/ide/NavBarIdeUtil$activityFlow$1$3 +instanceKlass com/intellij/database/model/basic/BasicMixinNamedElement +instanceKlass com/intellij/ide/navbar/ide/NavBarIdeUtil$activityFlow$1$2 +instanceKlass com/intellij/database/dataSource/connection/statements/ExecutionMode +instanceKlass com/intellij/openapi/project/DumbModeProgressTitle +instanceKlass com/intellij/database/model/basic/BasicElement +instanceKlass com/intellij/database/model/basic/BasicMixinElement +instanceKlass com/intellij/database/model/basic/BasicObjectNode +instanceKlass com/intellij/database/model/basic/BasicNode +instanceKlass com/intellij/ui/ScrollPaneFactory +instanceKlass com/intellij/database/model/basic/BasicModel +instanceKlass com/intellij/database/model/MetaModel +instanceKlass com/intellij/database/util/DbImplUtilCore +instanceKlass com/intellij/ide/navbar/vm/NavBarVm +instanceKlass com/intellij/internal/statistic/StructuredIdeActivity$Companion +instanceKlass com/intellij/internal/statistic/StructuredIdeActivity +instanceKlass com/intellij/internal/statistic/StructuredIdeActivityKt +instanceKlass com/intellij/ide/navbar/ide/NavBarService$Companion +instanceKlass com/intellij/openapi/project/DumbModeStatisticsCollector$Companion +instanceKlass com/intellij/ide/navbar/ide/NavBarService +instanceKlass com/intellij/database/dataSource/DataSourceModelStorageImpl$createSavingListener$SavingListener$2 +instanceKlass com/intellij/openapi/progress/impl/ProgressSuspender$1 +instanceKlass com/intellij/openapi/progress/util/ProgressIndicatorListener +instanceKlass com/intellij/ide/navbar/ide/NavBarIdeUtil +instanceKlass com/intellij/openapi/progress/ProgressManagerListener +instanceKlass com/intellij/openapi/progress/impl/ProgressResult +instanceKlass com/intellij/openapi/progress/impl/ProgressRunner$1 +instanceKlass com/intellij/database/dataSource/AbstractDataSource$Listener +instanceKlass com/intellij/openapi/progress/impl/ProgressRunner +instanceKlass com/intellij/openapi/progress/impl/CoreProgressManager$IndicatorDisposable +instanceKlass com/intellij/ui/BalloonImpl$5 +instanceKlass com/intellij/openapi/ui/popup/LightweightWindowEvent +instanceKlass com/intellij/database/util/AsyncUtil +instanceKlass com/intellij/ide/ui/PopupLocationTracker +instanceKlass com/intellij/database/util/AsyncTask$Frame$computeAsync$1$invoke$$inlined$supply$1 +instanceKlass com/intellij/database/util/AsyncTask$DelayedTask$start$computation$1$1 +instanceKlass com/intellij/database/util/AsyncTask$DelayedTask$start$$inlined$framed$intellij_database_core_impl$1 +instanceKlass com/intellij/database/util/AsyncTask$DelayedTask +instanceKlass com/intellij/database/dataSource/LoadingState +instanceKlass com/intellij/database/dataSource/DataSourceModelStorageImpl$createSavingListener$SavingListener$1 +instanceKlass com/intellij/database/dataSource/DataSourceModelStorageImpl$createSavingListener$SavingListener +instanceKlass com/intellij/database/dataSource/DataSourceModelStorageImpl$myLocks$1$1 +instanceKlass com/intellij/database/dataSource/LoadingState$Holder +instanceKlass com/intellij/database/dataSource/DataSourceModelStorageImpl$Companion +instanceKlass com/intellij/uiDesigner/core/Util +instanceKlass com/thoughtworks/xstream/io/xml/AbstractDocumentReader$Pointer +instanceKlass com/intellij/uiDesigner/core/LayoutState +instanceKlass com/thoughtworks/xstream/core/util/FastStack +instanceKlass com/thoughtworks/xstream/core/util/Cloneables +instanceKlass org/cef/misc/Utils +instanceKlass org/cef/handler/CefAppHandlerAdapter +instanceKlass com/thoughtworks/xstream/converters/ErrorWriter +instanceKlass com/intellij/ui/jcef/HwFacadeHelper$JCEFAccessor +instanceKlass javax/swing/plaf/basic/BasicProgressBarUI$Animator +instanceKlass com/thoughtworks/xstream/io/xml/XmlFriendlyNameCoder +instanceKlass com/intellij/ui/BalloonImpl$7 +instanceKlass com/thoughtworks/xstream/io/naming/NameCoder +instanceKlass com/thoughtworks/xstream/io/AbstractReader +instanceKlass com/thoughtworks/xstream/io/ExtendedHierarchicalStreamReader +instanceKlass com/thoughtworks/xstream/io/xml/DocumentReader +instanceKlass com/intellij/ui/jcef/JBCefBrowserBase +instanceKlass com/intellij/ui/jcef/JBCefDisposable +instanceKlass com/intellij/database/util/AsyncTask$Frame$compute$$inlined$supply$1$1 +instanceKlass com/intellij/database/util/AsyncTask$Frame$compute$$inlined$supply$1 +instanceKlass com/jetbrains/cef/JCefVersionDetails$ApiVersion +instanceKlass com/jetbrains/cef/JCefVersionDetails$ChromiumVersion +instanceKlass com/jetbrains/cef/JCefVersionDetails$CefVersion +instanceKlass com/jetbrains/cef/JCefVersionDetails +instanceKlass com/intellij/database/util/AsyncTask$Frame$Companion$FrameElement +instanceKlass com/intellij/database/util/AsyncTask$Frame$Companion +instanceKlass com/jetbrains/cef/JCefAppConfig +instanceKlass com/intellij/database/util/AsyncTask$Companion +instanceKlass org/cef/handler/CefResourceHandler +instanceKlass com/intellij/database/util/AsyncTask +instanceKlass com/intellij/ui/jcef/JBCefSourceSchemeHandlerFactory +instanceKlass com/intellij/ui/jcef/JBCefApp$JBCefCustomSchemeHandlerFactory +instanceKlass org/cef/callback/CefSchemeHandlerFactory +instanceKlass com/intellij/database/dataSource/DataSourceStorage$2 +instanceKlass com/intellij/database/dataSource/DataSourceStorage$1 +instanceKlass org/cef/handler/CefAppHandler +instanceKlass org/cef/handler/CefAppStateHandler +instanceKlass com/intellij/ui/jcef/JBCefApp +instanceKlass com/intellij/ui/jcef/HwFacadeHelper +instanceKlass com/intellij/openapi/util/ExecutionCallback +instanceKlass org/jdom/ImmutableSameTypeAttributeList +instanceKlass com/intellij/openapi/util/ActionCallback +instanceKlass com/intellij/ui/BalloonImpl$11 +instanceKlass com/intellij/openapi/wm/impl/status/ProcessBalloon$1MyListener +instanceKlass com/intellij/database/model/DatabaseSystem +instanceKlass com/intellij/database/model/RawDataSource +instanceKlass com/intellij/ui/popup/BalloonPopupBuilderImpl$1 +instanceKlass com/intellij/database/dataSource/DatabaseConnectivityConfiguration +instanceKlass com/intellij/database/dataSource/DatabaseConnectionConfig +instanceKlass com/intellij/database/dataSource/DatabaseConnectionPoint +instanceKlass com/intellij/database/model/RawConnectionConfig +instanceKlass com/intellij/ui/BalloonImpl$1 +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$NotificationWarning +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$NotificationInfo +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$NotificationError +instanceKlass com/intellij/ui/popup/BalloonPopupBuilderImpl +instanceKlass com/intellij/database/dataSource/LocalDataSource$Listener +instanceKlass com/intellij/database/dataSource/DataSourceStorage$Listener +instanceKlass com/intellij/util/ui/JBUI$Fonts +instanceKlass com/thoughtworks/xstream/io/HierarchicalStreamWriter +instanceKlass com/thoughtworks/xstream/io/HierarchicalStreamReader +instanceKlass com/thoughtworks/xstream/converters/ErrorReporter +instanceKlass com/intellij/openapi/wm/impl/status/PresentationModeProgressPanel +instanceKlass com/intellij/ui/components/DefaultScrollBarUI$1 +instanceKlass com/intellij/database/dataSource/DelegatingPersistentStateComponent$StateDelegate +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcToolWindowFactory +instanceKlass com/intellij/ui/SeparatorOrientation +instanceKlass com/intellij/openapi/ui/panel/ComponentPanel +instanceKlass com/intellij/database/DatabaseToolWindowFactory +instanceKlass com/intellij/openapi/ui/panel/ProgressPanelBuilder +instanceKlass com/intellij/openapi/ui/panel/GridBagPanelBuilder +instanceKlass com/intellij/openapi/ui/panel/PanelBuilder +instanceKlass org/jetbrains/plugins/github/GithubIcons +instanceKlass com/intellij/openapi/wm/impl/status/ProgressButton +instanceKlass org/jetbrains/plugins/github/pullrequest/GHPRToolWindowFactory$Companion +instanceKlass org/jetbrains/plugins/github/pullrequest/GHPRToolWindowFactory +instanceKlass com/intellij/openapi/wm/impl/status/ProgressSetChangeEvent +instanceKlass com/intellij/space/vcs/review/SpaceReviewToolWindowFactory$Companion +instanceKlass com/jetbrains/rd/swing/RdSwingKt$mouseClicked$1 +instanceKlass com/intellij/space/vcs/review/SpaceReviewToolWindowFactory +instanceKlass icons/JavaScriptLanguageIcons +instanceKlass icons/JavaScriptLanguageIcons$Typescript +instanceKlass com/jetbrains/rd/swing/RdSwingKt +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptToolWindowFactory +instanceKlass org/jetbrains/plugins/gitlab/mergerequest/ui/toolwindow/GitLabToolWindowFactory$Companion +instanceKlass org/jetbrains/plugins/gitlab/mergerequest/ui/toolwindow/GitLabToolWindowFactory +instanceKlass com/intellij/ide/navigationToolbar/BottomNavBarMode +instanceKlass com/intellij/ide/navigationToolbar/NavBarMode +instanceKlass com/intellij/platform/ModuleAttachProcessor$Companion +instanceKlass com/intellij/projectImport/ProjectAttachProcessor$Companion +instanceKlass nl/hannahsten/texifyidea/ui/DetexifyToolWindowFactory +instanceKlass com/intellij/projectImport/ProjectAttachProcessor +instanceKlass com/intellij/openapi/project/SingleTaskExecutor$StateAwareTask +instanceKlass com/intellij/openapi/project/SingleTaskExecutor$AutoclosableProgressive +instanceKlass nl/hannahsten/texifyidea/ui/symbols/SymbolToolWindowFactory +instanceKlass com/intellij/openapi/wm/impl/status/StatusBarWidgetWrapper +instanceKlass com/intellij/ide/project/impl/BaseProjectDirectoriesImpl$1$1 +instanceKlass com/intellij/openapi/vfs/CompactVirtualFileSet$3 +instanceKlass com/intellij/ide/navigationToolbar/NavBarRootPaneExtension$component$$inlined$map$1$2 +instanceKlass com/intellij/util/containers/SequenceIterator +instanceKlass com/intellij/openapi/vfs/CompactVirtualFileSet$2 +instanceKlass com/intellij/openapi/wm/impl/IdeRootPane$installNorthComponents$2$1 +instanceKlass com/intellij/openapi/wm/StatusBar$Info +instanceKlass com/intellij/openapi/project/BaseProjectDirectoriesListener +instanceKlass com/intellij/openapi/fileEditor/ClientFileEditorManager +instanceKlass com/intellij/openapi/project/BaseProjectDirectories$Companion +instanceKlass com/intellij/openapi/project/BaseDirectorySuggester +instanceKlass com/intellij/util/ui/FocusUtil +instanceKlass com/intellij/ide/navigationToolbar/NavBarRootPaneExtension$component$$inlined$map$1 +instanceKlass com/intellij/ide/util/RunOnceUtilKt +instanceKlass com/intellij/openapi/project/MergingTaskQueue$SubmissionReceipt +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectOpenHashMap$MapEntry +instanceKlass it/unimi/dsi/fastutil/ints/IntObjectPair +instanceKlass org/HdrHistogram/Recorder +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectMap$Entry +instanceKlass com/intellij/util/indexing/diagnostic/IndexLookupTimingsReporting$IndexOperationToOTelMetricsReporter +instanceKlass com/intellij/ide/navigationToolbar/experimental/NewToolbarRootPaneManager$Companion +instanceKlass com/intellij/internal/statistic/service/fus/collectors/ApplicationUsagesCollector$Companion +instanceKlass javax/swing/BorderFactory +instanceKlass com/intellij/openapi/vfs/VirtualFileSetEx +instanceKlass com/intellij/openapi/vfs/VirtualFileSet +instanceKlass java/awt/image/BufferedImageOp +instanceKlass com/intellij/openapi/project/NoAccessDuringPsiEvents +instanceKlass com/intellij/openapi/util/BusyObject$Impl +instanceKlass com/intellij/ui/docking/impl/DockManagerImpl$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/DockableEditorContainerFactory$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/DockableEditorContainerFactory +instanceKlass com/intellij/ui/docking/DockContainerFactory$Persistent +instanceKlass com/intellij/ui/docking/DockContainerFactory +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImplKt +instanceKlass com/intellij/openapi/options/ConfigurableTreeRenderer +instanceKlass com/intellij/openapi/options/ConfigurableProvider +instanceKlass com/intellij/util/containers/SimpleEntry +instanceKlass com/intellij/openapi/options/ConfigurableEP$ObjectProducer +instanceKlass com/intellij/openapi/options/ConfigurableEP +instanceKlass com/intellij/util/indexing/events/ChangedFilesCollector$5 +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarWidgetsManager$init$1 +instanceKlass com/intellij/util/indexing/events/ChangedFilesCollector$4 +instanceKlass com/intellij/util/indexing/IndexUpToDateCheckIn +instanceKlass com/intellij/diagnostic/MessagePool$MessageGrouper +instanceKlass com/intellij/diagnostic/MessagePool$MessagePoolHolder +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerComponent$AppListener +instanceKlass com/intellij/diagnostic/AbstractMessage +instanceKlass com/intellij/diagnostic/MessagePool +instanceKlass com/jetbrains/python/PyCharmPluginConfigurator +instanceKlass com/jetbrains/python/docker/watcher/PyDockerProjectInterpretersWatcher$ProjectListener +instanceKlass com/jetbrains/python/remote/PySshInterpreterDeploymentUpdater$PySshProjectManagerListener +instanceKlass com/intellij/util/ThrowableConvertor +instanceKlass com/jetbrains/plugins/webDeployment/config/ConfigMigrationUtil +instanceKlass com/intellij/util/indexing/diagnostic/IndexLookupTimingsReporting$IndexOperationFusCollector$LookupTraceBase +instanceKlass org/apache/oro/text/regex/Perl5Pattern +instanceKlass com/intellij/util/indexing/diagnostic/IndexLookupTimingsReporting +instanceKlass org/apache/oro/text/regex/OpCode +instanceKlass org/apache/oro/text/regex/CharStringPointer +instanceKlass com/intellij/diagnostic/IdeMessagePanel +instanceKlass com/intellij/openapi/wm/IconLikeCustomStatusBarWidget +instanceKlass com/intellij/diagnostic/MessagePoolListener +instanceKlass com/intellij/util/CommonProcessors$CollectProcessor +instanceKlass com/intellij/util/indexing/FileBasedIndexScanUtil +instanceKlass org/apache/oro/text/regex/Pattern +instanceKlass org/apache/oro/text/regex/Perl5Compiler +instanceKlass com/intellij/openapi/util/text/StringUtil$BombedCharSequence +instanceKlass com/jetbrains/plugins/webDeployment/config/OldPublishConfigStateHolder$State +instanceKlass com/intellij/openapi/ui/InputValidator +instanceKlass org/zmlx/hg4idea/util/HgUtil +instanceKlass com/intellij/psi/search/impl/VirtualFileEnumeration +instanceKlass com/jetbrains/plugins/webDeployment/config/PublishConfig$State +instanceKlass com/intellij/openapi/application/ActionsKt +instanceKlass nl/hannahsten/texifyidea/util/ProjectsKt +instanceKlass org/zmlx/hg4idea/provider/commit/HgMQNewExecutor +instanceKlass org/zmlx/hg4idea/provider/commit/HgCommitAndPushExecutor$Companion +instanceKlass org/zmlx/hg4idea/provider/commit/HgCommitAndPushExecutor +instanceKlass com/intellij/openapi/vcs/changes/CommitExecutorWithRichDescription +instanceKlass org/zmlx/hg4idea/provider/HgMergeProvider +instanceKlass com/intellij/openapi/vcs/versionBrowser/CommittedChangeListImpl +instanceKlass com/intellij/openapi/vcs/versionBrowser/VcsRevisionNumberAware +instanceKlass com/intellij/openapi/vcs/ChangeListColumn +instanceKlass nl/hannahsten/texifyidea/ui/remotelibraries/RemoteLibrariesToolWindowFactory +instanceKlass com/intellij/openapi/vcs/versionBrowser/CommittedChangeList +instanceKlass com/intellij/openapi/vcs/changes/ChangeList +instanceKlass com/intellij/openapi/vcs/versionBrowser/ChangesBrowserSettingsEditor +instanceKlass com/intellij/openapi/vcs/RepositoryLocation +instanceKlass org/zmlx/hg4idea/provider/HgCommittedChangesProvider +instanceKlass org/zmlx/hg4idea/provider/update/HgUpdater +instanceKlass com/intellij/openapi/vcs/update/UpdateSession +instanceKlass org/zmlx/hg4idea/provider/update/HgUpdateEnvironment +instanceKlass com/intellij/openapi/vcs/annotate/FileAnnotation +instanceKlass org/zmlx/hg4idea/provider/annotate/HgAnnotationProvider +instanceKlass com/intellij/vcs/AnnotationProviderEx +instanceKlass com/intellij/execution/ui/ConsoleViewContentType +instanceKlass com/jetbrains/plugins/webDeployment/WDBundle +instanceKlass org/zmlx/hg4idea/command/HgCommitTypeCommand +instanceKlass org/apache/oro/text/regex/PatternCompiler +instanceKlass com/intellij/tasks/timeTracking/TimeTrackingManager$1 +instanceKlass com/intellij/openapi/vcs/ui/RefreshableOnComponent +instanceKlass com/intellij/openapi/vcs/ui/Refreshable +instanceKlass org/zmlx/hg4idea/provider/commit/HgCheckinEnvironment +instanceKlass com/intellij/vcs/commit/AmendCommitAware +instanceKlass com/intellij/openapi/vcs/history/VcsAbstractHistorySession +instanceKlass com/intellij/openapi/vcs/history/DiffFromHistoryHandler +instanceKlass com/intellij/openapi/vcs/history/VcsFileRevision +instanceKlass com/intellij/openapi/vcs/history/VcsRevisionDescription +instanceKlass com/intellij/openapi/vcs/history/VcsFileContent +instanceKlass com/intellij/openapi/vcs/history/VcsHistorySession +instanceKlass org/zmlx/hg4idea/provider/HgHistoryProvider +instanceKlass training/learn/lesson/LessonStateBase$Companion +instanceKlass training/learn/lesson/LessonStateBase +instanceKlass com/intellij/openapi/vcs/history/VcsRevisionNumber +instanceKlass training/learn/lesson/LessonStateManager +instanceKlass org/zmlx/hg4idea/provider/HgDiffProvider +instanceKlass org/zmlx/hg4idea/provider/HgRollbackEnvironment +instanceKlass training/statistic/LearnProjectStateListenerKt +instanceKlass com/intellij/openapi/vcs/FileStatusFactoryImpl$FileStatusImpl +instanceKlass com/intellij/ultimate/PluginVerifier +instanceKlass com/intellij/openapi/vcs/FileStatus +instanceKlass com/intellij/tasks/timeTracking/TimeTrackingManager$Config +instanceKlass com/intellij/openapi/vcs/FileStatusFactory +instanceKlass training/statistic/LearnProjectState$Companion +instanceKlass training/statistic/LearnProjectState +instanceKlass org/zmlx/hg4idea/provider/HgChangeProvider +instanceKlass com/intellij/tasks/timeTracking/TasksToolWindowFactory +instanceKlass icons/MakefileIcons +instanceKlass com/jetbrains/lang/makefile/toolWindow/MakeToolWindowFactory$Companion +instanceKlass com/jetbrains/lang/makefile/toolWindow/MakeToolWindowFactory +instanceKlass org/zmlx/hg4idea/util/HgVersion +instanceKlass icons/TerminalIcons +instanceKlass org/jetbrains/plugins/terminal/TerminalToolWindowFactory +instanceKlass com/intellij/icons/AllIcons$Json +instanceKlass com/godwin/jsonparser/ParserToolWindowFactory +instanceKlass com/intellij/openapi/vcs/StartedActivated$MySection +instanceKlass com/jetbrains/plugins/webDeployment/ui/FileTransferToolWindowFactory +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/AllVcses$MyExtensionPointListener +instanceKlass com/jetbrains/plugins/webDeployment/ui/PropertyProvider +instanceKlass com/intellij/openapi/vcs/impl/VcsDescriptor +instanceKlass com/intellij/openapi/vcs/impl/VcsEP +instanceKlass com/jetbrains/plugins/webDeployment/config/WebServerConfig +instanceKlass org/zmlx/hg4idea/status/HgChangesetStatus$ChangesetWriter +instanceKlass com/jetbrains/plugins/webDeployment/config/Mappable +instanceKlass org/zmlx/hg4idea/status/HgRemoteStatusUpdater +instanceKlass com/intellij/ssh/common/ServerDescription +instanceKlass org/zmlx/hg4idea/repo/HgRepository +instanceKlass com/intellij/dvcs/repo/Repository +instanceKlass com/intellij/dvcs/repo/VcsRepositoryMappingListener +instanceKlass com/intellij/dvcs/repo/VcsRepositoryManager +instanceKlass com/intellij/openapi/vcs/VcsKey +instanceKlass org/zmlx/hg4idea/HgBundle +instanceKlass com/intellij/ide/impl/ProjectUtilKt +instanceKlass org/zmlx/hg4idea/status/ui/HgWidgetUpdater +instanceKlass com/intellij/openapi/vcs/changes/CommitExecutor +instanceKlass com/intellij/openapi/vcs/CheckoutProvider +instanceKlass com/intellij/openapi/vcs/merge/MergeProvider +instanceKlass com/intellij/openapi/vcs/diff/DiffProvider +instanceKlass com/jetbrains/plugins/webDeployment/config/GroupedServersConfigManagerImpl$1 +instanceKlass com/intellij/openapi/vcs/annotate/AnnotationProvider +instanceKlass com/intellij/openapi/vcs/history/VcsHistoryProvider +instanceKlass com/intellij/openapi/vcs/changes/ChangeProvider +instanceKlass com/intellij/openapi/vcs/rollback/RollbackEnvironment +instanceKlass com/intellij/openapi/vcs/update/UpdateEnvironment +instanceKlass com/intellij/openapi/vcs/checkin/CheckinEnvironment +instanceKlass com/intellij/openapi/vcs/CommittedChangesProvider +instanceKlass com/jetbrains/plugins/webDeployment/config/WebServersConfigManagerBaseImpl$1 +instanceKlass com/intellij/ssh/config/unified/SshConfigManager$SshConfigAuthListener +instanceKlass com/intellij/ssh/config/unified/SshConfigManager$Listener +instanceKlass com/jetbrains/plugins/webDeployment/config/WebServersConfigManagerBaseImpl$State +instanceKlass com/jetbrains/plugins/webDeployment/config/OldStorageCredentialProvider +instanceKlass com/jetbrains/python/configuration/PySdkStatusBar$registerCustomListeners$1 +instanceKlass com/jetbrains/python/configuration/PySdkStatusBarKt +instanceKlass com/intellij/lang/javascript/flow/widget/FlowJSStatusBarWidget$1 +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptStatusBarWidget$1 +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesDirectoryManager$2 +instanceKlass com/jetbrains/x/x/U +instanceKlass com/intellij/lang/typescript/compiler/languageService/TypeScriptMessageBus$TypeScriptServiceListener +instanceKlass com/intellij/lang/typescript/compiler/languageService/TypeScriptMessageBus +instanceKlass com/jetbrains/x/x/xc +instanceKlass com/jetbrains/jsonSchema/extension/JsonWidgetSuppressor +instanceKlass com/jetbrains/jsonSchema/widget/JsonSchemaStatusWidget$1Listener +instanceKlass com/intellij/openapi/wm/impl/status/EditorBasedStatusBarPopup$WidgetState +instanceKlass com/intellij/psi/codeStyle/statusbar/CodeStyleStatusBarWidget$Companion +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsListener +instanceKlass com/intellij/openapi/wm/impl/status/ColumnSelectionModePanel$1 +instanceKlass com/intellij/openapi/wm/impl/status/EncodingPanel$1 +instanceKlass com/intellij/openapi/vfs/encoding/EncodingManagerListener +instanceKlass com/intellij/openapi/wm/impl/status/EditorBasedStatusBarPopup$4 +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarWidgetsManagerKt$createWidget$1 +instanceKlass com/intellij/util/LazyInitializer$LazyValue +instanceKlass com/intellij/util/LazyInitializer +instanceKlass com/intellij/database/datagrid/GridWidget +instanceKlass com/intellij/openapi/wm/StatusBarWidget$TextPresentation +instanceKlass com/intellij/openapi/wm/StatusBarWidget$WidgetPresentation +instanceKlass com/jetbrains/x/x/xo +instanceKlass com/intellij/ultimate/PluginVerifier +instanceKlass com/intellij/openapi/wm/impl/status/EditorBasedStatusBarPopup$3 +instanceKlass com/intellij/openapi/wm/impl/status/EditorBasedStatusBarPopup$2 +instanceKlass com/jetbrains/plugins/webDeployment/config/WebServersConfigManagerBaseImpl$Listener +instanceKlass com/jetbrains/plugins/webDeployment/ui/DefaultServerStatusBarWidgetFactory$DefaultServerWidget$1 +instanceKlass com/jetbrains/plugins/webDeployment/ServerTreeContentListener +instanceKlass com/jetbrains/plugins/webDeployment/DeploymentAppSettingsListener +instanceKlass com/jetbrains/plugins/webDeployment/WebServerConfigsChangedListener +instanceKlass com/jetbrains/plugins/webDeployment/DeploymentConfigChangeListener +instanceKlass com/jetbrains/plugins/webDeployment/WebDeploymentTopics +instanceKlass com/intellij/openapi/wm/impl/status/EditorBasedWidgetHelper +instanceKlass com/intellij/openapi/wm/impl/status/EditorBasedWidget +instanceKlass com/jetbrains/plugins/webDeployment/ui/WebServerToolWindowFactory +instanceKlass com/intellij/openapi/wm/StatusBarWidget$Multiframe +instanceKlass com/intellij/openapi/vcs/changes/committed/IncomingChangesViewProvider$VisibilityPredicate +instanceKlass com/jetbrains/rd/platform/codeWithMe/ui/WireStatsStatusBarWidget +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarWidgetsManagerKt +instanceKlass com/intellij/openapi/wm/StatusBarWidgetProvider +instanceKlass com/intellij/ide/actions/SettingsEntryPointAction$StatusBarManager +instanceKlass com/intellij/openapi/wm/impl/status/MemoryIndicatorWidgetFactory +instanceKlass com/intellij/ide/GeneratedSourceFileChangeTrackerImpl$3 +instanceKlass com/intellij/openapi/wm/impl/status/WriteThreadIndicatorWidgetFactory +instanceKlass com/intellij/ide/GeneratedSourceFileChangeTrackerImpl$2 +instanceKlass com/intellij/openapi/wm/impl/status/FatalErrorWidgetFactory +instanceKlass training/util/UtilsKt +instanceKlass com/intellij/notification/impl/widget/NotificationWidgetFactory +instanceKlass com/intellij/ide/GeneratedSourceFileChangeTrackerImpl$1 +instanceKlass com/intellij/openapi/wm/WidgetPresentation +instanceKlass com/godwin/jsonparser/listeners/MyProjectManagerListener +instanceKlass git4idea/ui/branch/GitBranchWidget$Factory +instanceKlass org/zmlx/hg4idea/status/ui/HgIncomingOutgoingWidget$MyWidgetFactory +instanceKlass org/zmlx/hg4idea/status/ui/HgStatusWidget$Factory +instanceKlass com/jetbrains/plugins/webDeployment/config/ConfigMigrationUtil$ProjectListener +instanceKlass com/jetbrains/plugins/webDeployment/DeploymentNotificationsComponent +instanceKlass training/util/LazyWeakReferenceDelegator +instanceKlass com/jetbrains/python/configuration/PySdkStatusBarWidgetFactory +instanceKlass training/statistic/LearnProjectStateListener +instanceKlass git4idea/light/LightGitStatusBarWidgetFactory +instanceKlass training/lang/LangManager$Companion +instanceKlass com/intellij/ide/GeneratedSourceFileChangeTrackerImpl$MyProjectManagerListener +instanceKlass training/FeaturesTrainerIcons +instanceKlass training/ui/LearnToolWindowFactory$Companion +instanceKlass training/ui/LearnToolWindowFactory +instanceKlass com/intellij/openapi/wm/impl/status/PowerSaveStatusWidgetFactory +instanceKlass com/intellij/openapi/wm/impl/ProjectFrameBounds$Companion +instanceKlass com/intellij/openapi/wm/impl/ProjectFrameBounds +instanceKlass com/intellij/openapi/wm/impl/WindowManagerImpl$ProjectItem +instanceKlass com/intellij/openapi/wm/impl/status/PositionPanelWidgetFactory +instanceKlass com/intellij/history/utils/LocalHistoryLog +instanceKlass com/intellij/history/integration/LocalHistoryBundle +instanceKlass com/intellij/openapi/util/Clock +instanceKlass com/intellij/history/core/changes/ChangeSet +instanceKlass com/intellij/openapi/project/CancellableLaterEdtInvoker$TrackedEdtActivity +instanceKlass com/intellij/history/integration/LocalHistoryEventDispatcher$LocalHistoryFileManagerListener +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarEditorBasedWidgetFactory +instanceKlass com/intellij/openapi/project/DumbServiceStartupActivity +instanceKlass com/intellij/openapi/vcs/changes/ui/VcsToolWindowFactory +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostManager$ProjectAttachActivity +instanceKlass com/jetbrains/plugins/webDeployment/ui/DefaultServerStatusBarWidgetFactory +instanceKlass com/intellij/analysis/problemsView/toolWindow/ProblemsView +instanceKlass com/jetbrains/performancePlugin/ProjectLoadedKt +instanceKlass com/intellij/ide/todo/TodoToolWindowFactory +instanceKlass com/intellij/openapi/progress/util/ProgressDialogUIKt +instanceKlass com/intellij/openapi/vcs/changes/committed/IncomingChangesIndicatorFactory$Companion +instanceKlass com/intellij/openapi/vcs/changes/committed/IncomingChangesIndicatorFactory +instanceKlass com/intellij/uiDesigner/core/GridConstraints +instanceKlass com/intellij/openapi/wm/impl/status/IndexesAndVfsFlushIndicatorWidgetFactory +instanceKlass com/intellij/openapi/wm/impl/status/SmartModeIndicatorWidgetFactory +instanceKlass com/intellij/ide/bookmark/ui/BookmarksViewFactory +instanceKlass com/intellij/openapi/wm/WidgetPresentationFactory +instanceKlass com/intellij/uiDesigner/core/DimensionInfo +instanceKlass com/jetbrains/rd/platform/codeWithMe/ui/WireStatsWidgetFactory$Companion +instanceKlass com/intellij/psi/impl/file/impl/PsiVFSListener$1 +instanceKlass com/intellij/ide/structureView/impl/StructureViewToolWindowFactory +instanceKlass com/intellij/psi/impl/file/impl/PsiVFSListener$MyStartUpActivity$2 +instanceKlass com/intellij/uiDesigner/core/AbstractLayout +instanceKlass com/intellij/psi/impl/file/impl/PsiVFSListener$MyFileDocumentManagerListener +instanceKlass com/intellij/ide/projectView/impl/ProjectViewToolWindowFactory +instanceKlass com/jetbrains/rd/platform/codeWithMe/ui/WireStatsWidgetFactory +instanceKlass com/intellij/psi/impl/file/impl/PsiVFSListener$MyStartUpActivity$1 +instanceKlass com/intellij/psi/impl/file/impl/PsiVFSListener$MyAdditionalLibraryRootListener +instanceKlass com/intellij/ide/ui/experimental/meetNewUi/MeetNewUiToolWindowFactory +instanceKlass com/intellij/openapi/wm/RegisterToolWindowTask$Companion +instanceKlass com/intellij/util/ui/UIUtil$9 +instanceKlass javax/swing/plaf/basic/BasicProgressBarUI$Handler +instanceKlass com/intellij/toolWindow/ToolwindowKt +instanceKlass kotlin/jvm/internal/AdaptedFunctionReference +instanceKlass com/intellij/openapi/wm/impl/status/VfsRefreshIndicatorWidgetFactory +instanceKlass com/intellij/notification/impl/ApplicationNotificationModel +instanceKlass com/intellij/openapi/module/ModuleComponent +instanceKlass com/intellij/facet/pointers/FacetPointer +instanceKlass com/intellij/notification/impl/NotificationsToolWindowFactory$Companion +instanceKlass com/intellij/notification/impl/NotificationsToolWindowFactory +instanceKlass javax/swing/JProgressBar$ModelListener +instanceKlass com/jetbrains/python/PyModuleListener +instanceKlass com/jetbrains/python/docker/watcher/PyDockerProjectInterpretersWatcher$ModuleListener +instanceKlass org/jetbrains/plugins/notebooks/jupyter/server/JupyterServerServiceViaRunConfigurations$MyModuleListener +instanceKlass com/intellij/openapi/wm/StatusBarWidgetFactory +instanceKlass com/intellij/diagnostic/ui/EventWatcherToolWindowFactory +instanceKlass com/intellij/psi/search/scope/packageSet/UpdatingScopeOnProjectStructureChangeListener +instanceKlass com/intellij/facet/impl/pointers/FacetPointerModuleListener +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarState +instanceKlass com/intellij/openapi/wm/ToolWindowFactory +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarWidgetSettings$Companion +instanceKlass com/intellij/openapi/progress/util/ProgressDialogUI +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleManagerComponentBridge$ModuleManagerInitProjectActivity +instanceKlass com/intellij/ide/navigationToolbar/NavBarRootPaneExtension$Companion +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarWidgetsManager$dataContext$1 +instanceKlass com/intellij/openapi/wm/WidgetPresentationDataContext +instanceKlass com/intellij/openapi/progress/util/ProgressDialog$Companion +instanceKlass com/intellij/ide/navigationToolbar/NavBarRootPaneExtension +instanceKlass com/intellij/openapi/progress/util/ProgressDialog +instanceKlass com/intellij/openapi/wm/impl/status/widget/StatusBarWidgetsManager$Companion +instanceKlass io/opentelemetry/extension/kotlin/KotlinContextElement$1 +instanceKlass io/opentelemetry/extension/kotlin/KotlinContextElement +instanceKlass com/intellij/toolWindow/ToolWindowSetInitializerKt +instanceKlass io/opentelemetry/extension/kotlin/ContextExtensionsKt +instanceKlass com/intellij/codeInsight/daemon/impl/WolfListeners$4 +instanceKlass com/intellij/codeInsight/daemon/impl/WolfListeners$3 +instanceKlass com/intellij/ide/navigationToolbar/experimental/NewToolbarRootPaneExtension$Companion +instanceKlass com/intellij/codeInsight/daemon/impl/WolfListeners$2 +instanceKlass com/intellij/ide/navigationToolbar/experimental/NewToolbarRootPaneExtension +instanceKlass com/intellij/codeInsight/daemon/impl/WolfListeners +instanceKlass com/intellij/openapi/wm/IdeRootPaneNorthExtension$Companion +instanceKlass com/intellij/openapi/components/ProjectComponent +instanceKlass com/intellij/openapi/wm/IdeRootPaneNorthExtension +instanceKlass com/intellij/problems/Problem +instanceKlass io/opentelemetry/sdk/internal/AttributeUtil +instanceKlass com/intellij/openapi/application/impl/AppUIExecutorImpl$WhenMappings +instanceKlass com/intellij/openapi/application/impl/AppUIExecutorImpl$later$1$schedule$$inlined$Runnable$1 +instanceKlass com/intellij/openapi/application/constraints/BaseConstrainedExecution$Companion$scheduleWithinConstraints$inner$$inlined$Runnable$1 +instanceKlass com/intellij/openapi/application/impl/AppUIExecutorImpl$later$1$WhenMappings +instanceKlass com/intellij/openapi/util/ProjectManagerScopeKt +instanceKlass com/intellij/openapi/application/impl/BaseExpirableExecutorMixinImpl$scheduleWithinConstraints$$inlined$Runnable$1 +instanceKlass com/intellij/openapi/application/constraints/ExpirationKt +instanceKlass com/intellij/openapi/application/constraints/Expiration$Companion +instanceKlass com/intellij/openapi/application/constraints/Expiration +instanceKlass com/intellij/openapi/application/constraints/ConstrainedTaskExecutor +instanceKlass com/intellij/openapi/application/impl/AppUIExecutorImpl$later$1 +instanceKlass com/intellij/openapi/application/impl/AppUIExecutorImpl$MyWtExecutor +instanceKlass com/intellij/openapi/application/impl/AppUIExecutorImpl$Companion$WhenMappings +instanceKlass com/intellij/openapi/project/DumbAwareRunnable +instanceKlass com/intellij/openapi/application/impl/AppUIExecutorImpl$Companion +instanceKlass com/intellij/openapi/application/constraints/ExpirableConstrainedExecution$Companion +instanceKlass com/jetbrains/python/newProject/welcome/PyWelcomeConfigurator +instanceKlass com/intellij/psi/util/CachedValueProfiler$Overhead +instanceKlass com/intellij/psi/util/CachedValueProfiler$ThreadContext +instanceKlass com/intellij/psi/util/CachedValueProfiler$GlobalContext +instanceKlass com/intellij/psi/util/CachedValueProfiler$EventPlace +instanceKlass com/intellij/psi/util/CachedValueProfiler +instanceKlass com/intellij/util/CachedValueBase$Data +instanceKlass com/intellij/util/io/storage/HeavyProcessLatch$Op +instanceKlass org/angular2/cli/AngularCliUtil +instanceKlass org/angular2/cli/AngularJSProjectConfigurator$Companion +instanceKlass org/angular2/cli/AngularJSProjectConfigurator +instanceKlass com/jetbrains/appengine/AppEngineFacetConfigurator +instanceKlass com/jetbrains/pyramid/PyramidProjectConfigurator +instanceKlass com/intellij/openapi/vfs/VirtualFileVisitor$Result +instanceKlass com/intellij/openapi/vfs/VirtualFileVisitor$Option +instanceKlass com/google/common/math/IntMath$1 +instanceKlass com/google/common/math/MathPreconditions +instanceKlass com/google/common/math/IntMath +instanceKlass com/jetbrains/django/util/DjangoCoreUtil +instanceKlass com/intellij/facet/FacetTypeId +instanceKlass com/jetbrains/python/facet/PythonPathContributingFacet +instanceKlass com/jetbrains/django/DjangoFacetConfigurator +instanceKlass com/jetbrains/python/PlatformInspectionProfileConfigurator +instanceKlass com/jetbrains/python/PythonSourceRootConfigurator +instanceKlass com/intellij/util/xmlb/XmlSerializerUtil +instanceKlass com/jetbrains/python/ReSTService$ServiceState +instanceKlass com/jetbrains/python/documentation/PyDocumentationSettingsDetector +instanceKlass com/jetbrains/python/defaultProjectAwareService/PyDefaultProjectAwareModuleConfiguratorImpl +instanceKlass com/jetbrains/python/testing/TestRunnerDetector +instanceKlass com/jetbrains/python/configuration/PyDefaultProjectAwareServiceConfigurator +instanceKlass com/jetbrains/python/sdk/poetry/PoetryKt +instanceKlass com/jetbrains/python/sdk/configuration/PyPoetrySdkConfiguration +instanceKlass com/jetbrains/python/sdk/configuration/PyRequirementsTxtOrSetupPySdkConfiguration +instanceKlass com/jetbrains/python/sdk/BasePySdkExtKt +instanceKlass com/jetbrains/python/sdk/pipenv/PipenvKt +instanceKlass com/jetbrains/python/sdk/configuration/PyPipfileSdkConfiguration +instanceKlass com/intellij/openapi/roots/SourceFolder +instanceKlass com/intellij/openapi/roots/ContentFolder +instanceKlass com/jetbrains/python/psi/PyCallable +instanceKlass com/jetbrains/python/psi/PyQualifiedNameOwner +instanceKlass com/jetbrains/python/psi/types/PyType +instanceKlass com/intellij/codeInsight/completion/InsertHandler +instanceKlass com/jetbrains/python/psi/PyUtil +instanceKlass com/intellij/openapi/vfs/impl/local/WatchRootsManager$WatchRequestImpl +instanceKlass com/jetbrains/python/sdk/configuration/PyEnvironmentYmlSdkConfiguration +instanceKlass com/intellij/util/indexing/roots/WorkspaceIndexingRootsBuilder$Companion +instanceKlass com/intellij/util/indexing/roots/WorkspaceIndexingRootsBuilder +instanceKlass com/intellij/util/indexing/roots/WorkspaceIndexingRootsBuilder$Companion$Settings$Companion +instanceKlass com/jetbrains/python/sdk/configuration/PyProjectSdkConfigurationExtension$Companion +instanceKlass com/intellij/util/indexing/roots/WorkspaceIndexingRootsBuilder$Companion$Settings +instanceKlass com/jetbrains/python/sdk/configuration/PyProjectSdkConfigurationExtension +instanceKlass com/intellij/util/containers/prefix/map/PrefixTreeNode$WhenMappings +instanceKlass kotlin/collections/ArrayDeque$Companion +instanceKlass com/intellij/openapi/roots/impl/OrderEnumeratorBase$ProcessEntryAction +instanceKlass com/intellij/openapi/roots/ModuleOrderEntry +instanceKlass com/intellij/openapi/roots/ExportableOrderEntry +instanceKlass com/intellij/openapi/module/ModuleTypeWithWebFeatures +instanceKlass com/intellij/openapi/roots/OrderEnumerationHandler$Factory +instanceKlass com/intellij/openapi/externalSystem/ExternalSystemManager +instanceKlass com/intellij/openapi/externalSystem/service/ParametersEnhancer +instanceKlass com/intellij/openapi/roots/OrderRootsEnumerator +instanceKlass com/intellij/util/containers/OptionalKt$Companion +instanceKlass com/intellij/util/containers/OptionalKt +instanceKlass com/intellij/util/containers/prefix/map/PrefixTreeNode +instanceKlass com/intellij/javascript/nodejs/interpreter/NodeJsInterpreterChangeListener +instanceKlass com/intellij/util/indexing/roots/StandardContributorsKt +instanceKlass com/intellij/util/containers/prefix/map/PrefixTreeMapImpl +instanceKlass com/jetbrains/python/PyDirectoryIndexExcludePolicy +instanceKlass com/intellij/util/containers/prefix/map/MutablePrefixTreeMap +instanceKlass com/intellij/util/containers/prefix/map/PrefixTreeMap +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesDirectoryManagerState +instanceKlass com/intellij/util/containers/prefix/set/PrefixTreeSetImpl +instanceKlass com/intellij/util/containers/prefix/set/MutablePrefixTreeSet +instanceKlass com/intellij/util/containers/prefix/set/PrefixTreeSet +instanceKlass com/intellij/javascript/nodejs/library/node_modules/workspaceModel/NodeModulesEntities +instanceKlass com/intellij/util/containers/prefix/map/AbstractPrefixTreeFactory +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesFileListener$Companion +instanceKlass com/intellij/util/containers/prefix/factory/PrefixTreeFactory +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesFileListener +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesDirectoryManager$1 +instanceKlass com/intellij/openapi/util/io/NioPathUtil +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesRequestMerger +instanceKlass com/intellij/ide/impl/TrustedProjects +instanceKlass com/intellij/psi/util/ParameterizedCachedValue +instanceKlass com/jetbrains/python/PythonSdkConfigurator$Companion +instanceKlass com/intellij/javascript/nodejs/packageJson/PackageJsonFileManager$State +instanceKlass com/jetbrains/python/PythonSdkConfigurator +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesDirectoryChecker +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesDirectoryManager +instanceKlass com/intellij/util/text/SemVer +instanceKlass com/intellij/webpack/WebpackExcludePolicy +instanceKlass com/intellij/lang/typescript/settings/exclude/TypeScriptGeneratedFilesExcludePolicy +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpExcludePolicy +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesExcludePolicy +instanceKlass com/intellij/lang/puppet/project/PuppetProjectModel +instanceKlass com/intellij/lang/puppet/project/PuppetProjectListener +instanceKlass com/intellij/lang/puppet/project/PuppetEntity +instanceKlass com/intellij/lang/puppet/project/meta/PuppetModuleMetadata +instanceKlass com/intellij/lang/puppet/project/meta/PuppetMetadata +instanceKlass com/intellij/configurationStore/StateStorageManagerKt +instanceKlass com/intellij/notebook/editor/BackedVirtualFile +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/BackedNotebookVirtualFile$Companion +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/BackedNotebookVirtualFile +instanceKlass com/intellij/util/gist/storage/GistStorage$Gist +instanceKlass com/intellij/util/gist/storage/GistStorage +instanceKlass com/intellij/util/gist/VirtualFileGist +instanceKlass com/intellij/util/gist/PsiFileGist +instanceKlass com/intellij/util/gist/GistManager +instanceKlass com/intellij/util/indexing/events/VfsEventsMerger$ChangeInfo +instanceKlass com/intellij/util/indexing/StripedIndexingStampLock +instanceKlass com/intellij/util/indexing/IndexingFlag +instanceKlass org/jetbrains/plugins/notebooks/jupyter/trust/JupyterFileListener +instanceKlass org/jetbrains/plugins/notebooks/jupyter/remote/vfs/JupyterRemoteVirtualFileChangeListener$Companion +instanceKlass org/jetbrains/plugins/notebooks/jupyter/remote/vfs/JupyterRemoteVirtualFileChangeListener +instanceKlass com/intellij/lang/puppet/project/PuppetProjectFilesListener +instanceKlass com/intellij/history/integration/IdeaGateway$VfsEventDispatchContext +instanceKlass com/intellij/history/LocalHistory$LocalHistoryHolder +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectOpenHashMap$MapIterator +instanceKlass com/intellij/lang/javascript/frameworks/modules/JSUrlImportsUtil +instanceKlass nl/hannahsten/texifyidea/settings/TexifySettingsState +instanceKlass kotlin/text/CharsKt__CharJVMKt +instanceKlass kotlin/io/TextStreamsKt +instanceKlass kotlin/text/Charsets +instanceKlass com/intellij/util/EnvironmentRestorer +instanceKlass com/intellij/execution/configurations/GeneralCommandLine$1 +instanceKlass com/intellij/util/execution/ParametersListUtil +instanceKlass com/intellij/execution/configurations/ParameterTargetValuePart +instanceKlass com/intellij/execution/configurations/ParameterTargetValue +instanceKlass com/intellij/execution/configurations/CompositeParameterTargetedValue +instanceKlass com/intellij/openapi/vfs/encoding/EncodingManagerImpl$3 +instanceKlass com/intellij/openapi/vfs/encoding/EncodingManagerImpl$2 +instanceKlass com/intellij/openapi/vfs/encoding/EncodingManagerImpl$1 +instanceKlass com/intellij/openapi/vfs/encoding/EncodingReference$Companion +instanceKlass com/intellij/openapi/vfs/encoding/EncodingReference +instanceKlass com/intellij/openapi/vfs/encoding/EncodingManagerImpl$State +instanceKlass com/intellij/execution/configurations/ParametersList +instanceKlass com/intellij/util/containers/CanonicalObjectStrategy +instanceKlass kotlin/UNINITIALIZED_VALUE +instanceKlass kotlin/SynchronizedLazyImpl +instanceKlass kotlin/LazyKt__LazyJVMKt +instanceKlass nl/hannahsten/texifyidea/util/Log +instanceKlass nl/hannahsten/texifyidea/util/SystemEnvironmentKt +instanceKlass nl/hannahsten/texifyidea/run/linuxpdfviewer/InternalPdfViewer$Companion +instanceKlass nl/hannahsten/texifyidea/run/linuxpdfviewer/ViewerConversation +instanceKlass nl/hannahsten/texifyidea/run/pdfviewer/PdfViewer +instanceKlass nl/hannahsten/texifyidea/settings/TexifySettings$Companion +instanceKlass nl/hannahsten/texifyidea/settings/TexifySettings +instanceKlass com/intellij/platform/lsp/api/LspServerSupportProvider$LspServerStarter +instanceKlass com/intellij/platform/lsp/api/LspServerManagerListener +instanceKlass com/intellij/util/indexing/events/ChangedFilesCollector$3 +instanceKlass com/intellij/util/indexing/events/IndexedFilesListener$2 +instanceKlass com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl$MyAsyncFileListener$1 +instanceKlass com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl$2 +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptVfsListener +instanceKlass com/intellij/lang/typescript/settings/exclude/TypeScriptGeneratedFilesListener +instanceKlass nl/hannahsten/texifyidea/editor/autocompile/AutoCompileVfsListener +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl$LspFileListener +instanceKlass com/intellij/ide/plugins/DynamicPluginVfsListener +instanceKlass com/intellij/execution/impl/RCInArbitraryFileListener +instanceKlass com/intellij/configurationStore/MyAsyncVfsListener$Companion +instanceKlass com/intellij/configurationStore/MyAsyncVfsListener +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl$MyAsyncVfsListener +instanceKlass com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl$MyAsyncFileListener +instanceKlass com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl$MyAsyncFileListener +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelRootWatcher +instanceKlass org/angular2/cli/config/AngularConfigFileListener +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/JupyterLocalHistoryRevertEventHandler +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/JupyterOriginEventHandler +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/JupyterSourceEventHandler +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/NotebookSourceToOriginChangePropagator +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/JupyterFileRemovalHandler +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/NotebookOriginToSourceChangePropagator +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/NotebookFileEventHandler +instanceKlass org/jetbrains/plugins/notebooks/core/impl/file/NotebookFileChangeListener +instanceKlass nl/hannahsten/texifyidea/file/listeners/VfsChangeListener +instanceKlass com/intellij/copyright/CopyrightManagerDocumentListener +instanceKlass org/editorconfig/configmanagement/EditorConfigEncodingCache$VfsListener$1 +instanceKlass org/editorconfig/plugincomponents/EditorConfigModificationListener +instanceKlass javax/swing/Timer$1 +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/SourceFolderManagerImpl$BulkFileListenerImpl +instanceKlass com/intellij/history/integration/LocalHistoryEventDispatcher$LocalHistoryBulkFileListener +instanceKlass com/intellij/openapi/vfs/newvfs/impl/CachedFileType$ReparseListener +instanceKlass com/intellij/util/gist/GistManagerImpl$MyBulkFileListener +instanceKlass com/google/common/collect/NullnessCasts +instanceKlass com/google/common/collect/AbstractIterator$1 +instanceKlass com/intellij/openapi/roots/impl/DirectoryIndexExcludePolicy +instanceKlass com/jetbrains/extensions/ModuleExtKt +instanceKlass com/intellij/codeInsight/intention/impl/BaseIntentionAction +instanceKlass com/jetbrains/python/templateLanguages/PyTemplatesServiceImpl$TemplateSettingsBean +instanceKlass com/intellij/util/FileContentUtilCore +instanceKlass com/intellij/psi/LanguageSubstitutor +instanceKlass com/jetbrains/python/templateLanguages/PyTemplatesServiceImpl +instanceKlass com/jetbrains/python/target/targetWithVfs/TargetVfsWatchedRootsProvider +instanceKlass com/jetbrains/python/templateLanguages/TemplatesService +instanceKlass com/jetbrains/python/templateLanguages/PyTemplatesAutoConfigurationKt +instanceKlass com/intellij/configurationStore/ModuleStoreImplKt +instanceKlass com/intellij/codeInsight/daemon/impl/quickfix/FetchExtResourceAction$MyWatchedRootsProvider +instanceKlass com/intellij/openapi/roots/WatchedRootsProvider +instanceKlass com/jetbrains/python/packaging/PyPackageRequirementsSettings$ServiceState +instanceKlass com/intellij/openapi/module/impl/NonPersistentModuleStore +instanceKlass com/jetbrains/python/defaultProjectAwareService/PyDefaultProjectAwareServiceClasses +instanceKlass com/jetbrains/python/defaultProjectAwareService/PyDefaultProjectAwareServiceModuleConfigurator +instanceKlass com/jetbrains/python/defaultProjectAwareService/PyDefaultProjectAwareService +instanceKlass com/jetbrains/python/packaging/PyPackageUtil +instanceKlass com/intellij/lang/typescript/settings/exclude/TypeScriptExcludeManager$State +instanceKlass com/intellij/psi/util/PsiAwareObject +instanceKlass com/intellij/psi/search/ProjectAwareVirtualFile +instanceKlass java/util/AbstractMap$2$1 +instanceKlass com/intellij/lang/javascript/dialects/JSLibraryOverrider +instanceKlass java/util/stream/DistinctOps +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesRegistry$JSRemoteModuleState +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesRegistry$JSRemoteModulesRegistryState +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesRegistry$MyFileListener +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesRegistry +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesLibraryManager$JSRemoteLibrariesSnapshot +instanceKlass com/intellij/openapi/file/exclude/UserFileTypeOverrider +instanceKlass com/intellij/ide/lightEdit/LightEditFileTypeOverrider +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesLibraryManager +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesChangeListener +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeOverrider +instanceKlass com/intellij/psi/search/ProjectScope +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsRegistry$Companion +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsRegistry +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsServiceState +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsService$3 +instanceKlass com/intellij/openapi/project/SmartModeScheduler$3$1 +instanceKlass com/intellij/openapi/project/SmartModeScheduler$2$1 +instanceKlass com/intellij/lang/javascript/library/JSLibraryManager$JSLibraryManagerChangeListener +instanceKlass com/intellij/openapi/roots/libraries/LibraryKind +instanceKlass com/intellij/openapi/project/SmartModeScheduler$1 +instanceKlass com/intellij/openapi/project/UnindexedFilesScannerExecutor$TaskQueueListener +instanceKlass com/intellij/openapi/project/UnindexedFilesScannerExecutor$Companion +instanceKlass com/intellij/openapi/roots/libraries/LibraryProperties +instanceKlass com/intellij/javascript/nodejs/packageJson/PackageJsonFileManager$PackageJsonChangesListener +instanceKlass com/intellij/javascript/nodejs/packageJson/PackageJsonFileManager$PackageJsonChangeListener +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsService$Companion +instanceKlass com/intellij/openapi/progress/EmptyProgressIndicatorBase$1 +instanceKlass com/intellij/openapi/project/SmartModeScheduler$Companion +instanceKlass com/intellij/openapi/project/SmartModeScheduler +instanceKlass one/util/streamex/UnknownSizeSpliterator +instanceKlass com/intellij/openapi/project/DumbServiceAlternativeResolveTracker +instanceKlass com/intellij/openapi/project/DumbServiceBalloon$Companion +instanceKlass com/intellij/openapi/project/DumbServiceBalloon +instanceKlass com/intellij/openapi/project/DumbServiceVfsBatchListener$1 +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsRootsProvider$Companion +instanceKlass com/intellij/ide/file/BatchFileChangeListener +instanceKlass com/jetbrains/flask/FlaskFinder +instanceKlass com/intellij/openapi/project/DumbServiceVfsBatchListener +instanceKlass com/intellij/lang/javascript/library/JSSyntheticLibraryProvider +instanceKlass com/intellij/openapi/project/DumbServiceSyncTaskQueue +instanceKlass com/intellij/openapi/project/SingleTaskExecutor$IsRunningStateFlow +instanceKlass com/jetbrains/flask/project/FlaskProjectConfigurator +instanceKlass com/intellij/lang/javascript/library/download/TypeScriptDefinitionFilesRootsProvider$LibraryCreator +instanceKlass com/intellij/openapi/project/SingleTaskExecutor$Companion +instanceKlass com/intellij/prettierjs/PrettierCompatibleCodeStyleInstaller +instanceKlass com/intellij/openapi/project/SingleTaskExecutor +instanceKlass com/intellij/openapi/project/MergingQueueGuiExecutor$SafeExecutorStateListenerWrapper +instanceKlass com/intellij/openapi/progress/EmptyProgressIndicatorBase +instanceKlass com/intellij/openapi/project/MergingQueueGuiSuspender$Companion +instanceKlass com/intellij/pom/NavigatableWithText +instanceKlass com/intellij/openapi/project/MergingQueueGuiSuspender +instanceKlass com/intellij/navigation/ItemPresentation +instanceKlass com/intellij/openapi/roots/SyntheticLibrary +instanceKlass com/intellij/util/indexing/IndexingBundle +instanceKlass com/intellij/openapi/project/DumbServiceImpl$DumbTaskListener +instanceKlass com/intellij/openapi/project/MergingQueueGuiExecutor$ExecutorStateListener +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$postInit$1 +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$MyUISettingsListener +instanceKlass com/intellij/openapi/project/MergingQueueGuiExecutor$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$MyVirtualFileListener +instanceKlass it/unimi/dsi/fastutil/objects/ReferenceSortedSet +instanceKlass com/intellij/openapi/project/MergingQueueGuiExecutor +instanceKlass com/intellij/openapi/application/constraints/BaseConstrainedExecution$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$MyRootListener +instanceKlass com/intellij/openapi/application/constraints/BaseConstrainedExecution +instanceKlass kotlinx/coroutines/flow/FlowKt__BuildersKt$flowOf$$inlined$unsafeFlow$2 +instanceKlass com/intellij/openapi/application/constraints/ConstrainedExecutionScheduler +instanceKlass com/intellij/openapi/application/constraints/ConstrainedExecution +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$MyFileTypeListener +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerComponentKt +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$MyFileStatusListener +instanceKlass com/intellij/ide/actions/ElementCreator +instanceKlass com/intellij/openapi/vcs/FileStatusListener +instanceKlass com/intellij/openapi/project/MergingTaskQueue$QueuedTask +instanceKlass com/intellij/lang/javascript/buildTools/npm/PackageJsonUtil +instanceKlass com/intellij/openapi/project/MergingTaskQueue +instanceKlass com/intellij/openapi/project/CancellableLaterEdtInvoker +instanceKlass com/intellij/openapi/fileEditor/impl/EditorsSplittersKt +instanceKlass com/intellij/javascript/JSLanguageLevelGuesser$Companion +instanceKlass com/intellij/openapi/project/DumbServiceImpl$DumbState +instanceKlass com/intellij/openapi/fileEditor/impl/EditorsSplitters$2 +instanceKlass com/intellij/openapi/fileEditor/impl/text/FileDropHandler +instanceKlass com/intellij/openapi/editor/EditorDropHandler +instanceKlass com/intellij/openapi/application/impl/ApplicationImpl$2 +instanceKlass com/intellij/util/containers/UnmodifiableHashMap +instanceKlass com/intellij/ui/tabs/JBTabs +instanceKlass com/intellij/ui/DropAreaAware +instanceKlass com/intellij/openapi/fileEditor/impl/EditorSplitterState +instanceKlass com/intellij/openapi/fileEditor/impl/EditorComposite +instanceKlass com/intellij/openapi/fileEditor/FileEditorComposite +instanceKlass com/intellij/lang/javascript/linter/JSLinterUtil +instanceKlass com/intellij/openapi/fileEditor/impl/EditorsSplitters$Companion +instanceKlass com/intellij/javascript/nodejs/interpreter/NodeJsInterpreter +instanceKlass com/intellij/xdebugger/impl/ui/ExecutionPositionUiKt$showExecutionPointUi$$inlined$map$2$2 +instanceKlass com/intellij/util/containers/ThreadLocalRandom$Tlr +instanceKlass com/intellij/util/containers/ThreadLocalRandom +instanceKlass com/intellij/xdebugger/impl/ui/ExecutionPositionUiKt$showExecutionPointUi$$inlined$map$1$2 +instanceKlass com/intellij/lang/javascript/linter/JSLinterGuesser +instanceKlass org/jetbrains/concurrency/Promises__PromiseKt +instanceKlass org/jetbrains/concurrency/Promises +instanceKlass com/intellij/openapi/application/impl/NonBlockingReadActionImpl$Submission$1 +instanceKlass com/intellij/openapi/application/impl/NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation +instanceKlass com/intellij/openapi/application/impl/NonBlockingReadActionImpl$OTelMonitor +instanceKlass com/intellij/openapi/application/impl/SubmissionTracker +instanceKlass com/intellij/openapi/application/constraints/ConstrainedExecution$ContextConstraint +instanceKlass com/intellij/openapi/application/impl/NonBlockingReadActionImpl +instanceKlass com/jetbrains/python/docker/watcher/PyDockerInterpretersUpdater$Companion +instanceKlass com/jetbrains/python/docker/watcher/PyDockerInterpretersUpdater +instanceKlass com/jetbrains/python/docker/watcher/PyDockerProjectInterpretersWatcher$Companion +instanceKlass com/jetbrains/python/docker/watcher/PyDockerProjectInterpretersWatcher +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ContentEntryBridge +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/JvmPackageRootDataInternal +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileSetsKt +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileSetImpl +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileInternalInfo +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/StoredFileSet +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/StoredFileSetCollection +instanceKlass com/intellij/workspaceModel/core/fileIndex/WorkspaceFileSetWithCustomData +instanceKlass com/intellij/platform/backend/workspace/VirtualFileUrls +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ModuleContentRootData +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ModuleContentOrSourceRootData +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ModuleRelatedRootData +instanceKlass com/intellij/workspaceModel/core/fileIndex/WorkspaceFileSetData +instanceKlass com/github/benmanes/caffeine/cache/References$LookupKeyReference +instanceKlass com/github/benmanes/caffeine/cache/LocalAsyncCache$AbstractCacheView +instanceKlass com/github/benmanes/caffeine/cache/Async$AsyncWeigher +instanceKlass com/github/benmanes/caffeine/cache/LocalAsyncLoadingCache +instanceKlass com/github/benmanes/caffeine/cache/LocalAsyncCache +instanceKlass com/github/benmanes/caffeine/cache/CacheLoader +instanceKlass com/intellij/codeInspection/ProblemDescriptor +instanceKlass com/intellij/codeInspection/CommonProblemDescriptor +instanceKlass com/jetbrains/python/psi/PyPattern +instanceKlass com/jetbrains/python/psi/PyParameter +instanceKlass com/jetbrains/python/psi/PySequenceExpression +instanceKlass com/jetbrains/python/psi/PyComprehensionElement +instanceKlass com/jetbrains/python/psi/PyExpression +instanceKlass com/google/common/collect/AbstractMapBasedMultimap$AsMap$AsMapIterator +instanceKlass com/google/common/collect/AbstractMapBasedMultimap$WrappedCollection$WrappedIterator +instanceKlass com/google/common/collect/Platform +instanceKlass com/google/common/collect/Multiset +instanceKlass kotlin/jvm/internal/ArrayIteratorsKt +instanceKlass com/intellij/platform/workspace/storage/impl/MutableRefsTable$WhenMappings +instanceKlass com/intellij/platform/workspace/storage/impl/containers/ContainerExtensionsKt +instanceKlass com/intellij/platform/workspace/storage/impl/WorkspaceBuilderChangeLogKt +instanceKlass com/intellij/platform/workspace/storage/impl/WorkspaceEntityExtensionDelegate +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleKt +instanceKlass com/intellij/openapi/roots/InheritedJdkOrderEntry +instanceKlass com/intellij/psi/util/CachedValueProvider +instanceKlass com/intellij/openapi/util/Getter +instanceKlass com/intellij/util/CachedValueBase +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModifiableContentEntryBridge$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModifiableContentEntryBridge +instanceKlass com/intellij/openapi/roots/ContentEntry +instanceKlass com/intellij/platform/workspace/storage/impl/containers/NonNegativeIntIntMultiMap$IntSequence$map$1$1 +instanceKlass com/intellij/platform/workspace/storage/impl/containers/NonNegativeIntIntMultiMap$IntSequence$map$$inlined$Sequence$1 +instanceKlass com/intellij/platform/workspace/storage/impl/containers/NonNegativeIntIntMultiMap$IntSequence +instanceKlass it/unimi/dsi/fastutil/ints/AbstractInt2IntMap$BasicEntry +instanceKlass it/unimi/dsi/fastutil/ints/Int2IntMap$Entry +instanceKlass com/intellij/platform/workspace/storage/impl/ModifiableWorkspaceEntityBase$WhenMappings +instanceKlass it/unimi/dsi/fastutil/objects/Object2LongOpenHashMap$MapEntry +instanceKlass it/unimi/dsi/fastutil/objects/ObjectLongPair +instanceKlass it/unimi/dsi/fastutil/objects/Object2LongMap$Entry +instanceKlass it/unimi/dsi/fastutil/objects/Object2LongOpenHashMap$MapIterator +instanceKlass it/unimi/dsi/fastutil/longs/LongOpenHashSet$SetIterator +instanceKlass com/intellij/platform/workspace/jps/entities/ExcludeUrlOrderEntity +instanceKlass com/intellij/platform/workspace/jps/entities/SourceRootOrderEntity +instanceKlass com/intellij/platform/workspace/jps/entities/ContentRootEntityImpl$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModifiableRootModelBridgeImpl$contentEntriesImplValue$1$invoke$$inlined$sortedBy$1 +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModifiableRootModelBridgeImplKt +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModifiableModuleLibraryTableBridge$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModifiableRootModelBridgeImpl$Companion +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/ModifiableRootModelBridge +instanceKlass com/intellij/openapi/roots/ModifiableRootModel +instanceKlass com/intellij/openapi/roots/impl/RootConfigurationAccessor +instanceKlass com/intellij/openapi/application/rw/ResumeContinuationRunnable +instanceKlass com/intellij/openapi/application/rw/InternalReadActionKt +instanceKlass com/jetbrains/python/docker/watcher/PyDockerProjectInterpretersWatcherKt +instanceKlass com/intellij/util/indexing/UnindexedFilesScanner +instanceKlass com/intellij/openapi/project/FilesScanningTask +instanceKlass com/jetbrains/python/sdk/PySdkExtKt +instanceKlass com/codeium/intellij/language_server/LanguageServerService +instanceKlass com/jetbrains/python/statistics/PyStatisticToolsKt +instanceKlass com/jetbrains/python/remote/PySshInterpreterDeploymentUpdater +instanceKlass com/intellij/util/ui/update/ComparableObjectCheck +instanceKlass com/intellij/concurrency/ConcurrentIntObjectHashMap$Traverser +instanceKlass com/intellij/concurrency/ConcurrentIntObjectHashMap$CollectionView +instanceKlass kotlin/ResultKt +instanceKlass kotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsJvmKt +instanceKlass com/intellij/indexing/shared/download/SharedIndexProjectRootsRefreshQueue +instanceKlass com/intellij/indexing/shared/download/SharedIndexesRefreshKt +instanceKlass kotlin/coroutines/jvm/internal/SuspendFunction +instanceKlass kotlin/jvm/internal/FunctionBase +instanceKlass kotlin/jvm/internal/Ref$ObjectRef +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleManagerBridgeImplKt$buildModuleGraph$moduleGraph$1 +instanceKlass kotlinx/coroutines/sync/SemaphoreKt +instanceKlass kotlinx/coroutines/sync/SemaphoreImpl +instanceKlass kotlinx/coroutines/sync/Semaphore +instanceKlass kotlinx/coroutines/sync/Mutex +instanceKlass kotlinx/coroutines/sync/MutexKt +instanceKlass com/codeium/intellij/CodeiumWorkspaceTracker +instanceKlass kotlin/annotation/Target +instanceKlass kotlin/annotation/Retention +instanceKlass kotlin/Metadata +instanceKlass com/codeium/intellij/versioning/PluginVersionManager +instanceKlass com/codeium/intellij/settings/AppSettingsState$Companion +instanceKlass com/codeium/intellij/settings/AppSettingsState +instanceKlass com/intellij/openapi/fileEditor/impl/PsiAwareFileEditorManagerImpl$MyProblemListener +instanceKlass com/intellij/ide/IdeView +instanceKlass com/intellij/openapi/editor/Caret +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider +instanceKlass com/intellij/openapi/fileEditor/EditorDataProvider +instanceKlass com/intellij/util/flow/FlowKt$zipWithNext$1$1 +instanceKlass com/intellij/util/flow/UNINITIALIZED +instanceKlass kotlinx/coroutines/flow/internal/NoOpContinuation +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$closeFilesOnFileEditorRemoval$1 +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$special$$inlined$map$1$2 +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$3 +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$special$$inlined$map$1 +instanceKlass kotlinx/coroutines/flow/AbstractFlow +instanceKlass com/intellij/util/flow/FlowKt +instanceKlass com/intellij/openapi/fileEditor/FileEditorManagerEvent +instanceKlass com/intellij/util/messages/impl/MessageListenerList +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$MyEditorCompositeListener +instanceKlass com/intellij/openapi/fileEditor/impl/EditorCompositeListener +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$MyEditorPropertyChangeListener +instanceKlass com/intellij/openapi/fileEditor/impl/MergingUpdateChannel +instanceKlass com/intellij/openapi/fileEditor/impl/SelectionHistory +instanceKlass com/intellij/openapi/fileEditor/impl/FileEditorManagerImpl$Companion +instanceKlass com/intellij/openapi/fileEditor/ex/FileEditorManagerEx$Companion +instanceKlass com/intellij/openapi/fileEditor/FileEditorNavigatable +instanceKlass com/intellij/openapi/vfs/newvfs/impl/CachedFileType +instanceKlass com/intellij/openapi/vfs/newvfs/impl/CachedFileType$PsiListener +instanceKlass com/intellij/psi/impl/DebugUtil +instanceKlass com/intellij/webSymbols/context/WebSymbolsContext +instanceKlass com/intellij/webSymbols/context/impl/WebSymbolsContextDiscoveryKt +instanceKlass com/jetbrains/python/module/PyModuleService +instanceKlass com/intellij/openapi/roots/JdkOrderEntry +instanceKlass com/intellij/openapi/roots/LibraryOrSdkOrderEntry +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/OrderEntryBridge +instanceKlass com/intellij/openapi/roots/impl/ClonableOrderEntry +instanceKlass com/intellij/openapi/roots/ModuleSourceOrderEntry +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleBridgeUtils +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/RootModelBridgeImpl$Companion +instanceKlass com/intellij/openapi/roots/RootPolicy +instanceKlass com/intellij/openapi/roots/impl/RootModelBase +instanceKlass com/intellij/platform/workspace/storage/impl/DummyVersionedEntityStorage +instanceKlass com/jetbrains/python/sdk/PythonSdkUtil +instanceKlass java/util/EnumMap$EntryIterator$Entry +instanceKlass java/util/EnumMap$EnumMapIterator +instanceKlass com/jetbrains/python/psi/impl/PythonLanguageLevelPusher +instanceKlass com/intellij/util/indexing/FilePropertyPusherEx +instanceKlass com/intellij/FilePropertyPusherBase +instanceKlass com/intellij/openapi/roots/impl/FilePropertyPusher +instanceKlass com/intellij/util/indexing/EntityIndexingServiceImpl$WorkspaceEventRescanningInfo +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexDataImpl$RemoveFileSetsRegistrarImpl +instanceKlass kotlin/collections/MapWithDefault +instanceKlass com/intellij/psi/impl/PsiManagerImpl$2 +instanceKlass com/intellij/lang/javascript/config/graph/JSConfigGraphCache$3 +instanceKlass com/intellij/lang/javascript/config/graph/JSConfigGraphCache$2 +instanceKlass com/intellij/lang/javascript/config/graph/JSConfigGraphCache$1 +instanceKlass com/intellij/lang/typescript/tsconfig/graph/JSPsiTreeChangeListener +instanceKlass com/intellij/util/indexing/events/FileBasedIndexTreeChangePreprocessor +instanceKlass com/intellij/psi/ExternalChangeAction +instanceKlass com/intellij/psi/IgnorePsiEventsMarker +instanceKlass com/jetbrains/python/remote/PySshInterpreterDeploymentUpdater$ModuleRootListener +instanceKlass com/intellij/indexing/shared/download/SharedIndexProjectRootsRefresh +instanceKlass com/codeium/intellij/CodeiumModuleListener +instanceKlass com/intellij/psi/impl/file/impl/PsiVFSListener +instanceKlass com/intellij/psi/impl/file/impl/PsiVFSListener$MyModuleRootListener +instanceKlass com/intellij/webSymbols/context/impl/WebSymbolsContextProjectRootsListener +instanceKlass com/intellij/openapi/project/RootsChangeRescanningInfo$3 +instanceKlass com/intellij/openapi/project/RootsChangeRescanningInfo$2 +instanceKlass com/intellij/openapi/project/RootsChangeRescanningInfo$1 +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleEntityUtils +instanceKlass com/intellij/platform/workspace/storage/EntityChange +instanceKlass com/intellij/platform/workspace/storage/impl/RefsTableKt +instanceKlass com/intellij/platform/workspace/storage/impl/ThisEntityId +instanceKlass com/intellij/platform/workspace/storage/impl/NotThisEntityId +instanceKlass com/intellij/platform/workspace/storage/impl/external/MutableExternalEntityMappingImpl$IndexLogOperation$Changes +instanceKlass com/intellij/platform/workspace/storage/impl/external/MutableExternalEntityMappingImpl$IndexLogOperation +instanceKlass com/intellij/platform/workspace/storage/impl/external/MutableExternalEntityMappingImpl$IndexLogRecord +instanceKlass com/intellij/platform/workspace/storage/impl/EntityLink +instanceKlass com/google/common/base/ExtraObjectsMethodsForWeb +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/facet/FacetModelBridge$Companion +instanceKlass com/intellij/facet/impl/FacetModelBase +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/facet/FacetManagerBridge$Companion +instanceKlass com/intellij/openapi/module/ConfigurationErrorDescription +instanceKlass com/intellij/openapi/components/BaseComponent +instanceKlass com/intellij/openapi/components/NamedComponent +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModuleRootComponentBridge$1 +instanceKlass com/intellij/openapi/roots/impl/ModuleLibraryTableBase +instanceKlass com/intellij/openapi/roots/libraries/LibraryTable$ModifiableModel +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModuleLibraryTableBridge +instanceKlass com/intellij/workspaceModel/ide/impl/DisposableCachedValue$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/DisposableCachedValue +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModuleRootComponentBridge$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModuleRootModelBridge +instanceKlass com/intellij/configurationStore/RenameableStateStorageManager +instanceKlass com/intellij/openapi/components/impl/stores/ModuleStore +instanceKlass com/intellij/openapi/roots/ModuleRootManager +instanceKlass com/intellij/openapi/roots/ModuleRootModel +instanceKlass com/intellij/openapi/roots/TestModuleProperties +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleBridgeImpl$1 +instanceKlass com/intellij/psi/search/impl/VirtualFileEnumerationAware +instanceKlass com/intellij/openapi/module/impl/scopes/ModuleScopeProviderImpl +instanceKlass com/intellij/openapi/module/impl/ModuleScopeProvider +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleBridgeImpl$Companion +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/ModuleBridge +instanceKlass com/intellij/openapi/module/impl/ModuleEx +instanceKlass com/intellij/platform/workspace/jps/CustomModuleEntitySource +instanceKlass com/intellij/platform/workspace/jps/JpsFileDependentEntitySource +instanceKlass com/intellij/platform/workspace/storage/instrumentation/EntityStorageInstrumentationKt +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageExtensionsKt +instanceKlass com/intellij/platform/workspace/jps/entities/TestModulePropertiesEntity +instanceKlass com/intellij/platform/workspace/jps/entities/ExternalSystemModuleOptionsEntity +instanceKlass com/intellij/platform/workspace/storage/impl/ConnectionId$Companion +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleEntityImpl$Companion +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap$MapEntry +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectMaps +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap$MapEntry +instanceKlass it/unimi/dsi/fastutil/longs/LongObjectPair +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectMap$Entry +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectMaps +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap$MapIterator +instanceKlass com/google/common/collect/HashBiMap$Itr +instanceKlass com/intellij/platform/workspace/storage/impl/EntityIdKt +instanceKlass com/intellij/platform/workspace/storage/impl/MutableEntityFamily$Companion +instanceKlass com/intellij/platform/workspace/storage/GeneratedCodeImplVersion +instanceKlass com/intellij/platform/workspace/storage/GeneratedCodeApiVersion +instanceKlass com/intellij/platform/workspace/storage/impl/UtilsKt +instanceKlass com/intellij/platform/workspace/storage/GeneratedCodeCompatibilityKt +instanceKlass com/intellij/platform/workspace/storage/CodeGeneratorVersions +instanceKlass com/intellij/platform/workspace/storage/GeneratedCodeCompatibilityChecker +instanceKlass com/intellij/platform/workspace/storage/impl/EntitiesKt +instanceKlass com/intellij/platform/workspace/storage/impl/containers/MutableWorkspaceCollectionsKt +instanceKlass com/intellij/platform/workspace/storage/impl/SoftLinkable +instanceKlass com/intellij/platform/workspace/storage/impl/WorkspaceEntityBase +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleEntity$Builder +instanceKlass com/intellij/platform/workspace/storage/EntityType +instanceKlass com/intellij/platform/workspace/jps/JpsProjectFileEntitySource$FileInDirectory$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/LegacyBridgeJpsEntitySourceFactory +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleId +instanceKlass com/intellij/platform/workspace/storage/SymbolicEntityId +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/ModulePath$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/ModulePath +instanceKlass com/intellij/platform/workspace/storage/impl/VersionedEntityStorageOnBuilder +instanceKlass kotlin/annotation/Target +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModifiableModuleModelBridgeImpl$Companion +instanceKlass kotlin/annotation/Retention +instanceKlass kotlin/Metadata +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/LegacyBridgeModifiableBase$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/LegacyBridgeModifiableBase +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/ModifiableModuleModelBridge +instanceKlass com/intellij/openapi/module/ModifiableModuleModel +instanceKlass com/intellij/formatting/fileSet/FileSetDescriptor$State +instanceKlass com/intellij/ide/util/frameworkSupport/FrameworkRole +instanceKlass com/intellij/ide/util/projectWizard/ProjectBuilder +instanceKlass com/intellij/openapi/util/RecursionManager$StackFrame +instanceKlass com/intellij/openapi/util/RecursionManager$MyKey +instanceKlass com/intellij/application/options/codeStyle/properties/CommaSeparatedValues +instanceKlass com/intellij/psi/codeStyle/CommonCodeStyleSettings$WrapConstant +instanceKlass com/intellij/psi/codeStyle/CommonCodeStyleSettings$BraceStyleConstant +instanceKlass com/intellij/openapi/module/ModuleType +instanceKlass com/intellij/configurationStore/Property +instanceKlass com/intellij/openapi/module/ModuleTypeManager +instanceKlass com/intellij/openapi/util/DefaultJDOMExternalizer +instanceKlass com/intellij/codeInspection/ex/InspectionProfileImpl$1 +instanceKlass com/intellij/psi/impl/source/codeStyle/CodeStyleSchemesImpl$4 +instanceKlass com/intellij/psi/impl/source/codeStyle/CodeStyleSchemesImpl$3 +instanceKlass com/intellij/psi/impl/source/codeStyle/CodeStyleSchemesImpl$2 +instanceKlass com/intellij/psi/codeStyle/CodeStyleScheme +instanceKlass com/intellij/psi/codeStyle/CodeStyleSchemes +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettings$DefaultsHolder +instanceKlass com/intellij/psi/codeStyle/LegacyCodeStyleSettingsManager +instanceKlass java/util/stream/ReduceOps$8ReducingSink +instanceKlass java/util/stream/Sink$OfLong +instanceKlass com/intellij/psi/search/scope/packageSet/PackageSetBase +instanceKlass com/intellij/psi/search/scope/packageSet/CustomScopesProviderEx$AllScopeHolder +instanceKlass com/intellij/psi/search/scope/packageSet/CustomScopesProviderEx +instanceKlass com/intellij/psi/search/scope/packageSet/CustomScopesProvider +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsServiceImpl$3 +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsServiceImpl$2 +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsServiceImpl$1 +instanceKlass com/intellij/psi/codeStyle/FileTypeIndentOptionsProvider +instanceKlass com/intellij/psi/codeStyle/FileTypeIndentOptionsFactory +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsManager$1 +instanceKlass com/intellij/psi/codeStyle/FileIndentOptionsProvider +instanceKlass com/intellij/codeInspection/reference/RefManager +instanceKlass com/intellij/CodeStyleBundle +instanceKlass com/intellij/util/ui/PresentableEnum +instanceKlass com/intellij/sql/formatter/settings/SqlCodeStyleSettingsDefault +instanceKlass nl/hannahsten/texifyidea/settings/codestyle/LatexCodeStyleSettings$Companion +instanceKlass com/intellij/xdebugger/impl/XDebuggerExecutionPointManager$activeSourceKindState$lambda$1$$inlined$map$1$2 +instanceKlass kotlinx/coroutines/flow/FlowKt__ErrorsKt$catchImpl$2 +instanceKlass com/intellij/platform/DirectoryProjectConfigurator$AsyncDirectoryProjectConfigurator +instanceKlass kotlinx/coroutines/flow/FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1 +instanceKlass com/intellij/platform/PlatformProjectConfigurator +instanceKlass com/intellij/psi/css/codeStyle/CssCombSortOrder +instanceKlass com/intellij/platform/DirectoryProjectConfigurator +instanceKlass kotlinx/coroutines/flow/FlowKt__ErrorsKt +instanceKlass org/editorconfig/settings/EditorConfigListener +instanceKlass com/intellij/platform/PlatformProjectOpenProcessorKt +instanceKlass com/intellij/xdebugger/impl/XDebuggerExecutionPointManager$activeSourceKindState$lambda$1$$inlined$map$1 +instanceKlass com/intellij/openapi/vfs/newvfs/CompoundVFileEvent +instanceKlass com/intellij/psi/codeStyle/DocCommentSettings +instanceKlass it/unimi/dsi/fastutil/objects/ObjectLinkedOpenHashSet$SetIterator +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/BatchingFileSystem +instanceKlass com/intellij/openapi/application/BaseActionRunnable +instanceKlass com/intellij/codeInspection/ex/ScopeToolState +instanceKlass com/intellij/codeInspection/ex/ToolsImpl +instanceKlass com/intellij/sql/dialects/postgres/Pg83Dialect$LazyInstanceData +instanceKlass com/intellij/sql/dialects/postgres/PgDialectBase$LazyInstanceData +instanceKlass com/intellij/openapi/vfs/newvfs/RefreshWorker +instanceKlass com/intellij/openapi/vfs/impl/http/LocalFileStorage +instanceKlass com/intellij/sql/dialects/SqlImportBuilder +instanceKlass com/intellij/openapi/vfs/impl/http/RemoteContentProvider +instanceKlass com/intellij/openapi/vfs/impl/http/FileDownloadingListener +instanceKlass com/intellij/openapi/vfs/impl/http/RemoteFileManager +instanceKlass com/intellij/openapi/diagnostic/FrequentEventDetector +instanceKlass com/intellij/openapi/vfs/ex/http/HttpVirtualFileListener +instanceKlass com/intellij/sql/psi/impl/SqlScopeProcessorBase +instanceKlass com/intellij/sql/psi/SqlScopeProcessor +instanceKlass com/intellij/database/model/DasScopeProcessor +instanceKlass com/intellij/openapi/vfs/newvfs/RefreshSession +instanceKlass com/intellij/util/xmlb/SmartSerializer +instanceKlass com/intellij/xdebugger/XExpression +instanceKlass com/intellij/openapi/vfs/newvfs/RefreshQueue +instanceKlass com/intellij/xdebugger/breakpoints/XBreakpointType$XBreakpointCreator +instanceKlass one/util/streamex/StreamContext +instanceKlass com/intellij/grazie/icons/GrazieIcons +instanceKlass com/intellij/grazie/GrazieBundle +instanceKlass java/util/stream/DoubleStream +instanceKlass com/intellij/grazie/ide/TextProblemSeverities$Companion +instanceKlass java/util/stream/LongStream +instanceKlass com/intellij/sql/dialects/mysql/MysqlDialectBase$LazyInstanceData +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightInfoType$Iconable +instanceKlass com/intellij/codeInsight/daemon/impl/SeveritiesProvider +instanceKlass com/intellij/sql/dataFlow/SqlErrorSpecHelper +instanceKlass one/util/streamex/BaseStreamEx +instanceKlass com/intellij/sql/psi/SqlFile +instanceKlass com/intellij/codeInspection/ex/ApplicationInspectionProfileManagerBase$1 +instanceKlass com/intellij/codeInspection/ex/ApplicationInspectionProfileManager$Companion +instanceKlass com/intellij/database/model/DasModel +instanceKlass com/intellij/sql/psi/SqlElement +instanceKlass com/intellij/codeInspection/ex/ApplicationInspectionProfileManagerBase$Companion +instanceKlass com/intellij/sql/dialects/mssql/MsDialectBase$LazyInstanceData +instanceKlass com/intellij/codeInspection/ex/InspectionProfileKt +instanceKlass com/intellij/codeInspection/ex/InspectionToolRegistrar$registerInspections$1 +instanceKlass com/intellij/xdebugger/impl/XDebuggerExecutionPointManager$1$invokeSuspend$$inlined$map$1$2 +instanceKlass kotlinx/coroutines/flow/DistinctFlowImpl$collect$2 +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$1$1 +instanceKlass com/intellij/xdebugger/impl/XDebuggerExecutionPointManager$1$3 +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt$dropWhile$$inlined$unsafeFlow$1 +instanceKlass org/jetbrains/plugins/notebooks/jupyter/debugger/JupyterExceptionBreakpointType$Companion +instanceKlass kotlinx/coroutines/flow/FlowKt__LimitKt +instanceKlass org/jetbrains/plugins/notebooks/jupyter/debugger/JupyterLineBreakpointType$Companion +instanceKlass com/intellij/xdebugger/impl/breakpoints/XBreakpointTypeWithDocumentDelegation +instanceKlass com/intellij/xdebugger/impl/XDebuggerExecutionPointManager$1$invokeSuspend$$inlined$map$1 +instanceKlass kotlinx/coroutines/flow/DistinctFlowImpl +instanceKlass kotlinx/coroutines/flow/FlowKt__DistinctKt +instanceKlass com/jetbrains/python/psi/PyNamedElementContainer +instanceKlass com/jetbrains/python/psi/PyStatement +instanceKlass com/intellij/execution/impl/RunManagerImpl$onFirstLoadingFinished$3 +instanceKlass com/intellij/execution/runners/ProgramRunner +instanceKlass com/intellij/execution/impl/RunManagerImpl$onFirstLoadingFinished$2 +instanceKlass com/intellij/execution/impl/RunManagerImpl$onFirstLoadingFinished$1 +instanceKlass com/intellij/sql/dialects/dateTime/SqlDateTimeLanguageHelper +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolbar/ClosedToolbarNotification +instanceKlass com/intellij/sql/refactoring/extractFunction/SqlExtractFunctionHelper +instanceKlass org/jetbrains/plugins/notebooks/jupyter/server/JupyterManagedServerRunManagerListener +instanceKlass com/jetbrains/rd/util/reactive/IPropertyBase$DefaultImpls +instanceKlass com/jetbrains/rd/util/reactive/CompositePropertyView$change$1 +instanceKlass com/jetbrains/rd/util/reactive/CompositePropertyView +instanceKlass com/intellij/sql/refactoring/SqlExtractVariableHelper +instanceKlass com/intellij/sql/refactoring/SqlIntroduceHelper +instanceKlass com/jetbrains/rd/util/reactive/PropertyCombinatorsKt +instanceKlass com/intellij/sql/editor/SqlCloseBlockProcessor +instanceKlass com/jetbrains/rd/util/reactive/BoolPropertyExKt +instanceKlass com/jetbrains/rd/util/reactive/IViewableList$DefaultImpls +instanceKlass com/jetbrains/rd/util/reactive/IMutableViewableList$DefaultImpls +instanceKlass com/jetbrains/cython/psi/CythonNamedElement +instanceKlass com/jetbrains/rdserver/portForwarding/internal/GlobalPortForwardingManagerImpl$1 +instanceKlass com/intellij/docker/deployment/DockerRunConfigurationManager$RunManagerListenerImpl +instanceKlass com/jetbrains/cython/psi/CythonBaseTypeDecl +instanceKlass com/jetbrains/python/psi/PyTypedElement +instanceKlass com/jetbrains/python/psi/PyElement +instanceKlass com/jetbrains/rdserver/N/S +instanceKlass com/intellij/execution/RunnerAndConfigurationSettings +instanceKlass kotlin/io/FilesKt__FilePathComponentsKt +instanceKlass com/jetbrains/cython/parser/CythonTokenTypes +instanceKlass com/intellij/execution/RunManagerListener +instanceKlass com/jetbrains/rd/ide/model/ExternalSystemTaskIdModel +instanceKlass com/jetbrains/rdserver/N/t +instanceKlass com/intellij/openapi/externalSystem/model/task/ExternalSystemTaskId +instanceKlass com/jetbrains/rd/platform/codeWithMe/network/DatagramSocketWrapper +instanceKlass com/jetbrains/rd/platform/codeWithMe/network/IDatagramSocketWrapper +instanceKlass com/jetbrains/rd/ide/model/ExternalSystemTaskExecutionEventModel +instanceKlass com/intellij/openapi/externalSystem/model/task/event/ExternalSystemProgressEvent +instanceKlass com/jetbrains/rd/platform/codeWithMe/x/K +instanceKlass com/intellij/codeWithMe/x/p +instanceKlass com/jetbrains/rdserver/execution/ExternalSystemModelUtilsKt +instanceKlass com/jetbrains/rdserver/portForwarding/internal/PortImpl$Companion +instanceKlass com/intellij/sql/dialects/base/BaseSqlDialectCodeStyleProvider +instanceKlass com/jetbrains/rdserver/N/N +instanceKlass com/jetbrains/rd/platform/codeWithMe/portForwarding/ClientPortState +instanceKlass com/jetbrains/rd/platform/codeWithMe/portForwarding/PortConfiguration +instanceKlass com/jetbrains/rd/platform/codeWithMe/portForwarding/PortPresentation +instanceKlass com/intellij/codeWithMe/x/q +instanceKlass com/jetbrains/rdserver/portForwarding/internal/PortImpl +instanceKlass com/intellij/sql/formatter/SqlDialectCodeStyleProvider$Companion +instanceKlass com/intellij/sql/formatter/SqlDialectCodeStyleProvider +instanceKlass com/intellij/remoteDev/OsRegistryConfigProvider$Companion +instanceKlass com/jetbrains/codeWithMe/x/i +instanceKlass com/intellij/remoteDev/OsRegistryConfigProvider +instanceKlass com/jetbrains/rd/platform/codeWithMe/network/turn/TurnClient +instanceKlass com/jetbrains/django/ui/DjangoBundle +instanceKlass com/jetbrains/rdserver/portForwarding/internal/GlobalPortForwardingManagerImpl$Companion +instanceKlass com/jetbrains/rdserver/portForwarding/internal/PortForwardingManagerImpl$Companion +instanceKlass com/intellij/sql/formatter/SqlLanguageCodeStyleSettingsContributor +instanceKlass com/jetbrains/rdserver/N/xu +instanceKlass com/jetbrains/codeWithMe/x/P +instanceKlass com/intellij/codeInspection/InspectionProfileEntry +instanceKlass com/jetbrains/rd/platform/codeWithMe/portForwarding/ForwardedPortListener +instanceKlass com/intellij/codeInspection/options/OptionContainer +instanceKlass com/jetbrains/rdserver/N/l +instanceKlass com/intellij/util/io/storage/HeavyProcessLatch$HeavyProcessListener +instanceKlass com/intellij/util/io/storage/HeavyProcessLatch$Operation +instanceKlass com/jetbrains/python/debugger/PyBreakpointType +instanceKlass com/intellij/codeInspection/BatchSuppressableTool +instanceKlass com/intellij/util/io/storage/HeavyProcessLatch +instanceKlass com/intellij/ide/util/TreeChooser$Filter +instanceKlass com/intellij/remoteServer/configuration/deployment/SingletonDeploymentSourceType$SingletonDeploymentSource +instanceKlass com/jetbrains/python/debugger/pydev/ExceptionBreakpointCommandFactory +instanceKlass com/intellij/codeInsight/daemon/impl/analysis/FileHighlightingSettingListener +instanceKlass com/intellij/docker/DockerIcons +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$12 +instanceKlass com/jetbrains/rd/platform/codeWithMe/SessionInfoProvider$Companion +instanceKlass com/jetbrains/rd/util/reactive/InterfacesKt +instanceKlass com/intellij/remoteServer/configuration/deployment/DeploymentSource +instanceKlass com/jetbrains/rd/platform/codeWithMe/users/UserManagerKt +instanceKlass com/intellij/remoteServer/configuration/deployment/DeploymentSourceType +instanceKlass com/intellij/psi/PsiComment +instanceKlass com/intellij/execution/configurations/RunConfigurationTypeKt +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$11 +instanceKlass com/intellij/model/psi/UrlReferenceHost +instanceKlass com/intellij/remoteServer/CloudBundle +instanceKlass com/intellij/facet/FacetManagerListener +instanceKlass com/intellij/facet/FacetManager +instanceKlass com/intellij/facet/FacetModel +instanceKlass com/intellij/sql/SqlBundle +instanceKlass com/jetbrains/rd/util/CollectionExKt +instanceKlass com/intellij/docker/i18n/DockerBundle +instanceKlass com/google/common/collect/SortedMapDifference +instanceKlass com/google/common/collect/MapDifference +instanceKlass com/jetbrains/rd/util/reactive/IViewableMap$view$1$WhenMappings +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$10 +instanceKlass com/jetbrains/rd/util/reactive/KeyValuePair +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$9 +instanceKlass com/intellij/execution/configurations/ConfigurationFactory +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$8 +instanceKlass com/google/common/collect/Maps$EntryTransformer +instanceKlass com/intellij/execution/configurations/ConfigurationTypeBase +instanceKlass com/intellij/codeInspection/LocalInspectionTool$LocalDefaultNameProvider +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$7 +instanceKlass com/intellij/codeInspection/InspectionProfileEntry$DefaultNameProvider +instanceKlass com/intellij/execution/configurations/ConfigurationType +instanceKlass com/intellij/application/options/CodeStyleAbstractPanel +instanceKlass com/google/common/base/Converter +instanceKlass com/intellij/codeInspection/ex/InspectionToolRegistrar$registerToolProviders$2 +instanceKlass com/intellij/ide/ui/search/ComponentHighlightingListener +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$MyAnActionListener +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$MyTodoListener +instanceKlass com/intellij/codeInspection/ex/InspectionToolRegistrarKt +instanceKlass com/intellij/remoteServer/configuration/deployment/DeploymentConfigurator +instanceKlass com/intellij/ide/todo/TodoConfiguration +instanceKlass com/google/common/collect/Maps +instanceKlass com/intellij/codeInspection/ex/InspectionToolRegistrar$Companion +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$MyApplicationListener +instanceKlass com/intellij/remoteServer/RemoteServerConfigurable +instanceKlass com/intellij/codeInspection/ex/InspectionToolsSupplier$Listener +instanceKlass com/intellij/remoteServer/runtime/ServerConnector +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$MyProfileChangeListener +instanceKlass com/intellij/remoteServer/agent/util/CloudAgentConfigBase +instanceKlass com/intellij/remoteServer/agent/util/CloudAgentProxyConfig +instanceKlass com/intellij/profile/ProfileChangeAdapter +instanceKlass com/intellij/remoteServer/agent/util/CloudAgentConfig +instanceKlass com/intellij/codeInsight/daemon/impl/TextEditorHighlightingPassRegistrarImpl$1 +instanceKlass com/intellij/codeInspection/ex/InspectionToolsSupplier +instanceKlass com/intellij/xml/XmlCustomTagHighlightingPassFactory +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$MyCommandListener +instanceKlass com/intellij/codeInspection/ex/InspectionElementsMerger +instanceKlass com/intellij/sql/psi/impl/support/SqlBlockHighlighterFactory +instanceKlass com/intellij/database/dialects/oracle/testing/utplsql/UtPlSqlHighlightingPassFactory +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$6 +instanceKlass com/intellij/codeInspection/ex/Tools +instanceKlass com/intellij/remoteServer/configuration/ServerConfiguration +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$5 +instanceKlass com/intellij/sql/editor/SqlColors +instanceKlass com/intellij/remoteServer/impl/configuration/deployment/DeployToServerConfigurationTypesRegistrar$1 +instanceKlass com/intellij/configurationScript/ConfigurationFileManagerKt +instanceKlass com/intellij/codeInsight/daemon/impl/PsiChangeHandler$2 +instanceKlass com/intellij/remoteServer/ServerType +instanceKlass com/intellij/database/editor/DatabaseColors +instanceKlass com/google/common/collect/Sets +instanceKlass com/intellij/openapi/editor/ProjectDisposeAwareDocumentListener +instanceKlass com/intellij/codeInsight/daemon/impl/PsiChangeHandler$1 +instanceKlass com/intellij/remoteServer/impl/configuration/deployment/DeployToServerConfigurationTypesRegistrar +instanceKlass com/intellij/sql/formatter/settings/SqlCodeStyleConst +instanceKlass com/intellij/ide/startup/impl/StartupManagerImplKt +instanceKlass com/intellij/remoteServer/impl/configuration/deployment/DeployToServerConfigurationTypesRegistrar$Provider +instanceKlass com/intellij/database/console/StatementHighlightingPassFactory +instanceKlass com/intellij/psi/PsiTreeChangeAdapter +instanceKlass com/intellij/execution/impl/RunManagerImpl$onFirstLoadingStarted$1 +instanceKlass com/jetbrains/rd/platform/codeWithMe/users/ConnectableUser +instanceKlass com/intellij/execution/configurations/SyntheticConfigurationTypeProvider +instanceKlass com/intellij/psi/tree/TokenSet +instanceKlass com/jetbrains/rd/util/reactive/IViewableMap$Event +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$4 +instanceKlass com/intellij/execution/BeforeRunTaskProvider +instanceKlass com/jetbrains/codeWithMe/model/RdUserModel$Companion +instanceKlass org/jetbrains/qodana/highlight/QodanaReportHighlightingPass$Registrar +instanceKlass com/intellij/codeInsight/daemon/impl/EditorTrackerListener$Companion +instanceKlass com/intellij/codeInsight/daemon/impl/EditorTrackerListener +instanceKlass com/intellij/execution/impl/RunManagerImpl$1 +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$3 +instanceKlass com/intellij/configurationScript/ConfigurationFileManager$addFileListener$1 +instanceKlass com/intellij/ide/users/LocalUserSettings +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$2 +instanceKlass com/intellij/psi/tree/IReparseableLeafElementType +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners$1 +instanceKlass com/intellij/psi/TokenType +instanceKlass com/intellij/execution/impl/RCInArbitraryFileManager +instanceKlass com/intellij/sql/formatter/settings/SqlLanguageCodeStyleProvider +instanceKlass com/intellij/configurationScript/ConfigurationFileManager$Companion +instanceKlass com/intellij/lang/javascript/inspections/unusedsymbols/JSUnusedGlobalSymbolsPassFactory +instanceKlass com/jetbrains/python/PyTokenTypes +instanceKlass com/intellij/lang/javascript/inspections/unusedsymbols/JSUnusedGlobalSymbolsPassFactory$MyRegistrar +instanceKlass com/intellij/lang/javascript/flow/FlowJSServiceHighlightingPassFactoryRegistrar +instanceKlass com/intellij/lang/javascript/service/highlighting/JSLanguageServiceHighlightingStateHolder +instanceKlass com/jetbrains/rd/platform/util/ApplicationKt +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonCodeAnalyzerImpl$UpdateRunnable +instanceKlass com/intellij/lang/javascript/service/highlighting/JSLanguageServiceHighlightingPassFactory +instanceKlass com/intellij/codeInsight/daemon/impl/StatusBarUpdater$2 +instanceKlass com/intellij/codeInsight/daemon/impl/StatusBarUpdater$1 +instanceKlass com/intellij/codeInsight/daemon/impl/StatusBarUpdater +instanceKlass com/intellij/database/dialects/oracle/debugger/OraLineBreakpointType$Companion +instanceKlass com/jetbrains/rdserver/BackendUserSettings +instanceKlass com/intellij/codeInsight/daemon/impl/PassExecutorService +instanceKlass com/intellij/xdebugger/breakpoints/ui/XBreakpointCustomPropertiesPanel +instanceKlass com/intellij/xdebugger/evaluation/InlineDebuggerHelper +instanceKlass com/intellij/javascript/debugger/JSDebuggerBundle +instanceKlass com/jetbrains/rdserver/toolWindow/BackendServerToolWindowManager$ActiveClientsTracker +instanceKlass com/intellij/xdebugger/evaluation/XDebuggerEditorsProvider +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptServiceHighlightingPassFactory$Registrar +instanceKlass com/intellij/httpClient/http/request/run/v2/HttpRequestRunLineMarkerV2EnablingListener$2 +instanceKlass com/intellij/xdebugger/breakpoints/XBreakpointProperties +instanceKlass com/jetbrains/rdserver/toolWindow/BackendToolWindowHost$Companion +instanceKlass org/jetbrains/debugger/PsiVisitors$Visitor +instanceKlass com/intellij/httpClient/http/request/run/v2/HttpRequestRunLineMarkerV2EnablingListener$1 +instanceKlass com/intellij/codeInsight/daemon/impl/FileStatusMap$1 +instanceKlass com/intellij/httpClient/http/request/debug/HttpRequestDebugger +instanceKlass com/intellij/httpClient/http/request/debug/HttpRequestDebuggerUtils +instanceKlass com/intellij/codeInsight/daemon/impl/FileStatusMap +instanceKlass com/intellij/ui/content/Content +instanceKlass com/intellij/openapi/ui/ComponentContainer +instanceKlass com/intellij/xdebugger/impl/breakpoints/XBreakpointUtil +instanceKlass com/intellij/httpClient/http/request/notification/HttpClientNotificationPanel +instanceKlass com/jetbrains/rd/actions/AccessLevelMarker +instanceKlass com/intellij/httpClient/http/request/notification/HttpClientNotificationPanelProvider +instanceKlass com/intellij/xdebugger/impl/XSourcePositionImpl +instanceKlass com/intellij/xdebugger/impl/XDebuggerLineChangeHandler +instanceKlass com/intellij/httpClient/http/request/run/v2/HttpRequestRunLineMarkerV2EnablingListener$EnablingState +instanceKlass com/intellij/xdebugger/impl/XDebuggerManagerImpl$BreakpointPromoterEditorListener +instanceKlass com/intellij/codeInsight/hint/TooltipRenderer +instanceKlass com/intellij/xdebugger/XSourcePosition +instanceKlass com/intellij/httpClient/http/request/run/v2/HttpRequestRunLineMarkerV2EnablingListener$Companion +instanceKlass com/intellij/xdebugger/impl/XDebuggerManagerImpl$DebuggerEditorListener +instanceKlass com/intellij/httpClient/http/request/run/v2/HttpRequestRunLineMarkerV2EnablingListener +instanceKlass com/intellij/httpClient/http/request/run/v2/HttpRequestRunLineMarkerV2Provider +instanceKlass com/intellij/xdebugger/impl/XDebuggerManagerImpl$4 +instanceKlass nl/hannahsten/texifyidea/util/magic/PatternMagic +instanceKlass com/intellij/xdebugger/impl/XDebuggerManagerImpl$3 +instanceKlass com/intellij/openapi/wm/ToolWindowEP +instanceKlass com/intellij/execution/ui/RunContentWithExecutorListener +instanceKlass com/intellij/xdebugger/impl/XDebuggerManagerImpl$2 +instanceKlass com/intellij/xdebugger/impl/XDebuggerManagerImpl$1 +instanceKlass com/intellij/httpClient/http/request/highlighting/HttpRequestAdditionalSyntaxHighlighter +instanceKlass nl/hannahsten/texifyidea/util/StringsKt +instanceKlass com/intellij/xdebugger/impl/ui/ExecutionPositionUiKt$showExecutionPointUi$$inlined$map$2 +instanceKlass com/jetbrains/rd/util/reactive/IPropertyView$DefaultImpls +instanceKlass com/jetbrains/rd/util/reactive/IProperty$DefaultImpls +instanceKlass com/intellij/xdebugger/impl/ui/ExecutionPositionUiKt$showExecutionPointUi$$inlined$map$1 +instanceKlass com/intellij/xdebugger/impl/ui/ExecutionPositionUi +instanceKlass com/intellij/openapi/wm/RegisterToolWindowTask +instanceKlass com/intellij/xdebugger/impl/ui/ExecutionPositionUiKt +instanceKlass nl/hannahsten/texifyidea/util/magic/GeneralMagic +instanceKlass com/intellij/codeInsight/daemon/impl/tagTreeHighlighting/XmlTagTreeHighlightingPassFactory +instanceKlass com/intellij/formatting/visualLayer/VisualFormattingLayerHighlightingPassFactory +instanceKlass com/intellij/formatting/visualLayer/VisualFormattingLayerHighlightingPassFactory$Registrar +instanceKlass com/intellij/codeInsight/daemon/impl/WolfPassFactory +instanceKlass kotlinx/coroutines/flow/ReadonlyStateFlow +instanceKlass kotlinx/coroutines/flow/SharingConfig +instanceKlass kotlinx/coroutines/channels/Channel$Factory +instanceKlass com/intellij/codeInsight/daemon/impl/ExternalToolPassFactory +instanceKlass kotlinx/coroutines/flow/StartedLazily +instanceKlass kotlinx/coroutines/flow/StartedEagerly +instanceKlass kotlinx/coroutines/flow/SharingStarted$Companion +instanceKlass com/intellij/codeInsight/daemon/impl/WholeFileLocalInspectionsPassFactory +instanceKlass kotlinx/coroutines/flow/SharingStarted +instanceKlass com/jetbrains/rd/ide/model/RdActiveToolWindow +instanceKlass com/intellij/codeInsight/documentation/render/DocRenderPassFactory +instanceKlass kotlinx/coroutines/flow/MutableStateFlow +instanceKlass kotlinx/coroutines/flow/StateFlow +instanceKlass kotlinx/coroutines/flow/StateFlowKt +instanceKlass kotlinx/coroutines/flow/EmptyFlow +instanceKlass kotlinx/coroutines/flow/FlowKt__BuildersKt +instanceKlass com/intellij/codeInsight/daemon/impl/ShowAutoImportPassFactory +instanceKlass com/intellij/psi/codeStyle/CodeStyleGroup +instanceKlass com/intellij/xdebugger/impl/XDebuggerExecutionPointManager +instanceKlass com/jetbrains/rd/util/reactive/IViewableMap$DefaultImpls +instanceKlass com/intellij/psi/impl/PsiDocumentManagerImpl$1 +instanceKlass com/jetbrains/rd/util/reactive/IMutableViewableMap$DefaultImpls +instanceKlass com/intellij/psi/impl/PsiDocumentManagerBase$PriorityEventCollector +instanceKlass kotlin/comparisons/ComparisonsKt__ComparisonsKt +instanceKlass com/intellij/psi/impl/PsiToDocumentSynchronizer +instanceKlass com/intellij/codeInsight/daemon/impl/LocalInspectionsPassFactory +instanceKlass com/intellij/codeInsight/folding/impl/InjectedCodeFoldingPassFactory +instanceKlass com/intellij/xdebugger/frame/XValueContainer +instanceKlass com/intellij/xdebugger/frame/XDebuggerTreeNodeHyperlink +instanceKlass com/intellij/application/options/codeStyle/properties/CodeStyleChoiceList +instanceKlass com/intellij/xdebugger/frame/presentation/XValuePresentation$XValueTextRenderer +instanceKlass com/intellij/codeHighlighting/TextEditorHighlightingPassRegistrar$1 +instanceKlass com/intellij/application/options/codeStyle/properties/CodeStylePropertyAccessor +instanceKlass com/intellij/xdebugger/frame/XInlineDebuggerDataCallback +instanceKlass com/intellij/openapi/observable/dispatcher/AbstractSingleEventDispatcher$ListenerWrapper$Companion +instanceKlass com/intellij/openapi/observable/dispatcher/AbstractSingleEventDispatcher$ListenerWrapper +instanceKlass com/intellij/ide/dnd/DnDAware +instanceKlass com/intellij/psi/impl/DocumentCommitThread +instanceKlass com/intellij/codeInsight/daemon/impl/IndentsPassFactory +instanceKlass com/sun/jna/NativeLibrary$2 +instanceKlass com/intellij/application/options/SmartIndentOptionsEditorBase +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManagerKt$WhenMappings +instanceKlass kotlinx/serialization/internal/FloatSerializer +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManager$LayoutDescriptor$Companion +instanceKlass com/intellij/psi/impl/DocumentCommitProcessor +instanceKlass com/intellij/codeInsight/hints/HintInfoFilter +instanceKlass com/intellij/ui/OptionGroup +instanceKlass com/intellij/ui/PanelWithAnchor +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManager$LayoutDescriptor +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsCustomizable +instanceKlass com/intellij/codeInsight/hints/ParameterHintsPassFactory +instanceKlass com/intellij/xdebugger/impl/ui/tree/nodes/XDebuggerTreeNode +instanceKlass com/intellij/openapi/util/io/FileSystemUtil$E2P +instanceKlass kotlinx/serialization/internal/IntSerializer +instanceKlass com/intellij/psi/codeStyle/LanguageCodeStyleSettingsContributor +instanceKlass com/sun/jna/NativeString +instanceKlass kotlinx/serialization/internal/EnumSerializer +instanceKlass com/intellij/openapi/fileEditor/impl/text/FocusModePassFactory +instanceKlass com/intellij/xdebugger/impl/ui/tree/nodes/RestorableStateNode +instanceKlass com/intellij/xdebugger/XNamedTreeNode +instanceKlass com/intellij/psi/codeStyle/LanguageCodeStyleSettingsProviderService +instanceKlass kotlinx/serialization/internal/EnumsKt +instanceKlass com/intellij/xdebugger/impl/ui/tree/nodes/XValueNodePresentationConfigurator$ConfigurableXValueNode +instanceKlass com/intellij/xdebugger/frame/XCompositeNode +instanceKlass com/intellij/xdebugger/frame/XValueNode +instanceKlass com/intellij/xdebugger/Obsolescent +instanceKlass com/intellij/codeInsight/folding/impl/CodeFoldingPassFactory +instanceKlass com/intellij/openapi/util/io/FileSystemUtil$LibC +instanceKlass com/intellij/toolWindow/ToolWindowDescriptor$Companion +instanceKlass com/intellij/refactoring/changeSignature/inplace/ChangeSignaturePassFactory +instanceKlass com/intellij/toolWindow/ToolWindowDescriptor +instanceKlass it/unimi/dsi/fastutil/bytes/ByteArrays$ArrayHashStrategy +instanceKlass it/unimi/dsi/fastutil/bytes/ByteArrays$Segment +instanceKlass com/intellij/toolWindow/IntellijPlatformDefaultToolWindowLayoutProvider +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutProvider +instanceKlass com/intellij/codeInsight/daemon/impl/ShowIntentionsPassFactory +instanceKlass com/intellij/xdebugger/impl/pinned/items/XDebuggerPinToTopManager$Companion +instanceKlass com/intellij/codeInsight/daemon/impl/SlowLineMarkersPassFactory +instanceKlass com/intellij/xdebugger/impl/pinned/items/XDebuggerPinToTopManager +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutBuilderImpl$DefaultToolWindowDescriptorBuilderImpl +instanceKlass com/intellij/toolWindow/DefaultToolWindowDescriptorBuilder +instanceKlass it/unimi/dsi/fastutil/bytes/ByteArrays +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutBuilderImpl$DefaultToolWindowStripeBuilderImpl$WhenMappings +instanceKlass com/jetbrains/python/PyToolWindowLayoutProvider +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutProviderToExtensionAdapter +instanceKlass com/intellij/xdebugger/impl/XDebuggerWatchesManager$MyDocumentListener +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutPlatformExtension +instanceKlass com/intellij/application/options/codeStyle/properties/AbstractCodeStylePropertyMapper +instanceKlass com/intellij/xdebugger/impl/XDebuggerWatchesManager +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutExtension$Companion +instanceKlass com/intellij/codeInsight/daemon/impl/LineMarkersPassFactory +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutExtension +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutBuilderImpl$DefaultToolWindowStripeBuilderImpl +instanceKlass com/intellij/toolWindow/DefaultToolWindowStripeBuilder +instanceKlass com/intellij/psi/codeStyle/LanguageCodeStyleProvider +instanceKlass com/intellij/codeInsight/daemon/impl/InjectedLanguageHighlightingRangeReducer +instanceKlass com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl$2 +instanceKlass com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl$1 +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutBuilderImpl +instanceKlass com/intellij/toolWindow/DefaultToolWindowLayoutBuilder +instanceKlass com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager$2 +instanceKlass com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager$MyEditorColorsListener +instanceKlass com/intellij/openapi/vfs/VirtualFileUrlChangeAdapter +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManagerKt +instanceKlass com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager$MyDependentBreakpointListener +instanceKlass com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager$MyEditorMouseMotionListener +instanceKlass com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager$MyEditorMouseListener +instanceKlass com/intellij/codeInsight/daemon/impl/InjectedGeneralHighlightingPassFactory +instanceKlass com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager$MyDocumentListener +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/NewMappings$1 +instanceKlass com/intellij/toolWindow/ToolWindowDescriptor$$serializer +instanceKlass com/intellij/application/options/GeneralCodeStyleOptionsProvider +instanceKlass com/intellij/xdebugger/impl/breakpoints/XLineBreakpointManager +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/FileWatchRequestModifier +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManager$LayoutDescriptor$$serializer +instanceKlass com/intellij/codeInsight/daemon/impl/ChameleonSyntaxHighlightingPass$Factory +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManager$ToolWindowLayoutStorageManagerState$Companion +instanceKlass com/intellij/psi/codeStyle/CustomCodeStyleSettings +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/FileWatchRequestsManager +instanceKlass com/intellij/xdebugger/impl/breakpoints/XDependentBreakpointManager$1 +instanceKlass com/intellij/util/PairConsumer +instanceKlass com/intellij/xdebugger/breakpoints/XBreakpointListener +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManager$ToolWindowLayoutStorageManagerState +instanceKlass com/jetbrains/rd/ide/model/RichStringModel +instanceKlass com/intellij/psi/impl/file/impl/FileManagerImpl$1 +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/FilePathMapping +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/ConnectionState$Companion +instanceKlass com/jetbrains/rd/ide/model/RichTextModel +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/VirtualFileMapping +instanceKlass com/intellij/openapi/fileTypes/CharsetUtil +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManager$Companion +instanceKlass com/intellij/xdebugger/impl/breakpoints/XDependentBreakpointListener +instanceKlass com/intellij/toolWindow/ToolWindowDefaultLayoutManager +instanceKlass com/intellij/openapi/extensions/ExtensionPointUtil$1 +instanceKlass com/intellij/xdebugger/impl/breakpoints/XDependentBreakpointManager +instanceKlass com/intellij/util/ui/ColorizeProxyIcon +instanceKlass git4idea/ignore/GitIgnoreChecker +instanceKlass com/intellij/openapi/vcs/VcsIgnoreChecker +instanceKlass com/intellij/codeHighlighting/HighlightDisplayLevel$ColoredIcon +instanceKlass com/jetbrains/rd/ide/model/RdTextRange +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/NewMappings$RootMapping +instanceKlass com/intellij/openapi/observable/dispatcher/AbstractSingleEventDispatcher$Companion +instanceKlass com/intellij/codeHighlighting/HighlightDisplayLevel +instanceKlass com/intellij/xdebugger/breakpoints/XBreakpointType +instanceKlass com/intellij/openapi/observable/dispatcher/AbstractSingleEventDispatcher +instanceKlass com/intellij/psi/codeStyle/CodeStyleConfigurable +instanceKlass com/intellij/openapi/vcs/VcsDirectoryMapping +instanceKlass com/intellij/openapi/observable/dispatcher/SingleEventDispatcher$Multicaster +instanceKlass git4idea/ignore/GitIgnoredFileContentProvider +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsProvider +instanceKlass com/intellij/xdebugger/breakpoints/XLineBreakpoint +instanceKlass com/intellij/psi/codeStyle/DisplayPrioritySortable +instanceKlass com/intellij/psi/codeStyle/CustomCodeStyleSettingsFactory +instanceKlass com/intellij/openapi/vfs/NonPhysicalFileSystem +instanceKlass com/intellij/openapi/observable/dispatcher/SingleEventDispatcher$Companion +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/NewMappings$MappedRoot +instanceKlass com/intellij/openapi/observable/dispatcher/SingleEventDispatcher +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsServiceImpl +instanceKlass com/jetbrains/rd/util/reactive/SourceExKt +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsService +instanceKlass com/jetbrains/rd/ide/model/CompletionPresentationModel +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightInfoProcessor +instanceKlass com/intellij/psi/codeStyle/PackageEntry +instanceKlass com/intellij/psi/FileViewProvider +instanceKlass com/intellij/openapi/observable/properties/AbstractObservableProperty +instanceKlass com/intellij/openapi/observable/properties/ObservableClearableProperty +instanceKlass com/intellij/psi/codeStyle/PackageEntryTable +instanceKlass com/intellij/codeHighlighting/TextEditorHighlightingPass +instanceKlass com/jetbrains/rd/util/reactive/ViewableList$MyIterator +instanceKlass org/zmlx/hg4idea/ignore/HgIgnoredFileContentProvider +instanceKlass kotlin/jvm/internal/markers/KMutableListIterator +instanceKlass com/intellij/xdebugger/impl/breakpoints/BreakpointState +instanceKlass com/intellij/openapi/observable/properties/AtomicMutableProperty +instanceKlass kotlin/jvm/internal/markers/KMutableIterator +instanceKlass com/jetbrains/rd/ide/model/SelectionRangeWithVersionIntermediate +instanceKlass com/intellij/psi/impl/file/impl/FileManagerImpl +instanceKlass com/intellij/openapi/observable/properties/ObservableMutableProperty +instanceKlass com/intellij/codeHighlighting/HighlightingPass +instanceKlass com/jetbrains/rd/ide/model/RdCaretModelChange +instanceKlass com/intellij/openapi/editor/colors/EditorColors +instanceKlass com/intellij/openapi/observable/properties/ObservableProperty +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/PersistentVcsShowConfirmationOption +instanceKlass com/intellij/psi/codeStyle/CommonCodeStyleSettings$IndentOptions +instanceKlass com/jetbrains/rdserver/followMe/FollowMeManagerKt +instanceKlass com/intellij/openapi/components/impl/stores/DirectoryStorageUtil +instanceKlass com/jetbrains/rd/util/ConsoleLoggerFactory$getLogger$1 +instanceKlass com/intellij/codeInsight/daemon/impl/GeneralHighlightingPassFactory +instanceKlass com/intellij/codeHighlighting/MainHighlightingPassFactory +instanceKlass com/intellij/psi/codeStyle/StoredOptionsContainer +instanceKlass com/intellij/openapi/vcs/changes/IgnoredFileContentProvider +instanceKlass com/intellij/configurationStore/SchemeContentChangedHandler +instanceKlass com/jetbrains/rd/util/SwitchLogger$Pair +instanceKlass com/intellij/psi/codeStyle/ExcludedFiles$State +instanceKlass com/intellij/codeInspection/DeprecationUtil +instanceKlass com/intellij/openapi/vfs/PersistentFSConstants +instanceKlass com/jetbrains/rd/util/ConsoleLoggerFactory +instanceKlass com/intellij/openapi/vcs/VcsAbstractSetting +instanceKlass com/intellij/psi/codeStyle/ExcludedFiles +instanceKlass com/intellij/codeInsight/hints/declarative/impl/DeclarativeInlayHintsPassFactory$Companion +instanceKlass com/intellij/util/keyFMap/ArrayBackedFMap +instanceKlass com/intellij/xdebugger/breakpoints/XBreakpoint +instanceKlass com/intellij/openapi/util/Computable$PredefinedValueComputable +instanceKlass com/jetbrains/rd/ide/model/RdAbstractEditorVersion +instanceKlass com/intellij/psi/impl/PsiModificationTrackerImpl$1 +instanceKlass com/intellij/xdebugger/impl/breakpoints/XBreakpointManagerImpl +instanceKlass com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl$4 +instanceKlass com/intellij/openapi/wm/impl/UnifiedToolWindowWeights$Companion +instanceKlass com/intellij/psi/search/scope/packageSet/NamedScopesHolder$ScopeListener +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/ToolwindowMirrorModeTracker$Companion +instanceKlass com/intellij/codeInsight/daemon/HighlightDisplayKey +instanceKlass com/intellij/psi/codeStyle/CustomCodeStyleSettingsManager +instanceKlass com/intellij/openapi/editor/impl/EditorFactoryImpl$4 +instanceKlass com/intellij/execution/impl/TemplateDifferenceHelper +instanceKlass com/intellij/vcsUtil/VcsUtil +instanceKlass com/jetbrains/rd/util/Sync +instanceKlass com/intellij/openapi/editor/impl/EditorFactoryImpl$3 +instanceKlass com/intellij/codeInsight/hints/declarative/impl/DeclarativeInlayHintsPassFactory +instanceKlass com/intellij/psi/search/scope/packageSet/NamedScopeManager$OrderState +instanceKlass com/jetbrains/rd/platform/util/UserDataHolderKt$userData$4 +instanceKlass com/intellij/openapi/wm/impl/DesktopLayout$Companion +instanceKlass com/jetbrains/rd/util/ILoggerFactory +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/PersistentVcsShowSettingOption +instanceKlass com/intellij/openapi/editor/impl/EditorFactoryImpl$2 +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/PersistentVcsSetting +instanceKlass com/intellij/packageDependencies/DependencyValidationManagerImpl$State +instanceKlass com/intellij/openapi/wm/impl/DesktopLayout +instanceKlass com/jetbrains/rd/ide/model/SelectionRange +instanceKlass com/intellij/psi/codeStyle/CommonCodeStyleSettingsManager +instanceKlass com/jetbrains/rd/util/Statics$Companion +instanceKlass com/intellij/openapi/editor/impl/EditorFactoryImpl$1 +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/OptionsAndConfirmations +instanceKlass com/intellij/psi/impl/source/PostprocessReformattingAspectImpl$1 +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/ToolwindowMirrorModeTracker +instanceKlass com/intellij/openapi/editor/ex/FocusChangeListener +instanceKlass com/jetbrains/rd/util/Statics +instanceKlass com/jetbrains/rd/platform/util/UserDataHolderKt +instanceKlass com/intellij/openapi/editor/event/VisibleAreaListener +instanceKlass com/intellij/openapi/editor/ex/EditReadOnlyListener +instanceKlass com/intellij/psi/search/scope/packageSet/NamedScope +instanceKlass com/intellij/analysis/AnalysisBundle +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/CodeWithMeToolWindowManager$Companion +instanceKlass com/intellij/psi/codeStyle/SoftMargins +instanceKlass com/intellij/psi/impl/source/PostprocessReformattingAspectImpl$Context +instanceKlass com/jetbrains/rd/platform/codeWithMe/users/UserManager$Companion +instanceKlass com/jetbrains/rd/ide/model/IconModel +instanceKlass com/intellij/workspaceModel/core/fileIndex/WorkspaceFileSet +instanceKlass com/intellij/psi/search/scope/packageSet/PackageSet +instanceKlass com/intellij/execution/impl/RunConfigurationIconAndInvalidCache +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightInfoType$HighlightInfoTypeSeverityByKey +instanceKlass com/intellij/codeInsight/hints/InlayHintsPassFactory$Companion +instanceKlass com/intellij/toolWindow/ToolWindowSetInitializer +instanceKlass com/intellij/execution/impl/RunConfigurationIconCache +instanceKlass com/intellij/openapi/editor/impl/event/EditorEventMulticasterImpl +instanceKlass com/intellij/openapi/ui/ValidationInfo +instanceKlass com/jetbrains/rd/util/reactive/ViewableList +instanceKlass com/intellij/openapi/editor/ex/EditorEventMulticasterEx +instanceKlass com/jetbrains/rdserver/portForwarding/cwm/ForwardedPort +instanceKlass com/intellij/openapi/util/DifferenceFilter +instanceKlass com/jetbrains/rd/util/LoggerFactoryStatic +instanceKlass com/intellij/openapi/util/DefaultJDOMExternalizer$JDOMFilter +instanceKlass com/intellij/openapi/editor/colors/CodeInsightColors +instanceKlass com/jetbrains/rd/platform/codeWithMe/portForwarding/GlobalPortForwardingManager +instanceKlass com/jetbrains/rd/util/reactive/IMutableViewableList +instanceKlass com/jetbrains/rd/platform/codeWithMe/portForwarding/PortForwardingManager +instanceKlass com/intellij/openapi/vcs/ex/VcsActivationListener +instanceKlass com/intellij/codeInsight/hints/InlayHintsPassFactory +instanceKlass com/intellij/execution/impl/RunConfigurationListManagerHelper +instanceKlass com/jetbrains/rd/platform/codeWithMe/portForwarding/ForwardedPort +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/NewMappings +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightInfoType$HighlightInfoTypeImpl +instanceKlass kotlin/jvm/internal/markers/KMutableList +instanceKlass com/intellij/psi/util/PsiModificationTracker$Listener +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightInfoType$UpdateOnTypingSuppressible +instanceKlass com/intellij/psi/impl/source/PostprocessReformattingAspectImpl$PostprocessFormattingTask +instanceKlass com/intellij/openapi/wm/impl/SideStack +instanceKlass com/intellij/openapi/editor/event/EditorEventMulticaster +instanceKlass com/jetbrains/rd/platform/util/ComponentsKt +instanceKlass com/intellij/codeInsight/hints/codeVision/CodeVisionPassFactory$Companion +instanceKlass com/intellij/openapi/wm/impl/ActiveStack +instanceKlass com/intellij/psi/codeStyle/arrangement/ArrangementSettings +instanceKlass com/intellij/openapi/editor/ex/EditorEx +instanceKlass com/jetbrains/rdserver/ProtocolConversionsKt +instanceKlass com/intellij/codeInsight/hints/codeVision/CodeVisionPassFactory +instanceKlass com/intellij/lang/PsiBuilder +instanceKlass com/intellij/execution/impl/RunManagerImpl$idToType$1 +instanceKlass com/intellij/ui/EditorNotificationsImpl$5 +instanceKlass com/intellij/psi/codeStyle/CommonCodeStyleSettings +instanceKlass com/jetbrains/rdserver/editors/BackendEditorService$2 +instanceKlass com/intellij/codeInspection/InspectionsBundle +instanceKlass com/intellij/toolWindow/ToolWindowStripeManager$Companion +instanceKlass com/intellij/openapi/util/UserDataHolderUnprotected +instanceKlass com/intellij/openapi/wm/ex/ToolWindowManagerListener +instanceKlass javax/swing/table/AbstractTableModel +instanceKlass com/intellij/openapi/project/ProjectUtilCore +instanceKlass javax/swing/table/TableModel +instanceKlass com/intellij/lang/SyntaxTreeBuilder +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightingSession +instanceKlass com/intellij/lang/annotation/HighlightSeverity +instanceKlass com/intellij/psi/impl/source/tree/TreeElementVisitor +instanceKlass com/intellij/util/ui/SortableColumnModel +instanceKlass com/intellij/ui/EditorNotificationProvider +instanceKlass com/jetbrains/rdserver/toolWindow/BackendServerToolWindowManager$Companion +instanceKlass com/jetbrains/rdserver/editors/BackendEditorService$1 +instanceKlass com/intellij/openapi/vcs/VcsRootChecker +instanceKlass com/intellij/util/ui/EditableModel +instanceKlass com/intellij/pom/wrappers/PsiEventWrapperAspect +instanceKlass com/intellij/util/ui/ItemRemovable +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerImpl$Companion +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightingMarkupGrave$2 +instanceKlass com/intellij/openapi/fileEditor/FileOpenedSyncListener$Companion +instanceKlass com/jetbrains/rdserver/followMe/FollowMeManager$Companion +instanceKlass com/intellij/openapi/wm/ex/ToolWindowManagerEx$Companion +instanceKlass com/intellij/openapi/roots/AdditionalLibraryRootsListener +instanceKlass com/jetbrains/rd/platform/codeWithMe/users/ToolWindowUserFocusHandler +instanceKlass com/intellij/codeInsight/daemon/DaemonCodeAnalyzerSettings +instanceKlass com/intellij/openapi/fileEditor/FileOpenedSyncListener +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightingMarkupGrave$1 +instanceKlass com/intellij/openapi/wm/ToolWindowManager$Companion +instanceKlass com/intellij/execution/impl/RunManagerImpl$Companion +instanceKlass com/intellij/lang/PsiBuilderFactory +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightInfoType +instanceKlass com/intellij/openapi/vcs/CheckoutProvider$Listener +instanceKlass com/intellij/codeInsight/hint/TooltipGroup +instanceKlass com/intellij/ui/EditorNotificationsImpl$3 +instanceKlass com/intellij/openapi/vcs/VcsShowConfirmationOption +instanceKlass com/jetbrains/rd/util/reactive/Property +instanceKlass com/intellij/openapi/vfs/VirtualFileFilter$2 +instanceKlass java/util/Spliterators$IntArraySpliterator +instanceKlass com/jetbrains/rd/util/reactive/ViewableMap +instanceKlass com/intellij/ui/EditorNotificationsImpl$2 +instanceKlass com/jetbrains/rd/util/reactive/IProperty +instanceKlass com/jetbrains/rd/util/reactive/IMutablePropertyBase +instanceKlass com/intellij/openapi/vcs/VcsShowSettingOption +instanceKlass com/jetbrains/rd/util/reactive/IMutableViewableMap +instanceKlass com/intellij/openapi/vfs/VirtualFileFilter$1 +instanceKlass com/intellij/openapi/rd/LifetimeDisposableExKt +instanceKlass com/intellij/ui/EditorNotificationsImpl$1 +instanceKlass com/intellij/openapi/editor/markup/RangeHighlighter +instanceKlass com/intellij/webSymbols/inspections/WebSymbolsPassFactory +instanceKlass com/intellij/openapi/roots/impl/PushedFilePropertiesUpdaterImpl$2 +instanceKlass com/jetbrains/rd/util/reactive/IViewableList +instanceKlass com/intellij/codeHighlighting/DirtyScopeTrackingHighlightingPassFactory +instanceKlass com/intellij/openapi/editor/EditorFactory +instanceKlass com/intellij/codeHighlighting/TextEditorHighlightingPassFactory +instanceKlass com/intellij/psi/codeStyle/ImportsLayoutSettings +instanceKlass com/intellij/psi/impl/AnyPsiChangeListener +instanceKlass com/intellij/openapi/fileEditor/FileEditorManagerListener +instanceKlass com/jetbrains/rdserver/followMe/BackendUserFocusManager$Companion +instanceKlass com/intellij/xdebugger/XDebuggerManagerListener +instanceKlass com/intellij/openapi/roots/impl/PushedFilePropertiesUpdaterImpl$1 +instanceKlass com/intellij/openapi/editor/DefaultLanguageHighlighterColors +instanceKlass com/jetbrains/rd/platform/codeWithMe/editors/CodeWithMeEditorService$Companion +instanceKlass com/intellij/webSymbols/inspections/WebSymbolsPassFactory$Registrar +instanceKlass com/jetbrains/rd/util/reactive/IPropertyView +instanceKlass com/intellij/facet/impl/FacetEventsPublisher$1 +instanceKlass com/intellij/codeInsight/daemon/impl/SeverityRegistrar +instanceKlass com/jetbrains/rd/platform/codeWithMe/users/UserFocusManager$Companion +instanceKlass com/intellij/psi/impl/file/impl/FileManager +instanceKlass com/intellij/codeInsight/daemon/DaemonCodeAnalyzer$DaemonListener +instanceKlass com/jetbrains/rd/util/reactive/IPropertyBase +instanceKlass com/jetbrains/rd/util/reactive/IViewableMap +instanceKlass com/intellij/xdebugger/XDebugSession +instanceKlass com/jetbrains/rdserver/portForwarding/cwm/CodeWithMeBackendPortForwardingToolWindowManager$Companion +instanceKlass com/intellij/util/indexing/roots/IndexableFilesIterator +instanceKlass com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl$3 +instanceKlass com/intellij/openapi/editor/event/EditorEventListener +instanceKlass com/intellij/openapi/roots/impl/DirectoryIndexImpl$1 +instanceKlass com/intellij/ide/startup/impl/StartupManagerImpl$Companion +instanceKlass com/jetbrains/rdserver/debugger/BackendFollowMeDebuggerHost$Companion +instanceKlass com/intellij/xdebugger/AbstractDebuggerSession +instanceKlass com/intellij/openapi/roots/ContentIterator +instanceKlass com/intellij/openapi/editor/ex/ErrorStripeListener +instanceKlass com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl$2 +instanceKlass com/intellij/util/SingleAlarm$Companion +instanceKlass com/jetbrains/rd/platform/codeWithMe/portForwarding/PortForwardingToolWindowManager$Companion +instanceKlass com/intellij/openapi/editor/markup/GutterIconRenderer +instanceKlass com/intellij/workspaceModel/core/fileIndex/WorkspaceFileIndex$Companion +instanceKlass com/jetbrains/rdserver/editors/BackendFollowMeEditorsHost$Companion +instanceKlass com/intellij/codeHighlighting/TextEditorHighlightingPassFactoryRegistrar +instanceKlass com/intellij/psi/impl/source/PostprocessReformattingAspect +instanceKlass com/intellij/util/ui/accessibility/SimpleAccessible +instanceKlass com/intellij/codeInsight/actions/VcsFacade +instanceKlass com/intellij/xdebugger/breakpoints/XBreakpointManager +instanceKlass com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl$1 +instanceKlass com/intellij/ui/EditorNotificationsImpl$Companion +instanceKlass com/intellij/psi/PsiTreeChangeListener +instanceKlass com/intellij/codeInsight/daemon/GutterMark +instanceKlass com/intellij/facet/impl/FacetEventsPublisher$Companion +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolbar/CodeWithMeToolbarUpdater$Companion +instanceKlass com/intellij/configurationScript/inspection/ExternallyConfigurableProjectInspectionProfileManager$Companion +instanceKlass com/jetbrains/rdserver/diagnostics/BackendPerformanceHost$Companion +instanceKlass com/intellij/openapi/project/DumbModeTask +instanceKlass com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl$RecentlyChangedFilesState +instanceKlass com/intellij/profile/codeInspection/ProjectInspectionProfileManager$Companion +instanceKlass com/intellij/pom/PomTransaction +instanceKlass com/intellij/openapi/editor/event/EditorFactoryListener +instanceKlass com/intellij/openapi/project/MergeableQueueTask +instanceKlass com/intellij/openapi/editor/RangeMarker +instanceKlass com/intellij/openapi/roots/impl/DirectoryInfo +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsServiceListener +instanceKlass com/intellij/execution/RunManager$Companion +instanceKlass com/intellij/execution/impl/ProjectRunConfigurationInitializer +instanceKlass com/intellij/openapi/roots/libraries/Library +instanceKlass com/intellij/openapi/roots/ProjectModelElement +instanceKlass com/intellij/openapi/roots/impl/libraries/LibraryTablesRegistrarImpl$1 +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleDependencyItem +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexDataImpl$StoreFileSetsRegistrarImpl +instanceKlass com/intellij/workspaceModel/core/fileIndex/WorkspaceFileSetRegistrar +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexDataImpl$WhenMappings +instanceKlass com/intellij/openapi/roots/impl/PackageDirectoryCacheImpl +instanceKlass com/intellij/openapi/roots/PackageDirectoryCache +instanceKlass com/intellij/openapi/roots/SingleFileSourcesTracker$Companion +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/LibrariesAndSdkContributors$Companion +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/LibrariesAndSdkContributors +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/NonIncrementalContributors$Companion +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/NonIncrementalContributors +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/NonExistingWorkspaceRootsRegistry +instanceKlass com/intellij/openapi/roots/impl/RootFileSupplier +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexDataImpl +instanceKlass com/intellij/openapi/application/rw/ReadResult +instanceKlass com/intellij/openapi/application/rw/Value +instanceKlass com/intellij/openapi/application/rw/CancellableReadActionKt +instanceKlass com/intellij/openapi/application/rw/InternalReadAction +instanceKlass com/intellij/openapi/application/impl/AsyncExecutionServiceImpl$1 +instanceKlass com/intellij/openapi/application/NonBlockingReadAction +instanceKlass com/intellij/openapi/application/AppUIExecutor +instanceKlass com/intellij/openapi/application/ExpirableExecutor +instanceKlass com/intellij/openapi/application/BaseExpirableExecutor +instanceKlass com/intellij/openapi/application/AsyncExecutionService +instanceKlass com/intellij/openapi/application/rw/PlatformReadWriteActionSupport +instanceKlass com/intellij/openapi/application/ReadWriteActionSupport +instanceKlass com/intellij/openapi/application/ReadConstraint +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexImpl$1 +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/EmptyWorkspaceFileIndexData$Companion +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/EmptyWorkspaceFileIndexData +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexData +instanceKlass com/intellij/workspaceModel/ide/JpsProjectLoadingManager$Companion +instanceKlass com/jetbrains/python/PySdkFromEnvironmentVariableConfigurator$Companion +instanceKlass com/jetbrains/python/PySdkFromEnvironmentVariableConfigurator +instanceKlass com/intellij/workspaceModel/ide/impl/JpsProjectLoadedListenerImpl +instanceKlass com/intellij/workspaceModel/ide/JpsProjectLoadedListener$Companion +instanceKlass com/intellij/workspaceModel/ide/JpsProjectLoadedListener +instanceKlass com/intellij/workspaceModel/ide/impl/EntitiesOrphanageImpl$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/ExcludeRootAdder$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/ExcludeRootAdder +instanceKlass com/intellij/workspaceModel/ide/impl/SourceRootAdder$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/SourceRootAdder +instanceKlass com/intellij/workspaceModel/ide/impl/ContentRootAdder$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/ContentRootAdder +instanceKlass com/intellij/workspaceModel/ide/impl/EntityAdder +instanceKlass com/intellij/workspaceModel/ide/EntitiesOrphanage$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/DefaultFacetEntitySerializer$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/DefaultFacetEntitySerializer +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/CustomFacetRelatedEntitySerializer +instanceKlass com/intellij/platform/workspace/storage/VersionedEntityStorageKt$orderToRemoveReplaceAdd$$inlined$sortedBy$1 +instanceKlass com/intellij/platform/workspace/storage/VersionedEntityStorageKt +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleGroupPathEntity +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleCustomImlDataEntity +instanceKlass com/intellij/platform/workspace/jps/entities/CustomSourceRootPropertiesEntity +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderEntity +instanceKlass com/intellij/javascript/library/exclude/JsExcludeEntity +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/workspaceModel/YarnPnpFileEntity +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/workspaceModel/YarnPnpWorkspaceLibraryEntity +instanceKlass com/intellij/javascript/nodejs/library/node_modules/workspaceModel/NodeModulesDirectoryLibraryEntity +instanceKlass com/intellij/javascript/nodejs/library/node_modules/workspaceModel/NodeModulesDirectoryExcludeEntity +instanceKlass com/intellij/java/workspace/entities/JavaResourceRootPropertiesEntity +instanceKlass com/intellij/java/workspace/entities/JavaSourceRootPropertiesEntity +instanceKlass com/intellij/workspaceModel/core/fileIndex/DependencyDescription$OnChild +instanceKlass com/intellij/workspaceModel/core/fileIndex/DependencyDescription$OnParent +instanceKlass com/intellij/workspaceModel/core/fileIndex/DependencyDescription +instanceKlass com/intellij/platform/workspace/jps/entities/LibraryPropertiesEntity +instanceKlass com/intellij/util/indexing/roots/ExcludeUrlIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/JavaModuleSettingsIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/JavaResourceRootPropertiesIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/JavaSourceRootPropertiesIndexableEntityProvider +instanceKlass com/intellij/util/lang/ClassLoadingLocks$1 +instanceKlass com/intellij/util/indexing/roots/ModuleGroupPathIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/ModuleCustomImlDataFilesIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/ModuleDependencyEntitiesIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/SourceRootIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/CustomSourceRootPropertyIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/ContentRootIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/IndexableEntityProvider$Existing +instanceKlass com/intellij/util/indexing/roots/LibraryPropertyEntityIndexableEntityProvider +instanceKlass com/intellij/util/indexing/roots/IndexableEntityProvider$Enforced +instanceKlass com/intellij/util/indexing/roots/LibraryIndexableEntityProvider +instanceKlass org/jetbrains/vuejs/libraries/nuxt/library/NuxtFolderLibraryContributor +instanceKlass com/intellij/lang/javascript/library/JSLibraryToResolveScopeContributor +instanceKlass com/intellij/javascript/library/exclude/JsExcludeFileIndexContributor +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/workspaceModel/YarnPnpExcludeContributor +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/workspaceModel/YarnPnpLibraryWorkspaceFileIndexContributor +instanceKlass com/intellij/javascript/nodejs/library/node_modules/workspaceModel/NodeModulesDirectoryLibraryEntityWorkspaceFileIndexContributor +instanceKlass com/intellij/openapi/roots/SkipAddingToWatchedRoots +instanceKlass com/intellij/javascript/nodejs/library/node_modules/workspaceModel/NodeModulesDirectoryExcludeEntityWorkspaceFileIndexContributor +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/UnloadedContentRootFileIndexContributor +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ExcludedRootFileIndexContributor +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/LibraryRootFileIndexContributor$Companion +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/LibraryRootFileIndexContributor +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/SourceRootFileIndexContributor +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/ContentRootFileIndexContributor +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/PlatformInternalWorkspaceFileIndexContributor +instanceKlass com/intellij/workspaceModel/core/fileIndex/WorkspaceFileIndexContributor +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexImpl$Companion +instanceKlass com/intellij/openapi/roots/impl/CustomEntityProjectModelInfoProvider +instanceKlass com/intellij/util/indexing/roots/IndexableEntityProvider +instanceKlass com/intellij/util/indexing/CustomEntitiesCausingReindexTracker$1 +instanceKlass com/intellij/util/indexing/IndexableFilesIndex$1 +instanceKlass com/intellij/util/indexing/CustomEntitiesCausingReindexTracker +instanceKlass com/intellij/util/indexing/RootChangesLogger +instanceKlass com/intellij/util/indexing/BuildableRootsChangeRescanningInfo +instanceKlass com/intellij/openapi/project/RootsChangeRescanningInfo +instanceKlass com/intellij/util/indexing/EntityIndexingServiceImpl +instanceKlass com/intellij/util/indexing/EntityIndexingServiceEx +instanceKlass com/intellij/util/indexing/EntityIndexingService +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/watcher/EntitySourceFileWatcher +instanceKlass com/intellij/java/workspace/entities/JavaModuleSettingsEntity$Builder +instanceKlass com/intellij/java/workspace/entities/JavaModuleSettingsEntity +instanceKlass com/intellij/platform/workspace/jps/entities/SourceRootEntity$Builder +instanceKlass com/intellij/platform/workspace/jps/entities/SourceRootEntity +instanceKlass com/intellij/platform/workspace/jps/entities/ContentRootEntity$Builder +instanceKlass com/intellij/platform/workspace/jps/entities/ContentRootEntity +instanceKlass com/intellij/platform/workspace/jps/entities/ExcludeUrlEntity$Builder +instanceKlass com/intellij/platform/workspace/jps/entities/ExcludeUrlEntity +instanceKlass com/intellij/platform/workspace/jps/entities/LibraryEntity$Builder +instanceKlass com/intellij/platform/workspace/storage/WorkspaceEntity$Builder +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/watcher/EntityVirtualFileUrlWatcher +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/watcher/LibraryRootFileWatcher +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/watcher/LegacyFileWatcher +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/watcher/VirtualFileUrlWatcher$Companion +instanceKlass com/jetbrains/python/docker/watcher/PyDockerProjectInterpretersWatcher$SdkEntitiesChangeListener +instanceKlass com/jetbrains/python/inspections/PyInterpreterInspection$Visitor$CacheCleaner +instanceKlass com/intellij/workspaceModel/ide/impl/OrphanListener$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/OrphanListener +instanceKlass com/intellij/workspaceModel/ide/impl/GlobalWorkspaceModelSynchronizerListener +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/ProjectLibraryTableBridgeImplKt +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/GlobalLibraryTableBridgeImplKt +instanceKlass com/intellij/platform/workspace/jps/entities/FacetEntity +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleSettingsBase +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/facet/FacetEntityContributor +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/WorkspaceFacetContributor$Companion +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/WorkspaceFacetContributor +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/ProjectLibraryTableBridgeInitializer +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/GlobalLibraryTableBridgeInitializer +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleManagerComponentBridgeInitializer +instanceKlass com/intellij/platform/backend/workspace/BridgeInitializer$Companion +instanceKlass com/intellij/platform/backend/workspace/BridgeInitializer +instanceKlass com/intellij/workspaceModel/ide/impl/ModulePreUpdateHandler +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModelPreUpdateHandler +instanceKlass java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1 +instanceKlass com/intellij/openapi/application/impl/ApplicationImpl$Holder +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/ProjectLibraryTableBridgeImpl$1 +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/ProjectLibraryTableBridgeImpl$Companion +instanceKlass com/intellij/openapi/roots/libraries/LibraryTablesRegistrar +instanceKlass com/intellij/platform/workspace/storage/impl/external/EmptyExternalEntityMapping +instanceKlass com/intellij/platform/workspace/storage/impl/StorageSnapshotCache +instanceKlass com/github/benmanes/caffeine/cache/UnboundedLocalCache +instanceKlass com/github/benmanes/caffeine/cache/UnboundedLocalCache$UnboundedLocalManualCache +instanceKlass com/intellij/platform/workspace/storage/impl/ValuesCache +instanceKlass com/intellij/platform/workspace/storage/impl/external/MutableExternalEntityMappingImpl$IndexLog +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/UnloadedModuleDescriptionBridge$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/UnloadedModuleDescriptionBridge +instanceKlass com/intellij/openapi/module/UnloadedModuleDescription +instanceKlass com/intellij/openapi/module/ModuleDescription +instanceKlass com/intellij/serviceContainer/PrecomputedExtensionModel +instanceKlass com/intellij/serviceContainer/PrecomputedExtensionModelKt +instanceKlass com/intellij/openapi/module/impl/AutomaticModuleUnloaderImpl$Companion +instanceKlass com/intellij/openapi/module/AutomaticModuleUnloader$Companion +instanceKlass com/intellij/platform/workspace/jps/entities/ModuleEntity +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/facet/FacetEntityChangeListener$1 +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/facet/FacetEntityChangeListener$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/facet/FacetEntityChangeListener +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleManagerBridgeImpl$1 +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleManagerBridgeImpl$LoadedModulesListUpdater +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/LegacyProjectModelListenersBridge$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/LegacyProjectModelListenersBridge +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/project/ModuleRootListenerBridgeImpl +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleRootListenerBridge +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleManagerBridgeImplKt +instanceKlass com/intellij/platform/workspace/storage/CachedValue +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleManagerBridgeImpl$Companion +instanceKlass com/intellij/openapi/module/ModuleManager$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/LoadedProjectEntities +instanceKlass com/intellij/platform/workspace/storage/impl/ReplaceBySourceAsTree$OperationsApplier +instanceKlass com/intellij/platform/workspace/storage/impl/ReplaceBySourceAsTree$Companion$hashingStrategy$1 +instanceKlass com/intellij/platform/workspace/storage/impl/ReplaceBySourceAsTree$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/ReplaceBySourceAsTree +instanceKlass com/intellij/platform/workspace/storage/impl/ClassToIntConverter$Entry +instanceKlass com/intellij/platform/workspace/storage/impl/ClassToIntConverter$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/ClassToIntConverter +instanceKlass com/intellij/platform/workspace/storage/impl/ClassToIntConverterKt +instanceKlass com/intellij/platform/workspace/jps/entities/LibraryEntity +instanceKlass com/intellij/platform/workspace/storage/WorkspaceEntityWithSymbolicId +instanceKlass com/intellij/openapi/roots/libraries/LibraryTablePresentation +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/GlobalLibraryTableBridgeImpl$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/GlobalLibraryTableBridgeImpl +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsGlobalModelSynchronizerImpl$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsGlobalModelSynchronizerImpl +instanceKlass com/intellij/workspaceModel/ide/JpsGlobalModelSynchronizer$Companion +instanceKlass com/intellij/workspaceModel/ide/JpsGlobalModelSynchronizer +instanceKlass com/intellij/platform/workspace/storage/EntityStorageKt +instanceKlass sun/reflect/ReflectionFactory$1 +instanceKlass sun/reflect/ReflectionFactory +instanceKlass com/esotericsoftware/kryo/kryo5/objenesis/instantiator/sun/SunReflectionFactoryHelper +instanceKlass com/esotericsoftware/kryo/kryo5/objenesis/instantiator/sun/SunReflectionFactoryInstantiator +instanceKlass com/esotericsoftware/kryo/kryo5/objenesis/strategy/PlatformDescription +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModelCacheVersion +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerSingletonSerializer$7 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerSingletonSerializer$6 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerSingletonSerializer$5 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerSingletonSerializer$4 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerSingletonSerializer$3 +instanceKlass com/intellij/util/containers/MostlySingularMultiMap +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerSingletonSerializer$2 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerSingletonSerializer$1 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerFieldSerializer$4 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerFieldSerializer$3 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerFieldSerializer$2 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$createKryo$$inlined$registerFieldSerializer$1 +instanceKlass com/intellij/platform/workspace/storage/impl/ChangeEntry$ReplaceAndChangeSource$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/ChangeEntry$ReplaceEntity$References +instanceKlass com/intellij/platform/workspace/storage/impl/ChangeEntry$ReplaceEntity$Data +instanceKlass com/intellij/platform/workspace/storage/impl/ChangeEntry +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$SerializableEntityId +instanceKlass com/intellij/platform/workspace/storage/impl/containers/NonNegativeIntIntMultiMap$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/indices/EntityIdWithProperty +instanceKlass com/intellij/platform/workspace/storage/impl/containers/NonNegativeIntIntBiMap$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/containers/NonNegativeIntIntMultiMap +instanceKlass com/intellij/platform/workspace/storage/impl/containers/IntIntUniqueBiMap +instanceKlass com/intellij/platform/workspace/storage/impl/containers/NonNegativeIntIntBiMap +instanceKlass com/intellij/platform/workspace/storage/impl/WorkspaceEntityData +instanceKlass com/intellij/platform/workspace/storage/SerializableEntityData +instanceKlass com/intellij/platform/workspace/storage/impl/EntityFamily +instanceKlass com/intellij/platform/workspace/storage/impl/containers/LinkedBidirectionalMap +instanceKlass javax/annotation/Nonnull +instanceKlass javax/annotation/meta/TypeQualifierDefault +instanceKlass com/google/common/collect/ElementTypesAreNonnullByDefault +instanceKlass com/intellij/platform/workspace/storage/impl/containers/BidirectionalSetMap +instanceKlass com/intellij/platform/workspace/storage/impl/containers/BidirectionalMap +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/MapSerializer$BindMap +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/CollectionSerializer$BindCollection +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/FieldSerializer$Bind +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/FieldSerializer$NotNull +instanceKlass com/esotericsoftware/kryo/kryo5/util/GenericsUtil +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/FieldSerializer$Optional +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/FieldSerializer$CachedField +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/CachedFields +instanceKlass com/esotericsoftware/kryo/kryo5/util/Generics$GenericsHierarchy +instanceKlass com/esotericsoftware/kryo/kryo5/DefaultSerializer +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$TypeInfo +instanceKlass com/intellij/platform/workspace/storage/impl/ParentEntityId +instanceKlass com/intellij/platform/workspace/storage/impl/ChildEntityId +instanceKlass com/intellij/platform/workspace/storage/impl/ConnectionId +instanceKlass com/google/common/collect/AbstractMultimap +instanceKlass com/google/common/collect/SetMultimap +instanceKlass com/esotericsoftware/kryo/kryo5/objenesis/strategy/BaseInstantiatorStrategy +instanceKlass com/esotericsoftware/kryo/kryo5/util/ObjectIntMap +instanceKlass com/esotericsoftware/kryo/kryo5/util/MapReferenceResolver +instanceKlass com/esotericsoftware/kryo/kryo5/minlog/Log$Logger +instanceKlass com/esotericsoftware/kryo/kryo5/minlog/Log +instanceKlass com/esotericsoftware/kryo/kryo5/Registration +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/ImmutableCollectionsSerializers +instanceKlass java/time/MonthDay +instanceKlass java/time/YearMonth +instanceKlass java/time/Year +instanceKlass java/time/OffsetDateTime +instanceKlass java/time/OffsetTime +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/TimeSerializers +instanceKlass java/util/OptionalDouble +instanceKlass java/util/OptionalLong +instanceKlass com/esotericsoftware/kryo/kryo5/unsafe/UnsafeUtil +instanceKlass com/esotericsoftware/kryo/kryo5/util/Util +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/OptionalSerializers +instanceKlass com/esotericsoftware/kryo/kryo5/KryoSerializable +instanceKlass com/esotericsoftware/kryo/kryo5/Kryo$DefaultSerializerEntry +instanceKlass com/esotericsoftware/kryo/kryo5/util/Generics$GenericType +instanceKlass com/esotericsoftware/kryo/kryo5/util/DefaultGenerics +instanceKlass com/esotericsoftware/kryo/kryo5/util/IntArray +instanceKlass com/esotericsoftware/kryo/kryo5/objenesis/instantiator/ObjectInstantiator +instanceKlass com/esotericsoftware/kryo/kryo5/util/DefaultInstantiatorStrategy +instanceKlass com/esotericsoftware/kryo/kryo5/serializers/FieldSerializer$FieldSerializerConfig +instanceKlass com/esotericsoftware/kryo/kryo5/SerializerFactory$BaseSerializerFactory +instanceKlass com/esotericsoftware/kryo/kryo5/util/ObjectMap +instanceKlass com/esotericsoftware/kryo/kryo5/util/IntMap +instanceKlass com/esotericsoftware/kryo/kryo5/util/DefaultClassResolver +instanceKlass com/esotericsoftware/kryo/kryo5/Serializer +instanceKlass com/esotericsoftware/kryo/kryo5/objenesis/strategy/InstantiatorStrategy +instanceKlass com/esotericsoftware/kryo/kryo5/ClassResolver +instanceKlass com/esotericsoftware/kryo/kryo5/util/Generics +instanceKlass com/esotericsoftware/kryo/kryo5/SerializerFactory +instanceKlass com/esotericsoftware/kryo/kryo5/ReferenceResolver +instanceKlass com/esotericsoftware/kryo/kryo5/Kryo +instanceKlass com/esotericsoftware/kryo/kryo5/util/Pool$Poolable +instanceKlass com/intellij/workspaceModel/ide/impl/GlobalWorkspaceModelCacheImpl$1$1 +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImplKt +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCacheSerializerKt +instanceKlass com/intellij/workspaceModel/ide/impl/GlobalWorkspaceModelCacheImpl$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/GlobalWorkspaceModelCacheImpl +instanceKlass com/intellij/platform/backend/workspace/GlobalWorkspaceModelCache$Companion +instanceKlass com/intellij/platform/backend/workspace/GlobalWorkspaceModelCache +instanceKlass com/intellij/workspaceModel/ide/impl/GlobalWorkspaceModel$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/GlobalWorkspaceModel +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/GlobalLibraryTableBridge$Companion +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/GlobalLibraryTableBridge +instanceKlass com/intellij/platform/workspace/storage/impl/ConsistencyCheckingModeProvider +instanceKlass com/intellij/platform/workspace/storage/impl/ConsistencyCheckingMode$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/AddDiffOperation$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/AddDiffOperation +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/IdeErrorReporter$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/IdeErrorReporter +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/ErrorReporter +instanceKlass com/intellij/openapi/module/impl/UnloadedModulesNameHolderImpl +instanceKlass com/intellij/platform/workspace/jps/UnloadedModulesNameHolder +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsProjectModelSynchronizer$registerListener$2 +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsProjectModelSynchronizer$registerListener$listener$1 +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsProjectModelSynchronizer$registerListener$1 +instanceKlass com/intellij/util/containers/BidirectionalMap +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsProjectSerializersImpl$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsProjectSerializersImpl +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsProjectSerializers$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsProjectSerializers +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsArtifactEntitiesSerializer$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsArtifactEntitiesSerializer +instanceKlass com/intellij/platform/workspace/jps/entities/LibraryTableId +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsLibraryEntitiesSerializer$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsLibraryEntitiesSerializer +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsFileEntityTypeSerializer +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsFileEntitiesSerializer +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/ModuleListSerializerImpl$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/ModuleListSerializerImpl +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsModuleListSerializer +instanceKlass com/intellij/platform/workspace/jps/JpsFileEntitySource +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/CachingJpsFileContentReader +instanceKlass com/intellij/configurationStore/ProjectStoreBridgeKt +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsProjectSerializersImplKt +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/project/ProjectRootManagerBridge$ModuleDependencyListenerImpl +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl$ReferencedRootSetChangeListener +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl$JdkChangeListener +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsArtifactsDirectorySerializerFactory +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsLibrariesDirectorySerializerFactory +instanceKlass com/intellij/util/containers/BidirectionalMultiMap +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsDirectoryEntitiesSerializerFactory +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl$LibraryTablesListener +instanceKlass com/intellij/openapi/roots/libraries/LibraryTable$Listener +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsExternalStorageMappingImpl +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsExternalStorageMapping +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/ModuleDependencyListener +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsProjectEntitiesLoader +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/ModuleDependencyIndex$Companion +instanceKlass com/intellij/openapi/roots/OrderEntry +instanceKlass com/intellij/openapi/roots/Synthetic +instanceKlass com/intellij/openapi/roots/OrderEnumerationHandler +instanceKlass com/intellij/openapi/roots/AdditionalLibraryRootsProvider +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/BaseIdeSerializationContext$Companion +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerComponent$registerListeners$3 +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/BaseIdeSerializationContext +instanceKlass com/intellij/configurationStore/BatchUpdateListener +instanceKlass com/intellij/platform/workspace/jps/serialization/SerializationContext +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerComponent$registerListeners$2 +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerComponent$registerListeners$1 +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerComponent$rootsChangedListener$1 +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerImpl$4 +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModel$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/FileInDirectorySourceNames$Companion +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/FileInDirectorySourceNames +instanceKlass com/intellij/openapi/roots/impl/OrderRootsCache +instanceKlass com/intellij/configurationStore/StorageJpsConfigurationReader$Companion +instanceKlass com/intellij/configurationStore/StorageJpsConfigurationReader +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsFileContentReaderWithCache +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/JpsFileContentReader +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerImpl$3 +instanceKlass com/intellij/openapi/roots/ex/ProjectRootManagerEx$ProjectJdkListener +instanceKlass com/intellij/platform/workspace/jps/JpsProjectConfigLocation +instanceKlass com/intellij/openapi/roots/impl/ProjectRootManagerImpl$BatchSession +instanceKlass com/intellij/platform/workspace/storage/impl/url/VirtualFileUrlImpl +instanceKlass com/intellij/platform/workspace/storage/url/VirtualFileUrl +instanceKlass com/intellij/openapi/roots/OrderEnumeratorSettings +instanceKlass com/intellij/platform/workspace/storage/impl/IdPerCount +instanceKlass kotlin/sequences/SequencesKt___SequencesKt$asIterable$$inlined$Iterable$1 +instanceKlass com/intellij/platform/workspace/storage/impl/url/VirtualFileUrlImplKt +instanceKlass com/intellij/project/ProjectKt +instanceKlass com/intellij/workspaceModel/ide/JpsProjectConfigLocationUtilKt +instanceKlass com/intellij/openapi/roots/OrderEnumerator +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleBridgeLoaderServiceKt +instanceKlass com/intellij/platform/workspace/storage/impl/VersionedEntityStorageImpl$Current +instanceKlass com/intellij/platform/workspace/storage/impl/VersionedEntityStorageImpl +instanceKlass com/intellij/platform/workspace/storage/VersionedEntityStorage +instanceKlass com/intellij/platform/diagnostic/telemetry/helpers/TimeMeasurementExtensionKt +instanceKlass com/intellij/platform/workspace/storage/impl/WorkspaceBuilderChangeLog$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/WorkspaceBuilderChangeLog +instanceKlass com/intellij/platform/workspace/storage/impl/external/MutableExternalEntityMappingImpl$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/external/ExternalEntityMappingImpl +instanceKlass com/intellij/platform/workspace/storage/MutableExternalEntityMapping +instanceKlass com/intellij/platform/workspace/storage/ExternalEntityMapping +instanceKlass com/intellij/platform/workspace/storage/impl/indices/SymbolicIdInternalIndex$MutableSymbolicIdInternalIndex$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/indices/EntityStorageInternalIndex$MutableEntityStorageInternalIndex$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/indices/VirtualFileIndex$MutableVirtualFileIndex$Companion +instanceKlass com/intellij/platform/workspace/storage/url/MutableVirtualFileUrlIndex +instanceKlass com/intellij/platform/workspace/storage/impl/indices/MultimapStorageIndex$MutableMultimapStorageIndex$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/indices/WorkspaceMutableIndex +instanceKlass com/intellij/platform/workspace/storage/impl/MutableRefsTable$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/MutableEntitiesBarrel$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/MutableEntityStorageImpl$Companion +instanceKlass com/intellij/platform/workspace/storage/instrumentation/MutableEntityStorageInstrumentation +instanceKlass com/intellij/platform/workspace/storage/MutableEntityStorage$Companion +instanceKlass com/intellij/platform/workspace/storage/MutableEntityStorage +instanceKlass com/intellij/platform/workspace/storage/impl/indices/SymbolicIdInternalIndex +instanceKlass com/intellij/platform/workspace/storage/impl/containers/BidirectionalLongSetMap +instanceKlass com/intellij/platform/workspace/storage/impl/indices/EntityStorageInternalIndex +instanceKlass com/intellij/platform/workspace/storage/impl/indices/VirtualFileIndexKt$CASE_INSENSITIVE_STRATEGY$1 +instanceKlass com/intellij/platform/workspace/storage/impl/indices/VirtualFileIndexKt$STANDARD_STRATEGY$1 +instanceKlass com/intellij/platform/workspace/storage/impl/indices/VirtualFileIndexKt +instanceKlass com/intellij/platform/workspace/storage/impl/indices/VirtualFileIndex +instanceKlass com/intellij/platform/workspace/storage/url/VirtualFileUrlIndex +instanceKlass com/intellij/platform/workspace/storage/impl/containers/BidirectionalLongMultiMap +instanceKlass com/intellij/platform/workspace/storage/impl/indices/MultimapStorageIndex +instanceKlass com/intellij/platform/workspace/storage/impl/StorageIndexes$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/StorageIndexes +instanceKlass com/intellij/platform/workspace/storage/impl/AbstractRefsTable +instanceKlass com/intellij/platform/workspace/storage/impl/ImmutableEntitiesBarrel$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/EntitiesBarrel +instanceKlass com/intellij/platform/workspace/storage/WorkspaceEntity$Companion +instanceKlass com/intellij/platform/workspace/storage/EntitySource +instanceKlass com/intellij/platform/workspace/storage/EntityReference +instanceKlass com/intellij/platform/workspace/storage/WorkspaceEntity +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSnapshotImpl$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/AbstractEntityStorage$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/AbstractEntityStorage +instanceKlass com/intellij/platform/workspace/storage/instrumentation/EntityStorageSnapshotInstrumentation +instanceKlass com/intellij/platform/workspace/storage/instrumentation/EntityStorageInstrumentation +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCacheImpl$2$1 +instanceKlass com/intellij/platform/workspace/storage/EntityStorageSnapshot$Companion +instanceKlass com/intellij/platform/workspace/storage/EntityStorageSnapshot +instanceKlass com/intellij/platform/workspace/storage/EntityStorage +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCacheImpl$1 +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModelUnloadedStorageChangeListener +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModelChangeListener +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModelTopics$Companion +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModelTopics +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCacheSerializer$PluginAwareEntityTypesResolver +instanceKlass com/intellij/platform/workspace/storage/EntityTypesResolver +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/EntityStorageSerializerImpl +instanceKlass com/intellij/platform/workspace/storage/EntityStorageSerializer +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCacheSerializer$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCacheSerializer +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCacheImpl$Companion +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModelCache$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelInitialTestContent +instanceKlass com/intellij/workspaceModel/ide/impl/EntityTracingLogger$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/EntityTracingLogger +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceMetrics$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceMetricsKt +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelImpl$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleBridgeLoaderService$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleBridgeLoaderService +instanceKlass com/intellij/openapi/project/impl/ProjectServiceContainerInitializedListener +instanceKlass com/intellij/util/io/Base62 +instanceKlass com/intellij/util/io/DigestUtil +instanceKlass com/intellij/util/io/Ksuid +instanceKlass com/intellij/openapi/components/impl/ProjectWidePathMacroContributor +instanceKlass org/jetbrains/jps/util/JpsPathUtil +instanceKlass com/fasterxml/aalto/util/XmlChars +instanceKlass com/fasterxml/aalto/in/CharBasedPNameTable$Bucket +instanceKlass com/intellij/util/io/IoKt +instanceKlass com/intellij/configurationStore/VirtualFileResolver +instanceKlass com/intellij/openapi/externalSystem/configurationStore/ExternalSystemStreamProviderFactory$1 +instanceKlass com/intellij/openapi/project/ModuleListener +instanceKlass com/intellij/openapi/roots/ModuleRootListener +instanceKlass com/intellij/ProjectTopics +instanceKlass com/intellij/openapi/externalSystem/configurationStore/ExternalSystemStreamProviderFactory +instanceKlass com/intellij/configurationStore/StreamProviderFactory$Companion +instanceKlass com/intellij/configurationStore/StreamProviderFactory +instanceKlass com/intellij/configurationStore/ProjectIdManager$Companion +instanceKlass com/intellij/xml/util/XmlStringUtil +instanceKlass org/jdom/output/NamespaceStack +instanceKlass org/jdom/output/Walker +instanceKlass org/jdom/output/AbstractOutputProcessor +instanceKlass org/jdom/output/XMLOutputProcessor +instanceKlass com/intellij/configurationStore/FileBasedStorageKt +instanceKlass com/intellij/lang/javascript/library/download/TypeScriptStubsDownloaderProvider +instanceKlass com/intellij/webcore/libraries/ui/download/AdditionalDownloadableLibraryProvider +instanceKlass com/intellij/psi/impl/search/PsiTodoSearchHelperImpl +instanceKlass com/intellij/psi/search/PsiTodoSearchHelper +instanceKlass com/intellij/packageDependencies/DependenciesToolWindow +instanceKlass org/jetbrains/plugins/notebooks/jupyter/debugger/JupyterDebugSessionManager +instanceKlass com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel +instanceKlass com/intellij/psi/codeStyle/CodeStyleManager +instanceKlass com/intellij/psi/codeStyle/FormattingModeAwareIndentAdjuster +instanceKlass com/intellij/lang/javascript/service/JSEditorService$JSEditorServiceImpl +instanceKlass com/intellij/lang/javascript/service/JSEditorService +instanceKlass com/intellij/indexing/shared/download/IndexDownloadConsentService +instanceKlass com/intellij/xdebugger/impl/ui/attach/dialog/AttachToProcessDialogFactory +instanceKlass com/jetbrains/python/console/PythonConsoleToolWindow +instanceKlass org/jetbrains/idea/perforce/operations/VcsOperationLog +instanceKlass com/intellij/openapi/graph/builder/dnd/ProjectViewDnDHelper +instanceKlass com/intellij/codeInsight/daemon/impl/EditorTracker +instanceKlass com/intellij/execution/RunManager +instanceKlass com/intellij/framework/detection/DetectionExcludesConfiguration +instanceKlass com/intellij/openapi/vcs/VcsConfiguration +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringProviderImpl +instanceKlass com/intellij/refactoring/suggested/SuggestedRefactoringProvider +instanceKlass org/jetbrains/plugins/terminal/TerminalToolWindowManager +instanceKlass com/intellij/xdebugger/impl/evaluate/quick/common/ValueLookupManager +instanceKlass com/intellij/lang/puppet/project/PuppetProjectManager +instanceKlass com/intellij/openapi/vcs/changes/ChangesViewManager +instanceKlass com/intellij/openapi/vcs/changes/ChangesViewEx +instanceKlass com/intellij/openapi/vcs/changes/ChangesViewI +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptConfigServiceImpl +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptConfigService +instanceKlass com/intellij/lang/javascript/config/JSConfigService +instanceKlass com/intellij/platform/ide/navigation/impl/IdeNavigationService +instanceKlass com/intellij/platform/ide/navigation/NavigationService +instanceKlass com/intellij/tasks/impl/TaskProjectConfiguration +instanceKlass com/intellij/vcs/log/history/VcsDirectoryRenamesProvider +instanceKlass com/intellij/platform/lsp/impl/LspServerManagerImpl +instanceKlass com/intellij/platform/lsp/api/LspServerManager +instanceKlass com/intellij/webcore/resourceRoots/WebResourcesPathsConfiguration +instanceKlass com/intellij/psi/util/CachedValuesManager +instanceKlass com/intellij/dvcs/branch/DvcsBranchManager +instanceKlass com/intellij/database/dataSource/srcStorage/backend/DbSrcStorageManager +instanceKlass com/intellij/openapi/externalSystem/importing/GAVStateComponent +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/roots/ModifiableModelCommitterServiceBridge +instanceKlass com/intellij/openapi/roots/impl/ModifiableModelCommitterService +instanceKlass com/jetbrains/python/configuration/PyConfigurableInterpreterList +instanceKlass com/intellij/codeInsight/hints/codeVision/DaemonBoundCodeVisionCacheService +instanceKlass com/intellij/analysis/problemsView/toolWindow/HighlightingErrorsProvider +instanceKlass com/intellij/analysis/problemsView/toolWindow/HighlightingErrorsProviderBase +instanceKlass com/intellij/problems/ProblemListener +instanceKlass org/jetbrains/idea/svn/SvnConfiguration +instanceKlass com/intellij/vcs/log/impl/VcsLogSharedSettings +instanceKlass com/intellij/openapi/vcs/changes/ignore/cache/PatternCache +instanceKlass com/intellij/pom/references/PomService +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptToolWindowProvider +instanceKlass com/intellij/httpClient/http/request/run/HttpRequestHistoryManager +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/execution/JupyterRuntimeServiceImpl +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/execution/JupyterRuntimeService +instanceKlass org/jetbrains/plugins/notebooks/jupyter/variables/PythonJupyterVarsCommandExecutor +instanceKlass com/intellij/analysis/problemsView/toolWindow/ProjectErrorsCollector +instanceKlass com/intellij/analysis/problemsView/ProblemsCollector +instanceKlass com/intellij/analysis/problemsView/ProblemsListener +instanceKlass com/intellij/openapi/roots/impl/PushedFilePropertiesUpdater +instanceKlass com/intellij/ui/ShadowJava2DPainterKt +instanceKlass com/intellij/ui/ShadowJava2DPainter$Companion +instanceKlass com/intellij/xdebugger/memory/component/InstancesTracker +instanceKlass com/intellij/ui/ShadowJava2DPainter +instanceKlass com/intellij/openapi/vcs/impl/VcsDirectoryMappingStorage +instanceKlass com/intellij/openapi/file/exclude/PersistentFileSetManager +instanceKlass com/intellij/tasks/TaskManager +instanceKlass com/intellij/task/ProjectTaskManager +instanceKlass com/intellij/indexing/shared/download/SharedIndexSuggestionService +instanceKlass com/intellij/facet/FacetFinder +instanceKlass com/intellij/plugins/watcher/TaskRunner +instanceKlass com/intellij/openapi/module/AutomaticModuleUnloader +instanceKlass com/intellij/facet/pointers/FacetPointersManager +instanceKlass com/intellij/httpClient/util/json/HttpClientPsiBasedJsonService +instanceKlass com/intellij/httpClient/executor/util/json/HttpClientJsonService +instanceKlass com/jetbrains/plugins/webDeployment/config/WebServersAuthStorage +instanceKlass com/intellij/semantic/SemService +instanceKlass com/intellij/openapi/externalSystem/autoimport/AutoImportProjectTracker +instanceKlass com/intellij/openapi/externalSystem/autoimport/ExternalSystemProjectTracker +instanceKlass com/jetbrains/rdserver/portForwarding/PerProjectPortForwardingPersistentManager +instanceKlass com/intellij/lang/javascript/settings/JSRootConfiguration +instanceKlass org/jetbrains/idea/svn/history/LoadedRevisionsCache +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptCompilerSettingsTracker +instanceKlass git4idea/stash/GitStashCache +instanceKlass com/intellij/lang/javascript/flow/FlowJSSettingsManager +instanceKlass org/jetbrains/idea/perforce/application/PerforceNumberNameSynchronizer +instanceKlass com/jetbrains/python/debugger/containerview/PyDataView +instanceKlass com/intellij/internal/statistic/local/LanguageUsageStatisticsProvider +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsManagerImpl +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsManager +instanceKlass com/intellij/lang/puppet/settings/PuppetProjectConfiguration +instanceKlass com/jetbrains/rdserver/followMe/BackendUserOperations +instanceKlass com/intellij/lang/documentation/ide/impl/DocumentationPopupFocusService +instanceKlass com/intellij/codeHighlighting/TextEditorHighlightingPassRegistrar +instanceKlass com/intellij/vcs/log/history/VcsLogFileHistoryProviderImpl +instanceKlass com/intellij/vcs/log/VcsLogFileHistoryProvider +instanceKlass com/intellij/psi/impl/PsiParserFacadeImpl +instanceKlass com/intellij/psi/PsiParserFacade +instanceKlass com/intellij/openapi/vcs/impl/DefaultVcsRootPolicy +instanceKlass com/jetbrains/jsonSchema/impl/JsonSchemaServiceImpl +instanceKlass com/jetbrains/jsonSchema/ide/JsonSchemaService +instanceKlass com/intellij/remoteServer/runtime/ui/RemoteServersView +instanceKlass com/intellij/database/console/client/SessionClientHolder +instanceKlass com/intellij/openapi/vcs/changes/VcsAnnotationLocalChangesListenerImpl +instanceKlass com/intellij/openapi/vcs/changes/VcsAnnotationLocalChangesListener +instanceKlass com/intellij/execution/testframework/sm/TestHistoryConfiguration +instanceKlass com/intellij/openapi/project/DumbUtilImpl +instanceKlass com/intellij/openapi/project/DumbUtil +instanceKlass com/intellij/profile/codeInspection/InspectionProjectProfileManager +instanceKlass com/intellij/profile/codeInspection/InspectionProfileManager +instanceKlass com/intellij/profile/codeInspection/ProjectBasedInspectionProfileManager +instanceKlass com/intellij/openapi/vcs/changes/actions/diff/CombinedChangeDiffComponentFactoryProvider +instanceKlass com/intellij/diff/tools/combined/CombinedDiffComponentFactoryProvider +instanceKlass com/jetbrains/rdserver/x/J +instanceKlass com/intellij/facet/ProjectWideFacetListenersRegistry +instanceKlass com/intellij/lang/properties/PropertiesReferenceManager +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/module/ModuleDependencyIndexImpl +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/ModuleDependencyIndex +instanceKlass com/intellij/util/indexing/roots/IndexableFilesIndexImpl +instanceKlass com/intellij/util/indexing/IndexableFilesIndex +instanceKlass com/intellij/lang/javascript/buildTools/bundler/WebBundlerConfigCache +instanceKlass com/intellij/util/indexing/dependenciesCache/DependenciesIndexedStatusService +instanceKlass com/intellij/completion/ml/common/CurrentProjectInfo +instanceKlass com/intellij/ui/FileColorManager +instanceKlass com/jetbrains/python/console/PyConsoleOptions +instanceKlass com/intellij/facet/impl/FacetEventsPublisher +instanceKlass com/intellij/psi/impl/PsiCachedValuesFactory +instanceKlass com/intellij/util/CachedValuesFactory +instanceKlass com/intellij/lang/javascript/findUsages/JavaScriptFindUsagesConfiguration +instanceKlass com/intellij/ide/structureView/StructureViewFactory +instanceKlass com/intellij/workspaceModel/ide/impl/EntitiesOrphanageImpl +instanceKlass com/intellij/workspaceModel/ide/EntitiesOrphanage +instanceKlass com/intellij/codeInsight/folding/CodeFoldingManager +instanceKlass com/intellij/ide/actions/runAnything/RunAnythingContextRecentDirectoryCache +instanceKlass com/intellij/refactoring/RefactoringFactory +instanceKlass com/intellij/openapi/vcs/contentAnnotation/VcsContentAnnotationImpl +instanceKlass com/intellij/openapi/vcs/contentAnnotation/VcsContentAnnotation +instanceKlass com/intellij/ide/projectView/ProjectView +instanceKlass com/intellij/ide/todo/nodes/TodoTreeHelper +instanceKlass org/editorconfig/language/services/impl/EditorConfigElementFactoryImpl +instanceKlass org/editorconfig/language/services/EditorConfigElementFactory +instanceKlass org/editorconfig/configmanagement/editor/EditorConfigPreviewManager +instanceKlass com/intellij/execution/RunConfigurationProducerService +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/execution/JupyterCellExecutionManager +instanceKlass com/intellij/openapi/externalSystem/autolink/UnlinkedProjectNotificationAware +instanceKlass org/jetbrains/plugins/notebooks/tables/panel/DSTableContentManager +instanceKlass com/intellij/usages/UsageViewManager +instanceKlass com/jetbrains/plugins/reactnative/ReactNativePackagerConfiguration +instanceKlass com/intellij/openapi/project/ExternalStorageConfigurationManager +instanceKlass com/jetbrains/python/black/configuration/BlackFormatterConfiguration +instanceKlass com/jetbrains/nodejs/run/profile/heap/view/components/V8HeapComponent +instanceKlass com/intellij/psi/css/browse/BrowseCssStylesManager +instanceKlass com/intellij/ui/content/ContentManagerListener +instanceKlass com/intellij/database/dataSource/DatabaseOutdatedCheckBuffer +instanceKlass com/jetbrains/plugins/remotesdk/target/ssh/target/SshTempTargetPathsServiceImpl +instanceKlass com/jetbrains/plugins/remotesdk/target/ssh/target/SshTempTargetPathsService +instanceKlass com/jetbrains/rdserver/followMe/FollowMeManager +instanceKlass com/intellij/openapi/vcs/roots/VcsRootDetectorImpl +instanceKlass com/intellij/openapi/vcs/roots/VcsRootDetector +instanceKlass com/intellij/psi/impl/file/PsiDirectoryFactory +instanceKlass com/intellij/completion/ml/ngram/NGramModelRunnerManager +instanceKlass org/jetbrains/idea/perforce/application/LastSuccessfulUpdateTracker +instanceKlass git4idea/fetch/GitFetchSupportImpl +instanceKlass git4idea/fetch/GitFetchSupport +instanceKlass com/intellij/ide/actions/runAnything/RunAnythingCache +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/completion/JupyterPathFolderNameRetrievalServiceImpl +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/completion/JupyterPathFolderNameRetrievalService +instanceKlass com/intellij/psi/impl/cache/impl/IndexCacheManagerImpl +instanceKlass com/intellij/psi/impl/cache/CacheManager +instanceKlass org/intellij/images/search/ImageTagManager +instanceKlass com/jetbrains/nodejs/remote/NodePathMappingsFetcher +instanceKlass com/jetbrains/django/lang/template/DjangoWebUrlEvaluator +instanceKlass com/intellij/build/BuildContentManagerImpl +instanceKlass com/intellij/build/BuildContentManager +instanceKlass com/intellij/usageView/UsageViewContentManager +instanceKlass com/intellij/openapi/vfs/ReadonlyStatusHandler +instanceKlass com/intellij/coverage/CoverageOptionsProvider +instanceKlass com/jetbrains/rd/ui/bindable/BeActionSupport +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcChangesTracker +instanceKlass com/intellij/ssh/config/unified/SshConfigManagerImpl +instanceKlass com/intellij/ssh/config/unified/SshConfigManager +instanceKlass com/intellij/qt/common/settings/QtSettings +instanceKlass com/jetbrains/nodejs/codeInsight/NodeRunConfigurationNodePathProviderImpl +instanceKlass com/intellij/javascript/nodejs/reference/NodePathManager$NodeRunConfigurationNodePathProvider +instanceKlass com/intellij/pom/tree/TreeAspect +instanceKlass com/intellij/pom/PomModelAspect +instanceKlass com/intellij/openapi/externalSystem/service/project/ExternalProjectsWorkspaceImpl +instanceKlass com/jetbrains/plugins/webDeployment/conflicts/RemoteChangeNotifier +instanceKlass com/intellij/javascript/nodejs/library/yarn/pnp/YarnPnpManager +instanceKlass com/intellij/execution/ui/RunnerLayoutUi$Factory +instanceKlass com/jetbrains/rd/platform/codeWithMe/SessionInfoProvider +instanceKlass com/intellij/openapi/vcs/changes/ignore/cache/IgnorePatternsMatchedFilesCache +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolbar/CWMPluginDisposableService +instanceKlass org/jetbrains/plugins/github/util/GithubProjectSettings +instanceKlass com/intellij/httpClient/http/request/cookies/HttpRequestCookiesStorage +instanceKlass com/intellij/externalDependencies/ExternalDependenciesManager +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerStateImpl +instanceKlass com/intellij/openapi/wm/impl/ToolWindowManagerState +instanceKlass com/intellij/javascript/nodejs/packageJson/notification/PackageJsonUpdateNotifier +instanceKlass com/intellij/ui/RecentsManager +instanceKlass com/intellij/psi/impl/include/FileIncludeManager +instanceKlass com/jetbrains/rd/platform/codeWithMe/control/following/CodeWithMeEditorMarkService +instanceKlass com/intellij/openapi/roots/ui/configuration/SdkLookupProviders +instanceKlass com/jetbrains/python/packaging/PyPackagingSettings +instanceKlass org/jetbrains/qodana/run/QodanaRunInIdeServiceImpl +instanceKlass org/jetbrains/qodana/run/QodanaRunInIdeService +instanceKlass com/jetbrains/lang/makefile/MakefileProjectSettings +instanceKlass com/intellij/codeInsight/daemon/impl/analysis/HighlightingLevelManager +instanceKlass com/intellij/javascript/testing/JSTestFailedLineManager +instanceKlass com/intellij/codeStyle/CodeStyleFacade +instanceKlass com/intellij/profiler/api/ProfilerDumpManager +instanceKlass com/intellij/execution/ExecutionTargetManager +instanceKlass org/jetbrains/plugins/github/util/GithubSharedProjectSettings +instanceKlass com/intellij/codeInsight/template/TemplateManager +instanceKlass com/intellij/codeInsight/AutoPopupController +instanceKlass com/intellij/copyright/CopyrightManager +instanceKlass org/jetbrains/plugins/notebooks/jupyter/variables/inline/JupyterInlineService +instanceKlass org/intellij/images/thumbnail/ThumbnailManager +instanceKlass org/zmlx/hg4idea/provider/update/HgUpdateConfigurationSettings +instanceKlass com/intellij/lang/javascript/frameworks/jsx/JSXAttributeCustomMapping +instanceKlass com/jetbrains/plugins/vagrant/VagrantManager +instanceKlass com/intellij/lang/qml/settings/QmlSettings +instanceKlass com/intellij/lang/javascript/bower/BowerSettingsManager +instanceKlass com/intellij/openapi/externalSystem/autoimport/AutoImportProjectTrackerSettings +instanceKlass com/intellij/openapi/externalSystem/autoimport/ExternalSystemProjectTrackerSettings +instanceKlass com/intellij/codeInsight/daemon/impl/DaemonListeners +instanceKlass com/jetbrains/rdserver/projectView/BackendProjectViewSync +instanceKlass com/intellij/execution/dashboard/RunDashboardManagerImpl +instanceKlass com/intellij/execution/dashboard/RunDashboardManager +instanceKlass com/intellij/docker/deployment/DockerRunConfigurationManager +instanceKlass org/jetbrains/idea/perforce/perforce/connections/P4EnvHelper +instanceKlass com/intellij/javascript/nodejs/library/node_modules/NodeModulesPackageJsonListener +instanceKlass com/intellij/openapi/roots/DefaultSingleFileSourcesTracker +instanceKlass com/intellij/openapi/roots/SingleFileSourcesTracker +instanceKlass com/intellij/openapi/roots/impl/LibraryScopeCache +instanceKlass com/intellij/ui/docking/DockManager +instanceKlass com/intellij/lang/javascript/buildTools/bundler/WebBundlerConfigManager +instanceKlass com/intellij/lang/typescript/resolve/TypeScriptCompilerEvaluationFacade$DummyImpl +instanceKlass com/intellij/lang/typescript/resolve/TypeScriptCompilerEvaluationFacade +instanceKlass com/intellij/build/BuildViewProblemsService +instanceKlass com/intellij/analysis/problemsView/ProblemsProvider +instanceKlass com/intellij/lang/javascript/modules/remote/JSRemoteModulesDownloader +instanceKlass org/angularjs/diagram/AngularUiRouterProviderContext +instanceKlass com/intellij/analysis/AnalysisUIOptions +instanceKlass com/intellij/lang/javascript/settings/JSCodeStyleSymbolPresentationProvider +instanceKlass com/intellij/lang/javascript/settings/JSSymbolPresentationProvider +instanceKlass com/intellij/ide/tags/TagManager +instanceKlass com/intellij/openapi/fileEditor/ex/IdeDocumentHistory +instanceKlass git4idea/branch/GitBrancherImpl +instanceKlass git4idea/branch/GitBrancher +instanceKlass com/intellij/lang/puppet/project/roots/PuppetDirectoryIndex +instanceKlass com/intellij/javascript/nodejs/packageJson/PackageJsonFileManager +instanceKlass com/intellij/workspaceModel/ide/impl/JpsProjectLoadingManagerImpl +instanceKlass com/intellij/workspaceModel/ide/JpsProjectLoadingManager +instanceKlass com/jetbrains/python/debugger/PySignatureCacheManager +instanceKlass com/intellij/psi/impl/source/resolve/ResolveCache +instanceKlass com/jetbrains/python/scientific/console/PyConsoleRuntimeEnvService +instanceKlass com/intellij/indexing/shared/ultimate/project/DefaultProjectSpecificWaitForSharedIndexesSettingImpl +instanceKlass com/intellij/indexing/shared/download/DefaultProjectSpecificWaitForSharedIndexesSetting +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesFileNameDecorator +instanceKlass com/intellij/openapi/vcs/changes/RemoteRevisionsCache +instanceKlass com/intellij/openapi/vcs/VcsListener +instanceKlass com/intellij/openapi/vcs/PluginVcsMappingListener +instanceKlass com/intellij/openapi/vcs/VcsMappingListener +instanceKlass com/intellij/lang/javascript/flow/FlowJSServerManager +instanceKlass org/jetbrains/idea/svn/SvnFileUrlMappingImpl +instanceKlass org/jetbrains/idea/svn/SvnFileUrlMapping +instanceKlass com/intellij/openapi/vcs/AbstractVcs$RootsConvertor +instanceKlass com/intellij/database/actions/DumpToDdlDataSourceFileManager +instanceKlass com/intellij/openapi/vcs/changes/EditorTabDiffPreviewManager +instanceKlass com/intellij/diff/editor/DiffEditorTabFilesManager +instanceKlass com/intellij/openapi/vcs/changes/ignore/IgnoredFileGeneratorImpl +instanceKlass com/intellij/openapi/vcs/changes/IgnoredFileGenerator +instanceKlass com/intellij/formatting/service/FormattingUiNotificationService +instanceKlass com/intellij/formatting/service/FormattingNotificationService +instanceKlass com/intellij/javascript/nodejs/packageJson/PackageJsonDependenciesExternalUpdateManager +instanceKlass com/intellij/ide/bookmark/actions/NextBookmarkService +instanceKlass com/intellij/ide/bookmark/BookmarksListener +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/completion/DsRuntimeCompletionRetrievalService +instanceKlass com/intellij/lang/javascript/flow/FlowJSConfigServiceImpl +instanceKlass com/intellij/lang/javascript/flow/flowconfig/FlowJSConfigService +instanceKlass org/jetbrains/plugins/gitlab/GitLabProjectsManagerImpl +instanceKlass org/jetbrains/plugins/gitlab/GitLabProjectsManager +instanceKlass com/intellij/slicer/SliceManager +instanceKlass com/intellij/ide/projectView/impl/ProjectViewState +instanceKlass com/intellij/openapi/roots/impl/FileIndexBase +instanceKlass com/intellij/openapi/roots/ProjectFileIndex +instanceKlass com/intellij/openapi/roots/FileIndex +instanceKlass com/intellij/remote/RemoteMappingsManager +instanceKlass com/intellij/usages/rules/SingleParentUsageGroupingRule +instanceKlass com/intellij/usages/rules/UsageGroupingRuleEx +instanceKlass com/intellij/usages/rules/UsageGroupingRule +instanceKlass com/jetbrains/python/codeInsight/typing/PyStubPackagesInstallingStatus +instanceKlass com/jetbrains/python/debugger/PyConcurrencyService +instanceKlass com/jetbrains/python/inspections/PyCompatibilityInspectionAdvertiserSettings +instanceKlass com/intellij/ide/actions/runAnything/RunAnythingManager +instanceKlass com/intellij/lang/javascript/library/download/TypeScriptRelatedPackagesStorage +instanceKlass com/intellij/codeInsight/codeVision/ui/CodeVisionView +instanceKlass com/intellij/find/FindManager +instanceKlass com/intellij/ide/bookmarks/BookmarkManager +instanceKlass com/intellij/webSymbols/query/impl/WebSymbolsQueryExecutorFactoryImpl +instanceKlass com/intellij/webSymbols/query/WebSymbolsQueryExecutorFactory +instanceKlass org/jetbrains/plugins/notebooks/jupyter/variables/JupyterVarsCommandExecutor +instanceKlass com/intellij/sql/database/SqlDataSourceStorage +instanceKlass com/intellij/ide/projectView/impl/nodes/ProjectViewDirectoryHelper +instanceKlass com/intellij/openapi/vcs/changes/ChangeListManager +instanceKlass com/intellij/openapi/vcs/changes/ChangeListModification +instanceKlass com/intellij/sql/dialects/SqlDataSourceMappings +instanceKlass com/intellij/codeInsight/actions/AsyncActionExecutionService +instanceKlass org/zmlx/hg4idea/HgProjectSettings +instanceKlass com/intellij/ide/bookmark/BookmarksListProviderService +instanceKlass com/intellij/database/datagrid/GridDataHookUpManager +instanceKlass com/intellij/javascript/nodejs/env/NodeEnvironmentVariablesProvider +instanceKlass com/intellij/vcs/log/impl/VcsLogObjectsFactoryImpl +instanceKlass com/intellij/vcs/log/VcsLogObjectsFactory +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManager +instanceKlass com/intellij/openapi/vcs/impl/LineStatusTrackerManagerI +instanceKlass com/intellij/openapi/roots/ProjectRootModificationTracker +instanceKlass com/intellij/openapi/vcs/changes/ignore/IgnoredFileGeneratorImpl$IgnoredFileRootStore +instanceKlass com/intellij/diagram/DiagramActionsManager +instanceKlass com/intellij/openapi/vcs/impl/ElementStatusTrackerImpl +instanceKlass com/intellij/openapi/vcs/ElementStatusTracker +instanceKlass com/intellij/psi/impl/PsiModificationTrackerImpl +instanceKlass com/intellij/psi/impl/PsiTreeChangePreprocessor +instanceKlass com/intellij/psi/util/PsiModificationTracker +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/completion/JupyterRuntimeEnvService +instanceKlass com/jetbrains/python/debugger/state/PyRuntime +instanceKlass com/intellij/task/impl/ExecutionEnvironmentProviderImpl +instanceKlass com/intellij/execution/runners/ExecutionEnvironmentProvider +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/library/ProjectLibraryTableBridgeImpl +instanceKlass com/intellij/workspaceModel/ide/legacyBridge/ProjectLibraryTableBridge +instanceKlass com/intellij/openapi/roots/impl/libraries/ProjectLibraryTable +instanceKlass com/intellij/openapi/roots/libraries/LibraryTable +instanceKlass com/intellij/openapi/vcs/contentAnnotation/VcsContentAnnotationSettings +instanceKlass com/intellij/tools/ToolsProjectConfig +instanceKlass org/editorconfig/language/services/EditorConfigFileHierarchyService +instanceKlass com/intellij/diagnostic/logging/LogFilterRegistrar +instanceKlass com/jetbrains/plugins/reactnative/ReactNativePackager +instanceKlass git4idea/config/GitMergeSettings +instanceKlass com/intellij/lang/injection/InjectedLanguageManager +instanceKlass com/intellij/lang/ecmascript6/resolve/JSFileReferenceCache +instanceKlass com/intellij/ide/util/FileStructureLoadingStateUpdaterImpl +instanceKlass com/intellij/ide/util/FileStructurePopupLoadingStateUpdater +instanceKlass com/jetbrains/python/sdk/poetry/PoetryConfigService +instanceKlass com/intellij/build/BuildWorkspaceConfigurationImpl +instanceKlass com/intellij/build/BuildWorkspaceConfiguration +instanceKlass com/intellij/util/xml/DomElementsNavigationManager +instanceKlass com/intellij/lang/typescript/settings/exclude/TypeScriptExcludeManager +instanceKlass com/intellij/openapi/vcs/VcsFileListenerContextHelperImpl +instanceKlass com/intellij/openapi/vcs/VcsFileListenerContextHelper +instanceKlass com/intellij/psi/impl/ResolveScopeManager +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserServiceImpl +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserService +instanceKlass com/intellij/slicer/SliceToolwindowSettings +instanceKlass com/jetbrains/rdserver/unattendedHost/FilesReopeningService +instanceKlass com/intellij/openapi/module/ProjectLoadingErrorsNotifier +instanceKlass com/jetbrains/jsonSchema/JsonSchemaMappingsProjectConfiguration +instanceKlass com/jetbrains/rdserver/terminal/BackendTerminalManager +instanceKlass com/intellij/dvcs/push/PushSettings +instanceKlass com/intellij/openapi/project/ProjectReloadState +instanceKlass com/jetbrains/django/lang/template/DjangoTemplateElementGenerator +instanceKlass org/jetbrains/plugins/notebooks/jupyter/ui/remote/JupyterRemoteNodeReloadServiceImpl +instanceKlass org/jetbrains/plugins/notebooks/jupyter/ui/remote/JupyterRemoteNodeReloadService +instanceKlass com/intellij/remoteServer/configuration/deployment/DeploymentConfigurationManager +instanceKlass com/intellij/find/replaceInProject/ReplaceInProjectManager +instanceKlass com/intellij/execution/target/TargetEnvironmentsManager +instanceKlass com/intellij/openapi/fileEditor/FileEditorManager +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelCacheImpl +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModelCache +instanceKlass com/intellij/ide/ui/experimental/toolbar/RunWidgetAvailabilityManager +instanceKlass com/intellij/openapi/vcs/ProjectLevelVcsManager +instanceKlass com/intellij/httpClient/http/request/ide/HttpClientFileVariableStorageImpl +instanceKlass com/intellij/httpClient/http/request/variables/HttpClientFileVariableStorage +instanceKlass com/intellij/execution/ui/RunContentManagerImpl +instanceKlass com/intellij/execution/ui/RunContentManager +instanceKlass com/intellij/ui/EditorNotifications +instanceKlass com/intellij/moduleDependencies/DependenciesAnalyzeManager +instanceKlass com/maddyhome/idea/copyright/actions/UpdateCopyrightCheckinHandlerState +instanceKlass com/intellij/openapi/vcs/CodeSmellDetector +instanceKlass com/intellij/toolWindow/ToolWindowStripeManagerImpl +instanceKlass com/intellij/toolWindow/ToolWindowStripeManager +instanceKlass com/intellij/vcs/log/statistics/VcsLogIndexCollector +instanceKlass com/intellij/javascript/karma/server/KarmaServerRegistry +instanceKlass com/jetbrains/plugins/webDeployment/config/PublishConfig +instanceKlass com/intellij/psi/impl/search/PsiSearchHelperImpl +instanceKlass com/intellij/psi/search/PsiSearchHelper +instanceKlass com/intellij/execution/EmptyAdditionalRunningOptions +instanceKlass com/intellij/execution/AdditionalRunningOptions +instanceKlass com/jetbrains/flask/console/FlaskConsoleOptions +instanceKlass org/jetbrains/plugins/notebooks/jupyter/server/JupyterServerServiceImpl +instanceKlass org/jetbrains/plugins/notebooks/jupyter/server/JupyterServerService +instanceKlass com/intellij/prettierjs/PrettierConfiguration +instanceKlass com/intellij/lang/javascript/linter/JSNpmLinterState +instanceKlass com/intellij/lang/javascript/linter/JSLinterState +instanceKlass com/intellij/xdebugger/impl/XDebuggerHistoryManager +instanceKlass com/intellij/execution/configurations/RunConfigurationVcsSupport +instanceKlass git4idea/actions/GitQuickActionsToolbarService +instanceKlass com/jetbrains/plugins/webDeployment/config/WebServersConfigManagerBaseImpl +instanceKlass org/jetbrains/idea/perforce/perforce/PerforceSettings +instanceKlass org/jetbrains/idea/perforce/perforce/PerforcePhysicalConnectionParametersI +instanceKlass git4idea/index/vfs/GitIndexFileSystemRefresher +instanceKlass git4idea/config/GitPullSettings +instanceKlass org/jetbrains/plugins/notebooks/jupyter/JupyterInlayProgressStatusManagerImpl +instanceKlass org/jetbrains/plugins/notebooks/jupyter/JupyterInlayProgressStatusManager +instanceKlass com/jetbrains/clones/toolwindow/DuplicateViewManager +instanceKlass com/intellij/psi/codeStyle/CodeStyleSettingsManager +instanceKlass com/intellij/ide/todo/TodoViewChangesSupport +instanceKlass com/intellij/openapi/diff/DirDiffManager +instanceKlass com/intellij/psi/search/scope/packageSet/NamedScopesHolder +instanceKlass com/intellij/application/options/codeStyle/cache/CodeStyleCachingServiceImpl +instanceKlass com/intellij/application/options/codeStyle/cache/CodeStyleCachingService +instanceKlass com/jetbrains/rd/platform/codeWithMe/editors/GuestNavigationService +instanceKlass com/intellij/httpClient/http/request/environment/secrets/HttpRequestEnvironmentPasswordSafeSecretsManager +instanceKlass com/intellij/httpClient/http/request/environment/secrets/HttpRequestEnvironmentSecretsManager +instanceKlass com/intellij/ide/GeneratedSourceFileChangeTracker +instanceKlass com/intellij/vcs/log/data/VcsUserRegistryImpl +instanceKlass com/intellij/vcs/log/VcsUserRegistry +instanceKlass com/intellij/openapi/ui/MasterDetailsStateService +instanceKlass com/intellij/collaboration/auth/PersistentDefaultAccountHolder +instanceKlass com/intellij/collaboration/auth/DefaultAccountHolder +instanceKlass com/intellij/find/impl/FindInProjectSettingsBase +instanceKlass com/intellij/find/FindInProjectSettings +instanceKlass com/intellij/ide/fileTemplates/FileTemplateManager +instanceKlass com/intellij/execution/TestStateStorage +instanceKlass com/intellij/psi/css/CssElementFactory +instanceKlass com/intellij/lang/javascript/linter/LinterUnsavedConfigFileManager +instanceKlass com/jetbrains/django/model/TagLibrary +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexImpl +instanceKlass com/intellij/openapi/Disposable$Default +instanceKlass com/intellij/workspaceModel/core/fileIndex/impl/WorkspaceFileIndexEx +instanceKlass com/intellij/workspaceModel/core/fileIndex/WorkspaceFileIndex +instanceKlass com/intellij/psi/XmlElementFactory +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionProvidersWatcher +instanceKlass com/intellij/openapi/startup/StartupManager +instanceKlass com/jetbrains/rd/ui/bindable/ViewRegistry +instanceKlass com/intellij/profiler/api/ProfileHistoryConfiguration +instanceKlass com/intellij/ide/bookmark/BookmarksManagerImpl +instanceKlass com/intellij/ide/bookmark/BookmarksManager +instanceKlass org/jetbrains/idea/svn/mergeinfo/SvnMergeInfoCache +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightingPassesCacheImpl +instanceKlass com/intellij/codeInsight/daemon/HighlightingPassesCache +instanceKlass com/intellij/ide/util/gotoByName/ChooseByNameFilterConfiguration +instanceKlass com/intellij/ide/util/TypeVisibilityStateHolder +instanceKlass com/intellij/openapi/graph/builder/GraphEditModeFactory +instanceKlass com/intellij/styledComponents/CustomInjectionsConfiguration +instanceKlass com/intellij/lang/javascript/buildTools/base/JsbtTreeLayoutManager +instanceKlass com/intellij/codeInsight/daemon/DaemonCodeAnalyzer +instanceKlass com/intellij/sql/SqlGeneralExecutionFlowAnalyzer +instanceKlass com/intellij/sql/psi/ExecutionFlowAnalyzer +instanceKlass com/intellij/openapi/module/impl/UnloadedModulesListStorage +instanceKlass com/jetbrains/rdserver/toolbar/CWMHostClosedToolbarNotification +instanceKlass com/intellij/lang/properties/ResourceBundleManager +instanceKlass com/jetbrains/python/debugger/PyDebugValueExecutionService +instanceKlass com/intellij/openapi/editor/LazyRangeMarkerFactory +instanceKlass com/intellij/lang/typescript/library/TypeScriptLibraryProviderImpl +instanceKlass com/intellij/lang/typescript/library/TypeScriptLibraryProvider +instanceKlass com/intellij/analysis/problemsView/toolWindow/ProblemsViewIconUpdater +instanceKlass com/intellij/spellchecker/state/ProjectDictionaryState +instanceKlass git4idea/index/GitStageTracker +instanceKlass com/jetbrains/python/sdk/PyVirtualEnvTerminalSettings +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionContextProvider +instanceKlass com/intellij/ui/content/impl/MessageViewImpl +instanceKlass com/intellij/ui/content/MessageView +instanceKlass com/intellij/codeInsight/lookup/LookupManager +instanceKlass com/intellij/lang/javascript/service/JSAsyncLanguageServiceBase +instanceKlass com/intellij/lang/javascript/linter/LinterLanguageServiceClient +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptService +instanceKlass com/intellij/lang/javascript/service/JSLanguageService +instanceKlass com/intellij/lang/documentation/ide/impl/IdeDocumentationTargetProviderImpl +instanceKlass com/intellij/lang/documentation/ide/IdeDocumentationTargetProvider +instanceKlass com/intellij/psi/text/BlockSupport +instanceKlass com/intellij/internal/statistic/local/FileTypeUsageSummaryProvider +instanceKlass com/intellij/plugins/watcher/model/TasksPersistentComponent +instanceKlass com/intellij/openapi/vcs/impl/ActiveChangeListTrackerImpl +instanceKlass com/intellij/openapi/vcs/impl/ActiveChangeListTracker +instanceKlass com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager +instanceKlass com/intellij/xdebugger/impl/breakpoints/ui/BreakpointsDialogFactory +instanceKlass org/jetbrains/idea/perforce/perforce/connections/PerforceConnectionManager +instanceKlass org/jetbrains/idea/perforce/perforce/connections/PerforceConnectionManagerI +instanceKlass com/intellij/openapi/vcs/changes/VcsDirtyScopeManager +instanceKlass com/intellij/pom/PomModel +instanceKlass com/jetbrains/plugins/webDeployment/AutoUploadComponent +instanceKlass com/intellij/lang/javascript/linter/JSLinterEditorNotifications +instanceKlass com/jetbrains/performancePlugin/ProjectInitializationDiagnosticServiceImpl +instanceKlass com/intellij/internal/performanceTests/ProjectInitializationDiagnosticService +instanceKlass com/intellij/lang/javascript/psi/types/JSTypeComparingContextService +instanceKlass com/intellij/execution/services/ServiceViewManagerImpl +instanceKlass com/intellij/execution/services/ServiceViewManager +instanceKlass com/jetbrains/python/scientific/completion/PyConsoleRuntimeCompletionRetrievalService +instanceKlass com/jetbrains/python/codeInsight/completion/PyRuntimeCompletionRetrievalService +instanceKlass com/intellij/database/dataSource/DataSourceModelStorageImpl +instanceKlass com/intellij/database/dataSource/DataSourceModelStorage +instanceKlass com/intellij/externalSystem/DependencyModifierService +instanceKlass com/intellij/javascript/nodejs/npm/registry/CustomNpmRegistryService +instanceKlass com/intellij/javascript/nodejs/execution/NodeRunConfigurationAccessor +instanceKlass org/angular2/refactoring/extractComponent/Angular2CliComponentGeneratorImpl +instanceKlass org/angular2/refactoring/extractComponent/Angular2CliComponentGenerator +instanceKlass com/intellij/openapi/vcs/changes/VcsIgnoreManagerImpl +instanceKlass com/intellij/openapi/vcs/changes/VcsIgnoreManager +instanceKlass com/jetbrains/python/psi/types/TypeEvalContextCacheImpl +instanceKlass com/jetbrains/python/psi/types/TypeEvalContextCache +instanceKlass com/jetbrains/plugins/webDeployment/config/GroupedServersConfigManagerImpl +instanceKlass com/jetbrains/plugins/webDeployment/config/GroupedServersConfigManager +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesViewContentManager +instanceKlass com/intellij/openapi/vcs/changes/ui/ChangesViewContentI +instanceKlass com/intellij/structuralsearch/plugin/ui/ConfigurationManager +instanceKlass com/intellij/openapi/vcs/AbstractVcsHelper +instanceKlass com/intellij/structuralsearch/plugin/ui/ConfigurationManager$AbstractConfigurationManagerState +instanceKlass git4idea/config/GitSharedSettings +instanceKlass com/intellij/psi/SmartPointerManager +instanceKlass com/intellij/ide/util/TreeFileChooserFactory +instanceKlass com/intellij/lang/typescript/compiler/TypeScriptCompilerSettings +instanceKlass java/beans/JavaBean +instanceKlass com/intellij/psi/impl/cache/impl/IndexTodoCacheManagerImpl +instanceKlass com/intellij/psi/impl/cache/TodoCacheManager +instanceKlass com/intellij/psi/search/ProjectScopeBuilder +instanceKlass com/intellij/lang/javascript/config/graph/JSConfigGraphCache +instanceKlass com/intellij/lang/javascript/dialects/JSLanguageLevelApplicableRootsCache +instanceKlass com/jetbrains/python/coverage/PyCoverageOptionsProvider +instanceKlass git4idea/index/ui/GitStageUiSettings +instanceKlass com/intellij/tasks/timeTracking/TimeTrackingManager +instanceKlass com/intellij/coverage/CoverageDataManager +instanceKlass com/intellij/codeInsight/daemon/impl/ErrorStripeUpdateManager +instanceKlass com/intellij/lang/typescript/psi/TypeScriptDeclarationMappingsImpl +instanceKlass com/intellij/lang/typescript/psi/TypeScriptDeclarationMappings +instanceKlass com/intellij/psi/PsiDocumentManager +instanceKlass com/intellij/presentation/impl/FilePresentationServiceImpl +instanceKlass com/intellij/presentation/FilePresentationService +instanceKlass com/intellij/openapi/vcs/impl/VcsPathPresenter +instanceKlass com/intellij/ide/actions/DirectoryPathMatcherService +instanceKlass com/intellij/vcs/console/VcsConsoleTabServiceImpl +instanceKlass com/intellij/vcs/console/VcsConsoleTabService +instanceKlass com/jetbrains/rd/platform/codeWithMe/ThreadSafeIdHolder +instanceKlass com/intellij/codeInsight/codeVision/CodeVisionInitializer +instanceKlass com/intellij/coverage/view/CoverageViewManager +instanceKlass com/intellij/openapi/project/BaseProjectDirectories +instanceKlass com/intellij/openapi/graph/builder/GraphBuilderFactory +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptConfigLibraryUpdater +instanceKlass com/jetbrains/rdserver/N/d +instanceKlass com/intellij/xdebugger/XDebuggerManager +instanceKlass com/intellij/openapi/keymap/impl/WeakKeymapManagerListener +instanceKlass com/intellij/codeInsight/daemon/impl/UnresolvedReferenceQuickFixUpdaterImpl +instanceKlass com/intellij/codeInsight/quickfix/UnresolvedReferenceQuickFixUpdater +instanceKlass com/intellij/util/concurrency/QueueProcessor +instanceKlass org/jetbrains/plugins/notebooks/jupyter/variables/common/JupyterVarsToolWindowManager +instanceKlass com/intellij/codeInsight/daemon/impl/IntentionsUI +instanceKlass com/intellij/openapi/externalSystem/autoimport/AutoImportProjectNotificationAware +instanceKlass com/intellij/openapi/externalSystem/autoimport/ExternalSystemProjectNotificationAware +instanceKlass com/jetbrains/plugins/webDeployment/DeploymentRevisionTrackerBase +instanceKlass com/jetbrains/plugins/webDeployment/DeploymentRevisionTracker +instanceKlass com/intellij/psi/PsiFileFactory +instanceKlass com/intellij/profile/ProfileEx +instanceKlass com/intellij/codeInspection/InspectionProfile +instanceKlass com/intellij/util/ui/Animator$1 +instanceKlass com/intellij/configurationScript/ConfigurationFileManager +instanceKlass com/intellij/facet/impl/invalid/InvalidFacetManager +instanceKlass com/jetbrains/python/debugger/PyDebuggerOptionsProvider +instanceKlass com/intellij/build/AbstractViewManager +instanceKlass com/intellij/build/BuildProgressObservable +instanceKlass com/intellij/build/BuildProgressListener +instanceKlass com/intellij/build/ViewManager +instanceKlass com/intellij/openapi/vcs/VcsNotifier +instanceKlass com/jetbrains/rd/ui/bindable/UILogManager +instanceKlass com/intellij/ide/fileTemplates/impl/FileTemplatesLoader +instanceKlass com/intellij/openapi/vcs/FileStatusManager +instanceKlass com/intellij/openapi/actionSystem/impl/ActionManagerImpl$MyTimer$1 +instanceKlass com/jetbrains/plugins/webDeployment/config/OldPublishConfigStateHolder +instanceKlass com/intellij/openapi/wm/IdeFrame$Child +instanceKlass com/intellij/openapi/actionSystem/impl/PopupMenuPreloader +instanceKlass com/jetbrains/python/psi/PyElementGenerator +instanceKlass sun/font/StandardGlyphVector$GlyphStrike +instanceKlass sun/font/FontSubstitution +instanceKlass java/awt/font/GlyphVector +instanceKlass com/intellij/framework/detection/impl/exclude/old/OldFacetDetectionExcludesConfiguration +instanceKlass com/intellij/lang/properties/structureView/PropertiesSeparatorManager +instanceKlass com/intellij/lang/typescript/library/TypeScriptServiceDirectoryWatcher +instanceKlass com/intellij/openapi/wm/impl/GlobalMenuLinux$MenuItemInternal +instanceKlass com/jetbrains/python/psi/PyPsiFacade +instanceKlass com/intellij/openapi/wm/impl/IdeMenuBarKt +instanceKlass com/intellij/lang/javascript/completion/JSPartialIconService$JSPartialIconServiceImpl +instanceKlass com/intellij/lang/javascript/completion/JSPartialIconService +instanceKlass com/jetbrains/plugins/webDeployment/DeploymentCache +instanceKlass com/intellij/openapi/vcs/impl/ModuleVcsDetector +instanceKlass com/intellij/openapi/vcs/impl/VcsCacheManager +instanceKlass com/intellij/lang/PerFileMappingsBase +instanceKlass com/intellij/lang/PerFileMappingsEx +instanceKlass com/intellij/lang/PerFileMappings +instanceKlass com/intellij/facet/ProjectFacetManager +instanceKlass com/intellij/codeInspection/InspectionManager +instanceKlass com/intellij/codeInsight/highlighting/HighlightManager +instanceKlass com/intellij/openapi/actionSystem/impl/ActionMenu$MenuListenerImpl +instanceKlass git4idea/stash/GitStashTracker +instanceKlass com/intellij/openapi/actionSystem/impl/ActionMenu$SubElementSelector +instanceKlass com/intellij/openapi/externalSystem/autolink/ExternalSystemUnlinkedProjectSettings +instanceKlass com/intellij/openapi/actionSystem/impl/actionholder/ActionRef +instanceKlass com/intellij/internal/inspector/UiInspectorUtil +instanceKlass com/intellij/find/findUsages/FindUsagesOptions +instanceKlass com/intellij/internal/inspector/UiInspectorContextProvider +instanceKlass com/intellij/openapi/roots/ui/configuration/ProjectSettingsService +instanceKlass com/intellij/openapi/ui/JBPopupMenu$MyLayout$1 +instanceKlass com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl +instanceKlass com/intellij/ide/actions/searcheverywhere/SearchEverywhereManager +instanceKlass javax/swing/JMenu$MenuChangeListener +instanceKlass org/jetbrains/plugins/notebooks/tables/DSTableDataManager +instanceKlass javax/swing/event/MenuListener +instanceKlass javax/accessibility/AccessibleSelection +instanceKlass org/jetbrains/plugins/notebooks/jupyter/trust/JupyterTrustManager +instanceKlass com/intellij/database/script/generator/ui/ScriptGeneratorSettings +instanceKlass com/intellij/ide/SelectInEditorManager +instanceKlass com/intellij/openapi/editor/event/CaretListener +instanceKlass com/intellij/codeInsight/documentation/DockablePopupManager +instanceKlass com/intellij/openapi/ui/GraphicsConfig +instanceKlass com/intellij/ui/svg/SvgKt$newSvgPatcher$1 +instanceKlass com/intellij/ui/svg/SvgAttributePatcher +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/AllVcses +instanceKlass com/intellij/openapi/vcs/impl/projectlevelman/AllVcsesI +instanceKlass com/intellij/ui/tabs/FileColorModelStorageManager +instanceKlass com/intellij/ui/icons/UpdatableIcon +instanceKlass com/intellij/ui/icons/PaintNotifier +instanceKlass git4idea/config/GitRebaseSettings +instanceKlass java/awt/ColorPaintContext +instanceKlass com/intellij/ui/icons/FilteredIcon$TimestampSearcher +instanceKlass com/intellij/openapi/util/DummyIcon +instanceKlass com/intellij/lang/javascript/library/typings/TypeScriptExternalDefinitionsService +instanceKlass com/intellij/ui/icons/IconUtilKt$replaceCachedImageIcons$1 +instanceKlass com/intellij/ui/icons/StrokeKt$getStrokePatcher$1 +instanceKlass com/intellij/ui/icons/StrokeKt +instanceKlass com/intellij/openapi/module/ModulePointerManager +instanceKlass com/intellij/ui/icons/CompositeIcon +instanceKlass com/intellij/problems/WolfTheProblemSolver +instanceKlass com/intellij/util/xml/highlighting/DomElementAnnotationsManager +instanceKlass com/intellij/execution/testframework/export/ExportTestResultsConfiguration +instanceKlass com/intellij/remoteServer/impl/runtime/ui/RemoteServersDeploymentManager +instanceKlass com/intellij/openapi/vcs/changes/patch/PatchBaseDirectoryDetector +instanceKlass com/intellij/openapi/editor/EditorGutter +instanceKlass com/intellij/codeInspection/ex/ProjectInspectionProfilesVisibleTreeState +instanceKlass com/intellij/lang/puppet/project/PuppetScopeManager +instanceKlass com/intellij/profiler/ProfilerToolWindowManager +instanceKlass com/intellij/openapi/externalSystem/dependency/analyzer/DependencyAnalyzerManager +instanceKlass org/jetbrains/yaml/YAMLElementGenerator +instanceKlass com/intellij/javascript/nodejs/packageJson/notification/DefaultPackageJsonNotifierConfiguration +instanceKlass com/intellij/javascript/nodejs/packageJson/notification/PackageJsonNotifierConfiguration +instanceKlass com/intellij/ssh/config/unified/SshConfigManagerBase +instanceKlass com/intellij/openapi/roots/FileIndexFacade +instanceKlass com/intellij/lang/javascript/linter/JSLinterConfiguration +instanceKlass sun/awt/image/OffScreenImageSource +instanceKlass java/awt/image/FilteredImageSource +instanceKlass com/intellij/ide/util/gotoByName/ChooseByNameFactory +instanceKlass com/intellij/util/xml/actions/generate/DomTemplateRunner +instanceKlass com/intellij/execution/ui/PreparedIcon +instanceKlass com/intellij/ide/ui/laf/darcula/ui/ToolbarComboWidgetUiSizes +instanceKlass com/jetbrains/rdserver/toolWindow/RdControllerToolWindowsLayoutState +instanceKlass com/intellij/codeEditor/printing/ExportToHTMLSettings +instanceKlass com/intellij/dvcs/branch/DvcsCompareSettings +instanceKlass com/intellij/dvcs/branch/DvcsSyncSettings +instanceKlass com/intellij/completion/ml/personalization/impl/UserFactorStorageBase +instanceKlass com/intellij/completion/ml/personalization/UserFactorStorage +instanceKlass com/intellij/lang/IdeLanguageCustomization +instanceKlass com/jetbrains/python/PyGotoClassContributor +instanceKlass com/jetbrains/jsonSchema/JsonSchemaCatalogProjectConfiguration +instanceKlass com/intellij/lang/javascript/navigation/JavaScriptClassContributor +instanceKlass com/intellij/navigation/GotoClassContributor +instanceKlass com/intellij/lang/puppet/ide/navigation/PuppetGotoClassContributor +instanceKlass com/intellij/codeInsight/daemon/impl/HighlightingMarkupGrave +instanceKlass com/intellij/navigation/ChooseByNameContributorEx +instanceKlass com/intellij/structuralsearch/plugin/StructuralSearchPlugin +instanceKlass com/intellij/navigation/ChooseByNameContributor +instanceKlass com/intellij/navigation/ChooseByNameRegistry +instanceKlass com/intellij/ide/actions/GotoClassPresentationUpdater +instanceKlass com/intellij/openapi/util/IconLoader$getDarkIcon$1 +instanceKlass com/intellij/ui/icons/IconReplacer +instanceKlass com/jetbrains/python/scientific/PySciProjectComponent +instanceKlass com/intellij/openapi/vcs/changes/VcsDirtyScopeVfsListener +instanceKlass com/intellij/ui/icons/FilteredIcon +instanceKlass com/jetbrains/rdserver/distributedTests/BackendDistributedTestBridge +instanceKlass com/intellij/remoteDev/tests/DistributedTestBridge +instanceKlass org/jetbrains/plugins/terminal/TerminalProjectOptionsProvider +instanceKlass org/jetbrains/plugins/notebooks/jupyter/connections/management/JupyterServerDiscoverer +instanceKlass com/intellij/sql/psi/SqlPsiFacade +instanceKlass com/intellij/openapi/actionSystem/impl/ActionButtonWithText$1 +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/SourceFolderManagerImpl +instanceKlass com/intellij/openapi/externalSystem/service/project/manage/SourceFolderManager +instanceKlass com/intellij/webcore/libraries/ScriptingLibraryManager +instanceKlass org/jetbrains/builtInWebServer/WebServerPathToFileManager +instanceKlass com/intellij/openapi/ui/popup/ListItemDescriptor +instanceKlass com/intellij/execution/actions/StopAction$HandlerItem +instanceKlass com/jetbrains/plugins/webDeployment/remoteEdit/fs/RemoteEditedFilesRefreshService +instanceKlass com/intellij/workspaceModel/ide/impl/legacyBridge/watcher/VirtualFileUrlWatcher +instanceKlass com/intellij/util/xml/ui/CommittableUtil +instanceKlass com/intellij/lang/typescript/TypeScriptSettings +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolWindow/CodeWithMeToolWindowManager +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$RunWidget +instanceKlass com/intellij/xdebugger/impl/inline/DebuggerInlayListener +instanceKlass com/intellij/openapi/editor/event/EditorMouseListener +instanceKlass com/intellij/openapi/editor/event/EditorMouseMotionListener +instanceKlass com/intellij/codeInsight/daemon/impl/HectorComponentFactoryImpl +instanceKlass com/intellij/codeInsight/daemon/impl/HectorComponentFactory +instanceKlass com/intellij/openapi/actionSystem/ActionManagerListener +instanceKlass com/intellij/lang/javascript/linter/JSLinterConfigChangeTracker +instanceKlass com/intellij/openapi/vcs/contentAnnotation/ContentAnnotationCacheImpl +instanceKlass com/intellij/openapi/vcs/contentAnnotation/ContentAnnotationCache +instanceKlass com/intellij/settingsSync/config/SettingsSyncStatusAction$Companion +instanceKlass com/intellij/settingsSync/SettingsSyncStatusTracker$Listener +instanceKlass com/intellij/ide/actions/SettingsEntryPointAction$NoDots +instanceKlass com/intellij/settingsSync/config/SettingsSyncStatusAction$IconCustomizer +instanceKlass com/intellij/database/dataSource/DelegatingPersistentStateComponent +instanceKlass com/intellij/ide/actions/SettingsEntryPointAction$IconCustomizer +instanceKlass org/jetbrains/ide/ToolboxSettingsActionRegistry$getActions$$inlined$sortedBy$1 +instanceKlass org/jetbrains/ide/ToolboxSettingsActionRegistry +instanceKlass org/jetbrains/plugins/terminal/arrangement/TerminalArrangementManager +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkUpdaterNotifications +instanceKlass org/jetbrains/idea/svn/branchConfig/SvnBranchConfigurationManager +instanceKlass org/jetbrains/ide/ToolboxSettingsActionRegistryActionProvider +instanceKlass com/intellij/openapi/projectRoots/impl/jdkDownloader/JdkSettingsActionRegistryActionProvider +instanceKlass com/intellij/lang/javascript/linter/MultiRootJSLinterLanguageServiceManager +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateSettingsEntryPointActionProvider +instanceKlass com/intellij/ide/actions/SettingsEntryPointAction$ActionProvider +instanceKlass com/intellij/icons/AllIcons$CodeWithMe +instanceKlass com/intellij/execution/testframework/sm/vcs/TestsVcsConfiguration +instanceKlass com/jetbrains/rd/platform/codeWithMe/toolbar/CWMShowPopupAction$Companion +instanceKlass com/intellij/lang/javascript/psi/controlflow/JSControlFlowService +instanceKlass com/intellij/microservices/ui/EndpointsViewSettings +instanceKlass com/intellij/database/diff/TableDiffSettingsHolder +instanceKlass com/intellij/openapi/roots/impl/DirectoryIndex +instanceKlass com/intellij/database/psi/DbFindUsagesOptionsProvider +instanceKlass com/intellij/openapi/vcs/changes/shelf/ShelvedChangesViewManager +instanceKlass com/intellij/execution/ui/RedesignedRunWidgetKt +instanceKlass com/intellij/find/findInProject/FindInProjectManager +instanceKlass com/jetbrains/django/console/DjangoConsoleOptions +instanceKlass com/intellij/lang/javascript/library/JSPredefinedLibraryManager +instanceKlass com/intellij/icons/AllIcons$Ide$Notification +instanceKlass com/intellij/ui/BadgeShapeProvider +instanceKlass com/intellij/refactoring/listeners/RefactoringListenerManager +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$IconBadge +instanceKlass com/intellij/ui/BadgeIconSupplier +instanceKlass com/jetbrains/rdserver/diagnostics/BackendPerformanceHost +instanceKlass com/intellij/lang/javascript/documentation/JSTooltipWithHtmlHighlighterImpl +instanceKlass com/intellij/lang/javascript/validation/JSTooltipWithHtmlHighlighter +instanceKlass com/intellij/workspaceModel/ide/impl/WorkspaceModelImpl +instanceKlass com/intellij/platform/backend/workspace/WorkspaceModel +instanceKlass com/jetbrains/plugins/vagrant/VagrantProjectSettings +instanceKlass com/jetbrains/plugins/webDeployment/remoteEdit/fs/RemoteEditedFilesUploadingService +instanceKlass com/intellij/database/dataSource/srcStorage/DbSrcMapping +instanceKlass com/intellij/openapi/wm/impl/headertoolbar/FilenameToolbarWidgetAction$Companion +instanceKlass com/intellij/execution/ExecutionManager +instanceKlass com/intellij/coverage/BaseCoverageAnnotator +instanceKlass com/intellij/coverage/CoverageAnnotator +instanceKlass com/intellij/ui/BalloonImpl$AbstractPosition +instanceKlass com/intellij/ui/BalloonImpl$ActionProvider +instanceKlass com/intellij/ui/ComponentWithMnemonics +instanceKlass org/jetbrains/plugins/notebooks/jupyter/debugger/JupyterDebugCellIdManager +instanceKlass com/intellij/ui/BalloonImpl +instanceKlass com/intellij/ide/IdeTooltip$Ui +instanceKlass com/intellij/openapi/ui/popup/Balloon +instanceKlass com/intellij/util/ui/PositionTracker$Client +instanceKlass com/intellij/configurationStore/DefaultProjectElementNormalizerKt +instanceKlass com/intellij/configurationStore/DefaultProjectStorage$configuration$1 +instanceKlass com/intellij/ui/ToolbarActionTracker$Companion +instanceKlass com/intellij/ui/ToolbarActionTracker +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$MainToolbar$Dropdown +instanceKlass com/intellij/configurationStore/ProjectStateStorageManager$fileBasedStorageConfiguration$1 +instanceKlass com/intellij/ide/ui/laf/darcula/ui/ToolbarComboWidgetUI$DefaultCutStrategy +instanceKlass com/intellij/configurationStore/StorageVirtualFileTracker +instanceKlass com/intellij/ide/ui/laf/darcula/ui/TextCutStrategy +instanceKlass com/intellij/configurationStore/ProjectStateStorageManager$Companion +instanceKlass com/intellij/configurationStore/ProjectStoreBridge +instanceKlass com/intellij/configurationStore/ModuleSavingCustomizer +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/ProjectStoreWithJpsContentReader +instanceKlass com/intellij/openapi/components/impl/stores/IProjectStore +instanceKlass com/intellij/openapi/actionSystem/RightAlignedToolbarAction +instanceKlass org/jetbrains/concurrency/Obsolescent +instanceKlass org/jetbrains/concurrency/InternalPromiseUtilKt +instanceKlass com/intellij/openapi/actionSystem/impl/ActionUpdateEdtExecutor +instanceKlass com/intellij/openapi/actionSystem/ex/InlineActionsHolder +instanceKlass com/intellij/util/containers/EmptyIterator +instanceKlass git4idea/ui/toolbar/GitToolbarActions +instanceKlass git4idea/ui/toolbar/GitToolbarWidgetAction$Companion +instanceKlass com/intellij/openapi/actionSystem/AlwaysVisibleActionGroup +instanceKlass com/intellij/openapi/wm/impl/headertoolbar/ProjectToolbarWidgetActionKt +instanceKlass com/intellij/openapi/actionSystem/ActionUpdateThreadAware$Recursive +instanceKlass com/intellij/openapi/progress/util/AbstractProgressIndicatorExBase$IndicatorAction +instanceKlass com/intellij/openapi/progress/util/BackgroundTaskUtil +instanceKlass com/intellij/openapi/actionSystem/ActionGroupExpander$Delegate +instanceKlass com/intellij/openapi/actionSystem/impl/ActionGroupExpanderImpl +instanceKlass com/intellij/openapi/actionSystem/ActionGroupExpander +instanceKlass com/intellij/openapi/actionSystem/impl/ToolbarUpdater$MyUpdateRunnable +instanceKlass com/intellij/configurationStore/ObsoleteStorageBean +instanceKlass com/intellij/configurationStore/ComponentStoreWithExtraComponentsKt +instanceKlass com/intellij/openapi/components/SettingsSavingComponent +instanceKlass com/intellij/configurationStore/SaveSessionProducerManager +instanceKlass com/intellij/configurationStore/SaveExecutor +instanceKlass com/intellij/configurationStore/SaveResult$Companion +instanceKlass com/intellij/configurationStore/SaveResult +instanceKlass com/intellij/platform/workspace/storage/impl/url/VirtualFileUrlManagerImpl$FilePathNode +instanceKlass com/intellij/platform/workspace/storage/impl/VirtualFileNameStore +instanceKlass com/intellij/platform/workspace/storage/impl/IntIdGenerator +instanceKlass com/intellij/platform/workspace/storage/impl/url/VirtualFileUrlManagerImpl$Companion$HASHING_STRATEGY$1 +instanceKlass com/intellij/platform/workspace/storage/impl/url/VirtualFileUrlManagerImpl$Companion +instanceKlass com/intellij/platform/workspace/storage/impl/url/VirtualFileUrlManagerImpl +instanceKlass com/intellij/workspaceModel/ide/VirtualFileUrlManagerUtil +instanceKlass com/intellij/platform/workspace/storage/url/VirtualFileUrlManager$Companion +instanceKlass com/intellij/platform/workspace/storage/url/VirtualFileUrlManager +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsProjectModelSynchronizer$Companion +instanceKlass com/intellij/workspaceModel/ide/impl/jps/serialization/JpsProjectModelSynchronizer +instanceKlass com/intellij/openapi/fileEditor/impl/EditorWindowHolder +instanceKlass com/intellij/internal/inspector/UiInspectorPreciseContextProvider +instanceKlass com/intellij/openapi/ui/TypingTarget +instanceKlass com/intellij/openapi/vcs/VcsApplicationSettings +instanceKlass com/intellij/ide/RecentProjectsManagerBase$MyFrameStateListener +instanceKlass com/intellij/openapi/application/ClipboardAnalyzeListener +instanceKlass com/intellij/ide/FrameStateListener +instanceKlass com/intellij/ide/FrameStateManagerAppListener +instanceKlass com/intellij/ide/plugins/DynamicPluginsFrameStateListener +instanceKlass com/intellij/openapi/wm/impl/GlobalMenuLinux$EventFilter +instanceKlass com/intellij/ui/util/UiSizeUtilKt$dimensionProperty$1 +instanceKlass com/intellij/ui/util/UiSizeUtilKt +instanceKlass com/intellij/openapi/util/text/CharFilter +instanceKlass com/intellij/ui/GuiUtils +instanceKlass com/intellij/openapi/wm/impl/status/IdeStatusBarImpl$registerCloneTasks$3 +instanceKlass com/intellij/openapi/wm/impl/welcomeScreen/cloneableProjects/CloneableProjectsService$CloneProjectListener +instanceKlass com/intellij/openapi/wm/impl/welcomeScreen/cloneableProjects/CloneableProjectsService$Companion +instanceKlass com/intellij/openapi/wm/impl/welcomeScreen/cloneableProjects/CloneableProjectsService +instanceKlass com/intellij/openapi/wm/impl/status/WidgetBean +instanceKlass com/intellij/util/ui/AbstractLayoutManager +instanceKlass com/intellij/ui/border/NamedBorderImpl +instanceKlass com/intellij/ui/border/NamedBorder +instanceKlass com/intellij/ui/border/NamedBorderKt +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$ActionButton +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$StatusBar$Widget +instanceKlass com/intellij/ui/components/DefaultLinkButtonUIKt +instanceKlass com/intellij/ui/components/DefaultLinkButtonUI$Companion +instanceKlass com/intellij/openapi/wm/impl/status/TextPanel$Companion +instanceKlass com/intellij/openapi/wm/impl/status/InfoAndProgressPanel$2 +instanceKlass com/intellij/openapi/progress/impl/ProgressSuspender$SuspenderListener +instanceKlass com/intellij/openapi/progress/impl/ProgressSuspender +instanceKlass com/intellij/ide/PowerSaveMode$Listener +instanceKlass com/intellij/ide/PowerSaveMode +instanceKlass com/intellij/ui/components/panels/VerticalLayout +instanceKlass com/intellij/util/ui/StatusText$3 +instanceKlass java/util/AbstractList$SubList$1 +instanceKlass com/intellij/ui/SimpleColoredComponent$SimpleTextRenderer +instanceKlass com/intellij/ui/SimpleColoredComponent$TextRenderer +instanceKlass javax/swing/tree/TreeCellRenderer +instanceKlass com/intellij/ui/SimpleColoredComponent$FragmentTextClipper +instanceKlass com/intellij/ui/SimpleColoredComponent$ColoredFragment +instanceKlass com/intellij/ui/SimpleColoredComponent$ColoredIterator +instanceKlass com/intellij/util/ui/StatusText$Fragment +instanceKlass com/intellij/util/ui/StatusText$Column +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Tooltip +instanceKlass com/intellij/ui/SimpleTextAttributes +instanceKlass com/intellij/ui/ClickListener +instanceKlass com/intellij/ui/ColoredTextContainer +instanceKlass com/intellij/util/ui/StatusText +instanceKlass com/intellij/openapi/wm/impl/status/ProcessPopup +instanceKlass com/intellij/concurrency/ContextAwareCallable +instanceKlass com/intellij/util/ui/update/MergingUpdateQueue +instanceKlass com/intellij/util/ui/PositionTracker +instanceKlass com/intellij/openapi/wm/impl/status/ProcessBalloon +instanceKlass com/intellij/util/ui/update/ComparableObject$Impl +instanceKlass com/intellij/openapi/wm/impl/status/InfoAndProgressPanel +instanceKlass com/intellij/openapi/wm/CustomStatusBarWidget +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$StatusBar +instanceKlass com/intellij/openapi/progress/impl/ProgressState +instanceKlass com/intellij/openapi/wm/impl/status/IdeStatusBarImplKt +instanceKlass com/intellij/openapi/wm/StatusBarListener +instanceKlass com/intellij/openapi/ui/popup/BalloonHandler +instanceKlass com/intellij/openapi/ui/MessageType +instanceKlass com/intellij/openapi/wm/impl/status/IdeStatusBarImpl$Companion +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/toolbar/MainMenuButton$initShortcutsChangeConnection$1$1 +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/toolbar/MainMenuButton$ShowSubMenuAction +instanceKlass org/jetbrains/plugins/gitlab/GitlabIcons +instanceKlass com/intellij/icons/AllIcons$Toolwindows +instanceKlass git4idea/commands/GitCommand +instanceKlass git4idea/i18n/GitBundle +instanceKlass git4idea/actions/GitOngoingOperationAction +instanceKlass git4idea/GitReference +instanceKlass org/jetbrains/plugins/github/GithubShareAction$Companion +instanceKlass com/intellij/openapi/vcs/changes/patch/ApplyPatchExecutor +instanceKlass com/intellij/icons/AllIcons$Debugger +instanceKlass org/zmlx/hg4idea/HgUpdater +instanceKlass com/intellij/openapi/vcs/TransactionRunnable +instanceKlass org/zmlx/hg4idea/execution/HgCommandResultHandler +instanceKlass com/intellij/openapi/vcs/changes/ContentRevision +instanceKlass com/intellij/dvcs/repo/AbstractRepositoryManager +instanceKlass com/intellij/dvcs/repo/RepositoryManager +instanceKlass com/intellij/diff/chains/DiffRequestChain +instanceKlass com/intellij/vcsUtil/VcsRunnable +instanceKlass com/intellij/icons/AllIcons$Vcs +instanceKlass com/intellij/ui/table/SelectionProvider +instanceKlass com/intellij/openapi/vcs/actions/DiffActionExecutor +instanceKlass com/intellij/openapi/localVcs/UpToDateLineNumberProvider +instanceKlass com/intellij/openapi/editor/TextAnnotationGutterProvider$Filler +instanceKlass com/intellij/openapi/vcs/actions/AnnotationGutterLineConvertorProxy +instanceKlass com/intellij/openapi/vcs/actions/ActiveAnnotationGutter +instanceKlass com/intellij/openapi/editor/EditorGutterAction +instanceKlass com/intellij/openapi/editor/TextAnnotationGutterProvider +instanceKlass com/intellij/openapi/vcs/annotate/TextAnnotationPresentation +instanceKlass com/intellij/codeInsight/intention/IntentionActionProvider +instanceKlass com/intellij/icons/AllIcons$Vcs$Vendors +instanceKlass org/jetbrains/plugins/github/i18n/GithubBundle +instanceKlass org/jetbrains/plugins/github/util/GithubUtil +instanceKlass git4idea/remote/hosting/HostedGitRepositoriesManager +instanceKlass com/intellij/openapi/vcs/rollback/RollbackProgressListener +instanceKlass com/intellij/ui/popup/PopupUpdateProcessorBase +instanceKlass com/intellij/diagram/DiagramBuilder +instanceKlass com/intellij/openapi/vcs/StartedActivated +instanceKlass com/intellij/openapi/vcs/update/ScopeInfo$2 +instanceKlass com/intellij/openapi/vcs/update/ScopeInfo$1 +instanceKlass com/intellij/openapi/vcs/update/ScopeInfo +instanceKlass com/intellij/openapi/vcs/update/ActionInfo$3 +instanceKlass com/intellij/openapi/vcs/update/ActionInfo$2 +instanceKlass com/intellij/openapi/vcs/update/ActionInfo$1 +instanceKlass com/intellij/openapi/vcs/update/ActionInfo +instanceKlass com/intellij/openapi/vcs/actions/VcsContext +instanceKlass com/jetbrains/python/profiler/PythonProfilerIcons +instanceKlass icons/PythonJupyterIcons +instanceKlass org/jetbrains/plugins/notebooks/jupyter/actions/AddRemoteJupyterAction$Companion +instanceKlass icons/PythonIcons +instanceKlass icons/PythonIcons$Python +instanceKlass icons/QodanaIcons +instanceKlass icons/QodanaIcons$Icons +instanceKlass org/jetbrains/plugins/terminal/AbstractTerminalRunner +instanceKlass com/intellij/toolWindow/ToolWindowPaneKt +instanceKlass java/awt/GridBagLayoutInfo +instanceKlass com/intellij/ui/dsl/gridLayout/impl/PreferredSizeData +instanceKlass com/intellij/ui/dsl/gridLayout/impl/GridImpl$WhenMappings +instanceKlass com/intellij/ui/dsl/gridLayout/impl/ColumnsSizeCalculator$ColumnInfo +instanceKlass com/intellij/ui/dsl/gridLayout/GapsKt +instanceKlass com/intellij/ui/dsl/gridLayout/impl/GridImplKt +instanceKlass com/intellij/ui/dsl/gridLayout/VerticalGaps$Companion +instanceKlass com/intellij/ui/dsl/gridLayout/VerticalGaps +instanceKlass com/intellij/ui/dsl/gridLayout/HorizontalGaps +instanceKlass com/intellij/ui/dsl/gridLayout/impl/LayoutCellData +instanceKlass com/intellij/ui/dsl/gridLayout/impl/PreCalculationData +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/CustomHeader$CustomFrameTopBorder$addNotify$$inlined$listenForPropertyChanges$2 +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/CustomHeader$CustomFrameTopBorder$addNotify$$inlined$listenForPropertyChanges$1 +instanceKlass com/intellij/util/ui/update/UiNotifyConnector$1 +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/toolbar/HeaderToolbarButtonLookKt +instanceKlass com/intellij/openapi/actionSystem/ex/TooltipDescriptionProvider +instanceKlass com/intellij/openapi/actionSystem/ex/TooltipLinkProvider +instanceKlass com/intellij/util/containers/FilteringIterator$InstanceOf +instanceKlass com/intellij/util/containers/FilteringIterator +instanceKlass com/intellij/util/containers/PeekableIterator +instanceKlass com/intellij/openapi/actionSystem/UpdateInBackground +instanceKlass com/intellij/ui/BalloonLayoutImpl$1$1 +instanceKlass com/intellij/ui/BalloonLayoutImpl +instanceKlass com/intellij/openapi/wm/impl/ProjectFrameHelper$1 +instanceKlass com/intellij/toolWindow/ToolWindowDragHelper$Companion +instanceKlass com/intellij/openapi/ui/NullableComponent$Check +instanceKlass com/intellij/toolWindow/ToolWindowPane$1 +instanceKlass com/intellij/openapi/ui/ThreeComponentsSplitter$Divider$1 +instanceKlass com/intellij/toolWindow/ToolWindowPaneState +instanceKlass com/intellij/openapi/ui/Splittable +instanceKlass com/intellij/openapi/wm/impl/ToolWindowImpl +instanceKlass com/intellij/openapi/wm/ex/ToolWindowEx +instanceKlass com/intellij/openapi/wm/ToolWindow +instanceKlass com/intellij/openapi/util/BusyObject +instanceKlass com/intellij/toolWindow/ToolWindowPane$Companion +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$ToolWindow +instanceKlass com/intellij/openapi/wm/impl/SquareStripeButtonLook$Companion +instanceKlass com/intellij/util/ui/accessibility/AccessibleContextUtil +instanceKlass com/intellij/ui/icons/CustomIconUtilKt +instanceKlass com/intellij/toolWindow/MoreSquareStripeButtonKt +instanceKlass com/intellij/openapi/wm/ToolWindowContentUiType +instanceKlass com/intellij/openapi/wm/impl/WindowInfoImpl$Companion +instanceKlass com/intellij/openapi/wm/WindowInfo +instanceKlass com/intellij/openapi/wm/impl/AbstractDroppableStripe$separatorStripe$1 +instanceKlass com/intellij/openapi/wm/ToolWindowManager +instanceKlass com/intellij/ui/awt/DevicePoint +instanceKlass com/intellij/openapi/wm/impl/AbstractDroppableStripe$Companion +instanceKlass com/intellij/openapi/wm/impl/LayoutData +instanceKlass com/intellij/toolWindow/StripeButtonManager +instanceKlass com/intellij/openapi/wm/ToolWindowAnchor +instanceKlass com/intellij/toolWindow/ToolWindowToolbar$Companion +instanceKlass com/intellij/toolWindow/ToolWindowPaneNewButtonManager +instanceKlass com/intellij/toolWindow/ToolWindowButtonManager +instanceKlass com/intellij/openapi/wm/impl/IdeRootPane$DecoratedHelper +instanceKlass com/intellij/openapi/actionSystem/DynamicActionGroup +instanceKlass org/jetbrains/idea/perforce/actions/PerforceToolbarWidgetAction$Companion +instanceKlass com/intellij/ide/ui/customization/ActionUrl +instanceKlass com/intellij/ide/ui/customization/ActionUrlComparator +instanceKlass com/intellij/openapi/wm/impl/headertoolbar/HeaderIconUpdater +instanceKlass com/intellij/openapi/wm/impl/welcomeScreen/projectActions/RecentProjectsWelcomeScreenActionBase$Companion +instanceKlass com/intellij/ide/ui/customization/GroupStart +instanceKlass com/intellij/ide/ui/customization/GroupEnd +instanceKlass com/intellij/ide/ui/customization/ToolbarQuickActionInsertStrategy +instanceKlass com/intellij/openapi/wm/impl/headertoolbar/MainToolbarQuickActionsKt +instanceKlass com/intellij/execution/runToolbar/RunToolbarRollbackToPrevious$Companion +instanceKlass com/intellij/internal/statistic/collectors/fus/actions/persistence/ActionIdProvider +instanceKlass com/intellij/openapi/actionSystem/impl/ToolbarUpdater$MyTimerListener +instanceKlass com/intellij/openapi/actionSystem/impl/ToolbarUpdater$MyKeymapManagerListener +instanceKlass com/intellij/util/animation/Easing$Stateful +instanceKlass com/intellij/util/animation/JBAnimator$FrameCounter +instanceKlass com/intellij/util/animation/JBAnimator +instanceKlass com/intellij/util/animation/CubicBezierEasing +instanceKlass com/intellij/util/animation/Easing +instanceKlass java/util/function/DoubleConsumer +instanceKlass com/intellij/util/animation/ShowHideAnimator +instanceKlass com/intellij/ui/UserActivityProviderComponent +instanceKlass com/intellij/openapi/actionSystem/ActionToolbarListener +instanceKlass com/intellij/openapi/actionSystem/impl/ActionToolbarImpl$SecondaryGroupUpdater +instanceKlass com/intellij/util/animation/AlphaAnimationContext +instanceKlass com/intellij/util/ui/JBSwingUtilities$1 +instanceKlass com/intellij/util/ui/JBSwingUtilities +instanceKlass com/intellij/openapi/wm/impl/IdeBackgroundUtil$MyTransform +instanceKlass com/intellij/openapi/wm/impl/IdeBackgroundUtil +instanceKlass com/intellij/ide/ui/customization/CustomizationUtil +instanceKlass com/intellij/openapi/wm/impl/headertoolbar/GroupInfo +instanceKlass com/intellij/openapi/wm/impl/headertoolbar/MainToolbar$Companion +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/toolbar/ToolbarFrameHeader$WhenMappings +instanceKlass com/jetbrains/python/profiler/ProfilerSessionEditorProvider +instanceKlass com/intellij/openapi/wm/impl/headertoolbar/MainToolbarKt +instanceKlass org/jetbrains/plugins/notebooks/jupyter/editor/JupyterFileEditorProvider +instanceKlass org/jetbrains/plugins/notebooks/tables/editor/DSTableFileEditorProvider +instanceKlass com/jetbrains/python/scientific/powerfuldataviewer/editor/DataViewEditorProvider +instanceKlass java/awt/PointerInfo +instanceKlass com/jetbrains/python/debugger/remote/vfs/PyRemoteDebugEditorProvider +instanceKlass sun/awt/X11/XMouseInfoPeer +instanceKlass java/awt/MouseInfo +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/ComponentStyle$ComponentState +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/StyleManager$Companion +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/StyleManager +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$TitlePane +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/ComponentStyle$Companion +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/ComponentStyle +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/StyleProperty$Companion +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/StyleProperty +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/Properties +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/style/ComponentStyle$ComponentStyleBuilder +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/ResizableCustomFrameTitleButtons$Companion +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/CustomFrameTitleButtons$Companion +instanceKlass com/intellij/database/psi/DbElement +instanceKlass sun/awt/ExtendedKeyCodes +instanceKlass com/intellij/database/symbols/DasPsiSymbol +instanceKlass com/intellij/ide/util/treeView/WeighedItem +instanceKlass com/intellij/psi/meta/PsiPresentableMetaData +instanceKlass com/intellij/psi/meta/PsiMetaData +instanceKlass com/intellij/database/model/PsiObject +instanceKlass com/intellij/database/model/DasScopeAware +instanceKlass javax/swing/plaf/basic/BasicMenuItemUI$Handler +instanceKlass javax/swing/event/MenuDragMouseListener +instanceKlass sun/swing/MenuItemLayoutHelper +instanceKlass javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon +instanceKlass javax/swing/JMenuItem$MenuItemFocusListener +instanceKlass javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper +instanceKlass javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber +instanceKlass javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener +instanceKlass javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener +instanceKlass javax/swing/plaf/basic/BasicLookAndFeel$1 +instanceKlass javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper +instanceKlass com/intellij/openapi/observable/util/DisposerUtilKt +instanceKlass org/jetbrains/plugins/github/pullrequest/GHPREditorProvider +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/toolbar/ExpandableMenu +instanceKlass java/awt/CardLayout$Card +instanceKlass java/awt/CardLayout +instanceKlass com/intellij/space/vcs/chat/editor/SpaceChatEditorProvider +instanceKlass com/intellij/openapi/actionSystem/impl/ActionButton$2 +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Toolbar +instanceKlass javax/swing/event/PopupMenuListener +instanceKlass com/intellij/ui/popup/PopupState +instanceKlass com/intellij/javascript/debugger/sourcemap/visualizer/SourcemapFileViewerProvider +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/toolbar/MainMenuButtonKt +instanceKlass com/intellij/javascript/debugger/scripts/VmFileEditorProvider +instanceKlass com/intellij/icons/ExpUiIcons +instanceKlass com/intellij/icons/ExpUiIcons$General +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/toolbar/MainMenuButton +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsXImpl +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsXKt +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsX$Companion +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsX +instanceKlass com/intellij/ui/dsl/gridLayout/impl/Cell +instanceKlass org/jetbrains/plugins/gitlab/mergerequest/file/GitLabFileEditorProvider +instanceKlass com/intellij/ui/dsl/gridLayout/Constraints +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsImpl +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsKt +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGaps$Companion +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGaps +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsYImpl +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsYKt +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsY$Companion +instanceKlass com/intellij/ui/dsl/gridLayout/UnscaledGapsY +instanceKlass com/intellij/ui/dsl/gridLayout/builders/RowsGridBuilder +instanceKlass com/intellij/ui/dsl/UiDslExceptionKt +instanceKlass com/intellij/ui/dsl/gridLayout/Gaps$Companion +instanceKlass com/intellij/ui/dsl/gridLayout/Gaps +instanceKlass com/intellij/ui/dsl/gridLayout/impl/BaselineData +instanceKlass com/intellij/ui/dsl/gridLayout/impl/ColumnsSizeCalculator +instanceKlass com/intellij/ui/dsl/gridLayout/impl/LayoutData +instanceKlass com/intellij/ui/dsl/gridLayout/impl/GridImpl +instanceKlass com/intellij/ui/dsl/gridLayout/Grid +instanceKlass com/intellij/ui/dsl/gridLayout/GridLayout +instanceKlass com/intellij/util/ui/AATextInfo +instanceKlass com/intellij/swagger/core/ui/SwaggerUIEditorProvider +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$List$Selection +instanceKlass com/intellij/ide/ProjectColors +instanceKlass com/intellij/util/ui/ColorPalette$Companion +instanceKlass com/intellij/ide/ProjectIconPalette +instanceKlass com/intellij/util/ui/ColorPalette +instanceKlass com/intellij/ide/ProjectWindowCustomizerService$Companion +instanceKlass java/awt/event/ContainerAdapter +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/toolbar/IdeMenuHelper +instanceKlass com/jetbrains/rest/editor/RestSplitEditorProvider +instanceKlass com/intellij/openapi/wm/impl/IdeMenuBar$MyActionListener +instanceKlass javax/swing/plaf/basic/BasicMenuBarUI$Handler +instanceKlass org/jetbrains/plugins/terminal/vfs/TerminalSessionEditorProvider +instanceKlass javax/swing/DefaultSingleSelectionModel +instanceKlass javax/swing/SingleSelectionModel +instanceKlass com/intellij/openapi/fileEditor/WeighedFileEditorProvider +instanceKlass com/intellij/openapi/wm/impl/IdeMenuBar$MyTimerListener +instanceKlass com/intellij/openapi/actionSystem/TimerListener +instanceKlass org/intellij/plugins/markdown/ui/preview/MarkdownSplitEditorProvider$Companion +instanceKlass com/intellij/openapi/wm/impl/LinuxIdeMenuBar$Companion +instanceKlass com/intellij/openapi/wm/impl/IdeMenuBar$Companion +instanceKlass org/intellij/plugins/markdown/ui/split/SplitTextEditorProvider +instanceKlass java/awt/Window$CustomTitleBarPeer +instanceKlass com/jetbrains/desktop/CustomTitleBar$$JBRApiBridge$5 +instanceKlass com/jetbrains/desktop/WindowDecorations$$JBRApiBridge$4 +instanceKlass java/awt/Window$CustomTitleBar +instanceKlass java/awt/Window$WindowDecorations +instanceKlass com/jetbrains/WindowDecorations +instanceKlass com/jetbrains/JBR$WindowDecorations__Holder +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/CustomHeader$CustomFrameTopBorder +instanceKlass org/intellij/images/editor/impl/ImageFileEditorProvider +instanceKlass com/intellij/diagram/v2/GraphChartConfiguration +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$CustomFrameDecorations +instanceKlass com/intellij/openapi/vfs/VirtualFileWithoutContent +instanceKlass com/intellij/openapi/vfs/VirtualFilePathWrapper +instanceKlass com/intellij/ide/ProjectWindowCustomizerService +instanceKlass com/intellij/ui/awt/RelativeRectangle +instanceKlass com/intellij/diagram/DiagramProvider +instanceKlass com/intellij/ui/scale/ScaleContextCache +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/CustomFrameTitleButtons +instanceKlass com/jetbrains/WindowDecorations$CustomTitleBar +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/CustomHeader$Companion +instanceKlass com/intellij/uml/UmlEditorProvider +instanceKlass com/intellij/openapi/wm/impl/customFrameDecorations/header/MainFrameCustomHeader +instanceKlass com/intellij/openapi/wm/impl/ToolbarHolder +instanceKlass com/intellij/openapi/fileEditor/AsyncFileEditorProvider$Builder +instanceKlass com/jetbrains/desktop/WindowMove$$JBRApiBridge$3 +instanceKlass org/editorconfig/configmanagement/editor/EditorConfigEditorProvider +instanceKlass sun/awt/X11/XWindowPeer$WindowMoveService +instanceKlass com/jetbrains/WindowMove +instanceKlass com/jetbrains/JBR$WindowMove__Holder +instanceKlass com/intellij/openapi/wm/impl/IdeRootPaneKt +instanceKlass com/intellij/vcs/log/ui/editor/VcsLogEditorProvider +instanceKlass sun/awt/SunToolkit$AwtLockListener +instanceKlass java/awt/peer/LabelPeer +instanceKlass java/awt/im/InputMethodHighlight +instanceKlass java/awt/dnd/DragGestureRecognizer +instanceKlass java/awt/dnd/DragGestureListener +instanceKlass java/awt/datatransfer/Clipboard +instanceKlass java/awt/PageAttributes +instanceKlass java/awt/JobAttributes +instanceKlass java/awt/PrintJob +instanceKlass java/awt/peer/TaskbarPeer +instanceKlass java/awt/Taskbar +instanceKlass java/awt/peer/DesktopPeer +instanceKlass java/awt/Desktop +instanceKlass sun/awt/datatransfer/DataTransferer +instanceKlass java/awt/peer/SystemTrayPeer +instanceKlass java/awt/SystemTray +instanceKlass java/awt/peer/TrayIconPeer +instanceKlass sun/awt/X11/XEmbedChildProxyPeer +instanceKlass com/intellij/largeFilesEditor/editor/LargeFileEditorProvider +instanceKlass java/awt/peer/MouseInfoPeer +instanceKlass java/awt/peer/PopupMenuPeer +instanceKlass java/awt/peer/MenuPeer +instanceKlass java/awt/peer/MenuBarPeer +instanceKlass com/intellij/openapi/fileEditor/impl/JComponentEditorProvider$Companion +instanceKlass java/awt/peer/FileDialogPeer +instanceKlass java/awt/peer/ChoicePeer +instanceKlass java/awt/peer/TextAreaPeer +instanceKlass java/awt/peer/ScrollPanePeer +instanceKlass java/awt/peer/ScrollbarPeer +instanceKlass java/awt/peer/CheckboxPeer +instanceKlass com/intellij/openapi/fileEditor/impl/JComponentEditorProvider +instanceKlass java/awt/peer/ListPeer +instanceKlass com/intellij/openapi/fileEditor/impl/HTMLEditorProvider$Companion +instanceKlass java/awt/peer/TextFieldPeer +instanceKlass java/awt/peer/TextComponentPeer +instanceKlass java/awt/peer/CheckboxMenuItemPeer +instanceKlass java/awt/peer/MenuItemPeer +instanceKlass java/awt/peer/MenuComponentPeer +instanceKlass com/intellij/openapi/fileEditor/impl/HTMLEditorProvider +instanceKlass java/awt/peer/FontPeer +instanceKlass sun/awt/X11/XToolkit$XEventListener +instanceKlass java/awt/peer/ButtonPeer +instanceKlass com/intellij/openapi/fileEditor/TextEditor +instanceKlass com/intellij/openapi/fileEditor/NavigatableFileEditor +instanceKlass java/awt/peer/RobotPeer +instanceKlass com/intellij/configurationStore/StoreReloadManagerImpl$2 +instanceKlass com/intellij/openapi/vfs/VirtualFileManagerListener +instanceKlass com/intellij/configurationStore/StoreReloadManagerImpl$1$1 +instanceKlass com/intellij/openapi/wm/impl/X11UiUtil$Xlib +instanceKlass com/intellij/openapi/wm/impl/X11UiUtil +instanceKlass com/intellij/configurationStore/StoreReloadManagerImpl +instanceKlass com/intellij/openapi/wm/impl/IdeRootPane$Helper +instanceKlass com/intellij/configurationStore/StoreReloadManager$Companion +instanceKlass com/intellij/configurationStore/StoreReloadManager +instanceKlass com/intellij/openapi/project/ProjectCoreUtil +instanceKlass com/intellij/openapi/fileEditor/FileEditorState +instanceKlass com/intellij/openapi/wm/ex/StatusBarEx +instanceKlass com/intellij/openapi/fileEditor/impl/http/HttpFileEditorProvider +instanceKlass com/intellij/ide/lightEdit/LightEditService +instanceKlass com/intellij/openapi/wm/impl/IdeRootPane$Companion +instanceKlass com/intellij/ide/plugins/UIComponentEditorProvider +instanceKlass com/intellij/openapi/wm/impl/WindowManagerImplKt +instanceKlass com/intellij/ide/browsers/actions/WebPreviewEditorProvider +instanceKlass com/intellij/util/Alarm$Request +instanceKlass com/intellij/diff/editor/DiffEditorProvider$Companion +instanceKlass com/intellij/diff/editor/DiffEditorProvider +instanceKlass com/intellij/openapi/wm/impl/LinuxFullScreenSynchronizer$Companion +instanceKlass com/intellij/openapi/wm/impl/LinuxFullScreenSynchronizer +instanceKlass com/jetbrains/rdserver/vcs/BackendDiffFileEditorProvider +instanceKlass com/intellij/openapi/project/impl/ProjectImpl$Companion +instanceKlass com/intellij/openapi/wm/StatusBar +instanceKlass com/intellij/openapi/wm/StatusBarInfo +instanceKlass com/intellij/ui/BalloonLayout +instanceKlass com/intellij/openapi/wm/impl/IdeFrameImpl$FrameHelper +instanceKlass com/intellij/openapi/wm/impl/IdeFrameImpl$Companion +instanceKlass com/intellij/project/ProjectStoreOwner +instanceKlass com/intellij/openapi/project/ex/ProjectEx +instanceKlass com/intellij/openapi/wm/impl/ProjectFrameHelper$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorProvider$Companion +instanceKlass com/intellij/configurationStore/DefaultProjectStoreImpl$storageManager$1 +instanceKlass com/intellij/openapi/wm/impl/ProjectFrameHelper +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextEditorProvider +instanceKlass com/intellij/openapi/fileEditor/impl/text/QuickDefinitionProvider +instanceKlass com/intellij/util/ui/accessibility/AccessibleContextAccessor +instanceKlass com/intellij/openapi/fileEditor/ex/StructureViewFileEditorProvider +instanceKlass com/intellij/openapi/wm/ex/IdeFrameEx +instanceKlass com/intellij/openapi/fileEditor/impl/text/TextBasedFileEditorProvider +instanceKlass com/intellij/openapi/fileEditor/impl/DefaultPlatformFileEditorProvider +instanceKlass com/intellij/util/io/Sanitize_nameKt +instanceKlass com/intellij/configurationStore/ProjectStoreFactoryImpl +instanceKlass com/intellij/openapi/project/impl/ProjectStoreFactory +instanceKlass com/intellij/openapi/fileEditor/AsyncFileEditorProvider +instanceKlass com/intellij/openapi/project/ProjectUtil +instanceKlass com/intellij/openapi/fileEditor/FileEditorProvider +instanceKlass com/intellij/openapi/project/impl/MutableLoadingState +instanceKlass com/intellij/openapi/wm/impl/FrameLoadingState +instanceKlass com/intellij/openapi/project/impl/ProjectFrameAllocatorKt$createNewProjectFrameProducer$1 +instanceKlass com/intellij/openapi/project/impl/ProjectFrameProducer +instanceKlass com/intellij/openapi/project/impl/ProjectFrameAllocatorKt +instanceKlass com/intellij/openapi/project/impl/FrameAllocatorProjectInitObserver +instanceKlass com/intellij/openapi/project/impl/ProjectInitObserver +instanceKlass com/intellij/openapi/project/impl/ProjectFrameAllocator +instanceKlass com/intellij/openapi/project/impl/SeparateProcessKt +instanceKlass com/intellij/ide/impl/TrustedProjectsStatistics$Companion +instanceKlass com/intellij/openapi/externalSystem/service/project/trusted/ExternalSystemTrustedListener +instanceKlass com/intellij/openapi/vcs/roots/VcsRootScanner$TrustListener +instanceKlass com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl$TrustListener +instanceKlass com/intellij/ide/impl/TrustStateListener$Bridge +instanceKlass com/intellij/ide/trustedProjects/impl/UntrustedProjectNotificationProvider$TrustedListener +instanceKlass com/intellij/ide/trustedProjects/TrustedProjectsListener$Companion +instanceKlass com/intellij/ide/trustedProjects/TrustedProjectsListener +instanceKlass javax/swing/TimerQueue$DelayedTimer +instanceKlass com/intellij/ide/ApplicationActivationStateManager$1 +instanceKlass com/intellij/openapi/util/ExpirableRunnable +instanceKlass com/intellij/openapi/util/Expirable +instanceKlass com/intellij/openapi/command/impl/CommandLog +instanceKlass com/intellij/util/containers/TreeTraversal$2$1WrappedTree +instanceKlass com/intellij/util/containers/TreeTraversal$TraversalArgs +instanceKlass com/intellij/util/containers/TreeTraversal$2 +instanceKlass com/intellij/util/JBIterableClassTraverser +instanceKlass java/awt/LightweightDispatcher$2 +instanceKlass javax/swing/Autoscroller +instanceKlass java/awt/Window$1DisposeAction +instanceKlass java/awt/KeyboardFocusManager$2 +instanceKlass com/intellij/util/ui/EdtInvocationManager +instanceKlass com/intellij/internal/statistic/collectors/fus/ui/FeatureUsageUiEventsImpl +instanceKlass com/intellij/internal/statistic/eventLog/FeatureUsageUiEvents +instanceKlass com/intellij/internal/statistic/eventLog/FeatureUsageUiEventsKt +instanceKlass com/intellij/diagnostic/FusFreezeReporterKt +instanceKlass sun/awt/ModalExclude +instanceKlass com/intellij/ide/MnemonicUsageCollector$Companion +instanceKlass javax/swing/JComponent$IntVector +instanceKlass javax/swing/JComponent$KeyboardState +instanceKlass sun/awt/DebugSettings +instanceKlass kotlin/jvm/internal/InlineMarker +instanceKlass it/unimi/dsi/fastutil/objects/Object2LongFunctions$SynchronizedFunction +instanceKlass it/unimi/dsi/fastutil/objects/Object2LongMaps +instanceKlass io/opentelemetry/context/ThreadLocalContextStorage$ScopeImpl +instanceKlass io/opentelemetry/api/trace/DefaultTracer$NoopSpanBuilder +instanceKlass com/intellij/platform/diagnostic/telemetry/helpers/TraceKt +instanceKlass com/intellij/openapi/actionSystem/UpdateSession$1 +instanceKlass com/intellij/openapi/actionSystem/impl/ActionUpdater$UpdateSessionImpl +instanceKlass com/intellij/openapi/editor/CaretActionListener +instanceKlass com/intellij/openapi/editor/event/SelectionListener +instanceKlass com/intellij/openapi/editor/impl/Interval +instanceKlass com/intellij/openapi/editor/ex/util/EditorUtil +instanceKlass com/intellij/database/console/client/DatabaseScriptingSessionClient +instanceKlass com/intellij/database/console/client/ScriptingSessionClient +instanceKlass com/intellij/database/console/client/DatabaseSessionClientWithFile +instanceKlass com/intellij/database/console/client/VisibleDatabaseSessionClient +instanceKlass com/intellij/database/run/session/LogViewOwner +instanceKlass com/intellij/database/datagrid/DataRequest$CustomSearchPathOwner +instanceKlass com/intellij/database/datagrid/DataRequest$TxIsolationOwner +instanceKlass com/intellij/database/console/client/VisibleSessionClient +instanceKlass com/intellij/database/console/client/DatabaseSessionClient +instanceKlass com/intellij/database/datagrid/DataRequest$DepartmentHolder +instanceKlass com/intellij/database/datagrid/DataRequest$OwnerEx +instanceKlass com/intellij/database/datagrid/DataRequest$Owner +instanceKlass com/intellij/database/datagrid/GridDataRequest$GridDataRequestOwner +instanceKlass com/intellij/database/console/client/SessionClient +instanceKlass com/intellij/database/DatabaseDataKeys +instanceKlass com/intellij/database/view/structure/DvViewOptions +instanceKlass com/intellij/ui/tree/TreePathBackgroundSupplier +instanceKlass com/intellij/ui/ComponentWithFileColors +instanceKlass com/intellij/database/view/DatabaseView +instanceKlass com/intellij/database/run/actions/GridAction +instanceKlass kotlin/collections/EmptyList +instanceKlass kotlin/jvm/internal/markers/KMappedMarker +instanceKlass kotlin/collections/CollectionsKt__CollectionsJVMKt +instanceKlass kotlin/jvm/internal/Intrinsics +instanceKlass com/intellij/execution/testframework/CompositePrintable$PrintablesWrapper +instanceKlass com/intellij/execution/testframework/Printer +instanceKlass com/intellij/execution/testframework/Printable +instanceKlass com/jetbrains/rdserver/core/RemoteAppSession +instanceKlass com/jetbrains/rd/platform/client/ProtocolAppSession +instanceKlass com/jetbrains/rdserver/core/RemoteSessionsKt +instanceKlass com/jetbrains/rdserver/ui/popup/BackendBeAbstractPopup$Companion +instanceKlass com/jetbrains/rdserver/ui/popup/settings/BePopupSettings +instanceKlass com/jetbrains/rdserver/ui/popup/settings/BeCustomPopupSettings +instanceKlass com/intellij/ide/UiActivity +instanceKlass com/intellij/util/ui/update/ComparableObject +instanceKlass com/intellij/ui/AnchorableComponent +instanceKlass com/jetbrains/rdserver/ui/popup/BackendBePopupFactory$1 +instanceKlass com/intellij/openapi/ui/popup/IPopupChooserBuilder +instanceKlass javax/swing/ListModel +instanceKlass com/intellij/openapi/ui/popup/ComponentPopupBuilder +instanceKlass com/intellij/openapi/ui/popup/PopupChooserBuilder$PopupComponentAdapter +instanceKlass com/intellij/openapi/ui/popup/BalloonBuilder +instanceKlass com/intellij/openapi/ui/popup/TreePopup +instanceKlass com/intellij/ui/popup/AbstractPopup +instanceKlass com/intellij/openapi/ui/popup/AlignedPopup +instanceKlass com/intellij/ide/ui/ScreenAreaConsumer +instanceKlass com/intellij/ui/speedSearch/ElementFilter +instanceKlass com/intellij/ui/popup/NextStepHandler +instanceKlass com/intellij/openapi/ui/popup/ListPopup +instanceKlass com/intellij/openapi/ui/popup/util/BaseStep +instanceKlass com/intellij/openapi/ui/popup/MnemonicNavigationFilter +instanceKlass com/intellij/openapi/ui/popup/SpeedSearchFilter +instanceKlass com/intellij/openapi/ui/popup/ListPopupStep +instanceKlass com/intellij/openapi/ui/popup/PopupStep +instanceKlass com/intellij/openapi/ui/popup/JBPopupFactory +instanceKlass com/intellij/diff/editor/DiffEditorEscapeAction +instanceKlass com/intellij/openapi/actionSystem/Toggleable +instanceKlass org/jetbrains/plugins/notebooks/tables/panel/DSTableActionPromoter +instanceKlass org/jetbrains/plugins/notebooks/jupyter/actions/JupyterEditorActionPromoter +instanceKlass com/jetbrains/python/scientific/cells/PyExecuteCellAction$CellActionPromoter +instanceKlass com/intellij/database/actions/DatabaseActionPromoter +instanceKlass git4idea/index/actions/GitIndexActionPromoter +instanceKlass com/codeium/intellij/utilities/CodieumActionPromoter +instanceKlass org/intellij/plugins/markdown/ui/actions/MarkdownActionPromoter$Companion +instanceKlass org/intellij/plugins/markdown/ui/actions/MarkdownActionPromoter +instanceKlass com/intellij/uml/DiagramActionPromoter +instanceKlass com/intellij/vcs/log/ui/actions/VcsLogActionPromoter +instanceKlass com/intellij/openapi/vcs/actions/VcsActionPromoter +instanceKlass com/intellij/codeInsight/inline/completion/InlineActionsPromoter +instanceKlass com/intellij/execution/services/ServiceViewActionPromoter +instanceKlass com/intellij/execution/dashboard/actions/RunDashboardActionPromoter +instanceKlass com/intellij/codeInsight/editorActions/TabActionsPromoter +instanceKlass com/intellij/ui/EditorTextFieldActionPromoter +instanceKlass com/intellij/ide/bookmark/actions/NodeMoveActionPromoter +instanceKlass com/intellij/ui/SpeedSearchBase$SpeedSearchActionPromoter +instanceKlass com/intellij/execution/testframework/TestTreeViewActionsPromoter +instanceKlass com/intellij/ide/actions/WindowActionPromoter +instanceKlass com/intellij/ui/ToolbarDecoratorActionPromoter +instanceKlass com/intellij/diff/DiffActionPromoter +instanceKlass com/intellij/usages/impl/UsageViewActionPromoter +instanceKlass com/intellij/execution/runToolbar/RunToolbarActionPromoter +instanceKlass com/intellij/openapi/actionSystem/ActionPromoter +instanceKlass com/intellij/openapi/progress/util/ProgressIndicatorUtilService$1 +instanceKlass com/intellij/openapi/progress/util/ProgressIndicatorUtilService +instanceKlass com/intellij/util/concurrency/BlockingJob$Companion +instanceKlass com/intellij/util/concurrency/Holder +instanceKlass com/intellij/util/concurrency/Propagation +instanceKlass org/jetbrains/concurrency/AsyncPromise$Companion +instanceKlass org/jetbrains/concurrency/AsyncPromise +instanceKlass org/jetbrains/concurrency/CompletablePromise +instanceKlass com/intellij/openapi/actionSystem/ActionPlaces +instanceKlass com/intellij/util/NotNullFunction +instanceKlass com/intellij/diagnostic/ThreadDumpService$Companion +instanceKlass com/intellij/diagnostic/ThreadDumpService +instanceKlass com/intellij/openapi/progress/util/PotemkinProgress$EventStealer +instanceKlass com/intellij/openapi/progress/util/ProgressWindow$Listener +instanceKlass com/intellij/openapi/application/impl/ModalContextProjectLocator +instanceKlass com/intellij/openapi/progress/util/TitledIndicator +instanceKlass com/intellij/openapi/progress/impl/BlockingProgressIndicator +instanceKlass com/intellij/openapi/progress/util/ProgressIndicatorWithDelayedPresentation +instanceKlass training/featuresSuggester/listeners/EditorActionsListener +instanceKlass com/intellij/platform/lsp/impl/navigation/CurrentActionListener +instanceKlass com/intellij/vcs/commit/CommitSessionCollector$MyAnActionListener +instanceKlass com/intellij/ide/actionsOnSave/impl/CurrentActionListener +instanceKlass com/intellij/internal/statistic/collectors/fus/TypingEventsLogger$TypingEventsListener +instanceKlass com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler$MyAnActionListener +instanceKlass com/intellij/internal/statistic/local/ActionsLocalSummaryListener +instanceKlass com/intellij/internal/statistic/collectors/fus/fileTypes/FileTypeUsageCounterCollector$MyAnActionListener +instanceKlass com/intellij/openapi/editor/impl/EditorLastActionTracker$MyAnActionListener +instanceKlass com/intellij/openapi/actionSystem/AnActionResult +instanceKlass com/intellij/openapi/actionSystem/UpdateSession +instanceKlass com/intellij/openapi/actionSystem/impl/ActionUpdater +instanceKlass com/intellij/openapi/actionSystem/ExecutionDataKeys +instanceKlass com/intellij/openapi/module/Module +instanceKlass com/intellij/openapi/fileEditor/impl/EditorWindow$Companion +instanceKlass com/intellij/openapi/fileEditor/impl/EditorWindow +instanceKlass com/intellij/openapi/editor/Editor +instanceKlass com/intellij/ide/impl/DataValidators$Validator +instanceKlass com/intellij/ide/impl/DataValidators$1 +instanceKlass com/intellij/ide/impl/DataValidators$Registry +instanceKlass com/intellij/ide/impl/DataValidators +instanceKlass com/intellij/diff/tools/util/DiffDataKeys +instanceKlass com/intellij/diff/actions/impl/DiffNavigatableArrayRule +instanceKlass com/intellij/vcs/log/history/FileHistoryUiDataRule +instanceKlass com/intellij/ide/impl/dataRules/InactiveEditorRule +instanceKlass com/intellij/ide/impl/dataRules/CopyProviderRule +instanceKlass com/intellij/ide/impl/dataRules/CutProviderRule +instanceKlass com/intellij/vcs/log/ui/MainVcsLogUiDataRule +instanceKlass com/intellij/openapi/vcs/VcsDataKeys +instanceKlass com/intellij/openapi/vcs/changes/VcsChangesSelectionRule +instanceKlass com/intellij/vcs/log/VcsLogDataKeys +instanceKlass com/intellij/vcs/log/ui/VcsLogUiExDataRule +instanceKlass com/intellij/usages/UsageView +instanceKlass com/intellij/ide/impl/dataRules/UsageInfo2ListRule +instanceKlass kotlin/sequences/SequenceScope +instanceKlass kotlin/sequences/SequencesKt__SequenceBuilderKt$sequence$$inlined$Sequence$1 +instanceKlass kotlin/sequences/EmptySequence +instanceKlass kotlin/sequences/DropTakeSequence +instanceKlass org/jetbrains/plugins/notebooks/visualization/EditorsWithOffsetsDataRule +instanceKlass com/intellij/ide/impl/dataRules/FileEditorRule +instanceKlass com/intellij/ide/impl/dataRules/NavigatableArrayRule +instanceKlass com/intellij/ide/impl/dataRules/PasteProviderRule +instanceKlass com/intellij/util/containers/FList$1 +instanceKlass com/intellij/openapi/actionSystem/impl/PreCachedDataContext$ComponentRef +instanceKlass com/intellij/util/containers/RefKeyRefValueHashMap$ValueReference +instanceKlass com/intellij/util/containers/RefKeyRefValueHashMap +instanceKlass com/intellij/openapi/actionSystem/impl/PreCachedDataContext +instanceKlass com/intellij/ide/impl/FreezingDataContext +instanceKlass com/intellij/openapi/actionSystem/impl/AsyncDataContext +instanceKlass org/jetbrains/concurrency/CancellablePromise +instanceKlass com/intellij/ui/mac/screenmenu/MenuItem +instanceKlass com/intellij/openapi/actionSystem/impl/Utils +instanceKlass com/intellij/openapi/keymap/impl/SystemShortcuts$MuteConflictsSettings +instanceKlass com/intellij/openapi/keymap/impl/SystemShortcuts +instanceKlass com/intellij/openapi/ui/GenericListComponentUpdater +instanceKlass com/intellij/openapi/actionSystem/PopupAction +instanceKlass com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher$WhenMappings +instanceKlass com/intellij/openapi/wm/impl/FloatingDecoratorMarker +instanceKlass javax/swing/MenuSelectionManager +instanceKlass com/intellij/ui/speedSearch/SpeedSearchSupply +instanceKlass com/intellij/ui/TextAccessor +instanceKlass com/intellij/ui/components/fields/ExtendableTextComponent +instanceKlass com/intellij/ide/KeyboardAwareFocusOwner +instanceKlass com/intellij/util/text/matching/KeyboardLayoutUtil +instanceKlass com/intellij/openapi/keymap/impl/IdeKeyEventDispatcherKt +instanceKlass sun/awt/X11/XConstants +instanceKlass sun/awt/event/KeyEventProcessing +instanceKlass sun/awt/X11/XKeysym$Keysym2JavaKeycode +instanceKlass sun/awt/X11/XKeysym +instanceKlass sun/awt/X11/XInputMethod$BrokenImDetectionContext +instanceKlass com/intellij/util/indexing/snapshot/SnapshotHashEnumeratorService$Companion +instanceKlass com/intellij/util/indexing/snapshot/SnapshotHashEnumeratorService +instanceKlass com/intellij/util/indexing/FileBasedIndexImpl$GentleIndexFlusher$IndexFlushingState +instanceKlass java/util/concurrent/Phaser +instanceKlass com/intellij/util/indexing/events/VfsEventsMerger$VfsEventProcessor +instanceKlass com/google/common/util/concurrent/Uninterruptibles +instanceKlass com/google/common/util/concurrent/ListenableFuture +instanceKlass com/google/common/util/concurrent/GwtFuturesCatchingSpecialization +instanceKlass com/intellij/psi/stubs/StubIdList +instanceKlass com/intellij/psi/stubs/StubIdExternalizer +instanceKlass com/intellij/psi/stubs/StubIndexKeyDescriptorCache +instanceKlass com/intellij/util/indexing/impl/ValueContainerImpl$SingleValueIterator +instanceKlass com/intellij/util/indexing/impl/ValueContainerImpl$1 +instanceKlass com/intellij/util/indexing/containers/ChangeBufferingList +instanceKlass com/intellij/psi/stubs/SerializedStubTree$1 +instanceKlass com/intellij/psi/stubs/SerializedStubTree +instanceKlass com/intellij/psi/stubs/IndexingStampInfo +instanceKlass com/jetbrains/clones/structures/CodeFragment$Companion +instanceKlass com/jetbrains/clones/structures/CodeFragment +instanceKlass com/intellij/util/io/Lz4Kt +instanceKlass com/intellij/util/io/FileChannelWithSizeTracking +instanceKlass com/intellij/util/io/PersistentHashMapValueStorage$ReaderOverFileChannelCache +instanceKlass com/intellij/util/io/ResourceHandle +instanceKlass com/intellij/util/io/FileChunkKey +instanceKlass com/intellij/util/io/CompressedAppendableFile$FileChunkReadCache +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/dev/blobstorage/ByteBufferWriter +instanceKlass com/intellij/util/indexing/impl/ValueContainerImpl$EmptyValueIterator +instanceKlass com/intellij/util/indexing/impl/ValueContainerImpl$2 +instanceKlass com/intellij/util/indexing/impl/InvertedIndexValueIterator +instanceKlass com/intellij/util/indexing/impl/ValueContainerMap$1 +instanceKlass com/intellij/util/containers/ShareableKey +instanceKlass com/intellij/util/indexing/ValueContainer$ValueIterator +instanceKlass com/intellij/util/io/PersistentHashMapValueStorage$ReadResult +instanceKlass com/intellij/util/io/PersistentHashMapValueStorage$ReaderOverCompressedFile +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectFunctions$SynchronizedFunction +instanceKlass com/intellij/indexing/shared/platform/impl/AttrBasedFileContentHashForwardIndex$MultiHashes +instanceKlass com/intellij/util/indexing/IndexInfrastructureExtensionUpdateComputation +instanceKlass com/intellij/util/indexing/impl/MapReduceIndex$IndexUpdateComputable +instanceKlass com/intellij/util/indexing/events/VfsEventsMerger$MyLoggerFactory +instanceKlass com/intellij/util/indexing/events/VfsEventsMerger +instanceKlass com/intellij/util/indexing/IndexingStamp$Timestamps +instanceKlass com/intellij/util/indexing/StripedLock +instanceKlass com/intellij/util/indexing/impl/InputData +instanceKlass com/intellij/util/indexing/FileBasedIndex$IndexWritingFile +instanceKlass com/intellij/util/indexing/SingleIndexValueRemover +instanceKlass it/unimi/dsi/fastutil/ints/IntConsumer +instanceKlass com/intellij/openapi/wm/ex/ProgressIndicatorEx +instanceKlass com/intellij/openapi/progress/util/ProgressIndicatorUtils +instanceKlass nl/hannahsten/texifyidea/grammar/LatexParserDefinition$Cache +instanceKlass com/intellij/psi/stubs/StubIndexImpl$StubIndexStorageLayout +instanceKlass org/angular2/index/Angular2MetadataModuleIndex$Companion +instanceKlass org/angular2/index/Angular2MetadataFunctionIndex$Companion +instanceKlass org/angular2/index/Angular2MetadataNodeModuleIndex$Companion +instanceKlass org/angular2/index/Angular2MetadataDirectiveIndex$Companion +instanceKlass org/angular2/index/Angular2MetadataClassNameIndex$Companion +instanceKlass org/angular2/index/Angular2MetadataPipeIndex$Companion +instanceKlass org/angular2/index/Angular2IvyModuleIndex$Companion +instanceKlass org/angular2/index/Angular2IvyDirectiveIndex$Companion +instanceKlass org/angular2/index/Angular2IvyPipeIndex$Companion +instanceKlass org/angular2/index/Angular2SourceModuleIndex$Companion +instanceKlass org/angular2/index/Angular2SourceDirectiveIndex$Companion +instanceKlass org/angular2/index/Angular2SourcePipeIndex$Companion +instanceKlass org/angular2/index/Angular2TemplateUrlIndex$Companion +instanceKlass com/jetbrains/flask/FlaskUrlIndex$Companion +instanceKlass com/jetbrains/fastapi/FastApiUrlIndex$Companion +instanceKlass com/jetbrains/python/PyCustomDecoratorIndexer +instanceKlass org/jetbrains/vuejs/libraries/vuex/index/VuexStoreIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueGlobalFiltersIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueIdIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueUrlIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueGlobalDirectivesIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueExtendsBindingIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueMixinBindingIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueOptionsIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueCompositionAppIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueComponentsIndex$Companion +instanceKlass org/jetbrains/vuejs/index/VueIndexBase$Companion +instanceKlass com/intellij/lang/javascript/psi/stubs/JSFrameworkMarkersIndex$Companion +instanceKlass nl/hannahsten/texifyidea/index/BibtexEntryIndexKey +instanceKlass nl/hannahsten/texifyidea/psi/LatexMagicComment +instanceKlass nl/hannahsten/texifyidea/psi/LatexEnvironment +instanceKlass com/intellij/psi/PsiLanguageInjectionHost +instanceKlass com/intellij/model/psi/PsiExternalReferenceHost +instanceKlass nl/hannahsten/texifyidea/psi/LatexCommands +instanceKlass com/intellij/psi/StubBasedPsiElement +instanceKlass nl/hannahsten/texifyidea/psi/LatexCommandWithParams +instanceKlass nl/hannahsten/texifyidea/index/IndexKeys +instanceKlass nl/hannahsten/texifyidea/index/IndexUtilBase +instanceKlass com/jetbrains/lang/makefile/MakefileTargetKeyIndexKt +instanceKlass com/jetbrains/lang/makefile/MakefileTargetIndex$Companion +instanceKlass org/intellij/plugins/markdown/lang/index/HeaderAnchorIndex$Companion +instanceKlass org/intellij/plugins/markdown/lang/index/HeaderTextIndex$Companion +instanceKlass com/intellij/psi/stubs/AbstractStubIndex +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$HintAwareIndexList +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$falsePredicate$1 +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$truePredicate$1 +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$IndexedFilePredicate +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator$Companion +instanceKlass com/intellij/util/indexing/RequiredIndexesEvaluator +instanceKlass it/unimi/dsi/fastutil/ints/IntOpenHashSet$SetIterator +instanceKlass com/intellij/util/indexing/IndexVersion$IndexVersionDiff$VersionChanged +instanceKlass com/intellij/util/indexing/IndexVersion$IndexVersionDiff$CorruptedRebuild +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap$MapIterator +instanceKlass it/unimi/dsi/fastutil/ints/IntIterators$EmptyIterator +instanceKlass it/unimi/dsi/fastutil/ints/IntIterators +instanceKlass com/intellij/util/indexing/StaleIndexesChecker +instanceKlass com/intellij/psi/stubs/StubUpdatingIndex$4 +instanceKlass com/intellij/util/containers/hash/LinkedHashMap$LinkedHashIterator +instanceKlass com/intellij/util/containers/hash/LongLinkedHashMap$LinkedHashIterator +instanceKlass com/intellij/util/io/IOStatistics +instanceKlass com/intellij/util/ExceptionUtilRt +instanceKlass com/intellij/openapi/progress/util/PingProgress +instanceKlass java/util/stream/Streams$2 +instanceKlass java/util/stream/Streams$ConcatSpliterator +instanceKlass com/intellij/util/xml/impl/DomFileMetaData +instanceKlass com/intellij/util/xml/DomElement +instanceKlass com/intellij/util/xml/AnnotatedElement +instanceKlass com/intellij/util/xml/DomFileDescription +instanceKlass com/intellij/util/ReflectionAssignabilityCache +instanceKlass com/intellij/util/xml/TypeChooser +instanceKlass com/intellij/util/xml/TypeChooserManager +instanceKlass com/intellij/diagnostic/UILatencyLogger$Companion +instanceKlass com/intellij/util/xml/impl/ImplementationClassCache$1 +instanceKlass com/intellij/util/xml/impl/SofterCache +instanceKlass com/intellij/util/xml/impl/DomImplementationClassEP +instanceKlass com/intellij/util/xml/impl/ImplementationClassCache +instanceKlass com/intellij/diagnostic/FusFreezeReporter +instanceKlass com/intellij/diagnostic/IdeaFreezeReporterKt +instanceKlass com/github/benmanes/caffeine/cache/BBHeader$PadReadCounter +instanceKlass com/intellij/diagnostic/IdeaFreezeReporter$1$1 +instanceKlass com/intellij/util/xml/impl/DomApplicationComponent +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Focus +instanceKlass org/angular2/lang/metadata/MetadataJsonStubBuilder +instanceKlass com/intellij/psi/xml/XmlElement +instanceKlass com/intellij/openapi/wm/IdeGlassPaneUtil +instanceKlass com/intellij/util/xml/stubs/builder/DomStubBuilder +instanceKlass com/intellij/psi/stubs/BinaryFileStubBuilder$CompositeBinaryFileStubBuilder +instanceKlass com/intellij/psi/stubs/BinaryFileStubBuilder +instanceKlass java/text/AttributedString$AttributedStringIterator +instanceKlass java/text/AttributedString +instanceKlass sun/awt/im/CompositionAreaHandler +instanceKlass com/intellij/lang/javascript/index/JSImplicitElementsIndex$2 +instanceKlass com/intellij/lang/javascript/index/JSImplicitElementsIndexFileTypeProvider$1 +instanceKlass com/intellij/lang/javascript/index/JSImplicitElementsIndexFileTypeProvider +instanceKlass com/intellij/psi/impl/source/CharTableImpl +instanceKlass com/intellij/util/CharTable +instanceKlass com/intellij/lang/FileASTNode +instanceKlass sun/awt/im/InputMethodWindow +instanceKlass com/intellij/psi/PsiWhiteSpace +instanceKlass com/intellij/psi/impl/ReparseableASTNode +instanceKlass com/intellij/lang/ASTNode +instanceKlass sun/awt/im/InputMethodAdapter +instanceKlass java/awt/im/spi/InputMethod +instanceKlass com/jetbrains/django/DjangoUrlIndex$getValueExternalizer$1 +instanceKlass sun/awt/im/ExecutableInputMethodManager$3 +instanceKlass sun/awt/im/InputMethodLocator +instanceKlass com/intellij/lang/javascript/JSDisposable +instanceKlass sun/awt/X11InputMethodDescriptor +instanceKlass java/awt/im/spi/InputMethodDescriptor +instanceKlass com/intellij/lang/ASTFactory +instanceKlass com/intellij/javascript/testFramework/AbstractTestStructureElement +instanceKlass org/angularjs/index/AngularViewDefinitionExternalizer +instanceKlass sun/awt/im/InputMethodManager +instanceKlass com/intellij/javascript/testFramework/AbstractTestFileStructureBuilder +instanceKlass com/intellij/lang/javascript/psi/jsdoc/impl/JSDocCustomTags +instanceKlass com/intellij/javascript/testFramework/JsTestFileByTestNameIndex$1 +instanceKlass com/intellij/psi/PsiLanguageInjectionHost$InjectedPsiVisitor +instanceKlass com/intellij/lang/javascript/index/HtmlScriptSrcIndex$2 +instanceKlass com/jetbrains/pyramid/templates/parser/ChameleonParserDefinition +instanceKlass java/awt/im/spi/InputMethodContext +instanceKlass com/jetbrains/pyramid/templates/lexer/ChameleonTokenTypes +instanceKlass java/awt/im/InputMethodRequests +instanceKlass com/intellij/lang/javascript/JSLanguageUtil +instanceKlass com/jetbrains/pyramid/templates/psi/ChameleonElementTypes +instanceKlass com/intellij/javascript/testFramework/JsTestFileByTestNameIndex$2 +instanceKlass java/awt/im/InputContext +instanceKlass java/awt/KeyboardFocusManager$3 +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptConfigIndex$2 +instanceKlass com/intellij/lang/javascript/index/FrameworkIndexingHandler +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptConfigIndex$3 +instanceKlass javax/swing/event/ListDataListener +instanceKlass com/jetbrains/django/lang/template/parsing/DjangoTemplateParserDefinition +instanceKlass com/intellij/lang/javascript/index/JSVersionedEP +instanceKlass com/intellij/sql/SqlRoutineIndex$getKeyDescriptor$1 +instanceKlass com/intellij/sql/SqlRoutineIndex$getValueExternalizer$1 +instanceKlass com/intellij/lang/javascript/index/JavaScriptIndex +instanceKlass com/jetbrains/python/psi/stubs/PyModuleNameIndex$1 +instanceKlass com/intellij/util/IJSwingUtilities +instanceKlass org/jetbrains/vuejs/lang/html/parser/VueParserDefinition$Companion +instanceKlass com/intellij/psi/stubs/IndexSink +instanceKlass sun/awt/SunToolkit$1 +instanceKlass java/awt/KeyboardFocusManager$LightweightFocusRequest +instanceKlass com/intellij/psi/stubs/CompositeBinaryBuilderMap +instanceKlass java/awt/KeyboardFocusManager$HeavyweightFocusRequest +instanceKlass com/intellij/lang/html/HTMLParserDefinition +instanceKlass sun/awt/KeyboardFocusManagerPeerImpl$KfmAccessor +instanceKlass com/intellij/util/keyFMap/PairElementsFMap +instanceKlass com/jetbrains/rest/psi/RestASTFactory +instanceKlass com/jetbrains/rest/RestElementTypes +instanceKlass com/intellij/openapi/actionSystem/CompositeDataProvider +instanceKlass com/intellij/psi/tree/ILeafElementType +instanceKlass com/jetbrains/rest/parsing/RestParserDefinition +instanceKlass com/jetbrains/rest/RestTokenTypes +instanceKlass com/intellij/openapi/actionSystem/BackgroundableDataProvider +instanceKlass com/intellij/lang/ParserDefinition +instanceKlass com/intellij/openapi/actionSystem/DependentTransientComponent +instanceKlass com/intellij/ide/Logs +instanceKlass sun/awt/X11/XWindow$1 +instanceKlass sun/java2d/StateTrackableDelegate$1 +instanceKlass com/github/benmanes/caffeine/cache/BoundedLocalCache$AddTask +instanceKlass com/intellij/util/ui/DirProvider +instanceKlass com/intellij/util/ui/LafIconLookup +instanceKlass sun/font/XRGlyphCacheEntry +instanceKlass sun/java2d/loops/FontInfo +instanceKlass java/awt/PrintGraphics +instanceKlass java/awt/print/PrinterGraphics +instanceKlass com/intellij/psi/impl/include/FileIncludeIndex$StringSetDescriptor +instanceKlass javax/swing/ListSelectionModel +instanceKlass javax/swing/tree/TreePath +instanceKlass javax/swing/tree/TreeModel +instanceKlass javax/swing/table/TableColumnModel +instanceKlass java/awt/font/TextLayout +instanceKlass com/intellij/util/indexing/impl/storage/KeyHashLog$IntPairInArrayKeyDescriptor +instanceKlass com/intellij/util/io/externalizer/StringCollectionExternalizer +instanceKlass java/text/AttributedCharacterIterator +instanceKlass com/intellij/util/indexing/impl/storage/KeyHashLog +instanceKlass com/intellij/util/ui/UIUtilities$LSBCacheEntry +instanceKlass com/intellij/util/ui/TempMethodInvocator +instanceKlass com/intellij/util/ui/TempFieldAccessor$MyRef +instanceKlass com/intellij/util/ui/TempFieldAccessor +instanceKlass com/intellij/util/ui/UIUtilities +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Button +instanceKlass com/intellij/util/ui/MacUIUtil +instanceKlass com/intellij/openapi/actionSystem/impl/segmentedActionBar/SegmentedActionToolbarComponent$Companion +instanceKlass com/intellij/openapi/actionSystem/impl/ToolbarUpdater +instanceKlass com/intellij/openapi/actionSystem/ex/ActionButtonLook +instanceKlass com/intellij/util/animation/AlphaAnimated +instanceKlass com/intellij/ui/switcher/QuickActionProvider +instanceKlass com/intellij/openapi/actionSystem/ActionToolbar +instanceKlass sun/java2d/loops/ProcessPath$Edge +instanceKlass sun/java2d/loops/ProcessPath$ActiveEdgeList +instanceKlass sun/java2d/loops/ProcessPath$Point +instanceKlass sun/java2d/loops/ProcessPath$FillData +instanceKlass sun/java2d/loops/ProcessPath$ProcessHandler +instanceKlass sun/java2d/loops/ProcessPath$1 +instanceKlass sun/java2d/loops/ProcessPath$EndSubPathHandler +instanceKlass sun/java2d/loops/ProcessPath +instanceKlass com/intellij/ui/paint/LinePainter2D +instanceKlass com/intellij/ui/paint/RegionPainter2D +instanceKlass sun/java2d/opengl/OGLGraphicsConfig +instanceKlass sun/java2d/pipe/hw/AccelGraphicsConfig +instanceKlass sun/java2d/pipe/hw/BufferedContextProvider +instanceKlass java/awt/image/BufferStrategy +instanceKlass sun/awt/SubRegionShowable +instanceKlass java/awt/BufferCapabilities +instanceKlass com/intellij/indexing/shared/platform/impl/FileContentHashIndexExtension$1 +instanceKlass com/intellij/indexing/shared/platform/impl/FileContentHashIndex$SingletonHashIdMapDataExternalizer +instanceKlass com/intellij/indexing/shared/platform/impl/FileContentHashIndex$1 +instanceKlass com/intellij/indexing/shared/platform/impl/FileContentHashIndexExtension$LongKeyDescriptor +instanceKlass sun/awt/SunGraphicsCallback +instanceKlass javax/swing/RepaintManager$4 +instanceKlass javax/swing/RepaintManager$3 +instanceKlass com/intellij/indexing/composite/CompositeInvertedIndexBase +instanceKlass com/intellij/util/indexing/FileBasedIndexInfrastructureExtensionUpdatableIndex +instanceKlass nl/hannahsten/texifyidea/index/file/LatexDocsRegexer +instanceKlass com/intellij/util/indexing/impl/storage/TransientFileContentIndex$2 +instanceKlass com/intellij/psi/search/MappedFileTypeIndex$IndexDataController +instanceKlass java/awt/WaitDispatchSupport$4 +instanceKlass java/awt/WaitDispatchSupport$2 +instanceKlass java/awt/WaitDispatchSupport$1 +instanceKlass java/awt/WaitDispatchSupport$5 +instanceKlass java/awt/WaitDispatchSupport +instanceKlass java/awt/SecondaryLoop +instanceKlass java/awt/ModalEventFilter$1 +instanceKlass com/intellij/util/indexing/impl/perFileVersion/PersistentSubIndexerVersionEnumerator$MyEnumerator +instanceKlass com/intellij/util/indexing/impl/perFileVersion/PersistentSubIndexerVersionEnumerator +instanceKlass java/awt/DefaultKeyboardFocusManager$TypeAheadMarker +instanceKlass com/intellij/psi/impl/include/FileIncludeIndex$1 +instanceKlass sun/awt/X11/XQueryTree +instanceKlass com/intellij/psi/impl/include/FileIncludeIndex$2 +instanceKlass sun/awt/util/IdentityLinkedList$ListItr +instanceKlass java/awt/Dialog$1 +instanceKlass sun/awt/util/IdentityLinkedList$Entry +instanceKlass com/intellij/util/indexing/impl/perFileVersion/PersistentSubIndexerRetriever +instanceKlass com/intellij/util/indexing/impl/ValueSerializationProblemReporter +instanceKlass com/intellij/util/indexing/impl/ValueSerializationChecker +instanceKlass com/intellij/util/indexing/impl/forward/IntForwardIndexAccessor +instanceKlass com/intellij/util/indexing/impl/forward/IntForwardIndex +instanceKlass com/intellij/util/indexing/impl/forward/EmptyForwardIndex +instanceKlass com/intellij/util/ui/JLabelUtil +instanceKlass com/intellij/util/keyFMap/OneElementFMap +instanceKlass com/intellij/lang/javascript/frameworks/modules/resolver/JSFileReferenceContext +instanceKlass com/intellij/lang/javascript/modules/JSFileResolveRootsProvider +instanceKlass com/intellij/lang/javascript/config/JSImportResolveContext +instanceKlass org/jetbrains/vuejs/lang/expr/VueTSLanguage$Companion +instanceKlass org/jetbrains/vuejs/lang/expr/VueJSLanguage$Companion +instanceKlass org/jetbrains/vuejs/lang/expr/VueExprMetaLanguage$Companion +instanceKlass org/jrubyparser/NodeVisitor +instanceKlass com/intellij/framework/detection/impl/FrameworkDetectionIndex$1 +instanceKlass org/jetbrains/plugins/sass/extensions/SassExtensionFunctionsIndex$1 +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/facts/PuppetFactsIndex$1 +instanceKlass com/intellij/patterns/StandardPatterns$FalsePattern +instanceKlass com/intellij/patterns/StandardPatterns +instanceKlass com/intellij/util/io/PersistentHashMap +instanceKlass com/intellij/util/io/AppendablePersistentMap +instanceKlass com/intellij/util/io/ByteSequenceDataExternalizer +instanceKlass com/intellij/patterns/ElementPatternCondition +instanceKlass com/intellij/util/io/PersistentMap +instanceKlass com/intellij/util/indexing/impl/forward/PersistentMapBasedForwardIndex +instanceKlass com/intellij/util/indexing/impl/IndexStorageUtil$2 +instanceKlass com/intellij/util/indexing/impl/IndexStorageUtil +instanceKlass com/intellij/util/PairProcessor +instanceKlass com/intellij/util/indexing/impl/MapIndexStorageSlruCache +instanceKlass com/intellij/util/indexing/impl/MapIndexStorageCache +instanceKlass net/jpountz/lz4/LZ4FastDecompressor +instanceKlass net/jpountz/lz4/LZ4Decompressor +instanceKlass com/intellij/util/indexing/impl/MapIndexStorageCacheSlruProvider +instanceKlass com/intellij/patterns/PatternCondition +instanceKlass net/jpountz/lz4/LZ4Compressor +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/facts/yaml/YamlFactIndexer +instanceKlass com/intellij/patterns/InitialPatternCondition +instanceKlass com/intellij/patterns/ObjectPattern +instanceKlass com/intellij/util/indexing/impl/MapIndexStorageCacheProvider$Companion +instanceKlass com/intellij/util/CompressionUtil +instanceKlass com/intellij/util/indexing/impl/MapIndexStorageCacheProvider +instanceKlass com/intellij/ui/ScreenUtil +instanceKlass com/intellij/util/indexing/impl/ValueContainerMap +instanceKlass com/intellij/lang/MetaLanguage$1 +instanceKlass com/intellij/util/ui/JBScalableIcon$2 +instanceKlass com/intellij/openapi/extensions/ExtensionPointUtil +instanceKlass com/intellij/ide/ui/laf/darcula/ui/AbstractButtonLayout +instanceKlass com/intellij/util/indexing/GlobalIndexFilter +instanceKlass com/intellij/ui/components/panels/LayoutUtil +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/facts/TxtFactIndexer +instanceKlass com/intellij/psi/css/index/CssIndex$3 +instanceKlass java/util/stream/ReduceOps$5ReducingSink +instanceKlass com/intellij/util/indexing/EmptyIndex +instanceKlass com/intellij/util/indexing/containers/IntHashSetAsRAIntContainer$MyIterator +instanceKlass com/intellij/util/io/PersistentMapImpl$1 +instanceKlass com/intellij/facet/FacetType +instanceKlass com/intellij/patterns/ElementPattern +instanceKlass com/intellij/util/indexing/containers/IntIdsIterator +instanceKlass com/intellij/util/io/PersistentMapBuilder +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/facts/RubyFactIndexer +instanceKlass com/intellij/facet/FacetConfiguration +instanceKlass com/intellij/util/indexing/ValueContainer$IntIterator +instanceKlass com/intellij/httpClient/http/request/index/HttpRequestHostIndex$1 +instanceKlass com/intellij/util/io/AppendablePersistentMap$ValueDataAppender +instanceKlass com/intellij/util/indexing/containers/BitSetAsRAIntContainer +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntOpenHashMap$MapEntry +instanceKlass it/unimi/dsi/fastutil/objects/ObjectIntPair +instanceKlass com/intellij/lang/LanguageUtil +instanceKlass com/intellij/util/indexing/containers/UpgradableRandomAccessIntContainer$InstanceUpgrader +instanceKlass com/intellij/framework/FrameworkType +instanceKlass com/intellij/execution/ExecutionMode +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntMap$Entry +instanceKlass com/intellij/util/indexing/containers/IntHashSetAsRAIntContainer +instanceKlass com/intellij/httpClient/http/request/environment/HttpRequestEnvironmentIndex$1 +instanceKlass com/intellij/httpClient/http/request/index/HttpRequestHeaderIndex$HttpRequestHeadersValuesIndex$getValueExternalizer$1 +instanceKlass com/intellij/util/io/PersistentEnumeratorBase$DataFilter +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/ruby/PuppetRubyPluginsIndex$1 +instanceKlass com/intellij/httpClient/http/request/index/CollectionExternalizer +instanceKlass com/intellij/util/indexing/containers/UpgradableRandomAccessIntContainer +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/PuppetExtFunctionInfo$MyExternalizer +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntOpenHashMap$MapIterator +instanceKlass com/intellij/httpClient/http/request/environment/HttpRequestEnvironmentFileNames +instanceKlass org/jetbrains/plugins/sass/extensions/SassRubyIntegrationHelper +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/PuppetExtFunctionInfo +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntMaps$1 +instanceKlass org/jetbrains/yaml/navigation/YAMLKeysIndex$1 +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/facts/JsonFactIndexer +instanceKlass com/intellij/psi/impl/cache/impl/id/IdIndex$2 +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/facts/PuppetFactDataIndexer +instanceKlass com/jetbrains/clones/index/HashFragmentIndexer +instanceKlass com/intellij/util/io/PersistentMapImpl +instanceKlass com/intellij/psi/impl/cache/impl/id/IdIndexEntriesExternalizer +instanceKlass com/intellij/psi/css/index/CssTemplateSelectorsIndex$2 +instanceKlass com/intellij/util/io/PersistentMapBase +instanceKlass com/intellij/psi/impl/cache/impl/id/IdIndex$3 +instanceKlass com/intellij/htmltools/html/HtmlTagIdIndex$2 +instanceKlass com/jetbrains/clones/index/TextRangesExternalizer +instanceKlass com/intellij/psi/search/MappedFileTypeIndex$IndexDataController$ForwardIndexFileController$EntriesProcessor +instanceKlass com/intellij/htmltools/html/HtmlTagIdIndex$3 +instanceKlass org/editorconfig/language/index/EditorConfigIdentifierIndex$getValueExternalizer$1 +instanceKlass org/jetbrains/yaml/YAMLFileBasedIndexUtil +instanceKlass com/intellij/psi/search/MappedFileTypeIndex$IndexDataController$ForwardIndexFileController +instanceKlass com/intellij/util/indexing/impl/ValueContainerExternalizer +instanceKlass com/intellij/psi/stubs/SerializedStubTreeDataExternalizer +instanceKlass com/intellij/util/indexing/impl/ValueContainerInputRemapping +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntMaps +instanceKlass com/intellij/xml/index/SchemaTypeInheritanceIndex$1 +instanceKlass org/intellij/plugins/relaxNG/model/CommonElement$Visitor +instanceKlass com/intellij/util/indexing/impl/MapIndexStorage +instanceKlass com/intellij/xml/index/SchemaTypeInheritanceIndex$2 +instanceKlass com/intellij/xml/index/XmlNamespaceIndex$2 +instanceKlass org/intellij/plugins/relaxNG/model/resolve/RelaxSymbolIndex$1 +instanceKlass com/intellij/util/xml/DomFileIndex$1 +instanceKlass com/intellij/xml/index/XmlTagNamesIndex$1 +instanceKlass com/intellij/xml/index/XmlNamespaceIndex$3 +instanceKlass it/unimi/dsi/fastutil/ints/IntBinaryOperator +instanceKlass com/intellij/util/indexing/impl/storage/VfsAwareMapReduceIndex$IndexerIdHolder +instanceKlass com/intellij/util/indexing/impl/CollectionDataExternalizer +instanceKlass com/intellij/util/xml/DomFileIndex$DomIndexKeyDescriptor +instanceKlass com/intellij/psi/stubs/StubUpdatingIndex$3 +instanceKlass com/intellij/util/indexing/containers/RandomAccessIntContainer +instanceKlass com/intellij/psi/search/FileTypeIndexImplBase +instanceKlass com/intellij/psi/stubs/StubUpdatableIndexFactory +instanceKlass com/intellij/psi/search/FileTypeNameEnumerator +instanceKlass com/intellij/util/indexing/impl/storage/TransientChangesIndexStorage +instanceKlass com/intellij/util/indexing/VfsAwareIndexStorage +instanceKlass com/intellij/util/indexing/impl/InputIndexDataExternalizer +instanceKlass com/intellij/psi/stubs/StubIndexImpl$AsyncState +instanceKlass com/intellij/find/ngrams/TrigramIndex$1 +instanceKlass com/intellij/util/indexing/impl/MapReduceIndex$3 +instanceKlass com/intellij/util/indexing/impl/MapReduceIndex$2 +instanceKlass com/intellij/psi/impl/include/FileIncludeProvider +instanceKlass com/intellij/util/indexing/impl/MapReduceIndex$1 +instanceKlass com/intellij/util/indexing/storage/SnapshotInputMappingIndex +instanceKlass com/intellij/find/ngrams/TrigramIndex$2 +instanceKlass com/intellij/util/indexing/InputMapExternalizer +instanceKlass com/intellij/util/indexing/impl/storage/DefaultIndexStorageLayout$SingleEntryStorageLayout +instanceKlass com/intellij/framework/detection/FrameworkDetector +instanceKlass com/intellij/util/indexing/DefaultFileTypeSpecificWithProjectInputFilter +instanceKlass com/intellij/util/indexing/impl/forward/AbstractForwardIndexAccessor +instanceKlass com/intellij/util/indexing/impl/forward/ForwardIndexAccessor +instanceKlass com/intellij/util/indexing/impl/storage/TransientFileContentIndex$1 +instanceKlass com/intellij/util/indexing/IndexVersion$IndexVersionDiff$InitialBuild +instanceKlass com/intellij/util/indexing/impl/storage/DefaultIndexStorageLayout$DefaultStorageLayout +instanceKlass com/intellij/framework/detection/impl/FrameworkDetectorRegistry +instanceKlass com/intellij/util/indexing/IndexVersion$IndexVersionDiff$1 +instanceKlass com/intellij/find/ngrams/TrigramTextSearchService +instanceKlass com/intellij/find/TextSearchService +instanceKlass com/intellij/util/indexing/IndexingStamp +instanceKlass com/intellij/psi/css/index/CssSupportedFileTypesProvider +instanceKlass com/intellij/psi/impl/cache/impl/id/IdIndexEntry +instanceKlass com/intellij/openapi/project/DumbServiceImpl$Companion +instanceKlass com/intellij/openapi/project/DumbService$DumbModeListener +instanceKlass com/intellij/openapi/project/DumbService$Companion +instanceKlass com/intellij/openapi/project/DumbService +instanceKlass com/intellij/openapi/project/DumbServiceBalloon$Service +instanceKlass sun/java2d/pipe/ShapeSpanIterator +instanceKlass sun/awt/geom/PathConsumer2D +instanceKlass sun/java2d/pipe/SpanIterator +instanceKlass java/awt/geom/RectIterator +instanceKlass com/intellij/util/indexing/UnindexedFilesUpdater +instanceKlass sun/awt/X11/MotifDnDConstants +instanceKlass sun/awt/X11/XSelection$SelectionEventHandler +instanceKlass sun/awt/X11/XSelection$IncrementalTransferHandler +instanceKlass sun/awt/X11/XSelection +instanceKlass sun/awt/X11/XDnDConstants +instanceKlass sun/awt/X11/XDropTargetProtocol +instanceKlass sun/awt/X11/XDragSourceProtocol +instanceKlass sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl +instanceKlass sun/awt/X11/XDropTargetProtocolListener +instanceKlass sun/awt/dnd/SunDropTargetContextPeer +instanceKlass java/awt/datatransfer/Transferable +instanceKlass java/awt/dnd/peer/DropTargetContextPeer +instanceKlass sun/awt/X11/XDragAndDropProtocols +instanceKlass sun/awt/X11/XDropTargetRegistry +instanceKlass sun/awt/NullComponentPeer +instanceKlass sun/awt/LightweightPeerHolder +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexIntellijMetadata$Companion +instanceKlass com/intellij/openapi/command/impl/CoreCommandProcessor$1 +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexIntellijMetadata +instanceKlass com/intellij/openapi/command/CommandListener +instanceKlass com/google/common/collect/ImmutableMap$Builder +instanceKlass com/intellij/openapi/command/CommandToken +instanceKlass com/google/common/collect/ObjectArrays +instanceKlass com/google/common/collect/SortedIterables +instanceKlass com/intellij/openapi/command/CommandProcessor +instanceKlass com/intellij/util/indexing/IndexInfrastructureVersionBase +instanceKlass com/intellij/openapi/wm/FocusWatcher +instanceKlass com/intellij/openapi/wm/impl/WindowWatcher$WindowInfo +instanceKlass com/intellij/util/indexing/FileBasedIndexVersionInfo +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexGenerationStatistics +instanceKlass com/intellij/openapi/editor/actionSystem/EditorActionHandler +instanceKlass com/google/common/collect/ImmutableSortedMap$1 +instanceKlass com/google/common/base/Function +instanceKlass com/google/common/collect/Iterables +instanceKlass com/intellij/openapi/client/ClientDisposableProvider +instanceKlass com/intellij/openapi/actionSystem/ex/ActionUtil +instanceKlass com/intellij/openapi/actionSystem/CommonShortcuts +instanceKlass javax/swing/JComponent$ActionStandin +instanceKlass com/google/common/collect/ImmutableSet$SetBuilderImpl +instanceKlass com/intellij/ui/UiInterceptors$UiInterceptor +instanceKlass com/intellij/ui/awt/RelativePoint +instanceKlass com/intellij/ui/UiInterceptors +instanceKlass com/intellij/ui/AppIcon$BaseIcon$1 +instanceKlass javax/swing/TransferHandler$DropLocation +instanceKlass javax/swing/InputVerifier +instanceKlass javax/swing/AncestorNotifier +instanceKlass com/intellij/util/ui/GraphicsUtil +instanceKlass com/google/common/collect/Ordering +instanceKlass com/intellij/ui/AppIcon +instanceKlass com/jetbrains/RoundedCornersManager +instanceKlass com/jetbrains/JBR$RoundedCornersManager__Holder +instanceKlass com/intellij/ui/WindowRoundedCornersManager +instanceKlass com/intellij/ui/MouseDragHelper$1 +instanceKlass com/google/common/collect/SortedIterable +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$List +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Popup +instanceKlass com/intellij/ui/PopupBorder$BaseBorder +instanceKlass com/intellij/ui/PopupBorder +instanceKlass com/intellij/ui/PopupBorder$Factory +instanceKlass com/intellij/openapi/MnemonicWrapper +instanceKlass com/intellij/util/containers/SingletonIteratorBase +instanceKlass com/intellij/util/containers/JBIterable$Stateful +instanceKlass com/intellij/util/containers/TreeTraversal$P$1 +instanceKlass com/intellij/util/containers/TreeTraversal$P +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexMetadataInfo +instanceKlass java/time/LocalTime$1 +instanceKlass com/intellij/openapi/MnemonicHelper$MnemonicFixer +instanceKlass com/intellij/ui/ComponentTreeWatcher +instanceKlass com/intellij/util/ui/components/JBComponent +instanceKlass java/time/format/DateTimeFormatterBuilder$PrefixTree +instanceKlass com/intellij/ui/components/panels/HorizontalLayout +instanceKlass com/intellij/util/containers/JBIterator$2 +instanceKlass com/intellij/util/containers/JBIterator$Op +instanceKlass com/intellij/ui/mac/touchbar/Touchbar +instanceKlass com/intellij/ui/UIBundle +instanceKlass javax/accessibility/AccessibleRelationSet +instanceKlass javax/accessibility/AccessibleContext$1 +instanceKlass sun/awt/AWTAccessor$AccessibleContextAccessor +instanceKlass javax/accessibility/AccessibleText +instanceKlass javax/accessibility/AccessibleValue +instanceKlass javax/swing/BoxLayout +instanceKlass com/fasterxml/jackson/databind/deser/std/BaseNodeDeserializer$ContainerStack +instanceKlass it/unimi/dsi/fastutil/ints/Int2DoubleMap$FastEntrySet +instanceKlass it/unimi/dsi/fastutil/doubles/DoubleCollection +instanceKlass it/unimi/dsi/fastutil/doubles/DoubleIterable +instanceKlass java/util/function/DoubleBinaryOperator +instanceKlass it/unimi/dsi/fastutil/ints/AbstractInt2DoubleFunction +instanceKlass it/unimi/dsi/fastutil/ints/Int2DoubleMap +instanceKlass it/unimi/dsi/fastutil/ints/Int2DoubleFunction +instanceKlass java/util/function/IntToDoubleFunction +instanceKlass java/awt/GridBagConstraints +instanceKlass java/awt/GridBagLayout +instanceKlass com/intellij/util/ui/DialogUtil +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexMetadata$Companion$FiledBasedIndexInfoValue$1 +instanceKlass javax/swing/plaf/basic/BasicButtonUI$KeyHandler +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexMetadata$Companion$IntValue$1 +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexMetadata$Companion$BooleanValue$1 +instanceKlass javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexMetadata$Companion$TextValue$1 +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexMetadata$Companion$LoadSaveValue +instanceKlass javax/swing/plaf/metal/MetalIconFactory +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexMetadata$Companion +instanceKlass com/intellij/indexing/shared/metadata/SharedIndexMetadata +instanceKlass com/intellij/openapi/util/io/FileUtilRt$CharComparingStrategy$2 +instanceKlass com/intellij/openapi/util/io/FileUtilRt$CharComparingStrategy$1 +instanceKlass com/intellij/openapi/util/io/FileUtilRt$CharComparingStrategy +instanceKlass com/intellij/ide/ui/laf/darcula/DarculaUIUtil +instanceKlass javax/swing/plaf/basic/BasicGraphicsUtils +instanceKlass javax/swing/KeyboardManager$ComponentKeyStrokePair +instanceKlass javax/swing/KeyboardManager +instanceKlass javax/swing/ActionPropertyChangeListener +instanceKlass com/intellij/openapi/ui/OptionAction +instanceKlass java/text/BreakIterator$BreakIteratorCache +instanceKlass sun/text/SupplementaryCharacterData +instanceKlass sun/text/CompactByteArray +instanceKlass java/text/BreakIterator +instanceKlass java/util/TreeMap$TreeMapSpliterator +instanceKlass com/jetbrains/internal/JBRApi$InternalServiceBuilder +instanceKlass com/jetbrains/desktop/FontExtensions$FontExtension +instanceKlass com/jetbrains/desktop/FontExtensions +instanceKlass javax/swing/text/Utilities +instanceKlass java/text/DigitList$1 +instanceKlass com/intellij/openapi/util/text/Formats +instanceKlass sun/font/CMap +instanceKlass com/intellij/indexing/shared/platform/impl/SingleChunkReadonlyZipStorage +instanceKlass com/intellij/indexing/shared/platform/impl/BundledSharedIndexProvider +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexZipBundledStorageKt +instanceKlass com/intellij/indexing/shared/platform/impl/BundledSharedIndexesResolver +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexMainZipStorageKt +instanceKlass com/intellij/indexing/shared/platform/api/SharedIndexStats +instanceKlass com/intellij/indexing/shared/util/zipFs/UncompressedZipEntryFileAttributes +instanceKlass java/util/stream/StreamSpliterators +instanceKlass sun/font/FontScaler +instanceKlass java/util/stream/StreamSpliterators$AbstractWrappingSpliterator +instanceKlass sun/font/StrikeCache$DisposableStrike +instanceKlass sun/font/FontStrikeDisposer +instanceKlass sun/java2d/Disposer$PollDisposable +instanceKlass sun/font/FontStrikeDesc +instanceKlass com/intellij/indexing/shared/util/zipFs/UncompressedZipFileSystemProvider$1 +instanceKlass sun/font/FontDesignMetrics$MetricsKey +instanceKlass java/awt/FontMetrics +instanceKlass com/intellij/indexing/shared/util/zipFs/UncompressedZipPath +instanceKlass com/intellij/indexing/shared/util/UtilKt +instanceKlass sun/swing/SwingUtilities2$KeyArray +instanceKlass javax/swing/text/GlyphView$GlyphPainter +instanceKlass javax/swing/SizeRequirements +instanceKlass com/intellij/indexing/shared/util/zipFs/UncompressedZipFileSystem$LightZipEntry +instanceKlass com/intellij/util/io/zip/Zip64ExtraField +instanceKlass com/intellij/util/io/zip/JBZipEntry +instanceKlass com/intellij/util/io/zip/DosTime +instanceKlass com/intellij/util/io/zip/ZipShort +instanceKlass com/intellij/util/io/zip/ZipUInt64 +instanceKlass com/intellij/util/io/zip/ZipLong +instanceKlass com/intellij/util/io/zip/JBZipExtraField +instanceKlass com/intellij/util/io/zip/JBZipOutputStream +instanceKlass com/intellij/util/io/zip/JBZipFile +instanceKlass com/intellij/indexing/shared/util/zipFs/Zip64Util +instanceKlass com/intellij/indexing/shared/util/zipFs/UncompressedZipFileSystem$ZipTreeNode +instanceKlass com/intellij/indexing/shared/util/zipFs/TraceableFileChannel +instanceKlass javax/swing/text/DefaultStyledDocument$ChangeUpdateRunnable +instanceKlass com/intellij/ui/components/JBFontScaler +instanceKlass javax/swing/text/GapContent$UndoPosRef +instanceKlass javax/swing/event/UndoableEditListener +instanceKlass javax/swing/text/DefaultCaret$1 +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexMainZipStorage +instanceKlass com/intellij/indexing/shared/platform/api/MutableSharedIndexStorage +instanceKlass com/intellij/indexing/shared/platform/api/SharedIndexStorage +instanceKlass javax/swing/TimerQueue +instanceKlass javax/swing/text/AbstractDocument$UndoRedoDocumentEvent +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexStorageHolder$Companion +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexStorageHolder +instanceKlass javax/swing/text/Segment +instanceKlass java/text/CharacterIterator +instanceKlass javax/swing/text/SegmentCache +instanceKlass javax/swing/event/DocumentEvent$ElementChange +instanceKlass javax/swing/text/DefaultStyledDocument$ElementBuffer$ElemChanges +instanceKlass com/intellij/indexing/shared/platform/impl/ChunkManager +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexChunkConfigurationImpl$1 +instanceKlass com/intellij/openapi/util/ClearableLazyValue +instanceKlass com/intellij/indexing/shared/platform/impl/ExcludedChunkList +instanceKlass javax/swing/text/DefaultStyledDocument$ElementSpec +instanceKlass javax/swing/text/html/parser/ContentModelState +instanceKlass javax/swing/text/html/parser/TagStack +instanceKlass javax/swing/text/html/parser/TagElement +instanceKlass javax/swing/text/html/parser/Parser +instanceKlass javax/swing/text/html/HTMLDocument$HTMLReader$TagAction +instanceKlass com/intellij/indexing/shared/platform/impl/AttrBasedFileContentHashForwardIndex$ReindexCountFile$Companion +instanceKlass com/intellij/indexing/shared/platform/impl/AttrBasedFileContentHashForwardIndex$ReindexCountFile +instanceKlass com/intellij/ui/HyperlinkAdapter +instanceKlass com/intellij/indexing/shared/platform/impl/AttrBasedFileContentHashForwardIndex$Companion +instanceKlass com/intellij/indexing/shared/platform/impl/AttrBasedFileContentHashForwardIndex +instanceKlass com/intellij/util/indexing/impl/forward/ForwardIndex +instanceKlass com/intellij/util/io/KeyValueStore +instanceKlass javax/swing/text/html/HTMLEditorKit$ParserCallback +instanceKlass com/intellij/util/ui/JBHtmlEditorKit$1 +instanceKlass com/intellij/util/ui/JBHtmlEditorKit$LinkUnderlineListener +instanceKlass javax/swing/event/HyperlinkListener +instanceKlass com/intellij/indexing/shared/platform/api/AttachChunkResult +instanceKlass com/intellij/util/ui/StyleSheetUtil +instanceKlass com/intellij/util/ui/HiDpiImagesExtension +instanceKlass com/intellij/util/ui/ExtendableHTMLViewFactory$WordWrapExtension +instanceKlass com/intellij/util/ui/ExtendableHTMLViewFactory$Extensions$Base64ImagesExtension +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexChunkConfigurationImpl +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexChunkConfiguration +instanceKlass com/intellij/util/ui/ExtendableHTMLViewFactory$Extensions$IconsExtension$Companion +instanceKlass com/intellij/util/ui/ExtendableHTMLViewFactory$Extensions$IconsExtension +instanceKlass com/intellij/util/ui/ExtendableHTMLViewFactory$Extensions +instanceKlass com/intellij/util/ui/ExtendableHTMLViewFactory$Extension +instanceKlass com/intellij/util/ui/ExtendableHTMLViewFactory$Companion +instanceKlass com/intellij/util/ui/HTMLEditorKitBuilder$Companion +instanceKlass com/intellij/util/ui/HTMLEditorKitBuilder +instanceKlass com/intellij/util/indexing/impl/storage/DefaultIndexStorageLayout +instanceKlass sun/swing/text/GlyphViewAccessor +instanceKlass javax/swing/text/TabableView +instanceKlass com/intellij/util/indexing/impl/perFileVersion/PersistentSubIndexerRetrieverBase +instanceKlass com/intellij/util/indexing/impl/IndexStorage +instanceKlass javax/swing/text/html/StyleSheet$1 +instanceKlass javax/swing/text/html/StyleSheet$BoxPainter +instanceKlass javax/swing/text/html/StyleSheet$SearchBuffer +instanceKlass javax/swing/text/html/MuxingAttributeSet +instanceKlass com/intellij/util/indexing/ValueContainer +instanceKlass javax/swing/text/FlowView$FlowStrategy +instanceKlass com/intellij/util/indexing/impl/KeyValueUpdateProcessor +instanceKlass com/intellij/util/indexing/impl/RemovedKeyProcessor +instanceKlass com/intellij/util/indexing/FileBasedIndexInfrastructureExtension$FileIndexingStatusProcessor +instanceKlass javax/swing/text/DefaultStyledDocument$AbstractChangeHandler +instanceKlass javax/swing/text/html/parser/AttributeList +instanceKlass javax/swing/text/html/parser/ContentModel +instanceKlass com/intellij/indexing/shared/platform/impl/SharedIndexInfrastructure +instanceKlass javax/swing/text/html/parser/ParserDelegator$1 +instanceKlass javax/swing/text/html/parser/Entity +instanceKlass javax/swing/text/html/parser/Element +instanceKlass javax/swing/text/html/parser/DTD +instanceKlass javax/swing/text/html/parser/DTDConstants +instanceKlass javax/swing/text/html/HTMLEditorKit$Parser +instanceKlass sun/swing/text/UndoableEditLockSupport +instanceKlass javax/swing/event/DocumentEvent$EventType +instanceKlass javax/swing/event/DocumentEvent +instanceKlass javax/swing/undo/AbstractUndoableEdit +instanceKlass javax/swing/undo/UndoableEdit +instanceKlass javax/swing/text/DefaultStyledDocument$ElementBuffer +instanceKlass com/intellij/util/indexing/FileBasedIndexInfrastructureExtension +instanceKlass javax/swing/plaf/synth/SynthUI +instanceKlass javax/swing/plaf/synth/SynthConstants +instanceKlass com/intellij/util/indexing/impl/storage/FileBasedIndexLayoutSettings +instanceKlass com/intellij/util/indexing/IndexInfrastructure +instanceKlass javax/swing/text/JTextComponent$DefaultKeymap +instanceKlass javax/swing/text/Keymap +instanceKlass com/intellij/util/indexing/CorruptionMarker +instanceKlass javax/swing/text/PlainView$2 +instanceKlass javax/swing/text/PlainView$1 +instanceKlass javax/swing/text/PlainView$FPMethodItem +instanceKlass com/intellij/util/indexing/IndexVersion +instanceKlass com/intellij/util/indexing/PersistentIndicesConfiguration +instanceKlass javax/swing/text/TabExpander +instanceKlass javax/swing/text/StyledDocument +instanceKlass javax/swing/text/GapContent$StickyPosition +instanceKlass javax/swing/text/Position +instanceKlass javax/swing/text/AbstractDocument$1 +instanceKlass javax/swing/text/AbstractDocument$AbstractElement +instanceKlass javax/swing/text/Element +instanceKlass org/angularjs/index/AngularAttributeIndexer +instanceKlass javax/swing/text/GapVector +instanceKlass javax/swing/text/AbstractDocument$Content +instanceKlass javax/swing/text/AbstractDocument +instanceKlass javax/swing/TransferHandler$TransferSupport +instanceKlass javax/swing/TransferHandler$DropHandler +instanceKlass java/awt/dnd/DropTargetContext$1 +instanceKlass sun/awt/AWTAccessor$DropTargetContextAccessor +instanceKlass java/awt/dnd/DropTargetContext +instanceKlass java/awt/dnd/DropTarget +instanceKlass java/awt/dnd/DropTargetListener +instanceKlass org/angularjs/index/AngularTemplateCacheIndex$MyDataIndexer +instanceKlass javax/swing/ClientPropertyKey$1 +instanceKlass sun/awt/AWTAccessor$ClientPropertyKeyAccessor +instanceKlass javax/swing/text/DefaultHighlighter$SafeDamager +instanceKlass javax/swing/text/Highlighter$Highlight +instanceKlass javax/swing/text/LayeredHighlighter +instanceKlass javax/swing/text/Highlighter +instanceKlass javax/swing/text/Document +instanceKlass javax/swing/text/DefaultCaret$Handler +instanceKlass java/awt/datatransfer/ClipboardOwner +instanceKlass javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag +instanceKlass javax/swing/plaf/basic/BasicTextUI$UpdateHandler +instanceKlass javax/swing/event/DocumentListener +instanceKlass javax/swing/text/View +instanceKlass com/jetbrains/django/DjangoUrlIndex$Companion +instanceKlass sun/swing/UIAction +instanceKlass javax/swing/TransferHandler +instanceKlass com/sun/beans/util/Cache$CacheEntry +instanceKlass com/sun/beans/util/Cache +instanceKlass com/jetbrains/django/lang/template/DjangoBlockInheritanceIndex$MyDataIndexer +instanceKlass javax/swing/text/JTextComponent$1 +instanceKlass sun/swing/SwingAccessor$JTextComponentAccessor +instanceKlass com/intellij/util/ui/SingleTextSelectionHandler +instanceKlass com/intellij/ui/components/JBOptionButtonKt +instanceKlass com/intellij/ui/components/JBOptionButton$Companion +instanceKlass com/intellij/openapi/wm/impl/IdeFrameDecorator +instanceKlass com/intellij/ui/IdeBorderFactory +instanceKlass com/jetbrains/python/psi/stubs/PySetuptoolsNamespaceIndex$1 +instanceKlass com/intellij/ui/components/JBScrollPane$JBMouseWheelListener +instanceKlass javax/swing/plaf/metal/MetalScrollPaneUI$1 +instanceKlass javax/swing/plaf/basic/BasicScrollPaneUI$Handler +instanceKlass com/intellij/ui/plaf/beg/BegBorders +instanceKlass javax/swing/event/RowSorterListener +instanceKlass javax/swing/event/CellEditorListener +instanceKlass javax/swing/event/ListSelectionListener +instanceKlass javax/swing/event/TableColumnModelListener +instanceKlass javax/swing/event/TableModelListener +instanceKlass com/intellij/webcomponents/index/WebComponentsIndex$MyDataIndexer +instanceKlass com/intellij/ui/ComponentWithExpandableItems +instanceKlass com/intellij/util/ui/ComponentWithEmptyText +instanceKlass com/intellij/ui/components/Interpolator$TimerListener +instanceKlass com/intellij/ui/components/Interpolator +instanceKlass com/intellij/ui/ClientProperty +instanceKlass com/intellij/sql/SqlRoutineIndex$SqlRoutineIndexListener +instanceKlass com/intellij/sql/SqlRoutineIndex$Companion +instanceKlass com/intellij/ui/MixedColorProducer +instanceKlass com/intellij/openapi/editor/colors/EditorColorsUtil +instanceKlass com/intellij/ui/components/TwoWayAnimator +instanceKlass com/intellij/ui/components/ScrollBarAnimationBehavior +instanceKlass com/intellij/ui/components/ScrollBarPainter +instanceKlass javax/swing/DefaultBoundedRangeModel +instanceKlass javax/swing/JScrollBar$ModelListener +instanceKlass javax/swing/BoundedRangeModel +instanceKlass com/intellij/sql/completion/SqlTypesStatisticIndex$1 +instanceKlass com/intellij/ui/components/JBViewport$2 +instanceKlass com/intellij/ui/components/ScrollSettings +instanceKlass com/intellij/ui/components/Magnificator +instanceKlass sun/swing/SwingUtilities2$RepaintListener +instanceKlass com/intellij/util/MethodInvocator +instanceKlass javax/swing/ViewportLayout +instanceKlass org/jetbrains/vuejs/index/VueComponentStylesIndex$Companion +instanceKlass javax/swing/ScrollPaneLayout +instanceKlass com/intellij/ui/components/Interpolable +instanceKlass com/intellij/openapi/wm/IdeGlassPane$TopComponent +instanceKlass org/jetbrains/vuejs/index/VueEmptyComponentInitializersIndex$Companion +instanceKlass com/intellij/ui/components/ZoomableViewport +instanceKlass java/awt/Adjustable +instanceKlass com/intellij/util/ui/RegionPainter +instanceKlass com/intellij/lang/typescript/tsconfig/TypeScriptConfigIndex$1 +instanceKlass javax/swing/event/AncestorListener +instanceKlass javax/swing/plaf/basic/BasicButtonListener +instanceKlass javax/swing/AbstractButton$Handler +instanceKlass javax/swing/DefaultButtonModel +instanceKlass javax/swing/ButtonModel +instanceKlass com/intellij/util/ui/CenteredIcon +instanceKlass java/awt/event/FocusAdapter +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptInterface +instanceKlass com/intellij/util/ui/TimedDeadzone$Length +instanceKlass com/intellij/util/ui/TimedDeadzone +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptCompileTimeType +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptInterfaceClass +instanceKlass com/intellij/util/ui/BaseButtonBehavior +instanceKlass javax/accessibility/AccessibleExtendedComponent +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptTypeParameterListOwner +instanceKlass javax/accessibility/AccessibleComponent +instanceKlass javax/accessibility/AccessibleAction +instanceKlass com/intellij/lang/javascript/psi/ecma6/TypeScriptTypeParameterProvider +instanceKlass javax/accessibility/AccessibleContext +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSClass +instanceKlass com/intellij/ui/ActiveComponent +instanceKlass com/intellij/lang/javascript/psi/JSBoundNameOwner +instanceKlass com/intellij/icons/AllIcons$Windows +instanceKlass com/intellij/openapi/ui/popup/ActiveIcon +instanceKlass com/intellij/lang/javascript/psi/JSControlFlowScope +instanceKlass com/intellij/lang/javascript/psi/ecma6/JSNamedTypeDeclaration +instanceKlass com/intellij/lang/javascript/psi/ecma6/JSTypedEntity +instanceKlass javax/swing/plaf/basic/BasicHTML +instanceKlass com/intellij/lang/javascript/psi/JSSuppressionHolder +instanceKlass com/intellij/lang/javascript/psi/JSSourceElement +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSQualifiedNamedElement +instanceKlass com/intellij/lang/javascript/psi/JSPsiElementBase +instanceKlass sun/reflect/misc/Trampoline +instanceKlass com/intellij/lang/javascript/psi/JSElementBase +instanceKlass com/intellij/lang/javascript/psi/JSNamedElement +instanceKlass sun/reflect/misc/MethodUtil$1 +instanceKlass com/intellij/lang/javascript/psi/JSPsiNamedElementBase +instanceKlass com/intellij/lang/javascript/psi/JSNamedElementBase +instanceKlass com/intellij/psi/PsiNameIdentifierOwner +instanceKlass com/intellij/lang/javascript/psi/JSQualifiedName +instanceKlass com/intellij/lang/javascript/psi/JSRecordType$TypeMember +instanceKlass com/intellij/lang/javascript/psi/JSRecordType +instanceKlass com/intellij/lang/javascript/psi/JSType +instanceKlass com/intellij/lang/javascript/psi/ecmal4/JSAttributeListOwner +instanceKlass com/jetbrains/rdserver/lux/services/LuxHostService$Companion +instanceKlass com/intellij/lang/javascript/ecmascript6/TypeScriptUtil +instanceKlass com/intellij/ui/ToolbarServiceImpl +instanceKlass com/intellij/ui/ToolbarService$Companion +instanceKlass com/intellij/ui/ToolbarService +instanceKlass com/intellij/ui/ToolbarUtil +instanceKlass com/intellij/lang/javascript/index/JSStringLiteralWordsIndex$1 +instanceKlass com/intellij/CommonBundle +instanceKlass com/intellij/openapi/ui/DialogWrapper$6 +instanceKlass java/awt/event/WindowAdapter +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Window +instanceKlass com/intellij/lang/javascript/index/JSImplicitElementsIndex$1 +instanceKlass com/intellij/openapi/wm/impl/IdePaneLoadingLayer +instanceKlass com/intellij/openapi/wm/impl/PainterHelper +instanceKlass com/intellij/openapi/ui/Painter$Listener +instanceKlass com/intellij/openapi/ui/AbstractPainter +instanceKlass com/intellij/openapi/ui/Painter +instanceKlass com/intellij/openapi/wm/impl/IdeGlassPaneImpl$Companion +instanceKlass javax/swing/ActionMap +instanceKlass com/intellij/psi/util/CachedValueProvider$Result +instanceKlass com/intellij/psi/util/ParameterizedCachedValueProvider +instanceKlass com/intellij/psi/FilePropertyKeyImpl$Companion +instanceKlass com/intellij/psi/FilePropertyKeyImpl +instanceKlass com/intellij/psi/FilePropertyKey +instanceKlass javax/swing/RepaintManager$PaintManager +instanceKlass javax/swing/JRootPane$RootLayout +instanceKlass com/intellij/lang/javascript/DialectDetector +instanceKlass com/intellij/lang/javascript/index/JSCustomSingleEntriesIndex$1 +instanceKlass com/intellij/openapi/wm/impl/IdeGlassPaneEx +instanceKlass com/intellij/openapi/wm/IdeGlassPane +instanceKlass com/intellij/lang/javascript/index/JSPackageIndex$2 +instanceKlass com/intellij/openapi/util/WindowStateService +instanceKlass com/intellij/lang/javascript/index/JSPackageIndex$1 +instanceKlass java/util/stream/MatchOps$BooleanTerminalSink +instanceKlass java/util/stream/MatchOps$MatchOp +instanceKlass com/intellij/lang/javascript/index/JSPackageIndex$PackageElementsProcessor +instanceKlass java/util/stream/MatchOps +instanceKlass com/intellij/openapi/ui/popup/JBPopup +instanceKlass com/intellij/openapi/ui/popup/LightweightWindow +instanceKlass com/intellij/openapi/ui/popup/IdePopupEventDispatcher +instanceKlass com/intellij/util/ui/OwnerOptional +instanceKlass com/intellij/openapi/ui/Queryable +instanceKlass com/intellij/openapi/ui/DialogWrapperDialog +instanceKlass com/intellij/ide/impl/DataManagerImpl$1 +instanceKlass com/intellij/openapi/util/RecursionManager$2 +instanceKlass com/intellij/util/containers/SoftKeySoftValueHashMap +instanceKlass com/intellij/openapi/actionSystem/CustomizedDataContext +instanceKlass com/intellij/ide/ProhibitAWTEvents +instanceKlass nl/hannahsten/texifyidea/index/file/LatexExternalPackageInclusionIndex$Cache +instanceKlass nl/hannahsten/texifyidea/index/file/LatexExternalPackageInclusionDataIndexer$Companion +instanceKlass nl/hannahsten/texifyidea/index/file/LatexExternalPackageInclusionDataIndexer +instanceKlass com/intellij/openapi/actionSystem/impl/EdtDataContext +instanceKlass com/intellij/openapi/actionSystem/AnActionEvent$InjectedDataContextSupplier +instanceKlass com/intellij/openapi/actionSystem/DataContext +instanceKlass com/intellij/ide/ui/IdeUiService +instanceKlass com/intellij/util/containers/ConcurrentFactoryMap +instanceKlass com/intellij/openapi/actionSystem/InjectedDataKeys +instanceKlass nl/hannahsten/texifyidea/index/file/LatexExternalEnvironmentIndex$Cache +instanceKlass kotlin/ranges/RangesKt__RangesKt +instanceKlass com/intellij/ide/impl/dataRules/GetDataRule +instanceKlass kotlin/text/StringsKt__AppendableKt +instanceKlass com/intellij/ide/DataManager +instanceKlass com/intellij/openapi/actionSystem/CommonDataKeys +instanceKlass com/intellij/openapi/ui/impl/AbstractDialog +instanceKlass com/intellij/openapi/ui/DialogWrapperPeer +instanceKlass com/intellij/openapi/ui/DialogWrapperPeerFactory +instanceKlass com/intellij/openapi/ui/DialogWrapper$1 +instanceKlass com/sun/java/swing/SwingUtilities3 +instanceKlass java/awt/FlowLayout +instanceKlass com/intellij/util/ui/NamedColorUtil +instanceKlass com/intellij/openapi/util/Weighted +instanceKlass com/intellij/openapi/ui/NullableComponent +instanceKlass java/awt/event/ComponentAdapter +instanceKlass com/intellij/ui/messages/AlertMessagesManager$Companion +instanceKlass arrow/core/Some$Companion +instanceKlass com/intellij/ui/messages/AlertMessagesManager +instanceKlass com/intellij/openapi/client/ClientSessionsUtilKt +instanceKlass kotlin/collections/EmptyIterator +instanceKlass arrow/core/NonEmptySet +instanceKlass com/jetbrains/rdserver/ui/BackendNotificationsHost$Companion +instanceKlass arrow/core/NonEmptyCollection +instanceKlass com/jetbrains/codeWithMe/model/RdNotificationGroupModel +instanceKlass kotlin/collections/EmptySet +instanceKlass arrow/core/NonEmptySetKt +instanceKlass arrow/core/Option$Companion +instanceKlass com/jetbrains/rdserver/core/RemoteProjectSession +instanceKlass com/jetbrains/rdserver/core/RemoteSession +instanceKlass com/jetbrains/rd/platform/client/ProtocolProjectSession +instanceKlass com/intellij/openapi/client/ClientProjectSession +instanceKlass arrow/core/Option +instanceKlass com/jetbrains/rd/platform/client/ProtocolClientSession +instanceKlass com/jetbrains/rd/ide/model/ActionRegistrationModel +instanceKlass com/intellij/notification/Notification +instanceKlass arrow/core/MapKt +instanceKlass com/jetbrains/rdserver/ui/BackendMessagesService$Companion +instanceKlass nl/hannahsten/texifyidea/lang/commands/LatexGlossariesCommand$Companion +instanceKlass com/intellij/ui/messages/MessagesServiceImpl +instanceKlass com/intellij/openapi/ui/messages/MessagesService$Companion +instanceKlass com/intellij/openapi/ui/messages/MessagesService +instanceKlass com/intellij/util/containers/FilteredTraverserBase$Cond +instanceKlass com/intellij/util/containers/JBIterator +instanceKlass com/intellij/util/NotNullizer +instanceKlass com/intellij/util/containers/TreeTraversal$TraversalInterceptor +instanceKlass com/intellij/util/containers/TreeTraversal$GuidedIt$Guide +instanceKlass com/intellij/util/containers/FilteredTraverserBase$Meta +instanceKlass com/intellij/util/containers/TreeTraversal +instanceKlass nl/hannahsten/texifyidea/lang/commands/LatexRegularCommand +instanceKlass com/intellij/util/containers/FilteredTraverserBase +instanceKlass com/intellij/util/containers/JBIterable +instanceKlass kotlin/comparisons/ComparisonsKt__ComparisonsKt +instanceKlass javax/swing/text/Caret +instanceKlass nl/hannahsten/texifyidea/util/magic/CommandMagic$special$$inlined$sortedBy$1 +instanceKlass javax/swing/JFormattedTextField$AbstractFormatterFactory +instanceKlass javax/swing/JFormattedTextField$AbstractFormatter +instanceKlass javax/swing/ScrollPaneConstants +instanceKlass kotlin/TuplesKt +instanceKlass kotlin/collections/ArraysUtilJVM +instanceKlass kotlin/collections/CollectionsKt__CollectionsJVMKt +instanceKlass com/intellij/openapi/ui/MessageDialogBuilder$Companion +instanceKlass com/intellij/openapi/ui/MessageDialogBuilder +instanceKlass com/intellij/openapi/ui/DoNotAskOption$Adapter +instanceKlass com/intellij/ide/trustedProjects/TrustedProjectsDialog +instanceKlass nl/hannahsten/texifyidea/util/magic/FileMagic +instanceKlass kotlin/io/path/PathsKt__PathReadWriteKt +instanceKlass nl/hannahsten/texifyidea/file/FileExtensionMatcher +instanceKlass nl/hannahsten/texifyidea/file/FileNameMatcher +instanceKlass com/intellij/ide/impl/TrustedPathsSettings$Companion +instanceKlass com/intellij/ide/lightEdit/LightEdit +instanceKlass com/intellij/ide/impl/TrustedPaths$State +instanceKlass com/intellij/ide/impl/TrustedPaths$Companion +instanceKlass com/intellij/ide/trustedProjects/TrustedProjects +instanceKlass com/intellij/ide/trustedProjects/TrustedProjectsLocator$Companion$locateProject$4 +instanceKlass com/intellij/ide/trustedProjects/TrustedProjectsLocator$LocatedProject +instanceKlass com/intellij/openapi/externalSystem/service/project/trusted/ExternalSystemTrustedProjectsLocator +instanceKlass nl/hannahsten/texifyidea/util/magic/MagicUtilKt +instanceKlass com/intellij/ide/trustedProjects/impl/DefaultTrustedProjectsLocator +instanceKlass nl/hannahsten/texifyidea/lang/LatexPackage$Companion +instanceKlass com/intellij/ide/trustedProjects/TrustedProjectsLocator$Companion +instanceKlass com/intellij/ide/trustedProjects/TrustedProjectsLocator +instanceKlass org/angular2/editor/Angular2Injector$Holder +instanceKlass nl/hannahsten/texifyidea/lang/LatexPackage +instanceKlass kotlin/collections/AbstractList$Companion +instanceKlass com/intellij/openapi/project/impl/ProjectManagerImplKt +instanceKlass kotlin/collections/AbstractCollection +instanceKlass com/intellij/util/NullableFunction +instanceKlass com/intellij/lang/javascript/JSInjectionBracesUtil +instanceKlass kotlin/enums/EnumEntries +instanceKlass kotlin/jvm/internal/markers/KMappedMarker +instanceKlass com/intellij/util/PairFunction +instanceKlass io/opentelemetry/sdk/trace/data/ImmutableStatusData +instanceKlass io/opentelemetry/sdk/trace/data/StatusData +instanceKlass io/opentelemetry/sdk/trace/AnchoredClock +instanceKlass kotlin/enums/EnumEntriesKt +instanceKlass io/opentelemetry/sdk/trace/data/SpanData +instanceKlass io/opentelemetry/sdk/trace/data/EventData +instanceKlass io/opentelemetry/sdk/trace/SdkSpan +instanceKlass io/opentelemetry/sdk/trace/ReadWriteSpan +instanceKlass io/opentelemetry/sdk/trace/ReadableSpan +instanceKlass org/angularjs/editor/AngularJSInjector +instanceKlass com/intellij/lang/injection/MultiHostInjector +instanceKlass io/opentelemetry/sdk/trace/samplers/ImmutableSamplingResult +instanceKlass io/opentelemetry/sdk/trace/samplers/SamplingResult +instanceKlass com/intellij/codeInsight/completion/CompletionProvider +instanceKlass io/opentelemetry/api/internal/TemporaryBuffers +instanceKlass com/intellij/lang/javascript/JSInjectionBracesUtil$InterpolationBracesCompleter +instanceKlass io/opentelemetry/sdk/trace/SpanLimitsBuilder +instanceKlass io/opentelemetry/sdk/trace/SdkSpanBuilder +instanceKlass com/intellij/platform/diagnostic/telemetry/TraceWrapper +instanceKlass io/opentelemetry/api/trace/DefaultTracer +instanceKlass io/opentelemetry/api/trace/DefaultTracerProvider +instanceKlass com/intellij/platform/diagnostic/telemetry/IJNoopTracer +instanceKlass com/intellij/platform/diagnostic/telemetry/IJTracer +instanceKlass com/intellij/platform/diagnostic/telemetry/TraceWrapperKt +instanceKlass io/opentelemetry/api/trace/SpanBuilder +instanceKlass nl/hannahsten/texifyidea/lang/commands/LatexCommandKt +instanceKlass nl/hannahsten/texifyidea/lang/commands/Argument +instanceKlass io/opentelemetry/sdk/trace/SdkTracerBuilder +instanceKlass nl/hannahsten/texifyidea/lang/commands/LatexCommand$Companion +instanceKlass java/util/concurrent/Semaphore +instanceKlass com/intellij/platform/diagnostic/telemetry/helpers/SharedMetrics +instanceKlass nl/hannahsten/texifyidea/lang/commands/LatexCommand +instanceKlass nl/hannahsten/texifyidea/lang/Dependend +instanceKlass nl/hannahsten/texifyidea/lang/Described +instanceKlass com/intellij/workspaceModel/ide/impl/JpsMetricsKt +instanceKlass com/intellij/openapi/project/impl/ExcludeRootsCache$1 +instanceKlass com/intellij/openapi/project/impl/ExcludeRootsCache +instanceKlass com/intellij/openapi/project/impl/ProjectManagerImpl$1 +instanceKlass com/intellij/util/Timed +instanceKlass com/intellij/lang/javascript/psi/JSExpression +instanceKlass com/intellij/lang/javascript/psi/JSElement +instanceKlass nl/hannahsten/texifyidea/util/magic/CommandMagic +instanceKlass com/intellij/openapi/project/impl/ProjectManagerImpl$Companion +instanceKlass nl/hannahsten/texifyidea/index/file/LatexExternalEnvironmentDataIndexer +instanceKlass nl/hannahsten/texifyidea/index/file/LatexExternalCommandIndex$Cache +instanceKlass com/intellij/internal/statistic/notification/StatisticsNotificationManagerImpl$1 +instanceKlass kotlin/text/Regex$Companion +instanceKlass kotlin/text/Regex +instanceKlass com/intellij/notification/impl/NotificationSettings +instanceKlass com/intellij/notification/NotificationsConfiguration +instanceKlass com/intellij/notification/Notifications +instanceKlass nl/hannahsten/texifyidea/index/file/LatexExternalCommandDataIndexer$Companion +instanceKlass kotlin/collections/MapsKt__MapWithDefaultKt +instanceKlass nl/hannahsten/texifyidea/index/file/LatexExternalCommandDataIndexer +instanceKlass com/intellij/ide/impl/ProjectUtil +instanceKlass com/intellij/swagger/core/index/SwReferencesIndexKt +instanceKlass com/intellij/ide/impl/OpenProjectTask$Companion +instanceKlass com/intellij/swagger/core/index/SwReferenceIndexer +instanceKlass com/intellij/swagger/core/index/SwReferencesIndex$SwReferenceDataExternalizer +instanceKlass com/intellij/internal/statistic/eventLog/StatisticsEventEscaper +instanceKlass com/intellij/ide/impl/OpenProjectTask +instanceKlass com/intellij/swagger/core/index/OpenapiSpecificationContentIndex$SpecificationDataExternalizer +instanceKlass com/intellij/swagger/core/index/OpenapiSpecificationContentIndex$SpecificationContentIndexer +instanceKlass com/intellij/ide/impl/ProjectUtilCore +instanceKlass com/intellij/swagger/core/index/OpenapiSpecificationContentIndexKt +instanceKlass com/intellij/platform/PlatformProjectOpenProcessor$Companion +instanceKlass com/intellij/internal/statistic/eventLog/FeatureUsageData$Companion +instanceKlass com/intellij/internal/statistic/eventLog/FeatureUsageData +instanceKlass com/intellij/projectImport/ProjectOpenProcessor$Companion +instanceKlass com/intellij/httpClient/http/request/index/HttpRequestNameIndexKt +instanceKlass com/intellij/projectImport/ProjectOpenProcessor +instanceKlass com/intellij/httpClient/http/request/index/HttpRequestHeaderIndex +instanceKlass com/intellij/platform/CommandLineProjectOpenProcessor +instanceKlass com/intellij/util/containers/ContainerUtilRt +instanceKlass com/intellij/internal/statistic/eventLog/events/EventPair +instanceKlass com/intellij/ide/impl/OpenProjectTaskBuilder +instanceKlass com/intellij/lang/properties/xml/XmlPropertiesIndex$Key +instanceKlass net/n3/nanoxml/IXMLReader +instanceKlass com/intellij/ide/impl/OpenProjectTaskKt +instanceKlass it/unimi/dsi/fastutil/ints/Int2LongMap$FastEntrySet +instanceKlass kotlin/collections/ArraysKt__ArraysJVMKt +instanceKlass org/jetbrains/plugins/sass/extensions/SassExtensionFunctionInfo +instanceKlass org/jetbrains/plugins/sass/extensions/SassExtensionFunctionExternalizer +instanceKlass it/unimi/dsi/fastutil/ints/AbstractInt2LongFunction +instanceKlass it/unimi/dsi/fastutil/ints/Int2LongMap +instanceKlass com/intellij/ide/lightEdit/LightEditUtil$LightEditCommandLineOptions +instanceKlass com/intellij/psi/PsiRecursiveVisitor +instanceKlass it/unimi/dsi/fastutil/ints/Int2LongFunction +instanceKlass java/util/function/IntToLongFunction +instanceKlass com/intellij/codeInsight/completion/EmptyCompletionNotifier +instanceKlass com/intellij/psi/css/index/CssTemplateSelectorsIndex$MyDataIndexer +instanceKlass com/intellij/psi/css/index/CssTemplateSelectorsIndex$1 +instanceKlass com/intellij/psi/css/index/CssIndex$1 +instanceKlass com/intellij/psi/css/index/CssIndex$CssIndexCallback +instanceKlass com/intellij/ide/lightEdit/LightEditUtil +instanceKlass com/intellij/lexer/EmbedmentLexer +instanceKlass com/intellij/featureStatistics/fusCollectors/EventsIdentityThrottle +instanceKlass com/intellij/featureStatistics/fusCollectors/EventsRateThrottle +instanceKlass com/intellij/lang/puppet/ide/navigation/plugins/ruby/PuppetRubyPluginsIndex$MyKeyDescriptor +instanceKlass com/intellij/ide/CommandLineProcessor$ParsingResult +instanceKlass com/intellij/internal/statistic/local/ActionExtendedSummary +instanceKlass com/intellij/util/indexing/DefaultFileTypeSpecificInputFilter +instanceKlass com/intellij/util/indexing/FileBasedIndex$FileTypeSpecificInputFilter +instanceKlass org/editorconfig/language/index/EditorConfigIdentifierIndex$Companion +instanceKlass com/intellij/ide/CommandLineProcessor +instanceKlass com/jetbrains/clones/index/HashFragmentIndex$Companion +instanceKlass com/jetbrains/jsonSchema/impl/JsonSchemaFileValuesIndex$1 +instanceKlass com/intellij/lexer/RestartableLexer +instanceKlass com/intellij/idea/IdeStarterKt +instanceKlass com/intellij/html/index/Html5CustomAttributesIndex$1 +instanceKlass net/n3/nanoxml/IXMLBuilder +instanceKlass com/jetbrains/performancePlugin/ProjectLoaded$MyAppLifecycleListener +instanceKlass com/intellij/internal/statistic/local/ActionsTotalSummary +instanceKlass com/intellij/feedback/pycharmUi/state/NewUserFirstRunDateTracker +instanceKlass com/intellij/internal/statistic/local/ActionsLocalSummaryState +instanceKlass com/intellij/openapi/util/ThreadLocalCachedIntArray +instanceKlass com/intellij/feedback/localization/service/LocalizationFeedbackStartupListener +instanceKlass com/intellij/psi/search/FileTypeIndex$IndexChangeListener +instanceKlass com/intellij/psi/search/FileTypeIndex +instanceKlass org/jetbrains/plugins/notebooks/jupyter/featureStatistics/JupyterFeaturesApplicabilityFilter +instanceKlass com/intellij/ui/ExperimentalUiAppLifecycleListener +instanceKlass com/intellij/openapi/editor/actions/ResetFontSizeAppInitListener +instanceKlass kotlin/collections/SetsKt__SetsJVMKt +instanceKlass com/intellij/util/indexing/CustomInputsIndexFileBasedIndexExtension +instanceKlass com/intellij/psi/impl/cache/impl/todo/TodoIndex$1 +instanceKlass com/intellij/psi/search/IndexPatternProvider +instanceKlass com/intellij/ide/plugins/CreateAllServicesAndExtensionsActivity +instanceKlass com/intellij/psi/impl/cache/impl/todo/TodoIndex$2 +instanceKlass com/intellij/featureStatistics/StatisticsStateCollectorsTrigger +instanceKlass com/intellij/database/featureStatistics/DatabaseFeaturesApplicabilityFilter +instanceKlass com/intellij/ui/mac/MergeAllWindowsAction$RecentProjectsFullScreenTabSupport +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateSettingsEntryPointActionProvider$LifecycleListener +instanceKlass com/intellij/framework/detection/impl/FrameworkDetectionIndexListener +instanceKlass com/intellij/ide/actions/CreateLauncherScriptAction$ObsoleteScriptLookupTask +instanceKlass com/intellij/xml/XmlBundle +instanceKlass com/intellij/openapi/updateSettings/impl/UpdateCheckerService$MyAppLifecycleListener +instanceKlass com/intellij/psi/stubs/StubForwardIndexExternalizer +instanceKlass com/intellij/util/indexing/hints/BaseFileTypeInputFilter +instanceKlass com/intellij/util/indexing/hints/FileTypeIndexingHint +instanceKlass com/intellij/ide/ui/IconDbMaintainer +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/VFSErrorsToFUSReporter +instanceKlass com/intellij/util/indexing/FileBasedIndex$ProjectSpecificInputFilter +instanceKlass com/intellij/dvcs/featureStatistics/VcsFeaturesApplicabilityFilter +instanceKlass com/intellij/featureStatistics/ApplicabilityFilter +instanceKlass com/intellij/util/indexing/CompositeDataIndexer +instanceKlass org/intellij/plugins/markdown/editor/headers/HeaderLevelInferenceTypedHandler$Companion +instanceKlass com/intellij/internal/statistic/EventLogApplicationLifecycleListener +instanceKlass com/intellij/util/indexing/SingleEntryIndexer +instanceKlass com/intellij/util/indexing/impl/storage/TransientChangesIndexStorage$BufferingStateListener +instanceKlass com/intellij/ide/RecentProjectsManagerBase$MyAppLifecycleListener +instanceKlass com/intellij/util/indexing/DataIndexer +instanceKlass com/intellij/util/indexing/CustomImplementationFileBasedIndexExtension +instanceKlass com/intellij/featureStatistics/ProductivityFeaturesRegistryImpl$1 +instanceKlass com/intellij/featureStatistics/ProductivityFeaturesProvider +instanceKlass com/intellij/ide/plugins/PluginUtilImpl +instanceKlass com/intellij/ide/plugins/PluginUtil +instanceKlass com/intellij/psi/search/FilenameIndex +instanceKlass com/intellij/featureStatistics/FeatureUsageEvent +instanceKlass com/intellij/featureStatistics/FeatureDescriptor +instanceKlass com/intellij/util/io/VoidDataExternalizer +instanceKlass com/intellij/featureStatistics/GroupDescriptor +instanceKlass it/unimi/dsi/fastutil/ints/IntArrayList$1 +instanceKlass com/intellij/ide/IdleTracker$addIdleListener$1$1 +instanceKlass com/intellij/util/indexing/PersistentDirtyFilesQueue +instanceKlass com/intellij/util/indexing/FileBasedIndexImpl$MyShutDownTask +instanceKlass kotlinx/coroutines/TimeoutKt +instanceKlass com/intellij/util/indexing/FileBasedIndexDataInitialization$MyApplicationListener +instanceKlass com/intellij/util/indexing/FileBasedIndexDataInitialization$1 +instanceKlass com/intellij/featureStatistics/ProductivityFeaturesRegistry +instanceKlass com/intellij/util/indexing/IndexConfiguration +instanceKlass com/intellij/util/indexing/IndexVersionRegistrationSink +instanceKlass com/intellij/platform/diagnostic/telemetry/BatchSpanProcessorKt +instanceKlass it/unimi/dsi/fastutil/ints/IntCollections$UnmodifiableCollection +instanceKlass com/intellij/settingsSync/SettingsSyncSettings$State +instanceKlass com/intellij/featureStatistics/CumulativeStatistics +instanceKlass com/intellij/ide/IdleTracker$Companion +instanceKlass com/intellij/settingsSync/SettingsSyncSettings$Companion +instanceKlass com/intellij/ide/IdleTracker +instanceKlass com/intellij/platform/diagnostic/telemetry/BatchSpanProcessor +instanceKlass com/intellij/settingsSync/SettingsSyncState +instanceKlass com/intellij/vcs/log/VcsLogTelemetryExporter$LogHistorySpanExporter +instanceKlass it/unimi/dsi/fastutil/ints/IntSets +instanceKlass com/jetbrains/rd/ide/model/FileTransmissionRequest +instanceKlass com/intellij/platform/diagnostic/telemetry/AsyncSpanExporter +instanceKlass com/intellij/settingsSync/SettingsChangeListener +instanceKlass com/intellij/util/indexing/IndexDataInitializer$Companion +instanceKlass com/intellij/featureStatistics/FeatureUsageTracker +instanceKlass com/intellij/util/indexing/IndexDataInitializer +instanceKlass com/intellij/internal/statistic/service/fus/collectors/FUStateUsagesLoggerKt +instanceKlass com/intellij/vcs/log/VcsLogTelemetryExporter +instanceKlass com/intellij/settingsSync/SettingsSyncEvents$Companion +instanceKlass com/jetbrains/rd/platform/codeWithMe/diagnostics/FileTransmissionHandler +instanceKlass com/intellij/settingsSync/SettingsSyncEvents +instanceKlass com/jetbrains/rd/platform/codeWithMe/diagnostics/FileTransmission +instanceKlass com/intellij/internal/statistic/notification/StatisticsNotificationManagerImpl +instanceKlass com/intellij/settingsSync/SettingsSyncMainKt +instanceKlass com/intellij/internal/statistic/service/fus/collectors/FUStateUsagesLogger$Companion +instanceKlass com/intellij/codeInsight/editorActions/TypedHandlerDelegate +instanceKlass com/intellij/internal/statistic/updater/StatisticsJobsSchedulerKt +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/ConnectionState +instanceKlass com/intellij/util/indexing/RegisteredIndexes +instanceKlass com/intellij/remoteDev/tracing/LuxExportersProvider +instanceKlass com/intellij/internal/statistic/service/fus/collectors/FUStateUsagesLogger +instanceKlass com/intellij/ide/K/K +instanceKlass com/intellij/ide/StatisticsNotificationManager +instanceKlass com/intellij/remoteDev/tracing/RdctExportersProvider +instanceKlass com/intellij/internal/statistic/service/fus/collectors/UsagesCollectorConsumer +instanceKlass com/intellij/openapi/fileTypes/impl/associate/OSFileAssociationPreferences +instanceKlass com/intellij/ide/plugins/PluginManagerMain +instanceKlass com/intellij/ide/bootstrap/ApplicationLoader$addActivateAndWindowsCliListeners$3 +instanceKlass com/intellij/platform/diagnostic/telemetry/impl/otExporters/OTelExportersProvider$Companion +instanceKlass com/intellij/openapi/application/ImportOldConfigsUsagesCollector$ImportOldConfigsState +instanceKlass com/intellij/platform/diagnostic/telemetry/impl/otExporters/OTelExportersProvider +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/VFSHealthCheckerConstants +instanceKlass com/google/gson/internal/LinkedTreeMap$LinkedTreeMapIterator +instanceKlass kotlin/reflect/jvm/internal/UtilKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/KotlinClassFinderKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$KotlinClassLookupResult +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/descriptors/DeserializedAnnotations +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ProtoContainer +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ScopesHolderForClass$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ScopesHolderForClass +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/VersionSpecificBehaviorKt +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ProtoEnumFlagsUtilsKt$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ProtoEnumFlagsUtilsKt +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ProtoEnumFlags$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$MemberKind$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Class$Kind$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Modality$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Visibility$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/Flags$FlagField +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/Flags +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ProtoEnumFlags +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/JvmNameResolverBase$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DeserializedDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ClassDeserializer$ClassKey +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ClassData +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/KotlinJvmBinarySourceElement +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/descriptors/DeserializedContainerSource +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/JvmNameResolverKt +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/JvmProtoBuf$StringTableTypes$Record$Operation$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/JvmProtoBuf$StringTableTypes$RecordOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/JvmProtoBuf$StringTableTypesOrBuilder +instanceKlass kotlin/collections/IndexedValue +instanceKlass kotlin/collections/IndexingIterator +instanceKlass kotlin/collections/IndexingIterable +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/JvmNameResolverBase$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/JvmNameResolverBase +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/UtfEncodingKt +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/BitEncoding +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/KotlinClassFinder$Result +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/header/KotlinClassHeader +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/header/ReadKotlinClassHeaderAnnotationVisitor$CollectStringArrayAnnotationVisitor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectKotlinClassKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/KotlinJvmBinaryClass$AnnotationArrayArgumentVisitor +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/header/ReadKotlinClassHeaderAnnotationVisitor$KotlinMetadataArgumentVisitor +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/jvm/JvmClassName +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JvmAnnotationNames +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectAnnotationSource +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectClassStructure +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/KotlinJvmBinaryClass$AnnotationArgumentVisitor +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/header/ReadKotlinClassHeaderAnnotationVisitor +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/KotlinJvmBinaryClass$AnnotationVisitor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectKotlinClass$Factory +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectKotlinClass +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/KotlinJvmBinaryClass +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectJavaClassFinderKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectKotlinClassFinderKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/LazyJavaPackageScope$FindClassRequest +instanceKlass kotlin/reflect/jvm/internal/impl/incremental/UtilsKt +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/ChainedMemberScope$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/ChainedMemberScope +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/LazyJavaAnnotations +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/LazyJavaAnnotationsKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/descriptors/JvmPackageScope +instanceKlass kotlin/reflect/jvm/internal/impl/utils/DeserializationHelpersKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/ContextKt +instanceKlass kotlin/reflect/jvm/internal/impl/storage/LockBasedStorageManager$KeyWithComputation +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectJavaElement +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaPackage +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaAnnotationOwner +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/structure/JavaElement +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaClassFinder$$Util +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PackageFragmentProviderKt +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/AbstractScopeAdapter +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/ResolutionAnchorProviderKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/FindClassInModuleKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/PackagePartScopeCache +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/DeserializationComponentsForJava$Companion$ModuleData +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/CompositePackageFragmentProvider +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInClassDescriptorFactory$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInClassDescriptorFactory +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInsPackageFragmentProvider$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/AbstractDeserializedPackageFragmentProvider +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/jvm/JavaDescriptorResolver +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/JvmProtoBuf$JvmFieldSignatureOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/JvmProtoBuf$JvmPropertySignatureOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/JvmProtoBuf$JvmMethodSignatureOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/JvmProtoBuf +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/JvmProtoBufUtil +instanceKlass kotlin/reflect/jvm/internal/impl/utils/WrappedValues$ThrowableWrapper +instanceKlass kotlin/reflect/jvm/internal/impl/types/KotlinTypeFactory +instanceKlass kotlin/reflect/jvm/internal/impl/util/ArrayMap +instanceKlass kotlin/reflect/jvm/internal/impl/util/TypeRegistry +instanceKlass kotlin/reflect/jvm/internal/impl/util/AbstractArrayMapOwner +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PropertyGetterDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/FieldDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PropertySetterDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/types/error/ErrorPropertyDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PropertyDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/VariableDescriptorWithAccessors +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/VariableDescriptor +instanceKlass kotlin/jvm/internal/StringCompanionObject +instanceKlass kotlin/reflect/jvm/internal/impl/types/error/ErrorTypeConstructor +instanceKlass kotlin/reflect/jvm/internal/impl/types/error/ErrorScope +instanceKlass kotlin/reflect/jvm/internal/impl/util/ModuleVisibilityHelper$EMPTY +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DescriptorVisibilities$12 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DescriptorVisibilities$11 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DescriptorVisibilities$10 +instanceKlass kotlin/reflect/jvm/internal/impl/util/ModuleVisibilityHelper +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DescriptorVisibility +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/Visibility +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DescriptorVisibilities +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/receivers/ReceiverValue +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/FunctionDescriptor$CopyBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ClassConstructorDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ConstructorDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/ModuleDependenciesImpl +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/ModuleDependencies +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/SmallSortedMap$EntryIterator +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/GeneratedMessageLite$ExtendableMessage$ExtensionWriter +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/descriptors/DeserializedMemberScope$OptimizedImplementation +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/descriptors/DeserializedMemberScope$Implementation +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/MemberDeserializer +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/TypeDeserializer +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/DeserializationContext +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/VersionRequirementTable$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/VersionRequirementTable +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/TypeTable +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ClassDeserializer$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ClassDeserializer +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/PlatformDependentTypeTransformer$None +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/PlatformDependentTypeTransformer +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/FlexibleTypeDeserializer$ThrowException +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ErrorReporter$1 +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/AnnotationAndConstantLoaderImpl +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/DeserializedClassDataFinder +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PackageFragmentProviderImpl +instanceKlass kotlin/Triple +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/NameResolverImpl$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/Utf8 +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/NameResolverUtilKt +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ProtoBasedClassDataFinder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/NameResolverImpl +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/NameResolver +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$Argument$Projection$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Type$ArgumentOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$ArgumentOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/SmallSortedMap$Entry +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/FieldSet$1 +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/AbstractMessageLite$Builder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/GeneratedMessageLite$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable$QualifiedName$Kind$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTable$QualifiedNameOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/WireFormat +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/CodedOutputStream +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/CodedInputStream +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$QualifiedNameTableOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/LazyStringList +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/ProtocolStringList +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$StringTableOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$PackageFragmentOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/builtins/BuiltInsBinaryVersion$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/builtins/ReadPackageFragmentKt +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/builtins/BuiltInsPackageFragmentImpl$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/BuiltInsPackageFragment +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite$ObjectIntPair +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$TypeParameter$Variance$1 +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$TypeParameterOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$EnumEntryOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Argument$Value$Type$1 +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/Internal$EnumLiteMap +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$Annotation$Argument$ValueOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$ValueParameterOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$PropertyOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$ContractOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$FunctionOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$ConstructorOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$AnnotationOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$TypeOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$ClassOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/Internal$EnumLite +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/GeneratedMessageLite$ExtensionDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/GeneratedMessageLite$GeneratedExtension +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$VersionRequirementTableOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$TypeTableOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/ByteString$ByteIterator +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/ByteString +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/SmallSortedMap$EmptySet$2 +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/SmallSortedMap$EmptySet$1 +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/SmallSortedMap$EmptySet +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/LazyFieldLite +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/FieldSet +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/AbstractParser +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/Parser +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/MessageLite$Builder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/FieldSet$FieldDescriptorLite +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/AbstractMessageLite +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/ProtoBuf$PackageOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/GeneratedMessageLite$ExtendableMessageOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/MessageLite +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/MessageLiteOrBuilder +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/builtins/BuiltInsProtoBuf +instanceKlass kotlin/reflect/jvm/internal/impl/protobuf/ExtensionRegistryLite +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/SerializerExtensionProtocol +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/AdditionalClassPartsProvider$None +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/PlatformDependentDeclarationFilter$NoPlatformDependent +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/functions/BuiltInFictitiousFunctionClassFactory +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/ClassDescriptorFactory +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/builtins/BuiltInsLoaderImpl +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/BuiltInsLoader$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/BuiltInsLoader +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/DefaultBuiltIns$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/types/error/ErrorModuleDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/types/error/ErrorUtils +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeProjection +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeArgumentMarker +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeUtils +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/AbstractClassDescriptor$1$1 +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/KotlinTypeRefinerKt +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/descriptorUtil/DescriptorUtilsKt +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/DescriptorUtils +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/MemberScopeImpl +instanceKlass kotlin/reflect/jvm/internal/impl/types/ClassifierBasedTypeConstructor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ReceiverParameterDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ParameterDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ValueDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/AbstractClassDescriptor$3 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/AbstractClassDescriptor$2 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/AbstractClassDescriptor$1 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/Modality$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/ModuleAwareClassDescriptor$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeConstructor +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeConstructorMarker +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/MemberScope +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/scopes/ResolutionScope +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/ModuleAwareClassDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ClassDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ClassifierDescriptorWithTypeParameters +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PackageViewDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/KeywordStringsGenerated +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/RenderingUtilsKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ModuleDescriptor$DefaultImpls +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/DescriptorRendererImpl$RenderDeclarationDescriptorVisitor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DeclarationDescriptorVisitor +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/ClassifierNamePolicy$FULLY_QUALIFIED +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/ClassifierNamePolicy$SHORT +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/ExcludedTypeAnnotations +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/DescriptorRenderer$ValueParametersHandler$DEFAULT +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/DescriptorRenderer$ValueParametersHandler +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/DescriptorRendererModifier$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/ClassifierNamePolicy$SOURCE_CODE_QUALIFIED +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/ClassifierNamePolicy +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/DescriptorRendererOptionsImpl +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/DescriptorRendererOptions +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/DescriptorRenderer$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/renderer/DescriptorRenderer +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/SourceElement$1 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/SourceElement +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PackageFragmentDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ClassOrPackageFragmentDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JavaToKotlinClassMapper +instanceKlass kotlin/reflect/jvm/internal/impl/utils/DFS$Neighbors +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltInsCustomizer +instanceKlass kotlin/reflect/jvm/internal/impl/storage/StorageKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/JavaFlexibleTypeDeserializer +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/FlexibleTypeDeserializer +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/LocalClassifierTypeSettings$Default +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/LocalClassifierTypeSettings +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/DeserializationComponents +instanceKlass kotlin/reflect/jvm/internal/impl/types/DefaultTypeAttributeTranslator +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeAttributeTranslator +instanceKlass kotlin/reflect/jvm/internal/impl/types/extensions/TypeAttributeTranslators +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ContractDeserializer$Companion$DEFAULT$1 +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ContractDeserializer$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ContractDeserializer +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/DeserializationConfiguration$Default +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/DeserializationConfiguration +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/constants/ConstantValue +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/AnnotationDeserializer +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/AbstractBinaryClassAnnotationLoader +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/AnnotationAndConstantLoader +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/AnnotationLoader +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/BinaryClassAnnotationAndConstantLoaderImplKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/JavaClassDataFinder +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ClassDataFinder +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeParameterErasureOptions +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeParameterUpperBoundEraser$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/types/TypeParameterUpperBoundEraser +instanceKlass kotlin/reflect/jvm/internal/impl/types/ErasureProjectionComputer +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/types/JavaTypeResolver +instanceKlass kotlin/InitializedLazyImpl +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/TypeParameterResolver$EMPTY +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/TypeParameterResolver +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/LazyJavaResolverContext +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/LazyJavaPackageFragmentProvider +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PackageFragmentProviderOptimized +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PackageFragmentProvider +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/jvm/CompositeSyntheticJavaPartsProvider +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/jvm/SyntheticJavaPartsProvider$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/jvm/SyntheticJavaPartsProvider +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/DeserializationComponentsForJavaKt$makeLazyJavaPackageFragmentProvider$javaResolverComponents$1 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaModuleAnnotationsProvider +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil$1 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaIncompatibilityRulesOverridabilityCondition$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaIncompatibilityRulesOverridabilityCondition +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/ErasedOverridabilityCondition +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/FieldOverridabilityCondition +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/ExternalOverridabilityCondition +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/KotlinTypeChecker$TypeConstructorEquality +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/PropertyAccessorDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/VariableAccessorDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/FunctionDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/CallableMemberDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/MemberDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/CallableDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/Substitutable +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DeclarationDescriptorWithVisibility +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/OverridingUtil +instanceKlass kotlin/reflect/jvm/internal/impl/types/AbstractTypePreparator +instanceKlass kotlin/reflect/jvm/internal/impl/types/AbstractTypeRefiner +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/NewKotlinTypeCheckerImpl +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/NewKotlinTypeChecker$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/NewKotlinTypeChecker +instanceKlass kotlin/reflect/jvm/internal/impl/types/checker/KotlinTypeChecker +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaClassesTracker$Default +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaClassesTracker +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/JavaResolverSettings$Default +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/JavaResolverSettings +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/JavaTypeEnhancement +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/typeEnhancement/SignatureEnhancement +instanceKlass kotlin/reflect/jvm/internal/impl/utils/WrappedValues$1 +instanceKlass kotlin/reflect/jvm/internal/impl/utils/WrappedValues +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/NullabilityAnnotationStates$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/Jsr305Settings +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/ReportLevel$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaNullabilityAnnotationsStatus$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaNullabilityAnnotationsStatus +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/NullabilityAnnotationStatesImpl +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/NullabilityAnnotationStates +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaNullabilityAnnotationSettingsKt +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaTypeEnhancementState$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaTypeEnhancementState +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/AbstractAnnotationTypeQualifierResolver$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/AbstractAnnotationTypeQualifierResolver +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/ReflectionTypes$ClassLookup +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/ReflectionTypes$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/ReflectionTypes +instanceKlass kotlin/reflect/jvm/internal/impl/incremental/components/LookupTracker$DO_NOTHING +instanceKlass kotlin/reflect/jvm/internal/impl/incremental/components/LookupTracker +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/SupertypeLoopChecker$EMPTY +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/SupertypeLoopChecker +instanceKlass kotlin/reflect/jvm/internal/impl/storage/LockBasedStorageManager$CacheWithNullableValuesBasedOnMemoizedFunction$1 +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/sam/SamConversionResolverImpl +instanceKlass kotlin/reflect/jvm/internal/impl/resolve/sam/SamConversionResolver +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/JavaPropertyInitializerEvaluator$DoNothing +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/JavaPropertyInitializerEvaluator +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/JavaResolverCache$1 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/JavaResolverCache +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/SignaturePropagator$1 +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/components/SignaturePropagator +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/JavaResolverComponents +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/PackagePartProvider$Empty +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/PackagePartProvider +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/DeserializationComponentsForJavaKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/NotFoundClasses +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/SingleModuleClassResolver +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/lazy/ModuleClassResolver +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/jvm/deserialization/JvmMetadataVersion$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/BinaryVersion$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/metadata/deserialization/BinaryVersion +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/header/KotlinClassHeader$Kind$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/DeserializedDescriptorResolver$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/DeserializedDescriptorResolver +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/KotlinBuiltIns$4 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/PackageViewDescriptorFactory$Default +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ModuleCapability +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/PackageViewDescriptorFactory$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/impl/PackageViewDescriptorFactory +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/Annotations$Companion$EMPTY$1 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/Annotations$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/Annotations +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/AnnotatedImpl +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JvmBuiltIns$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/impl/storage/LockBasedStorageManager$MapBasedMemoizedFunction +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/KotlinBuiltIns$3 +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/KotlinBuiltIns$2 +instanceKlass kotlin/reflect/jvm/internal/impl/storage/LockBasedStorageManager$LockBasedLazyValue +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/KotlinBuiltIns$1 +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ClassifierDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DeclarationDescriptorNonRoot +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DeclarationDescriptorWithSource +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/TypeArgumentListMarker +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/SimpleTypeMarker +instanceKlass kotlin/reflect/jvm/internal/impl/types/KotlinType +instanceKlass kotlin/reflect/jvm/internal/impl/types/model/KotlinTypeMarker +instanceKlass kotlin/reflect/jvm/internal/impl/incremental/components/LookupLocation +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/PlatformDependentDeclarationFilter +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/deserialization/AdditionalClassPartsProvider +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/ModuleDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/DeclarationDescriptor +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/annotations/Annotated +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/Named +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/KotlinBuiltIns +instanceKlass kotlin/reflect/jvm/internal/impl/storage/DefaultSimpleLock +instanceKlass kotlin/reflect/jvm/internal/impl/storage/SimpleLock$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/storage/EmptySimpleLock +instanceKlass kotlin/reflect/jvm/internal/impl/storage/LockBasedStorageManager$ExceptionHandlingStrategy$1 +instanceKlass kotlin/reflect/jvm/internal/impl/storage/LockBasedStorageManager$ExceptionHandlingStrategy +instanceKlass kotlin/reflect/jvm/internal/impl/storage/SimpleLock +instanceKlass kotlin/reflect/jvm/internal/impl/storage/NullableLazyValue +instanceKlass kotlin/reflect/jvm/internal/impl/storage/MemoizedFunctionToNullable +instanceKlass kotlin/reflect/jvm/internal/impl/storage/MemoizedFunctionToNotNull +instanceKlass kotlin/reflect/jvm/internal/impl/storage/NotNullLazyValue +instanceKlass kotlin/reflect/jvm/internal/impl/storage/CacheWithNullableValues +instanceKlass kotlin/reflect/jvm/internal/impl/storage/CacheWithNotNullValues +instanceKlass kotlin/reflect/jvm/internal/impl/storage/LockBasedStorageManager +instanceKlass kotlin/reflect/jvm/internal/impl/storage/StorageManager +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/RuntimeSourceElementFactory +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/sources/JavaSourceElementFactory +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/RuntimeErrorReporter +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/ErrorReporter +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectJavaClassFinder +instanceKlass kotlin/reflect/jvm/internal/impl/load/java/JavaClassFinder +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/DeserializationComponentsForJava$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/DeserializationComponentsForJava +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/builtins/BuiltInsResourceLoader +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/ReflectKotlinClassFinder +instanceKlass kotlin/reflect/jvm/internal/impl/load/kotlin/KotlinClassFinder +instanceKlass kotlin/reflect/jvm/internal/impl/serialization/deserialization/KotlinMetadataFinder +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/RuntimeModuleData$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/components/RuntimeModuleData +instanceKlass kotlin/reflect/jvm/internal/WeakClassLoaderBox +instanceKlass kotlin/reflect/jvm/internal/ModuleByClassLoaderKt +instanceKlass com/google/gson/internal/LinkedTreeMap$Node +instanceKlass com/google/gson/internal/LinkedTreeMap$1 +instanceKlass com/google/gson/internal/bind/TypeAdapters$35 +instanceKlass com/google/gson/internal/Streams +instanceKlass com/google/gson/internal/UnsafeAllocator +instanceKlass com/google/gson/internal/bind/TreeTypeAdapter$GsonContextImpl +instanceKlass com/google/gson/JsonDeserializationContext +instanceKlass com/google/gson/JsonSerializationContext +instanceKlass com/jetbrains/python/sdk/SealedClassAdapter$Companion +instanceKlass com/jetbrains/python/sdk/SealedClassAdapter +instanceKlass com/google/gson/JsonDeserializer +instanceKlass com/google/gson/JsonSerializer +instanceKlass com/jetbrains/python/sdk/flavors/conda/PyCondaEnv$Companion +instanceKlass com/jetbrains/python/sdk/flavors/conda/PyCondaEnvIdentity +instanceKlass com/google/gson/annotations/SerializedName +instanceKlass com/google/gson/internal/ConstructorConstructor$19 +instanceKlass com/jetbrains/python/sdk/flavors/conda/PyCondaEnv +instanceKlass com/jetbrains/python/sdk/flavors/conda/PyCondaFlavorData +instanceKlass com/intellij/openapi/vfs/impl/local/WatchRootsManager$SymlinkData +instanceKlass com/intellij/openapi/util/io/NullAppendable +instanceKlass com/intellij/openapi/roots/RootModelProvider +instanceKlass com/intellij/openapi/vfs/newvfs/impl/VfsRootAccess +instanceKlass kotlinx/coroutines/future/FutureKt +instanceKlass com/intellij/execution/configurations/PathEnvironmentVariableUtil +instanceKlass com/intellij/openapi/util/text/StringUtil$1 +instanceKlass com/intellij/openapi/vfs/StandardFileSystems +instanceKlass com/google/common/collect/Multimap +instanceKlass com/jetbrains/python/packaging/PyCondaPackageService +instanceKlass com/jetbrains/python/run/PyRunnerUtil +instanceKlass com/jetbrains/python/sdk/PyCondaSdkFixKt +instanceKlass com/jetbrains/python/sdk/poetry/PyPoetrySdkAdditionalData$Companion +instanceKlass com/jetbrains/python/sdk/pipenv/PyPipEnvSdkAdditionalData$Companion +instanceKlass com/jetbrains/python/sdk/poetry/PoetrySdkProvider +instanceKlass com/jetbrains/python/sdk/pipenv/PyPipEnvSdkProvider +instanceKlass com/jetbrains/python/sdk/PySdkProvider$Companion +instanceKlass com/jetbrains/python/sdk/PySdkProvider +instanceKlass com/intellij/execution/target/TargetBasedSdks +instanceKlass com/google/gson/internal/Primitives +instanceKlass com/google/gson/internal/ConstructorConstructor$9 +instanceKlass com/google/gson/internal/reflect/ReflectionHelper$RecordHelper +instanceKlass com/google/gson/internal/reflect/ReflectionHelper +instanceKlass com/google/gson/internal/ReflectionAccessFilterHelper +instanceKlass com/google/gson/annotations/JsonAdapter +instanceKlass com/google/gson/internal/JsonReaderInternalAccess +instanceKlass com/google/gson/internal/$Gson$Types +instanceKlass com/google/gson/reflect/TypeToken +instanceKlass com/google/common/collect/Hashing +instanceKlass com/google/common/collect/CollectPreconditions +instanceKlass com/google/common/collect/AbstractMapEntry +instanceKlass com/google/common/collect/BiMap +instanceKlass com/google/common/collect/UnmodifiableIterator +instanceKlass com/google/common/collect/ImmutableMap +instanceKlass com/intellij/openapi/util/JDOMExternalizer +instanceKlass com/jetbrains/python/PythonPluginDisposable +instanceKlass com/google/gson/internal/bind/ReflectiveTypeAdapterFactory$BoundField +instanceKlass com/google/gson/internal/bind/ReflectiveTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/MapTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/CollectionTypeAdapterFactory +instanceKlass com/google/gson/internal/bind/ArrayTypeAdapter$1 +instanceKlass com/google/gson/internal/sql/SqlTimestampTypeAdapter$1 +instanceKlass com/google/gson/internal/sql/SqlTimeTypeAdapter$1 +instanceKlass com/google/gson/internal/sql/SqlDateTypeAdapter$1 +instanceKlass com/google/gson/internal/bind/DefaultDateTypeAdapter$DateType +instanceKlass com/google/gson/internal/sql/SqlTypesSupport +instanceKlass com/google/gson/internal/bind/DateTypeAdapter$1 +instanceKlass com/google/gson/internal/bind/NumberTypeAdapter$1 +instanceKlass com/google/gson/internal/bind/ObjectTypeAdapter$1 +instanceKlass com/google/gson/internal/bind/TypeAdapters$29 +instanceKlass com/google/gson/internal/bind/TypeAdapters$33 +instanceKlass com/google/gson/internal/bind/TypeAdapters$34 +instanceKlass com/google/gson/internal/bind/TypeAdapters$32 +instanceKlass com/google/gson/internal/bind/TypeAdapters$31 +instanceKlass com/google/gson/internal/bind/TypeAdapters +instanceKlass com/google/gson/internal/ObjectConstructor +instanceKlass com/google/gson/internal/ConstructorConstructor +instanceKlass com/google/gson/internal/Excluder +instanceKlass com/google/gson/stream/JsonReader +instanceKlass com/google/gson/ToNumberStrategy +instanceKlass com/google/gson/FieldNamingStrategy +instanceKlass com/google/gson/stream/JsonWriter +instanceKlass com/google/gson/JsonElement +instanceKlass com/google/gson/TypeAdapterFactory +instanceKlass com/google/gson/TypeAdapter +instanceKlass com/google/gson/Gson +instanceKlass com/intellij/util/AbstractPathMapper +instanceKlass com/intellij/util/PathMapper +instanceKlass com/intellij/remote/RemoteSdkPropertiesHolder +instanceKlass com/google/common/base/Preconditions +instanceKlass com/google/common/collect/ForwardingObject +instanceKlass com/jetbrains/python/sdk/flavors/PyFlavorData$Empty +instanceKlass com/jetbrains/python/sdk/flavors/PyFlavorAndData$Companion +instanceKlass com/jetbrains/python/sdk/flavors/PyFlavorAndData +instanceKlass com/jetbrains/python/target/PyTargetAwareAdditionalData$Companion +instanceKlass com/jetbrains/python/sdk/flavors/PythonSdkFlavor +instanceKlass com/jetbrains/python/sdk/flavors/PyFlavorData +instanceKlass com/jetbrains/python/sdk/PythonSdkAdditionalData +instanceKlass com/jetbrains/python/sdk/PyRemoteSdkAdditionalDataMarker +instanceKlass com/intellij/remote/RemoteSdkProperties +instanceKlass com/intellij/remote/RemoteSdkPropertiesPaths +instanceKlass com/intellij/execution/target/TargetBasedSdkAdditionalData +instanceKlass com/intellij/util/Functions$2 +instanceKlass com/intellij/util/Functions$1 +instanceKlass com/intellij/util/Function$Mono +instanceKlass com/intellij/util/Functions +instanceKlass com/intellij/util/io/URLUtil +instanceKlass com/intellij/openapi/vfs/VirtualFileSetFactory +instanceKlass com/intellij/openapi/vfs/VfsUtilCore +instanceKlass com/intellij/util/text/CharArrayExternalizable +instanceKlass com/intellij/util/text/ImmutableCharSequence +instanceKlass com/intellij/util/text/CharArrayUtil +instanceKlass com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl$DelegatingDisposable +instanceKlass com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl$NodeToUpdate +instanceKlass com/intellij/openapi/vfs/newvfs/impl/FileLoadingTracker +instanceKlass com/intellij/openapi/vfs/newvfs/ChildInfoImpl +instanceKlass com/intellij/util/SlowOperations +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/ListResult +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/FileNameCache$NameComputer +instanceKlass com/intellij/util/concurrency/AtomicFieldUpdater +instanceKlass com/intellij/openapi/vfs/newvfs/impl/VfsData$DirectoryData +instanceKlass java/util/concurrent/atomic/AtomicIntegerArray +instanceKlass com/intellij/openapi/vfs/newvfs/impl/VfsData$Segment +instanceKlass com/intellij/util/containers/IntObjectLRUMap$MapEntry +instanceKlass com/intellij/util/containers/IntObjectLRUMap +instanceKlass com/intellij/util/IntSLRUCache +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/FileNameCache +instanceKlass com/intellij/openapi/util/io/DataInputOutputUtilRt +instanceKlass com/intellij/util/io/DataInputOutputUtil +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/AttributesStorageOverBlobStorage$AttributeEntry +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/AttributesStorageOverBlobStorage$AttributesRecord +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/dev/blobstorage/LargeBlobStorageRecordLayout$ActualRecords +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/dev/blobstorage/ByteBufferReader +instanceKlass com/intellij/ide/ScreenReaderStateManager$1$1 +instanceKlass com/intellij/openapi/application/impl/DispatchedRunnable$Companion +instanceKlass com/intellij/openapi/application/impl/DispatchedRunnable +instanceKlass com/intellij/util/PathUtil +instanceKlass com/intellij/ide/ScreenReaderStateManager +instanceKlass com/intellij/openapi/vfs/impl/local/LocalFileSystemTimestampEvaluator +instanceKlass com/intellij/openapi/progress/ContextKt +instanceKlass com/intellij/openapi/actionSystem/impl/ActionManagerImpl$3 +instanceKlass com/intellij/openapi/vfs/newvfs/VfsImplUtil +instanceKlass com/jetbrains/plugins/remotesdk/RemoteSdkBundle +instanceKlass com/intellij/util/UriUtil +instanceKlass com/intellij/execution/process/AnsiEscapeDecoder$ColoredTextAcceptor +instanceKlass com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl$1 +instanceKlass com/intellij/openapi/util/Trinity +instanceKlass com/intellij/execution/process/PtyBasedProcess +instanceKlass com/intellij/remote/Tunnelable +instanceKlass com/intellij/execution/process/ProcessTreeKiller +instanceKlass com/intellij/execution/process/SelfKiller +instanceKlass com/intellij/openapi/projectRoots/SdkAdditionalData +instanceKlass com/intellij/execution/runners/ProgramRunner$Callback +instanceKlass com/intellij/ide/macro/MacroPathConverter +instanceKlass com/intellij/execution/configurations/GeneralCommandLine +instanceKlass com/intellij/tools/Tool +instanceKlass kotlin/jvm/internal/Intrinsics +instanceKlass com/jetbrains/plugins/remotesdk/tools/RemoteToolManager$MyActionTuner +instanceKlass com/intellij/openapi/actionSystem/impl/DynamicActionConfigurationCustomizer +instanceKlass com/intellij/ide/plugins/PluginManager +instanceKlass com/intellij/util/ReflectionUtilRt +instanceKlass kotlinx/coroutines/time/TimeKt +instanceKlass com/intellij/openapi/projectRoots/JavaSdkType +instanceKlass org/jetbrains/plugins/terminal/action/TerminalNewTabAction$Companion +instanceKlass com/jetbrains/rdserver/terminal/BackendTerminalActionConfigurationCustomizer$Companion +instanceKlass com/jetbrains/rdserver/terminal/BackendTerminalActionConfigurationCustomizer +instanceKlass com/intellij/openapi/roots/OrderRootType +instanceKlass com/intellij/openapi/projectRoots/impl/RootsAsVirtualFilePointers +instanceKlass com/intellij/openapi/roots/RootProvider$RootSetChangedListener +instanceKlass com/intellij/openapi/roots/impl/RootProviderBaseImpl +instanceKlass com/jetbrains/rd/framework/util/LifetimeCoroutineUtilKt +instanceKlass com/intellij/openapi/projectRoots/ProjectRootListener +instanceKlass kotlinx/coroutines/DispatcherExecutor +instanceKlass com/intellij/openapi/projectRoots/impl/ProjectJdkImpl$1 +instanceKlass kotlinx/coroutines/internal/ConcurrentKt +instanceKlass com/intellij/openapi/roots/RootProvider +instanceKlass com/intellij/openapi/rd/util/RdCoroutineHost$Companion +instanceKlass com/intellij/openapi/projectRoots/SdkModificator +instanceKlass com/jetbrains/rd/util/SwitchLogger +instanceKlass com/jetbrains/rd/util/Logger +instanceKlass kotlin/reflect/jvm/internal/impl/name/SpecialNames +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/CompanionObjectMapping +instanceKlass kotlin/reflect/jvm/internal/impl/name/FqNamesUtilKt +instanceKlass kotlin/reflect/jvm/internal/impl/utils/CollectionsKt +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/PrimitiveType$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/StandardNames$FqNames +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JavaToKotlinClassMap$PlatformMutabilityMapping +instanceKlass kotlin/reflect/jvm/internal/impl/name/StandardClassIdsKt +instanceKlass kotlin/reflect/jvm/internal/impl/name/StandardClassIds +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/functions/FunctionClassKind$Companion +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/StandardNames +instanceKlass kotlin/reflect/jvm/internal/impl/builtins/jvm/JavaToKotlinClassMap +instanceKlass kotlin/jvm/functions/Function22 +instanceKlass kotlin/jvm/functions/Function21 +instanceKlass kotlin/jvm/functions/Function20 +instanceKlass kotlin/jvm/functions/Function19 +instanceKlass kotlin/jvm/functions/Function18 +instanceKlass kotlin/jvm/functions/Function17 +instanceKlass kotlin/jvm/functions/Function16 +instanceKlass kotlin/jvm/functions/Function15 +instanceKlass kotlin/jvm/functions/Function14 +instanceKlass kotlin/jvm/functions/Function13 +instanceKlass kotlin/jvm/functions/Function12 +instanceKlass kotlin/jvm/functions/Function11 +instanceKlass kotlin/jvm/functions/Function10 +instanceKlass kotlin/jvm/functions/Function9 +instanceKlass kotlin/jvm/functions/Function8 +instanceKlass kotlin/jvm/functions/Function7 +instanceKlass kotlin/jvm/functions/Function6 +instanceKlass kotlin/jvm/functions/Function5 +instanceKlass kotlin/jvm/functions/Function4 +instanceKlass kotlin/jvm/JvmClassMappingKt +instanceKlass kotlin/reflect/jvm/internal/impl/descriptors/runtime/structure/ReflectClassUtilKt +instanceKlass kotlin/reflect/jvm/internal/impl/name/ClassId +instanceKlass kotlin/reflect/jvm/internal/impl/name/FqNameUnsafe$1 +instanceKlass kotlin/reflect/jvm/internal/impl/name/Name +instanceKlass kotlin/reflect/jvm/internal/impl/name/FqNameUnsafe +instanceKlass kotlin/reflect/jvm/internal/impl/name/FqName +instanceKlass kotlin/reflect/jvm/internal/RuntimeTypeMapper +instanceKlass kotlin/reflect/jvm/internal/KDeclarationContainerImpl$Data +instanceKlass com/jetbrains/rd/util/LoggerKt +instanceKlass com/jetbrains/rd/framework/util/RdCoroutineScope$Companion +instanceKlass com/jetbrains/rd/framework/util/RdCoroutineScope +instanceKlass com/intellij/openapi/rd/util/RdCoroutinesUtilKt +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/wire/storage/WireStorageKt +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/wire/storage/WireStorage$Companion +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/wire/storage/WireStorageEntry +instanceKlass com/jetbrains/rd/platform/codeWithMe/x/x/x +instanceKlass com/jetbrains/rd/platform/codeWithMe/x/x/K +instanceKlass com/jetbrains/rdserver/x/N +instanceKlass com/jetbrains/rdserver/C/x2 +instanceKlass com/jetbrains/rdserver/x/x/x +instanceKlass com/jetbrains/rd/framework/Protocol +instanceKlass com/jetbrains/rd/framework/IProtocol +instanceKlass com/jetbrains/rd/platform/codeWithMe/x/G +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/wire/storage/WireStorage +instanceKlass com/jetbrains/rd/util/reactive/ViewableSet +instanceKlass com/jetbrains/rd/util/reactive/IMutableViewableSet +instanceKlass kotlin/jvm/internal/markers/KMutableSet +instanceKlass kotlin/jvm/internal/markers/KMutableCollection +instanceKlass kotlin/jvm/internal/markers/KMutableIterable +instanceKlass com/jetbrains/rd/util/reactive/IViewableSet +instanceKlass com/jetbrains/rd/util/reactive/IViewable +instanceKlass com/jetbrains/rdserver/C/xB +instanceKlass com/jetbrains/codeWithMe/model/RdUserModel +instanceKlass com/jetbrains/rd/framework/base/RdBindableBase +instanceKlass com/jetbrains/rd/framework/base/IRdReactive +instanceKlass com/jetbrains/rd/framework/base/IRdWireable +instanceKlass com/jetbrains/rd/framework/base/IRdBindable +instanceKlass com/jetbrains/rd/framework/IRdDynamic +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/wire/SecureWireOverStreamTransport +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/SessionTokenProvider +instanceKlass com/jetbrains/rd/util/reactive/IScheduler +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/ICodeWithMeWire +instanceKlass com/jetbrains/rd/framework/IWire +instanceKlass com/jetbrains/rdserver/x/V +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/transport/creator/TransportInfo +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/IPasswordAuthHandler +instanceKlass com/jetbrains/codeWithMe/x/l +instanceKlass com/jetbrains/codeWithMe/x/xO +instanceKlass com/jetbrains/rd/platform/codeWithMe/protocol/transport/NamedTransportEntity +instanceKlass com/jetbrains/rd/util/lifetime/SequentialLifetimes +instanceKlass com/jetbrains/rd/util/threading/SpinWait$Companion +instanceKlass com/jetbrains/rd/util/threading/SpinWait +instanceKlass com/jetbrains/rd/util/collections/CountingSet +instanceKlass com/jetbrains/rd/util/lifetime/RLifetimeKt +instanceKlass com/jetbrains/rd/util/lifetime/LifetimeTerminationTimeoutKind$Companion +instanceKlass com/jetbrains/rd/util/BitHacksKt +instanceKlass com/jetbrains/rd/util/lifetime/LifetimeStatus$Companion +instanceKlass com/jetbrains/rd/util/BitSliceKt +instanceKlass com/jetbrains/rd/util/BitSlice$Companion +instanceKlass com/jetbrains/rd/util/BitSlice +instanceKlass com/jetbrains/rd/util/lifetime/LifetimeDefinition$Companion +instanceKlass com/jetbrains/rd/util/lifetime/Lifetime$Companion +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostManager$Companion +instanceKlass com/jetbrains/rdserver/C/xP +instanceKlass com/jetbrains/rdserver/C/b +instanceKlass com/jetbrains/rdserver/unattendedHost/DirectConnectionDetails +instanceKlass com/jetbrains/rd/platform/util/idea/LifetimedService +instanceKlass com/jetbrains/rdserver/unattendedHost/actions/UnattendedHostActionConfigurationCustomizer +instanceKlass com/intellij/ide/actions/runAnything/RunAnythingAction$1 +instanceKlass com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler$MyDispatcher +instanceKlass com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler +instanceKlass com/intellij/openapi/util/ValueKey$BeforeIf +instanceKlass com/intellij/openapi/actionSystem/DataKey +instanceKlass com/intellij/openapi/util/ValueKey +instanceKlass com/intellij/ide/actions/runAnything/RunAnythingAction$ShortcutTracker +instanceKlass com/intellij/openapi/options/SchemeElement +instanceKlass com/intellij/tools/ToolsBundle +instanceKlass com/intellij/tools/BaseToolManager +instanceKlass com/intellij/tools/ToolManager$MyActionTuner +instanceKlass com/intellij/codeInsight/intention/impl/IntentionShortcutManager$registerIntentionsInActiveKeymap$2 +instanceKlass com/intellij/codeInsight/intention/impl/IntentionShortcutManager$registerIntentionsInActiveKeymap$1 +instanceKlass com/intellij/codeInsight/intention/impl/IntentionShortcutUtils +instanceKlass com/intellij/codeInsight/intention/impl/config/IntentionManagerImpl$1 +instanceKlass com/intellij/codeInsight/intention/impl/config/IntentionActionWrapper +instanceKlass com/intellij/codeInsight/intention/IntentionActionDelegate +instanceKlass com/intellij/openapi/actionSystem/ShortcutProvider +instanceKlass com/intellij/codeInsight/intention/preview/IntentionPreviewInfo +instanceKlass com/intellij/codeInspection/ex/EditInspectionToolsSettingsInSuppressedPlaceIntention +instanceKlass com/intellij/codeInsight/intention/IntentionAction +instanceKlass com/intellij/codeInsight/intention/CommonIntentionAction +instanceKlass com/intellij/codeInspection/ex/InspectionToolWrapper +instanceKlass com/intellij/codeInsight/intention/IntentionManager +instanceKlass com/intellij/codeInsight/intention/impl/IntentionShortcutManager$Companion +instanceKlass com/intellij/codeInsight/intention/impl/IntentionShortcutManager +instanceKlass com/intellij/codeInsight/intention/impl/IntentionShortcutManager$InitListener +instanceKlass com/sun/jna/CallbackReference$CallbackReferenceDisposer +instanceKlass com/intellij/openapi/project/ex/ProjectManagerEx$Companion +instanceKlass com/sun/jna/CallbackReference$DefaultCallbackProxy +instanceKlass com/intellij/openapi/project/impl/SeparateProcessActionsCustomizer +instanceKlass com/intellij/openapi/wm/impl/GlobalMenuLib$JLogger +instanceKlass com/intellij/openapi/wm/impl/GlobalMenuLib$JRunnable +instanceKlass com/intellij/openapi/wm/impl/GlobalMenuLib +instanceKlass com/intellij/openapi/application/ExperimentalFeature +instanceKlass com/intellij/openapi/application/Experiments +instanceKlass javax/swing/MenuElement +instanceKlass com/intellij/openapi/projectRoots/impl/ProjectJdkTableImpl$2 +instanceKlass com/intellij/openapi/projectRoots/SdkTypeId$1 +instanceKlass com/intellij/openapi/fileChooser/FileChooserDescriptor +instanceKlass com/intellij/openapi/wm/impl/GlobalMenuLinux +instanceKlass com/intellij/openapi/wm/impl/LinuxGlobalMenuEventHandler +instanceKlass com/intellij/openapi/projectRoots/SdkType +instanceKlass com/intellij/openapi/projectRoots/impl/ProjectJdkTableImpl$1 +instanceKlass com/intellij/openapi/projectRoots/ProjectJdkTable$Listener +instanceKlass com/intellij/openapi/projectRoots/Sdk +instanceKlass com/intellij/openapi/projectRoots/SdkTypeId +instanceKlass com/intellij/openapi/wm/impl/GlobalMenuLinux$MyActionTuner +instanceKlass com/intellij/openapi/components/ExportableComponent +instanceKlass com/intellij/openapi/actionSystem/PerformWithDocumentsCommitted +instanceKlass com/intellij/openapi/actionSystem/ActionWithDelegate +instanceKlass com/intellij/openapi/projectRoots/ProjectJdkTable +instanceKlass com/intellij/execution/Executor$ActionWrapper +instanceKlass com/intellij/profiler/CommonProfilerBundleKt +instanceKlass com/intellij/openapi/actionSystem/AnActionHolder +instanceKlass com/intellij/openapi/actionSystem/ActionButtonComponent +instanceKlass org/angular2/lang/Angular2Bundle$Companion +instanceKlass org/angular2/lang/metadata/MetadataJsonLanguage$Companion +instanceKlass com/intellij/coverage/CoverageBundle +instanceKlass org/angular2/entities/metadata/Angular2MetadataFileType$Companion +instanceKlass com/intellij/ide/ui/experimental/toolbar/ExperimentalToolbarSettings +instanceKlass org/angular2/lang/metadata/MetadataJsonFileType +instanceKlass com/intellij/ide/ui/ToolbarSettings$Companion +instanceKlass com/intellij/ide/ui/ToolbarSettings +instanceKlass org/angular2/lang/svg/Angular2SvgLanguage$Companion +instanceKlass org/angular2/lang/svg/Angular2SvgFileType$Companion +instanceKlass com/intellij/execution/configurations/RunConfiguration +instanceKlass com/intellij/execution/configurations/RunProfile +instanceKlass org/angularjs/AngularJSBundle +instanceKlass javax/swing/ListCellRenderer +instanceKlass org/angular2/lang/html/Angular2HtmlLanguage$Companion +instanceKlass com/intellij/profiler/DefaultProfilerExecutorGroup$2 +instanceKlass org/angular2/lang/html/Angular2HtmlFileType$Companion +instanceKlass com/intellij/profiler/api/configurations/ProfilerRunConfigurationsManager$addExtensionPointListeners$1 +instanceKlass com/intellij/profiler/api/configurations/MigrationResult$Status +instanceKlass com/intellij/profiler/api/configurations/MigrationResult +instanceKlass com/intellij/profiler/api/configurations/ProfilerConfigurationsMigrator$Companion +instanceKlass com/intellij/profiler/api/configurations/ProfilerConfigurationsMigrator +instanceKlass com/intellij/profiler/api/configurations/ProfilerConfigurationsMigrator$Handler +instanceKlass com/intellij/profiler/api/configurations/MigrationStatus$Companion +instanceKlass com/intellij/profiler/api/configurations/MigrationStatus +instanceKlass com/intellij/profiler/api/configurations/ProfilerRunConfigurationsManagerListener$Companion +instanceKlass com/intellij/profiler/api/configurations/ProfilerRunConfigurationsManagerListener +instanceKlass com/intellij/profiler/api/configurations/ProfilerConfigurationType$Companion +instanceKlass com/intellij/profiler/api/configurations/ProfilerConfigurationType +instanceKlass com/intellij/psi/tree/IElementType$Predicate +instanceKlass com/jetbrains/python/psi/stubs/PyFileStub +instanceKlass kotlin/properties/ObservableProperty +instanceKlass com/intellij/profiler/api/configurations/ProfilerRunConfigurationsManager$Companion +instanceKlass com/intellij/profiler/api/configurations/ProfilerRunConfigurationsManager +instanceKlass com/intellij/profiler/DefaultProfilerExecutorGroup$Companion +instanceKlass com/intellij/lexer/Lexer +instanceKlass com/intellij/execution/executors/ExecutorGroup$Companion +instanceKlass com/jetbrains/python/parsing/PythonParser +instanceKlass com/intellij/lang/PsiParser +instanceKlass com/intellij/psi/StubBuilder +instanceKlass com/intellij/psi/stubs/PsiFileStub +instanceKlass com/intellij/psi/stubs/StubElement +instanceKlass com/intellij/execution/ExecutorRegistryImpl$1 +instanceKlass com/intellij/execution/runToolbar/ExecutorRunToolbarAction +instanceKlass com/intellij/execution/runToolbar/RTBarAction +instanceKlass com/intellij/openapi/fileTypes/TemplateLanguageFileType +instanceKlass com/intellij/openapi/actionSystem/ex/CustomComponentAction +instanceKlass com/intellij/execution/ExecutorRegistry +instanceKlass com/intellij/execution/Executor +instanceKlass com/intellij/execution/ExecutorRegistryImpl$ExecutorRegistryActionConfigurationTuner +instanceKlass icons/DatabaseIcons +instanceKlass icons/DatabaseIcons$FileTypes +instanceKlass com/intellij/sql/dialects/base/TokensHelper +instanceKlass kotlinx/collections/immutable/implementations/immutableMap/TrieNodeBaseIterator +instanceKlass kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMapBaseIterator +instanceKlass com/jetbrains/plugins/webDeployment/actions/DeploymentBundlerQuickListsProvider +instanceKlass com/intellij/openapi/actionSystem/impl/BundledQuickListsProvider +instanceKlass com/intellij/ide/actionMacro/ActionMacroManager$KeyPostProcessor +instanceKlass com/intellij/ide/actionMacro/ActionMacroManager$1 +instanceKlass com/intellij/openapi/actionSystem/ex/QuickListsManagerKt +instanceKlass com/intellij/openapi/wm/StatusBarWidget +instanceKlass com/intellij/openapi/actionSystem/ex/QuickListsManager$Companion +instanceKlass com/intellij/openapi/actionSystem/ex/QuickListsManager +instanceKlass com/intellij/openapi/ui/playback/PlaybackRunner$StatusCallback +instanceKlass java/util/regex/Pattern$1 +instanceKlass com/intellij/openapi/actionSystem/ex/QuickListsManager$QuickListActionCustomizer +instanceKlass com/intellij/execution/runToolbar/MyActionConfigurationCustomizer +instanceKlass com/intellij/ide/actionMacro/ActionMacroManager +instanceKlass com/intellij/openapi/util/text/Pluralizer +instanceKlass com/intellij/util/concurrency/NonUrgentExecutor +instanceKlass com/intellij/ide/actionMacro/ActionMacroManager$MyActionTuner +instanceKlass com/intellij/openapi/actionSystem/impl/ActionConfigurationCustomizer +instanceKlass com/intellij/database/model/ObjectKind +instanceKlass com/intellij/model/Symbol +instanceKlass com/intellij/database/symbols/DasSymbolObject +instanceKlass com/intellij/sql/psi/SqlVisitor +instanceKlass com/intellij/database/types/DasTableType +instanceKlass com/intellij/database/types/DasType +instanceKlass com/intellij/sql/psi/SqlType +instanceKlass com/intellij/codeInspection/LocalQuickFix +instanceKlass com/intellij/codeInsight/intention/FileModifier +instanceKlass com/intellij/codeInspection/QuickFix +instanceKlass com/intellij/openapi/application/WriteActionAware +instanceKlass com/intellij/database/model/DasObject +instanceKlass com/intellij/sql/dialects/SqlTypeSystem +instanceKlass com/intellij/database/model/DasDataSource +instanceKlass com/intellij/database/symbols/DasSymbol +instanceKlass com/intellij/database/model/DasNamed +instanceKlass com/intellij/database/dialects/DatabaseDialect +instanceKlass com/intellij/database/model/CasingProvider +instanceKlass com/intellij/openapi/util/text/StringUtil$Splitters +instanceKlass java/lang/Throwable$PrintStreamOrWriter +instanceKlass com/intellij/database/HSet$LazyData$1 +instanceKlass com/intellij/database/HSet$LazyData +instanceKlass com/intellij/database/HSet +instanceKlass com/intellij/database/Dbms +instanceKlass org/jetbrains/qodana/QodanaBundle +instanceKlass org/jetbrains/qodana/filetype/SarifFileType$Companion +instanceKlass com/intellij/lang/qml/QmlBundle +instanceKlass com/intellij/util/text/OrdinalFormat +instanceKlass org/angular2/Angular2Framework$Companion +instanceKlass org/jetbrains/vuejs/web/VueFramework$Companion +instanceKlass com/intellij/javascript/web/WebFramework$Companion +instanceKlass com/intellij/html/webSymbols/WebSymbolsFrameworkHtmlSupport$Companion +instanceKlass com/intellij/webSymbols/framework/WebSymbolsFramework$Companion +instanceKlass com/intellij/webSymbols/framework/WebSymbolsFramework +instanceKlass com/intellij/html/webSymbols/WebSymbolsFrameworkHtmlSupport +instanceKlass org/jetbrains/vuejs/lang/html/VueLanguage$Companion +instanceKlass com/intellij/javascript/web/WebFrameworkDialect +instanceKlass org/jetbrains/vuejs/lang/html/VueFileType$Companion +instanceKlass com/intellij/javascript/nodejs/YarnLockFileType +instanceKlass com/intellij/util/containers/UtilKt +instanceKlass com/intellij/lang/javascript/DialectOptionHolder +instanceKlass com/intellij/space/SpaceIcons +instanceKlass com/intellij/space/SpaceIcons$Icons +instanceKlass com/intellij/lang/javascript/JSLanguageUtil$JsDialectWithJavaScriptFormatterSettings +instanceKlass com/intellij/lang/DependentLanguage +instanceKlass com/intellij/lang/javascript/JavaScriptSupportLoader +instanceKlass com/intellij/lang/javascript/types/JavaScriptDialectFileType +instanceKlass com/intellij/lang/javascript/JavaScriptBundle +instanceKlass javax/swing/text/html/CSSBorder$StrokePainter +instanceKlass javax/swing/text/html/CSSBorder$SolidPainter +instanceKlass javax/swing/text/html/CSSBorder$NullPainter +instanceKlass javax/swing/text/html/CSSBorder$BorderPainter +instanceKlass javax/swing/text/html/CSS$ShorthandBorderParser +instanceKlass kotlin/collections/AbstractList$Companion +instanceKlass kotlin/text/MatchNamedGroupCollection +instanceKlass kotlin/text/MatchGroupCollection +instanceKlass kotlin/text/MatcherMatchResult +instanceKlass kotlin/text/MatchResult +instanceKlass kotlin/text/RegexKt +instanceKlass com/intellij/ide/ui/html/LafCssProviderKt +instanceKlass com/intellij/ide/ui/html/LafCssProvider +instanceKlass com/intellij/openapi/progress/RunBlockingUnderReadActionMarker +instanceKlass com/intellij/openapi/application/impl/PlatformCoroutineSupport +instanceKlass com/intellij/openapi/application/CoroutineSupport +instanceKlass com/intellij/openapi/application/CoroutinesKt +instanceKlass com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl$1 +instanceKlass com/intellij/concurrency/ConcurrentHashMap$MapEntry +instanceKlass org/jetbrains/plugins/cucumber/CucumberBundle +instanceKlass com/intellij/openapi/keymap/impl/KeymapImplKt +instanceKlass com/jetbrains/rest/RestBundle +instanceKlass com/intellij/psi/templateLanguages/TemplateLanguage +instanceKlass com/intellij/psi/PsiElementVisitor +instanceKlass com/intellij/openapi/fileTypes/ex/FakeFileType +instanceKlass com/intellij/lang/properties/PropertiesBundle +instanceKlass com/jetbrains/lang/makefile/MakefileLangBundle +instanceKlass org/jetbrains/plugins/sass/SASSBundle +instanceKlass com/intellij/psi/css/CssBundle +instanceKlass com/intellij/lang/css/CssLanguageProperties +instanceKlass org/intellij/images/fileTypes/impl/SvgLanguage$Companion +instanceKlass com/intellij/openapi/fileTypes/UIBasedFileType +instanceKlass org/intellij/images/ImagesBundle +instanceKlass org/jetbrains/plugins/textmate/TextMateBundle +instanceKlass com/jetbrains/performancePlugin/PerformanceTestingBundle +instanceKlass com/fasterxml/jackson/databind/deser/BeanDeserializer$1 +instanceKlass com/fasterxml/jackson/databind/deser/impl/ReadableObjectId$Referring +instanceKlass com/fasterxml/jackson/databind/deser/impl/BeanPropertyMap +instanceKlass com/fasterxml/jackson/annotation/JsonAlias +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$1 +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$4 +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$2 +instanceKlass com/intellij/sh/ShBundle +instanceKlass com/intellij/notification/impl/NotificationGroupManagerImpl$1 +instanceKlass com/fasterxml/jackson/databind/util/IgnorePropertiesUtil +instanceKlass com/fasterxml/jackson/annotation/JsonIncludeProperties$Value +instanceKlass com/fasterxml/jackson/annotation/JsonIncludeProperties +instanceKlass com/fasterxml/jackson/annotation/JsonIgnoreProperties$Value +instanceKlass com/fasterxml/jackson/annotation/JsonIgnoreProperties +instanceKlass com/fasterxml/jackson/databind/deser/BeanDeserializerBuilder +instanceKlass com/fasterxml/jackson/databind/deser/impl/CreatorCandidate$Param +instanceKlass com/fasterxml/jackson/databind/deser/impl/CreatorCandidate +instanceKlass com/fasterxml/jackson/databind/PropertyMetadata +instanceKlass com/fasterxml/jackson/annotation/JsonPropertyDescription +instanceKlass com/fasterxml/jackson/annotation/JsonPropertyOrder +instanceKlass com/fasterxml/jackson/databind/annotation/JsonNaming +instanceKlass com/fasterxml/jackson/annotation/JacksonInject +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$6 +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$5 +instanceKlass com/fasterxml/jackson/databind/introspect/MethodGenericTypeResolver +instanceKlass com/fasterxml/jackson/annotation/JsonGetter +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotatedMethodMap +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotatedMethodCollector$MethodBuilder +instanceKlass com/fasterxml/jackson/databind/introspect/MemberKey +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$Linked +instanceKlass com/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$WithMember +instanceKlass kotlinx/coroutines/flow/SharedFlowImpl$WhenMappings +instanceKlass com/fasterxml/jackson/annotation/JsonIgnore +instanceKlass com/fasterxml/jackson/annotation/JsonAutoDetect$1 +instanceKlass com/fasterxml/jackson/annotation/JsonProperty +instanceKlass com/fasterxml/jackson/annotation/JsonSetter +instanceKlass com/fasterxml/jackson/annotation/JsonAnySetter +instanceKlass com/fasterxml/jackson/annotation/JsonAnyGetter +instanceKlass com/fasterxml/jackson/annotation/JsonValue +instanceKlass com/fasterxml/jackson/annotation/JsonKey +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotatedFieldCollector$FieldBuilder +instanceKlass com/fasterxml/jackson/databind/introspect/TypeResolutionContext$Basic +instanceKlass com/fasterxml/jackson/databind/util/BeanUtil +instanceKlass com/fasterxml/jackson/databind/jsontype/impl/SubTypeValidator +instanceKlass com/fasterxml/jackson/databind/deser/std/JdkDeserializers +instanceKlass com/fasterxml/jackson/databind/ext/Java7Handlers +instanceKlass com/fasterxml/jackson/databind/ext/OptionalHandlerFactory +instanceKlass com/fasterxml/jackson/annotation/JsonIdentityInfo +instanceKlass com/intellij/configurationStore/schemeManager/SchemeDataHolderImpl +instanceKlass com/fasterxml/jackson/databind/introspect/POJOPropertiesCollector +instanceKlass com/intellij/configurationStore/schemeManager/ExternalInfo +instanceKlass kotlin/jvm/internal/Ref$IntRef +instanceKlass com/intellij/configurationStore/schemeManager/SchemeLoaderKt +instanceKlass com/intellij/util/ui/StartupUiUtilKt +instanceKlass com/fasterxml/jackson/databind/util/LinkedNode +instanceKlass com/fasterxml/jackson/databind/deser/impl/NullsConstantProvider +instanceKlass sun/awt/GlobalCursorManager$NativeUpdater +instanceKlass com/intellij/configurationStore/BundledSchemeEP +instanceKlass com/intellij/openapi/util/NullableLazyValue +instanceKlass com/fasterxml/jackson/annotation/JsonCreator +instanceKlass com/intellij/openapi/editor/colors/TextAttributesKey$TextAttributeKeyDefaultsProvider +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotationMap +instanceKlass com/intellij/openapi/editor/colors/TextAttributesKey +instanceKlass com/intellij/ide/ApplicationActivationStateManager +instanceKlass com/fasterxml/jackson/databind/introspect/CollectorBase +instanceKlass com/intellij/openapi/editor/HighlighterColors +instanceKlass com/intellij/ide/ActiveWindowsWatcher +instanceKlass kotlinx/coroutines/AbstractTimeSource +instanceKlass com/fasterxml/jackson/databind/deser/BasicDeserializerFactory$CreatorCollectionState +instanceKlass com/fasterxml/jackson/databind/deser/impl/CreatorCollector +instanceKlass kotlinx/coroutines/selects/OnTimeout$register$$inlined$Runnable$1 +instanceKlass com/fasterxml/jackson/databind/cfg/ConstructorDetector +instanceKlass kotlinx/coroutines/selects/SelectClause0Impl +instanceKlass kotlinx/coroutines/selects/SelectClause0 +instanceKlass com/fasterxml/jackson/annotation/JsonAutoDetect +instanceKlass com/fasterxml/jackson/core/JsonLocation +instanceKlass javax/swing/SwingHeavyWeight +instanceKlass kotlinx/coroutines/selects/OnTimeout +instanceKlass kotlinx/coroutines/selects/OnTimeoutKt +instanceKlass java/awt/peer/FramePeer +instanceKlass com/fasterxml/jackson/databind/deser/ValueInstantiator +instanceKlass com/fasterxml/jackson/databind/deser/impl/JDKValueInstantiators +instanceKlass com/fasterxml/jackson/databind/annotation/JsonValueInstantiator +instanceKlass kotlinx/coroutines/channels/ChannelResult$Failed +instanceKlass com/fasterxml/jackson/databind/deser/BasicDeserializerFactory$ContainerDefaultMappings +instanceKlass kotlinx/coroutines/channels/ChannelResult$Companion +instanceKlass com/fasterxml/jackson/databind/util/ArrayIterator +instanceKlass kotlinx/coroutines/channels/ChannelResult +instanceKlass com/fasterxml/jackson/databind/annotation/JsonTypeResolver +instanceKlass java/awt/EventQueue$4 +instanceKlass com/fasterxml/jackson/databind/type/TypeBindings$AsKey +instanceKlass com/fasterxml/jackson/databind/type/TypeBindings$TypeParamStash +instanceKlass com/intellij/application/options/EditorFontsConstants +instanceKlass com/fasterxml/jackson/databind/util/internal/PrivateMaxEntriesMap$AddTask +instanceKlass com/fasterxml/jackson/databind/util/internal/PrivateMaxEntriesMap$WeightedValue +instanceKlass com/intellij/openapi/util/io/GentleFlusherBase$1 +instanceKlass com/intellij/httpClient/http/request/run/v2/HttpRequestRunLineMarkerV2LafListener$Tracker$Companion +instanceKlass com/fasterxml/jackson/databind/type/ClassStack +instanceKlass com/fasterxml/jackson/core/type/TypeReference +instanceKlass com/intellij/openapi/editor/colors/impl/AppEditorFontOptions$PersistentFontPreferences +instanceKlass com/intellij/ide/plugins/marketplace/MarketplaceRequestsKt +instanceKlass java/util/TreeMap$NavigableSubMap$SubMapIterator +instanceKlass com/intellij/ide/ui/html/GlobalStyleSheetHolder$UpdateService +instanceKlass com/intellij/httpClient/http/request/run/v2/HttpRequestRunLineMarkerV2LafListener +instanceKlass com/intellij/openapi/editor/impl/FontFamilyServiceImpl$FontFamily$1Candidate +instanceKlass org/intellij/plugins/markdown/extensions/common/highlighter/HtmlCacheManager$InvalidateHtmlCacheLafListener +instanceKlass org/intellij/plugins/markdown/settings/SettingsChangeLafListener +instanceKlass com/intellij/bigdatatools/visualization/charts/core/style/ChartLafManagerListener +instanceKlass com/intellij/util/containers/DisposableWrapperList$DisposableWrapperListIterator +instanceKlass java/awt/SequencedEvent$2 +instanceKlass java/awt/SequencedEvent$1 +instanceKlass sun/awt/AWTAccessor$SequencedEventAccessor +instanceKlass com/intellij/ide/ui/html/GlobalStyleSheetHolder$UpdateListener +instanceKlass javax/swing/event/ChangeListener +instanceKlass it/unimi/dsi/fastutil/objects/Object2FloatMap$FastEntrySet +instanceKlass it/unimi/dsi/fastutil/floats/FloatCollection +instanceKlass it/unimi/dsi/fastutil/floats/FloatIterable +instanceKlass sun/awt/X11/XWindowPeer$WindowLocation +instanceKlass it/unimi/dsi/fastutil/objects/AbstractObject2FloatFunction +instanceKlass sun/awt/X11/XWindowPeer$3 +instanceKlass java/awt/peer/LightweightPeer +instanceKlass com/jetbrains/plugins/webDeployment/WebDeploymentIcons +instanceKlass com/intellij/icons/AllIcons$ToolbarDecorator +instanceKlass sun/awt/AWTIcon64_java_icon48_png +instanceKlass sun/awt/AWTIcon64_java_icon32_png +instanceKlass sun/awt/AWTIcon64_java_icon24_png +instanceKlass sun/awt/AWTIcon64_java_icon16_png +instanceKlass com/intellij/icons/AllIcons$RunConfigurations +instanceKlass com/intellij/openapi/editor/markup/AttributesFlyweight$FlyweightKey +instanceKlass sun/awt/IconInfo +instanceKlass com/intellij/openapi/editor/markup/AttributesFlyweight +instanceKlass com/intellij/openapi/editor/markup/TextAttributes +instanceKlass sun/java2d/xr/XRDrawLine +instanceKlass sun/java2d/loops/ProcessPath$DrawHandler +instanceKlass com/intellij/openapi/editor/colors/impl/ValueElementReader +instanceKlass sun/java2d/xr/XRRenderer +instanceKlass sun/java2d/xr/XRMaskImage +instanceKlass sun/font/XRGlyphCache$GlyphIDAllocator +instanceKlass sun/java2d/xr/MutableInteger +instanceKlass sun/font/XRGlyphCache +instanceKlass sun/font/GlyphDisposedListener +instanceKlass com/intellij/openapi/actionSystem/AbbreviationManager +instanceKlass sun/java2d/xr/DirtyRegion +instanceKlass sun/java2d/xr/GrowableIntArray +instanceKlass sun/java2d/xr/MaskTile +instanceKlass sun/java2d/xr/MaskTileManager +instanceKlass sun/java2d/xr/XRSolidSrcPict +instanceKlass sun/java2d/xr/XRPaints +instanceKlass sun/java2d/xr/XRCompositeManager$1 +instanceKlass sun/java2d/xr/XRBackendNative +instanceKlass sun/java2d/xr/XRBackend +instanceKlass sun/java2d/xr/XRColor +instanceKlass sun/java2d/xr/XRCompositeManager +instanceKlass sun/java2d/xr/XRUtils +instanceKlass sun/java2d/StateTracker$2 +instanceKlass sun/java2d/StateTracker$1 +instanceKlass sun/java2d/StateTracker +instanceKlass sun/java2d/SurfaceDataProxy +instanceKlass sun/awt/image/SurfaceManager$FlushableCacheData +instanceKlass sun/awt/X11/XRootWindow$LazyHolder +instanceKlass com/intellij/openapi/editor/colors/ex/DefaultColorSchemesManager +instanceKlass sun/awt/X11/XBaseWindow$1 +instanceKlass sun/awt/X11/XAwtState +instanceKlass sun/awt/X11/XDragSourceProtocolListener +instanceKlass com/intellij/icons/AllIcons$Process$FS +instanceKlass com/intellij/ui/AnimatedIcon$1 +instanceKlass com/intellij/util/ObjectUtilsRt +instanceKlass sun/awt/X11/XDropTargetEventProcessor +instanceKlass java/lang/FdLibm +instanceKlass java/lang/FdLibm$Cbrt +instanceKlass sun/awt/X11/WindowDimensions +instanceKlass java/awt/geom/Line2D +instanceKlass com/intellij/openapi/actionSystem/OverridingAction +instanceKlass sun/awt/X11/XWindowAttributesData +instanceKlass java/awt/geom/EllipseIterator +instanceKlass sun/awt/RepaintArea +instanceKlass com/github/weisj/jsvg/V +instanceKlass sun/awt/X11/MotifColorUtilities +instanceKlass sun/awt/AWTAccessor$SystemColorAccessor +instanceKlass com/intellij/ui/icons/PatchedIconDescriptor +instanceKlass sun/awt/X11/XBaseWindow$StateLock +instanceKlass com/intellij/openapi/editor/colors/impl/AdditionalTextAttributesEP +instanceKlass com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl$State +instanceKlass com/dynatrace/hash4j/hashing/HashFunnel +instanceKlass sun/awt/X11/XBaseWindow +instanceKlass sun/awt/X11ComponentPeer +instanceKlass sun/java2d/BackBufferCapsProvider +instanceKlass java/awt/dnd/peer/DropTargetPeer +instanceKlass java/awt/peer/CanvasPeer +instanceKlass java/awt/peer/PanelPeer +instanceKlass com/intellij/openapi/editor/colors/EditorColorsListener +instanceKlass com/dynatrace/hash4j/hashing/AbstractHashStream +instanceKlass java/awt/peer/DialogPeer +instanceKlass com/intellij/openapi/editor/colors/impl/ReadOnlyColorsScheme +instanceKlass java/awt/peer/WindowPeer +instanceKlass com/intellij/openapi/editor/colors/EditorFontCache +instanceKlass java/awt/peer/ContainerPeer +instanceKlass java/awt/SplashScreen +instanceKlass com/intellij/openapi/editor/colors/EditorColorsScheme +instanceKlass com/intellij/openapi/options/SchemeMetaInfo +instanceKlass com/intellij/openapi/editor/colors/TextAttributesScheme +instanceKlass com/dynatrace/hash4j/hashing/HashStream64 +instanceKlass com/dynatrace/hash4j/hashing/HashStream32 +instanceKlass com/dynatrace/hash4j/hashing/HashStream +instanceKlass com/dynatrace/hash4j/hashing/HashSink +instanceKlass com/dynatrace/hash4j/hashing/AbstractHasher +instanceKlass com/dynatrace/hash4j/hashing/Hasher64 +instanceKlass com/dynatrace/hash4j/hashing/Hasher32 +instanceKlass com/dynatrace/hash4j/hashing/Hasher +instanceKlass com/intellij/openapi/editor/colors/EditorColorsManager +instanceKlass com/intellij/ide/ui/laf/LafManagerImpl$addListeners$2 +instanceKlass com/intellij/ide/ui/laf/LafManagerImpl$addListeners$1 +instanceKlass com/intellij/ide/ui/laf/LafManagerImpl$UiThemeEpListener +instanceKlass com/dynatrace/hash4j/hashing/Hashing +instanceKlass com/intellij/ui/ExperimentalUIImpl$Companion +instanceKlass com/intellij/ui/HashKt +instanceKlass it/unimi/dsi/fastutil/longs/LongArrays$ArrayHashStrategy +instanceKlass it/unimi/dsi/fastutil/longs/LongArrays$Segment +instanceKlass it/unimi/dsi/fastutil/longs/LongArrays +instanceKlass com/intellij/openapi/application/impl/FlushQueue$RunnableInfo +instanceKlass com/intellij/model/SideEffectGuardImpl +instanceKlass com/intellij/model/SideEffectGuard +instanceKlass it/unimi/dsi/fastutil/longs/LongListIterator +instanceKlass it/unimi/dsi/fastutil/longs/LongBidirectionalIterator +instanceKlass com/intellij/openapi/application/impl/ApplicationImpl$4 +instanceKlass com/intellij/openapi/application/TransactionGuardImpl$1 +instanceKlass it/unimi/dsi/fastutil/longs/LongSpliterator +instanceKlass it/unimi/dsi/fastutil/longs/LongIterator +instanceKlass java/util/PrimitiveIterator$OfLong +instanceKlass com/intellij/ide/ui/FontSubpixelResolution +instanceKlass java/util/function/LongConsumer +instanceKlass it/unimi/dsi/fastutil/longs/LongStack +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme +instanceKlass it/unimi/dsi/fastutil/longs/LongList +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Tree +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$VersionControl$Log +instanceKlass com/intellij/util/InsecureHashBuilder +instanceKlass com/intellij/openapi/util/LazyIcon +instanceKlass com/intellij/ui/RetrievableIcon +instanceKlass com/intellij/icons/AllIcons$Ide +instanceKlass com/intellij/ide/ui/UISettingsUtils$Companion +instanceKlass com/intellij/ide/ui/UISettingsUtils +instanceKlass com/intellij/openapi/util/Comparing +instanceKlass com/intellij/ide/IdeBundle +instanceKlass com/intellij/ide/ui/laf/MenuArrowIcon +instanceKlass javax/swing/Popup +instanceKlass com/intellij/openapi/ui/popup/JBPopupListener +instanceKlass com/intellij/openapi/ui/popup/util/PopupUtil +instanceKlass com/intellij/ide/ui/laf/OurPopupFactory$Companion +instanceKlass javax/swing/PopupFactory$1 +instanceKlass sun/swing/SwingAccessor$PopupFactoryAccessor +instanceKlass javax/swing/PopupFactory +instanceKlass com/intellij/openapi/actionSystem/impl/ActionManagerImpl$WhenMappings +instanceKlass com/intellij/util/SVGLoaderKt +instanceKlass com/github/benmanes/caffeine/cache/BoundedWeigher +instanceKlass com/intellij/ui/icons/CacheKey +instanceKlass com/intellij/ui/icons/ImageCache +instanceKlass com/intellij/openapi/util/IconLoader +instanceKlass com/intellij/notification/NotificationGroup$Companion +instanceKlass com/intellij/notification/NotificationGroup +instanceKlass javax/swing/plaf/BorderUIResource +instanceKlass com/intellij/util/ui/UIUtil +instanceKlass com/intellij/util/ui/JBDimension$Size2D +instanceKlass com/intellij/ide/ui/laf/darcula/DarculaTableHeaderBorder +instanceKlass com/intellij/ui/paint/PaintUtil +instanceKlass com/intellij/util/ui/UpdateScaleHelper +instanceKlass com/intellij/ui/border/CustomLineBorder +instanceKlass com/intellij/util/ui/JBUI$Borders +instanceKlass com/intellij/notification/impl/NotificationGroupEP +instanceKlass com/intellij/icons/AllIcons$Actions +instanceKlass com/intellij/notification/impl/NotificationGroupManagerImplKt +instanceKlass com/intellij/notification/impl/NotificationGroupManagerImpl +instanceKlass com/intellij/ide/ui/laf/darcula/ui/DarculaSpinnerBorder +instanceKlass com/intellij/notification/NotificationGroupManager +instanceKlass com/intellij/ide/ui/laf/darcula/ui/DarculaMenuBarBorder +instanceKlass com/intellij/ide/ui/laf/darcula/ui/DarculaMenuItemBorder +instanceKlass com/intellij/uml/utils/DiagramBundle +instanceKlass com/intellij/ide/ui/laf/darcula/ui/DarculaTextBorder +instanceKlass com/intellij/openapi/ui/ErrorBorderCapable +instanceKlass com/intellij/diagram/DiagramFileType +instanceKlass com/intellij/icons/AllIcons$FileTypes +instanceKlass com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxBorder +instanceKlass com/intellij/ui/ComponentUtil +instanceKlass com/intellij/ide/ui/laf/darcula/ui/DarculaButtonPainter +instanceKlass sun/nio/fs/UnixCopyFile$Flags +instanceKlass sun/nio/fs/UnixCopyFile +instanceKlass com/intellij/util/ui/update/UiNotifyConnector +instanceKlass com/intellij/tasks/TaskBundle +instanceKlass com/intellij/util/ui/AnimatedIcon$2 +instanceKlass com/intellij/util/lang/ByteBufferCleaner +instanceKlass com/intellij/icons/AllIcons$General +instanceKlass com/intellij/ui/icons/ImageDataByPathLoaderKt +instanceKlass sun/java2d/loops/GraphicsPrimitive$GeneralBinaryOp +instanceKlass com/intellij/ui/icons/ImageDataByPathLoader$Companion +instanceKlass com/intellij/ui/icons/ImageDataByPathLoader +instanceKlass com/intellij/qt/common/QtBundle +instanceKlass com/intellij/ide/ui/laf/darcula/DarculaLaf$1 +instanceKlass com/intellij/lang/puppet/PuppetBundle +instanceKlass com/intellij/openapi/util/IconLoaderKt +instanceKlass javax/swing/plaf/ComponentUI +instanceKlass org/jetbrains/yaml/YAMLBundle +instanceKlass org/editorconfig/language/messages/EditorConfigBundle +instanceKlass com/intellij/util/ui/ImageUtil +instanceKlass java/awt/GradientPaintContext +instanceKlass ini4idea/IniBundle +instanceKlass com/intellij/json/jsonLines/JsonLinesFileType$Companion +instanceKlass com/intellij/json/JsonBundle +instanceKlass com/intellij/ide/ui/UITheme$3 +instanceKlass com/intellij/openapi/project/ProjectManagerListener +instanceKlass com/intellij/openapi/project/ProjectManager +instanceKlass com/intellij/ui/ColorHexUtil +instanceKlass it/unimi/dsi/fastutil/longs/LongBinaryOperator +instanceKlass it/unimi/dsi/fastutil/objects/Object2LongMap$FastEntrySet +instanceKlass java/util/function/LongBinaryOperator +instanceKlass it/unimi/dsi/fastutil/objects/AbstractObject2LongFunction +instanceKlass sun/java2d/pipe/AlphaPaintPipe$TileContext +instanceKlass javax/swing/ImageIcon$2 +instanceKlass javax/swing/ImageIcon$1 +instanceKlass javax/swing/ImageIcon +instanceKlass com/intellij/openapi/keymap/impl/KeymapFlagsStorage$Companion +instanceKlass com/intellij/spellchecker/DictionaryFileType +instanceKlass java/awt/MultipleGradientPaintContext +instanceKlass java/awt/PaintContext +instanceKlass org/intellij/lang/regexp/RegExpBundle +instanceKlass com/intellij/lang/InjectableLanguage +instanceKlass com/intellij/ide/highlighter/DomSupportEnabled +instanceKlass sun/java2d/marlin/ArrayCacheConst +instanceKlass sun/java2d/marlin/Helpers +instanceKlass com/intellij/openapi/components/SimplePersistentStateComponent +instanceKlass java/awt/geom/Path2D$Iterator +instanceKlass java/awt/geom/RoundRectIterator +instanceKlass sun/java2d/marlin/DPQSSorterContext +instanceKlass com/intellij/xml/psi/XmlPsiBundle +instanceKlass sun/java2d/marlin/MarlinUtils +instanceKlass sun/java2d/marlin/MergeSort +instanceKlass sun/java2d/marlin/Dasher$LengthIterator +instanceKlass com/intellij/util/messages/MessageHandler +instanceKlass com/intellij/util/messages/impl/Message +instanceKlass sun/java2d/marlin/Dasher +instanceKlass sun/java2d/marlin/Stroker +instanceKlass org/intellij/plugins/relaxNG/RelaxngBundle +instanceKlass sun/java2d/marlin/BBoxAATileGenerator +instanceKlass sun/java2d/pipe/AATileGenerator +instanceKlass com/intellij/util/messages/impl/MethodHandleCache +instanceKlass com/intellij/util/messages/impl/MessageBusImplKt +instanceKlass sun/java2d/marlin/Renderer +instanceKlass com/github/weisj/jsvg/Z +instanceKlass com/intellij/util/messages/impl/DescriptorBasedMessageBusConnection +instanceKlass com/intellij/openapi/vcs/changes/patch/PatchFileType +instanceKlass sun/java2d/marlin/ArrayCacheIntClean$Reference +instanceKlass kotlin/text/Charsets +instanceKlass com/intellij/ide/highlighter/ProjectFileType +instanceKlass jdk/internal/math/FDBigInteger +instanceKlass com/intellij/projectModel/ProjectModelBundle +instanceKlass sun/java2d/marlin/OffHeapArray +instanceKlass com/intellij/ide/highlighter/ModuleFileType +instanceKlass sun/java2d/marlin/MarlinCache +instanceKlass com/intellij/ide/highlighter/WorkspaceFileType +instanceKlass com/intellij/openapi/fileTypes/InternalFileType +instanceKlass com/intellij/openapi/keymap/impl/KeymapFlagsStorageListener +instanceKlass sun/java2d/marlin/ArrayCacheInt$Reference +instanceKlass com/intellij/openapi/fileTypes/impl/DetectedByContentFileType +instanceKlass com/intellij/ide/ui/UITheme$1 +instanceKlass sun/java2d/marlin/Helpers$IndexStack +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$PathClipFilter +instanceKlass com/intellij/ide/ui/UITheme$PaletteScope +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$StartFlagPathConsumer2D +instanceKlass com/intellij/ide/ui/UITheme$PaletteScopeManager +instanceKlass sun/java2d/marlin/ArrayCacheByte$Reference +instanceKlass sun/java2d/marlin/ArrayCacheDouble$Reference +instanceKlass sun/java2d/marlin/Helpers$PolyStack +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$ClosedPathDetector +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$PathTracer +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$DeltaTransformFilter +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$DeltaScaleFilter +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$Path2DWrapper +instanceKlass com/intellij/openapi/fileTypes/NativeFileType +instanceKlass com/intellij/openapi/fileTypes/INativeFileType +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter +instanceKlass sun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer +instanceKlass com/intellij/openapi/fileTypes/OSFileIdeAssociation +instanceKlass com/intellij/openapi/keymap/KeymapManagerListener +instanceKlass sun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator +instanceKlass java/awt/geom/PathIterator +instanceKlass com/intellij/ui/ColorUtil +instanceKlass sun/java2d/marlin/RendererContext$PathConsumer2DAdapter +instanceKlass sun/java2d/marlin/ArrayCacheByte +instanceKlass sun/java2d/marlin/ArrayCacheDouble +instanceKlass com/intellij/core/CoreBundle +instanceKlass sun/java2d/marlin/ArrayCacheInt +instanceKlass sun/java2d/marlin/ArrayCacheIntClean +instanceKlass com/intellij/ide/highlighter/ArchiveFileType +instanceKlass sun/java2d/marlin/PathSimplifier +instanceKlass sun/java2d/marlin/CollinearSimplifier +instanceKlass sun/java2d/marlin/DPathConsumer2D +instanceKlass com/fasterxml/jackson/jr/type/ClassStack +instanceKlass sun/java2d/marlin/Curve +instanceKlass sun/java2d/ReentrantContext +instanceKlass java/awt/GradientPaint +instanceKlass com/fasterxml/jackson/jr/ob/api/ExtensionContext +instanceKlass com/fasterxml/jackson/jr/ob/JSON$Builder +instanceKlass com/intellij/util/ui/JBUI +instanceKlass java/awt/MultipleGradientPaint +instanceKlass com/intellij/ui/JBColor$Lazy +instanceKlass com/intellij/util/SVGLoader$SvgElementColorPatcherProvider +instanceKlass java/awt/image/ImageFilter +instanceKlass com/intellij/openapi/fileTypes/FileTypesBundle +instanceKlass com/intellij/ui/scale/Scaler +instanceKlass com/github/weisj/jsvg/attributes/paint/DefaultPaintParser$a +instanceKlass com/intellij/ui/scale/AbstractScaleContextAware +instanceKlass com/intellij/ui/icons/ScaledIconCacheKt +instanceKlass com/intellij/ide/ui/laf/UiThemeProviderListManagerKt$sortTopologically$graph$1 +instanceKlass com/intellij/ui/icons/ScaledResultIcon +instanceKlass com/intellij/ui/icons/ReplaceableIcon +instanceKlass com/intellij/ide/ui/UITheme +instanceKlass com/intellij/codeInsight/template/impl/editorActions/TypedActionHandlerBase +instanceKlass com/intellij/openapi/editor/actionSystem/TypedActionHandlerEx +instanceKlass com/intellij/openapi/editor/actionSystem/TypedActionHandler +instanceKlass com/intellij/ide/ui/UIThemeProvider +instanceKlass com/intellij/ide/ui/laf/UiThemeProviderListManagerKt +instanceKlass com/intellij/ide/highlighter/custom/impl/CustomFileTypeQuoteHandler +instanceKlass com/intellij/ide/highlighter/custom/impl/StandardFileTypeRegistrar$MyCommenter +instanceKlass com/intellij/codeInsight/editorActions/QuoteHandler +instanceKlass com/intellij/ide/ui/laf/UiThemeProviderListManager$Companion +instanceKlass java/lang/runtime/ObjectMethods$1 +instanceKlass com/intellij/ide/ui/laf/UiThemeProviderListManager +instanceKlass com/intellij/lang/Commenter +instanceKlass com/intellij/ide/highlighter/custom/impl/StandardFileTypeRegistrar +instanceKlass com/intellij/ide/ui/LafProvider +instanceKlass com/intellij/ide/highlighter/FileTypeRegistrar +instanceKlass com/intellij/util/text/StringTokenizer +instanceKlass java/lang/invoke/MethodHandleImpl$Makers$2 +instanceKlass java/lang/invoke/MethodHandleImpl$Makers$1 +instanceKlass com/intellij/ide/highlighter/custom/SyntaxTable +instanceKlass java/lang/invoke/MethodHandleImpl$Makers +instanceKlass com/intellij/ide/ui/LafManager$LafReference +instanceKlass com/intellij/openapi/fileTypes/UnknownFileType +instanceKlass com/github/weisj/jsvg/T +instanceKlass com/intellij/ide/ui/laf/LafManagerImplKt +instanceKlass com/github/weisj/jsvg/al +instanceKlass com/intellij/openapi/keymap/KeymapTextContext +instanceKlass com/github/weisj/jsvg/au$a +instanceKlass java/lang/runtime/ObjectMethods +instanceKlass com/github/weisj/jsvg/df +instanceKlass com/intellij/openapi/keymap/KeymapUtil +instanceKlass com/github/weisj/jsvg/cN$a +instanceKlass com/github/weisj/jsvg/cN +instanceKlass com/github/weisj/jsvg/cT$b +instanceKlass com/github/weisj/jsvg/cT$1 +instanceKlass com/github/weisj/jsvg/cT +instanceKlass com/github/weisj/jsvg/cT$c +instanceKlass com/github/weisj/jsvg/cT$a +instanceKlass com/github/weisj/jsvg/cT$d +instanceKlass com/github/weisj/jsvg/M +instanceKlass com/github/weisj/jsvg/h$1 +instanceKlass com/github/weisj/jsvg/cP$a +instanceKlass com/github/weisj/jsvg/cP +instanceKlass com/intellij/ide/ui/LafManagerListener +instanceKlass com/github/weisj/jsvg/cS +instanceKlass com/intellij/ide/ui/laf/LafManagerImpl$Companion +instanceKlass com/github/weisj/jsvg/at +instanceKlass com/github/weisj/jsvg/au +instanceKlass com/github/weisj/jsvg/db +instanceKlass com/intellij/ui/KeyStrokeAdapter$LazyVirtualKeys +instanceKlass com/intellij/ui/KeyStrokeAdapter$LazyModifiers +instanceKlass com/intellij/ui/KeyStrokeAdapter +instanceKlass com/intellij/ide/ui/LafManager +instanceKlass sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec +instanceKlass sun/java2d/DefaultDisposerRecord +instanceKlass sun/java2d/loops/RenderLoops +instanceKlass sun/awt/image/BufImgSurfaceData$ICMColorData +instanceKlass com/intellij/openapi/wm/WeakFocusStackManager$1 +instanceKlass com/github/weisj/jsvg/geometry/size/MeasureContext +instanceKlass com/intellij/openapi/wm/WeakFocusStackManager +instanceKlass com/github/weisj/jsvg/attributes/font/SVGFont +instanceKlass com/intellij/ui/svg/JsvgKt +instanceKlass io/opentelemetry/api/trace/PropagatedSpan +instanceKlass com/github/weisj/jsvg/h +instanceKlass com/intellij/ide/plugins/advertiser/PluginData$Companion +instanceKlass io/opentelemetry/context/DefaultContextKey +instanceKlass io/opentelemetry/context/ContextKey +instanceKlass com/intellij/ide/plugins/advertiser/PluginData +instanceKlass io/opentelemetry/api/trace/SpanContextKey +instanceKlass io/opentelemetry/api/trace/Span +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserExtensionsStateService$State$$serializer +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/FilteredExemplarReservoir +instanceKlass com/github/weisj/jsvg/cM +instanceKlass com/github/weisj/jsvg/ak +instanceKlass com/github/weisj/jsvg/H +instanceKlass com/github/benmanes/caffeine/cache/Scheduler +instanceKlass com/github/weisj/jsvg/J +instanceKlass com/github/weisj/jsvg/cl +instanceKlass io/opentelemetry/api/trace/ArrayBasedTraceState +instanceKlass com/github/benmanes/caffeine/cache/Ticker +instanceKlass io/opentelemetry/api/trace/ArrayBasedTraceStateBuilder +instanceKlass com/github/weisj/jsvg/cR +instanceKlass io/opentelemetry/api/trace/TraceStateBuilder +instanceKlass io/opentelemetry/api/trace/TraceState +instanceKlass com/github/weisj/jsvg/I$4 +instanceKlass com/github/weisj/jsvg/I$3 +instanceKlass com/github/weisj/jsvg/I$2 +instanceKlass com/github/weisj/jsvg/Y +instanceKlass com/github/weisj/jsvg/I$1 +instanceKlass com/intellij/ide/plugins/advertiser/PluginData$$serializer +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserExtensionsStateService$State$Companion +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserExtensionsStateService$State +instanceKlass com/github/weisj/jsvg/A +instanceKlass com/github/weisj/jsvg/B +instanceKlass com/github/weisj/jsvg/x +instanceKlass com/github/weisj/jsvg/c +instanceKlass com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserExtensionsStateService$Companion +instanceKlass com/github/weisj/jsvg/v +instanceKlass com/github/weisj/jsvg/cU +instanceKlass com/github/weisj/jsvg/cQ +instanceKlass com/github/weisj/jsvg/g +instanceKlass com/github/weisj/jsvg/cm +instanceKlass io/opentelemetry/api/internal/OtelEncodingUtils +instanceKlass com/github/weisj/jsvg/aa +instanceKlass io/opentelemetry/api/trace/ImmutableTraceFlags +instanceKlass com/github/weisj/jsvg/ch +instanceKlass io/opentelemetry/api/internal/ImmutableSpanContext +instanceKlass com/github/weisj/jsvg/y +instanceKlass com/intellij/concurrency/ConcurrentHashMap$Traverser +instanceKlass io/opentelemetry/api/trace/SpanContext +instanceKlass io/opentelemetry/sdk/metrics/internal/concurrent/JreLongAdder +instanceKlass io/opentelemetry/sdk/metrics/internal/concurrent/LongAdder +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl$StandardFileType +instanceKlass io/opentelemetry/sdk/metrics/internal/concurrent/DoubleAdder +instanceKlass io/opentelemetry/sdk/metrics/internal/concurrent/AdderUtil +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/RandomFixedSizeExemplarReservoir$RandomCellSelector +instanceKlass com/github/weisj/jsvg/cA$a +instanceKlass io/opentelemetry/sdk/metrics/data/LongExemplarData +instanceKlass com/github/weisj/jsvg/cA +instanceKlass io/opentelemetry/sdk/metrics/data/ExemplarData +instanceKlass com/intellij/openapi/fileTypes/LanguageFileType +instanceKlass kotlin/coroutines/jvm/internal/ModuleNameRetriever$Cache +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/ReservoirCell +instanceKlass kotlin/coroutines/jvm/internal/ModuleNameRetriever +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl$PluginFileTypeConsumer +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/ReservoirCellSelector +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/FixedSizeExemplarReservoir +instanceKlass com/github/weisj/jsvg/aV +instanceKlass com/github/weisj/jsvg/cg +instanceKlass io/opentelemetry/context/ArrayBasedContext +instanceKlass kotlin/coroutines/jvm/internal/DebugMetadata +instanceKlass io/opentelemetry/context/ContextStorageWrappers +instanceKlass kotlin/coroutines/jvm/internal/DebugMetadataKt +instanceKlass io/opentelemetry/context/Scope +instanceKlass io/opentelemetry/context/ContextStorageProvider +instanceKlass kotlinx/coroutines/DebugStringsKt +instanceKlass io/opentelemetry/context/LazyStorage +instanceKlass io/opentelemetry/context/ContextStorage +instanceKlass io/opentelemetry/context/Context +instanceKlass com/github/weisj/jsvg/co +instanceKlass com/intellij/diagnostic/CheckerState$FREEZE_LOGGING +instanceKlass com/github/weisj/jsvg/cp +instanceKlass com/intellij/diagnostic/CheckerState$FINISHED +instanceKlass com/intellij/openapi/application/impl/BulkArrayQueue +instanceKlass com/github/weisj/jsvg/aI +instanceKlass com/github/weisj/jsvg/ci +instanceKlass com/intellij/openapi/actionSystem/CompactActionGroup +instanceKlass com/github/weisj/jsvg/cd$a +instanceKlass com/github/weisj/jsvg/cd +instanceKlass com/github/weisj/jsvg/ck +instanceKlass com/github/weisj/jsvg/ca +instanceKlass com/github/weisj/jsvg/bX +instanceKlass com/github/weisj/jsvg/bY$a +instanceKlass com/github/weisj/jsvg/bY +instanceKlass com/github/weisj/jsvg/ce +instanceKlass com/github/weisj/jsvg/cc +instanceKlass com/github/weisj/jsvg/cb +instanceKlass com/github/weisj/jsvg/bZ +instanceKlass com/github/weisj/jsvg/cj +instanceKlass com/github/weisj/jsvg/cf +instanceKlass com/github/weisj/jsvg/bW +instanceKlass com/github/weisj/jsvg/geometry/size/Length +instanceKlass com/github/weisj/jsvg/r +instanceKlass com/intellij/openapi/actionSystem/ActionInGroup +instanceKlass com/intellij/openapi/actionSystem/Anchor +instanceKlass com/intellij/openapi/actionSystem/Constraints +instanceKlass com/github/weisj/jsvg/parser/AttributeNode +instanceKlass com/intellij/openapi/application/impl/FlushQueue +instanceKlass com/github/weisj/jsvg/parser/ParsedElement +instanceKlass com/intellij/openapi/project/ProjectType +instanceKlass com/intellij/openapi/application/ModalityStateListener +instanceKlass com/intellij/openapi/application/impl/LaterInvocator +instanceKlass com/intellij/openapi/actionSystem/ActionStubBase +instanceKlass com/intellij/util/SVGLoader +instanceKlass com/intellij/openapi/fileTypes/FileTypeFactory +instanceKlass com/intellij/ui/icons/LoadIconParameters$Companion +instanceKlass com/intellij/internal/statistic/collectors/fus/actions/persistence/ActionsBuiltInAllowedlist +instanceKlass com/intellij/ui/icons/LoadIconParameters +instanceKlass com/intellij/ui/scale/UserScaleContext$1 +instanceKlass kotlinx/collections/immutable/internal/CommonFunctionsKt +instanceKlass com/intellij/internal/statistic/collectors/fus/actions/persistence/ActionsCollectorImpl$Companion +instanceKlass kotlinx/collections/immutable/implementations/persistentOrderedMap/LinkedValue +instanceKlass kotlinx/collections/immutable/internal/MutabilityOwnership +instanceKlass java/awt/Component$3 +instanceKlass com/intellij/ui/SpinningProgressIconKt +instanceKlass com/intellij/icons/AllIcons$Process$Big +instanceKlass kotlinx/collections/immutable/internal/EndOfChain +instanceKlass kotlinx/collections/immutable/implementations/persistentOrderedMap/PersistentOrderedMap$Companion +instanceKlass com/intellij/ide/actions/ActionsCollector +instanceKlass com/intellij/ui/SpinningProgressIcon$CashedDelegateIcon +instanceKlass kotlinx/collections/immutable/PersistentMap$Builder +instanceKlass com/intellij/ui/SpinningProgressIcon$createFrame$1 +instanceKlass com/intellij/ui/AnimatedIcon$Frame +instanceKlass com/intellij/openapi/util/text/NaturalComparator +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectSortedMap$FastSortedEntrySet +instanceKlass it/unimi/dsi/fastutil/objects/ObjectSortedSet +instanceKlass com/intellij/internal/statistic/eventLog/EmptyStatisticsEventLogger +instanceKlass it/unimi/dsi/fastutil/objects/ObjectBidirectionalIterable +instanceKlass com/intellij/internal/statistic/eventLog/StatisticsEventLogger +instanceKlass it/unimi/dsi/fastutil/longs/LongSortedSet +instanceKlass it/unimi/dsi/fastutil/longs/LongBidirectionalIterable +instanceKlass com/intellij/openapi/actionSystem/impl/ActionManagerImplKt +instanceKlass com/intellij/ide/gdpr/ConsentOptionsProviderImpl +instanceKlass com/intellij/openapi/actionSystem/impl/ProxyShortcutSet +instanceKlass kotlinx/collections/immutable/implementations/immutableMap/TrieNode$ModificationResult +instanceKlass kotlinx/collections/immutable/implementations/immutableMap/TrieNodeKt +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectSortedMap +instanceKlass com/intellij/ide/ConsentOptionsProvider +instanceKlass com/intellij/openapi/fileTypes/impl/RemovedMappingTracker$RemovedMapping +instanceKlass org/intellij/plugins/markdown/MarkdownBundle +instanceKlass com/intellij/internal/statistic/eventLog/ExternalEventLogSettings +instanceKlass com/intellij/util/containers/MultiMap$1$1 +instanceKlass com/intellij/openapi/util/text/TextWithMnemonic +instanceKlass com/intellij/xdebugger/XDebuggerBundle +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl$FileTypeWithDescriptor +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeBean +instanceKlass com/intellij/openapi/fileTypes/WildcardFileNameMatcher$PrefixMatcher +instanceKlass com/intellij/vcs/log/VcsLogBundle +instanceKlass com/intellij/openapi/actionSystem/Presentation +instanceKlass com/intellij/ui/icons/ScaledIconCache +instanceKlass com/intellij/openapi/options/SettingsEditor +instanceKlass com/intellij/ui/icons/IconDescriptionLoader +instanceKlass com/intellij/openapi/actionSystem/CustomShortcutSet +instanceKlass com/intellij/ui/icons/RasterizedImageDataLoader +instanceKlass com/intellij/ui/icons/ImageDataLoader +instanceKlass com/intellij/openapi/actionSystem/SeparatorAction +instanceKlass com/intellij/ide/lightEdit/LightEditCompatible +instanceKlass com/intellij/util/containers/ConcurrentWeakKeySoftValueHashMap$HardKey +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectOpenCustomHashMap$MapEntry +instanceKlass sun/awt/GlobalCursorManager +instanceKlass it/unimi/dsi/fastutil/Pair +instanceKlass com/intellij/openapi/actionSystem/ShortcutSet +instanceKlass com/github/weisj/jsvg/nodes/SVGNode +instanceKlass com/sun/imageio/plugins/common/ReaderUtil +instanceKlass com/intellij/util/containers/ConcurrentWeakKeySoftValueHashMap$KeyReference +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectMap$Entry +instanceKlass com/intellij/util/containers/ConcurrentWeakKeySoftValueHashMap$ValueReference +instanceKlass com/github/weisj/jsvg/parser/NodeMap +instanceKlass com/intellij/util/containers/ConcurrentWeakKeySoftValueHashMap +instanceKlass kotlinx/collections/immutable/implementations/immutableSet/TrieNodeKt +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectOpenCustomHashMap$MapIterator +instanceKlass com/intellij/util/containers/FastUtilCaseInsensitiveStringHashingStrategy +instanceKlass sun/awt/X11CustomCursor$1CCount +instanceKlass java/awt/image/PixelGrabber +instanceKlass com/github/weisj/jsvg/parser/UIFuture +instanceKlass com/sun/imageio/plugins/png/PNGImageDataEnumeration +instanceKlass com/github/weisj/jsvg/parser/ResourceLoader +instanceKlass javax/imageio/stream/MemoryCacheImageInputStream$StreamDisposerRecord +instanceKlass javax/imageio/stream/MemoryCache +instanceKlass com/github/weisj/jsvg/I +instanceKlass com/intellij/idea/ActionsBundle +instanceKlass com/github/weisj/jsvg/attributes/paint/DefaultPaintParser +instanceKlass com/github/weisj/jsvg/attributes/paint/PaintParser +instanceKlass javax/imageio/stream/ImageInputStreamImpl +instanceKlass com/github/weisj/jsvg/attributes/AttributeParser +instanceKlass java/awt/image/BufferedImage$1 +instanceKlass javax/imageio/metadata/IIOMetadata +instanceKlass com/github/weisj/jsvg/parser/LoadHelper +instanceKlass com/intellij/ui/icons/IconTransform +instanceKlass com/intellij/ui/icons/CachedImageIconKt +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl$2 +instanceKlass com/intellij/util/concurrency/CoroutineDispatcherBackedExecutor +instanceKlass com/intellij/ui/svg/JSvgDocumentFactoryKt +instanceKlass com/intellij/ui/icons/RasterizedImageDataLoaderKt +instanceKlass com/intellij/util/concurrency/AppJavaExecutorUtil +instanceKlass com/intellij/ui/svg/SvgCacheClassifier +instanceKlass java/awt/image/SampleModel +instanceKlass kotlin/UnsafeLazyImpl +instanceKlass com/intellij/ui/icons/CachedImageIcon +instanceKlass com/intellij/ui/scale/ScaleContextAware +instanceKlass com/intellij/ui/icons/IconWithToolTip +instanceKlass com/intellij/openapi/fileTypes/FileTypeRegistry$FileTypeDetector +instanceKlass com/intellij/ui/icons/MenuBarIconProvider +instanceKlass com/intellij/ui/icons/DarkIconProvider +instanceKlass com/intellij/openapi/util/ScalableIcon +instanceKlass com/intellij/ui/icons/IconLoadMeasurer$Counter +instanceKlass com/intellij/ui/icons/CopyableIcon +instanceKlass com/intellij/openapi/util/io/ByteArraySequence +instanceKlass javax/imageio/ImageIO$ImageReaderIterator +instanceKlass com/intellij/ui/icons/IconLoadMeasurer +instanceKlass javax/imageio/spi/FilterIterator +instanceKlass javax/imageio/spi/PartialOrderIterator +instanceKlass com/intellij/util/containers/ConcurrentPackedBitsArrayImpl +instanceKlass sun/awt/image/GifFrame +instanceKlass com/intellij/util/containers/ConcurrentPackedBitsArray +instanceKlass javax/imageio/ImageIO$ContainsFilter +instanceKlass javax/imageio/spi/ServiceRegistry$Filter +instanceKlass com/intellij/util/containers/HashSetQueue$QueueEntry +instanceKlass javax/imageio/ImageTypeSpecifier +instanceKlass com/intellij/util/containers/HashSetQueue$PositionalIterator +instanceKlass com/intellij/ui/icons/ImageCacheKt +instanceKlass javax/imageio/ImageWriter +instanceKlass javax/imageio/ImageTranscoder +instanceKlass javax/imageio/metadata/IIOMetadataFormat +instanceKlass com/intellij/openapi/util/io/ByteSequence +instanceKlass com/intellij/icons/AllIcons +instanceKlass javax/imageio/ImageReader +instanceKlass com/intellij/ui/scale/ScaleContext$WhenMappings +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeDetectionService +instanceKlass com/intellij/icons/AllIcons$Process +instanceKlass kotlin/jvm/internal/FloatCompanionObject +instanceKlass com/intellij/openapi/fileTypes/impl/ConflictingFileTypeMappingTracker +instanceKlass sun/awt/image/ImageDecoder +instanceKlass com/intellij/ui/AnimatedIcon +instanceKlass com/intellij/openapi/fileTypes/impl/RemovedMappingTracker +instanceKlass javax/imageio/spi/IIORegistry$1 +instanceKlass com/intellij/openapi/fileTypes/impl/IgnoredFileCache$1 +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectMap$FastEntrySet +instanceKlass com/intellij/openapi/fileTypes/impl/IgnoredFileCache +instanceKlass com/intellij/util/ui/Animator +instanceKlass it/unimi/dsi/fastutil/longs/LongSet +instanceKlass it/unimi/dsi/fastutil/longs/LongCollection +instanceKlass com/sun/imageio/plugins/jpeg/JPEG +instanceKlass sun/awt/image/ImageFetcher$1 +instanceKlass it/unimi/dsi/fastutil/longs/LongIterable +instanceKlass com/intellij/openapi/fileTypes/ExactFileNameMatcher +instanceKlass sun/awt/image/FetcherInfo +instanceKlass com/intellij/openapi/fileTypes/WildcardFileNameMatcher$SuffixMatcher +instanceKlass com/intellij/openapi/fileTypes/WildcardFileNameMatcher$MaskMatcher +instanceKlass com/intellij/openapi/fileTypes/WildcardFileNameMatcher +instanceKlass com/intellij/execution/ui/UIExperiment +instanceKlass sun/awt/image/ImageConsumerQueue +instanceKlass com/intellij/openapi/fileTypes/ExtensionFileNameMatcher +instanceKlass sun/awt/image/ImageWatched$Link +instanceKlass org/jetbrains/jps/plugin/JpsPluginManager +instanceKlass sun/awt/image/ImageWatched +instanceKlass java/awt/image/ImageConsumer +instanceKlass it/unimi/dsi/fastutil/longs/AbstractLong2ObjectFunction +instanceKlass java/awt/image/MultiResolutionImage +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectMap +instanceKlass java/awt/MediaEntry +instanceKlass it/unimi/dsi/fastutil/longs/Long2ObjectFunction +instanceKlass java/awt/MediaTracker +instanceKlass org/jetbrains/jps/service/JpsServiceManager$InstanceHolder +instanceKlass org/jetbrains/jps/service/JpsServiceManager +instanceKlass org/jetbrains/jps/model/fileTypes/FileNameMatcherFactory +instanceKlass com/intellij/util/containers/FastUtilHashingStrategies$1 +instanceKlass com/intellij/util/containers/FastUtilCharSequenceHashingStrategy +instanceKlass com/intellij/util/containers/FastUtilHashingStrategies +instanceKlass sun/awt/image/NativeLibLoader$1 +instanceKlass sun/awt/image/NativeLibLoader +instanceKlass sun/awt/image/SurfaceManager +instanceKlass javax/imageio/stream/ImageOutputStream +instanceKlass sun/awt/image/SurfaceManager$ImageAccessor +instanceKlass com/intellij/util/ComponentTreeEventDispatcher +instanceKlass javax/imageio/spi/DigraphNode +instanceKlass javax/imageio/stream/ImageInputStream +instanceKlass sun/awt/image/InputStreamImageSource +instanceKlass sun/awt/image/ImageFetchable +instanceKlass java/awt/image/ImageProducer +instanceKlass com/intellij/ide/ui/UISettingsListener +instanceKlass com/intellij/ide/ui/UISettingsStateKt +instanceKlass com/intellij/ide/ui/customization/CustomizableActionGroupProvider +instanceKlass com/intellij/ui/scale/ScaleKt +instanceKlass javax/imageio/spi/SubRegistry +instanceKlass com/intellij/openapi/fileTypes/impl/IgnoredPatternSet +instanceKlass com/intellij/ide/ui/customization/CustomizableActionGroupProvider$CustomizableActionGroupRegistrar +instanceKlass kotlinx/collections/immutable/implementations/immutableSet/TrieNode$Companion +instanceKlass com/intellij/ui/AppUIUtilKt +instanceKlass com/intellij/ide/ui/customization/CustomActionsSchemaKt +instanceKlass com/intellij/util/containers/CharSequenceHashingStrategy +instanceKlass javax/imageio/spi/IIOServiceProvider +instanceKlass javax/imageio/spi/RegisterableService +instanceKlass kotlinx/collections/immutable/implementations/immutableSet/TrieNode +instanceKlass java/awt/Window$WindowDisposerRecord +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeAssocTable$ConcurrentCharSequenceMapBuilder +instanceKlass javax/imageio/spi/ServiceRegistry +instanceKlass com/intellij/BundleBaseKt +instanceKlass kotlinx/collections/immutable/implementations/immutableSet/PersistentHashSet$Companion +instanceKlass kotlin/collections/AbstractSet$Companion +instanceKlass java/awt/dnd/DragSource +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeAssocTable +instanceKlass com/intellij/BundleBase +instanceKlass kotlin/collections/AbstractCollection +instanceKlass com/intellij/DynamicBundle$LanguageBundleEP +instanceKlass javax/imageio/ImageIO +instanceKlass com/intellij/openapi/fileTypes/impl/FileTypeAssocTableUtil +instanceKlass com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler$MyEventDispatcher +instanceKlass com/intellij/openapi/progress/impl/CoreProgressManager$CheckCanceledHook +instanceKlass kotlinx/collections/immutable/PersistentSet +instanceKlass kotlinx/collections/immutable/PersistentCollection +instanceKlass com/intellij/openapi/fileTypes/ex/FileTypeIdentifiableByVirtualFile +instanceKlass kotlinx/collections/immutable/ImmutableSet +instanceKlass com/intellij/openapi/util/Computable +instanceKlass kotlinx/collections/immutable/ImmutableCollection +instanceKlass com/intellij/ide/IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1 +instanceKlass com/intellij/ide/ui/NotRoamableUiSettingsKt +instanceKlass com/intellij/openapi/util/registry/RegistryManager$Companion +instanceKlass com/intellij/openapi/fileTypes/FileTypeConsumer +instanceKlass com/intellij/openapi/actionSystem/ex/ActionManagerEx$Companion +instanceKlass sun/awt/X11/XlibUtil +instanceKlass com/intellij/util/DefaultBundleService +instanceKlass javax/swing/RepaintManager$ProcessingRunnable +instanceKlass com/intellij/openapi/keymap/KeyMapBundle +instanceKlass com/intellij/openapi/fileTypes/impl/AbstractFileTypeBase +instanceKlass kotlinx/coroutines/flow/SharedFlowImpl$Emitter +instanceKlass com/intellij/openapi/application/impl/InvocationUtil +instanceKlass com/intellij/openapi/fileTypes/PlainTextLikeFileType +instanceKlass com/intellij/openapi/fileTypes/impl/CustomSyntaxTableFileType +instanceKlass com/intellij/openapi/fileTypes/ex/ExternalizableFileType +instanceKlass com/intellij/diagnostic/CheckerState$CHECKING +instanceKlass com/intellij/diagnostic/CheckerState +instanceKlass com/intellij/ui/icons/ImageDescriptor$Companion +instanceKlass javax/swing/tree/MutableTreeNode +instanceKlass javax/swing/tree/TreeNode +instanceKlass com/intellij/diagnostic/PerformanceWatcherImpl$FreezeCheckerTask +instanceKlass com/intellij/ui/icons/ImageDescriptor +instanceKlass com/intellij/ui/icons/ImageDescriptorKt +instanceKlass java/awt/BorderLayout +instanceKlass java/awt/LayoutManager2 +instanceKlass com/intellij/ide/ui/NotRoamableUiOptions +instanceKlass java/awt/ComponentOrientation +instanceKlass com/intellij/openapi/keymap/KeymapGroup +instanceKlass io/opentelemetry/sdk/metrics/internal/state/MultiWritableMetricStorage +instanceKlass java/awt/Frame$1 +instanceKlass sun/awt/AWTAccessor$FrameAccessor +instanceKlass java/awt/Window$2 +instanceKlass sun/awt/AWTAccessor$WindowAccessor +instanceKlass com/intellij/ui/icons/IconUtilKt +instanceKlass io/opentelemetry/sdk/metrics/internal/state/DefaultSynchronousMetricStorage +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/NoopExemplarReservoir +instanceKlass com/intellij/openapi/fileTypes/UserFileType +instanceKlass com/intellij/ide/ui/NotRoamableUiSettings$Companion +instanceKlass io/opentelemetry/sdk/metrics/internal/aggregator/DropAggregator$1 +instanceKlass com/intellij/openapi/components/SerializablePersistentStateComponent$Companion +instanceKlass io/opentelemetry/sdk/metrics/internal/aggregator/DropAggregator +instanceKlass io/opentelemetry/sdk/metrics/internal/state/SynchronousMetricStorage +instanceKlass com/intellij/openapi/keymap/impl/ui/ActionsTreeUtil +instanceKlass io/opentelemetry/sdk/metrics/AbstractInstrument +instanceKlass java/math/MutableBigInteger +instanceKlass com/intellij/ide/ui/UISettings$Companion +instanceKlass com/intellij/openapi/components/SerializablePersistentStateComponent +instanceKlass org/HdrHistogram/WriterReaderPhaser +instanceKlass com/intellij/ide/ui/customization/CustomActionsSchema$Companion +instanceKlass com/intellij/ui/AppUIUtil +instanceKlass org/jetbrains/xxh3/Xxh3$LongArrayAccessForLongs +instanceKlass com/intellij/ide/ui/UISettings +instanceKlass org/HdrHistogram/SingleWriterRecorder +instanceKlass com/intellij/diagnostic/OtelReportingEventWatcher +instanceKlass com/intellij/ui/SplashKt +instanceKlass com/intellij/ide/ui/customization/CustomActionsSchema +instanceKlass com/intellij/diagnostic/CompositeEventWatcher +instanceKlass sun/font/SunFontManager$12 +instanceKlass com/intellij/openapi/actionSystem/ActionManager +instanceKlass javax/swing/text/html/CSS$ShorthandMarginParser +instanceKlass javax/swing/text/StyleContext$KeyEnumeration +instanceKlass javax/swing/text/html/CSS$LengthUnit +instanceKlass javax/swing/text/html/CSSParser +instanceKlass javax/swing/text/html/StyleSheet$CssParser +instanceKlass javax/swing/text/html/CSSParser$CSSParserCallback +instanceKlass javax/swing/text/html/HTMLEditorKit$1 +instanceKlass javax/swing/text/Position$Bias +instanceKlass javax/swing/text/StyledEditorKit$AttributeTracker +instanceKlass javax/swing/text/LayeredHighlighter$LayerPainter +instanceKlass javax/swing/text/Highlighter$HighlightPainter +instanceKlass javax/swing/event/CaretListener +instanceKlass javax/swing/text/html/HTMLEditorKit$HTMLFactory +instanceKlass java/awt/Cursor$1 +instanceKlass sun/awt/AWTAccessor$CursorAccessor +instanceKlass java/awt/Cursor +instanceKlass javax/swing/text/StyledEditorKit$StyledViewFactory +instanceKlass javax/swing/text/ViewFactory +instanceKlass javax/swing/AbstractAction +instanceKlass javax/swing/JComponent$2 +instanceKlass javax/swing/JComponent$1 +instanceKlass sun/swing/SwingAccessor$JComponentAccessor +instanceKlass java/awt/Container$1 +instanceKlass sun/awt/AWTAccessor$ContainerAccessor +instanceKlass java/awt/LightweightDispatcher +instanceKlass java/awt/Component$DummyRequestFocusController +instanceKlass sun/awt/RequestFocusController +instanceKlass java/awt/Component$1 +instanceKlass sun/awt/AWTAccessor$ComponentAccessor +instanceKlass java/awt/Component$AWTTreeLock +instanceKlass java/util/logging/LogManager$3 +instanceKlass javax/swing/UIManager$2 +instanceKlass sun/awt/PaintEventDispatcher +instanceKlass javax/swing/RepaintManager$1 +instanceKlass sun/swing/SwingAccessor$RepaintManagerAccessor +instanceKlass javax/swing/RepaintManager$DisplayChangedHandler +instanceKlass javax/swing/RepaintManager +instanceKlass javax/swing/UIManager$1 +instanceKlass javax/swing/UIManager$LAFState +instanceKlass javax/swing/UIManager$LookAndFeelInfo +instanceKlass javax/swing/UIManager +instanceKlass javax/swing/plaf/metal/OceanTheme$6 +instanceKlass javax/swing/plaf/metal/OceanTheme$5 +instanceKlass javax/swing/plaf/metal/OceanTheme$4 +instanceKlass javax/swing/plaf/metal/OceanTheme$3 +instanceKlass javax/swing/plaf/metal/OceanTheme$2 +instanceKlass javax/swing/plaf/metal/OceanTheme$1 +instanceKlass com/intellij/ide/ui/laf/IdeaLaf$1 +instanceKlass com/intellij/ui/ColoredSideBorder +instanceKlass com/intellij/ide/ui/laf/IdeaLaf$2 +instanceKlass javax/swing/ArrayTable +instanceKlass java/awt/event/KeyEvent$1 +instanceKlass sun/awt/AWTAccessor$KeyEventAccessor +instanceKlass java/awt/event/InputEvent$1 +instanceKlass sun/awt/AWTAccessor$InputEventAccessor +instanceKlass java/awt/event/NativeLibLoader$1 +instanceKlass java/awt/event/NativeLibLoader +instanceKlass java/awt/VKCollection +instanceKlass javax/swing/InputMap +instanceKlass javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue +instanceKlass javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate +instanceKlass javax/swing/plaf/metal/MetalTheme +instanceKlass sun/awt/OSInfo$1 +instanceKlass sun/awt/OSInfo$WindowsVersion +instanceKlass sun/awt/OSInfo +instanceKlass kotlin/math/MathKt__MathHKt +instanceKlass java/awt/peer/ComponentPeer +instanceKlass java/awt/Image +instanceKlass java/awt/image/WritableRenderedImage +instanceKlass java/awt/image/RenderedImage +instanceKlass sun/invoke/util/VerifyAccess$1 +instanceKlass com/sun/java/swing/plaf/gtk/GTKLookAndFeel$3 +instanceKlass com/sun/java/swing/plaf/gtk/GTKLookAndFeel$2 +instanceKlass com/sun/java/swing/plaf/gtk/GTKLookAndFeel$1 +instanceKlass com/sun/java/swing/plaf/gtk/GTKLookAndFeel$1FontLazyValue +instanceKlass com/sun/java/swing/plaf/gtk/GTKStyle$GTKLazyValue +instanceKlass sun/util/ResourceBundleEnumeration +instanceKlass javax/swing/UIDefaults$1 +instanceKlass javax/swing/UIDefaults$LazyInputMap +instanceKlass javax/swing/plaf/basic/BasicLookAndFeel$2 +instanceKlass javax/swing/UIDefaults$ActiveValue +instanceKlass javax/swing/plaf/synth/ColorType +instanceKlass com/sun/java/swing/plaf/gtk/GTKStyle$GTKStockIcon +instanceKlass javax/swing/plaf/synth/SynthIcon +instanceKlass javax/swing/Icon +instanceKlass javax/swing/plaf/synth/SynthGraphicsUtils +instanceKlass javax/swing/plaf/synth/SynthStyle +instanceKlass com/sun/java/swing/plaf/gtk/GTKConstants +instanceKlass sun/swing/SwingAccessor$UIDefaultsAccessor +instanceKlass com/intellij/openapi/editor/impl/FontFamilyServiceImpl$FontFamily +instanceKlass sun/swing/SwingUtilities2$LSBCacheEntry +instanceKlass sun/swing/StringUIClientPropertyKey +instanceKlass javax/swing/UIClientPropertyKey +instanceKlass sun/swing/SwingUtilities2 +instanceKlass sun/font/FontWithDerivedItalic +instanceKlass com/intellij/util/Consumer +instanceKlass com/intellij/execution/process/ProcessOutputTypes +instanceKlass com/intellij/openapi/application/ModalityStateElementKey +instanceKlass com/intellij/openapi/application/ModalityKt +instanceKlass com/intellij/execution/process/ProcessWaitFor +instanceKlass com/intellij/execution/CommandLineUtil +instanceKlass com/intellij/execution/process/ProcessAdapter +instanceKlass com/intellij/execution/process/ProcessHandler$2 +instanceKlass com/intellij/util/io/BaseDataReader +instanceKlass com/intellij/execution/process/ProcessListener +instanceKlass com/intellij/execution/TaskExecutor +instanceKlass com/intellij/openapi/vfs/pointers/VirtualFilePointerListener +instanceKlass com/intellij/util/LocalTimeCounter +instanceKlass com/intellij/openapi/vfs/ex/temp/TempFileSystem$FSItem +instanceKlass com/intellij/openapi/vfs/impl/local/SymbolicLinkRefresher$1 +instanceKlass com/intellij/util/io/BaseDataReader$SleepingPolicy +instanceKlass com/intellij/openapi/vfs/impl/local/SymbolicLinkRefresher +instanceKlass com/intellij/openapi/vfs/impl/local/WatchRootsManager$1 +instanceKlass com/intellij/util/io/BaseOutputReader$Options +instanceKlass com/intellij/openapi/vfs/impl/local/WatchRootsUtil +instanceKlass com/intellij/openapi/vfs/LocalFileSystem$WatchRequest +instanceKlass com/intellij/openapi/vfs/impl/local/WatchRootsManager +instanceKlass com/intellij/openapi/vfs/local/PluggableFileWatcher +instanceKlass com/intellij/openapi/vfs/impl/local/PluggableLocalFileSystemContentLoader +instanceKlass com/intellij/util/concurrency/BoundedTaskExecutor$1 +instanceKlass java/util/function/LongUnaryOperator +instanceKlass com/intellij/openapi/vfs/impl/local/FileWatcher$DirtyPaths +instanceKlass com/intellij/openapi/vfs/impl/local/FileWatcher$MyFileWatcherNotificationSink +instanceKlass com/intellij/openapi/vfs/impl/local/CanonicalPathMap +instanceKlass com/intellij/util/FlushingDaemon +instanceKlass com/intellij/history/integration/LocalHistoryImpl$1 +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettingsChangeListener$Companion +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettingsChangeListener +instanceKlass com/intellij/openapi/vfs/local/FileWatcherNotificationSink +instanceKlass com/intellij/openapi/vfs/VirtualFileVisitor +instanceKlass com/intellij/history/integration/LocalHistoryEventDispatcher +instanceKlass com/intellij/openapi/vfs/impl/local/FileWatcher +instanceKlass com/intellij/history/core/tree/Entry +instanceKlass com/intellij/openapi/vfs/impl/local/LocalFileSystemBase$1 +instanceKlass com/intellij/openapi/vfs/LocalFileOperationsHandler +instanceKlass com/intellij/history/integration/IdeaGateway +instanceKlass com/intellij/openapi/vfs/DiskQueryRelay +instanceKlass com/intellij/history/core/revisions/Revision +instanceKlass com/intellij/history/core/changes/ChangeVisitor +instanceKlass com/intellij/history/core/LabelImpl +instanceKlass com/intellij/history/core/changes/Change +instanceKlass com/intellij/history/core/LocalHistoryFacade +instanceKlass com/intellij/history/core/ChangeList +instanceKlass com/intellij/serviceContainer/LazyExtensionInstance +instanceKlass com/intellij/openapi/vfs/LocalFileSystem$LocalFileSystemHolder +instanceKlass com/intellij/history/core/ChangeListStorageImpl +instanceKlass com/intellij/openapi/vfs/ex/temp/TempFileSystemMarker +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettingBean$WhenMappings +instanceKlass com/intellij/openapi/vfs/VirtualFilePointerCapableFileSystem +instanceKlass com/intellij/openapi/vfs/pointers/VirtualFilePointerContainer +instanceKlass com/intellij/openapi/util/TraceableDisposable +instanceKlass com/intellij/openapi/vfs/pointers/VirtualFilePointer +instanceKlass com/intellij/openapi/vfs/impl/FilePartNode +instanceKlass com/intellij/openapi/vfs/AsyncFileListener$ChangeApplier +instanceKlass com/intellij/openapi/util/KeyedExtensionCollector$MyExtensionPointListener +instanceKlass com/intellij/openapi/extensions/ExtensionPointAndAreaListener +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettingsImpl$AdvancedSettingsState +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettingsImpl$1 +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettingBean$Companion +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettingBean +instanceKlass com/intellij/util/KeyedLazyInstance +instanceKlass com/intellij/openapi/vfs/impl/BulkVirtualFileListenerAdapter +instanceKlass com/intellij/openapi/vfs/impl/VirtualFileManagerImpl$LoggingListener +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettings$Companion +instanceKlass com/intellij/openapi/options/advanced/AdvancedSettings +instanceKlass com/intellij/history/Label +instanceKlass com/intellij/openapi/vfs/VirtualFileListener +instanceKlass com/intellij/history/integration/ui/models/HistoryDialogModel +instanceKlass com/intellij/history/core/ChangeListStorage +instanceKlass com/intellij/history/LocalHistoryAction +instanceKlass com/intellij/history/LocalHistory +instanceKlass kotlin/KotlinVersionCurrentValue +instanceKlass kotlin/KotlinVersion$Companion +instanceKlass kotlin/KotlinVersion +instanceKlass kotlinx/coroutines/debug/internal/Marked +instanceKlass kotlinx/coroutines/debug/internal/ConcurrentWeakMapKt +instanceKlass kotlinx/coroutines/debug/internal/DebugProbesImpl$CoroutineOwner +instanceKlass kotlinx/coroutines/debug/internal/DebugCoroutineInfoImpl +instanceKlass com/intellij/AbstractBundle +instanceKlass com/jetbrains/rd/framework/RdContext$Companion +instanceKlass com/jetbrains/rd/platform/DelegatedStringMarshaller +instanceKlass com/jetbrains/rd/framework/IMarshaller +instanceKlass com/jetbrains/rd/framework/ISerializer +instanceKlass com/jetbrains/rd/framework/RdContext +instanceKlass com/jetbrains/rd/platform/RdConstants +instanceKlass com/intellij/openapi/util/Ref +instanceKlass com/intellij/codeWithMe/ClientIdServiceImpl +instanceKlass com/intellij/codeWithMe/ClientId$Companion$WhenMappings +instanceKlass com/intellij/openapi/vfs/impl/jar/ArchiveCachesCleaner +instanceKlass com/intellij/openapi/fileTypes/impl/IgnoredFileCacheCleaner +instanceKlass com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl$MyPersistentFsConnectionListener +instanceKlass com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl$MyPersistentFsConnectionListener +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFsConnectionListener +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/FineGrainedIdLock +instanceKlass it/unimi/dsi/fastutil/ints/IntCollections$SynchronizedCollection +instanceKlass it/unimi/dsi/fastutil/ints/IntLists +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSAttributeAccessor +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSContentAccessor +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSConnector$InitializationResult +instanceKlass com/intellij/openapi/util/io/GentleFlusherBase +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/intercept/ContentsInterceptor +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/intercept/AttributesInterceptor +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/intercept/InterceptorInjection +instanceKlass java/util/stream/AbstractSpinedBuffer +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/intercept/RecordsInterceptor +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/intercept/ConnectionInterceptor +instanceKlass java/util/AbstractList$RandomAccessSpliterator +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSConnection +instanceKlass com/intellij/util/TimeoutUtil +instanceKlass sun/font/SunFontManager$9 +instanceKlass sun/font/Type1Font$1 +instanceKlass sun/font/SunFontManager$3 +instanceKlass sun/font/FontFamily$FontAndStyle +instanceKlass sun/font/FontFamily +instanceKlass sun/font/CompositeFontDescriptor +instanceKlass sun/util/resources/provider/NonBaseLocaleDataMetaInfo +instanceKlass sun/util/locale/provider/BaseLocaleDataMetaInfo +instanceKlass sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter +instanceKlass sun/util/locale/provider/TimeZoneNameUtility +instanceKlass sun/nio/cs/Surrogate +instanceKlass sun/nio/cs/Surrogate$Parser +instanceKlass java/nio/file/attribute/PosixFilePermissions$1 +instanceKlass java/nio/file/attribute/PosixFilePermissions +instanceKlass java/nio/file/TempFileHelper$PosixPermissions +instanceKlass sun/nio/fs/LinuxFileSystem$SupportedFileFileAttributeViewsHolder +instanceKlass java/nio/file/TempFileHelper +instanceKlass com/jetbrains/base/Jstack$$JBRApiBridge$1 +instanceKlass com/jetbrains/Jstack +instanceKlass com/jetbrains/JBR$Jstack__Holder +instanceKlass com/jetbrains/base/ServiceApi$$JBRApiBridge$0 +instanceKlass com/jetbrains/internal/ProxyGenerator$MethodMapping$1 +instanceKlass com/jetbrains/internal/ASMUtils +instanceKlass com/jetbrains/internal/ProxyGenerator$2 +instanceKlass com/jetbrains/internal/ProxyGenerator$TypeMappingMetadata +instanceKlass com/jetbrains/internal/ProxyGenerator +instanceKlass com/jetbrains/internal/ProxyDependencyManager$ClassUsagesFinder +instanceKlass com/jetbrains/internal/ProxyDependencyManager$Cycle +instanceKlass com/jetbrains/internal/ProxyDependencyManager$Node +instanceKlass com/jetbrains/internal/ProxyDependencyManager +instanceKlass com/jetbrains/internal/ProxyInfo +instanceKlass com/jetbrains/internal/Proxy +instanceKlass com/jetbrains/desktop/JBRApiModule +instanceKlass com/jetbrains/internal/JBRApi$ModuleRegistry +instanceKlass java/lang/invoke/MethodHandleImpl$BindCaller +instanceKlass com/jetbrains/base/JBRApiModule +instanceKlass com/jetbrains/JBR$Metadata +instanceKlass com/jetbrains/internal/JBRApi +instanceKlass com/jetbrains/JBR$ServiceApi +instanceKlass com/jetbrains/bootstrap/JBRApiBootstrap +instanceKlass com/intellij/util/net/ssl/CertificateListener +instanceKlass com/jetbrains/JBR +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy$ClassRedefinitionTransformer +instanceKlass java/util/ImmutableCollections$Access$1 +instanceKlass jdk/internal/access/JavaUtilCollectionAccess +instanceKlass java/util/ImmutableCollections$Access +instanceKlass com/intellij/openapi/util/Conditions +instanceKlass java/lang/instrument/ClassDefinition +instanceKlass java/lang/instrument/ClassFileTransformer +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/loading/ClassReloadingStrategy$Dispatcher$ForJava6CapableVm +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/loading/ClassReloadingStrategy$Dispatcher +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/loading/ClassInjector +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/loading/ClassReloadingStrategy +instanceKlass java/util/function/BiPredicate +instanceKlass java/nio/file/attribute/UserPrincipal +instanceKlass java/nio/file/FileStore +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Default$Dispatcher$ForJava7CapableVm +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Default$Dispatcher +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Loaded +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Default +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/Handler +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Unloaded +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default$UnresolvedType +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/Label +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/Frame +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/AnnotationAppender$ForTypeAnnotations +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/AnnotationAppender$Target$OnType +instanceKlass sun/security/pkcs12/PKCS12KeyStore$Entry +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/signature/SignatureReader +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/ConstantDynamic +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/Handle +instanceKlass sun/security/provider/ByteArrayAccess$LE +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default$ValidatingClassVisitor$Constraint$Compound +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default$ValidatingClassVisitor$Constraint$ForClassFileVersion +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic$Visitor$ForSignatureVisitor +instanceKlass com/intellij/util/io/DigestUtilKt +instanceKlass sun/security/pkcs/SignerInfo +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$MethodPool$Record$ForDefinedMethod +instanceKlass java/lang/Byte$ByteCache +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation$Context$ExtractableView$AbstractBase +instanceKlass sun/security/pkcs/PKCS9Attribute +instanceKlass sun/security/x509/AVAKeyword +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeInitializer$Drain$Default +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeInitializer$Drain +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$MethodPool$Record$ForNonImplementedMethod +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$MethodPool$Record +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodRegistry$Default$Compiled +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation$SpecialMethodInvocation +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/bytecode/StackManipulation +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation$Target$AbstractBase +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/Context +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/Attribute +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/signature/SignatureVisitor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default$ForInlining$WithFullProcessing$InitializationHandler +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default$ValidatingClassVisitor$Constraint +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default$ForInlining$ContextRegistry +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/ByteVector +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/Symbol +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/SymbolTable +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/RecordComponentVisitor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/ModuleVisitor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/MethodVisitor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/FieldVisitor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/AnnotationVisitor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/ClassReader +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/utility/StreamDrainer +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/ClassFileLocator$Resolution$Explicit +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/inline/MethodRebaseResolver$Resolution +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation$Target +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/commons/Remapper +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/inline/MethodRebaseResolver +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation$Target$Factory +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default$ClassDumpAction$Dispatcher$Enabled +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default$ClassDumpAction$Dispatcher +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$Default +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$FieldPool$Record +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/FieldRegistry$Default$Compiled +instanceKlass java/lang/reflect/AnnotatedTypeVariable +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/MethodDescription$SignatureToken +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/enumeration/EnumerationDescription +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/annotation/AnnotationDescription$AbstractBase +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/annotation/AnnotationDescription$Loadable +instanceKlass com/intellij/util/io/keyStorage/InlinedKeyStorage +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/PackageDescription$AbstractBase +instanceKlass sun/reflect/annotation/AnnotatedTypeFactory$AnnotatedTypeBaseImpl +instanceKlass sun/reflect/annotation/AnnotatedTypeFactory +instanceKlass sun/reflect/annotation/TypeAnnotation$LocationInfo$Location +instanceKlass sun/reflect/annotation/TypeAnnotation$LocationInfo +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodRegistry$Compiled +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$MethodPool +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodRegistry$Default$Prepared +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/utility/CompoundList +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Key$Store$Graph +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Key$Store$Entry$Resolved$Node +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Linked$Delegation +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/modifier/ModifierContributor$ForField +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/modifier/ModifierContributor$ForMethod +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/modifier/ModifierContributor$ForType +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/modifier/ModifierContributor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Node +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Harmonizer$ForJavaMethod$Token +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterDescription$InGenericShape +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/MethodDescription$TypeToken +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Key +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/MethodDescription$InGenericShape +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Key$Store$Entry$Initial +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Key$Store$Entry$Ambiguous +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Key$Store$Entry$Resolved +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Key$Store$Entry +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Key$Store +instanceKlass com/intellij/util/BitUtil +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordAccessor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/inline/InliningImplementationMatcher +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordsStorage$FsRecordProcessor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/pool/TypePool$CacheProvider$Simple +instanceKlass com/intellij/openapi/util/IntRef +instanceKlass com/intellij/util/io/keyStorage/AppendableStorageBackedByResizableMappedFile$AppendMemoryBuffer +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/Type +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/pool/TypePool$Resolution$Illegal +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/pool/TypePool$Resolution$Simple +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/pool/TypePool$CacheProvider +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/pool/TypePool$Resolution +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/pool/TypePool$AbstractBase +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/pool/TypePool +instanceKlass sun/nio/ch/Util$3 +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordsLockFreeOverMMappedFile$MMappedFileStorage$Page +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/TypeResolutionStrategy$Resolved +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordsLockFreeOverMMappedFile$MMappedFileStorage +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordsLockFreeOverMMappedFile$HeaderAccessor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/AnnotationAppender$Default +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/AnnotationAppender +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/AnnotationAppender$Target +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodRegistry$Prepared +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodRegistry$Default +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/FieldRegistry$Compiled +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/IPersistentFSRecordsStorage$HeaderForUpdate +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/IPersistentFSRecordsStorage$HeaderForRead +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/FieldRegistry$Default +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/IPersistentFSRecordsStorage$RecordForUpdate +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/IPersistentFSRecordsStorage$RecordForRead +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordsLockFreeOverMMappedFile +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/IPersistentFSRecordsStorage +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordsStorage +instanceKlass java/lang/Class$EnclosingMethodInfo +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordsStorageFactory$WhenMappings +instanceKlass sun/reflect/annotation/TypeAnnotation +instanceKlass sun/reflect/annotation/TypeAnnotationParser +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeVariableToken +instanceKlass org/jetbrains/nativecerts/linux/PemReaderUtil +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/annotation/AnnotationValue +instanceKlass org/jetbrains/nativecerts/linux/LinuxTrustedCertificatesUtil +instanceKlass org/bouncycastle/jcajce/provider/config/ConfigurableProvider +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/annotation/AnnotationDescription +instanceKlass java/lang/reflect/AnnotatedWildcardType +instanceKlass com/intellij/util/hash/ContentHashEnumerator$ContentHashesDescriptor +instanceKlass java/lang/reflect/AnnotatedParameterizedType +instanceKlass org/jetbrains/nativecerts/NativeTrustedRootsInternalUtils +instanceKlass org/jetbrains/nativecerts/NativeTrustedCertificates +instanceKlass com/intellij/util/containers/ConcurrentIntObjectHashMap$Node +instanceKlass com/intellij/util/net/ssl/OsCertificatesServiceImpl +instanceKlass com/intellij/util/containers/ConcurrentIntObjectHashMap +instanceKlass com/intellij/util/net/ssl/OsCertificatesService +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterDescription$Token +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterDescription$ForLoadedParameter$Dispatcher +instanceKlass com/intellij/util/net/ssl/ClientOnlyTrustManager +instanceKlass com/intellij/util/io/storage/DataTable +instanceKlass com/intellij/util/io/Bits +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterDescription$InDefinedShape +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterDescription +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/NamedElement$WithOptionalName +instanceKlass javax/net/ssl/X509ExtendedTrustManager +instanceKlass javax/net/ssl/X509TrustManager +instanceKlass javax/net/ssl/TrustManager +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterList$ForLoadedExecutable$Dispatcher$ForJava8CapableVm +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterList$ForLoadedExecutable$Dispatcher +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterList +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic$AnnotationReader$Delegator +instanceKlass sun/security/validator/TrustStoreUtil +instanceKlass sun/reflect/generics/tree/VoidDescriptor +instanceKlass sun/reflect/generics/tree/Wildcard +instanceKlass sun/reflect/generics/tree/BottomSignature +instanceKlass com/intellij/util/io/ByteBufferUtil +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/MethodDescription$Token +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic$Visitor$ForRawType +instanceKlass com/intellij/util/io/storage/RecordIdIterator +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic$AnnotationReader$Dispatcher$ForJava8CapableVm +instanceKlass com/intellij/util/io/storage/AbstractRecordsTable +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic$AnnotationReader$Dispatcher +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic$AnnotationReader +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ByteCodeElement$Token +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/AttributesStorageOverBlobStorage +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/ParameterDescription$ForLoadedParameter$ParameterAnnotationSource +instanceKlass sun/security/x509/AccessDescription +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic$Visitor$Substitutor +instanceKlass com/jetbrains/rdserver/actions/ActionTimestampKey +instanceKlass com/jetbrains/rd/ide/model/ActionTimestampModel +instanceKlass com/jetbrains/rd/util/string/IPrintable +instanceKlass com/jetbrains/rdserver/actions/ActionTimestamp +instanceKlass com/jetbrains/rd/util/AtomicReference +instanceKlass com/jetbrains/rd/util/PlatformDependentKt +instanceKlass com/jetbrains/rd/util/reflection/ReflectionUtilKt$threadLocal$1 +instanceKlass com/jetbrains/rd/util/reflection/ReflectionUtilKt +instanceKlass com/jetbrains/rd/util/TlsBoxed +instanceKlass com/jetbrains/rd/util/reactive/Signal$Companion +instanceKlass com/jetbrains/rd/util/reactive/Signal +instanceKlass com/jetbrains/rd/util/reactive/ISignal +instanceKlass com/jetbrains/rd/util/reactive/ISource +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodRegistry +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/FieldRegistry +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/TypeAttributeAppender$ForInstrumentedType$Differentiating +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeWriter$FieldPool +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ImplementationDefinition$Optional +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$InnerTypeDefinition$ForType +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$InnerTypeDefinition +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$FieldDefinition$Optional$Valuable +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$TypeVariableDefinition +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/TypeAttributeAppender +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$FieldDefinition$Valuable +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/asm/AsmVisitorWrapper +instanceKlass sun/security/x509/RFC822Name +instanceKlass sun/security/x509/NetscapeCertTypeExtension$MapEntry +instanceKlass com/jetbrains/rdserver/unattendedHost/builtinServer/UnattendedHostBuiltInServerPortCustomizer$Companion +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ParameterDefinition$Initial +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ParameterDefinition$Simple +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ParameterDefinition +instanceKlass sun/security/x509/DNSName +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ExceptionDefinition +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$TypeVariableDefinition +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ImplementationDefinition +instanceKlass sun/security/x509/URIName +instanceKlass sun/security/x509/DistributionPoint +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$FieldDefinition$Optional +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$FieldDefinition +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition$ReceiverTypeDefinition +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$MethodDefinition +instanceKlass org/jetbrains/builtInWebServer/BuiltInServerOptions +instanceKlass java/security/cert/PolicyQualifierInfo +instanceKlass org/jetbrains/io/SubServer +instanceKlass org/jetbrains/ide/CustomPortServerManager$CustomPortService +instanceKlass sun/security/x509/CertificatePolicyId +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/TypeResolutionStrategy +instanceKlass sun/security/x509/PolicyInformation +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder$AbstractBase +instanceKlass java/nio/channels/spi/AbstractSelector$1 +instanceKlass io/netty/channel/ChannelFutureListener$3 +instanceKlass org/jetbrains/ide/CustomPortServerManager$Companion +instanceKlass io/netty/channel/ChannelFutureListener$2 +instanceKlass org/jetbrains/ide/CustomPortServerManager +instanceKlass io/netty/channel/ChannelFutureListener$1 +instanceKlass io/netty/channel/AbstractChannel$AbstractUnsafe$2 +instanceKlass sun/net/NetHooks$Provider +instanceKlass sun/net/NetHooks +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/loading/ClassLoadingStrategy +instanceKlass io/netty/bootstrap/ServerBootstrap$ServerBootstrapAcceptor$1 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/ClassFileLocator$Resolution +instanceKlass java/security/interfaces/ECPublicKey +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/ClassFileLocator$ForClassLoader +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/ClassFileLocator +instanceKlass io/netty/bootstrap/AbstractBootstrap$2 +instanceKlass io/netty/bootstrap/ServerBootstrap$1$1 +instanceKlass java/lang/invoke/ConstantBootstraps +instanceKlass sun/security/x509/GeneralName +instanceKlass org/jetbrains/io/BuiltInServerKt$asDeferred$1 +instanceKlass io/netty/bootstrap/AbstractBootstrap$1 +instanceKlass io/netty/util/concurrent/FastThreadLocalRunnable +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/TargetType +instanceKlass jdk/internal/event/EventHelper +instanceKlass io/netty/util/internal/ThreadExecutorMap$2 +instanceKlass io/netty/util/concurrent/SingleThreadEventExecutor$4 +instanceKlass io/netty/util/internal/shaded/org/jctools/queues/LinkedArrayQueueUtil +instanceKlass sun/security/util/MemoryCache$CacheEntry +instanceKlass io/netty/util/concurrent/AbstractEventExecutor$LazyRunnable +instanceKlass io/netty/channel/AbstractChannel$AbstractUnsafe$1 +instanceKlass sun/security/x509/X509AttributeName +instanceKlass sun/security/x509/GeneralNames +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$ForLoadedType$Dispatcher$ForJava11CapableVm +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$ForLoadedType$Dispatcher +instanceKlass sun/security/x509/KeyIdentifier +instanceKlass sun/security/x509/OIDMap$OIDInfo +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/field/FieldList +instanceKlass sun/security/x509/PKIXExtensions +instanceKlass sun/security/x509/OIDMap +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/MethodList +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeList +instanceKlass io/netty/channel/ChannelHandler$Sharable +instanceKlass sun/security/x509/Extension +instanceKlass java/security/cert/Extension +instanceKlass sun/security/x509/CertificateExtensions +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/annotation/AnnotationList +instanceKlass io/netty/util/NetUtil$SoMaxConnAction +instanceKlass io/netty/util/NetUtilInitializations$NetworkIfaceAndInetAddress +instanceKlass sun/security/rsa/RSAUtil +instanceKlass io/netty/util/internal/SocketUtils$11 +instanceKlass io/netty/util/internal/SocketUtils +instanceKlass java/security/interfaces/RSAPublicKey +instanceKlass java/security/interfaces/RSAKey +instanceKlass java/net/NetworkInterface$1 +instanceKlass java/security/spec/PSSParameterSpec +instanceKlass io/netty/util/NetUtilInitializations +instanceKlass java/security/spec/RSAPrivateKeySpec +instanceKlass java/security/spec/RSAPublicKeySpec +instanceKlass io/netty/util/NetUtil +instanceKlass java/security/spec/EncodedKeySpec$1 +instanceKlass io/netty/buffer/ByteBufUtil$2 +instanceKlass jdk/internal/access/JavaSecuritySpecAccess +instanceKlass io/netty/buffer/PooledByteBufAllocatorMetric +instanceKlass java/security/spec/EncodedKeySpec +instanceKlass sun/security/util/BitArray +instanceKlass sun/security/x509/X509Key +instanceKlass io/netty/buffer/PoolChunkList +instanceKlass sun/security/x509/CertificateX509Key +instanceKlass io/netty/buffer/PoolChunkListMetric +instanceKlass io/netty/buffer/PoolSubpage +instanceKlass io/netty/buffer/PoolSubpageMetric +instanceKlass sun/security/x509/CertificateValidity +instanceKlass sun/security/x509/AVA +instanceKlass io/netty/buffer/PoolThreadCache +instanceKlass sun/security/x509/RDN +instanceKlass javax/security/auth/x500/X500Principal +instanceKlass io/netty/buffer/SizeClasses +instanceKlass sun/security/x509/X500Name$1 +instanceKlass io/netty/buffer/PoolArenaMetric +instanceKlass io/netty/buffer/SizeClassesMetric +instanceKlass sun/security/x509/X500Name +instanceKlass sun/security/x509/GeneralNameInterface +instanceKlass io/netty/buffer/PooledByteBufAllocator$1 +instanceKlass sun/security/x509/CertificateAlgorithmId +instanceKlass sun/security/x509/SerialNumber +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/field/FieldDescription$InDefinedShape +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/field/FieldDescription +instanceKlass sun/security/x509/CertificateSerialNumber +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/MethodDescription$InDefinedShape +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/method/MethodDescription +instanceKlass io/netty/buffer/ByteBufAllocatorMetric +instanceKlass sun/security/x509/CertificateVersion +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ByteCodeElement$TypeDependant +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/NamedElement$WithGenericName +instanceKlass sun/security/x509/X509CertInfo +instanceKlass sun/security/x509/CertAttrSet +instanceKlass sun/security/x509/AlgorithmId +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/matcher/ElementMatcher$Junction$AbstractBase +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/matcher/ElementMatcher$Junction +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/matcher/ElementMatchers +instanceKlass io/netty/buffer/AbstractByteBufAllocator +instanceKlass io/netty/buffer/ByteBufAllocatorMetricProvider +instanceKlass io/netty/util/ByteProcessor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/matcher/LatentMatcher$Resolved +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/jar/asm/ClassVisitor +instanceKlass io/netty/buffer/ByteBufUtil +instanceKlass sun/security/util/Cache$EqualByteArray +instanceKlass sun/security/util/IOUtils +instanceKlass io/netty/channel/RecvByteBufAllocator$Handle +instanceKlass io/netty/channel/DefaultMaxMessagesRecvByteBufAllocator +instanceKlass io/netty/channel/MaxMessagesRecvByteBufAllocator +instanceKlass java/security/cert/CertificateFactorySpi +instanceKlass java/net/SocketImpl +instanceKlass java/security/cert/CertificateFactory +instanceKlass java/net/SocketOptions +instanceKlass sun/security/provider/JavaKeyStore$TrustedCertEntry +instanceKlass java/net/ServerSocket +instanceKlass sun/security/util/DerInputStream +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/InstrumentedType$WithFlexibleName +instanceKlass io/netty/channel/WriteBufferWaterMark +instanceKlass sun/security/util/DerValue +instanceKlass io/netty/buffer/ByteBufAllocator +instanceKlass io/netty/channel/DefaultMessageSizeEstimator$HandleImpl +instanceKlass io/netty/channel/DefaultMessageSizeEstimator +instanceKlass io/netty/channel/MessageSizeEstimator +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/InstrumentedType +instanceKlass io/netty/channel/RecvByteBufAllocator +instanceKlass io/netty/channel/DefaultChannelConfig +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/LoadedTypeInitializer +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/TypeInitializer +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/bytecode/ByteCodeAppender +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/dev/blobstorage/LargeBlobStorageRecordLayout +instanceKlass io/netty/channel/nio/AbstractNioChannel$1 +instanceKlass sun/security/action/OpenFileInputStreamAction +instanceKlass io/netty/channel/ChannelHandlerMask$Skip +instanceKlass io/netty/channel/ChannelHandlerMask$2 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable$AbstractBase +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable$ForParameterDescription +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable$ForMethodDescription +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable$ForFieldDescription +instanceKlass io/netty/channel/ChannelHandlerMask +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic +instanceKlass io/netty/channel/AbstractChannelHandlerContext$Tasks +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/dev/blobstorage/LargeSizeStreamlinedBlobStorage +instanceKlass io/netty/channel/VoidChannelPromise$1 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Merger +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$Default$Harmonizer +instanceKlass javax/security/cert/Certificate +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Linked +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph +instanceKlass com/intellij/psi/stubs/StubElementTypeHolderEP +instanceKlass java/security/cert/X509Extension +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/dev/blobstorage/SpaceAllocationStrategy$DataLengthPlusFixedPercentStrategy +instanceKlass io/netty/util/AsciiString +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription$Generic$Visitor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler$AbstractBase +instanceKlass java/security/KeyStoreSpi +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/MethodGraph$Compiler +instanceKlass com/intellij/util/containers/RecentStringInterner +instanceKlass java/security/KeyStore$1 +instanceKlass io/netty/util/internal/EmptyArrays +instanceKlass java/security/KeyStore +instanceKlass io/netty/util/ResourceLeak +instanceKlass io/netty/util/ResourceLeakTracker +instanceKlass com/intellij/psi/stubs/StubStringInterner +instanceKlass io/netty/util/ResourceLeakDetector +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation$Context$ExtractableView +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation$Context +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/MethodAccessorFactory +instanceKlass sun/security/ssl/TrustStoreManager$TrustStoreDescriptor$1 +instanceKlass io/netty/channel/MessageSizeEstimator$Handle +instanceKlass sun/security/util/FilePaths +instanceKlass com/intellij/psi/stubs/Stub +instanceKlass sun/security/ssl/TrustStoreManager$TrustStoreDescriptor +instanceKlass com/intellij/psi/stubs/StubTreeSerializerBase +instanceKlass sun/security/ssl/TrustStoreManager$TrustAnchorManager +instanceKlass sun/security/ssl/TrustStoreManager +instanceKlass io/netty/channel/DefaultChannelPipeline$PendingHandlerCallback +instanceKlass io/netty/channel/ChannelOutboundHandler +instanceKlass io/netty/channel/AbstractChannelHandlerContext +instanceKlass javax/net/ssl/TrustManagerFactorySpi +instanceKlass javax/net/ssl/TrustManagerFactory$1 +instanceKlass io/netty/util/ResourceLeakHint +instanceKlass javax/net/ssl/TrustManagerFactory +instanceKlass io/netty/channel/ChannelHandlerContext +instanceKlass com/intellij/util/io/PersistentStringEnumerator$1 +instanceKlass javax/net/ssl/X509ExtendedKeyManager +instanceKlass javax/net/ssl/X509KeyManager +instanceKlass javax/net/ssl/KeyManager +instanceKlass io/netty/channel/ChannelProgressivePromise +instanceKlass com/intellij/util/io/CachingEnumerator +instanceKlass io/netty/channel/ChannelProgressiveFuture +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/AnnotationValueFilter +instanceKlass io/netty/channel/DefaultChannelPipeline +instanceKlass com/intellij/util/io/PersistentBTreeEnumerator$1 +instanceKlass sun/security/util/Cache +instanceKlass sun/security/action/GetIntegerAction +instanceKlass sun/security/ssl/SSLSessionContextImpl +instanceKlass javax/net/ssl/SSLSessionContext +instanceKlass com/intellij/util/io/IntToIntBtree$BtreeIndexNodeView +instanceKlass io/netty/channel/ChannelOutboundBuffer$Entry +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/auxiliary/AuxiliaryType$NamingStrategy$SuffixingRandom +instanceKlass sun/security/ssl/EphemeralKeyManager$EphemeralKeyPair +instanceKlass sun/security/ssl/EphemeralKeyManager +instanceKlass io/netty/channel/ChannelOutboundBuffer +instanceKlass com/intellij/util/io/IntToIntBtree$BtreeRootNode +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/utility/RandomString +instanceKlass com/intellij/util/io/stats/StorageStatsRegistrar +instanceKlass io/netty/util/internal/MacAddressUtil +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/NamingStrategy$SuffixingRandom$BaseNameResolver +instanceKlass sun/security/ssl/SSLContextImpl$CustomizedSSLProtocols +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/NamingStrategy$AbstractBase +instanceKlass io/netty/channel/DefaultChannelId +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/utility/privilege/GetSystemPropertyAction +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/utility/OpenedClassReader +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/ClassFileVersion$VersionLocator$ForJava9CapableVm +instanceKlass io/netty/channel/ChannelFlushPromiseNotifier$FlushCheckpoint +instanceKlass io/netty/channel/ChannelFutureListener +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/ClassFileVersion$VersionLocator +instanceKlass java/nio/channels/Pipe +instanceKlass java/nio/channels/MulticastChannel +instanceKlass io/netty/channel/socket/nio/SelectorProviderUtil +instanceKlass io/netty/channel/ChannelMetadata +instanceKlass com/intellij/util/io/keyStorage/AppendableStorageBackedByResizableMappedFile +instanceKlass com/intellij/util/io/InlineKeyDescriptor +instanceKlass org/jdom/filter2/Filters +instanceKlass io/netty/handler/codec/http/FullHttpRequest +instanceKlass io/netty/handler/codec/http/FullHttpMessage +instanceKlass io/netty/handler/codec/http/LastHttpContent +instanceKlass io/netty/handler/codec/http/HttpContent +instanceKlass io/netty/buffer/ByteBufHolder +instanceKlass io/netty/handler/codec/http/HttpRequest +instanceKlass io/netty/handler/codec/http/HttpMessage +instanceKlass io/netty/handler/codec/http/HttpObject +instanceKlass io/netty/handler/codec/DecoderResultProvider +instanceKlass com/intellij/util/io/PagedFileStorageCache$CachedBuffer +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/ClassFileVersion +instanceKlass sun/font/FontConfigManager$FontConfigFont +instanceKlass io/netty/util/internal/TypeParameterMatcher +instanceKlass sun/font/FontConfigManager$FcCompFont +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/InstrumentedType$Prepareable +instanceKlass io/netty/handler/ssl/SslContext +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDescription +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/TypeVariableSource +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ByteCodeElement +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/DeclaredByType +instanceKlass java/security/spec/NamedParameterSpec +instanceKlass io/netty/buffer/ByteBuf +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/PackageDescription +instanceKlass sun/security/util/ECKeySizeParameterSpec +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/annotation/AnnotationSource +instanceKlass io/netty/buffer/ByteBufConvertible +instanceKlass io/netty/util/ReferenceCounted +instanceKlass java/security/AlgorithmParametersSpi +instanceKlass java/security/AlgorithmParameters +instanceKlass com/intellij/util/xmlb/MapBinding +instanceKlass sun/security/util/ECUtil +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/NamedElement$WithRuntimeName +instanceKlass io/netty/util/ConstantPool +instanceKlass java/lang/reflect/WildcardType +instanceKlass io/netty/util/AbstractConstant +instanceKlass sun/security/ec/point/Point +instanceKlass io/netty/util/Constant +instanceKlass io/opentelemetry/sdk/metrics/data/SumData +instanceKlass io/opentelemetry/sdk/metrics/internal/aggregator/AbstractSumAggregator +instanceKlass com/intellij/ide/ProjectGroup +instanceKlass io/netty/channel/socket/ServerSocketChannelConfig +instanceKlass io/netty/channel/ChannelConfig +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/subclass/ConstructorStrategy +instanceKlass io/opentelemetry/sdk/metrics/internal/view/SumAggregation$1 +instanceKlass io/opentelemetry/sdk/metrics/internal/view/SumAggregation +instanceKlass io/netty/channel/nio/AbstractNioChannel$NioUnsafe +instanceKlass io/netty/channel/AbstractChannel$AbstractUnsafe +instanceKlass java/security/KeyPairGeneratorSpi +instanceKlass io/opentelemetry/sdk/metrics/SdkObservableInstrument +instanceKlass sun/reflect/generics/tree/MethodTypeSignature +instanceKlass java/security/PrivateKey +instanceKlass io/netty/channel/Channel$Unsafe +instanceKlass java/security/PublicKey +instanceKlass io/netty/channel/ChannelId +instanceKlass java/security/KeyFactorySpi +instanceKlass io/netty/channel/ChannelPipeline +instanceKlass io/netty/channel/ChannelInboundInvoker +instanceKlass io/opentelemetry/sdk/metrics/internal/state/CallbackRegistration +instanceKlass io/netty/util/Attribute +instanceKlass java/security/KeyFactory +instanceKlass io/netty/channel/ReflectiveChannelFactory +instanceKlass javax/crypto/KeyAgreement +instanceKlass io/netty/util/DefaultAttributeMap +instanceKlass io/opentelemetry/sdk/metrics/internal/aggregator/LongLastValueAggregator +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeList$Generic +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/matcher/FilterableList +instanceKlass io/netty/channel/socket/ServerSocketChannel +instanceKlass io/opentelemetry/sdk/metrics/AbstractInstrumentBuilder$SwapBuilder +instanceKlass io/netty/channel/ServerChannel +instanceKlass java/security/interfaces/ECKey +instanceKlass io/opentelemetry/sdk/metrics/internal/state/SdkObservableMeasurement +instanceKlass io/netty/bootstrap/AbstractBootstrapConfig +instanceKlass io/netty/channel/ChannelFactory +instanceKlass io/netty/bootstrap/ChannelFactory +instanceKlass com/intellij/application/Topics +instanceKlass io/netty/bootstrap/AbstractBootstrap +instanceKlass com/intellij/internal/statistic/eventLog/EventLogRecorderConfigOptionsListener +instanceKlass com/intellij/internal/statistic/eventLog/EventLogConfigOptionsListener +instanceKlass com/intellij/internal/statistic/eventLog/EventLogConfigOptionsService +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/ExemplarReservoir +instanceKlass java/security/Signature$1 +instanceKlass jdk/internal/access/JavaSecuritySignatureAccess +instanceKlass java/security/SignatureSpi +instanceKlass io/netty/channel/Channel +instanceKlass io/netty/channel/ChannelOutboundInvoker +instanceKlass io/opentelemetry/sdk/metrics/internal/aggregator/AggregatorHandle +instanceKlass io/netty/util/AttributeMap +instanceKlass io/opentelemetry/sdk/metrics/data/GaugeData +instanceKlass com/intellij/internal/statistic/eventLog/AtomicLazyValue +instanceKlass io/opentelemetry/sdk/metrics/data/Data +instanceKlass io/opentelemetry/sdk/metrics/data/PointData +instanceKlass io/netty/channel/ChannelHandlerAdapter +instanceKlass io/opentelemetry/sdk/metrics/internal/aggregator/DoubleLastValueAggregator +instanceKlass io/netty/channel/ChannelInboundHandler +instanceKlass io/netty/channel/ChannelHandler +instanceKlass io/opentelemetry/sdk/metrics/internal/view/LastValueAggregation$1 +instanceKlass sun/security/ssl/JsseJce$EcAvailability +instanceKlass com/github/benmanes/caffeine/cache/LinkedDeque$PeekingIterator +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/AlwaysOffFilter +instanceKlass sun/security/ssl/SSLAlgorithmDecomposer$1 +instanceKlass io/netty/util/concurrent/MultithreadEventExecutorGroup$1 +instanceKlass io/opentelemetry/sdk/metrics/internal/descriptor/MetricDescriptor +instanceKlass io/netty/util/concurrent/DefaultEventExecutorChooserFactory$GenericEventExecutorChooser +instanceKlass io/netty/channel/nio/NioEventLoop$SelectorTuple +instanceKlass io/opentelemetry/sdk/metrics/internal/state/AsynchronousMetricStorage +instanceKlass com/github/benmanes/caffeine/cache/FrequencySketch +instanceKlass io/netty/channel/nio/NioEventLoop$4 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/type/TypeDefinition +instanceKlass java/nio/channels/SelectionKey +instanceKlass io/opentelemetry/sdk/metrics/internal/view/DropAggregation +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable$ForTypeDefinition +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable$OfEnumeration +instanceKlass io/opentelemetry/sdk/metrics/internal/aggregator/Aggregator +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable$OfAbstraction +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable$OfByteCodeElement +instanceKlass io/opentelemetry/sdk/metrics/internal/view/LastValueAggregation +instanceKlass io/netty/channel/nio/NioEventLoop$3 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/ModifierReviewable +instanceKlass io/opentelemetry/sdk/metrics/internal/view/DefaultAggregation$1 +instanceKlass sun/nio/ch/EventFD +instanceKlass sun/nio/ch/EPoll +instanceKlass sun/nio/ch/Util$2 +instanceKlass java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry +instanceKlass java/lang/ProcessEnvironment$StringEntry +instanceKlass java/lang/ProcessEnvironment$StringEntrySet$1 +instanceKlass sun/security/ssl/Utilities +instanceKlass io/netty/channel/nio/NioEventLoop$1 +instanceKlass sun/security/ssl/JsseJce +instanceKlass io/netty/util/internal/ThreadExecutorMap$1 +instanceKlass java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntrySetSpliterator +instanceKlass io/netty/util/internal/shaded/org/jctools/util/UnsafeRefArrayAccess +instanceKlass io/netty/util/internal/shaded/org/jctools/util/Pow2 +instanceKlass io/netty/util/internal/shaded/org/jctools/util/RangeUtil +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/description/NamedElement +instanceKlass sun/security/ssl/NamedGroup$XDHScheme +instanceKlass sun/security/ssl/NamedGroup$FFDHEScheme +instanceKlass io/netty/util/internal/shaded/org/jctools/util/UnsafeAccess +instanceKlass com/github/benmanes/caffeine/cache/StripedBuffer +instanceKlass sun/security/ssl/NamedGroup$ECDHEScheme +instanceKlass io/netty/util/internal/PlatformDependent$Mpsc$1 +instanceKlass java/net/InetAddress$CachedLocalHost +instanceKlass io/opentelemetry/api/internal/ConfigUtil +instanceKlass sun/security/ssl/NamedGroup$NamedGroupScheme +instanceKlass io/opentelemetry/sdk/metrics/internal/debug/DebugConfig +instanceKlass java/net/InetAddress$CachedAddresses +instanceKlass sun/net/InetAddressCachePolicy$2 +instanceKlass sun/net/InetAddressCachePolicy$1 +instanceKlass io/opentelemetry/sdk/metrics/internal/descriptor/InstrumentDescriptor +instanceKlass sun/net/InetAddressCachePolicy +instanceKlass sun/security/ssl/SSLCipher$1 +instanceKlass io/opentelemetry/sdk/metrics/internal/descriptor/Advice +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/ClassWriterStrategy +instanceKlass io/opentelemetry/sdk/metrics/AbstractInstrumentBuilder +instanceKlass sun/security/ssl/SSLCipher$T13CC20P1305WriteCipherGenerator +instanceKlass sun/security/ssl/SSLCipher$T12CC20P1305WriteCipherGenerator +instanceKlass sun/security/ssl/SSLCipher$T13CC20P1305ReadCipherGenerator +instanceKlass sun/security/ssl/SSLCipher$T12CC20P1305ReadCipherGenerator +instanceKlass com/github/benmanes/caffeine/cache/Node +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/VisibilityBridgeStrategy +instanceKlass sun/security/ssl/SSLCipher$T13GcmWriteCipherGenerator +instanceKlass sun/security/ssl/SSLCipher$T13GcmReadCipherGenerator +instanceKlass com/github/benmanes/caffeine/cache/NodeFactory$DeadStrongKey +instanceKlass com/github/benmanes/caffeine/cache/References$InternalReference +instanceKlass org/HdrHistogram/HistogramIterationValue +instanceKlass com/github/benmanes/caffeine/cache/NodeFactory$RetiredStrongKey +instanceKlass com/github/benmanes/caffeine/cache/NodeFactory +instanceKlass org/HdrHistogram/AbstractHistogramIterator +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/scaffold/InstrumentedType$Factory +instanceKlass io/netty/util/internal/PlatformDependent$Mpsc +instanceKlass io/netty/channel/DefaultSelectStrategy +instanceKlass sun/security/ssl/SSLCipher$T12GcmWriteCipherGenerator +instanceKlass io/netty/channel/SelectStrategy +instanceKlass sun/security/ssl/SSLCipher$T12GcmReadCipherGenerator +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/Implementation$Context$Factory +instanceKlass io/netty/util/CharsetUtil +instanceKlass org/HdrHistogram/DoubleValueRecorder +instanceKlass io/netty/util/internal/PlatformDependent$4 +instanceKlass org/HdrHistogram/EncodableHistogram +instanceKlass io/netty/util/internal/CleanerJava9$1 +instanceKlass io/netty/util/internal/CleanerJava9 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/attribute/AnnotationValueFilter$Factory +instanceKlass io/netty/util/internal/PlatformDependent$2 +instanceKlass org/HdrHistogram/ValueRecorder +instanceKlass io/netty/util/internal/PlatformDependent$1 +instanceKlass com/github/benmanes/caffeine/cache/Buffer +instanceKlass java/lang/management/OperatingSystemMXBean +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/implementation/auxiliary/AuxiliaryType$NamingStrategy +instanceKlass java/lang/management/CompilationMXBean +instanceKlass java/lang/management/ThreadMXBean +instanceKlass java/lang/management/ClassLoadingMXBean +instanceKlass com/github/benmanes/caffeine/cache/Policy$CacheEntry +instanceKlass javax/management/MBeanServer +instanceKlass com/github/benmanes/caffeine/cache/LinkedDeque +instanceKlass javax/management/MBeanServerConnection +instanceKlass com/github/benmanes/caffeine/cache/WriteOrderDeque$WriteOrder +instanceKlass com/github/benmanes/caffeine/cache/AccessOrderDeque$AccessOrder +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/NamingStrategy +instanceKlass io/netty/util/internal/PlatformDependent0$9 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/matcher/ElementMatcher +instanceKlass com/github/benmanes/caffeine/cache/BLCHeader$PadDrainStatus +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/matcher/LatentMatcher +instanceKlass io/netty/util/internal/PlatformDependent0$7 +instanceKlass io/netty/util/internal/PlatformDependent0$6 +instanceKlass io/netty/util/internal/PlatformDependent0$5 +instanceKlass io/netty/util/internal/PlatformDependent0$4 +instanceKlass com/intellij/platform/diagnostic/telemetry/impl/helpers/ReentrantReadWriteLockUsageMonitor +instanceKlass io/netty/util/internal/PlatformDependent0$3 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/dynamic/DynamicType$Builder +instanceKlass io/netty/util/internal/PlatformDependent0$2 +instanceKlass io/netty/util/internal/ReflectionUtil +instanceKlass io/netty/util/internal/PlatformDependent0$1 +instanceKlass io/netty/util/internal/PlatformDependent0 +instanceKlass io/opentelemetry/sdk/metrics/internal/state/MetricStorageRegistry +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/ByteBuddy +instanceKlass io/netty/util/internal/PlatformDependent$ThreadLocalRandomProvider +instanceKlass io/netty/util/internal/Cleaner +instanceKlass io/opentelemetry/sdk/metrics/internal/state/WriteableMetricStorage +instanceKlass io/opentelemetry/sdk/metrics/internal/state/MetricStorage +instanceKlass io/opentelemetry/sdk/metrics/internal/state/MeterSharedState +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopObservableLongMeasurement +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopObservableDoubleMeasurement +instanceKlass com/intellij/util/io/OpenChannelsCache$ChannelDescriptor +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$1 +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongGaugeBuilder$1 +instanceKlass io/opentelemetry/api/metrics/ObservableLongGauge +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongGaugeBuilder +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleGaugeBuilder$1 +instanceKlass io/opentelemetry/api/metrics/LongGaugeBuilder +instanceKlass io/opentelemetry/api/metrics/ObservableDoubleGauge +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleGaugeBuilder +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongHistogram +instanceKlass com/sun/crypto/provider/AESConstants +instanceKlass io/opentelemetry/api/metrics/LongHistogram +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongHistogramBuilder +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleHistogram +instanceKlass io/opentelemetry/api/metrics/LongHistogramBuilder +instanceKlass io/opentelemetry/api/metrics/DoubleHistogram +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleHistogramBuilder +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleUpDownCounterBuilder$2 +instanceKlass com/github/benmanes/caffeine/cache/LocalCacheFactory +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleUpDownCounter +instanceKlass io/opentelemetry/api/metrics/ObservableDoubleUpDownCounter +instanceKlass io/opentelemetry/api/metrics/DoubleUpDownCounter +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleUpDownCounterBuilder +instanceKlass com/github/benmanes/caffeine/cache/Policy +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongUpDownCounterBuilder$2 +instanceKlass com/github/benmanes/caffeine/cache/LocalCache +instanceKlass kotlinx/coroutines/debug/internal/DebugProbesKt +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongUpDownCounter +instanceKlass io/opentelemetry/api/metrics/DoubleUpDownCounterBuilder +instanceKlass io/opentelemetry/api/metrics/ObservableLongUpDownCounter +instanceKlass io/opentelemetry/api/metrics/LongUpDownCounter +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongUpDownCounterBuilder +instanceKlass com/intellij/util/io/storage/RefCountingContentStorage +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleCounterBuilder$1 +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleCounter +instanceKlass io/opentelemetry/api/metrics/ObservableDoubleCounter +instanceKlass com/github/benmanes/caffeine/cache/BoundedLocalCache$BoundedLocalManualCache +instanceKlass io/opentelemetry/api/metrics/DoubleCounter +instanceKlass com/github/benmanes/caffeine/cache/LocalManualCache +instanceKlass sun/instrument/TransformerManager$TransformerInfo +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopDoubleCounterBuilder +instanceKlass sun/instrument/TransformerManager +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongCounterBuilder$1 +instanceKlass com/intellij/util/io/storage/CapacityAllocationPolicy +instanceKlass io/netty/util/internal/shaded/org/jctools/queues/SupportsIterator +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongCounter +instanceKlass io/netty/util/internal/shaded/org/jctools/queues/QueueProgressIndicators +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/AbstractAttributesStorage +instanceKlass io/opentelemetry/api/metrics/DoubleCounterBuilder +instanceKlass io/netty/util/internal/shaded/org/jctools/queues/IndexedQueueSizeUtil$IndexedQueue +instanceKlass io/opentelemetry/api/metrics/ObservableLongCounter +instanceKlass io/opentelemetry/api/metrics/LongCounter +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/dev/blobstorage/StreamlinedBlobStorage +instanceKlass io/opentelemetry/api/metrics/DefaultMeter$NoopLongCounterBuilder +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/dev/blobstorage/SpaceAllocationStrategy +instanceKlass io/opentelemetry/api/metrics/ObservableLongMeasurement +instanceKlass sun/instrument/InstrumentationImpl +instanceKlass io/opentelemetry/api/metrics/ObservableDoubleMeasurement +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSConnector +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Label +instanceKlass io/opentelemetry/api/metrics/ObservableMeasurement +instanceKlass io/opentelemetry/api/metrics/DefaultMeter +instanceKlass javax/crypto/JceSecurityManager$1 +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$Link$Foreground +instanceKlass io/opentelemetry/api/metrics/DefaultMeterProvider$NoopMeterBuilder +instanceKlass io/opentelemetry/api/metrics/DefaultMeterProvider +instanceKlass com/github/benmanes/caffeine/cache/stats/ConcurrentStatsCounter +instanceKlass com/github/benmanes/caffeine/cache/stats/StatsCounter +instanceKlass io/opentelemetry/api/metrics/BatchCallback +instanceKlass it/unimi/dsi/fastutil/ints/Int2IntMap$FastEntrySet +instanceKlass io/opentelemetry/api/metrics/DoubleGaugeBuilder +instanceKlass io/opentelemetry/api/metrics/DoubleHistogramBuilder +instanceKlass com/github/benmanes/caffeine/cache/LoadingCache +instanceKlass io/opentelemetry/api/metrics/LongCounterBuilder +instanceKlass io/opentelemetry/api/metrics/LongUpDownCounterBuilder +instanceKlass io/opentelemetry/sdk/common/InstrumentationScopeInfoBuilder +instanceKlass io/opentelemetry/sdk/metrics/SdkMeterBuilder +instanceKlass it/unimi/dsi/fastutil/ints/AbstractInt2IntFunction +instanceKlass com/github/benmanes/caffeine/cache/Cache +instanceKlass io/netty/util/internal/shaded/org/jctools/queues/MessagePassingQueue +instanceKlass com/intellij/platform/diagnostic/telemetry/ScopesExtensionsKt +instanceKlass com/github/benmanes/caffeine/cache/AsyncLoadingCache +instanceKlass com/intellij/platform/diagnostic/telemetry/Scope +instanceKlass com/intellij/platform/diagnostic/telemetry/PlatformScopesKt +instanceKlass com/github/benmanes/caffeine/cache/AsyncCache +instanceKlass com/github/benmanes/caffeine/cache/AsyncCacheLoader +instanceKlass com/intellij/util/indexing/diagnostic/StorageDiagnosticData +instanceKlass com/intellij/util/io/DirectByteBufferAllocator +instanceKlass it/unimi/dsi/fastutil/ints/Int2IntMap +instanceKlass io/netty/util/internal/LongCounter +instanceKlass io/netty/util/internal/PlatformDependent +instanceKlass it/unimi/dsi/fastutil/ints/Int2IntFunction +instanceKlass com/intellij/util/indexing/projectFilter/IncrementalProjectIndexableFilesFilterHolder$1 +instanceKlass com/github/benmanes/caffeine/cache/RemovalListener +instanceKlass com/intellij/psi/stubs/PerFileElementTypeStubModificationTracker$1 +instanceKlass com/intellij/util/io/DirectBufferWrapper +instanceKlass com/intellij/util/indexing/FileBasedIndexImpl$4 +instanceKlass com/intellij/util/indexing/FileBasedIndexImpl$3 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine$ForHotSpot$Connection$OnPersistentByteChannel$Response +instanceKlass com/intellij/ui/DarculaColors +instanceKlass com/intellij/util/indexing/FileBasedIndexImpl$2 +instanceKlass com/intellij/AppTopics +instanceKlass com/intellij/util/indexing/impl/IndexDebugProperties +instanceKlass com/intellij/util/indexing/impl/MapReduceIndex +instanceKlass com/github/benmanes/caffeine/cache/Expiry +instanceKlass java/util/concurrent/CountDownLatch +instanceKlass com/intellij/util/io/MeasurableIndexStore +instanceKlass com/github/benmanes/caffeine/cache/Weigher +instanceKlass io/netty/util/concurrent/SingleThreadEventExecutor$1 +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/InvertedNameIndex +instanceKlass com/intellij/util/indexing/FileBasedIndexFileTypeListener +instanceKlass com/intellij/openapi/fileTypes/FileTypeListener +instanceKlass io/netty/util/IntSupplier +instanceKlass com/intellij/util/io/IntToIntBtree +instanceKlass java/nio/channels/Selector +instanceKlass com/github/benmanes/caffeine/cache/Caffeine +instanceKlass com/intellij/openapi/fileTypes/FileNameMatcher +instanceKlass com/intellij/openapi/vfs/impl/AddonlyKeylessHash$KeyValueMapper +instanceKlass com/intellij/util/io/PersistentEnumeratorBase$Version +instanceKlass com/intellij/openapi/fileTypes/FileTypeRegistry +instanceKlass com/intellij/openapi/vfs/impl/ArchiveHandler +instanceKlass io/netty/channel/ChannelPromise +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine$ForHotSpot$Connection$Response +instanceKlass io/netty/channel/ChannelFuture +instanceKlass com/intellij/util/indexing/FileBasedIndexImpl$1 +instanceKlass com/intellij/psi/impl/PsiDocumentTransactionListener +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine$ForHotSpot$Connection$OnPersistentByteChannel +instanceKlass java/util/stream/ForEachOps$ForEachOp +instanceKlass io/netty/util/concurrent/ThreadProperties +instanceKlass java/util/stream/ForEachOps +instanceKlass com/intellij/util/ui/JBUI$CurrentTheme$ContextHelp +instanceKlass com/intellij/util/io/storage/IAppenderStream +instanceKlass com/intellij/util/io/storage/IStorageDataOutput +instanceKlass com/intellij/util/io/storage/RecordDataOutput +instanceKlass com/intellij/util/concurrency/Semaphore +instanceKlass com/intellij/util/xmlb/TextBinding +instanceKlass com/intellij/openapi/util/io/FileAttributes +instanceKlass com/intellij/util/indexing/UpdateTask +instanceKlass com/intellij/internal/statistic/eventLog/AnonymizedIdsCache +instanceKlass com/intellij/util/io/storage/AbstractStorage +instanceKlass com/intellij/util/indexing/StorageGuard$2 +instanceKlass com/intellij/util/indexing/StorageGuard$1 +instanceKlass com/intellij/util/indexing/StorageGuard$StorageModeExitHandler +instanceKlass com/intellij/util/io/storage/IStorage +instanceKlass com/intellij/util/MathUtil +instanceKlass com/intellij/util/indexing/StorageGuard +instanceKlass com/intellij/openapi/util/io/FileSystemUtil$JnaUnixMediatorImpl$LinuxLibC +instanceKlass com/intellij/util/ui/JBValue +instanceKlass io/netty/util/internal/ThreadExecutorMap$3 +instanceKlass io/netty/util/internal/UnpaddedInternalThreadLocalMap +instanceKlass io/netty/util/concurrent/FastThreadLocal +instanceKlass com/intellij/util/io/PagedFileStorageCache +instanceKlass io/netty/util/internal/ThreadExecutorMap +instanceKlass com/intellij/util/SmartFMap +instanceKlass sun/security/ssl/SSLCipher$T11BlockWriteCipherGenerator +instanceKlass com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl$2 +instanceKlass sun/security/ssl/SSLCipher$T11BlockReadCipherGenerator +instanceKlass sun/security/ssl/SSLCipher$T10BlockWriteCipherGenerator +instanceKlass sun/security/ssl/SSLCipher$T10BlockReadCipherGenerator +instanceKlass com/intellij/util/indexing/events/IndexedFilesListener +instanceKlass com/intellij/openapi/vfs/AsyncFileListener +instanceKlass com/intellij/psi/tree/IElementType +instanceKlass com/intellij/util/io/PagedFileStorage +instanceKlass io/netty/util/internal/StringUtil +instanceKlass com/intellij/psi/tree/ILazyParseableElementTypeBase +instanceKlass io/netty/util/concurrent/DefaultThreadFactory +instanceKlass com/intellij/psi/stubs/StubSerializer +instanceKlass sun/security/ssl/SSLCipher$StreamWriteCipherGenerator +instanceKlass sun/security/ssl/SSLCipher$StreamReadCipherGenerator +instanceKlass com/intellij/util/indexing/PerIndexDocumentVersionMap +instanceKlass com/intellij/psi/stubs/PerFileElementTypeStubModificationTracker +instanceKlass com/intellij/util/io/ResizeableMappedFile +instanceKlass java/awt/ItemSelectable +instanceKlass sun/security/ssl/SSLCipher$NullWriteCipherGenerator +instanceKlass com/intellij/serialization/PropertyAccessor +instanceKlass sun/security/ssl/SSLCipher$WriteCipherGenerator +instanceKlass sun/security/ssl/SSLCipher$NullReadCipherGenerator +instanceKlass com/sun/jna/Memory$MemoryDisposer +instanceKlass sun/security/ssl/SSLCipher$ReadCipherGenerator +instanceKlass com/intellij/psi/stubs/StubIndexImpl$1 +instanceKlass com/sun/jna/WeakMemoryHolder +instanceKlass com/intellij/openapi/util/RecursionManager$CalculationStack +instanceKlass io/netty/util/concurrent/GlobalEventExecutor$TaskRunner +instanceKlass com/intellij/psi/stubs/StubIndexExtension +instanceKlass io/netty/util/concurrent/GlobalEventExecutor$1 +instanceKlass io/netty/util/concurrent/PromiseTask$SentinelRunnable +instanceKlass com/intellij/util/io/PersistentEnumeratorBase$RecordBufferHandler +instanceKlass com/intellij/openapi/util/RecursionGuard$StackStamp +instanceKlass java/lang/Short$ShortCache +instanceKlass com/intellij/internal/statistic/persistence/UsageStatisticsPersistenceComponent +instanceKlass com/intellij/util/io/IntToIntBtree$BtreeDataStorage +instanceKlass com/intellij/openapi/util/RecursionGuard +instanceKlass com/intellij/psi/PsiFile +instanceKlass com/intellij/internal/statistic/eventLog/StatisticsSystemEventIdProvider +instanceKlass com/intellij/openapi/util/RecursionManager +instanceKlass io/netty/util/internal/PriorityQueueNode +instanceKlass com/intellij/internal/statistic/eventLog/connection/StatisticsService +instanceKlass com/intellij/internal/statistic/eventLog/EventLogSendConfig +instanceKlass com/intellij/internal/statistic/eventLog/EventLogApplicationInfo +instanceKlass io/netty/util/concurrent/AbstractScheduledEventExecutor$2 +instanceKlass com/intellij/util/io/IntToIntBtree$KeyValueProcessor +instanceKlass com/sun/jna/Structure$StructField +instanceKlass com/intellij/internal/statistic/eventLog/connection/EventLogSendListener +instanceKlass io/netty/util/concurrent/AbstractScheduledEventExecutor$1 +instanceKlass com/intellij/psi/PsiFileSystemItem +instanceKlass com/sun/jna/Structure$LayoutInfo +instanceKlass com/intellij/internal/statistic/utils/StatisticsUploadAssistant +instanceKlass com/intellij/internal/statistic/DeviceIdManager +instanceKlass com/intellij/util/io/keyStorage/AppendableObjectStorage +instanceKlass java/util/LinkedList$ListItr +instanceKlass io/netty/util/concurrent/ScheduledFuture +instanceKlass com/intellij/psi/NavigatablePsiElement +instanceKlass io/netty/util/internal/PriorityQueue +instanceKlass com/intellij/internal/statistic/eventLog/EventLogRecorderConfiguration$getOrGenerateDeviceId$2 +instanceKlass com/intellij/internal/statistic/DeviceIdManager$DeviceIdToken +instanceKlass com/intellij/navigation/NavigationItem +instanceKlass com/intellij/pom/Navigatable +instanceKlass io/netty/util/concurrent/ProgressivePromise +instanceKlass io/netty/util/concurrent/ProgressiveFuture +instanceKlass com/intellij/util/indexing/projectFilter/ProjectIndexableFilesFilterHolder +instanceKlass com/intellij/util/io/PersistentEnumeratorBase$RecordsProcessor +instanceKlass com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl$1 +instanceKlass java/awt/LayoutManager +instanceKlass com/intellij/psi/PsiCheckedRenameElement +instanceKlass com/jetbrains/rd/platform/codeWithMe/diagnostics/CwmTraceCategoriesCustomizer$Companion +instanceKlass com/intellij/util/Processor +instanceKlass javax/swing/Action +instanceKlass com/intellij/ide/HelpTooltip +instanceKlass com/jetbrains/rd/platform/codeWithMe/diagnostics/CwmTraceCategoriesCustomizer +instanceKlass com/intellij/psi/PsiNamedElement +instanceKlass java/util/UUID$Holder +instanceKlass com/intellij/openapi/util/TimeoutCachedValue +instanceKlass com/intellij/util/io/DifferentSerializableBytesImplyNonEqualityPolicy +instanceKlass com/intellij/util/indexing/StorageBufferingHandler +instanceKlass com/intellij/util/io/EnumeratorStringDescriptor +instanceKlass com/sun/jna/Structure$FieldOrder +instanceKlass com/intellij/internal/statistic/utils/PluginInfo +instanceKlass io/netty/util/internal/ThrowableUtil +instanceKlass kotlinx/coroutines/selects/SelectImplementation$ClauseData +instanceKlass io/netty/util/concurrent/DefaultFutureListeners +instanceKlass com/intellij/util/io/KeyDescriptor +instanceKlass com/intellij/internal/statistic/utils/PluginInfoDetectorKt +instanceKlass com/intellij/util/io/DataExternalizer +instanceKlass io/netty/util/concurrent/DefaultPromise$CauseHolder +instanceKlass com/jetbrains/rdserver/logs/BackendMessagePoolExporter$MyAppListener +instanceKlass com/intellij/openapi/components/StoredPropertyBase +instanceKlass java/awt/event/KeyAdapter +instanceKlass com/intellij/openapi/components/StoredProperty +instanceKlass javax/swing/event/MenuKeyListener +instanceKlass com/intellij/psi/stubs/ObjectStubTree +instanceKlass com/intellij/openapi/util/Condition$3 +instanceKlass com/intellij/openapi/util/Condition$2 +instanceKlass java/awt/event/MouseMotionAdapter +instanceKlass com/intellij/openapi/util/Condition$1 +instanceKlass javax/swing/ToolTipManager$stillInsideTimerAction +instanceKlass com/intellij/util/indexing/FileContent +instanceKlass com/intellij/openapi/fileEditor/impl/MemoryDiskConflictResolver +instanceKlass com/sun/jna/NativeMappedConverter +instanceKlass javax/swing/ToolTipManager$outsideTimerAction +instanceKlass com/intellij/openapi/components/ScalarProperty +instanceKlass com/sun/jna/TypeConverter +instanceKlass javax/swing/ToolTipManager$insideTimerAction +instanceKlass io/netty/util/concurrent/AbstractFuture +instanceKlass com/intellij/util/indexing/IndexableFileSet +instanceKlass com/intellij/internal/statistic/utils/StatisticsRecorderUtil +instanceKlass kotlinx/coroutines/selects/SelectClause1Impl +instanceKlass com/sun/jna/TypeMapper +instanceKlass com/intellij/util/indexing/IdFilter +instanceKlass com/jetbrains/rdserver/unattendedHost/settings/shared/UnattendedHostSharedConfigFolderApplicationInitializedListener +instanceKlass kotlinx/coroutines/selects/SelectClause1 +instanceKlass kotlinx/coroutines/selects/SelectClause +instanceKlass com/intellij/util/io/PersistentEnumeratorBase +instanceKlass com/sun/jna/Klass +instanceKlass com/intellij/util/io/SelfDiagnosing +instanceKlass io/netty/util/concurrent/EventExecutorChooserFactory$EventExecutorChooser +instanceKlass com/intellij/psi/stubs/StubProcessingHelperBase +instanceKlass io/netty/util/concurrent/DefaultEventExecutorChooserFactory +instanceKlass io/netty/util/concurrent/ThreadPerTaskExecutor +instanceKlass kotlinx/coroutines/selects/SelectKt +instanceKlass com/intellij/serialization/stateProperties/StatePropertyFactoryImpl +instanceKlass io/netty/util/concurrent/RejectedExecutionHandlers$1 +instanceKlass io/netty/util/concurrent/RejectedExecutionHandler +instanceKlass com/sun/jna/Native$Buffers +instanceKlass io/netty/util/concurrent/RejectedExecutionHandlers +instanceKlass com/intellij/openapi/components/StatePropertyFactory +instanceKlass io/netty/channel/DefaultSelectStrategyFactory +instanceKlass io/netty/channel/SelectStrategyFactory +instanceKlass com/jetbrains/python/PyCharmCorePluginConfigurator +instanceKlass com/intellij/openapi/util/io/FileSystemUtil$JnaUnixMediatorImpl$LibC +instanceKlass com/intellij/openapi/editor/DocumentRunnable +instanceKlass io/netty/util/internal/SystemPropertyUtil +instanceKlass sun/security/util/DisabledAlgorithmConstraints$Constraints$Holder +instanceKlass com/intellij/openapi/fileEditor/TrailingSpacesOptions +instanceKlass com/intellij/util/io/PersistentEnumerator +instanceKlass com/intellij/openapi/components/BaseStateKt +instanceKlass io/netty/util/NettyRuntime$AvailableProcessorsHolder +instanceKlass com/intellij/util/indexing/IndexedFile +instanceKlass com/intellij/openapi/editor/impl/TrailingSpacesStripper +instanceKlass com/intellij/util/containers/LimitedPool$ObjectFactory +instanceKlass io/netty/util/NettyRuntime +instanceKlass com/intellij/util/containers/FactoryMap +instanceKlass com/intellij/util/io/ScannableDataEnumeratorEx +instanceKlass kotlinx/coroutines/selects/SelectInstanceInternal +instanceKlass com/jetbrains/projector/PluginClassPathRuntimeCustomizer +instanceKlass com/intellij/psi/PsiElement +instanceKlass com/intellij/openapi/util/registry/RegistryManagerKt +instanceKlass com/intellij/openapi/fileEditor/FileDocumentManagerListener +instanceKlass kotlinx/coroutines/selects/SelectBuilder +instanceKlass io/netty/channel/EventLoop +instanceKlass com/intellij/openapi/util/Iconable +instanceKlass sun/security/util/DisabledAlgorithmConstraints$1 +instanceKlass com/intellij/util/io/AbstractStringEnumerator +instanceKlass io/netty/util/concurrent/OrderedEventExecutor +instanceKlass sun/net/www/protocol/http/AuthenticatorKeys +instanceKlass com/intellij/util/graph/GraphGenerator +instanceKlass com/intellij/ide/IdeTooltipManager$2 +instanceKlass com/intellij/openapi/components/BaseState$Companion +instanceKlass com/intellij/settingsSync/SettingsSynchronizer$Companion +instanceKlass io/netty/util/concurrent/FutureListener +instanceKlass io/netty/util/concurrent/GenericFutureListener +instanceKlass com/intellij/util/containers/LimitedPool +instanceKlass kotlinx/coroutines/flow/FlowKt__DelayKt$debounceInternal$1$values$1$1 +instanceKlass com/intellij/ide/IdeTooltipManager$1 +instanceKlass sun/security/util/DisabledAlgorithmConstraints$Constraint +instanceKlass sun/net/www/protocol/http/AuthenticatorKeys$AuthenticatorKeyAccess +instanceKlass com/intellij/util/indexing/IdeIOCancellationCallback +instanceKlass com/intellij/util/graph/CachingSemiGraph +instanceKlass io/netty/util/concurrent/Promise +instanceKlass io/netty/util/concurrent/EventExecutor +instanceKlass com/intellij/settingsSync/SettingsSynchronizer +instanceKlass com/intellij/openapi/actionSystem/ex/AnActionListener +instanceKlass com/intellij/settingsSync/SettingsSyncCategoriesChangeListener +instanceKlass sun/security/util/DisabledAlgorithmConstraints$Constraints +instanceKlass com/intellij/settingsSync/SettingsSyncEnabledStateListener +instanceKlass io/netty/util/concurrent/EventExecutorChooserFactory +instanceKlass io/netty/util/concurrent/Future +instanceKlass com/intellij/util/indexing/DocumentContent +instanceKlass kotlin/jvm/internal/Ref$LongRef +instanceKlass kotlinx/coroutines/flow/internal/NullSurrogateKt +instanceKlass com/intellij/openapi/util/io/FileSystemUtil$JnaUnixMediatorImpl +instanceKlass com/intellij/ide/RecentProjectIconHelper +instanceKlass io/netty/util/concurrent/AbstractEventExecutorGroup +instanceKlass java/net/Authenticator +instanceKlass com/intellij/openapi/wm/impl/WindowManagerImpl$3 +instanceKlass com/intellij/openapi/project/ProjectCloseListener$Companion +instanceKlass java/awt/event/MouseAdapter +instanceKlass io/netty/channel/EventLoopGroup +instanceKlass com/intellij/util/containers/ConcurrentRefValueHashMap$ValueReference +instanceKlass com/intellij/psi/stubs/StubIndexEx$FileUpdateProcessor +instanceKlass com/intellij/openapi/project/ProjectCloseListener +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImpl$1$1$1 +instanceKlass io/netty/util/concurrent/EventExecutorGroup +instanceKlass javax/swing/event/MouseInputListener +instanceKlass com/intellij/openapi/extensions/LoadingOrder$Companion$sort$graph$1 +instanceKlass kotlinx/coroutines/flow/internal/FlowCoroutineKt$scopedFlow$$inlined$unsafeFlow$1 +instanceKlass com/intellij/openapi/wm/impl/WindowManagerImpl$2 +instanceKlass sun/security/util/AbstractAlgorithmConstraints$1 +instanceKlass com/intellij/util/containers/ConcurrentRefValueHashMap +instanceKlass kotlinx/coroutines/flow/internal/FlowCoroutineKt +instanceKlass java/awt/datatransfer/SystemFlavorMap$SoftCache +instanceKlass com/intellij/openapi/wm/impl/TitleInfoProvider$TitleInfoProviderListener +instanceKlass com/intellij/util/indexing/impl/InputDataDiffBuilder +instanceKlass com/intellij/internal/statistic/eventLog/StatisticsEventLoggerProvider$Companion +instanceKlass org/jetbrains/io/BuiltInServer$Companion$BuiltInServerThreadFactory +instanceKlass com/intellij/openapi/wm/impl/TitleInfoProvider$Companion +instanceKlass sun/net/spi/DefaultProxySelector$1 +instanceKlass com/intellij/util/indexing/UpdatableIndex +instanceKlass com/intellij/openapi/util/io/FileSystemUtil$Mediator +instanceKlass com/intellij/internal/statistic/eventLog/StatisticsEventLoggerProvider +instanceKlass com/intellij/openapi/editor/colors/ColorKey +instanceKlass sun/security/util/AlgorithmDecomposer +instanceKlass com/intellij/util/indexing/InvertedIndex +instanceKlass com/intellij/openapi/wm/impl/TitleInfoProvider +instanceKlass com/sun/jna/Structure$ByReference +instanceKlass com/intellij/util/indexing/FileBasedIndex$InputFilter +instanceKlass java/awt/datatransfer/DataFlavor +instanceKlass java/net/Proxy +instanceKlass com/intellij/ui/NewUiValue +instanceKlass org/jetbrains/io/BuiltInServerKt +instanceKlass com/intellij/configurationStore/SaveAndSyncHandlerImpl$1$2$1 +instanceKlass kotlinx/coroutines/flow/FlowKt__DelayKt +instanceKlass com/intellij/concurrency/ConcurrentHashMap$CollectionView +instanceKlass com/intellij/openapi/util/io/FileSystemUtil +instanceKlass com/intellij/openapi/progress/WrappedProgressIndicator +instanceKlass com/intellij/util/CoroutinesKt +instanceKlass com/intellij/openapi/editor/ex/PrioritizedDocumentListener +instanceKlass org/jetbrains/ide/BuiltInServerManagerImplKt +instanceKlass com/intellij/util/io/IOCancellationCallback +instanceKlass com/intellij/openapi/editor/ex/DocumentEx +instanceKlass com/intellij/util/indexing/storage/VfsAwareIndexStorageLayout +instanceKlass sun/security/util/AbstractAlgorithmConstraints +instanceKlass io/netty/util/internal/logging/InternalLoggerFactory +instanceKlass com/intellij/util/indexing/impl/IndexStorageLayout +instanceKlass sun/awt/datatransfer/DesktopDatatransferServiceImpl +instanceKlass com/intellij/util/concurrency/EdtScheduledExecutorService +instanceKlass com/intellij/psi/search/SearchScope +instanceKlass com/intellij/openapi/util/ThreadLocalCachedByteArray +instanceKlass com/intellij/util/io/IOCancellationCallbackHolder +instanceKlass sun/datatransfer/DataFlavorUtil$DefaultDesktopDatatransferService +instanceKlass sun/datatransfer/DesktopDatatransferService +instanceKlass io/netty/util/internal/ObjectUtil +instanceKlass com/intellij/openapi/util/IconPathPatcher +instanceKlass com/intellij/psi/search/ProjectAwareFileFilter +instanceKlass sun/security/ssl/SSLAlgorithmConstraints +instanceKlass java/security/AlgorithmConstraints +instanceKlass com/intellij/openapi/ui/DialogWrapper +instanceKlass com/intellij/openapi/wm/impl/FrameInfoHelper$Companion +instanceKlass sun/datatransfer/DataFlavorUtil +instanceKlass com/intellij/openapi/vfs/VirtualFileFilter +instanceKlass com/intellij/util/ui/update/Activatable +instanceKlass com/intellij/ui/ExperimentalUI +instanceKlass com/intellij/util/indexing/IndexVersion$IndexVersionDiff +instanceKlass com/intellij/util/io/PersistentHashMapValueStorage$CreationTimeOptions +instanceKlass com/intellij/openapi/wm/impl/FrameInfoHelper +instanceKlass com/intellij/util/Alarm +instanceKlass com/intellij/internal/statistic/utils/StatisticsUtil +instanceKlass com/intellij/psi/util/CachedValue +instanceKlass com/intellij/util/containers/SLRUMap +instanceKlass java/awt/datatransfer/SystemFlavorMap +instanceKlass java/awt/datatransfer/FlavorTable +instanceKlass com/intellij/util/indexing/diagnostic/ProjectDumbIndexingHistory +instanceKlass com/intellij/util/indexing/impl/AbstractUpdateData +instanceKlass java/awt/datatransfer/FlavorMap +instanceKlass io/netty/util/internal/logging/AbstractInternalLogger +instanceKlass com/intellij/util/indexing/diagnostic/ProjectScanningHistory +instanceKlass com/intellij/util/indexing/ValueContainer$ContainerAction +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingActivityHistory +instanceKlass com/intellij/openapi/progress/impl/NonCancelableIndicator +instanceKlass io/netty/util/internal/logging/InternalLogger +instanceKlass com/intellij/openapi/progress/StandardProgressIndicator +instanceKlass com/intellij/openapi/editor/colors/FontPreferences +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingActivityHistoryListener$Companion +instanceKlass com/intellij/openapi/wm/impl/WindowWatcher +instanceKlass com/intellij/openapi/util/NotNullFactory +instanceKlass com/jetbrains/performancePlugin/ProjectLoaded$Companion +instanceKlass com/intellij/internal/statistic/eventLog/EventLogRecorderConfiguration$Companion +instanceKlass com/intellij/openapi/util/Factory +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingActivityHistoryListener +instanceKlass com/intellij/openapi/progress/NonCancelableSection +instanceKlass com/intellij/util/indexing/FileBasedIndex +instanceKlass com/intellij/psi/stubs/StubSerializerEnumerator +instanceKlass com/intellij/util/indexing/IndexId +instanceKlass com/intellij/util/io/FileAccessorCache +instanceKlass sun/security/ssl/SSLLogger +instanceKlass javax/crypto/spec/SecretKeySpec$1 +instanceKlass jdk/internal/access/JavaxCryptoSpecAccess +instanceKlass com/intellij/ide/RecentProjectsManagerBase$Companion +instanceKlass com/intellij/openapi/fileEditor/FileEditor +instanceKlass javax/crypto/spec/SecretKeySpec +instanceKlass com/intellij/openapi/startup/InitProjectActivityJavaShim +instanceKlass com/intellij/internal/statistic/eventLog/EventLogRecorderConfiguration +instanceKlass com/intellij/openapi/startup/InitProjectActivity +instanceKlass com/intellij/util/io/CompressedAppendableFile +instanceKlass com/intellij/ide/RecentProjectsManager$RecentProjectsChange +instanceKlass com/intellij/util/indexing/IndexExtension +instanceKlass com/intellij/openapi/editor/colors/impl/AppFontOptions +instanceKlass com/intellij/util/proxy/PropertiesEncryptionSupport +instanceKlass com/intellij/ide/RecentProjectsManager$Companion +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistory +instanceKlass javax/swing/text/EditorKit +instanceKlass com/intellij/util/io/PersistentHashMapValueStorage$RAReader +instanceKlass com/intellij/openapi/util/ThrowableComputable +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryListener$Companion +instanceKlass com/intellij/openapi/actionSystem/DataProvider +instanceKlass com/intellij/ide/SaveAndSyncHandler$SaveTask +instanceKlass com/intellij/openapi/wm/IdeFrame +instanceKlass com/intellij/util/indexing/diagnostic/ProjectIndexingHistoryListener +instanceKlass com/intellij/ide/AgreementUpdater +instanceKlass org/jetbrains/io/BuiltInServer$Companion +instanceKlass java/awt/AWTEventMulticaster +instanceKlass com/intellij/openapi/fileEditor/impl/CurrentEditorProvider +instanceKlass com/intellij/util/io/PersistentHashMapValueStorage +instanceKlass java/awt/event/MouseWheelListener +instanceKlass java/awt/event/HierarchyBoundsListener +instanceKlass java/awt/event/HierarchyListener +instanceKlass com/intellij/util/messages/impl/MessagePublisher +instanceKlass java/awt/event/InputMethodListener +instanceKlass java/awt/event/TextListener +instanceKlass java/awt/event/AdjustmentListener +instanceKlass java/awt/event/ItemListener +instanceKlass com/intellij/util/proxy/NonStaticAuthenticator +instanceKlass java/awt/event/WindowStateListener +instanceKlass java/awt/event/WindowFocusListener +instanceKlass java/awt/event/WindowListener +instanceKlass java/awt/event/MouseMotionListener +instanceKlass java/awt/event/MouseListener +instanceKlass com/intellij/internal/statistic/eventLog/EventLogConfiguration$Companion +instanceKlass com/intellij/psi/stubs/StubIndex +instanceKlass java/awt/event/KeyListener +instanceKlass java/awt/event/FocusListener +instanceKlass java/awt/event/ContainerListener +instanceKlass java/awt/event/ComponentListener +instanceKlass com/intellij/util/messages/impl/CompositeMessageBus$WhenMappings +instanceKlass org/jetbrains/io/BuiltInServer +instanceKlass java/awt/Toolkit$SelectiveAWTEventListener +instanceKlass com/intellij/ide/RecentProjectsManagerBase +instanceKlass com/intellij/internal/statistic/eventLog/EventLogConfiguration +instanceKlass com/intellij/util/containers/hash/LongLinkedHashMap$Entry +instanceKlass java/net/DefaultInterface +instanceKlass java/net/InterfaceAddress +instanceKlass com/intellij/configurationStore/BinaryXmlWriter +instanceKlass com/intellij/util/indexing/diagnostic/IndexDiagnosticDumper$Companion +instanceKlass javax/swing/Scrollable +instanceKlass java/awt/event/AWTEventListener +instanceKlass com/intellij/util/MethodHandleUtil +instanceKlass com/intellij/ide/plugins/marketplace/MarketplaceRequests$Companion +instanceKlass com/intellij/util/containers/hash/LinkedHashMap$Entry +instanceKlass com/intellij/openapi/wm/impl/FocusManagerImpl$AppListener +instanceKlass com/intellij/configurationStore/BinaryXmlOutputterKt +instanceKlass java/net/NetworkInterface +instanceKlass com/intellij/ide/SaveAndSyncHandlerListener +instanceKlass com/intellij/openapi/editor/event/DocumentListener +instanceKlass com/intellij/openapi/application/ApplicationActivationListener +instanceKlass com/intellij/util/lang/JavaVersion +instanceKlass javax/net/ssl/SSLContextSpi +instanceKlass com/intellij/openapi/command/impl/UndoRedoStacksHolderBase +instanceKlass com/intellij/util/ApplicationKt +instanceKlass com/intellij/ide/K/x +instanceKlass com/intellij/ide/RecentProjectsManager +instanceKlass java/util/DualPivotQuicksort +instanceKlass javax/net/ssl/SSLContext +instanceKlass com/intellij/util/containers/RefValueHashMap$MyReference +instanceKlass com/intellij/openapi/wm/WindowManager +instanceKlass com/intellij/util/io/UnsyncByteArrayOutputStream$ByteArrayAllocator +instanceKlass com/intellij/completion/ml/experiment/ExperimentLanguageConfig$$serializer +instanceKlass com/intellij/util/containers/RefValueHashMap +instanceKlass com/intellij/remoteDev/tests/impl/DistributedTestHost$Companion +instanceKlass com/intellij/openapi/editor/Document +instanceKlass com/intellij/Patches +instanceKlass java/net/ProxySelector +instanceKlass com/intellij/completion/ml/experiment/ExperimentGroupConfig$$serializer +instanceKlass com/intellij/util/containers/hash/HashUtil +instanceKlass org/jetbrains/ide/BuiltInServerManagerImpl$Companion +instanceKlass com/intellij/remoteDev/tests/impl/DistributedTestHost +instanceKlass com/intellij/util/containers/hash/EqualityPolicy$2 +instanceKlass com/intellij/openapi/options/Configurable +instanceKlass com/intellij/openapi/util/KeyedExtensionCollector +instanceKlass kotlin/collections/AbstractIterator$WhenMappings +instanceKlass com/intellij/util/containers/hash/EqualityPolicy$1 +instanceKlass java/lang/Deprecated +instanceKlass org/jetbrains/ide/BuiltInServerManager$Companion +instanceKlass com/intellij/openapi/options/UnnamedConfigurable +instanceKlass com/intellij/serviceContainer/NonInjectable +instanceKlass com/intellij/openapi/fileEditor/FileDocumentManager +instanceKlass com/intellij/util/containers/hash/EqualityPolicy +instanceKlass com/intellij/tasks/config/PasswordConversionEnforcer +instanceKlass com/intellij/completion/ml/experiment/ExperimentConfig$Companion +instanceKlass com/intellij/ide/plugins/marketplace/MarketplaceRequests +instanceKlass com/intellij/ide/SaveAndSyncHandler$Companion +instanceKlass com/intellij/configurationStore/SettingsSavingComponentJavaAdapter +instanceKlass com/intellij/openapi/vfs/SavingRequestor +instanceKlass com/intellij/completion/ml/experiment/ExperimentConfig +instanceKlass com/intellij/openapi/editor/impl/FontFamilyService +instanceKlass com/intellij/util/indexing/diagnostic/IndexDiagnosticDumper +instanceKlass com/intellij/psi/stubs/ObjectStubSerializer +instanceKlass com/intellij/configurationStore/StateMapKt +instanceKlass org/jetbrains/ide/BuiltInServerManager +instanceKlass com/intellij/openapi/progress/impl/PlatformTaskSupport +instanceKlass com/intellij/util/io/DataEnumeratorEx +instanceKlass com/intellij/openapi/command/undo/UndoableAction +instanceKlass com/intellij/completion/ml/experiment/ClientExperimentStatus$Companion +instanceKlass com/intellij/openapi/progress/TaskSupport +instanceKlass com/intellij/util/net/ssl/CertificateManager$Config +instanceKlass org/jetbrains/ide/ToolboxRestServiceConfig +instanceKlass com/intellij/ide/ClipboardSynchronizer$ClipboardHandler +instanceKlass com/intellij/ide/plugins/PluginInfoProvider +instanceKlass kotlin/time/DurationUnitKt__DurationUnitJvmKt +instanceKlass com/intellij/completion/ml/experiment/ClientExperimentStatus +instanceKlass com/intellij/openapi/command/undo/UndoManager +instanceKlass com/intellij/psi/stubs/SerializationManagerEx +instanceKlass com/intellij/ide/SaveAndSyncHandler +instanceKlass com/intellij/completion/ml/experiment/ExperimentStatus +instanceKlass com/intellij/util/net/HttpConfigurable +instanceKlass com/intellij/psi/stubs/StubTreeSerializer +instanceKlass org/jdom/JDOMInterner$2 +instanceKlass org/jdom/JDOMInterner$1 +instanceKlass com/intellij/util/net/ssl/CertificateManager$Companion +instanceKlass kotlin/collections/AbstractIterator +instanceKlass com/intellij/internal/statistic/eventLog/validator/storage/persistence/EventLogMetadataSettingsPersistence +instanceKlass com/intellij/openapi/wm/IdeFocusManager +instanceKlass com/intellij/diagnostic/EditMemorySettingsServiceImpl +instanceKlass com/intellij/util/containers/Interner +instanceKlass com/intellij/diagnostic/EditMemorySettingsService +instanceKlass jdk/internal/vm/VMSupport +instanceKlass kotlin/sequences/DistinctSequence +instanceKlass com/intellij/ui/IdeUICustomization +instanceKlass com/intellij/openapi/wm/FocusRequestor +instanceKlass kotlin/time/DurationKt +instanceKlass com/intellij/util/net/ssl/CertificateManager +instanceKlass com/intellij/ide/plugins/DynamicPluginEnabler$Companion +instanceKlass com/intellij/util/io/OpenChannelsCache +instanceKlass com/intellij/ide/IdeTooltipManager +instanceKlass com/intellij/internal/DebugAttachDetector +instanceKlass com/intellij/ide/plugins/DynamicPluginEnabler +instanceKlass com/intellij/diagnostic/LowMemoryNotifier +instanceKlass kotlin/ranges/LongRange$Companion +instanceKlass com/intellij/ide/ClipboardSynchronizer +instanceKlass kotlin/ranges/LongProgression$Companion +instanceKlass org/jdom/JDOMInterner +instanceKlass kotlin/ranges/LongProgression +instanceKlass com/intellij/configurationStore/XmlElementStorageKt +instanceKlass com/intellij/util/io/PageCacheUtils +instanceKlass kotlin/jvm/internal/CollectionToArray +instanceKlass kotlin/time/DurationJvmKt +instanceKlass com/intellij/util/containers/hash/LongLinkedHashMap +instanceKlass kotlin/time/Duration$Companion +instanceKlass com/intellij/util/io/FilePageCache +instanceKlass com/intellij/diagnostic/DebugLogManagerKt +instanceKlass org/jdom/output/Format$4 +instanceKlass org/jdom/output/Format$3 +instanceKlass org/jdom/output/Format$2 +instanceKlass kotlin/time/Duration +instanceKlass org/jdom/output/Format$1 +instanceKlass com/intellij/util/io/StorageLockContext +instanceKlass org/jdom/output/EscapeStrategy +instanceKlass org/jdom/output/Format +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSRecordsStorageFactory +instanceKlass com/intellij/diagnostic/DebugLogManager$Companion +instanceKlass com/intellij/openapi/util/ThreadLocalCachedValue +instanceKlass com/intellij/internal/statistic/updater/StatisticsStateCollectorsScheduler$Companion +instanceKlass com/intellij/diagnostic/DebugLogManager +instanceKlass com/intellij/internal/statistic/updater/StatisticsStateCollectorsScheduler +instanceKlass com/intellij/util/io/IOUtil +instanceKlass com/intellij/internal/statistic/updater/StatisticsJobsScheduler +instanceKlass com/intellij/vcs/commit/NonModalCommitCustomization$Companion +instanceKlass com/intellij/vcs/commit/NonModalCommitCustomization +instanceKlass com/intellij/openapi/fileTypes/impl/associate/OSAssociateFileTypesUtil$Callback +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/FSRecordsImpl$ErrorHandler +instanceKlass com/intellij/openapi/fileTypes/impl/associate/OSFileAssociationStartupConfigurator +instanceKlass com/intellij/openapi/vfs/newvfs/FileAttribute +instanceKlass org/jdom/output/XMLOutputter +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSTreeAccessor +instanceKlass com/intellij/ide/LanguageBundleListener +instanceKlass com/intellij/util/io/RepresentableAsByteArraySequence +instanceKlass com/intellij/openapi/util/JDOMUtil +instanceKlass com/intellij/util/indexing/FileBasedIndexLoader +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/FSRecordsImpl +instanceKlass com/intellij/remoteDev/tracing/CustomExportersListener +instanceKlass kotlinx/serialization/json/internal/JsonPath$Tombstone +instanceKlass kotlinx/serialization/descriptors/SerialDescriptor$DefaultImpls +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/VFSHealthCheckServiceStarter +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/VfsLog$vFileEventApplicationListener$1 +instanceKlass kotlinx/serialization/json/internal/DescriptorSchemaCache$Key +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/VFileEventApplicationListener +instanceKlass kotlinx/serialization/json/internal/JsonNamesMapKt +instanceKlass com/intellij/openapi/application/impl/JitSuppressor +instanceKlass kotlinx/serialization/encoding/CompositeDecoder$DefaultImpls +instanceKlass sun/misc/Unsafe +instanceKlass kotlinx/serialization/json/internal/StreamingJsonDecoder$WhenMappings +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/PayloadStorageImpl +instanceKlass kotlinx/serialization/json/internal/CharMappings +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/PayloadStorage +instanceKlass kotlinx/serialization/json/internal/AbstractJsonLexerKt +instanceKlass com/intellij/ide/plugins/DynamicPluginVfsListenerInitializer +instanceKlass com/intellij/util/xmlb/SerializationFilterBase +instanceKlass com/intellij/configurationStore/SaveSessionProducerBaseKt +instanceKlass kotlinx/serialization/json/internal/WriteModeKt +instanceKlass com/intellij/util/xmlb/AccessorBindingWrapper +instanceKlass kotlinx/serialization/internal/AbstractPolymorphicSerializer +instanceKlass com/intellij/codeInsight/editorActions/TypedHandlerPreloader +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/util/SkipListAdvancingPositionTracker +instanceKlass com/intellij/util/xmlb/MultiNodeBinding +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/util/AdvancingPositionTracker +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/util/SmallIndexMap$NodeImpl +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/util/SmallIndexMap$Node +instanceKlass com/intellij/util/ReflectionUtil +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/util/SmallIndexMap +instanceKlass kotlinx/serialization/encoding/AbstractDecoder +instanceKlass kotlinx/serialization/encoding/ChunkedDecoder +instanceKlass com/intellij/util/containers/Unsafe +instanceKlass com/intellij/util/containers/ConcurrentLongObjectHashMap$CollectionView +instanceKlass com/intellij/openapi/components/ReportValue +instanceKlass com/intellij/openapi/application/ImportOldConfigsUsagesCollector$Trigger +instanceKlass com/intellij/util/containers/ConcurrentIntObjectHashMap$CounterCell +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/io/ChunkMMappedFileIO$Companion +instanceKlass com/intellij/util/xmlb/annotations/Transient +instanceKlass kotlinx/serialization/json/JsonDecoder +instanceKlass kotlinx/serialization/encoding/CompositeDecoder +instanceKlass com/intellij/util/xmlb/annotations/AbstractCollection +instanceKlass com/intellij/util/xmlb/annotations/XCollection +instanceKlass com/intellij/util/xmlb/annotations/XMap +instanceKlass kotlinx/serialization/encoding/Decoder +instanceKlass com/intellij/util/xmlb/annotations/MapAnnotation +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/io/ChunkMMappedFileIO +instanceKlass com/intellij/openapi/util/SystemPropertyBean +instanceKlass com/intellij/util/xmlb/annotations/CollectionBean +instanceKlass com/intellij/ide/plugins/BundledPluginsState$Companion +instanceKlass com/intellij/util/xmlb/annotations/Text +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/io/StorageIO +instanceKlass com/intellij/openapi/Forceable +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/io/RandomAccessBufferIO +instanceKlass com/intellij/util/containers/ConcurrentLongObjectHashMap$Node +instanceKlass com/intellij/util/containers/ConcurrentLongObjectMap$LongEntry +instanceKlass com/intellij/ide/plugins/BundledPluginsState +instanceKlass com/intellij/util/containers/ConcurrentLongObjectHashMap +instanceKlass com/intellij/ide/ApplicationInitializedListener +instanceKlass kotlinx/serialization/json/internal/JsonPath +instanceKlass com/intellij/serialization/BaseBeanBinding +instanceKlass kotlinx/serialization/json/internal/AbstractJsonLexer +instanceKlass com/intellij/idea/IdeStarter$Companion +instanceKlass com/intellij/openapi/util/io/FileUtil$2 +instanceKlass com/intellij/openapi/util/io/FileUtil$1 +instanceKlass kotlinx/serialization/internal/PluginGeneratedSerialDescriptor +instanceKlass kotlinx/serialization/internal/CachedNames +instanceKlass com/intellij/openapi/util/io/FileUtilRt$SymlinkResolver +instanceKlass gnu/trove/TObjectHashingStrategy +instanceKlass gnu/trove/Equality +instanceKlass com/intellij/ide/util/BasePropertyService$MyState$$serializer +instanceKlass kotlinx/serialization/internal/GeneratedSerializer +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostShowHelp$Companion +instanceKlass kotlinx/serialization/internal/ListLikeDescriptor +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostCacheInvalidatorStarter$Companion +instanceKlass com/intellij/internal/statistic/eventLog/StatisticsEventLogProvidersHolder +instanceKlass com/intellij/internal/statistic/eventLog/StatisticsEventLogProviderUtil +instanceKlass kotlinx/serialization/internal/MapLikeDescriptor +instanceKlass com/intellij/internal/statistic/eventLog/fus/FeatureUsageLogger +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostStarterKt +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/OperationLogStorageImpl$Companion +instanceKlass kotlinx/serialization/descriptors/SerialKind +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostStarter$Companion +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/OperationLogStorageImpl +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/OperationLogStorage +instanceKlass kotlinx/serialization/internal/PrimitiveSerialDescriptor +instanceKlass com/intellij/openapi/project/Project +instanceKlass kotlinx/serialization/descriptors/SerialDescriptor +instanceKlass com/intellij/openapi/progress/CoroutinesKt +instanceKlass com/jetbrains/rdserver/unattendedHost/OptionWithError +instanceKlass kotlinx/serialization/internal/StringSerializer +instanceKlass org/apache/commons/cli/CommandLine +instanceKlass kotlinx/serialization/internal/AbstractCollectionSerializer +instanceKlass com/jetbrains/rd/util/lifetime/Lifetime +instanceKlass it/unimi/dsi/fastutil/objects/ObjectIterators$EmptyIterator +instanceKlass it/unimi/dsi/fastutil/objects/ObjectListIterator +instanceKlass it/unimi/dsi/fastutil/objects/ObjectList +instanceKlass com/intellij/configurationStore/statistic/eventLog/ConfigurationStateExtractor +instanceKlass com/intellij/remoteDev/hostStatus/UnattendedHostStatus +instanceKlass it/unimi/dsi/fastutil/objects/ObjectIterators +instanceKlass com/intellij/configurationStore/statistic/eventLog/FeatureUsageSettingsEventPrinter$Companion +instanceKlass com/intellij/configurationStore/statistic/eventLog/FeatureUsageSettingsEventPrinter +instanceKlass com/intellij/configurationStore/statistic/eventLog/FeatureUsageSettingsEvents +instanceKlass com/intellij/configurationStore/StorageImpl +instanceKlass it/unimi/dsi/fastutil/objects/ObjectCollections$UnmodifiableCollection +instanceKlass kotlinx/serialization/json/JsonBuilder +instanceKlass kotlinx/serialization/json/internal/CreateMapForCacheKt +instanceKlass com/intellij/openapi/keymap/impl/KeymapManagerImpl$2 +instanceKlass kotlinx/serialization/json/internal/DescriptorSchemaCache +instanceKlass com/intellij/openapi/fileTypes/FileType +instanceKlass kotlinx/serialization/modules/SerializersModule +instanceKlass kotlinx/serialization/modules/SerializersModuleKt +instanceKlass it/unimi/dsi/fastutil/objects/ObjectSets +instanceKlass kotlinx/serialization/modules/SerializersModuleBuildersKt +instanceKlass kotlinx/serialization/json/JsonConfiguration +instanceKlass javax/swing/RootPaneContainer +instanceKlass javax/swing/WindowConstants +instanceKlass kotlinx/serialization/json/Json +instanceKlass kotlinx/serialization/StringFormat +instanceKlass kotlinx/serialization/SerialFormat +instanceKlass kotlinx/serialization/json/JsonKt +instanceKlass com/intellij/openapi/application/ConfigImportHelper +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectMaps +instanceKlass com/intellij/serialization/xml/KotlinxSerializationBindingKt +instanceKlass com/intellij/ide/util/BasePropertyService$MyState$Companion +instanceKlass com/intellij/util/io/SimpleStringPersistentEnumerator +instanceKlass com/intellij/util/io/DataEnumerator +instanceKlass java/util/ArrayList$SubList$1 +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/VfsLog$ContextImpl +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/VfsLogContext +instanceKlass com/intellij/configurationStore/schemeManager/SchemeLoader +instanceKlass org/apache/commons/cli/OptionValidator +instanceKlass org/apache/commons/cli/Option$Builder +instanceKlass com/intellij/util/io/FileChannelInterruptsRetryer$FileChannelIdempotentOperation +instanceKlass java/lang/annotation/Documented +instanceKlass org/apache/commons/cli/Option +instanceKlass kotlin/annotation/MustBeDocumented +instanceKlass com/intellij/openapi/keymap/impl/KeymapImpl$cachedShortcuts$1 +instanceKlass kotlinx/serialization/KSerializer +instanceKlass kotlinx/serialization/DeserializationStrategy +instanceKlass com/intellij/util/ThrowableRunnable +instanceKlass kotlinx/serialization/SerializationStrategy +instanceKlass kotlin/properties/NotNullVar +instanceKlass kotlin/properties/ReadWriteProperty +instanceKlass kotlin/properties/ReadOnlyProperty +instanceKlass kotlinx/serialization/Serializable +instanceKlass kotlin/properties/Delegates +instanceKlass com/intellij/openapi/util/registry/RegistryValue +instanceKlass com/intellij/util/io/FileChannelInterruptsRetryer +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostStatusStarterKt +instanceKlass com/jetbrains/rdserver/unattendedHost/UnattendedHostStatusStarter$Companion +instanceKlass java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter +instanceKlass com/intellij/openapi/options/ExternalizableSchemeAdapter +instanceKlass com/intellij/openapi/options/ExternalizableScheme +instanceKlass com/intellij/configurationStore/OldBindingProducer +instanceKlass com/intellij/configurationStore/SerializableScheme +instanceKlass com/intellij/openapi/keymap/Keymap +instanceKlass com/intellij/openapi/options/Scheme +instanceKlass com/intellij/configurationStore/XmlSerializerKt +instanceKlass org/apache/commons/cli/Options +instanceKlass com/intellij/configurationStore/JdomSerializerImpl +instanceKlass com/intellij/openapi/util/registry/RegistryManagerImpl$3 +instanceKlass com/intellij/ide/AppLifecycleListener +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/PersistentVar$Companion +instanceKlass com/intellij/openapi/util/registry/RegistryManagerImpl$2 +instanceKlass com/intellij/openapi/keymap/impl/DefaultKeymap$2$1 +instanceKlass com/intellij/configurationStore/SchemeDataHolder +instanceKlass com/intellij/openapi/util/registry/RegistryKeyBean$Companion$addKeysFromPlugins$4 +instanceKlass com/intellij/openapi/util/registry/RegistryKeyBean$Companion$addKeysFromPlugins$3 +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/PersistentVar +instanceKlass com/intellij/openapi/util/registry/RegistryKeyBean$Companion$addKeysFromPlugins$2 +instanceKlass com/intellij/configurationStore/JdomSerializer +instanceKlass com/intellij/openapi/extensions/ExtensionPointPriorityListener +instanceKlass com/intellij/openapi/keymap/impl/DefaultKeymapKt +instanceKlass com/intellij/configurationStore/XmlSerializer +instanceKlass com/intellij/openapi/util/registry/Registry$1 +instanceKlass com/intellij/openapi/util/registry/RegistryValueListener +instanceKlass com/intellij/openapi/util/registry/Registry +instanceKlass com/intellij/openapi/keymap/impl/BundledKeymapBean +instanceKlass kotlin/jvm/internal/Ref$BooleanRef +instanceKlass sun/nio/fs/BasicFileAttributesHolder +instanceKlass com/intellij/application/options/PathMacroExpandableProtocolBean +instanceKlass com/intellij/openapi/keymap/impl/DefaultKeymap$Companion +instanceKlass com/intellij/openapi/keymap/impl/DefaultKeymap +instanceKlass java/nio/file/Files$3 +instanceKlass com/intellij/configurationStore/SchemeExtensionProvider +instanceKlass java/nio/file/FileTreeWalker$Event +instanceKlass com/intellij/concurrency/ConcurrentHashMap$CounterCell +instanceKlass sun/nio/fs/UnixFileKey +instanceKlass com/intellij/concurrency/ConcurrentHashMap$1 +instanceKlass java/nio/file/FileTreeWalker$DirectoryNode +instanceKlass java/nio/file/FileTreeWalker +instanceKlass java/nio/file/SimpleFileVisitor +instanceKlass com/intellij/concurrency/ConcurrentHashMap$Node +instanceKlass com/intellij/util/io/PathKt +instanceKlass com/intellij/configurationStore/schemeManager/SchemeCollection +instanceKlass com/intellij/configurationStore/schemeManager/SchemeListManagerKt +instanceKlass com/intellij/configurationStore/schemeManager/SchemeListManager +instanceKlass org/jetbrains/qodana/staticAnalysis/inspections/runner/QodanaExcludedPluginsCalculator +instanceKlass com/intellij/openapi/diagnostic/ThrottledLogger +instanceKlass com/intellij/openapi/util/TextRange +instanceKlass com/intellij/openapi/util/Segment +instanceKlass com/intellij/openapi/options/SchemeManager +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/FSRecords +instanceKlass com/intellij/configurationStore/StorageManagerFileWriteRequestor +instanceKlass com/intellij/openapi/vfs/SafeWriteRequestor +instanceKlass org/jdom/AttributeList$ALIterator +instanceKlass org/jdom/ContentList$CLIterator +instanceKlass org/jetbrains/jps/model/serialization/PathMacroUtil +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSPaths +instanceKlass com/intellij/openapi/components/PathMacroMap +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/VfsLog$Companion +instanceKlass com/intellij/openapi/components/impl/stores/FileStorageCoreUtil +instanceKlass kotlin/SafePublicationLazyImpl$Companion +instanceKlass kotlin/SafePublicationLazyImpl +instanceKlass kotlin/LazyKt__LazyJVMKt$WhenMappings +instanceKlass kotlin/reflect/jvm/internal/ReflectProperties$Val$1 +instanceKlass kotlin/reflect/jvm/internal/ReflectProperties$Val +instanceKlass com/intellij/configurationStore/Scheme_implKt +instanceKlass kotlin/reflect/jvm/internal/ReflectProperties +instanceKlass com/intellij/formatting/commandLine/MessageOutput +instanceKlass kotlin/jvm/internal/DefaultConstructorMarker +instanceKlass kotlin/reflect/jvm/internal/KDeclarationContainerImpl$Companion +instanceKlass com/intellij/openapi/options/SchemeProcessor +instanceKlass kotlin/reflect/jvm/internal/KClassifierImpl +instanceKlass com/intellij/formatting/commandLine/FormatterStarter +instanceKlass kotlin/reflect/jvm/internal/CacheByClass +instanceKlass com/intellij/openapi/util/SafeJdomFactory$BaseSafeJdomFactory +instanceKlass kotlin/reflect/jvm/internal/CacheByClassKt +instanceKlass com/intellij/openapi/util/SafeJdomFactory +instanceKlass com/intellij/ide/ui/search/TraverseUIStarter +instanceKlass kotlin/reflect/jvm/internal/CachesKt +instanceKlass com/intellij/openapi/util/SafeStAXStreamBuilder +instanceKlass com/intellij/openapi/options/SchemeManagerFactory$Companion +instanceKlass kotlin/reflect/jvm/internal/KPropertyImpl$Companion +instanceKlass com/intellij/openapi/util/registry/RegistryKeyDescriptor +instanceKlass com/intellij/openapi/options/SchemeManagerFactory +instanceKlass kotlin/reflect/jvm/internal/KCallableImpl +instanceKlass kotlin/reflect/jvm/internal/KTypeParameterOwnerImpl +instanceKlass com/intellij/configurationStore/StateGetterImpl +instanceKlass com/intellij/openapi/keymap/impl/KeymapManagerImpl$Companion +instanceKlass com/intellij/configurationStore/FileStorageAnnotation +instanceKlass com/intellij/configurationStore/ProjectStoreBaseKt +instanceKlass com/intellij/internal/statistic/utils/DumpActionsAppStarter +instanceKlass kotlin/reflect/jvm/internal/KDeclarationContainerImpl +instanceKlass kotlin/jvm/internal/ClassBasedDeclarationContainer +instanceKlass sun/reflect/generics/tree/TypeVariableSignature +instanceKlass com/intellij/ide/util/BasePropertyService$MyState +instanceKlass kotlinx/coroutines/flow/ReadonlySharedFlow +instanceKlass kotlin/reflect/KTypeParameter +instanceKlass kotlin/reflect/KType +instanceKlass kotlinx/coroutines/flow/FlowKt__ShareKt +instanceKlass kotlin/reflect/KMutableProperty2 +instanceKlass kotlin/reflect/KProperty2 +instanceKlass kotlin/reflect/KMutableProperty0 +instanceKlass kotlin/reflect/KProperty0 +instanceKlass kotlin/jvm/internal/ReflectionFactory +instanceKlass com/intellij/openapi/keymap/KeymapManager +instanceKlass com/intellij/internal/statistic/eventLog/events/scheme/EventsSchemeBuilderAppStarter +instanceKlass com/intellij/ide/GeneralSettingsState +instanceKlass com/intellij/ide/ui/UINumericRange +instanceKlass kotlin/text/Regex$Companion +instanceKlass com/intellij/openapi/util/SimpleModificationTracker +instanceKlass com/intellij/ide/GeneralSettings$Companion +instanceKlass kotlin/jvm/internal/Reflection +instanceKlass kotlin/text/Regex +instanceKlass com/intellij/ide/GeneralSettings +instanceKlass kotlin/reflect/KProperty$Getter +instanceKlass kotlin/reflect/KMutableProperty$Setter +instanceKlass kotlin/reflect/KProperty$Accessor +instanceKlass com/intellij/openapi/util/registry/RegistryKeyBean$Companion +instanceKlass com/intellij/openapi/util/registry/RegistryKeyBean +instanceKlass com/intellij/ide/environment/impl/EnvironmentKeyStubGenerator$Companion +instanceKlass kotlin/reflect/KMutableProperty1 +instanceKlass kotlin/reflect/KMutableProperty +instanceKlass kotlin/reflect/KProperty1 +instanceKlass com/intellij/openapi/util/registry/RegistryManagerImpl +instanceKlass com/intellij/ide/util/PropertiesComponent +instanceKlass kotlin/reflect/KProperty +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/log/VfsLog +instanceKlass com/intellij/openapi/util/registry/RegistryManager +instanceKlass com/intellij/ide/plugins/HeadlessPluginsInstaller +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSImpl$1 +instanceKlass com/intellij/ide/plugins/DynamicPluginListener$Companion +instanceKlass org/jdom/ContentList$FilterListIterator +instanceKlass com/intellij/ide/plugins/DynamicPluginListener +instanceKlass com/intellij/openapi/vfs/newvfs/AsyncEventSupport$1 +instanceKlass org/jdom/filter2/AbstractFilter +instanceKlass com/intellij/openapi/extensions/impl/ExtensionProcessingHelper +instanceKlass com/intellij/openapi/vfs/newvfs/BulkFileListener +instanceKlass org/jdom/Namespace +instanceKlass com/intellij/help/impl/ShowProductVersion +instanceKlass com/intellij/openapi/vfs/VirtualFileManager +instanceKlass kotlinx/coroutines/internal/ThreadSafeHeap +instanceKlass com/intellij/help/impl/InspectionDump +instanceKlass com/intellij/util/messages/impl/BaseBusConnection +instanceKlass com/intellij/util/messages/impl/MessageBusImpl$MessageHandlerHolder +instanceKlass com/intellij/util/messages/MessageBusConnection +instanceKlass javax/xml/transform/Source +instanceKlass com/intellij/util/messages/SimpleMessageBusConnection +instanceKlass kotlinx/coroutines/EventLoopImplBase$DelayedTask +instanceKlass javax/xml/transform/Result +instanceKlass kotlinx/coroutines/internal/ThreadSafeHeapNode +instanceKlass com/intellij/util/containers/CollectionFactory$1 +instanceKlass com/intellij/util/containers/FastUtilHashingStrategies$SerializableHashStrategy +instanceKlass org/jdom/Verifier +instanceKlass com/intellij/help/impl/IntentionDump +instanceKlass com/intellij/openapi/vfs/newvfs/AsyncEventSupport +instanceKlass java/util/stream/Nodes$ArrayNode +instanceKlass java/util/stream/Node$Builder +instanceKlass org/jdom/filter2/Filter +instanceKlass java/util/stream/Node$OfDouble +instanceKlass com/intellij/execution/process/OSProcessUtil +instanceKlass java/util/stream/Node$OfLong +instanceKlass com/intellij/openapi/util/LowMemoryWatcher +instanceKlass java/util/stream/Node$OfInt +instanceKlass java/util/stream/Node$OfPrimitive +instanceKlass com/intellij/configurationStore/DefaultStateSerializerKt +instanceKlass com/intellij/concurrency/JobSchedulerImpl +instanceKlass com/intellij/configurationStore/StateMap$Companion +instanceKlass java/util/stream/Nodes$EmptyNode +instanceKlass com/intellij/openapi/vfs/newvfs/impl/VfsData$1 +instanceKlass java/util/stream/Node +instanceKlass com/intellij/configurationStore/StateMap +instanceKlass java/util/stream/Nodes +instanceKlass com/intellij/configurationStore/ComponentStoreImplKt +instanceKlass com/intellij/configurationStore/ApplicationStoreImplKt$appFileBasedStorageConfiguration$1 +instanceKlass com/intellij/configurationStore/FileBasedStorageConfiguration +instanceKlass com/intellij/configurationStore/ApplicationStoreImplKt +instanceKlass java/util/BitSet +instanceKlass com/intellij/internal/statistic/eventLog/events/VarargEventId$Companion +instanceKlass com/intellij/configurationStore/StorageBaseExKt$createStateGetter$1 +instanceKlass com/intellij/configurationStore/StateGetter +instanceKlass com/intellij/internal/statistic/eventLog/events/BaseEventId +instanceKlass com/intellij/configurationStore/StorageBaseExKt +instanceKlass java/net/URLEncoder +instanceKlass kotlin/jvm/internal/SpreadBuilder +instanceKlass java/util/stream/Streams$RangeIntSpliterator +instanceKlass com/intellij/internal/statistic/IdeActivityDefinition$Companion +instanceKlass com/intellij/util/containers/ConcurrentBitSetImpl +instanceKlass com/intellij/internal/statistic/IdeActivityDefinition +instanceKlass com/intellij/util/containers/ConcurrentBitSet +instanceKlass com/intellij/configurationStore/StateStorageBase +instanceKlass com/intellij/help/impl/KeymapGenerator +instanceKlass org/jetbrains/concurrency/Promise +instanceKlass com/intellij/openapi/vfs/newvfs/impl/VfsData +instanceKlass com/intellij/concurrency/ConcurrentIntKeyRefValueHashMap$IntReference +instanceKlass com/intellij/configurationStore/StorageVirtualFileTracker$TrackedStorage +instanceKlass com/intellij/concurrency/ConcurrentIntKeyRefValueHashMap +instanceKlass com/intellij/openapi/command/impl/UpdatePluginsApp +instanceKlass com/intellij/execution/ui/FragmentedSettings +instanceKlass com/intellij/configurationStore/StorageCreator +instanceKlass com/intellij/openapi/components/StateStorageChooserEx +instanceKlass com/intellij/diagnostic/ITNProxy +instanceKlass sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl +instanceKlass java/lang/reflect/ParameterizedType +instanceKlass org/jdom/CloneBase +instanceKlass org/jdom/Parent +instanceKlass com/intellij/concurrency/ConcurrentIntObjectHashMap$Node +instanceKlass com/intellij/util/containers/IntObjectMap$Entry +instanceKlass com/intellij/concurrency/ConcurrentIntObjectHashMap +instanceKlass com/intellij/openapi/components/BaseState +instanceKlass sun/reflect/generics/reflectiveObjects/LazyReflectiveObjectGenerator +instanceKlass sun/reflect/generics/tree/ClassSignature +instanceKlass sun/reflect/generics/tree/Signature +instanceKlass sun/reflect/generics/tree/FormalTypeParameter +instanceKlass com/intellij/diagnostic/IdeaFreezeReporter$Companion +instanceKlass com/intellij/configurationStore/ComponentSerializationUtil +instanceKlass com/intellij/configurationStore/PersistenceStateAdapter +instanceKlass com/intellij/concurrency/ConcurrentCollectionFactory +instanceKlass com/intellij/diagnostic/IdeaFreezeReporter +instanceKlass com/intellij/util/containers/ImmutableList$Itr +instanceKlass com/intellij/diagnostic/PerformanceListener +instanceKlass com/intellij/configurationStore/ComponentInfo +instanceKlass com/intellij/openapi/components/PersistentStateComponentWithModificationTracker +instanceKlass com/intellij/configurationStore/ComponentInfoKt +instanceKlass com/jetbrains/nodejs/execution/NodeRunConfigurationUsageCollectorExtension +instanceKlass com/jetbrains/nodejs/execution/NodeRunConfigurationTypeCollectorExtension +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/VirtualDirectoryCache +instanceKlass com/intellij/completion/ml/features/MLRankingLookupUsageDescriptor$MLRankingCompletionCollectorExtension$Companion +instanceKlass com/intellij/completion/ml/features/MLRankingLookupUsageDescriptor$MLRankingCompletionCollectorExtension +instanceKlass com/intellij/openapi/application/ExitStarter$Companion +instanceKlass com/intellij/openapi/vfs/newvfs/persistent/PersistentFSImpl$6 +instanceKlass com/intellij/spellchecker/statistics/SpellcheckerLookupUsageDescriptor$SpellcheckerCompletionCollectorExtension$Companion +instanceKlass com/intellij/spellchecker/statistics/SpellcheckerLookupUsageDescriptor$SpellcheckerCompletionCollectorExtension +instanceKlass com/intellij/openapi/application/ApplicationStarterBase$Companion +instanceKlass java/io/FileFilter +instanceKlass com/intellij/execution/impl/statistics/RunConfigurationTypeLanguageExtension +instanceKlass com/intellij/execution/impl/statistics/RunConfigurationUsageLanguageExtension +instanceKlass com/intellij/openapi/vfs/newvfs/events/ChildInfo +instanceKlass com/intellij/openapi/vfs/encoding/EncodingRegistry +instanceKlass com/intellij/openapi/components/StateStorage +instanceKlass com/intellij/openapi/application/ModernApplicationStarter +instanceKlass com/intellij/openapi/components/StateSplitterEx +instanceKlass com/intellij/openapi/components/StateSplitter +instanceKlass com/intellij/ide/actions/DragEditorTabsFusEventFields +instanceKlass com/fasterxml/jackson/databind/ser/BeanSerializerModifier +instanceKlass com/intellij/openapi/util/io/PathExecLazyValue +instanceKlass com/fasterxml/jackson/databind/ser/Serializers +instanceKlass com/fasterxml/jackson/databind/cfg/SerializerFactoryConfig +instanceKlass com/intellij/openapi/vfs/newvfs/events/VFileEvent +instanceKlass com/intellij/ide/actions/ToolwindowFusEventFields +instanceKlass com/intellij/openapi/util/SystemInfo +instanceKlass java/util/Currency +instanceKlass com/intellij/openapi/util/JDOMExternalizable +instanceKlass com/intellij/openapi/vfs/VirtualFileWithId +instanceKlass com/intellij/diagnostic/PerformanceWatcherImplKt +instanceKlass com/intellij/diagnostic/PerformanceWatcherImpl$3 +instanceKlass com/fasterxml/jackson/databind/ser/std/StdJdkSerializers +instanceKlass com/intellij/openapi/components/State$NameGetter +instanceKlass com/intellij/internal/statistic/service/fus/collectors/FeatureUsageCollectorExtension +instanceKlass com/intellij/openapi/components/Storage +instanceKlass com/intellij/openapi/components/State +instanceKlass com/fasterxml/jackson/databind/ser/std/NumberSerializers +instanceKlass com/intellij/configurationStore/StoreUtilKt +instanceKlass com/intellij/notification/NotificationListener +instanceKlass com/intellij/openapi/vfs/newvfs/CachingVirtualFileSystem +instanceKlass com/intellij/diagnostic/JitWatcher +instanceKlass com/intellij/openapi/vfs/VirtualFileSystem +instanceKlass com/intellij/diagnostic/ApdexData +instanceKlass com/intellij/internal/statistic/eventLog/events/EventField +instanceKlass com/intellij/configurationStore/SettingsSavingComponent +instanceKlass com/intellij/internal/statistic/eventLog/events/EventFields +instanceKlass com/intellij/application/options/PathMacrosImpl$Companion +instanceKlass com/intellij/internal/statistic/eventLog/validator/rules/PerformanceCareRule +instanceKlass com/intellij/internal/statistic/eventLog/validator/rules/impl/UtilValidationRule +instanceKlass com/intellij/openapi/util/ModificationTracker +instanceKlass com/intellij/internal/statistic/eventLog/validator/rules/FUSRule +instanceKlass java/net/InetAddress$NameServiceAddresses +instanceKlass java/net/InetAddress$Addresses +instanceKlass java/util/concurrent/ConcurrentSkipListMap$Iter +instanceKlass com/intellij/openapi/vfs/newvfs/ManagingFS +instanceKlass com/intellij/internal/statistic/eventLog/EventLogGroup +instanceKlass com/intellij/openapi/vfs/newvfs/FileSystemInterface +instanceKlass com/intellij/internal/statistic/collectors/fus/actions/persistence/ActionsEventLogGroup$Companion +instanceKlass com/intellij/openapi/application/PathMacros +instanceKlass com/intellij/internal/statistic/service/fus/collectors/FeatureUsagesCollector +instanceKlass com/fasterxml/jackson/databind/deser/DeserializerCache +instanceKlass sun/awt/FontDescriptor +instanceKlass sun/awt/FontConfiguration +instanceKlass sun/font/SunFontManager$FontRegistrationInfo +instanceKlass com/intellij/ide/bootstrap/AppServicePreloadingKt +instanceKlass com/fasterxml/jackson/databind/KeyDeserializer +instanceKlass com/fasterxml/jackson/databind/deser/std/StdKeyDeserializers +instanceKlass com/fasterxml/jackson/databind/deser/KeyDeserializers +instanceKlass com/fasterxml/jackson/databind/deser/ValueInstantiators +instanceKlass com/fasterxml/jackson/databind/AbstractTypeResolver +instanceKlass com/fasterxml/jackson/databind/deser/BeanDeserializerModifier +instanceKlass com/fasterxml/jackson/databind/cfg/DeserializerFactoryConfig +instanceKlass com/fasterxml/jackson/databind/PropertyName +instanceKlass com/fasterxml/jackson/databind/deser/Deserializers +instanceKlass com/intellij/openapi/application/PathManagerEx +instanceKlass com/intellij/configurationStore/Macro +instanceKlass com/intellij/configurationStore/CompoundStreamProvider +instanceKlass com/intellij/configurationStore/StateStorageManagerImplKt +instanceKlass com/fasterxml/jackson/annotation/ObjectIdGenerator +instanceKlass com/intellij/configurationStore/TrackingPathMacroSubstitutorImpl +instanceKlass com/intellij/openapi/components/TrackingPathMacroSubstitutor +instanceKlass com/intellij/configurationStore/TrackingPathMacroSubstitutorImplKt +instanceKlass com/intellij/openapi/application/PathMacroFilter +instanceKlass com/fasterxml/jackson/databind/deser/ResolvableDeserializer +instanceKlass com/intellij/configurationStore/StateStorageManagerImpl +instanceKlass com/intellij/configurationStore/StateStorageManager +instanceKlass com/intellij/configurationStore/ComponentStoreImpl +instanceKlass com/fasterxml/jackson/databind/deser/ValueInstantiator$Gettable +instanceKlass com/intellij/platform/workspace/jps/serialization/impl/ApplicationStoreJpsContentReader +instanceKlass com/fasterxml/jackson/databind/deser/ContextualDeserializer +instanceKlass com/intellij/openapi/components/ServiceKt +instanceKlass com/fasterxml/jackson/databind/JsonDeserializer +instanceKlass com/fasterxml/jackson/databind/deser/NullValueProvider +instanceKlass java/io/Console +instanceKlass com/fasterxml/jackson/databind/ser/SerializerCache +instanceKlass com/fasterxml/jackson/databind/ser/ResolvableSerializer +instanceKlass java/lang/invoke/MethodHandleImpl$LoopClauses +instanceKlass java/lang/invoke/MethodHandleImpl$CasesHolder +instanceKlass com/fasterxml/jackson/databind/jsonschema/SchemaAware +instanceKlass com/fasterxml/jackson/databind/ser/ContextualSerializer +instanceKlass java/lang/invoke/ClassSpecializer$Factory$1Var +instanceKlass sun/invoke/util/ValueConversions$1 +instanceKlass com/fasterxml/jackson/databind/JsonSerializer +instanceKlass com/fasterxml/jackson/databind/jsonFormatVisitors/JsonFormatVisitable +instanceKlass com/fasterxml/jackson/databind/node/JsonNodeFactory +instanceKlass com/fasterxml/jackson/databind/node/JsonNodeCreator +instanceKlass com/fasterxml/jackson/databind/cfg/ContextAttributes +instanceKlass com/fasterxml/jackson/databind/cfg/DatatypeFeature +instanceKlass com/fasterxml/jackson/databind/cfg/DatatypeFeatures$DefaultHolder +instanceKlass com/jetbrains/rdserver/unattendedHost/settings/shared/UnattendedHostSharedConfigFolderKt +instanceKlass com/fasterxml/jackson/databind/cfg/DatatypeFeatures +instanceKlass com/fasterxml/jackson/core/util/Separators +instanceKlass com/fasterxml/jackson/core/util/DefaultPrettyPrinter$NopIndenter +instanceKlass com/fasterxml/jackson/databind/cfg/ConfigFeature +instanceKlass com/fasterxml/jackson/databind/cfg/ConfigOverride +instanceKlass com/fasterxml/jackson/annotation/JsonFormat$Features +instanceKlass com/fasterxml/jackson/annotation/JsonFormat$Value +instanceKlass com/fasterxml/jackson/databind/cfg/CoercionConfig +instanceKlass com/fasterxml/jackson/databind/cfg/CoercionConfigs +instanceKlass com/fasterxml/jackson/databind/introspect/VisibilityChecker$Std +instanceKlass com/fasterxml/jackson/annotation/JsonSetter$Value +instanceKlass com/fasterxml/jackson/annotation/JsonInclude$Value +instanceKlass com/fasterxml/jackson/annotation/JacksonAnnotationValue +instanceKlass com/fasterxml/jackson/databind/cfg/ConfigOverrides +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotatedClass$Creators +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotationCollector$NoAnnotations +instanceKlass com/fasterxml/jackson/databind/util/Annotations +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotationCollector +instanceKlass com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver +instanceKlass com/fasterxml/jackson/databind/cfg/MapperConfig +instanceKlass com/fasterxml/jackson/databind/BeanDescription +instanceKlass com/fasterxml/jackson/databind/introspect/SimpleMixInResolver +instanceKlass com/fasterxml/jackson/databind/introspect/ClassIntrospector$MixInResolver +instanceKlass com/fasterxml/jackson/databind/util/RootNameLookup +instanceKlass com/fasterxml/jackson/databind/cfg/MapperBuilder +instanceKlass com/fasterxml/jackson/databind/introspect/AccessorNamingStrategy +instanceKlass com/fasterxml/jackson/core/Base64Variant +instanceKlass com/fasterxml/jackson/core/Base64Variants +instanceKlass com/fasterxml/jackson/databind/type/TypeBindings +instanceKlass com/fasterxml/jackson/databind/type/TypeParser +instanceKlass com/fasterxml/jackson/databind/type/TypeFactory +instanceKlass com/fasterxml/jackson/databind/cfg/BaseSettings +instanceKlass java/util/concurrent/atomic/AtomicLongArray +instanceKlass com/fasterxml/jackson/databind/util/internal/Linked +instanceKlass com/fasterxml/jackson/databind/util/internal/PrivateMaxEntriesMap$Builder +instanceKlass com/fasterxml/jackson/databind/util/LRUMap +instanceKlass com/fasterxml/jackson/databind/util/LookupCache +instanceKlass java/beans/ConstructorProperties +instanceKlass java/beans/Transient +instanceKlass com/fasterxml/jackson/databind/util/ClassUtil$Ctor +instanceKlass com/fasterxml/jackson/databind/util/ClassUtil +instanceKlass com/fasterxml/jackson/databind/ext/Java7Support +instanceKlass com/fasterxml/jackson/annotation/JsonMerge +instanceKlass com/fasterxml/jackson/databind/annotation/JsonDeserialize +instanceKlass com/fasterxml/jackson/annotation/JsonManagedReference +instanceKlass com/fasterxml/jackson/annotation/JsonBackReference +instanceKlass com/fasterxml/jackson/annotation/JsonUnwrapped +instanceKlass com/fasterxml/jackson/annotation/JsonRawValue +instanceKlass com/fasterxml/jackson/annotation/JsonTypeInfo +instanceKlass com/fasterxml/jackson/annotation/JsonFormat +instanceKlass com/fasterxml/jackson/annotation/JsonView +instanceKlass com/fasterxml/jackson/databind/annotation/JsonSerialize +instanceKlass com/fasterxml/jackson/databind/introspect/ConcreteBeanPropertyBase +instanceKlass com/fasterxml/jackson/databind/BeanProperty +instanceKlass com/fasterxml/jackson/databind/introspect/BeanPropertyDefinition +instanceKlass com/fasterxml/jackson/databind/util/Named +instanceKlass com/fasterxml/jackson/databind/introspect/TypeResolutionContext +instanceKlass com/fasterxml/jackson/databind/introspect/Annotated +instanceKlass com/fasterxml/jackson/databind/jsontype/PolymorphicTypeValidator +instanceKlass com/fasterxml/jackson/databind/introspect/AccessorNamingStrategy$Provider +instanceKlass com/fasterxml/jackson/databind/AnnotationIntrospector +instanceKlass com/fasterxml/jackson/databind/ser/SerializerFactory +instanceKlass com/fasterxml/jackson/databind/deser/DeserializerFactory +instanceKlass com/fasterxml/jackson/databind/jsontype/SubtypeResolver +instanceKlass com/fasterxml/jackson/databind/jsontype/TypeResolverBuilder +instanceKlass com/fasterxml/jackson/core/type/ResolvedType +instanceKlass kotlinx/coroutines/channels/WaiterEB +instanceKlass kotlinx/coroutines/internal/InlineList +instanceKlass kotlinx/coroutines/channels/SendChannel$DefaultImpls +instanceKlass kotlinx/coroutines/internal/SegmentOrClosed +instanceKlass kotlin/jvm/internal/CallableReference$NoReceiver +instanceKlass java/io/RandomAccessFile$1 +instanceKlass kotlin/jvm/internal/CallableReference +instanceKlass kotlin/reflect/KFunction +instanceKlass kotlin/reflect/KCallable +instanceKlass com/jetbrains/rd/ide/model/v +instanceKlass sun/nio/cs/ArrayDecoder +instanceKlass com/intellij/ide/ui/IconMapLoaderKt$WhenMappings +instanceKlass com/intellij/ide/ui/IconMapLoaderKt +instanceKlass com/fasterxml/jackson/core/json/ByteSourceJsonBootstrapper +instanceKlass kotlinx/coroutines/CancellableContinuationImplKt +instanceKlass kotlinx/coroutines/channels/ReceiveCatching +instanceKlass kotlinx/coroutines/selects/SelectInstance +instanceKlass com/jetbrains/rdserver/unattendedHost/settings/shared/UnattendedHostSharedConfigFolderApplicationLoadListener +instanceKlass com/fasterxml/jackson/databind/JsonSerializable$Base +instanceKlass com/fasterxml/jackson/databind/JsonSerializable +instanceKlass sun/font/TrueTypeFont$DirectoryEntry +instanceKlass com/fasterxml/jackson/databind/introspect/VisibilityChecker +instanceKlass com/intellij/serialization/ClassUtil +instanceKlass sun/font/TrueTypeFont$1 +instanceKlass sun/font/TrueTypeFont$TTDisposerRecord +instanceKlass com/intellij/util/xmlb/BasePrimitiveBinding +instanceKlass com/intellij/serialization/FieldAccessor +instanceKlass com/intellij/serialization/MutableAccessor +instanceKlass com/intellij/openapi/diagnostic/LoggerKt +instanceKlass com/intellij/openapi/extensions/RequiredElement +instanceKlass com/intellij/idea/cloudConfig/CloudConfigClientUtil$UserController +instanceKlass com/jetbrains/cloudconfig/auth/AuthProvider +instanceKlass com/intellij/idea/cloudConfig/CloudConfigClientUtil +instanceKlass com/fasterxml/jackson/databind/DatabindContext +instanceKlass com/intellij/util/xmlb/Converter +instanceKlass com/intellij/util/xmlb/annotations/Attribute +instanceKlass com/intellij/openapi/util/NotNullLazyValue +instanceKlass com/intellij/util/xmlb/annotations/OptionTag +instanceKlass com/intellij/serialization/PropertyCollector$NameAndIsSetter +instanceKlass com/intellij/cloudConfig/StatusBarInfoManager +instanceKlass com/intellij/util/xmlb/annotations/Property +instanceKlass com/intellij/util/xmlb/annotations/Tag +instanceKlass com/fasterxml/jackson/databind/Module$SetupContext +instanceKlass com/fasterxml/jackson/databind/introspect/ClassIntrospector +instanceKlass com/intellij/serialization/PropertyCollector +instanceKlass org/apache/commons/compress/archivers/ArchiveEntry +instanceKlass com/intellij/serialization/PropertyCollector$Configuration +instanceKlass it/unimi/dsi/fastutil/objects/Object2FloatMap +instanceKlass it/unimi/dsi/fastutil/objects/Object2FloatFunction +instanceKlass java/util/function/ToDoubleFunction +instanceKlass com/intellij/util/xmlb/NestedBinding +instanceKlass com/intellij/util/xmlb/Accessor +instanceKlass com/intellij/util/xmlb/NotNullDeserializeBinding +instanceKlass com/intellij/util/xmlb/Binding +instanceKlass com/intellij/util/xmlb/XmlSerializerImpl$XmlSerializerBase +instanceKlass com/intellij/util/xmlb/Serializer +instanceKlass com/sun/jna/Function$PostCallRead +instanceKlass com/intellij/ide/plugins/PluginStateListener +instanceKlass com/intellij/util/xmlb/XmlSerializerImpl +instanceKlass com/sun/jna/Library$Handler$FunctionInfo +instanceKlass com/intellij/util/xmlb/XmlSerializer$1 +instanceKlass com/intellij/util/xmlb/SerializationFilter +instanceKlass com/sun/jna/VarArgsChecker +instanceKlass com/intellij/util/xmlb/XmlSerializer +instanceKlass com/intellij/openapi/extensions/ExtensionPointNameKt +instanceKlass com/intellij/configurationStore/StreamProvider +instanceKlass com/intellij/openapi/extensions/ExtensionPointName$LazyExtensionSequence$iterator$1$next$1 +instanceKlass com/intellij/openapi/extensions/ExtensionPointName$LazyExtension +instanceKlass kotlinx/coroutines/internal/ConcurrentLinkedListKt +instanceKlass com/intellij/openapi/progress/PerformInBackgroundOption +instanceKlass com/intellij/openapi/extensions/ExtensionPointName$LazyExtensionSequence$iterator$1 +instanceKlass com/intellij/openapi/extensions/ExtensionPointName$LazyExtensionSequence +instanceKlass com/intellij/codeInspection/options/OptComponent +instanceKlass com/sun/jna/internal/ReflectionUtils +instanceKlass com/intellij/ide/ui/IconMapperBean +instanceKlass com/intellij/serviceContainer/LightServiceComponentAdapter +instanceKlass com/intellij/openapi/components/PersistentStateComponent +instanceKlass com/intellij/cloudConfig/CloudConfigManager +instanceKlass com/intellij/inspectopedia/extractor/InspectopediaExtractor +instanceKlass java/lang/Class$AnnotationData +instanceKlass sun/font/SunFontManager$2 +instanceKlass com/intellij/codeInspection/InspectionApplicationBase +instanceKlass com/intellij/ide/CommandLineInspectionProgressReporter +instanceKlass sun/font/GlyphRenderData +instanceKlass sun/font/GlyphList +instanceKlass kotlin/annotation/Target +instanceKlass kotlin/annotation/Retention +instanceKlass sun/font/StrikeCache$1 +instanceKlass kotlin/Metadata +instanceKlass sun/font/StrikeCache +instanceKlass sun/font/FontStrike +instanceKlass sun/font/CharToGlyphMapper +instanceKlass com/intellij/codeInspection/InspectionMain +instanceKlass com/intellij/openapi/extensions/PluginAware +instanceKlass sun/font/StrikeMetrics +instanceKlass com/intellij/cloudConfig/CloudConfigManager$CloudConfigManagerListener +instanceKlass com/sun/jna/NativeLibrary$NativeLibraryDisposer +instanceKlass kotlin/sequences/ConstrainedOnceSequence +instanceKlass kotlin/sequences/SequencesKt__SequencesKt$asSequence$$inlined$Sequence$1 +instanceKlass com/intellij/openapi/extensions/impl/ExtensionPointImpl$1 +instanceKlass com/intellij/openapi/application/ApplicationStarter$Companion +instanceKlass com/intellij/ide/ApplicationLoadListener$Companion +instanceKlass com/sun/jna/internal/Cleaner$Cleanable +instanceKlass com/intellij/ide/ApplicationLoadListener +instanceKlass java/awt/font/FontRenderContext +instanceKlass com/intellij/util/PathUtilRt +instanceKlass com/sun/jna/internal/Cleaner +instanceKlass com/intellij/openapi/components/Service +instanceKlass com/intellij/ide/ui/IconMapLoader +instanceKlass sun/font/Font2D +instanceKlass com/intellij/openapi/util/io/OSAgnosticPathUtil +instanceKlass sun/font/SunFontManager$1 +instanceKlass sun/font/SunFontManager$T1Filter +instanceKlass sun/font/SunFontManager$TTFilter +instanceKlass sun/font/Font2DHandle +instanceKlass sun/font/SunFontManager +instanceKlass com/intellij/codeWithMe/ClientIdElement2$Key +instanceKlass sun/font/FontManagerForSGE +instanceKlass sun/font/FontManager +instanceKlass com/intellij/codeWithMe/ClientIdKt +instanceKlass sun/java2d/FontSupport +instanceKlass com/intellij/openapi/client/ClientAppSession +instanceKlass com/intellij/openapi/client/ClientSession +instanceKlass com/intellij/openapi/client/ClientSessionsManager$Companion +instanceKlass com/intellij/openapi/client/ClientSessionsManager +instanceKlass sun/font/FontManagerFactory$1 +instanceKlass sun/font/FontManagerFactory +instanceKlass sun/awt/X11GraphicsConfig$X11GCDisposerRecord +instanceKlass com/intellij/util/messages/Topic +instanceKlass com/intellij/util/messages/impl/MessageDeliveryListener +instanceKlass java/awt/ImageCapabilities +instanceKlass com/intellij/util/messages/impl/MessageQueue +instanceKlass java/awt/GraphicsConfiguration +instanceKlass com/intellij/util/messages/impl/CompositeMessageBusKt +instanceKlass com/intellij/openapi/util/Disposer$1 +instanceKlass sun/awt/image/SurfaceManager$ProxiedGraphicsConfig +instanceKlass com/intellij/util/messages/impl/MessageBusImpl$Companion +instanceKlass com/intellij/util/messages/impl/MessageBusImpl +instanceKlass com/sun/java/swing/plaf/gtk/PangoFonts +instanceKlass com/intellij/util/messages/impl/MessageBusEx +instanceKlass com/intellij/openapi/components/impl/stores/IComponentStore +instanceKlass com/sun/java/swing/plaf/gtk/GTKStyle$GTKStockIconInfo +instanceKlass javax/swing/plaf/synth/Region +instanceKlass sun/swing/ImageCache +instanceKlass com/sun/java/swing/plaf/gtk/GTKEngine +instanceKlass java/awt/RenderingHints +instanceKlass java/awt/Toolkit$DesktopPropertyChangeSupport$1 +instanceKlass com/intellij/openapi/components/PathMacroManager +instanceKlass com/intellij/openapi/components/PathMacroSubstitutor +instanceKlass com/sun/jna/NativeLibrary +instanceKlass sun/awt/XSettings$Update +instanceKlass com/intellij/util/messages/MessageBus +instanceKlass com/sun/jna/AltCallingConvention +instanceKlass com/sun/jna/Library$Handler +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine$ForHotSpot$Connection$ForJnaPosixSocket$PosixLibrary +instanceKlass com/sun/jna/Library +instanceKlass sun/awt/X11/XMSelection$3 +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine$ForHotSpot$Connection +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine$ForHotSpot$Connection$Factory$ForSocketFile +instanceKlass com/intellij/serviceContainer/ConstructorInjectionKt +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine$ForHotSpot$Connection$Factory +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/Attacher +instanceKlass com/intellij/serviceContainer/ComponentManagerImplKt +instanceKlass com/intellij/serviceContainer/ServiceComponentAdapterKt +instanceKlass java/util/Vector$Itr +instanceKlass sun/awt/X11/XMSelection$1 +instanceKlass sun/awt/X11/XMSelection +instanceKlass java/util/zip/ZipOutputStream$XEntry +instanceKlass java/time/zone/ZoneOffsetTransitionRule$1 +instanceKlass java/time/LocalDate$1 +instanceKlass sun/awt/XSettings +instanceKlass sun/awt/X11/XMSelectionListener +instanceKlass java/time/temporal/TemporalAdjusters +instanceKlass java/util/zip/Deflater$DeflaterZStreamRef +instanceKlass java/util/zip/Deflater +instanceKlass java/util/EventListenerProxy +instanceKlass sun/swing/DefaultLookup +instanceKlass com/intellij/concurrency/ThreadContext +instanceKlass java/util/jar/Attributes +instanceKlass java/io/DeleteOnExitHook$1 +instanceKlass java/io/DeleteOnExitHook +instanceKlass java/lang/constant/DynamicConstantDesc +instanceKlass java/lang/constant/DirectMethodHandleDesc$1 +instanceKlass java/lang/constant/DirectMethodHandleDescImpl$1 +instanceKlass java/lang/constant/DirectMethodHandleDescImpl +instanceKlass java/lang/constant/DirectMethodHandleDesc +instanceKlass com/intellij/openapi/progress/Cancellation +instanceKlass java/lang/constant/MethodHandleDesc$1 +instanceKlass java/lang/constant/MethodHandleDesc +instanceKlass java/lang/constant/MethodTypeDescImpl +instanceKlass java/lang/constant/MethodTypeDesc +instanceKlass com/intellij/openapi/progress/ProgressIndicatorProvider +instanceKlass com/intellij/serviceContainer/ContainerUtilKt +instanceKlass com/intellij/util/messages/MessageBusFactory +instanceKlass java/lang/constant/ReferenceClassDescImpl +instanceKlass java/lang/constant/ConstantUtils +instanceKlass java/lang/constant/ClassDesc +instanceKlass java/lang/constant/ConstantDescs +instanceKlass java/lang/invoke/VarHandle$2 +instanceKlass java/lang/invoke/VarHandle$TypesAndInvokers +instanceKlass sun/security/provider/ByteArrayAccess$BE +instanceKlass sun/security/provider/ByteArrayAccess +instanceKlass sun/security/util/MessageDigestSpi2 +instanceKlass java/security/MessageDigestSpi +instanceKlass java/io/File$TempDirectory +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine$AbstractBase +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/VirtualMachine +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider$Accessor$Simple +instanceKlass java/lang/instrument/Instrumentation +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/Installer +instanceKlass java/lang/ProcessHandle$Info +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/ByteBuddyAgent$ProcessProvider$ForCurrentVm$ForJava9CapableVm +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/ByteBuddyAgent$AttachmentTypeEvaluator +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/ByteBuddyAgent$ProcessProvider +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/ByteBuddyAgent$AgentProvider +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/ByteBuddyAgent +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider$Accessor +instanceKlass kotlinx/coroutines/repackaged/net/bytebuddy/agent/ByteBuddyAgent$AttachmentProvider +instanceKlass com/intellij/openapi/extensions/impl/InterfaceExtensionImplementationClassResolver$Companion +instanceKlass com/intellij/openapi/extensions/impl/InterfaceExtensionImplementationClassResolver +instanceKlass com/intellij/openapi/extensions/impl/XmlExtensionAdapter$Companion +instanceKlass com/intellij/openapi/extensions/impl/ExtensionComponentAdapter$Companion +instanceKlass com/fasterxml/jackson/jr/ob/impl/BeanReader$1 +instanceKlass com/fasterxml/jackson/jr/ob/impl/BeanPropertyReader +instanceKlass com/fasterxml/jackson/jr/ob/impl/POJODefinition +instanceKlass com/fasterxml/jackson/jr/ob/impl/POJODefinition$PropBuilder +instanceKlass com/fasterxml/jackson/jr/ob/impl/POJODefinition$Prop +instanceKlass com/fasterxml/jackson/jr/ob/impl/BeanPropertyIntrospector +instanceKlass kotlinx/coroutines/debug/internal/AgentInstallationType +instanceKlass com/fasterxml/jackson/core/TreeNode +instanceKlass com/fasterxml/jackson/jr/ob/impl/Types +instanceKlass kotlin/concurrent/ThreadsKt +instanceKlass com/intellij/openapi/extensions/impl/ImplementationClassResolver +instanceKlass com/intellij/openapi/extensions/ExtensionPointListener$Companion +instanceKlass kotlinx/coroutines/debug/internal/DebugProbesImpl$SequenceNumber$kotlinx$VolatileWrapper +instanceKlass kotlinx/coroutines/debug/internal/DebugProbesImpl$Installations$kotlinx$VolatileWrapper +instanceKlass com/intellij/openapi/extensions/ExtensionPointAdapter +instanceKlass com/intellij/openapi/extensions/ExtensionPointListener +instanceKlass com/intellij/openapi/extensions/impl/ExtensionComponentAdapter +instanceKlass com/intellij/openapi/extensions/LoadingOrder$Orderable +instanceKlass com/intellij/openapi/extensions/impl/ExtensionPointImpl +instanceKlass com/intellij/openapi/extensions/ExtensionPoint +instanceKlass com/intellij/openapi/extensions/impl/ExtensionsAreaImplKt +instanceKlass com/intellij/serviceContainer/ComponentManagerImplKt$sam$java_util_function_Function$0 +instanceKlass com/intellij/openapi/vfs/CharsetToolkit +instanceKlass kotlinx/coroutines/debug/internal/ByteBuddyDynamicAttach +instanceKlass kotlinx/coroutines/debug/internal/ConcurrentWeakMap$Core +instanceKlass kotlin/jvm/internal/markers/KMutableMap +instanceKlass com/intellij/serviceContainer/ComponentManagerImpl$WhenMappings +instanceKlass _COROUTINE/CoroutineDebuggingKt +instanceKlass _COROUTINE/_CREATION +instanceKlass _COROUTINE/ArtificialStackFrames +instanceKlass com/intellij/ide/bootstrap/AppPreInitKt +instanceKlass kotlinx/coroutines/debug/internal/DebugProbesImpl +instanceKlass kotlinx/coroutines/debug/DebugProbes +instanceKlass com/intellij/diagnostic/CoroutineDumperKt +instanceKlass com/intellij/openapi/application/impl/ApplicationImpl$1 +instanceKlass com/intellij/openapi/util/ObjectNode$ListNodeChildren +instanceKlass com/intellij/openapi/util/Disposer$CheckedDisposableImpl +instanceKlass com/intellij/serviceContainer/BaseComponentAdapter$Companion +instanceKlass com/intellij/serviceContainer/BaseComponentAdapter +instanceKlass org/picocontainer/ComponentAdapter +instanceKlass com/intellij/openapi/application/impl/ReadActionCacheImpl +instanceKlass com/intellij/psi/util/ReadActionCache +instanceKlass com/intellij/openapi/application/CachedSingletonsRegistry +instanceKlass com/intellij/openapi/application/TransactionId +instanceKlass com/intellij/openapi/application/TransactionGuard +instanceKlass javax/swing/plaf/synth/SynthLookAndFeel$Handler +instanceKlass javax/swing/plaf/synth/SynthStyleFactory +instanceKlass com/intellij/util/EventDispatcher +instanceKlass com/intellij/openapi/application/impl/ModalityInvokatorImpl +instanceKlass kotlinx/collections/immutable/implementations/immutableMap/TrieNode$Companion +instanceKlass kotlinx/collections/immutable/implementations/immutableMap/TrieNode +instanceKlass kotlinx/collections/immutable/implementations/immutableMap/PersistentHashMap$Companion +instanceKlass kotlin/collections/AbstractMap$Companion +instanceKlass kotlin/collections/AbstractMap +instanceKlass kotlinx/collections/immutable/PersistentMap +instanceKlass kotlinx/collections/immutable/ImmutableMap +instanceKlass kotlinx/collections/immutable/ExtensionsKt +instanceKlass com/intellij/openapi/extensions/Extensions +instanceKlass kotlin/collections/EmptyMap +instanceKlass com/intellij/openapi/extensions/impl/ExtensionsAreaImpl +instanceKlass com/intellij/openapi/extensions/ExtensionsArea +instanceKlass com/intellij/serviceContainer/LinkedHashSetWrapper +instanceKlass com/intellij/util/keyFMap/DebugFMap +instanceKlass com/intellij/util/keyFMap/EmptyFMap +instanceKlass com/intellij/util/keyFMap/KeyFMap +instanceKlass kotlinx/coroutines/DelayKt +instanceKlass com/intellij/util/CoroutineScopeKt +instanceKlass com/intellij/openapi/extensions/DefaultPluginDescriptor +instanceKlass com/intellij/serviceContainer/ComponentManagerImpl$Companion +instanceKlass com/intellij/openapi/application/AccessToken +instanceKlass com/intellij/openapi/progress/ProgressIndicator +instanceKlass com/intellij/openapi/progress/Task +instanceKlass com/intellij/openapi/progress/Progressive +instanceKlass com/intellij/openapi/progress/TaskInfo +instanceKlass com/intellij/ide/SequencedEventNestedFieldHolder +instanceKlass com/intellij/openapi/application/ModalityState +instanceKlass com/intellij/openapi/application/ApplicationListener +instanceKlass com/intellij/openapi/application/ModalityInvokator +instanceKlass com/intellij/openapi/ui/DoNotAskOption +instanceKlass com/intellij/diagnostic/InstanceHolder +instanceKlass com/intellij/diagnostic/EventWatcher +instanceKlass com/intellij/diagnostic/PerformanceWatcher$Companion +instanceKlass com/intellij/diagnostic/PerformanceWatcher +instanceKlass com/intellij/codeWithMe/ClientIdService$Companion +instanceKlass com/intellij/codeWithMe/ClientIdService +instanceKlass kotlinx/coroutines/flow/internal/AbstractSharedFlowKt +instanceKlass kotlinx/coroutines/flow/SubscribedFlowCollector +instanceKlass com/intellij/codeWithMe/ClientId$Companion +instanceKlass kotlinx/coroutines/flow/internal/AbstractSharedFlowSlot +instanceKlass com/intellij/openapi/application/impl/ReadMostlyRWLock$Reader +instanceKlass com/intellij/codeWithMe/ClientId +instanceKlass kotlinx/coroutines/flow/internal/ChannelFlowTransformLatest$flowCollect$3$1 +instanceKlass kotlinx/coroutines/channels/BufferedChannel$BufferedChannelIterator +instanceKlass kotlinx/coroutines/channels/ChannelIterator +instanceKlass com/intellij/openapi/application/impl/ReadMostlyRWLock +instanceKlass com/intellij/util/containers/LockFreeCopyOnWriteArrayList$COWIterator +instanceKlass kotlinx/coroutines/flow/internal/SendingCollector +instanceKlass kotlinx/coroutines/flow/ThrowingCollector +instanceKlass kotlinx/coroutines/flow/FlowKt__EmittersKt +instanceKlass com/intellij/openapi/application/impl/RwLockHolder +instanceKlass com/intellij/openapi/application/ApplicationManager +instanceKlass kotlinx/coroutines/flow/FlowKt__ChannelsKt +instanceKlass kotlin/coroutines/ContinuationKt +instanceKlass kotlinx/coroutines/channels/ProducerScope +instanceKlass com/intellij/ide/EditingCanceller +instanceKlass com/intellij/openapi/extensions/ExtensionPointName$Companion +instanceKlass com/intellij/openapi/extensions/BaseExtensionPointName +instanceKlass kotlinx/coroutines/channels/BufferedChannelKt +instanceKlass com/intellij/ide/IdeEventQueueKt +instanceKlass com/intellij/ide/WindowsAltSuppressor +instanceKlass kotlinx/coroutines/channels/BufferedChannel +instanceKlass java/beans/VetoableChangeListener +instanceKlass java/beans/VetoableChangeSupport +instanceKlass javax/swing/LayoutComparator +instanceKlass javax/swing/CompareTabOrderComparator +instanceKlass kotlinx/coroutines/channels/Channel +instanceKlass kotlinx/coroutines/channels/ReceiveChannel +instanceKlass kotlinx/coroutines/channels/SendChannel +instanceKlass sun/awt/KeyboardFocusManagerPeerImpl +instanceKlass java/awt/peer/KeyboardFocusManagerPeer +instanceKlass javax/swing/KeyStroke$1 +instanceKlass sun/swing/SwingAccessor$KeyStrokeAccessor +instanceKlass kotlinx/coroutines/channels/ChannelKt +instanceKlass sun/swing/SwingAccessor +instanceKlass kotlinx/coroutines/channels/ProduceKt +instanceKlass java/awt/AWTKeyStroke +instanceKlass java/awt/FocusTraversalPolicy +instanceKlass java/awt/DefaultKeyboardFocusManager$2 +instanceKlass java/awt/DefaultKeyboardFocusManager$1 +instanceKlass sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor +instanceKlass java/awt/KeyboardFocusManager$1 +instanceKlass sun/awt/AWTAccessor$KeyboardFocusManagerAccessor +instanceKlass java/awt/KeyboardFocusManager +instanceKlass java/awt/KeyEventPostProcessor +instanceKlass java/awt/KeyEventDispatcher +instanceKlass kotlinx/coroutines/flow/internal/NopCollector +instanceKlass kotlinx/coroutines/flow/internal/FusibleFlow$DefaultImpls +instanceKlass kotlinx/coroutines/flow/FlowKt__ContextKt +instanceKlass kotlinx/coroutines/flow/internal/ChannelFlow +instanceKlass kotlin/jvm/functions/Function3 +instanceKlass com/intellij/ide/IdeKeyboardFocusManagerKt +instanceKlass com/intellij/util/ui/EDT +instanceKlass kotlinx/coroutines/flow/FlowKt__MergeKt +instanceKlass kotlinx/coroutines/flow/FlowKt__CollectKt +instanceKlass com/intellij/ide/HoverService +instanceKlass com/intellij/openapi/util/EmptyRunnable +instanceKlass javax/swing/TransferHandler$HasGetTransferHandler +instanceKlass kotlinx/coroutines/flow/FlowKt +instanceKlass com/intellij/ide/IdePopupManager +instanceKlass com/intellij/openapi/actionSystem/Shortcut +instanceKlass com/intellij/openapi/keymap/impl/IdeMouseEventDispatcher +instanceKlass kotlinx/coroutines/flow/internal/AbstractSharedFlow +instanceKlass kotlinx/coroutines/flow/internal/FusibleFlow +instanceKlass kotlinx/coroutines/flow/CancellableFlow +instanceKlass kotlinx/coroutines/flow/MutableSharedFlow +instanceKlass kotlinx/coroutines/flow/FlowCollector +instanceKlass kotlinx/coroutines/flow/SharedFlow +instanceKlass kotlinx/coroutines/flow/Flow +instanceKlass kotlinx/coroutines/flow/SharedFlowKt +instanceKlass com/intellij/openapi/keymap/impl/KeyProcessorContext +instanceKlass com/intellij/openapi/actionSystem/AnActionEventVisitor +instanceKlass com/intellij/openapi/keymap/impl/keyGestures/KeyboardGestureProcessor$1 +instanceKlass javax/swing/Timer$DoPostEvent +instanceKlass javax/swing/Timer +instanceKlass com/intellij/util/ui/TimerUtil +instanceKlass com/intellij/openapi/actionSystem/AnActionEvent +instanceKlass com/intellij/ui/PlaceProvider +instanceKlass com/intellij/openapi/keymap/impl/keyGestures/StateContext +instanceKlass com/intellij/openapi/keymap/impl/ActionProcessor +instanceKlass java/awt/event/ActionListener +instanceKlass com/intellij/openapi/keymap/impl/keyGestures/KeyGestureState +instanceKlass com/intellij/openapi/keymap/impl/keyGestures/KeyboardGestureProcessor +instanceKlass com/intellij/openapi/actionSystem/impl/PresentationFactory +instanceKlass com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher$Companion +instanceKlass kotlin/reflect/KClass +instanceKlass kotlin/reflect/KClassifier +instanceKlass kotlin/reflect/KAnnotatedElement +instanceKlass kotlin/reflect/KDeclarationContainer +instanceKlass com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher +instanceKlass java/awt/TrayIcon +instanceKlass java/awt/MenuComponent +instanceKlass java/awt/EventQueue$3 +instanceKlass sun/awt/dnd/SunDragSourceContextPeer +instanceKlass java/awt/dnd/peer/DragSourceContextPeer +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectMap$FastEntrySet +instanceKlass java/awt/ModalEventFilter +instanceKlass java/awt/EventDispatchThread$HierarchyEventFilter +instanceKlass java/awt/EventFilter +instanceKlass java/awt/EventDispatchThread$1 +instanceKlass java/awt/Conditional +instanceKlass sun/awt/EventQueueItem +instanceKlass it/unimi/dsi/fastutil/ints/AbstractInt2ObjectFunction +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectMap +instanceKlass it/unimi/dsi/fastutil/ints/Int2ObjectFunction +instanceKlass com/intellij/util/containers/IntKeyWeakValueHashMap +instanceKlass sun/awt/AWTThreading +instanceKlass com/intellij/openapi/util/Key +instanceKlass com/intellij/util/ui/StartupUiUtil +instanceKlass java/awt/EventQueue$5 +instanceKlass java/awt/event/InvocationEvent$1 +instanceKlass sun/awt/AWTAccessor$InvocationEventAccessor +instanceKlass java/awt/AWTEvent$1 +instanceKlass sun/awt/AWTAccessor$AWTEventAccessor +instanceKlass java/util/EventObject +instanceKlass java/awt/ActiveEvent +instanceKlass javax/swing/text/html/StyleSheet$SelectorMapping +instanceKlass javax/swing/text/StyleContext$SmallAttributeSet +instanceKlass sun/awt/PostEventQueue +instanceKlass sun/awt/MostRecentKeyValue +instanceKlass java/awt/Queue +instanceKlass sun/awt/AppContext$1 +instanceKlass sun/awt/AppContext$2 +instanceKlass sun/awt/AppContext$3 +instanceKlass sun/awt/AppContext$6 +instanceKlass jdk/internal/access/JavaAWTAccess +instanceKlass sun/awt/AppContext$GetAppContextLock +instanceKlass sun/awt/AWTAutoShutdown +instanceKlass sun/awt/AppContext +instanceKlass sun/awt/X11/XAtomList +instanceKlass sun/awt/X11/XPropertyCache +instanceKlass sun/java2d/Disposer$1 +instanceKlass sun/java2d/Disposer +instanceKlass sun/awt/X11/UnsafeXDisposerRecord +instanceKlass sun/java2d/DisposerRecord +instanceKlass sun/awt/X11/WindowPropertyGetter +instanceKlass sun/awt/X11/XProtocol +instanceKlass sun/awt/X11/XLayerProtocol +instanceKlass sun/awt/X11/XStateProtocol +instanceKlass sun/awt/X11/XErrorHandler +instanceKlass java/awt/Insets +instanceKlass sun/awt/X11/XAtom +instanceKlass sun/awt/X11/XWM +instanceKlass sun/awt/util/ThreadGroupUtils +instanceKlass sun/awt/X11/XToolkit$1 +instanceKlass java/lang/StackTraceElement$HashedModules +instanceKlass sun/awt/X11/XToolkit$Tracer +instanceKlass sun/font/FontConfigManager$FontConfigInfo +instanceKlass sun/font/FontConfigManager +instanceKlass sun/awt/SunToolkit$ModalityListenerList +instanceKlass sun/awt/ModalityListener +instanceKlass sun/awt/X11/XToolkit$3 +instanceKlass sun/awt/X11/XEventDispatcher +instanceKlass sun/awt/X11/XToolkit$2 +instanceKlass sun/awt/X11/Native$1 +instanceKlass sun/awt/X11/Native +instanceKlass sun/awt/X11/XWrapperBase +instanceKlass java/util/WeakHashMap$HashIterator +instanceKlass com/intellij/openapi/application/ApplicationStarter +instanceKlass com/intellij/openapi/util/UserDataHolderEx +instanceKlass com/intellij/openapi/components/ComponentStoreOwner +instanceKlass com/intellij/openapi/components/ComponentManagerEx +instanceKlass com/intellij/util/messages/MessageBusOwner +instanceKlass com/intellij/openapi/Disposable$Parent +instanceKlass com/intellij/openapi/application/ex/ApplicationEx +instanceKlass com/intellij/openapi/application/Application +instanceKlass com/intellij/openapi/components/ComponentManager +instanceKlass com/intellij/openapi/extensions/AreaInstance +instanceKlass com/intellij/ide/bootstrap/ApplicationLoader +instanceKlass jdk/internal/vm/annotation/IntrinsicCandidate +instanceKlass java/lang/reflect/TypeVariable +instanceKlass com/intellij/ide/x/C/xG +instanceKlass com/intellij/ultimate/UltimateVerifier +instanceKlass com/intellij/ide/x/C/K4 +instanceKlass com/intellij/ide/x/Y +instanceKlass icons/MicroservicesIcons +instanceKlass com/intellij/idea/x +instanceKlass com/intellij/ide/bootstrap/InitAppContext +instanceKlass com/intellij/ide/x/C/xm +instanceKlass com/intellij/ide/x/C/Ko +instanceKlass com/intellij/ide/x/C/xS +instanceKlass java/util/function/BooleanSupplier +instanceKlass com/intellij/ide/gdpr/ConsentOptions$InstanceHolder$1 +instanceKlass com/intellij/ide/gdpr/ConsentOptions$IOBackend +instanceKlass com/intellij/ide/gdpr/ConsentOptions$InstanceHolder +instanceKlass com/intellij/ide/gdpr/ConsentAttributes +instanceKlass com/intellij/ide/gdpr/ConsentBase +instanceKlass com/intellij/ide/gdpr/ConsentOptions +instanceKlass jdk/internal/vm/annotation/ForceInline +instanceKlass java/lang/annotation/Target +instanceKlass java/lang/reflect/Proxy$ProxyBuilder$1 +instanceKlass jdk/internal/org/objectweb/asm/Edge +instanceKlass java/lang/reflect/ProxyGenerator$PrimitiveTypeInfo +instanceKlass java/lang/reflect/ProxyGenerator$ProxyMethod +instanceKlass java/lang/module/ModuleDescriptor$Builder +instanceKlass java/lang/PublicMethods +instanceKlass java/lang/reflect/Proxy$ProxyBuilder +instanceKlass java/lang/reflect/Proxy +instanceKlass sun/reflect/annotation/AnnotationInvocationHandler +instanceKlass sun/reflect/annotation/AnnotationParser$1 +instanceKlass sun/reflect/annotation/ExceptionProxy +instanceKlass java/lang/annotation/Inherited +instanceKlass java/lang/annotation/Retention +instanceKlass sun/reflect/annotation/AnnotationType$1 +instanceKlass sun/reflect/annotation/AnnotationType +instanceKlass java/lang/reflect/GenericArrayType +instanceKlass sun/reflect/generics/visitor/Reifier +instanceKlass sun/reflect/generics/visitor/TypeTreeVisitor +instanceKlass sun/reflect/generics/factory/CoreReflectionFactory +instanceKlass sun/reflect/generics/scope/AbstractScope +instanceKlass sun/reflect/generics/scope/Scope +instanceKlass sun/reflect/generics/tree/ClassTypeSignature +instanceKlass sun/reflect/generics/tree/SimpleClassTypeSignature +instanceKlass sun/reflect/generics/tree/FieldTypeSignature +instanceKlass sun/reflect/generics/tree/BaseType +instanceKlass sun/reflect/generics/tree/TypeSignature +instanceKlass sun/reflect/generics/tree/ReturnType +instanceKlass sun/reflect/generics/tree/TypeArgument +instanceKlass sun/reflect/generics/tree/TypeTree +instanceKlass sun/reflect/generics/tree/Tree +instanceKlass sun/reflect/generics/parser/SignatureParser +instanceKlass java/lang/reflect/AnnotatedType +instanceKlass sun/reflect/generics/factory/GenericsFactory +instanceKlass sun/reflect/generics/repository/AbstractRepository +instanceKlass com/jetbrains/K/x +instanceKlass java/util/UUID +instanceKlass com/intellij/ide/x/a +instanceKlass com/intellij/ide/x/k +instanceKlass java/io/ObjectOutput +instanceKlass java/io/ObjectStreamConstants +instanceKlass java/io/ObjectInput +instanceKlass sun/util/locale/LocaleExtensions +instanceKlass com/intellij/ide/plugins/PluginManagerState +instanceKlass com/intellij/x/N/N +instanceKlass com/intellij/x/x/x/K +instanceKlass java/net/InetSocketAddress$InetSocketAddressHolder +instanceKlass com/intellij/x/p/x/X +instanceKlass java/net/DatagramSocket +instanceKlass com/intellij/x/p/K +instanceKlass com/intellij/x/p/x/N +instanceKlass com/intellij/ide/plugins/ClassLoaderConfigurator$createPluginClassLoader$1 +instanceKlass com/intellij/x/p/x/C +instanceKlass com/intellij/x/C/o +instanceKlass com/intellij/x/p/p +instanceKlass com/intellij/x/K/C +instanceKlass com/intellij/x/K/x/K +instanceKlass com/intellij/x/N/C +instanceKlass com/intellij/x/p/w +instanceKlass com/intellij/x/X/SimpleFactory +instanceKlass com/intellij/x/X/Log +instanceKlass com/intellij/ide/x/C/xY +instanceKlass com/intellij/ide/plugins/ClassLoaderConfiguratorKt$createScopeWithExtraPackage$1 +instanceKlass com/intellij/ide/x/C/xI +instanceKlass com/intellij/ide/plugins/ClassLoaderConfiguratorKt$createModuleResolveScopeManager$1 +instanceKlass com/intellij/ide/x/p/X +instanceKlass com/intellij/ide/plugins/ClassLoaderConfiguratorKt$createPluginDependencyAndContentBasedScope$1 +instanceKlass com/intellij/ide/x/C/Kc +instanceKlass kotlinx/coroutines/SupervisorKt +instanceKlass kotlin/collections/ArrayAsCollection +instanceKlass com/intellij/ide/plugins/cl/PluginClassLoaderKt$defaultResolveScopeManager$1 +instanceKlass com/intellij/ide/plugins/cl/ResolveScopeManager +instanceKlass com/intellij/ide/plugins/cl/PluginClassLoaderKt +instanceKlass com/fasterxml/jackson/core/io/NumberInput +instanceKlass com/intellij/ide/plugins/cl/PluginClassLoader$Companion +instanceKlass com/intellij/ide/plugins/cl/PluginAwareClassLoader +instanceKlass com/intellij/ide/plugins/MainInfo +instanceKlass com/fasterxml/jackson/core/util/JacksonFeatureSet +instanceKlass com/intellij/ide/plugins/ClassLoaderConfiguratorKt +instanceKlass com/intellij/openapi/diagnostic/ExceptionWithAttachments +instanceKlass com/intellij/ide/plugins/ClassLoaderConfigurator +instanceKlass com/intellij/ide/plugins/PluginSet +instanceKlass com/fasterxml/jackson/core/JsonStreamContext +instanceKlass com/fasterxml/jackson/core/util/BufferRecycler +instanceKlass com/fasterxml/jackson/core/util/BufferRecyclers +instanceKlass com/fasterxml/jackson/core/util/TextBuffer +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntMap$FastEntrySet +instanceKlass com/fasterxml/jackson/core/io/IOContext +instanceKlass com/fasterxml/jackson/core/io/ContentReference +instanceKlass com/fasterxml/jackson/jr/ob/impl/JSONWriter +instanceKlass it/unimi/dsi/fastutil/objects/AbstractObject2IntFunction +instanceKlass com/fasterxml/jackson/jr/ob/api/MapBuilder +instanceKlass com/fasterxml/jackson/jr/ob/api/CollectionBuilder +instanceKlass com/fasterxml/jackson/jr/ob/impl/JSONReader +instanceKlass com/fasterxml/jackson/jr/ob/impl/BeanPropertyWriter +instanceKlass com/fasterxml/jackson/jr/ob/api/ValueWriter +instanceKlass com/fasterxml/jackson/jr/ob/impl/ClassKey +instanceKlass com/fasterxml/jackson/jr/type/TypeBindings +instanceKlass com/fasterxml/jackson/jr/type/ResolvedType +instanceKlass com/fasterxml/jackson/jr/type/TypeResolver +instanceKlass com/fasterxml/jackson/jr/ob/api/ValueReader +instanceKlass com/fasterxml/jackson/jr/ob/impl/ValueLocatorBase +instanceKlass kotlin/sequences/FlatteningSequence$iterator$1 +instanceKlass kotlin/sequences/FlatteningSequence +instanceKlass com/fasterxml/jackson/core/StreamReadConstraints +instanceKlass com/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer$TableInfo +instanceKlass kotlin/collections/CollectionsKt___CollectionsKt$asSequence$$inlined$Sequence$1 +instanceKlass com/intellij/ide/plugins/PluginSetBuilderKt +instanceKlass com/fasterxml/jackson/core/sym/ByteQuadsCanonicalizer +instanceKlass com/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket +instanceKlass com/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$TableInfo +instanceKlass com/fasterxml/jackson/core/sym/CharsToNameCanonicalizer +instanceKlass com/fasterxml/jackson/core/io/CharTypes +instanceKlass com/fasterxml/jackson/core/io/JsonStringEncoder +instanceKlass com/fasterxml/jackson/core/io/SerializedString +instanceKlass com/fasterxml/jackson/core/util/DefaultPrettyPrinter$Indenter +instanceKlass com/fasterxml/jackson/core/util/DefaultPrettyPrinter +instanceKlass com/fasterxml/jackson/core/util/Instantiatable +instanceKlass com/fasterxml/jackson/core/PrettyPrinter +instanceKlass com/intellij/util/graph/DFSTBuilder$MyIterator +instanceKlass com/fasterxml/jackson/core/util/JacksonFeature +instanceKlass com/fasterxml/jackson/core/JsonGenerator +instanceKlass java/util/IdentityHashMap$EntryIterator$Entry +instanceKlass com/fasterxml/jackson/core/async/ByteBufferFeeder +instanceKlass com/fasterxml/jackson/core/async/ByteArrayFeeder +instanceKlass com/fasterxml/jackson/core/async/NonBlockingInputFeeder +instanceKlass com/fasterxml/jackson/core/JsonParser +instanceKlass com/intellij/util/ArrayFactory +instanceKlass com/fasterxml/jackson/core/TSFBuilder +instanceKlass com/fasterxml/jackson/core/SerializableString +instanceKlass it/unimi/dsi/fastutil/ints/IntSet +instanceKlass com/fasterxml/jackson/core/TokenStreamFactory +instanceKlass com/intellij/util/ArrayUtil +instanceKlass com/intellij/util/graph/DFSTBuilder$TarjanFrame +instanceKlass java/util/function/ObjIntConsumer +instanceKlass com/fasterxml/jackson/core/TreeCodec +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntMap +instanceKlass it/unimi/dsi/fastutil/objects/Object2IntFunction +instanceKlass com/intellij/util/graph/DFSTBuilder$Tarjan +instanceKlass it/unimi/dsi/fastutil/objects/Reference2IntMap$FastEntrySet +instanceKlass java/util/function/IntBinaryOperator +instanceKlass it/unimi/dsi/fastutil/objects/AbstractReference2IntFunction +instanceKlass it/unimi/dsi/fastutil/objects/Reference2IntMap +instanceKlass com/fasterxml/jackson/jr/ob/JSON +instanceKlass it/unimi/dsi/fastutil/objects/Reference2IntFunction +instanceKlass com/fasterxml/jackson/core/Versioned +instanceKlass it/unimi/dsi/fastutil/ints/IntArrays$ArrayHashStrategy +instanceKlass it/unimi/dsi/fastutil/ints/IntArrays$Segment +instanceKlass it/unimi/dsi/fastutil/ints/IntArrays +instanceKlass com/intellij/ide/x/C/KQ +instanceKlass it/unimi/dsi/fastutil/ints/IntListIterator +instanceKlass it/unimi/dsi/fastutil/ints/IntBidirectionalIterator +instanceKlass it/unimi/dsi/fastutil/objects/ObjectBidirectionalIterator +instanceKlass it/unimi/dsi/fastutil/BidirectionalIterator +instanceKlass it/unimi/dsi/fastutil/ints/IntSpliterator +instanceKlass it/unimi/dsi/fastutil/ints/IntIterator +instanceKlass java/util/PrimitiveIterator$OfInt +instanceKlass java/util/PrimitiveIterator +instanceKlass java/util/function/IntUnaryOperator +instanceKlass it/unimi/dsi/fastutil/ints/IntStack +instanceKlass it/unimi/dsi/fastutil/Stack +instanceKlass com/intellij/ide/x/p/l +instanceKlass com/intellij/ide/x/C/V +instanceKlass java/util/function/ToIntFunction +instanceKlass it/unimi/dsi/fastutil/ints/IntList +instanceKlass it/unimi/dsi/fastutil/ints/IntCollection +instanceKlass it/unimi/dsi/fastutil/ints/IntIterable +instanceKlass sun/management/NotificationEmitterSupport$ListenerInfo +instanceKlass java/util/Base64$Encoder +instanceKlass com/intellij/util/graph/DFSTBuilder +instanceKlass java/lang/management/MemoryUsage +instanceKlass java/util/Base64$Decoder +instanceKlass java/util/Base64 +instanceKlass com/intellij/ide/plugins/ModuleGraphBase +instanceKlass com/intellij/ide/plugins/ModuleGraph +instanceKlass com/intellij/util/graph/Graph +instanceKlass com/intellij/util/graph/OutboundSemiGraph +instanceKlass com/intellij/util/graph/InboundSemiGraph +instanceKlass com/sun/jmx/mbeanserver/Util +instanceKlass javax/management/ObjectName$Property +instanceKlass com/sun/jmx/mbeanserver/GetPropertyAction +instanceKlass javax/management/ObjectName +instanceKlass javax/management/QueryExp +instanceKlass sun/management/Sensor +instanceKlass sun/management/MemoryPoolImpl +instanceKlass java/lang/management/MemoryMXBean +instanceKlass java/lang/invoke/DirectMethodHandle$1 +instanceKlass java/lang/management/MemoryPoolMXBean +instanceKlass com/intellij/ide/plugins/ModuleGraphKt +instanceKlass java/util/concurrent/Executors$PrivilegedThreadFactory$1$1 +instanceKlass com/intellij/ide/plugins/PluginSetBuilder +instanceKlass java/util/concurrent/Executors$PrivilegedThreadFactory$1 +instanceKlass com/intellij/openapi/util/LowMemoryWatcherManager$2 +instanceKlass java/util/concurrent/LinkedBlockingQueue$Node +instanceKlass java/util/concurrent/ConcurrentLinkedQueue$Itr +instanceKlass kotlin/collections/EmptyIterator +instanceKlass com/intellij/util/concurrency/SequentialTaskExecutor +instanceKlass com/intellij/openapi/util/LowMemoryWatcherManager$3 +instanceKlass com/intellij/ide/plugins/PluginLoadingResultKt +instanceKlass com/intellij/openapi/util/LowMemoryWatcherManager$1 +instanceKlass javax/management/NotificationListener +instanceKlass com/intellij/openapi/util/LowMemoryWatcherManager +instanceKlass com/intellij/ide/plugins/PluginLoadingResult +instanceKlass java/util/concurrent/Executors$DefaultThreadFactory +instanceKlass com/intellij/util/concurrency/CountingThreadFactory +instanceKlass com/intellij/util/concurrency/AppScheduledExecutorService$Holder +instanceKlass com/intellij/concurrency/ContextAwareRunnable +instanceKlass com/intellij/util/concurrency/SchedulingWrapper +instanceKlass com/intellij/util/concurrency/AppExecutorUtil +instanceKlass com/intellij/ide/x/p/p +instanceKlass com/intellij/ide/x/C/KX +instanceKlass com/intellij/ide/x/p/k +instanceKlass com/intellij/openapi/project/DumbAware +instanceKlass com/intellij/openapi/actionSystem/AnAction +instanceKlass com/intellij/openapi/actionSystem/ActionUpdateThreadAware +instanceKlass com/intellij/openapi/project/PossiblyDumbAware +instanceKlass com/intellij/ide/x/p/g +instanceKlass com/intellij/ide/x/C/T +instanceKlass com/intellij/ide/x/C/xf +instanceKlass com/intellij/ide/x/C/u +instanceKlass com/intellij/ide/x/C/xg +instanceKlass com/intellij/ide/x/u/K +instanceKlass com/intellij/ide/x/u/C +instanceKlass com/intellij/ide/x/d/K +instanceKlass com/intellij/util/lang/HashMapZipFile$1 +instanceKlass io/opentelemetry/api/GlobalOpenTelemetry$ObfuscatedOpenTelemetry +instanceKlass io/opentelemetry/api/GlobalOpenTelemetry +instanceKlass io/opentelemetry/sdk/OpenTelemetrySdk$ObfuscatedMeterProvider +instanceKlass io/opentelemetry/sdk/OpenTelemetrySdk$ObfuscatedTracerProvider +instanceKlass io/opentelemetry/sdk/logs/SdkLogger +instanceKlass io/opentelemetry/api/logs/Logger +instanceKlass io/opentelemetry/sdk/logs/LoggerSharedState +instanceKlass io/opentelemetry/sdk/logs/NoopLogRecordProcessor +instanceKlass io/opentelemetry/sdk/logs/LogRecordProcessor +instanceKlass io/opentelemetry/sdk/logs/LogLimits +instanceKlass io/opentelemetry/sdk/logs/SdkLoggerProviderBuilder +instanceKlass io/opentelemetry/api/logs/LoggerBuilder +instanceKlass io/opentelemetry/sdk/logs/SdkLoggerProvider +instanceKlass io/opentelemetry/api/logs/LoggerProvider +instanceKlass com/intellij/ide/x/h +instanceKlass com/intellij/ide/x/r +instanceKlass com/intellij/ide/x/p/f +instanceKlass io/opentelemetry/sdk/trace/SdkTracer +instanceKlass io/opentelemetry/api/trace/Tracer +instanceKlass io/opentelemetry/sdk/trace/NoopSpanProcessor +instanceKlass io/opentelemetry/sdk/trace/TracerSharedState +instanceKlass io/opentelemetry/sdk/trace/SpanLimits +instanceKlass com/intellij/x/N/K +instanceKlass io/opentelemetry/sdk/internal/RandomSupplier +instanceKlass io/opentelemetry/sdk/trace/IdGenerator +instanceKlass io/opentelemetry/sdk/trace/samplers/ParentBasedSampler +instanceKlass io/opentelemetry/sdk/trace/samplers/ParentBasedSamplerBuilder +instanceKlass io/opentelemetry/sdk/trace/samplers/Sampler +instanceKlass io/opentelemetry/sdk/trace/SdkTracerProviderBuilder +instanceKlass io/opentelemetry/api/trace/TracerBuilder +instanceKlass io/opentelemetry/sdk/trace/SdkTracerProvider +instanceKlass javax/accessibility/Accessible +instanceKlass io/opentelemetry/api/trace/TraceFlags +instanceKlass io/opentelemetry/api/trace/SpanId +instanceKlass io/opentelemetry/api/trace/TraceId +instanceKlass io/opentelemetry/context/ImplicitContextKeyed +instanceKlass io/opentelemetry/api/trace/propagation/W3CTraceContextPropagator +instanceKlass java/util/concurrent/locks/AbstractQueuedSynchronizer$Node +instanceKlass java/util/concurrent/TimeUnit$1 +instanceKlass java/awt/Component +instanceKlass java/util/concurrent/Executors$RunnableAdapter +instanceKlass java/util/concurrent/FutureTask$WaitNode +instanceKlass java/util/concurrent/FutureTask +instanceKlass java/awt/MenuContainer +instanceKlass java/awt/image/ImageObserver +instanceKlass io/opentelemetry/sdk/metrics/SdkMeterProvider$LeasedMetricProducer +instanceKlass io/opentelemetry/sdk/metrics/SdkMeter +instanceKlass io/opentelemetry/api/metrics/Meter +instanceKlass io/opentelemetry/sdk/common/InstrumentationScopeInfo +instanceKlass io/opentelemetry/sdk/internal/ComponentRegistry +instanceKlass io/opentelemetry/sdk/metrics/internal/state/MeterProviderSharedState +instanceKlass io/opentelemetry/sdk/metrics/internal/view/RegisteredView +instanceKlass io/opentelemetry/sdk/metrics/internal/debug/SourceInfo +instanceKlass io/opentelemetry/sdk/metrics/InstrumentSelectorBuilder +instanceKlass com/intellij/x/p/X +instanceKlass com/intellij/x/p/o +instanceKlass io/opentelemetry/sdk/metrics/InstrumentSelector +instanceKlass com/intellij/x/x/C +instanceKlass io/opentelemetry/sdk/internal/RateLimiter +instanceKlass io/opentelemetry/sdk/internal/ThrottlingLogger +instanceKlass com/intellij/x/X/x +instanceKlass io/opentelemetry/sdk/metrics/internal/view/DefaultAggregation +instanceKlass io/opentelemetry/sdk/metrics/internal/aggregator/AggregatorFactory +instanceKlass io/opentelemetry/sdk/metrics/Aggregation +instanceKlass io/opentelemetry/sdk/metrics/ViewBuilder +instanceKlass com/intellij/ide/x/f +instanceKlass com/intellij/ide/x/p/U +instanceKlass io/opentelemetry/sdk/metrics/View +instanceKlass io/opentelemetry/sdk/metrics/internal/view/AttributesProcessor +instanceKlass io/opentelemetry/sdk/metrics/internal/view/ViewRegistry +instanceKlass com/intellij/ide/x/O +instanceKlass com/intellij/x/C/N +instanceKlass io/opentelemetry/sdk/metrics/internal/export/RegisteredReader +instanceKlass io/opentelemetry/sdk/internal/CurrentJavaVersionSpecific +instanceKlass io/opentelemetry/sdk/internal/JavaVersionSpecific +instanceKlass io/opentelemetry/sdk/metrics/export/PeriodicMetricReader$Scheduled +instanceKlass io/opentelemetry/sdk/metrics/internal/export/MetricProducer +instanceKlass io/opentelemetry/sdk/metrics/export/PeriodicMetricReaderBuilder +instanceKlass io/opentelemetry/sdk/metrics/export/PeriodicMetricReader +instanceKlass io/opentelemetry/sdk/metrics/export/MetricReader +instanceKlass java/util/concurrent/RunnableScheduledFuture +instanceKlass java/util/concurrent/ScheduledFuture +instanceKlass java/util/concurrent/Delayed +instanceKlass java/util/concurrent/RunnableFuture +instanceKlass java/util/concurrent/ScheduledExecutorService +instanceKlass sun/management/Util +instanceKlass com/intellij/util/ConcurrencyUtil +instanceKlass java/util/Collections$2 +instanceKlass sun/management/RuntimeImpl +instanceKlass java/util/stream/ReduceOps$2ReducingSink +instanceKlass io/opentelemetry/sdk/common/SystemClock +instanceKlass io/opentelemetry/sdk/common/Clock +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/TraceBasedExemplarFilter +instanceKlass io/opentelemetry/sdk/metrics/internal/exemplar/ExemplarFilter +instanceKlass java/util/HashMap$HashMapSpliterator +instanceKlass io/opentelemetry/sdk/metrics/SdkMeterProviderBuilder +instanceKlass io/opentelemetry/sdk/metrics/export/CollectionRegistration +instanceKlass jdk/management/jfr/internal/FlightRecorderMXBeanProvider$SingleMBeanComponent +instanceKlass io/opentelemetry/api/metrics/MeterBuilder +instanceKlass jdk/management/jfr/FlightRecorderMXBean +instanceKlass io/opentelemetry/sdk/metrics/SdkMeterProvider +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$11 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$10 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$9 +instanceKlass sun/management/ManagementFactoryHelper$LoggingMXBeanAccess$1 +instanceKlass sun/management/ManagementFactoryHelper$LoggingMXBeanAccess +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$8 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$7 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$6 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$5 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$4 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$3 +instanceKlass com/intellij/openapi/util/io/FileUtilRt$2 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$2 +instanceKlass java/lang/management/DefaultPlatformMBeanProvider$1 +instanceKlass com/sun/management/internal/PlatformMBeanProviderImpl$5 +instanceKlass sun/management/VMManagementImpl +instanceKlass sun/management/VMManagement +instanceKlass kotlinx/coroutines/ExecutorsKt +instanceKlass sun/management/ManagementFactoryHelper +instanceKlass sun/management/NotificationEmitterSupport +instanceKlass javax/management/NotificationEmitter +instanceKlass javax/management/NotificationBroadcaster +instanceKlass com/intellij/ide/x/e +instanceKlass com/sun/management/DiagnosticCommandMBean +instanceKlass javax/management/DynamicMBean +instanceKlass java/text/FieldPosition$Delegate +instanceKlass com/sun/management/internal/PlatformMBeanProviderImpl$4 +instanceKlass com/sun/management/internal/PlatformMBeanProviderImpl$3 +instanceKlass com/sun/management/internal/PlatformMBeanProviderImpl$2 +instanceKlass java/time/ZonedDateTime +instanceKlass java/time/chrono/ChronoZonedDateTime +instanceKlass com/sun/management/internal/PlatformMBeanProviderImpl$1 +instanceKlass sun/management/spi/PlatformMBeanProvider$PlatformComponent +instanceKlass java/time/zone/ZoneOffsetTransition +instanceKlass java/time/zone/ZoneOffsetTransitionRule +instanceKlass java/util/concurrent/Callable +instanceKlass java/time/zone/ZoneRules +instanceKlass java/awt/GraphicsDevice +instanceKlass java/time/zone/Ser +instanceKlass java/io/Externalizable +instanceKlass sun/management/spi/PlatformMBeanProvider +instanceKlass java/lang/management/ManagementFactory$PlatformMBeanFinder$1 +instanceKlass java/lang/management/ManagementFactory$PlatformMBeanFinder +instanceKlass java/lang/management/RuntimeMXBean +instanceKlass java/lang/management/PlatformManagedObject +instanceKlass java/lang/management/ManagementFactory +instanceKlass java/time/zone/ZoneRulesProvider$1 +instanceKlass java/time/zone/ZoneRulesProvider +instanceKlass K/C/z +instanceKlass com/intellij/util/Function +instanceKlass java/text/CalendarBuilder +instanceKlass sun/awt/SunDisplayChanger +instanceKlass sun/java2d/SurfaceManagerFactory +instanceKlass java/util/stream/SliceOps +instanceKlass java/util/stream/SortedOps +instanceKlass java/util/Collections$ReverseComparator2 +instanceKlass java/util/Collections$ReverseComparator +instanceKlass java/awt/geom/RectangularShape +instanceKlass java/lang/invoke/MethodHandle$1 +instanceKlass sun/invoke/util/ValueConversions$WrapperCache +instanceKlass sun/java2d/loops/GraphicsPrimitiveMgr$2 +instanceKlass com/intellij/openapi/util/Pair +instanceKlass sun/java2d/loops/GraphicsPrimitiveMgr$1 +instanceKlass java/util/Spliterators$IteratorSpliterator +instanceKlass java/nio/file/Files$2 +instanceKlass java/text/DontCareFieldPosition$1 +instanceKlass java/text/Format$FieldDelegate +instanceKlass com/intellij/openapi/util/text/StringUtilRt +instanceKlass com/intellij/openapi/util/io/FileUtilRt$RepeatableIOOperation +instanceKlass org/w3c/dom/Attr +instanceKlass java/nio/file/FileVisitor +instanceKlass java/lang/invoke/MethodHandleImpl$2 +instanceKlass com/intellij/openapi/util/io/FileUtilRt +instanceKlass java/lang/invoke/MethodHandleImpl$ArrayAccessor +instanceKlass java/util/Date +instanceKlass sun/java2d/loops/GeneralRenderer +instanceKlass com/sun/jna/Native$2 +instanceKlass java/text/DigitList +instanceKlass com/sun/jna/Structure$FFIType$FFITypes +instanceKlass java/text/FieldPosition +instanceKlass com/sun/jna/Native$ffi_callback +instanceKlass sun/java2d/loops/CustomComponent +instanceKlass com/sun/jna/JNIEnv +instanceKlass com/sun/org/apache/xerces/internal/dom/NamedNodeMapImpl +instanceKlass com/sun/jna/PointerType +instanceKlass org/w3c/dom/NamedNodeMap +instanceKlass com/sun/jna/NativeMapped +instanceKlass sun/awt/SunHints$Value +instanceKlass com/sun/jna/WString +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/models/SimpleContentModel +instanceKlass com/sun/jna/CallbackProxy +instanceKlass java/awt/RenderingHints$Key +instanceKlass com/sun/org/apache/xerces/internal/impl/Constants$ArrayEnumeration +instanceKlass com/sun/org/apache/xerces/internal/impl/Constants +instanceKlass sun/java2d/pipe/ValidatePipe +instanceKlass com/sun/jna/Callback +instanceKlass com/sun/jna/Structure$ByValue +instanceKlass sun/awt/util/PerformanceLogger$TimeData +instanceKlass sun/awt/util/PerformanceLogger +instanceKlass com/sun/xml/internal/stream/StaxXMLInputSource +instanceKlass java/lang/StringUTF16$CharsSpliterator +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl$DTDDriver +instanceKlass java/util/stream/Sink$ChainedInt +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/XMLContentSpec +instanceKlass java/awt/font/JavaAWTFontAccessImpl +instanceKlass jdk/internal/access/JavaAWTFontAccess +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/models/ContentModelValidator +instanceKlass com/intellij/idea/MainImplKt +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar +instanceKlass com/sun/jna/FromNativeConverter +instanceKlass com/sun/org/apache/xerces/internal/xni/grammars/Grammar +instanceKlass com/sun/jna/ToNativeConverter +instanceKlass com/sun/org/apache/xerces/internal/impl/validation/EntityState +instanceKlass com/sun/jna/ToNativeContext +instanceKlass java/util/OptionalInt +instanceKlass java/util/stream/Sink$OfInt +instanceKlass java/util/function/IntConsumer +instanceKlass com/sun/org/apache/xerces/internal/util/URI +instanceKlass sun/font/AttributeValues +instanceKlass com/sun/jna/Structure +instanceKlass java/util/function/IntPredicate +instanceKlass java/util/stream/IntStream +instanceKlass com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl$RefCount +instanceKlass com/sun/org/apache/xerces/internal/dom/NodeListCache +instanceKlass org/w3c/dom/TypeInfo +instanceKlass org/w3c/dom/ElementTraversal +instanceKlass java/lang/StringLatin1$CharsSpliterator +instanceKlass org/w3c/dom/Element +instanceKlass sun/security/util/ArrayUtil +instanceKlass org/w3c/dom/DocumentType +instanceKlass java/text/DecimalFormatSymbols +instanceKlass sun/font/FontAccess +instanceKlass com/sun/jna/Pointer +instanceKlass java/awt/Font +instanceKlass com/sun/org/apache/xerces/internal/dom/NodeImpl +instanceKlass org/w3c/dom/events/EventTarget +instanceKlass org/w3c/dom/NodeList +instanceKlass java/util/AbstractList$Itr +instanceKlass sun/security/jca/JCAUtil +instanceKlass javax/crypto/spec/IvParameterSpec +instanceKlass org/w3c/dom/Document +instanceKlass java/awt/BasicStroke +instanceKlass java/awt/Stroke +instanceKlass jdk/internal/loader/NativeLibraries$Unloader +instanceKlass javax/crypto/KeyGeneratorSpi +instanceKlass org/w3c/dom/ranges/DocumentRange +instanceKlass org/w3c/dom/events/DocumentEvent +instanceKlass com/sun/crypto/provider/DESKey +instanceKlass javax/crypto/SecretKey +instanceKlass org/w3c/dom/traversal/DocumentTraversal +instanceKlass javax/security/auth/Destroyable +instanceKlass javax/crypto/spec/DESKeySpec +instanceKlass javax/crypto/SecretKeyFactorySpi +instanceKlass com/sun/org/apache/xerces/internal/dom/DeferredNode +instanceKlass org/w3c/dom/Node +instanceKlass javax/crypto/SecretKeyFactory +instanceKlass com/sun/crypto/provider/PKCS5Padding +instanceKlass com/sun/crypto/provider/Padding +instanceKlass com/sun/crypto/provider/FeedbackCipher +instanceKlass java/text/DateFormatSymbols +instanceKlass java/text/AttributedCharacterIterator$Attribute +instanceKlass com/sun/crypto/provider/SymmetricCipher +instanceKlass com/sun/org/apache/xerces/internal/util/XMLSymbols +instanceKlass com/sun/crypto/provider/DESConstants +instanceKlass com/sun/crypto/provider/CipherCore +instanceKlass javax/crypto/CipherSpi +instanceKlass java/text/Format +instanceKlass sun/awt/SunHints +instanceKlass java/awt/geom/Path2D +instanceKlass java/awt/Shape +instanceKlass javax/crypto/ProviderVerifier +instanceKlass com/sun/org/apache/xerces/internal/util/XMLChar +instanceKlass javax/crypto/JceSecurity$2 +instanceKlass java/awt/AlphaComposite +instanceKlass com/sun/jna/Native$5 +instanceKlass javax/crypto/JceSecurity$IdentityWrapper +instanceKlass sun/java2d/loops/XORComposite +instanceKlass java/awt/Composite +instanceKlass java/awt/geom/AffineTransform +instanceKlass com/intellij/openapi/util/io/FileSetLimiter +instanceKlass com/sun/jna/Platform +instanceKlass com/sun/xml/internal/stream/Entity +instanceKlass java/net/spi/URLStreamHandlerProvider +instanceKlass java/net/URL$1 +instanceKlass com/intellij/util/SystemProperties +instanceKlass java/net/URL$2 +instanceKlass com/sun/jna/Native$1 +instanceKlass com/sun/xml/internal/stream/util/BufferAllocator +instanceKlass java/awt/Graphics +instanceKlass com/sun/xml/internal/stream/util/ThreadLocalBufferAllocator +instanceKlass com/intellij/platform/diagnostic/telemetry/RollingFileSupplier +instanceKlass java/util/Vector$1 +instanceKlass sun/java2d/DestSurfaceProvider +instanceKlass javax/crypto/CryptoPolicyParser$CryptoPermissionEntry +instanceKlass sun/awt/ConstrainableGraphics +instanceKlass com/intellij/platform/diagnostic/telemetry/CsvMetricsExporter +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLEntityManager$EncodingInfo +instanceKlass javax/crypto/CryptoPolicyParser$GrantEntry +instanceKlass com/sun/jna/Callback$UncaughtExceptionHandler +instanceKlass com/intellij/platform/diagnostic/telemetry/FilteredMetricsExporter +instanceKlass java/io/StreamTokenizer +instanceKlass com/intellij/platform/diagnostic/telemetry/MetricsExporterEntry +instanceKlass javax/crypto/CryptoPolicyParser +instanceKlass com/sun/jna/FromNativeContext +instanceKlass com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer +instanceKlass java/io/FilenameFilter +instanceKlass java/lang/reflect/InvocationHandler +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLInputSource +instanceKlass sun/java2d/loops/CompositeType +instanceKlass java/nio/file/Files$1 +instanceKlass org/xml/sax/InputSource +instanceKlass sun/nio/fs/UnixFileSystem$3 +instanceKlass java/nio/file/PathMatcher +instanceKlass sun/java2d/loops/GraphicsPrimitiveMgr +instanceKlass java/util/prefs/XmlSupport$EH +instanceKlass com/sun/jna/Native +instanceKlass com/sun/org/apache/xerces/internal/impl/ExternalSubsetResolver +instanceKlass com/sun/org/apache/xerces/internal/util/EntityResolverWrapper +instanceKlass org/xml/sax/ext/EntityResolver2 +instanceKlass java/util/prefs/XmlSupport$Resolver +instanceKlass com/sun/jna/Version +instanceKlass sun/nio/fs/Globs +instanceKlass sun/nio/fs/UnixFileSystemProvider$3 +instanceKlass com/intellij/platform/diagnostic/telemetry/impl/TelemetryManagerImplKt +instanceKlass com/sun/org/apache/xerces/internal/util/ErrorHandlerWrapper +instanceKlass javax/crypto/JceSecurity$1 +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLErrorHandler +instanceKlass javax/crypto/JceSecurity +instanceKlass org/xml/sax/helpers/DefaultHandler +instanceKlass org/xml/sax/ErrorHandler +instanceKlass org/xml/sax/ContentHandler +instanceKlass com/intellij/platform/diagnostic/telemetry/otExporters/AggregatedSpansProcessor +instanceKlass org/xml/sax/DTDHandler +instanceKlass org/xml/sax/EntityResolver +instanceKlass io/opentelemetry/sdk/trace/SpanProcessor +instanceKlass sun/java2d/loops/GraphicsPrimitive +instanceKlass com/intellij/jna/JnaLoader +instanceKlass com/sun/org/apache/xerces/internal/util/FeatureState +instanceKlass com/intellij/util/EnvironmentUtil +instanceKlass sun/java2d/xr/XRPMBlitLoops +instanceKlass com/sun/org/apache/xerces/internal/util/PropertyState +instanceKlass com/intellij/platform/diagnostic/telemetry/otExporters/AggregatedMetricsExporter$Companion +instanceKlass com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter +instanceKlass com/sun/org/apache/xerces/internal/util/MessageFormatter +instanceKlass com/intellij/platform/diagnostic/telemetry/otExporters/AggregatedMetricsExporter +instanceKlass io/opentelemetry/sdk/metrics/export/MetricExporter +instanceKlass io/opentelemetry/sdk/metrics/export/DefaultAggregationSelector +instanceKlass io/opentelemetry/sdk/metrics/export/AggregationTemporalitySelector +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLVersionDetector +instanceKlass com/sun/org/apache/xerces/internal/impl/validation/ValidationManager +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/dtd/NMTOKENDatatypeValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/dtd/NOTATIONDatatypeValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/dtd/ENTITYDatatypeValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/dtd/ListDatatypeValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/dtd/IDREFDatatypeValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/dtd/IDDatatypeValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/dtd/StringDatatypeValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/DatatypeValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/DTDDVFactory +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/XMLAttributeDecl +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/XMLSimpleType +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/XMLElementDecl +instanceKlass io/opentelemetry/api/internal/StringUtils +instanceKlass com/sun/org/apache/xerces/internal/impl/validation/ValidationState +instanceKlass com/sun/org/apache/xerces/internal/impl/dv/ValidationContext +instanceKlass java/util/Formattable +instanceKlass java/util/Calendar$Builder +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDValidator +instanceKlass com/sun/org/apache/xerces/internal/impl/RevalidationHandler +instanceKlass io/opentelemetry/sdk/resources/Resource +instanceKlass io/opentelemetry/api/internal/Utils +instanceKlass sun/font/FontManagerNativeLibrary$1 +instanceKlass sun/font/FontManagerNativeLibrary +instanceKlass java/util/Formatter$FixedString +instanceKlass io/opentelemetry/api/common/ArrayBackedAttributesBuilder +instanceKlass java/util/Formatter$DateTime +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDValidatorFilter +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentFilter +instanceKlass java/util/Formatter$Flags +instanceKlass sun/java2d/loops/RenderCache +instanceKlass sun/java2d/pipe/DrawImage +instanceKlass java/util/Formatter$FormatSpecifier +instanceKlass java/util/Formatter$FormatString +instanceKlass java/time/temporal/TemporalQueries$7 +instanceKlass java/time/temporal/TemporalQueries$6 +instanceKlass java/time/temporal/TemporalQueries$5 +instanceKlass java/time/temporal/TemporalQueries$4 +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/XMLEntityDecl +instanceKlass sun/java2d/pipe/GeneralCompositePipe +instanceKlass java/time/temporal/TemporalQueries$3 +instanceKlass java/time/temporal/TemporalQueries$2 +instanceKlass com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDProcessor +instanceKlass java/time/temporal/TemporalQueries$1 +instanceKlass sun/java2d/pipe/SpanShapeRenderer +instanceKlass java/time/temporal/TemporalQueries +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLDTDContentModelFilter +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLDTDFilter +instanceKlass sun/java2d/pipe/AlphaPaintPipe +instanceKlass java/util/Formatter$Conversion +instanceKlass sun/java2d/pipe/AAShapePipe +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLDTDScanner +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLDTDContentModelSource +instanceKlass sun/java2d/pipe/RegionIterator +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLDTDSource +instanceKlass sun/java2d/pipe/Region +instanceKlass sun/java2d/pipe/SpanClipRenderer +instanceKlass com/sun/org/apache/xerces/internal/xni/grammars/XMLDTDDescription +instanceKlass com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarDescription +instanceKlass io/opentelemetry/api/internal/ImmutableKeyValuePairs +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl$TrailingMiscDriver +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl$PrologDriver +instanceKlass io/opentelemetry/api/common/AttributesBuilder +instanceKlass java/util/regex/ASCII +instanceKlass java/util/regex/Pattern$BitClass +instanceKlass io/opentelemetry/api/common/Attributes +instanceKlass sun/java2d/pipe/PixelToShapeConverter +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl$XMLDeclDriver +instanceKlass com/sun/org/apache/xerces/internal/util/NamespaceSupport +instanceKlass com/sun/org/apache/xerces/internal/xni/NamespaceContext +instanceKlass sun/java2d/pipe/AlphaColorPipe +instanceKlass sun/java2d/pipe/CompositePipe +instanceKlass java/time/format/Parsed +instanceKlass com/sun/org/apache/xerces/internal/util/XMLAttributesImpl$Attribute +instanceKlass java/time/LocalTime +instanceKlass com/sun/org/apache/xerces/internal/util/XMLAttributesImpl +instanceKlass sun/java2d/pipe/GlyphListPipe +instanceKlass java/util/regex/CharPredicates +instanceKlass com/sun/org/apache/xerces/internal/xni/XMLAttributes +instanceKlass sun/java2d/pipe/OutlineTextRenderer +instanceKlass java/time/LocalDateTime +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl$FragmentContentDriver +instanceKlass java/time/chrono/ChronoLocalDateTime +instanceKlass java/util/Formatter +instanceKlass sun/java2d/ReentrantContextProvider +instanceKlass java/time/format/DateTimeParseContext +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl$Driver +instanceKlass java/text/ParsePosition +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl$ElementStack2 +instanceKlass com/sun/org/apache/xerces/internal/xni/QName +instanceKlass java/util/logging/LogRecord +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl$ElementStack +instanceKlass sun/java2d/marlin/FloatMath +instanceKlass sun/java2d/marlin/MarlinProperties +instanceKlass com/sun/org/apache/xerces/internal/xni/XMLString +instanceKlass java/security/spec/ECFieldF2m +instanceKlass java/time/Instant$1 +instanceKlass java/time/LocalDate +instanceKlass java/time/format/DateTimePrintContext +instanceKlass sun/java2d/marlin/MarlinConst +instanceKlass java/time/chrono/ChronoLocalDate +instanceKlass java/time/Clock +instanceKlass com/intellij/diagnostic/DefaultIdeaErrorLogger +instanceKlass java/time/InstantSource +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLScanner +instanceKlass com/intellij/openapi/diagnostic/ErrorLogger +instanceKlass java/time/Instant +instanceKlass java/time/temporal/TemporalAdjuster +instanceKlass java/time/temporal/Temporal +instanceKlass com/sun/xml/internal/stream/XMLBufferListener +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLEntityHandler +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentScanner +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentSource +instanceKlass java/time/Period +instanceKlass java/time/chrono/ChronoPeriod +instanceKlass sun/java2d/pipe/RenderingEngine +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLErrorReporter +instanceKlass java/time/format/DateTimeFormatterBuilder$TextPrinterParser +instanceKlass sun/java2d/pipe/LoopPipe +instanceKlass sun/java2d/pipe/LoopBasedPipe +instanceKlass sun/java2d/pipe/ParallelogramPipe +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLEntityScanner +instanceKlass java/time/format/DateTimeTextProvider$1 +instanceKlass com/sun/org/apache/xerces/internal/xni/XMLLocator +instanceKlass java/time/format/DateTimeTextProvider +instanceKlass sun/security/util/ObjectIdentifier +instanceKlass sun/java2d/pipe/NullPipe +instanceKlass com/sun/xml/internal/stream/XMLEntityStorage +instanceKlass sun/security/util/ByteArrayTagOrder +instanceKlass sun/java2d/pipe/DrawImagePipe +instanceKlass sun/security/util/ByteArrayLexOrder +instanceKlass sun/java2d/pipe/TextPipe +instanceKlass sun/java2d/pipe/ShapeDrawPipe +instanceKlass java/time/format/DateTimeTextProvider$LocaleStore +instanceKlass sun/java2d/pipe/PixelFillPipe +instanceKlass sun/java2d/pipe/PixelDrawPipe +instanceKlass sun/security/util/DerEncoder +instanceKlass java/util/IdentityHashMap$IdentityHashMapIterator +instanceKlass java/security/spec/ECParameterSpec +instanceKlass java/time/format/DateTimeFormatterBuilder$InstantPrinterParser +instanceKlass com/sun/org/apache/xerces/internal/util/AugmentationsImpl$AugmentationsItemsContainer +instanceKlass java/security/spec/ECPoint +instanceKlass com/sun/org/apache/xerces/internal/util/AugmentationsImpl +instanceKlass com/sun/org/apache/xerces/internal/xni/Augmentations +instanceKlass java/time/format/DateTimeFormatterBuilder$StringLiteralPrinterParser +instanceKlass jdk/internal/reflect/UnsafeFieldAccessorFactory +instanceKlass java/security/spec/EllipticCurve +instanceKlass com/sun/org/apache/xerces/internal/util/XMLResourceIdentifierImpl +instanceKlass com/sun/org/apache/xerces/internal/xni/XMLResourceIdentifier +instanceKlass java/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser +instanceKlass java/security/spec/ECFieldFp +instanceKlass java/security/spec/ECField +instanceKlass sun/java2d/StateTrackableDelegate$2 +instanceKlass sun/java2d/StateTrackableDelegate +instanceKlass sun/security/util/CurveDB +instanceKlass java/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser +instanceKlass com/sun/org/apache/xerces/internal/impl/XMLEntityManager +instanceKlass java/time/format/DecimalStyle +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLEntityResolver +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLComponent +instanceKlass java/time/format/DateTimeFormatterBuilder$CompositePrinterParser +instanceKlass sun/security/ec/SunEC$1 +instanceKlass java/time/chrono/AbstractChronology +instanceKlass java/time/chrono/Chronology +instanceKlass com/sun/org/apache/xerces/internal/util/SymbolTable$Entry +instanceKlass com/sun/org/apache/xerces/internal/util/SymbolTable +instanceKlass sun/awt/image/PixelConverter +instanceKlass java/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser +instanceKlass sun/java2d/loops/SurfaceType +instanceKlass jdk/xml/internal/JdkConstants +instanceKlass java/time/format/DateTimeFormatterBuilder$NumberPrinterParser +instanceKlass java/time/format/DateTimeFormatterBuilder$DateTimePrinterParser +instanceKlass javax/xml/parsers/SAXParserFactory +instanceKlass java/time/temporal/JulianFields +instanceKlass sun/security/jgss/SunProvider$1 +instanceKlass java/time/temporal/IsoFields +instanceKlass com/intellij/idea/LoggerFactory +instanceKlass java/time/temporal/ValueRange +instanceKlass jdk/xml/internal/JdkXmlUtils +instanceKlass java/time/Duration +instanceKlass java/time/temporal/TemporalAmount +instanceKlass java/time/temporal/TemporalUnit +instanceKlass java/io/FileOutputStream$1 +instanceKlass com/sun/org/apache/xerces/internal/util/ParserConfigurationSettings +instanceKlass com/sun/org/apache/xerces/internal/parsers/XML11Configurable +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLPullParserConfiguration +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLParserConfiguration +instanceKlass com/sun/org/apache/xerces/internal/xni/parser/XMLComponentManager +instanceKlass sun/java2d/SurfaceData +instanceKlass sun/java2d/Surface +instanceKlass java/time/temporal/TemporalField +instanceKlass sun/java2d/StateTrackable +instanceKlass sun/java2d/DisposerTarget +instanceKlass java/util/concurrent/ForkJoinTask$Aux +instanceKlass java/lang/Character$CharacterCache +instanceKlass java/time/ZoneId +instanceKlass com/sun/org/apache/xerces/internal/parsers/XMLParser +instanceKlass sun/security/smartcardio/SunPCSC$1 +instanceKlass java/time/temporal/TemporalAccessor +instanceKlass com/sun/org/apache/xerces/internal/xni/XMLDTDContentModelHandler +instanceKlass com/intellij/openapi/components/ComponentConfig +instanceKlass java/time/temporal/TemporalQuery +instanceKlass com/sun/org/apache/xerces/internal/xni/XMLDTDHandler +instanceKlass com/sun/org/apache/xerces/internal/xni/XMLDocumentHandler +instanceKlass java/lang/ProcessHandleImpl$1 +instanceKlass java/time/format/DateTimeFormatterBuilder +instanceKlass sun/security/jca/ProviderConfig$ProviderLoader +instanceKlass java/util/concurrent/CompletableFuture$AsynchronousCompletionTask +instanceKlass sun/security/jca/ProviderConfig$3 +instanceKlass java/util/concurrent/ForkJoinPool$WorkQueue +instanceKlass java/util/concurrent/ForkJoinPool$1 +instanceKlass java/util/concurrent/ForkJoinPool$DefaultForkJoinWorkerThreadFactory +instanceKlass java/time/format/DateTimeFormatter +instanceKlass sun/security/rsa/SunRsaSignEntries +instanceKlass javax/xml/parsers/DocumentBuilder +instanceKlass com/sun/org/apache/xerces/internal/jaxp/JAXPConstants +instanceKlass com/sun/org/apache/xerces/internal/utils/XMLSecurityPropertyManager +instanceKlass com/intellij/ide/plugins/IdeaPluginPlatform$Companion +instanceKlass java/util/concurrent/CompletableFuture$AltResult +instanceKlass java/util/concurrent/CompletableFuture +instanceKlass com/fasterxml/aalto/util/CharsetNames +instanceKlass java/util/concurrent/CompletionStage +instanceKlass sun/security/jca/ProviderList$ServiceList$1 +instanceKlass io/opentelemetry/api/internal/InternalAttributeKeyImpl +instanceKlass sun/security/jca/ServiceId +instanceKlass com/sun/org/apache/xerces/internal/utils/XMLSecurityManager +instanceKlass javax/crypto/Cipher$Transform +instanceKlass java/lang/ProcessImpl$1 +instanceKlass javax/crypto/Cipher +instanceKlass io/opentelemetry/api/common/AttributeKey +instanceKlass io/opentelemetry/semconv/resource/attributes/ResourceAttributes +instanceKlass java/util/concurrent/atomic/Striped64$1 +instanceKlass com/intellij/ide/plugins/IdeaPluginDescriptorImplKt +instanceKlass kotlin/collections/IntIterator +instanceKlass sun/awt/X11/XlibWrapper +instanceKlass com/intellij/platform/diagnostic/telemetry/OpenTelemetryUtils +instanceKlass javax/xml/parsers/FactoryFinder$1 +instanceKlass kotlin/collections/EmptyList +instanceKlass io/opentelemetry/sdk/OpenTelemetrySdkBuilder +instanceKlass sun/awt/X11/XErrorHandlerUtil +instanceKlass com/intellij/ui/svg/SvgKt +instanceKlass io/opentelemetry/api/metrics/MeterProvider +instanceKlass io/opentelemetry/api/trace/TracerProvider +instanceKlass io/opentelemetry/sdk/OpenTelemetrySdk +instanceKlass java/awt/geom/Point2D +instanceKlass java/awt/image/Raster +instanceKlass java/lang/Process +instanceKlass jdk/xml/internal/SecuritySupport +instanceKlass sun/awt/X11GraphicsEnvironment$1 +instanceKlass java/lang/ProcessBuilder +instanceKlass kotlinx/coroutines/CompletableJob +instanceKlass java/awt/geom/Dimension2D +instanceKlass kotlinx/coroutines/internal/ContextScope +instanceKlass sun/nio/fs/UnixFileModeAttribute$1 +instanceKlass sun/font/FontUtilities$1 +instanceKlass sun/nio/ch/FileKey +instanceKlass java/awt/image/DataBuffer$1 +instanceKlass sun/awt/image/SunWritableRaster$DataStealer +instanceKlass sun/nio/ch/FileLockTable +instanceKlass sun/font/FontUtilities +instanceKlass java/awt/image/DataBuffer +instanceKlass javax/xml/parsers/FactoryFinder +instanceKlass com/intellij/openapi/extensions/ExtensionDescriptor +instanceKlass com/intellij/platform/diagnostic/telemetry/OpenTelemetryDefaultConfigurator +instanceKlass java/nio/channels/FileLock +instanceKlass java/nio/file/attribute/PosixFileAttributeView +instanceKlass javax/xml/parsers/DocumentBuilderFactory +instanceKlass java/nio/file/attribute/FileOwnerAttributeView +instanceKlass sun/java2d/cmm/ProfileDeferralInfo +instanceKlass java/util/prefs/XmlSupport +instanceKlass kotlin/collections/MapsKt__MapWithDefaultKt +instanceKlass io/opentelemetry/context/propagation/NoopTextMapPropagator +instanceKlass io/opentelemetry/context/propagation/TextMapPropagator +instanceKlass java/util/prefs/FileSystemPreferences$6 +instanceKlass io/opentelemetry/context/propagation/DefaultContextPropagators +instanceKlass sun/awt/DisplayParametersChangedListener +instanceKlass java/util/prefs/Base64 +instanceKlass io/opentelemetry/context/propagation/ContextPropagators +instanceKlass sun/awt/DisplayChangedListener +instanceKlass java/util/prefs/FileSystemPreferences$5 +instanceKlass com/intellij/openapi/components/ServiceDescriptor +instanceKlass java/util/prefs/NodeChangeListener +instanceKlass java/util/prefs/PreferenceChangeListener +instanceKlass com/intellij/ide/plugins/XmlReader$readExtensions$1$1 +instanceKlass com/intellij/ide/plugins/ModuleDependenciesDescriptor$ModuleReference +instanceKlass kotlin/text/CharsKt__CharJVMKt +instanceKlass kotlinx/coroutines/AwaitAll +instanceKlass kotlinx/coroutines/AwaitKt +instanceKlass java/util/prefs/FileSystemPreferences$1 +instanceKlass java/awt/color/ICC_Profile$BuiltInProfile +instanceKlass kotlin/internal/ProgressionUtilKt +instanceKlass io/opentelemetry/api/DefaultOpenTelemetry +instanceKlass kotlin/collections/ArraysUtilJVM +instanceKlass java/awt/color/ICC_Profile +instanceKlass kotlin/ranges/IntRange$Companion +instanceKlass java/util/prefs/FileSystemPreferences$4 +instanceKlass io/opentelemetry/api/OpenTelemetry +instanceKlass kotlin/ranges/IntProgression$Companion +instanceKlass java/awt/GraphicsEnvironment$LocalGE +instanceKlass java/util/Timer$ThreadReaper +instanceKlass kotlin/ranges/IntProgression +instanceKlass kotlin/ranges/OpenEndRange +instanceKlass java/util/TimerTask +instanceKlass kotlin/ranges/ClosedRange +instanceKlass java/util/TaskQueue +instanceKlass kotlin/text/DelimitedRangesSequence$iterator$1 +instanceKlass com/intellij/ide/plugins/PluginContentDescriptor$Companion +instanceKlass com/intellij/ide/plugins/PluginContentDescriptor +instanceKlass kotlin/sequences/TransformingSequence$iterator$1 +instanceKlass java/util/Timer +instanceKlass kotlin/sequences/FilteringSequence$iterator$1 +instanceKlass kotlin/sequences/FilteringSequence +instanceKlass com/intellij/platform/diagnostic/telemetry/impl/TelemetryManagerImpl +instanceKlass java/awt/color/ColorSpace$BuiltInSpace +instanceKlass java/awt/color/ColorSpace +instanceKlass kotlin/sequences/TransformingSequence +instanceKlass java/io/FilePermission$1 +instanceKlass jdk/internal/access/JavaIOFilePermissionAccess +instanceKlass com/intellij/ide/plugins/IdeaPluginDescriptorImpl +instanceKlass jdk/internal/logger/LoggerFinderLoader +instanceKlass com/intellij/util/messages/ListenerDescriptor +instanceKlass com/intellij/ide/plugins/RawPluginDescriptor$ActionDescriptor +instanceKlass jdk/internal/logger/LazyLoggers$LazyLoggerFactories +instanceKlass jdk/internal/logger/LazyLoggers$1 +instanceKlass jdk/internal/logger/LazyLoggers +instanceKlass kotlin/text/DelimitedRangesSequence +instanceKlass java/awt/image/ColorModel$1 +instanceKlass com/intellij/ide/plugins/XmlReader$WhenMappings +instanceKlass com/intellij/openapi/extensions/LoadingOrder$Companion +instanceKlass sun/awt/WeakIdentityHashMap +instanceKlass java/awt/image/ColorModel +instanceKlass com/intellij/openapi/extensions/LoadingOrder +instanceKlass com/intellij/ide/plugins/PluginContentDescriptor$ModuleItem +instanceKlass com/intellij/ide/plugins/ModuleDependenciesDescriptor$PluginReference +instanceKlass it/unimi/dsi/fastutil/objects/ReferenceOpenHashSet$SetIterator +instanceKlass it/unimi/dsi/fastutil/Arrays +instanceKlass sun/awt/KeyboardFocusManagerPeerProvider +instanceKlass it/unimi/dsi/fastutil/objects/ObjectArrays$ArrayHashStrategy +instanceKlass sun/awt/InputMethodSupport +instanceKlass sun/awt/ComponentFactory +instanceKlass kotlinx/coroutines/CopyableThrowable +instanceKlass com/intellij/platform/diagnostic/telemetry/TelemetryManagerKt +instanceKlass com/intellij/platform/diagnostic/telemetry/TelemetryManager$Companion +instanceKlass com/intellij/platform/diagnostic/telemetry/TelemetryManager +instanceKlass java/util/concurrent/ForkJoinTask +instanceKlass java/util/concurrent/Future +instanceKlass it/unimi/dsi/fastutil/objects/ObjectArrays +instanceKlass java/util/prefs/FileSystemPreferencesFactory +instanceKlass com/intellij/util/ui/accessibility/ScreenReader +instanceKlass java/util/prefs/PreferencesFactory +instanceKlass java/util/prefs/Preferences$2 +instanceKlass com/intellij/ui/svg/SvgCacheManagerKt +instanceKlass com/intellij/openapi/extensions/ExtensionPointDescriptor +instanceKlass java/util/prefs/Preferences$1 +instanceKlass java/util/prefs/Preferences +instanceKlass javax/swing/SwingUtilities +instanceKlass javax/swing/SwingConstants +instanceKlass com/intellij/util/lang/DirectByteBufferPool +instanceKlass com/fasterxml/aalto/util/TextAccumulator +instanceKlass com/intellij/ide/plugins/DescriptorListLoadingContextKt +instanceKlass com/intellij/ide/Prefs +instanceKlass java/util/concurrent/ConcurrentLinkedDeque$Node +instanceKlass com/intellij/ide/plugins/PluginDependency +instanceKlass com/intellij/ide/plugins/IdeaPluginDependency +instanceKlass kotlin/jvm/internal/ArrayIterator +instanceKlass kotlin/jvm/internal/ArrayIteratorKt +instanceKlass kotlin/collections/ArraysKt___ArraysKt$asSequence$$inlined$Sequence$1 +instanceKlass kotlin/sequences/Sequence +instanceKlass com/intellij/openapi/util/ShutDownTracker$ShutDownTrackerHolder +instanceKlass org/codehaus/stax2/ri/typed/ValueDecoderFactory +instanceKlass javax/swing/text/html/HTML$Tag +instanceKlass com/intellij/openapi/util/ShutDownTracker +instanceKlass javax/swing/text/html/HTML +instanceKlass kotlin/TuplesKt +instanceKlass javax/swing/text/html/CSS$CssValue +instanceKlass it/unimi/dsi/fastutil/objects/ObjectSpliterator +instanceKlass it/unimi/dsi/fastutil/objects/ObjectIterator +instanceKlass kotlin/sequences/SequencesKt__SequenceBuilderKt +instanceKlass javax/swing/text/html/HTML$Attribute +instanceKlass java/util/Collections$1 +instanceKlass com/intellij/idea/MyEntryResolver +instanceKlass com/intellij/util/lang/ZipFilePool$EntryResolver +instanceKlass java/util/concurrent/locks/StampedLock$Node +instanceKlass javax/swing/text/html/CSS$Value +instanceKlass kotlin/_Assertions +instanceKlass com/intellij/ide/plugins/ImmutableZipFileDataLoader +instanceKlass java/lang/StringUTF16$LinesSpliterator +instanceKlass com/intellij/ide/plugins/ModuleDependenciesDescriptor$Companion +instanceKlass javax/swing/text/html/CSS$Attribute +instanceKlass com/intellij/ide/plugins/ModuleDependenciesDescriptor +instanceKlass com/intellij/ide/plugins/ContainerDescriptor +instanceKlass javax/swing/text/html/CSS +instanceKlass com/intellij/ide/plugins/RawPluginDescriptor +instanceKlass jdk/net/ExtendedSocketOptions$PlatformSocketOptions$1 +instanceKlass jdk/net/ExtendedSocketOptions$PlatformSocketOptions +instanceKlass jdk/net/ExtendedSocketOptions$ExtSocketOption +instanceKlass java/net/SocketOption +instanceKlass jdk/net/ExtendedSocketOptions +instanceKlass com/intellij/ide/plugins/ProductLoadingStrategy$Companion +instanceKlass com/intellij/ide/plugins/ProductLoadingStrategy +instanceKlass com/intellij/ide/plugins/PluginXmlPathResolver$Companion +instanceKlass com/intellij/ide/plugins/PluginXmlPathResolver +instanceKlass sun/net/ext/ExtendedSocketOptions +instanceKlass com/intellij/ide/plugins/XmlReader +instanceKlass javax/swing/event/EventListenerList +instanceKlass sun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator +instanceKlass java/net/Inet6Address$Inet6AddressHolder +instanceKlass javax/swing/text/StyleContext$NamedStyle +instanceKlass javax/swing/text/Style +instanceKlass java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock +instanceKlass java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock +instanceKlass javax/swing/text/SimpleAttributeSet$EmptyAttributeSet +instanceKlass javax/swing/text/SimpleAttributeSet +instanceKlass javax/swing/text/MutableAttributeSet +instanceKlass javax/swing/text/AttributeSet +instanceKlass java/util/concurrent/locks/ReentrantReadWriteLock +instanceKlass java/util/concurrent/locks/ReadWriteLock +instanceKlass javax/swing/text/StyleContext$FontKey +instanceKlass com/intellij/ide/plugins/PluginDescriptorLoader$loadCoreProductPlugin$dataLoader$1 +instanceKlass com/intellij/ide/plugins/DataLoader +instanceKlass sun/nio/fs/UnixDirectoryStream +instanceKlass javax/swing/border/AbstractBorder +instanceKlass javax/swing/border/Border +instanceKlass java/net/InetAddress$PlatformNameService +instanceKlass java/net/InetAddress$NameService +instanceKlass sun/nio/fs/UnixSecureDirectoryStream +instanceKlass java/nio/file/SecureDirectoryStream +instanceKlass java/nio/file/DirectoryStream +instanceKlass java/net/Inet6AddressImpl +instanceKlass java/net/InetAddressImpl +instanceKlass java/nio/file/Files$AcceptAllFilter +instanceKlass java/net/InetAddressImplFactory +instanceKlass java/nio/file/DirectoryStream$Filter +instanceKlass java/util/concurrent/ConcurrentSkipListMap$Node +instanceKlass javax/swing/text/AttributeSet$ParagraphAttribute +instanceKlass javax/swing/text/AttributeSet$ColorAttribute +instanceKlass javax/swing/text/AttributeSet$FontAttribute +instanceKlass java/util/concurrent/ConcurrentSkipListMap$Index +instanceKlass javax/swing/text/AttributeSet$CharacterAttribute +instanceKlass javax/swing/text/StyleConstants +instanceKlass com/intellij/ide/plugins/ClassPathXmlPathResolver +instanceKlass javax/swing/text/StyleContext +instanceKlass java/util/concurrent/ConcurrentNavigableMap +instanceKlass com/intellij/ide/plugins/PathResolver +instanceKlass javax/swing/text/AbstractDocument$AttributeContext +instanceKlass kotlinx/coroutines/CoroutineScopeKt +instanceKlass com/intellij/util/ResourceUtil +instanceKlass java/util/NavigableSet +instanceKlass java/util/SortedSet +instanceKlass com/intellij/ide/plugins/MyXmlInterner +instanceKlass java/net/InetAddress$InetAddressHolder +instanceKlass kotlin/io/CloseableKt +instanceKlass java/net/InetAddress$1 +instanceKlass jdk/internal/access/JavaNetInetAddressAccess +instanceKlass java/net/InetAddress +instanceKlass com/intellij/ide/gdpr/EndUserAgreement$Document +instanceKlass sun/nio/ch/Net$1 +instanceKlass sun/nio/ch/Net +instanceKlass com/intellij/ide/ui/html/GlobalStyleSheetHolder +instanceKlass com/intellij/ui/scale/ScaleContext$Companion +instanceKlass com/intellij/ui/scale/Scale +instanceKlass java/util/ComparableTimSort +instanceKlass com/intellij/openapi/application/impl/ApplicationInfoImpl$UpdateUrlsImpl +instanceKlass com/intellij/ui/scale/UserScaleContext +instanceKlass sun/util/calendar/CalendarUtils +instanceKlass sun/util/calendar/CalendarDate +instanceKlass sun/nio/ch/SelChImpl +instanceKlass com/intellij/ui/JreHiDpiUtil +instanceKlass sun/util/resources/Bundles$CacheKeyReference +instanceKlass sun/util/resources/Bundles$CacheKey +instanceKlass sun/util/resources/Bundles +instanceKlass sun/security/jca/GetInstance$Instance +instanceKlass sun/util/resources/LocaleData$LocaleDataStrategy +instanceKlass sun/util/resources/Bundles$Strategy +instanceKlass java/util/stream/ReduceOps$Box +instanceKlass java/beans/PropertyChangeListener +instanceKlass java/util/EventListener +instanceKlass sun/util/resources/LocaleData$1 +instanceKlass java/util/stream/ReduceOps$AccumulatingSink +instanceKlass java/beans/ChangeListenerMap +instanceKlass sun/util/resources/LocaleData +instanceKlass java/util/stream/ReduceOps$ReduceOp +instanceKlass java/util/stream/ReduceOps +instanceKlass sun/util/locale/provider/LocaleResources +instanceKlass java/beans/PropertyChangeSupport +instanceKlass java/util/function/BinaryOperator +instanceKlass com/intellij/ui/scale/JBUIScale +instanceKlass java/util/StringJoiner +instanceKlass java/util/stream/Collectors$CollectorImpl +instanceKlass java/util/stream/Collector +instanceKlass java/util/stream/Collectors +instanceKlass java/util/Spliterators$ArraySpliterator +instanceKlass java/security/SecureRandomParameters +instanceKlass jdk/internal/event/Event +instanceKlass java/util/TreeMap$PrivateEntryIterator +instanceKlass java/util/TreeMap$Entry +instanceKlass java/lang/invoke/LambdaFormEditor$1 +instanceKlass java/util/NavigableMap +instanceKlass java/util/SortedMap +instanceKlass java/lang/invoke/MethodHandles$1 +instanceKlass java/lang/Long$LongCache +instanceKlass java/util/StringTokenizer +instanceKlass sun/util/locale/provider/AvailableLanguageTags +instanceKlass sun/security/util/SecurityProviderConstants +instanceKlass sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo +instanceKlass java/security/Provider$UString +instanceKlass java/util/zip/Inflater$InflaterZStreamRef +instanceKlass java/security/Provider$Service +instanceKlass java/util/zip/Inflater +instanceKlass jdk/internal/jimage/decompressor/ZipDecompressor +instanceKlass jdk/internal/jimage/decompressor/ResourceDecompressor +instanceKlass jdk/internal/jimage/decompressor/ResourceDecompressorFactory +instanceKlass jdk/internal/jimage/decompressor/ResourceDecompressorRepository +instanceKlass sun/security/provider/FileInputStreamPool +instanceKlass java/awt/Toolkit$1 +instanceKlass jdk/internal/jimage/decompressor/CompressedResourceHeader +instanceKlass sun/security/provider/NativePRNG$RandomIO +instanceKlass jdk/internal/jimage/decompressor/ResourceDecompressor$StringsProvider +instanceKlass sun/security/provider/NativePRNG$2 +instanceKlass java/util/TimSort +instanceKlass sun/security/provider/NativePRNG$1 +instanceKlass java/util/Arrays$LegacyMergeSort +instanceKlass java/util/AbstractMap$SimpleEntry +instanceKlass jdk/internal/jimage/ImageBufferCache$2 +instanceKlass jdk/internal/jimage/ImageBufferCache +instanceKlass sun/security/provider/SunEntries$1 +instanceKlass sun/security/provider/SunEntries +instanceKlass jdk/internal/module/ModulePatcher$PatchedModuleReader +instanceKlass sun/security/jca/ProviderList$2 +instanceKlass java/util/logging/LogManager$CloseOnReset +instanceKlass jdk/internal/math/FloatingDecimal$ASCIIToBinaryBuffer +instanceKlass java/util/logging/StreamHandler$1 +instanceKlass jdk/internal/math/FloatingDecimal$PreparedASCIIToBinaryBuffer +instanceKlass jdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter +instanceKlass java/util/logging/Handler$1 +instanceKlass jdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer +instanceKlass sun/util/locale/BaseLocale$Key +instanceKlass sun/awt/PlatformGraphicsInfo +instanceKlass sun/util/locale/StringTokenIterator +instanceKlass jdk/internal/math/FloatingDecimal$ExceptionalBinaryToASCIIBuffer +instanceKlass jdk/internal/math/FloatingDecimal$BinaryToASCIIConverter +instanceKlass sun/util/locale/ParseStatus +instanceKlass java/util/logging/ErrorManager +instanceKlass jdk/internal/math/FloatingDecimal +instanceKlass sun/util/locale/LanguageTag +instanceKlass jdk/internal/logger/SimpleConsoleLogger$Formatting +instanceKlass sun/util/cldr/CLDRBaseLocaleDataMetaInfo +instanceKlass sun/util/locale/provider/LocaleDataMetaInfo +instanceKlass sun/util/logging/PlatformLogger +instanceKlass java/security/Provider$EngineDescription +instanceKlass sun/util/locale/provider/ResourceBundleBasedAdapter +instanceKlass java/security/Provider$ServiceKey +instanceKlass java/awt/GraphicsEnvironment +instanceKlass sun/util/logging/PlatformLogger$ConfigurableBridge$LoggerConfiguration +instanceKlass sun/util/locale/provider/LocaleProviderAdapter$1 +instanceKlass java/util/Collections$UnmodifiableCollection$1 +instanceKlass sun/util/locale/provider/LocaleProviderAdapter +instanceKlass sun/security/jca/ProviderConfig +instanceKlass java/util/logging/Formatter +instanceKlass sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter +instanceKlass sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter +instanceKlass sun/security/jca/ProviderList +instanceKlass sun/security/jca/Providers +instanceKlass jdk/internal/logger/DefaultLoggerFinder$1 +instanceKlass java/util/logging/Logger$SystemLoggerHelper$1 +instanceKlass sun/security/jca/GetInstance +instanceKlass java/util/logging/Logger$SystemLoggerHelper +instanceKlass java/security/SecureRandomSpi +instanceKlass java/util/logging/LogManager$4 +instanceKlass sun/util/locale/provider/LocaleServiceProviderPool +instanceKlass com/intellij/openapi/util/BuildNumber +instanceKlass java/util/spi/LocaleServiceProvider +instanceKlass jdk/internal/logger/BootstrapLogger$BootstrapExecutors +instanceKlass sun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar +instanceKlass sun/util/locale/InternalLocaleBuilder +instanceKlass jdk/internal/logger/BootstrapLogger$RedirectedLoggers +instanceKlass java/util/Locale$Builder +instanceKlass java/util/ServiceLoader$ProviderImpl +instanceKlass java/util/ServiceLoader$Provider +instanceKlass sun/util/locale/provider/CalendarDataUtility +instanceKlass com/intellij/ide/plugins/BrokenPluginFileKt +instanceKlass java/util/ServiceLoader$1 +instanceKlass sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule +instanceKlass sun/net/NetProperties$1 +instanceKlass java/util/concurrent/CopyOnWriteArrayList$COWIterator +instanceKlass sun/net/NetProperties +instanceKlass com/intellij/ide/x/C/v5 +instanceKlass com/intellij/ide/plugins/ExpiredPluginsState$Companion +instanceKlass com/intellij/ide/plugins/ExpiredPluginsState +instanceKlass java/util/Collections$UnmodifiableCollection +instanceKlass jdk/internal/logger/BootstrapLogger$DetectBackend$1 +instanceKlass kotlin/collections/EmptySet +instanceKlass kotlin/jvm/internal/markers/KMappedMarker +instanceKlass jdk/internal/logger/BootstrapLogger$DetectBackend +instanceKlass jdk/internal/logger/BootstrapLogger +instanceKlass kotlin/collections/SetsKt__SetsJVMKt +instanceKlass sun/util/logging/PlatformLogger$ConfigurableBridge +instanceKlass sun/nio/ch/UnixDomainSocketsUtil +instanceKlass sun/util/logging/PlatformLogger$Bridge +instanceKlass java/awt/Toolkit$2 +instanceKlass sun/nio/ch/UnixDomainSockets +instanceKlass com/intellij/util/ArrayUtilRt +instanceKlass com/intellij/util/text/CharArrayCharSequence +instanceKlass com/intellij/openapi/util/text/CharSequenceWithStringHash +instanceKlass com/intellij/util/text/CharSequenceBackedByArray +instanceKlass java/lang/System$Logger +instanceKlass com/intellij/openapi/util/text/Strings +instanceKlass sun/nio/ch/DefaultSelectorProvider +instanceKlass jdk/internal/module/Checks +instanceKlass com/intellij/util/lang/ClassPath$ResourceEnumeration +instanceKlass java/util/stream/Streams$AbstractStreamBuilderImpl +instanceKlass java/util/stream/Stream$Builder +instanceKlass java/lang/CompoundEnumeration +instanceKlass com/intellij/util/text/StringKt +instanceKlass java/util/stream/Sink$ChainedReference +instanceKlass jdk/internal/loader/BuiltinClassLoader$1 +instanceKlass java/util/Collections$EmptyEnumeration +instanceKlass kotlin/jdk7/AutoCloseableKt +instanceKlass java/util/ServiceLoader$3 +instanceKlass sun/util/calendar/ZoneInfoFile$1 +instanceKlass java/util/ServiceLoader$2 +instanceKlass sun/util/calendar/ZoneInfoFile +instanceKlass java/util/ServiceLoader$LazyClassPathLookupIterator +instanceKlass java/nio/file/FileChannelLinesSpliterator$1 +instanceKlass java/util/Spliterators$1Adapter +instanceKlass java/util/Spliterator$OfDouble +instanceKlass com/intellij/util/containers/CanonicalHashingStrategy +instanceKlass java/util/stream/FindOps$FindOp +instanceKlass java/util/TimeZone +instanceKlass java/util/stream/TerminalOp +instanceKlass java/util/Spliterator$OfLong +instanceKlass java/util/stream/FindOps$FindSink +instanceKlass java/util/Spliterator$OfInt +instanceKlass java/util/Spliterator$OfPrimitive +instanceKlass java/util/stream/TerminalSink +instanceKlass java/util/ServiceLoader$ModuleServicesLookupIterator +instanceKlass java/util/stream/Sink +instanceKlass com/intellij/util/containers/ConcurrentRefHashMap$HardKey +instanceKlass java/util/function/Consumer +instanceKlass java/util/Spliterators$EmptySpliterator +instanceKlass com/intellij/util/containers/ConcurrentRefHashMap$1 +instanceKlass java/util/Spliterators +instanceKlass com/intellij/util/containers/ConcurrentRefHashMap$KeyReference +instanceKlass java/util/ServiceLoader +instanceKlass java/util/stream/FindOps +instanceKlass sun/util/calendar/CalendarSystem$GregorianHolder +instanceKlass java/util/stream/Streams$1 +instanceKlass sun/util/calendar/CalendarSystem +instanceKlass java/util/stream/Streams +instanceKlass com/intellij/util/containers/MultiMap +instanceKlass java/nio/channels/spi/SelectorProvider$Holder +instanceKlass java/nio/channels/spi/SelectorProvider +instanceKlass sun/security/util/SecurityConstants +instanceKlass java/nio/channels/NetworkChannel +instanceKlass com/intellij/util/containers/ObjectIntMap +instanceKlass java/util/EnumMap$1 +instanceKlass com/fasterxml/aalto/util/DataUtil +instanceKlass com/intellij/util/containers/ConcurrentIntObjectMap +instanceKlass com/intellij/util/containers/IntObjectMap +instanceKlass com/intellij/util/containers/ConcurrentLongObjectMap +instanceKlass com/intellij/util/xml/dom/XmlElement +instanceKlass java/util/stream/StreamOpFlag$MaskBuilder +instanceKlass com/fasterxml/aalto/in/ByteBasedPNameTable$Bucket +instanceKlass java/util/ResourceBundle$ResourceBundleProviderHelper +instanceKlass com/intellij/util/xml/dom/XmlElementBuilder +instanceKlass com/intellij/openapi/util/io/NioFiles$1 +instanceKlass com/intellij/util/containers/ConcurrentList +instanceKlass com/intellij/util/xml/dom/NoOpXmlInterner +instanceKlass com/intellij/util/xml/dom/XmlInterner +instanceKlass java/util/ResourceBundle$3 +instanceKlass com/fasterxml/aalto/in/NsDeclaration +instanceKlass com/intellij/openapi/util/Condition +instanceKlass com/intellij/openapi/util/io/NioFiles +instanceKlass com/fasterxml/aalto/util/UriCanonicalizer$CanonicalKey +instanceKlass java/util/LinkedList$Node +instanceKlass com/fasterxml/aalto/in/ElementScope +instanceKlass java/util/stream/PipelineHelper +instanceKlass com/fasterxml/aalto/in/ByteBasedPNameFactory +instanceKlass com/intellij/util/containers/ContainerUtil +instanceKlass java/util/stream/Stream +instanceKlass com/fasterxml/aalto/util/BufferRecycler +instanceKlass java/util/stream/BaseStream +instanceKlass java/util/ResourceBundle$CacheKeyReference +instanceKlass java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject +instanceKlass java/util/concurrent/locks/Condition +instanceKlass com/fasterxml/aalto/util/NameTable +instanceKlass java/util/ResourceBundle$CacheKey +instanceKlass java/util/concurrent/SynchronousQueue$TransferStack$SNode +instanceKlass java/util/concurrent/ForkJoinPool$ManagedBlocker +instanceKlass com/fasterxml/aalto/util/XmlCharTypes +instanceKlass java/nio/file/FileChannelLinesSpliterator +instanceKlass java/util/concurrent/SynchronousQueue$Transferer +instanceKlass com/fasterxml/aalto/in/AttributeCollector +instanceKlass com/intellij/openapi/util/ObjectNode$1 +instanceKlass com/intellij/openapi/util/Disposer$2 +instanceKlass java/util/concurrent/BlockingQueue +instanceKlass com/intellij/openapi/util/ObjectNode$NodeChildren +instanceKlass sun/util/locale/LocaleObjectCache +instanceKlass com/intellij/openapi/util/ObjectNode +instanceKlass com/fasterxml/aalto/util/TextBuilder +instanceKlass java/util/function/UnaryOperator +instanceKlass java/util/stream/StreamSupport +instanceKlass java/util/concurrent/ThreadPoolExecutor$AbortPolicy +instanceKlass java/util/concurrent/RejectedExecutionHandler +instanceKlass com/intellij/util/ObjectUtils$Sentinel +instanceKlass com/fasterxml/aalto/in/FixedNsContext +instanceKlass java/util/ResourceBundle$Control +instanceKlass com/fasterxml/aalto/in/NsBinding +instanceKlass java/util/concurrent/AbstractExecutorService +instanceKlass com/intellij/util/ObjectUtils +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectMap$FastEntrySet +instanceKlass java/util/concurrent/ExecutorService +instanceKlass com/intellij/util/concurrency/SynchronizedClearableLazy$Companion +instanceKlass java/util/ResourceBundle$1 +instanceKlass jdk/internal/access/JavaUtilResourceBundleAccess +instanceKlass com/intellij/util/concurrency/SynchronizedClearableLazy +instanceKlass java/util/ArrayList$ArrayListSpliterator +instanceKlass java/util/Spliterator +instanceKlass java/util/ResourceBundle +instanceKlass it/unimi/dsi/fastutil/objects/AbstractObject2ObjectFunction +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectMap +instanceKlass it/unimi/dsi/fastutil/objects/Object2ObjectFunction +instanceKlass java/util/concurrent/Executors +instanceKlass com/fasterxml/aalto/in/PName +instanceKlass com/intellij/openapi/util/registry/EarlyAccessRegistryManagerKt +instanceKlass java/awt/Toolkit$4 +instanceKlass java/awt/Toolkit$3 +instanceKlass sun/awt/AWTAccessor$ToolkitAccessor +instanceKlass org/codehaus/stax2/XMLStreamLocation2 +instanceKlass java/util/Hashtable$Enumerator +instanceKlass com/intellij/util/containers/RefHashMap$HardKey +instanceKlass java/awt/Toolkit +instanceKlass com/intellij/util/containers/RefHashMap$Key +instanceKlass java/util/Collections$SynchronizedCollection +instanceKlass com/intellij/openapi/util/registry/EarlyAccessRegistryManager +instanceKlass java/util/Properties$EntrySet +instanceKlass org/codehaus/stax2/typed/TypedArrayDecoder +instanceKlass com/intellij/util/containers/IdentityHashingStrategy +instanceKlass com/intellij/ide/plugins/DisabledPluginsState$Companion +instanceKlass java/awt/Color +instanceKlass java/awt/Paint +instanceKlass java/awt/Transparency +instanceKlass com/intellij/util/containers/HashingStrategy +instanceKlass com/intellij/ide/plugins/DisabledPluginsState +instanceKlass com/intellij/ide/plugins/PluginEnabler$Headless +instanceKlass com/intellij/ide/plugins/PluginEnabler +instanceKlass it/unimi/dsi/fastutil/Hash$Strategy +instanceKlass java/util/Collections$3 +instanceKlass com/intellij/ide/plugins/DescriptorListLoadingContext +instanceKlass com/intellij/ide/plugins/ReadModuleContext +instanceKlass java/util/logging/LogManager$LoggerContext$1 +instanceKlass org/codehaus/stax2/typed/TypedValueDecoder +instanceKlass java/util/logging/LogManager$VisitedLoggers +instanceKlass java/util/function/Predicate +instanceKlass com/intellij/util/containers/CollectionFactory +instanceKlass it/unimi/dsi/fastutil/HashCommon +instanceKlass com/fasterxml/aalto/stax/StreamReaderImpl +instanceKlass java/util/logging/LogManager$2 +instanceKlass java/lang/System$LoggerFinder +instanceKlass org/codehaus/stax2/LocationInfo +instanceKlass javax/swing/plaf/UIResource +instanceKlass org/codehaus/stax2/DTDInfo +instanceKlass java/lang/ProcessHandleImpl +instanceKlass it/unimi/dsi/fastutil/objects/Reference2ObjectMap$FastEntrySet +instanceKlass org/codehaus/stax2/AttributeInfo +instanceKlass org/codehaus/stax2/XMLStreamReader2 +instanceKlass it/unimi/dsi/fastutil/objects/ObjectSet +instanceKlass org/codehaus/stax2/validation/Validatable +instanceKlass org/codehaus/stax2/typed/TypedXMLStreamReader +instanceKlass java/lang/ProcessHandle +instanceKlass javax/xml/stream/XMLStreamReader +instanceKlass java/security/Security$2 +instanceKlass jdk/internal/access/JavaSecurityPropertiesAccess +instanceKlass it/unimi/dsi/fastutil/objects/ReferenceSet +instanceKlass java/util/concurrent/ConcurrentHashMap$MapEntry +instanceKlass javax/swing/UIDefaults$LazyValue +instanceKlass com/intellij/ide/plugins/PluginDescriptorLoader +instanceKlass it/unimi/dsi/fastutil/objects/ReferenceCollection +instanceKlass it/unimi/dsi/fastutil/objects/ObjectCollection +instanceKlass it/unimi/dsi/fastutil/objects/ObjectIterable +instanceKlass javax/xml/stream/Location +instanceKlass java/io/FileInputStream$1 +instanceKlass com/intellij/openapi/application/impl/AWTExceptionHandler +instanceKlass it/unimi/dsi/fastutil/objects/AbstractReference2ObjectFunction +instanceKlass it/unimi/dsi/fastutil/objects/Reference2ObjectMap +instanceKlass com/intellij/openapi/extensions/PluginId +instanceKlass kotlin/UNINITIALIZED_VALUE +instanceKlass it/unimi/dsi/fastutil/objects/Reference2ObjectFunction +instanceKlass kotlin/SynchronizedLazyImpl +instanceKlass kotlin/Lazy +instanceKlass kotlin/LazyKt__LazyJVMKt +instanceKlass kotlin/jvm/functions/Function0 +instanceKlass com/intellij/openapi/util/text/HtmlChunk +instanceKlass com/intellij/ide/IdeEventQueue$Companion +instanceKlass sun/awt/AWTAccessor +instanceKlass it/unimi/dsi/fastutil/Hash +instanceKlass java/util/Arrays$ArrayItr +instanceKlass java/awt/EventQueue$2 +instanceKlass sun/awt/AWTAccessor$EventQueueAccessor +instanceKlass com/intellij/ide/plugins/IdeaPluginDescriptor +instanceKlass com/intellij/util/PlatformUtils +instanceKlass com/fasterxml/aalto/in/XmlScanner +instanceKlass java/net/SocketAddress +instanceKlass com/intellij/openapi/extensions/PluginDescriptor +instanceKlass java/net/ProtocolFamily +instanceKlass com/intellij/idea/DirectoryLock +instanceKlass java/awt/EventQueue$1 +instanceKlass java/security/Security$1 +instanceKlass java/security/Security +instanceKlass com/intellij/ide/plugins/PluginManagerCore +instanceKlass com/intellij/openapi/diagnostic/ControlFlowException +instanceKlass kotlin/jvm/internal/TypeIntrinsics +instanceKlass java/awt/EventQueue +instanceKlass javax/xml/namespace/NamespaceContext +instanceKlass com/intellij/ide/gdpr/Version +instanceKlass com/intellij/ide/IdeEventQueue$EventDispatcher +instanceKlass javax/xml/stream/XMLStreamConstants +instanceKlass sun/security/util/SecurityProperties +instanceKlass com/intellij/openapi/util/ObjectTree +instanceKlass kotlinx/coroutines/intrinsics/UndispatchedKt +instanceKlass kotlinx/coroutines/CompletableDeferred +instanceKlass com/intellij/ide/gdpr/EndUserAgreement +instanceKlass kotlinx/coroutines/CompletableDeferredKt +instanceKlass com/intellij/openapi/util/CheckedDisposable +instanceKlass com/intellij/ui/icons/CoreIconManager +instanceKlass com/intellij/openapi/Disposable +instanceKlass com/intellij/ui/CoreAwareIconManager +instanceKlass com/fasterxml/aalto/in/InputBootstrapper +instanceKlass com/intellij/openapi/util/Disposer +instanceKlass sun/security/util/FilePermCompat +instanceKlass javax/swing/LookAndFeel +instanceKlass com/fasterxml/aalto/util/XmlConsts +instanceKlass java/util/logging/LogManager$LoggingProviderAccess +instanceKlass sun/util/logging/internal/LoggingProviderImpl$LogManagerAccess +instanceKlass java/lang/Shutdown$Lock +instanceKlass java/lang/Shutdown +instanceKlass java/lang/ApplicationShutdownHooks$1 +instanceKlass kotlinx/coroutines/IncompleteStateBox +instanceKlass java/lang/ApplicationShutdownHooks +instanceKlass com/intellij/idea/EuaKt +instanceKlass java/util/Collections$SynchronizedMap +instanceKlass com/fasterxml/aalto/util/UriCanonicalizer +instanceKlass com/fasterxml/aalto/in/ReaderConfig$EncodingContext +instanceKlass java/util/concurrent/atomic/AtomicBoolean +instanceKlass com/intellij/ui/IconManager$Companion +instanceKlass com/fasterxml/aalto/impl/CommonConfig +instanceKlass com/intellij/idea/SplashManagerKt +instanceKlass java/util/logging/LogManager$LogNode +instanceKlass java/util/logging/LogManager$LoggerContext +instanceKlass kotlinx/coroutines/CompletedContinuation +instanceKlass com/intellij/util/xml/dom/StaxFactory +instanceKlass com/intellij/idea/CommandLineArgs +instanceKlass com/intellij/idea/Java11ShimImpl +instanceKlass java/util/logging/LogManager$1 +instanceKlass com/intellij/util/Java11Shim$Companion$INSTANCE$1 +instanceKlass java/util/logging/LogManager +instanceKlass com/intellij/util/Java11Shim$Companion +instanceKlass com/intellij/util/Java11Shim +instanceKlass com/intellij/ui/IconManager +instanceKlass java/util/concurrent/locks/StampedLock +instanceKlass com/intellij/openapi/util/UserDataHolder +instanceKlass kotlinx/coroutines/internal/ConcurrentLinkedListNode +instanceKlass java/util/logging/Logger$ConfigurationData +instanceKlass java/util/logging/Logger$LoggerBundle +instanceKlass com/intellij/util/xml/dom/XmlDomReader +instanceKlass kotlinx/coroutines/CancellableContinuationKt +instanceKlass kotlinx/coroutines/CancelHandlerBase +instanceKlass com/intellij/openapi/application/ApplicationNamesInfo +instanceKlass kotlinx/coroutines/Active +instanceKlass kotlinx/coroutines/NotCompleted +instanceKlass com/intellij/openapi/diagnostic/Attachment +instanceKlass java/util/logging/Level +instanceKlass java/util/logging/Handler +instanceKlass com/intellij/openapi/diagnostic/Logger$DefaultFactory +instanceKlass com/intellij/ide/bootstrap/UiKt +instanceKlass com/intellij/openapi/diagnostic/Logger$Factory +instanceKlass java/util/logging/Logger +instanceKlass com/intellij/openapi/diagnostic/Logger +instanceKlass kotlin/coroutines/jvm/internal/Boxing +instanceKlass kotlinx/coroutines/Waiter +instanceKlass com/intellij/openapi/application/ex/ApplicationInfoEx$UpdateUrls +instanceKlass java/util/function/BiConsumer +instanceKlass java/util/Calendar +instanceKlass kotlinx/coroutines/internal/LimitedDispatcher$Worker +instanceKlass kotlinx/coroutines/CancellableContinuation +instanceKlass com/intellij/openapi/application/ApplicationInfo +instanceKlass com/intellij/ide/x/C/vu +instanceKlass com/intellij/ide/x/C/vr +instanceKlass java/security/Key +instanceKlass java/security/spec/AlgorithmParameterSpec +instanceKlass java/security/spec/KeySpec +instanceKlass com/intellij/idea/StartupUtil +instanceKlass com/intellij/idea/MainImpl +instanceKlass kotlin/collections/CollectionsKt__CollectionsJVMKt +instanceKlass kotlinx/coroutines/internal/ThreadState +instanceKlass kotlin/coroutines/jvm/internal/CompletedContinuation +instanceKlass com/intellij/idea/AppStarter +instanceKlass com/intellij/concurrency/IdeaForkJoinWorkerThreadFactory +instanceKlass java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory +instanceKlass kotlinx/coroutines/internal/AtomicKt +instanceKlass kotlinx/coroutines/JobSupport$Finishing +instanceKlass kotlinx/coroutines/internal/Removed +instanceKlass kotlinx/coroutines/internal/LockFreeLinkedListKt +instanceKlass kotlinx/coroutines/InactiveNodeList +instanceKlass kotlinx/coroutines/Deferred +instanceKlass kotlinx/coroutines/UndispatchedMarker +instanceKlass kotlinx/coroutines/CoroutineName$Key +instanceKlass kotlinx/coroutines/internal/LockFreeTaskQueueCore$Placeholder +instanceKlass jdk/internal/util/random/RandomSupport +instanceKlass java/util/Random +instanceKlass java/util/random/RandomGenerator +instanceKlass com/intellij/util/lang/ClasspathCache$LoaderDataBuilder$1 +instanceKlass com/intellij/util/lang/StrippedLongSet +instanceKlass java/util/function/LongPredicate +instanceKlass com/intellij/util/lang/ClasspathCache$LoaderDataBuilder +instanceKlass jdk/internal/misc/ScopedMemoryAccess$Scope +instanceKlass com/intellij/util/lang/ImmutableZipEntry +instanceKlass com/intellij/util/lang/HashMapZipFile +instanceKlass jdk/internal/reflect/ClassDefiner$1 +instanceKlass jdk/internal/reflect/ClassDefiner +instanceKlass jdk/internal/reflect/MethodAccessorGenerator$1 +instanceKlass jdk/internal/reflect/Label$PatchInfo +instanceKlass jdk/internal/reflect/Label +instanceKlass jdk/internal/reflect/UTF8 +instanceKlass jdk/internal/reflect/ClassFileAssembler +instanceKlass jdk/internal/reflect/ByteVectorImpl +instanceKlass jdk/internal/reflect/ByteVector +instanceKlass jdk/internal/reflect/ByteVectorFactory +instanceKlass jdk/internal/reflect/AccessorGenerator +instanceKlass jdk/internal/reflect/ClassFileConstants +instanceKlass kotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion +instanceKlass java/lang/Class$1 +instanceKlass kotlin/internal/PlatformImplementations +instanceKlass kotlin/internal/PlatformImplementationsKt +instanceKlass kotlin/random/Random +instanceKlass kotlinx/coroutines/scheduling/WorkQueue +instanceKlass kotlinx/coroutines/internal/LockFreeLinkedListNode +instanceKlass kotlinx/coroutines/JobKt__JobKt +instanceKlass kotlinx/coroutines/JobKt +instanceKlass com/intellij/diagnostic/CoroutineTimeMeasurer$Companion +instanceKlass com/intellij/diagnostic/CoroutineTimeMeasurer +instanceKlass kotlin/jvm/internal/Ref$ObjectRef +instanceKlass kotlinx/coroutines/BuildersKt__Builders_commonKt +instanceKlass com/intellij/diagnostic/CoroutineTimeMeasurerKey +instanceKlass kotlinx/coroutines/ThreadContextElement$DefaultImpls +instanceKlass kotlinx/coroutines/CopyableThreadContextElement$DefaultImpls +instanceKlass com/intellij/diagnostic/MeasureCoroutineTime +instanceKlass com/intellij/diagnostic/TracerKt$noActivity$1 +instanceKlass com/intellij/diagnostic/TracerKt +instanceKlass kotlinx/coroutines/CoroutineExceptionHandler$Key +instanceKlass kotlinx/coroutines/CoroutineExceptionHandler +instanceKlass com/intellij/diagnostic/ActivityImpl +instanceKlass java/util/concurrent/ConcurrentLinkedQueue$Node +instanceKlass java/util/concurrent/atomic/AtomicReference +instanceKlass it/unimi/dsi/fastutil/objects/Object2LongMap +instanceKlass it/unimi/dsi/fastutil/objects/Object2LongFunction +instanceKlass java/util/function/ToLongFunction +instanceKlass it/unimi/dsi/fastutil/Function +instanceKlass com/intellij/diagnostic/Activity +instanceKlass com/intellij/diagnostic/StartUpMeasurer +instanceKlass kotlin/ResultKt +instanceKlass kotlinx/coroutines/internal/OpDescriptor +instanceKlass kotlinx/coroutines/DispatchedTaskKt +instanceKlass kotlinx/coroutines/CompletedExceptionally +instanceKlass kotlinx/coroutines/EventLoop_commonKt +instanceKlass kotlinx/coroutines/AbstractTimeSourceKt +instanceKlass kotlin/Result$Failure +instanceKlass kotlinx/coroutines/CompletionStateKt +instanceKlass kotlin/Unit +instanceKlass kotlin/Result$Companion +instanceKlass kotlin/Result +instanceKlass kotlinx/coroutines/internal/ThreadContextKt +instanceKlass kotlinx/coroutines/internal/DispatchedContinuationKt +instanceKlass kotlinx/coroutines/scheduling/Task +instanceKlass kotlin/coroutines/jvm/internal/DebugProbesKt +instanceKlass kotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsJvmKt +instanceKlass kotlinx/coroutines/intrinsics/CancellableKt +instanceKlass kotlinx/coroutines/CoroutineStart$WhenMappings +instanceKlass kotlin/coroutines/CombinedContext +instanceKlass kotlinx/coroutines/Job$DefaultImpls +instanceKlass kotlin/coroutines/CoroutineContext$DefaultImpls +instanceKlass kotlinx/coroutines/NonDisposableHandle +instanceKlass kotlinx/coroutines/ChildHandle +instanceKlass kotlinx/coroutines/DisposableHandle +instanceKlass kotlinx/coroutines/Job$Key +instanceKlass kotlinx/coroutines/Empty +instanceKlass kotlinx/coroutines/Incomplete +instanceKlass kotlinx/coroutines/JobSupportKt +instanceKlass kotlinx/coroutines/JobSupport +instanceKlass kotlinx/coroutines/ParentJob +instanceKlass kotlinx/coroutines/ChildJob +instanceKlass kotlinx/coroutines/Job +instanceKlass kotlin/coroutines/ContinuationInterceptor$DefaultImpls +instanceKlass kotlinx/coroutines/DefaultExecutorKt +instanceKlass kotlinx/coroutines/internal/LimitedDispatcherKt +instanceKlass java/util/concurrent/atomic/AtomicReferenceArray +instanceKlass kotlinx/coroutines/internal/LockFreeTaskQueueCore$Companion +instanceKlass kotlinx/coroutines/internal/LockFreeTaskQueueCore +instanceKlass kotlinx/coroutines/internal/ResizableAtomicArray +instanceKlass kotlinx/coroutines/internal/LockFreeTaskQueue +instanceKlass java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater$1 +instanceKlass java/util/concurrent/atomic/AtomicLongFieldUpdater +instanceKlass kotlinx/coroutines/scheduling/CoroutineScheduler$Companion +instanceKlass kotlinx/coroutines/scheduling/CoroutineScheduler +instanceKlass java/util/concurrent/Executor +instanceKlass kotlinx/coroutines/scheduling/TaskContextImpl +instanceKlass kotlinx/coroutines/scheduling/TaskContext +instanceKlass kotlinx/coroutines/scheduling/SchedulerTimeSource +instanceKlass kotlin/ranges/RangesKt__RangesKt +instanceKlass kotlinx/coroutines/internal/SystemPropsKt__SystemProps_commonKt +instanceKlass kotlinx/coroutines/scheduling/TasksKt +instanceKlass kotlinx/coroutines/Dispatchers +instanceKlass kotlinx/coroutines/internal/SystemPropsKt__SystemPropsKt +instanceKlass kotlinx/coroutines/internal/SystemPropsKt +instanceKlass kotlinx/coroutines/DebugKt +instanceKlass kotlinx/coroutines/CopyableThreadContextElement +instanceKlass kotlinx/coroutines/ThreadContextElement +instanceKlass kotlin/coroutines/CoroutineContext$Element$DefaultImpls +instanceKlass kotlinx/coroutines/CoroutineContextKt +instanceKlass kotlinx/coroutines/GlobalScope +instanceKlass kotlinx/coroutines/CoroutineScope +instanceKlass java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl$1 +instanceKlass sun/reflect/misc/ReflectUtil +instanceKlass java/util/concurrent/atomic/AtomicIntegerFieldUpdater +instanceKlass java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 +instanceKlass java/util/concurrent/atomic/AtomicReferenceFieldUpdater +instanceKlass kotlin/jvm/internal/Lambda +instanceKlass kotlin/jvm/functions/Function1 +instanceKlass kotlin/coroutines/AbstractCoroutineContextKey +instanceKlass kotlin/coroutines/AbstractCoroutineContextElement +instanceKlass kotlinx/coroutines/Delay +instanceKlass kotlinx/coroutines/EventLoopKt +instanceKlass kotlinx/coroutines/internal/ThreadLocalKt +instanceKlass kotlinx/coroutines/internal/Symbol +instanceKlass kotlinx/coroutines/ThreadLocalEventLoop +instanceKlass kotlin/coroutines/ContinuationInterceptor$Key +instanceKlass kotlin/coroutines/CoroutineContext$Key +instanceKlass kotlin/coroutines/ContinuationInterceptor +instanceKlass kotlin/coroutines/CoroutineContext$Element +instanceKlass kotlin/coroutines/EmptyCoroutineContext +instanceKlass kotlin/coroutines/CoroutineContext +instanceKlass kotlinx/coroutines/BuildersKt__BuildersKt +instanceKlass kotlinx/coroutines/BuildersKt +instanceKlass kotlin/coroutines/jvm/internal/BaseContinuationImpl +instanceKlass kotlin/coroutines/jvm/internal/CoroutineStackFrame +instanceKlass kotlin/coroutines/Continuation +instanceKlass kotlin/coroutines/jvm/internal/SuspendFunction +instanceKlass kotlin/jvm/internal/FunctionBase +instanceKlass kotlin/jvm/functions/Function2 +instanceKlass kotlin/Function +instanceKlass com/intellij/idea/BootstrapClassLoaderUtil +instanceKlass java/util/regex/IntHashSet +instanceKlass java/util/regex/Matcher +instanceKlass java/util/regex/MatchResult +instanceKlass java/util/regex/Pattern$TreeInfo +instanceKlass java/util/regex/Pattern$BmpCharPredicate +instanceKlass java/util/regex/Pattern$CharPredicate +instanceKlass java/util/regex/Pattern$Node +instanceKlass java/util/regex/Pattern +instanceKlass com/intellij/openapi/application/PathManager$Lazy +instanceKlass java/nio/DirectByteBuffer$Deallocator +instanceKlass sun/nio/ch/Util$BufferCache +instanceKlass java/nio/charset/CoderResult +instanceKlass java/util/Properties$LineReader +instanceKlass java/nio/channels/Channels +instanceKlass java/util/Collections$EmptyIterator +instanceKlass java/nio/charset/CharsetDecoder +instanceKlass java/util/LinkedHashMap$LinkedHashIterator +instanceKlass java/net/URLConnection +instanceKlass com/intellij/util/lang/ZipResourceFile$ZipFileResource +instanceKlass com/intellij/util/lang/ImmutableZipFile$MyZipResource +instanceKlass jdk/internal/jimage/ImageLocation +instanceKlass jdk/internal/jimage/decompressor/Decompressor +instanceKlass jdk/internal/jimage/ImageStringsReader +instanceKlass jdk/internal/jimage/ImageStrings +instanceKlass jdk/internal/jimage/ImageHeader +instanceKlass jdk/internal/jimage/NativeImageBuffer$1 +instanceKlass jdk/internal/jimage/NativeImageBuffer +instanceKlass jdk/internal/jimage/BasicImageReader$1 +instanceKlass jdk/internal/jimage/BasicImageReader +instanceKlass jdk/internal/jimage/ImageReader +instanceKlass jdk/internal/jimage/ImageReaderFactory$1 +instanceKlass jdk/internal/jimage/ImageReaderFactory +instanceKlass jdk/internal/module/SystemModuleFinders$SystemImage +instanceKlass jdk/internal/module/SystemModuleFinders$SystemModuleReader +instanceKlass java/lang/module/ModuleReader +instanceKlass jdk/internal/loader/BuiltinClassLoader$5 +instanceKlass jdk/internal/loader/BuiltinClassLoader$2 +instanceKlass jdk/internal/module/Resources +instanceKlass java/lang/ProcessEnvironment$ExternalData +instanceKlass java/lang/ProcessEnvironment +instanceKlass com/intellij/openapi/util/SystemInfoRt +instanceKlass java/io/Reader +instanceKlass java/lang/Readable +instanceKlass com/intellij/openapi/application/PathManager +instanceKlass com/intellij/idea/AppMode +instanceKlass kotlin/Pair +instanceKlass kotlin/text/StringsKt__AppendableKt +instanceKlass kotlin/collections/ArraysKt__ArraysJVMKt +instanceKlass kotlin/jvm/internal/Intrinsics +instanceKlass com/intellij/idea/Main +instanceKlass java/lang/invoke/VarHandle$AccessDescriptor +instanceKlass java/lang/invoke/VarForm +instanceKlass java/lang/invoke/VarHandleByteArrayBase +instanceKlass java/lang/invoke/VarHandleGuards +instanceKlass jdk/internal/util/Preconditions$1 +instanceKlass java/lang/invoke/VarHandle$1 +instanceKlass java/lang/ClassValue$Version +instanceKlass java/lang/ClassValue$Identity +instanceKlass java/lang/ClassValue +instanceKlass java/lang/invoke/VarHandles +instanceKlass org/jetbrains/xxh3/ByteArrayAccess +instanceKlass java/nio/charset/StandardCharsets +instanceKlass org/jetbrains/xxh3/Xxh3 +instanceKlass com/intellij/util/lang/StrippedLongToObjectMap +instanceKlass com/intellij/util/lang/ZipResourceFile$1 +instanceKlass java/util/jar/Attributes$Name +instanceKlass java/util/AbstractMap$SimpleImmutableEntry +instanceKlass com/intellij/util/lang/JarLoader +instanceKlass java/lang/StrictMath +instanceKlass com/intellij/util/lang/Hash +instanceKlass org/jetbrains/ikv/StrippedLongToLongMap +instanceKlass org/jetbrains/ikv/Ikv +instanceKlass jdk/internal/access/foreign/MemorySegmentProxy +instanceKlass sun/nio/ch/Util$4 +instanceKlass sun/nio/ch/Util +instanceKlass sun/nio/ch/FileChannelImpl$Unmapper +instanceKlass jdk/internal/access/foreign/UnmapperProxy +instanceKlass jdk/internal/misc/ExtendedMapMode +instanceKlass java/nio/channels/FileChannel$MapMode +instanceKlass sun/nio/ch/IOStatus +instanceKlass sun/nio/ch/NativeThread +instanceKlass java/nio/channels/spi/AbstractInterruptibleChannel$1 +instanceKlass sun/nio/ch/Interruptible +instanceKlass sun/nio/ch/FileChannelImpl$Closer +instanceKlass sun/nio/ch/NativeDispatcher +instanceKlass sun/nio/ch/NativeThreadSet +instanceKlass sun/nio/ch/IOUtil +instanceKlass sun/nio/fs/UnixChannelFactory$1 +instanceKlass java/util/RegularEnumSet$EnumSetIterator +instanceKlass sun/nio/fs/UnixChannelFactory$Flags +instanceKlass sun/nio/fs/UnixChannelFactory +instanceKlass sun/nio/fs/UnixFileModeAttribute +instanceKlass java/nio/channels/spi/AbstractInterruptibleChannel +instanceKlass java/nio/channels/InterruptibleChannel +instanceKlass java/nio/channels/ScatteringByteChannel +instanceKlass java/nio/channels/GatheringByteChannel +instanceKlass java/nio/channels/SeekableByteChannel +instanceKlass java/nio/channels/ByteChannel +instanceKlass java/nio/channels/WritableByteChannel +instanceKlass java/nio/channels/ReadableByteChannel +instanceKlass java/nio/channels/Channel +instanceKlass java/nio/file/attribute/FileAttribute +instanceKlass sun/reflect/annotation/AnnotationParser +instanceKlass java/lang/Class$3 +instanceKlass java/lang/PublicMethods$Key +instanceKlass java/lang/PublicMethods$MethodList +instanceKlass com/intellij/util/lang/ZipFile$ZipResource +instanceKlass com/intellij/util/lang/ImmutableZipFile +instanceKlass com/intellij/util/lang/ZipFile +instanceKlass com/intellij/util/lang/ZipFilePool +instanceKlass com/intellij/util/lang/ClasspathCache$IndexRegistrar +instanceKlass com/intellij/util/lang/Resource +instanceKlass com/intellij/util/lang/ZipResourceFile +instanceKlass org/jetbrains/xxh3/Xxh3Impl +instanceKlass org/jetbrains/xxh3/CharSequenceAccess$BaseCharSequenceAccess +instanceKlass org/jetbrains/xxh3/Access +instanceKlass org/jetbrains/xxh3/CharSequenceAccess +instanceKlass org/jetbrains/xxh3/Xx3UnencodedString +instanceKlass sun/launcher/LauncherHelper +instanceKlass com/intellij/util/lang/ClassLoadingLocks +instanceKlass java/util/function/IntFunction +instanceKlass java/util/function/LongFunction +instanceKlass com/intellij/util/lang/ClasspathCache +instanceKlass com/intellij/util/lang/ClassPath$Measurer +instanceKlass com/intellij/util/lang/Loader +instanceKlass com/intellij/util/lang/ClassPath +instanceKlass java/net/URI$Parser +instanceKlass java/nio/file/FileSystems$DefaultFileSystemHolder$1 +instanceKlass java/nio/file/FileSystems$DefaultFileSystemHolder +instanceKlass java/nio/file/FileSystems +instanceKlass java/nio/file/Paths +instanceKlass com/intellij/util/lang/UrlClassLoader$Builder +instanceKlass com/intellij/util/lang/ResourceFile +instanceKlass com/intellij/util/lang/UrlClassLoader$CachePool +instanceKlass com/intellij/util/lang/ClassPath$ClassDataConsumer +instanceKlass sun/security/util/Debug +instanceKlass java/security/SecureClassLoader$DebugHolder +instanceKlass java/security/PermissionCollection +instanceKlass java/security/SecureClassLoader$1 +instanceKlass java/security/SecureClassLoader$CodeSourceKey +instanceKlass java/util/zip/Checksum$1 +instanceKlass java/util/zip/CRC32 +instanceKlass java/util/zip/Checksum +instanceKlass sun/nio/ByteBuffered +instanceKlass java/lang/Package$VersionInfo +instanceKlass java/lang/NamedPackage +instanceKlass jdk/internal/loader/Resource +instanceKlass java/util/zip/ZipEntry +instanceKlass jdk/internal/util/jar/JarIndex +instanceKlass java/nio/Bits$1 +instanceKlass jdk/internal/misc/VM$BufferPool +instanceKlass java/nio/Bits +instanceKlass sun/nio/ch/DirectBuffer +instanceKlass jdk/internal/perf/PerfCounter$CoreCounters +instanceKlass jdk/internal/perf/Perf +instanceKlass jdk/internal/perf/Perf$GetPerfAction +instanceKlass jdk/internal/perf/PerfCounter +instanceKlass java/nio/file/attribute/FileTime +instanceKlass java/util/zip/ZipUtils +instanceKlass java/util/zip/ZipFile$Source$End +instanceKlass java/io/RandomAccessFile$2 +instanceKlass jdk/internal/access/JavaIORandomAccessFileAccess +instanceKlass java/io/RandomAccessFile +instanceKlass java/io/DataInput +instanceKlass java/io/DataOutput +instanceKlass sun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes +instanceKlass sun/nio/fs/NativeBuffer$Deallocator +instanceKlass sun/nio/fs/NativeBuffer +instanceKlass java/lang/ThreadLocal$ThreadLocalMap +instanceKlass sun/nio/fs/NativeBuffers +instanceKlass sun/nio/fs/AbstractBasicFileAttributeView +instanceKlass sun/nio/fs/DynamicFileAttributeView +instanceKlass sun/nio/fs/UnixFileAttributeViews +instanceKlass java/nio/file/attribute/UserDefinedFileAttributeView +instanceKlass java/nio/file/attribute/DosFileAttributeView +instanceKlass java/nio/file/attribute/BasicFileAttributeView +instanceKlass java/nio/file/attribute/FileAttributeView +instanceKlass java/nio/file/attribute/AttributeView +instanceKlass java/nio/file/attribute/DosFileAttributes +instanceKlass java/nio/file/Files +instanceKlass java/nio/file/CopyOption +instanceKlass java/util/zip/ZipFile$Source$Key +instanceKlass sun/nio/fs/UnixMountEntry +instanceKlass sun/nio/fs/UnixFileStoreAttributes +instanceKlass sun/nio/fs/UnixFileAttributes +instanceKlass java/nio/file/attribute/PosixFileAttributes +instanceKlass java/nio/file/attribute/BasicFileAttributes +instanceKlass java/util/concurrent/ConcurrentHashMap$Traverser +instanceKlass java/util/Enumeration +instanceKlass java/util/concurrent/ConcurrentHashMap$CollectionView +instanceKlass jdk/internal/loader/NativeLibraries$NativeLibraryImpl +instanceKlass jdk/internal/loader/NativeLibrary +instanceKlass java/util/ArrayDeque$DeqIterator +instanceKlass jdk/internal/loader/NativeLibraries$1 +instanceKlass jdk/internal/loader/NativeLibraries$LibraryPaths +instanceKlass sun/nio/fs/UnixNativeDispatcher +instanceKlass java/lang/StringCoding +instanceKlass sun/nio/fs/Util +instanceKlass sun/nio/fs/UnixPath +instanceKlass java/nio/file/Path +instanceKlass java/nio/file/Watchable +instanceKlass java/nio/file/FileSystem +instanceKlass java/nio/file/OpenOption +instanceKlass java/nio/file/spi/FileSystemProvider +instanceKlass sun/nio/fs/DefaultFileSystemProvider +instanceKlass java/util/zip/ZipFile$Source +instanceKlass java/util/zip/ZipCoder +instanceKlass java/util/zip/ZipFile$CleanableResource +instanceKlass java/lang/Runtime$Version +instanceKlass java/util/jar/JavaUtilJarAccessImpl +instanceKlass jdk/internal/access/JavaUtilJarAccess +instanceKlass jdk/internal/loader/FileURLMapper +instanceKlass jdk/internal/loader/URLClassPath$JarLoader$1 +instanceKlass java/util/zip/ZipFile$1 +instanceKlass jdk/internal/access/JavaUtilZipFileAccess +instanceKlass java/util/zip/ZipFile +instanceKlass java/util/zip/ZipConstants +instanceKlass jdk/internal/loader/URLClassPath$Loader +instanceKlass jdk/internal/loader/URLClassPath$3 +instanceKlass java/security/PrivilegedExceptionAction +instanceKlass sun/util/locale/LocaleUtils +instanceKlass sun/util/locale/BaseLocale +instanceKlass java/util/Locale +instanceKlass sun/net/util/URLUtil +instanceKlass java/lang/invoke/StringConcatFactory$3 +instanceKlass java/lang/invoke/StringConcatFactory$2 +instanceKlass java/lang/invoke/StringConcatFactory$1 +instanceKlass java/lang/invoke/StringConcatFactory +instanceKlass java/util/function/BiFunction +instanceKlass java/lang/WeakPairMap$Pair$Lookup +instanceKlass java/lang/WeakPairMap$Pair +instanceKlass java/lang/WeakPairMap +instanceKlass java/lang/Module$ReflectionData +instanceKlass java/lang/ref/Cleaner$Cleanable +instanceKlass jdk/internal/ref/CleanerImpl +instanceKlass java/lang/ref/Cleaner$1 +instanceKlass java/lang/ref/Cleaner +instanceKlass jdk/internal/ref/CleanerFactory$1 +instanceKlass java/util/concurrent/ThreadFactory +instanceKlass jdk/internal/ref/CleanerFactory +instanceKlass jdk/internal/org/objectweb/asm/FieldVisitor +instanceKlass java/util/ArrayList$Itr +instanceKlass java/lang/invoke/InvokerBytecodeGenerator$ClassData +instanceKlass jdk/internal/org/objectweb/asm/Frame +instanceKlass java/lang/invoke/LambdaFormBuffer +instanceKlass java/lang/invoke/LambdaFormEditor$TransformKey +instanceKlass java/lang/invoke/LambdaFormEditor +instanceKlass sun/invoke/util/Wrapper$1 +instanceKlass java/lang/invoke/DelegatingMethodHandle$Holder +instanceKlass java/lang/invoke/DirectMethodHandle$2 +instanceKlass sun/invoke/empty/Empty +instanceKlass sun/invoke/util/VerifyType +instanceKlass java/lang/invoke/ClassSpecializer$Factory +instanceKlass java/lang/invoke/ClassSpecializer$SpeciesData +instanceKlass java/lang/invoke/ClassSpecializer$1 +instanceKlass java/lang/invoke/ClassSpecializer +instanceKlass java/lang/Class$Atomic +instanceKlass java/lang/Class$ReflectionData +instanceKlass java/lang/invoke/InnerClassLambdaMetafactory$1 +instanceKlass java/lang/invoke/MethodHandles$Lookup$ClassDefiner +instanceKlass java/lang/StringUTF16 +instanceKlass jdk/internal/org/objectweb/asm/ClassReader +instanceKlass java/lang/invoke/MethodHandles$Lookup$ClassFile +instanceKlass jdk/internal/org/objectweb/asm/AnnotationVisitor +instanceKlass jdk/internal/org/objectweb/asm/Attribute +instanceKlass jdk/internal/org/objectweb/asm/Handler +instanceKlass jdk/internal/org/objectweb/asm/Label +instanceKlass jdk/internal/org/objectweb/asm/MethodVisitor +instanceKlass java/lang/invoke/LambdaProxyClassArchive +instanceKlass jdk/internal/org/objectweb/asm/ByteVector +instanceKlass jdk/internal/org/objectweb/asm/Symbol +instanceKlass jdk/internal/org/objectweb/asm/SymbolTable +instanceKlass jdk/internal/org/objectweb/asm/ClassVisitor +instanceKlass java/lang/invoke/InfoFromMemberName +instanceKlass java/lang/invoke/MethodHandleInfo +instanceKlass jdk/internal/org/objectweb/asm/ConstantDynamic +instanceKlass sun/invoke/util/BytecodeDescriptor +instanceKlass jdk/internal/org/objectweb/asm/Handle +instanceKlass sun/security/action/GetBooleanAction +instanceKlass jdk/internal/org/objectweb/asm/Type +instanceKlass java/lang/invoke/AbstractValidatingLambdaMetafactory +instanceKlass java/lang/invoke/MethodHandleImpl$1 +instanceKlass jdk/internal/access/JavaLangInvokeAccess +instanceKlass java/lang/invoke/Invokers$Holder +instanceKlass java/lang/invoke/BootstrapMethodInvoker +instanceKlass java/lang/invoke/InvokerBytecodeGenerator$2 +instanceKlass java/lang/invoke/InvokerBytecodeGenerator +instanceKlass java/lang/invoke/LambdaForm$Holder +instanceKlass java/lang/invoke/LambdaForm$Name +instanceKlass java/lang/reflect/Array +instanceKlass java/lang/invoke/Invokers +instanceKlass java/lang/invoke/MethodHandleImpl +instanceKlass sun/invoke/util/ValueConversions +instanceKlass java/lang/invoke/DirectMethodHandle$Holder +instanceKlass java/lang/invoke/LambdaForm$NamedFunction +instanceKlass sun/invoke/util/Wrapper$Format +instanceKlass java/lang/invoke/MethodTypeForm +instanceKlass java/lang/Void +instanceKlass java/lang/invoke/MethodType$ConcurrentWeakInternSet +instanceKlass java/lang/invoke/LambdaMetafactory +instanceKlass java/lang/ModuleLayer$Controller +instanceKlass java/util/concurrent/CopyOnWriteArrayList +instanceKlass jdk/internal/module/ServicesCatalog$ServiceProvider +instanceKlass jdk/internal/loader/AbstractClassLoaderValue$Memoizer +instanceKlass java/util/ImmutableCollections$ListItr +instanceKlass java/util/ListIterator +instanceKlass java/lang/ModuleLayer +instanceKlass jdk/internal/module/ModuleLoaderMap$Modules +instanceKlass jdk/internal/module/ModuleLoaderMap$Mapper +instanceKlass java/util/function/Function +instanceKlass jdk/internal/module/ModuleLoaderMap +instanceKlass java/util/AbstractMap$1$1 +instanceKlass java/lang/module/ResolvedModule +instanceKlass java/lang/module/Configuration +instanceKlass jdk/internal/loader/BuiltinClassLoader$LoadedModule +instanceKlass jdk/internal/loader/AbstractClassLoaderValue +instanceKlass jdk/internal/module/ServicesCatalog +instanceKlass jdk/internal/util/Preconditions +instanceKlass sun/net/util/IPAddressUtil +instanceKlass java/net/URLStreamHandler +instanceKlass java/util/HexFormat +instanceKlass sun/net/www/ParseUtil +instanceKlass java/net/URL$3 +instanceKlass jdk/internal/access/JavaNetURLAccess +instanceKlass java/net/URL$DefaultFactory +instanceKlass java/net/URLStreamHandlerFactory +instanceKlass jdk/internal/loader/URLClassPath +instanceKlass java/security/Principal +instanceKlass java/security/ProtectionDomain$Key +instanceKlass java/security/ProtectionDomain$JavaSecurityAccessImpl +instanceKlass jdk/internal/access/JavaSecurityAccess +instanceKlass java/lang/ClassLoader$ParallelLoaders +instanceKlass java/security/cert/Certificate +instanceKlass jdk/internal/loader/ArchivedClassLoaders +instanceKlass java/util/Deque +instanceKlass java/util/Queue +instanceKlass jdk/internal/loader/ClassLoaderHelper +instanceKlass jdk/internal/loader/NativeLibraries +instanceKlass jdk/internal/loader/BootLoader +instanceKlass java/util/Optional +instanceKlass jdk/internal/module/SystemModuleFinders$SystemModuleFinder +instanceKlass java/lang/module/ModuleFinder +instanceKlass jdk/internal/module/SystemModuleFinders$3 +instanceKlass jdk/internal/module/ModuleHashes$HashSupplier +instanceKlass jdk/internal/module/SystemModuleFinders$2 +instanceKlass java/util/function/Supplier +instanceKlass java/lang/module/ModuleReference +instanceKlass jdk/internal/module/ModuleResolution +instanceKlass java/util/Collections$UnmodifiableMap +instanceKlass jdk/internal/module/ModuleHashes$Builder +instanceKlass jdk/internal/module/ModuleHashes +instanceKlass jdk/internal/module/ModuleTarget +instanceKlass java/util/ImmutableCollections$Set12$1 +instanceKlass java/lang/Enum +instanceKlass java/lang/module/ModuleDescriptor$Version +instanceKlass java/lang/module/ModuleDescriptor$Provides +instanceKlass java/lang/module/ModuleDescriptor$Opens +instanceKlass java/util/ImmutableCollections$SetN$SetNIterator +instanceKlass java/lang/module/ModuleDescriptor$Exports +instanceKlass java/lang/module/ModuleDescriptor$Requires +instanceKlass jdk/internal/module/Builder +instanceKlass jdk/internal/module/SystemModules$default +instanceKlass jdk/internal/module/SystemModules +instanceKlass jdk/internal/module/SystemModulesMap +instanceKlass java/net/URI$1 +instanceKlass jdk/internal/access/JavaNetUriAccess +instanceKlass java/net/URI +instanceKlass jdk/internal/module/SystemModuleFinders +instanceKlass jdk/internal/module/ArchivedModuleGraph +instanceKlass jdk/internal/module/ArchivedBootLayer +instanceKlass jdk/internal/module/ModuleBootstrap$Counters +instanceKlass jdk/internal/module/ModulePatcher +instanceKlass jdk/internal/util/ArraysSupport +instanceKlass java/io/FileSystem +instanceKlass java/io/DefaultFileSystem +instanceKlass java/io/File +instanceKlass java/lang/module/ModuleDescriptor$1 +instanceKlass jdk/internal/access/JavaLangModuleAccess +instanceKlass java/lang/reflect/Modifier +instanceKlass sun/invoke/util/VerifyAccess +instanceKlass java/lang/module/ModuleDescriptor +instanceKlass jdk/internal/module/ModuleBootstrap +instanceKlass sun/security/action/GetPropertyAction +instanceKlass java/lang/invoke/MethodHandleStatics +instanceKlass java/util/Collections +instanceKlass jdk/internal/misc/OSEnvironment +instanceKlass jdk/internal/misc/Signal$NativeHandler +instanceKlass java/util/Hashtable$Entry +instanceKlass jdk/internal/misc/Signal +instanceKlass java/lang/Terminator$1 +instanceKlass jdk/internal/misc/Signal$Handler +instanceKlass java/lang/Terminator +instanceKlass java/nio/ByteOrder +instanceKlass java/nio/Buffer$1 +instanceKlass jdk/internal/access/JavaNioAccess +instanceKlass jdk/internal/misc/ScopedMemoryAccess +instanceKlass java/nio/charset/CodingErrorAction +instanceKlass java/nio/charset/CharsetEncoder +instanceKlass java/io/Writer +instanceKlass sun/nio/cs/HistoricallyNamedCharset +instanceKlass java/lang/ThreadLocal +instanceKlass java/nio/charset/spi/CharsetProvider +instanceKlass java/nio/charset/Charset +instanceKlass java/io/OutputStream +instanceKlass java/io/Flushable +instanceKlass java/io/FileDescriptor$1 +instanceKlass jdk/internal/access/JavaIOFileDescriptorAccess +instanceKlass java/io/FileDescriptor +instanceKlass jdk/internal/util/StaticProperty +instanceKlass java/util/HashMap$HashIterator +instanceKlass java/lang/Integer$IntegerCache +instanceKlass java/lang/CharacterData +instanceKlass java/util/Arrays +instanceKlass java/lang/VersionProps +instanceKlass java/lang/StringConcatHelper +instanceKlass jdk/internal/util/SystemProps$Raw +instanceKlass jdk/internal/util/SystemProps +instanceKlass jdk/internal/misc/VM +instanceKlass java/lang/System$2 +instanceKlass jdk/internal/access/JavaLangAccess +instanceKlass java/lang/ref/Reference$1 +instanceKlass jdk/internal/access/JavaLangRefAccess +instanceKlass java/lang/ref/ReferenceQueue$Lock +instanceKlass java/lang/ref/ReferenceQueue +instanceKlass jdk/internal/reflect/ReflectionFactory +instanceKlass jdk/internal/reflect/ReflectionFactory$GetReflectionFactoryAction +instanceKlass java/security/PrivilegedAction +instanceKlass java/util/concurrent/locks/LockSupport +instanceKlass java/util/concurrent/ConcurrentHashMap$Node +instanceKlass java/util/concurrent/ConcurrentHashMap$CounterCell +instanceKlass java/util/concurrent/locks/ReentrantLock +instanceKlass java/util/concurrent/locks/Lock +instanceKlass java/lang/Runtime +instanceKlass java/util/HashMap$Node +instanceKlass java/util/KeyValueHolder +instanceKlass java/util/Map$Entry +instanceKlass java/util/ImmutableCollections$MapN$MapNIterator +instanceKlass java/lang/Math +instanceKlass jdk/internal/reflect/Reflection +instanceKlass java/lang/invoke/MethodHandles$Lookup +instanceKlass java/lang/StringLatin1 +instanceKlass java/security/Permission +instanceKlass java/security/Guard +instanceKlass java/lang/invoke/MemberName$Factory +instanceKlass java/lang/invoke/MethodHandles +instanceKlass jdk/internal/access/SharedSecrets +instanceKlass java/lang/reflect/ReflectAccess +instanceKlass jdk/internal/access/JavaLangReflectAccess +instanceKlass java/util/ImmutableCollections +instanceKlass java/util/Objects +instanceKl \ No newline at end of file